@salla.sa/twilight-theme-engine 1.0.33 → 1.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AddToCartForm-JUL3VQJH.js → AddToCartForm-RERJJKYN.js} +3 -3
- package/dist/{AddToCartForm-JUL3VQJH.js.map → AddToCartForm-RERJJKYN.js.map} +1 -1
- package/dist/{BlogAuthorPage-E6U6IU75.js → BlogAuthorPage-XNTLCH6M.js} +15 -15
- package/dist/{BlogAuthorPage-E6U6IU75.js.map → BlogAuthorPage-XNTLCH6M.js.map} +1 -1
- package/dist/{BlogCategoryPage-AIVIJUI6.js → BlogCategoryPage-Y5HHX6Q4.js} +15 -15
- package/dist/{BlogCategoryPage-AIVIJUI6.js.map → BlogCategoryPage-Y5HHX6Q4.js.map} +1 -1
- package/dist/{BlogPage-Z5AESDKT.js → BlogPage-ND3KMAYL.js} +13 -13
- package/dist/{BlogPage-Z5AESDKT.js.map → BlogPage-ND3KMAYL.js.map} +1 -1
- package/dist/{BlogSinglePage-SK6UTGU2.js → BlogSinglePage-OXMFEM3G.js} +13 -13
- package/dist/{BlogSinglePage-SK6UTGU2.js.map → BlogSinglePage-OXMFEM3G.js.map} +1 -1
- package/dist/{BlogTagPage-7MW77IEJ.js → BlogTagPage-LOR275LH.js} +15 -15
- package/dist/{BlogTagPage-7MW77IEJ.js.map → BlogTagPage-LOR275LH.js.map} +1 -1
- package/dist/{BrandsPage-C4FVFHKY.js → BrandsPage-BX3SWD23.js} +13 -13
- package/dist/{BrandsPage-C4FVFHKY.js.map → BrandsPage-BX3SWD23.js.map} +1 -1
- package/dist/{Breadcrumb-LBUNL5UM.js → Breadcrumb-L33QVTUA.js} +13 -13
- package/dist/{Breadcrumb-LBUNL5UM.js.map → Breadcrumb-L33QVTUA.js.map} +1 -1
- package/dist/{CartItem-KUNLKUDS.js → CartItem-ZNM7LS6N.js} +13 -13
- package/dist/{CartItem-KUNLKUDS.js.map → CartItem-ZNM7LS6N.js.map} +1 -1
- package/dist/{CartSummary-34XD6TBJ.js → CartSummary-GA7VKMOQ.js} +13 -13
- package/dist/{CartSummary-34XD6TBJ.js.map → CartSummary-GA7VKMOQ.js.map} +1 -1
- package/dist/{Copyright-2LHIDE5F.js → Copyright-SULJLAOX.js} +3 -3
- package/dist/{Copyright-2LHIDE5F.js.map → Copyright-SULJLAOX.js.map} +1 -1
- package/dist/{CustomerLayout-DQXFC7GZ.js → CustomerLayout-DPASUJXG.js} +13 -13
- package/dist/{CustomerLayout-DQXFC7GZ.js.map → CustomerLayout-DPASUJXG.js.map} +1 -1
- package/dist/{Footer-YHULLC4R.js → Footer-5LUYTER2.js} +13 -13
- package/dist/{Footer-YHULLC4R.js.map → Footer-5LUYTER2.js.map} +1 -1
- package/dist/{Header-KTME4H7Z.js → Header-V2QY52KP.js} +6 -6
- package/dist/{Header-KTME4H7Z.js.map → Header-V2QY52KP.js.map} +1 -1
- package/dist/{LoyaltyPage-WFZ2ZORO.js → LoyaltyPage-WGBJSWMT.js} +14 -14
- package/dist/{LoyaltyPage-WFZ2ZORO.js.map → LoyaltyPage-WGBJSWMT.js.map} +1 -1
- package/dist/{MainMenu-YKAOXV25.js → MainMenu-53YP6MTU.js} +7 -7
- package/dist/{MainMenu-YKAOXV25.js.map → MainMenu-53YP6MTU.js.map} +1 -1
- package/dist/{MasterLayout-LIUS4RDW.js → MasterLayout-GIYKSI2D.js} +13 -13
- package/dist/{MasterLayout-LIUS4RDW.js.map → MasterLayout-GIYKSI2D.js.map} +1 -1
- package/dist/{MobileMenu-OQ356JT2.js → MobileMenu-FGHDWUS3.js} +14 -14
- package/dist/{MobileMenu-OQ356JT2.js.map → MobileMenu-FGHDWUS3.js.map} +1 -1
- package/dist/{NotificationsPage-VWHBYUL7.js → NotificationsPage-YUPDZQMH.js} +13 -13
- package/dist/{NotificationsPage-VWHBYUL7.js.map → NotificationsPage-YUPDZQMH.js.map} +1 -1
- package/dist/{OrderSinglePage-5ITWHCFM.js → OrderSinglePage-NG45IOTR.js} +14 -14
- package/dist/{OrderSinglePage-5ITWHCFM.js.map → OrderSinglePage-NG45IOTR.js.map} +1 -1
- package/dist/{OrdersPage-55AU4TI5.js → OrdersPage-X753G6LK.js} +14 -14
- package/dist/{OrdersPage-55AU4TI5.js.map → OrdersPage-X753G6LK.js.map} +1 -1
- package/dist/{PageSingle-KOVHYH4T.js → PageSingle-3IHQP3WO.js} +3 -3
- package/dist/{PageSingle-KOVHYH4T.js.map → PageSingle-3IHQP3WO.js.map} +1 -1
- package/dist/{ProductDetails-DIFPSRSW.js → ProductDetails-3WTGYULJ.js} +3 -3
- package/dist/{ProductDetails-DIFPSRSW.js.map → ProductDetails-3WTGYULJ.js.map} +1 -1
- package/dist/{ProfilePage-ZSXY4R5D.js → ProfilePage-DSDDUN5Y.js} +13 -13
- package/dist/{ProfilePage-ZSXY4R5D.js.map → ProfilePage-DSDDUN5Y.js.map} +1 -1
- package/dist/{SeoCartWidget-JAGDCGBR.js → SeoCartWidget-M43SKEQJ.js} +13 -13
- package/dist/{SeoCartWidget-JAGDCGBR.js.map → SeoCartWidget-M43SKEQJ.js.map} +1 -1
- package/dist/{SettingsPage-DAOVF5GP.js → SettingsPage-JBT73EJP.js} +13 -13
- package/dist/{SettingsPage-DAOVF5GP.js.map → SettingsPage-JBT73EJP.js.map} +1 -1
- package/dist/{StoreClosedNotification-GICIJCN4.js → StoreClosedNotification-FCF2NBZR.js} +14 -14
- package/dist/{StoreClosedNotification-GICIJCN4.js.map → StoreClosedNotification-FCF2NBZR.js.map} +1 -1
- package/dist/{TestimonialsPage-SHV2K5N6.js → TestimonialsPage-4ZXBWLEW.js} +3 -3
- package/dist/{TestimonialsPage-SHV2K5N6.js.map → TestimonialsPage-4ZXBWLEW.js.map} +1 -1
- package/dist/{ThankYouPage-HJRYYSLT.js → ThankYouPage-IDR5ZWIB.js} +13 -13
- package/dist/{ThankYouPage-HJRYYSLT.js.map → ThankYouPage-IDR5ZWIB.js.map} +1 -1
- package/dist/{WalletPage-BXSYYQGC.js → WalletPage-WTDVBQ4Z.js} +14 -14
- package/dist/{WalletPage-BXSYYQGC.js.map → WalletPage-WTDVBQ4Z.js.map} +1 -1
- package/dist/{WishlistPage-CAYYF5G6.js → WishlistPage-Q4PLJ6VV.js} +14 -14
- package/dist/{WishlistPage-CAYYF5G6.js.map → WishlistPage-Q4PLJ6VV.js.map} +1 -1
- package/dist/api/apps.js +4 -4
- package/dist/api/brands.js +5 -5
- package/dist/api/cart.js +5 -5
- package/dist/api/category.d.ts +3 -3
- package/dist/api/category.js +5 -5
- package/dist/api/client.d.ts +9 -6
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +3 -3
- package/dist/api/home.js +4 -4
- package/dist/api/loyalty.js +5 -5
- package/dist/api/menu.js +4 -4
- package/dist/api/notification.js +4 -4
- package/dist/api/order.js +5 -5
- package/dist/api/page.js +5 -5
- package/dist/api/product.d.ts +12 -6
- package/dist/api/product.d.ts.map +1 -1
- package/dist/api/product.js +5 -5
- package/dist/api/profile.js +3 -3
- package/dist/api/store.js +4 -4
- package/dist/api/translations.js +4 -4
- package/dist/api/user.js +4 -4
- package/dist/api/wishlist.js +4 -4
- package/dist/chunk-3ABM2IWU.js +14 -0
- package/dist/{chunk-W26EE36N.js.map → chunk-3ABM2IWU.js.map} +1 -1
- package/dist/{chunk-NGYYCFTS.js → chunk-47C6C2NN.js} +4 -4
- package/dist/{chunk-NGYYCFTS.js.map → chunk-47C6C2NN.js.map} +1 -1
- package/dist/{chunk-C3UUGHTX.js → chunk-57RYHNW2.js} +3 -3
- package/dist/{chunk-C3UUGHTX.js.map → chunk-57RYHNW2.js.map} +1 -1
- package/dist/{chunk-XITF2PHC.js → chunk-5ACY5CD3.js} +10 -6
- package/dist/chunk-5ACY5CD3.js.map +1 -0
- package/dist/{chunk-AU7PMZV4.js → chunk-5IEQLAAY.js} +5 -5
- package/dist/chunk-5IEQLAAY.js.map +1 -0
- package/dist/{chunk-6MREJTVB.js → chunk-6BVPVYLN.js} +7 -6
- package/dist/chunk-6BVPVYLN.js.map +1 -0
- package/dist/{chunk-ALUEX3YC.js → chunk-6JLVUQWD.js} +4 -4
- package/dist/{chunk-ALUEX3YC.js.map → chunk-6JLVUQWD.js.map} +1 -1
- package/dist/{chunk-QFCBAWHP.js → chunk-6RGZYVQT.js} +15 -15
- package/dist/{chunk-QFCBAWHP.js.map → chunk-6RGZYVQT.js.map} +1 -1
- package/dist/{chunk-HSKFHCKL.js → chunk-6RIKW3YV.js} +3 -3
- package/dist/{chunk-HSKFHCKL.js.map → chunk-6RIKW3YV.js.map} +1 -1
- package/dist/{chunk-SY47NKC6.js → chunk-C4S4VXWW.js} +3 -3
- package/dist/{chunk-SY47NKC6.js.map → chunk-C4S4VXWW.js.map} +1 -1
- package/dist/{chunk-ZAJOW3MZ.js → chunk-CBQKQCKI.js} +4 -4
- package/dist/{chunk-ZAJOW3MZ.js.map → chunk-CBQKQCKI.js.map} +1 -1
- package/dist/{chunk-MAQPYTER.js → chunk-E3J2RXBS.js} +3 -3
- package/dist/{chunk-MAQPYTER.js.map → chunk-E3J2RXBS.js.map} +1 -1
- package/dist/{chunk-MQ4UTXPR.js → chunk-EV4JSMFZ.js} +3 -3
- package/dist/{chunk-MQ4UTXPR.js.map → chunk-EV4JSMFZ.js.map} +1 -1
- package/dist/{chunk-75HMCUTB.js → chunk-FPQAYFHZ.js} +3 -3
- package/dist/{chunk-75HMCUTB.js.map → chunk-FPQAYFHZ.js.map} +1 -1
- package/dist/{chunk-D2UOBR4H.js → chunk-FQGCCV4T.js} +3 -3
- package/dist/{chunk-D2UOBR4H.js.map → chunk-FQGCCV4T.js.map} +1 -1
- package/dist/{chunk-NR2XM4KT.js → chunk-GCAIIFF3.js} +3 -3
- package/dist/{chunk-NR2XM4KT.js.map → chunk-GCAIIFF3.js.map} +1 -1
- package/dist/{chunk-EXRS5IAC.js → chunk-GQ7IBJ55.js} +4 -4
- package/dist/{chunk-EXRS5IAC.js.map → chunk-GQ7IBJ55.js.map} +1 -1
- package/dist/{chunk-ZCLXL3VH.js → chunk-HYESKIWZ.js} +4 -4
- package/dist/{chunk-ZCLXL3VH.js.map → chunk-HYESKIWZ.js.map} +1 -1
- package/dist/{chunk-AGJFLQQ2.js → chunk-IXXPO4LJ.js} +5 -5
- package/dist/{chunk-AGJFLQQ2.js.map → chunk-IXXPO4LJ.js.map} +1 -1
- package/dist/{chunk-RMS55CNX.js → chunk-J2TTL3AA.js} +6 -6
- package/dist/{chunk-RMS55CNX.js.map → chunk-J2TTL3AA.js.map} +1 -1
- package/dist/{chunk-MT53C7SH.js → chunk-KRB2TZAY.js} +4 -4
- package/dist/{chunk-MT53C7SH.js.map → chunk-KRB2TZAY.js.map} +1 -1
- package/dist/{chunk-JY7PNW7G.js → chunk-L6UGY2OB.js} +3 -3
- package/dist/{chunk-JY7PNW7G.js.map → chunk-L6UGY2OB.js.map} +1 -1
- package/dist/{chunk-HGMKQUCT.js → chunk-LCSALUZ2.js} +6 -6
- package/dist/{chunk-HGMKQUCT.js.map → chunk-LCSALUZ2.js.map} +1 -1
- package/dist/{chunk-3Z7TBM7W.js → chunk-LG556DIE.js} +3 -3
- package/dist/{chunk-3Z7TBM7W.js.map → chunk-LG556DIE.js.map} +1 -1
- package/dist/{chunk-DOOZU75W.js → chunk-LXIEAZZJ.js} +3 -3
- package/dist/{chunk-DOOZU75W.js.map → chunk-LXIEAZZJ.js.map} +1 -1
- package/dist/{chunk-TN4M4DYQ.js → chunk-LYY3EOAO.js} +4 -4
- package/dist/{chunk-TN4M4DYQ.js.map → chunk-LYY3EOAO.js.map} +1 -1
- package/dist/{chunk-EIFCJLBN.js → chunk-NTOIR3NK.js} +4 -4
- package/dist/{chunk-EIFCJLBN.js.map → chunk-NTOIR3NK.js.map} +1 -1
- package/dist/{chunk-3KRYKGMY.js → chunk-OOYJHQLQ.js} +4 -4
- package/dist/{chunk-3KRYKGMY.js.map → chunk-OOYJHQLQ.js.map} +1 -1
- package/dist/{chunk-XVCBMEBY.js → chunk-PZCHYB7O.js} +12 -12
- package/dist/{chunk-XVCBMEBY.js.map → chunk-PZCHYB7O.js.map} +1 -1
- package/dist/{chunk-GL3ZWX64.js → chunk-QOK3ANNB.js} +4 -4
- package/dist/{chunk-GL3ZWX64.js.map → chunk-QOK3ANNB.js.map} +1 -1
- package/dist/{chunk-IK6X5HMK.js → chunk-STHBBSK2.js} +3 -3
- package/dist/{chunk-IK6X5HMK.js.map → chunk-STHBBSK2.js.map} +1 -1
- package/dist/{chunk-3MEAEE7K.js → chunk-TXYT42AU.js} +3 -3
- package/dist/{chunk-3MEAEE7K.js.map → chunk-TXYT42AU.js.map} +1 -1
- package/dist/{chunk-5UB64JFA.js → chunk-U6BFS4JR.js} +5 -5
- package/dist/{chunk-5UB64JFA.js.map → chunk-U6BFS4JR.js.map} +1 -1
- package/dist/{chunk-OHKISMO2.js → chunk-UPFFOL37.js} +7 -7
- package/dist/{chunk-OHKISMO2.js.map → chunk-UPFFOL37.js.map} +1 -1
- package/dist/{chunk-EZSYN4P3.js → chunk-WXOABH6J.js} +22 -14
- package/dist/chunk-WXOABH6J.js.map +1 -0
- package/dist/{chunk-YZUNEFDM.js → chunk-Y5FBDMFV.js} +26 -17
- package/dist/chunk-Y5FBDMFV.js.map +1 -0
- package/dist/{chunk-QZ6I5CA7.js → chunk-Z2BE6MDB.js} +6 -6
- package/dist/chunk-Z2BE6MDB.js.map +1 -0
- package/dist/{chunk-OEGDGMRX.js → chunk-Z2P4M6T6.js} +3 -3
- package/dist/{chunk-OEGDGMRX.js.map → chunk-Z2P4M6T6.js.map} +1 -1
- package/dist/components/cart/index.js +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/drawer/index.js +11 -11
- package/dist/components/home/index.js +14 -14
- package/dist/components/layout/index.js +5 -5
- package/dist/components/product/index.js +12 -12
- package/dist/components/store/index.js +13 -13
- package/dist/document-class-HFVPENQI.js +23 -0
- package/dist/{document-class-4VSG3RUT.js.map → document-class-HFVPENQI.js.map} +1 -1
- package/dist/hooks/index.js +11 -11
- package/dist/hooks/useGtm.js +11 -11
- package/dist/hooks/useMoney.js +11 -11
- package/dist/hooks/useStore.js +11 -11
- package/dist/hooks/useUser.js +5 -5
- package/dist/index.js +11 -11
- package/dist/{navigation-ASMHNVYI.js → navigation-B6TEUWEK.js} +4 -4
- package/dist/{navigation-ASMHNVYI.js.map → navigation-B6TEUWEK.js.map} +1 -1
- package/dist/{navigation-3UQAUEHS.js → navigation-RYSVWICZ.js} +5 -5
- package/dist/{navigation-3UQAUEHS.js.map → navigation-RYSVWICZ.js.map} +1 -1
- package/dist/{not-found-ONLFUX5P.js → not-found-XD534NFT.js} +13 -13
- package/dist/{not-found-ONLFUX5P.js.map → not-found-XD534NFT.js.map} +1 -1
- package/dist/providers/index.js +11 -11
- package/dist/routes/account/orders.js +6 -6
- package/dist/routes/account.js +14 -14
- package/dist/routes/blog.js +10 -10
- package/dist/routes/brands.js +6 -6
- package/dist/routes/cart.js +19 -19
- package/dist/routes/home.js +16 -16
- package/dist/routes/index.js +3 -3
- package/dist/routes/loyalty.js +6 -6
- package/dist/routes/page.js +6 -6
- package/dist/routes/product-listing.js +16 -16
- package/dist/routes/product.js +14 -14
- package/dist/routes/seo-redirects.js +3 -3
- package/dist/routes/testimonials.js +2 -2
- package/dist/routes/thank-you.js +6 -6
- package/dist/skeleton.js +16 -16
- package/dist/tanstack.js +16 -16
- package/dist/tanstack.js.map +1 -1
- package/dist/twilight/context.d.ts +8 -0
- package/dist/twilight/context.d.ts.map +1 -1
- package/dist/utils/cookies.d.ts +28 -9
- package/dist/utils/cookies.d.ts.map +1 -1
- package/dist/utils/index.js +4 -4
- package/dist/vite/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-6MREJTVB.js.map +0 -1
- package/dist/chunk-AU7PMZV4.js.map +0 -1
- package/dist/chunk-EZSYN4P3.js.map +0 -1
- package/dist/chunk-QZ6I5CA7.js.map +0 -1
- package/dist/chunk-W26EE36N.js +0 -14
- package/dist/chunk-XITF2PHC.js.map +0 -1
- package/dist/chunk-YZUNEFDM.js.map +0 -1
- package/dist/document-class-4VSG3RUT.js +0 -23
package/dist/api/cart.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { cart } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { cart } from '../chunk-OOYJHQLQ.js';
|
|
2
|
+
import '../chunk-E3J2RXBS.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-WXOABH6J.js';
|
|
5
|
+
import '../chunk-Y5FBDMFV.js';
|
|
6
|
+
import '../chunk-5ACY5CD3.js';
|
|
7
7
|
import '../chunk-T72DAX7R.js';
|
|
8
8
|
import '../chunk-DF6FBKDN.js';
|
|
9
9
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/category.d.ts
CHANGED
|
@@ -13,14 +13,14 @@ export declare const category: {
|
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
list: () => import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<Category[], Error, Category[], (string | {
|
|
16
|
-
scope:
|
|
16
|
+
scope: import("../utils/cookies").ActiveScope | null;
|
|
17
17
|
})[]>, "queryFn"> & {
|
|
18
18
|
queryFn?: import("@tanstack/react-query").QueryFunction<Category[], (string | {
|
|
19
|
-
scope:
|
|
19
|
+
scope: import("../utils/cookies").ActiveScope | null;
|
|
20
20
|
})[], never> | undefined;
|
|
21
21
|
} & {
|
|
22
22
|
queryKey: (string | {
|
|
23
|
-
scope:
|
|
23
|
+
scope: import("../utils/cookies").ActiveScope | null;
|
|
24
24
|
})[] & {
|
|
25
25
|
[dataTagSymbol]: Category[];
|
|
26
26
|
[dataTagErrorSymbol]: Error;
|
package/dist/api/category.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { category } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { category } from '../chunk-5IEQLAAY.js';
|
|
2
|
+
import '../chunk-E3J2RXBS.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-WXOABH6J.js';
|
|
5
|
+
import '../chunk-Y5FBDMFV.js';
|
|
6
|
+
import '../chunk-5ACY5CD3.js';
|
|
7
7
|
import '../chunk-T72DAX7R.js';
|
|
8
8
|
import '../chunk-DF6FBKDN.js';
|
|
9
9
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/client.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ActiveScope } from '../utils/cookies';
|
|
1
2
|
/**
|
|
2
3
|
* The auth token as the api client sees it: twilight context first, cookie/storage fallback.
|
|
3
4
|
* Use this (not `getTwilightContext().authToken`, which is often null for logged-in users —
|
|
@@ -14,17 +15,19 @@ export declare const getAuthToken: () => string | null;
|
|
|
14
15
|
*/
|
|
15
16
|
export declare const STORE_IDENTIFIER_HEADER: "store-identifier";
|
|
16
17
|
/**
|
|
17
|
-
* Active
|
|
18
|
-
*
|
|
19
|
-
* falls back to the `scope` cookie the theme mirrors that selection into
|
|
20
|
-
*
|
|
21
|
-
* cookie on the server. Requests vary by `s-scope
|
|
22
|
-
* include this to avoid serving another
|
|
18
|
+
* Active scope: the market plus its branch allocation, as the SDK stores it. On the
|
|
19
|
+
* client it comes from `salla.storage.get('scope')`; before the SDK hydrates storage
|
|
20
|
+
* it falls back to the `scope` cookie the theme mirrors that selection into (see
|
|
21
|
+
* writeScopeCookie), then to the scope twilightMiddleware seeded from the same
|
|
22
|
+
* cookie on the server. Requests vary by the `s-scope-*` headers, so React Query
|
|
23
|
+
* keys must include this to avoid serving another branch's cached categories/products.
|
|
23
24
|
*
|
|
24
25
|
* The cookie step matters for hydration: the SDK is not guaranteed to have
|
|
25
26
|
* populated `salla.storage` by the time the client rebuilds a dehydrated query
|
|
26
27
|
* key, and without it the client would compute null against a scoped SSR key.
|
|
27
28
|
*/
|
|
29
|
+
export declare const getActiveScope: () => ActiveScope | null;
|
|
30
|
+
/** {@link getActiveScope} reduced to the market id. */
|
|
28
31
|
export declare const getActiveScopeId: () => string | null;
|
|
29
32
|
/**
|
|
30
33
|
* Store API base. `VITE_API_URL` override points a preview at a branch backend; unset → prod
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAiC1B;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAAO,MAAM,GAAG,IACc,CAAC;AAsBxD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,oBAA+B,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,QAAO,WAAW,GAAG,IAiB/C,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,QAAO,MAAM,GAAG,IAAoC,CAAC;AAelF;;;;;GAKG;AAIH,eAAO,MAAM,GAAG,yBA8Cd,CAAC;AAEH,eAAO,MAAM,GAAG,yBAGd,CAAC"}
|
package/dist/api/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { STORE_IDENTIFIER_HEADER, api, cdn, getActiveScopeId, getAuthToken } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { STORE_IDENTIFIER_HEADER, api, cdn, getActiveScope, getActiveScopeId, getAuthToken } from '../chunk-WXOABH6J.js';
|
|
2
|
+
import '../chunk-Y5FBDMFV.js';
|
|
3
|
+
import '../chunk-5ACY5CD3.js';
|
|
4
4
|
import '../chunk-T72DAX7R.js';
|
|
5
5
|
import '../chunk-DGUM43GV.js';
|
|
6
6
|
//# sourceMappingURL=client.js.map
|
package/dist/api/home.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { home } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { home } from '../chunk-STHBBSK2.js';
|
|
2
|
+
import '../chunk-WXOABH6J.js';
|
|
3
|
+
import '../chunk-Y5FBDMFV.js';
|
|
4
|
+
import '../chunk-5ACY5CD3.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DGUM43GV.js';
|
|
7
7
|
//# sourceMappingURL=home.js.map
|
package/dist/api/loyalty.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { loyalty } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { loyalty } from '../chunk-HYESKIWZ.js';
|
|
2
|
+
import '../chunk-E3J2RXBS.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-WXOABH6J.js';
|
|
5
|
+
import '../chunk-Y5FBDMFV.js';
|
|
6
|
+
import '../chunk-5ACY5CD3.js';
|
|
7
7
|
import '../chunk-T72DAX7R.js';
|
|
8
8
|
import '../chunk-DF6FBKDN.js';
|
|
9
9
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/menu.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { menu } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { menu } from '../chunk-CBQKQCKI.js';
|
|
2
|
+
import '../chunk-WXOABH6J.js';
|
|
3
|
+
import '../chunk-Y5FBDMFV.js';
|
|
4
|
+
import '../chunk-5ACY5CD3.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DGUM43GV.js';
|
|
7
7
|
//# sourceMappingURL=menu.js.map
|
package/dist/api/notification.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { notification } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { notification } from '../chunk-Z2P4M6T6.js';
|
|
2
|
+
import '../chunk-WXOABH6J.js';
|
|
3
|
+
import '../chunk-Y5FBDMFV.js';
|
|
4
|
+
import '../chunk-5ACY5CD3.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DGUM43GV.js';
|
|
7
7
|
//# sourceMappingURL=notification.js.map
|
package/dist/api/order.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { order } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { order } from '../chunk-6JLVUQWD.js';
|
|
2
|
+
import '../chunk-E3J2RXBS.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-WXOABH6J.js';
|
|
5
|
+
import '../chunk-Y5FBDMFV.js';
|
|
6
|
+
import '../chunk-5ACY5CD3.js';
|
|
7
7
|
import '../chunk-T72DAX7R.js';
|
|
8
8
|
import '../chunk-DF6FBKDN.js';
|
|
9
9
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/page.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { page } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { page } from '../chunk-47C6C2NN.js';
|
|
2
|
+
import '../chunk-E3J2RXBS.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-WXOABH6J.js';
|
|
5
|
+
import '../chunk-Y5FBDMFV.js';
|
|
6
|
+
import '../chunk-5ACY5CD3.js';
|
|
7
7
|
import '../chunk-T72DAX7R.js';
|
|
8
8
|
import '../chunk-DF6FBKDN.js';
|
|
9
9
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/product.d.ts
CHANGED
|
@@ -53,23 +53,29 @@ export declare const product: {
|
|
|
53
53
|
*/
|
|
54
54
|
list: (params: ProductsListParams) => Promise<ProductsListResult>;
|
|
55
55
|
queries: {
|
|
56
|
-
detail: (id: string) => import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<Product, Error, Product, string
|
|
57
|
-
|
|
56
|
+
detail: (id: string) => import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<Product, Error, Product, (string | {
|
|
57
|
+
scope: import("../utils/cookies").ActiveScope | null;
|
|
58
|
+
})[]>, "queryFn"> & {
|
|
59
|
+
queryFn?: import("@tanstack/react-query").QueryFunction<Product, (string | {
|
|
60
|
+
scope: import("../utils/cookies").ActiveScope | null;
|
|
61
|
+
})[], never> | undefined;
|
|
58
62
|
} & {
|
|
59
|
-
queryKey: string
|
|
63
|
+
queryKey: (string | {
|
|
64
|
+
scope: import("../utils/cookies").ActiveScope | null;
|
|
65
|
+
})[] & {
|
|
60
66
|
[dataTagSymbol]: Product;
|
|
61
67
|
[dataTagErrorSymbol]: Error;
|
|
62
68
|
};
|
|
63
69
|
};
|
|
64
70
|
list: (params: Omit<ProductsListParams, "signal">) => import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<ProductsListResult, Error, ProductsListResult, (string | Omit<ProductsListParams, "signal"> | {
|
|
65
|
-
scope:
|
|
71
|
+
scope: import("../utils/cookies").ActiveScope | null;
|
|
66
72
|
})[]>, "queryFn"> & {
|
|
67
73
|
queryFn?: import("@tanstack/react-query").QueryFunction<ProductsListResult, (string | Omit<ProductsListParams, "signal"> | {
|
|
68
|
-
scope:
|
|
74
|
+
scope: import("../utils/cookies").ActiveScope | null;
|
|
69
75
|
})[], never> | undefined;
|
|
70
76
|
} & {
|
|
71
77
|
queryKey: (string | Omit<ProductsListParams, "signal"> | {
|
|
72
|
-
scope:
|
|
78
|
+
scope: import("../utils/cookies").ActiveScope | null;
|
|
73
79
|
})[] & {
|
|
74
80
|
[dataTagSymbol]: ProductsListResult;
|
|
75
81
|
[dataTagErrorSymbol]: Error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../src/api/product.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK3D,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,YAAY,GACZ,MAAM,GACN,cAAc,GACd,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,MAAM,GACN,WAAW,GACX,UAAU,GACV,QAAQ,GACR,OAAO,GACP,SAAS,GACT,cAAc,CAAC;AAEnB,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAChD,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG;IAC1D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAID,eAAO,MAAM,OAAO;eACD,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;sBAMxB,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;IAE3C;;;;;OAKG;mBACkB,kBAAkB,KAAG,OAAO,CAAC,kBAAkB,CAAC;;qBAqDtD,MAAM
|
|
1
|
+
{"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../src/api/product.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK3D,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,YAAY,GACZ,MAAM,GACN,cAAc,GACd,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,MAAM,GACN,WAAW,GACX,UAAU,GACV,QAAQ,GACR,OAAO,GACP,SAAS,GACT,cAAc,CAAC;AAEnB,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAChD,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG;IAC1D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAID,eAAO,MAAM,OAAO;eACD,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;sBAMxB,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;IAE3C;;;;;OAKG;mBACkB,kBAAkB,KAAG,OAAO,CAAC,kBAAkB,CAAC;;qBAqDtD,MAAM;;;;;;;;;;;;;;uBAMJ,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;CAOpD,CAAC"}
|
package/dist/api/product.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { product } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { product } from '../chunk-6BVPVYLN.js';
|
|
2
|
+
import '../chunk-E3J2RXBS.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-WXOABH6J.js';
|
|
5
|
+
import '../chunk-Y5FBDMFV.js';
|
|
6
|
+
import '../chunk-5ACY5CD3.js';
|
|
7
7
|
import '../chunk-T72DAX7R.js';
|
|
8
8
|
import '../chunk-DF6FBKDN.js';
|
|
9
9
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/profile.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { api } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
import { api } from '../chunk-WXOABH6J.js';
|
|
2
|
+
import '../chunk-Y5FBDMFV.js';
|
|
3
|
+
import '../chunk-5ACY5CD3.js';
|
|
4
4
|
import '../chunk-T72DAX7R.js';
|
|
5
5
|
import '../chunk-DGUM43GV.js';
|
|
6
6
|
|
package/dist/api/store.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { store } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
export { resolveStoreIdentifier } from '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { store } from '../chunk-Z2BE6MDB.js';
|
|
2
|
+
import '../chunk-WXOABH6J.js';
|
|
3
|
+
export { resolveStoreIdentifier } from '../chunk-Y5FBDMFV.js';
|
|
4
|
+
import '../chunk-5ACY5CD3.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DGUM43GV.js';
|
|
7
7
|
//# sourceMappingURL=store.js.map
|
package/dist/api/translations.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { translations } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { translations } from '../chunk-GCAIIFF3.js';
|
|
2
|
+
import '../chunk-WXOABH6J.js';
|
|
3
|
+
import '../chunk-Y5FBDMFV.js';
|
|
4
|
+
import '../chunk-5ACY5CD3.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DGUM43GV.js';
|
|
7
7
|
//# sourceMappingURL=translations.js.map
|
package/dist/api/user.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { user } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { user } from '../chunk-57RYHNW2.js';
|
|
2
|
+
import '../chunk-WXOABH6J.js';
|
|
3
|
+
import '../chunk-Y5FBDMFV.js';
|
|
4
|
+
import '../chunk-5ACY5CD3.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DGUM43GV.js';
|
|
7
7
|
//# sourceMappingURL=user.js.map
|
package/dist/api/wishlist.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { wishlist } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { wishlist } from '../chunk-LXIEAZZJ.js';
|
|
2
|
+
import '../chunk-WXOABH6J.js';
|
|
3
|
+
import '../chunk-Y5FBDMFV.js';
|
|
4
|
+
import '../chunk-5ACY5CD3.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DGUM43GV.js';
|
|
7
7
|
//# sourceMappingURL=wishlist.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { lazy } from 'react';
|
|
2
|
+
|
|
3
|
+
// src/components/cart/lazy.ts
|
|
4
|
+
var LazyCartItem = lazy(() => import('./CartItem-ZNM7LS6N.js').then((m) => ({ default: m.CartItem })));
|
|
5
|
+
var LazyCartSummary = lazy(
|
|
6
|
+
() => import('./CartSummary-GA7VKMOQ.js').then((m) => ({ default: m.CartSummary }))
|
|
7
|
+
);
|
|
8
|
+
var LazySeoCartWidget = lazy(
|
|
9
|
+
() => import('./SeoCartWidget-M43SKEQJ.js').then((m) => ({ default: m.SeoCartWidget }))
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
export { LazyCartItem, LazyCartSummary, LazySeoCartWidget };
|
|
13
|
+
//# sourceMappingURL=chunk-3ABM2IWU.js.map
|
|
14
|
+
//# sourceMappingURL=chunk-3ABM2IWU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/cart/lazy.ts"],"names":[],"mappings":";;;AAMO,IAAM,YAAA,GAAe,IAAA,CAAK,MAAM,OAAO,wBAAY,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,QAAA,GAAW,CAAC;AAE3F,IAAM,eAAA,GAAkB,IAAA;AAAA,EAAK,MAClC,OAAO,2BAAe,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,WAAA,EAAY,CAAE;AAClE;AAEO,IAAM,iBAAA,GAAoB,IAAA;AAAA,EAAK,MACpC,OAAO,6BAAiB,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,aAAA,EAAc,CAAE;AACtE","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/cart/lazy.ts"],"names":[],"mappings":";;;AAMO,IAAM,YAAA,GAAe,IAAA,CAAK,MAAM,OAAO,wBAAY,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,QAAA,GAAW,CAAC;AAE3F,IAAM,eAAA,GAAkB,IAAA;AAAA,EAAK,MAClC,OAAO,2BAAe,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,WAAA,EAAY,CAAE;AAClE;AAEO,IAAM,iBAAA,GAAoB,IAAA;AAAA,EAAK,MACpC,OAAO,6BAAiB,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,aAAA,EAAc,CAAE;AACtE","file":"chunk-3ABM2IWU.js","sourcesContent":["import { lazy } from 'react';\n\n/**\n * Lazy-loaded cart components\n * Use these for code-splitting cart sections\n */\nexport const LazyCartItem = lazy(() => import('./CartItem').then((m) => ({ default: m.CartItem })));\n\nexport const LazyCartSummary = lazy(() =>\n import('./CartSummary').then((m) => ({ default: m.CartSummary }))\n);\n\nexport const LazySeoCartWidget = lazy(() =>\n import('./SeoCartWidget').then((m) => ({ default: m.SeoCartWidget }))\n);\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { orThrow } from './chunk-
|
|
2
|
-
import { api } from './chunk-
|
|
1
|
+
import { orThrow } from './chunk-E3J2RXBS.js';
|
|
2
|
+
import { api } from './chunk-WXOABH6J.js';
|
|
3
3
|
import { queryOptions } from '@tanstack/react-query';
|
|
4
4
|
|
|
5
5
|
var page = {
|
|
@@ -17,5 +17,5 @@ var page = {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
export { page };
|
|
20
|
-
//# sourceMappingURL=chunk-
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
20
|
+
//# sourceMappingURL=chunk-47C6C2NN.js.map
|
|
21
|
+
//# sourceMappingURL=chunk-47C6C2NN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/page.ts"],"names":[],"mappings":";;;;AAKO,IAAM,IAAA,GAAO;AAAA,EAClB,IAAA,EAAM,OAAO,IAAA,KAA2C;AACtD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,GAAA,CAAI,IAAI,CAAA,MAAA,EAAS,IAAI,CAAA,CAAE,CAAA,CAAE,IAAA,EAAgC;AAChF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAAA,EAEA,aAAa,CAAC,IAAA,KAA2C,QAAQ,IAAA,CAAK,IAAA,CAAK,IAAI,CAAC,CAAA;AAAA,EAEhF,OAAA,EAAS;AAAA,IACP,MAAA,EAAQ,CAAC,IAAA,KACP,YAAA,CAAa;AAAA,MACX,QAAA,EAAU,CAAC,OAAA,EAAS,QAAA,EAAU,IAAI,CAAA;AAAA,MAClC,OAAA,EAAS,MAAM,IAAA,CAAK,IAAA,CAAK,IAAI;AAAA,KAC9B;AAAA;AAEP","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/api/page.ts"],"names":[],"mappings":";;;;AAKO,IAAM,IAAA,GAAO;AAAA,EAClB,IAAA,EAAM,OAAO,IAAA,KAA2C;AACtD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,GAAA,CAAI,IAAI,CAAA,MAAA,EAAS,IAAI,CAAA,CAAE,CAAA,CAAE,IAAA,EAAgC;AAChF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAAA,EAEA,aAAa,CAAC,IAAA,KAA2C,QAAQ,IAAA,CAAK,IAAA,CAAK,IAAI,CAAC,CAAA;AAAA,EAEhF,OAAA,EAAS;AAAA,IACP,MAAA,EAAQ,CAAC,IAAA,KACP,YAAA,CAAa;AAAA,MACX,QAAA,EAAU,CAAC,OAAA,EAAS,QAAA,EAAU,IAAI,CAAA;AAAA,MAClC,OAAA,EAAS,MAAM,IAAA,CAAK,IAAA,CAAK,IAAI;AAAA,KAC9B;AAAA;AAEP","file":"chunk-47C6C2NN.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api } from './client';\nimport type { ApiPageResponse } from '../routes/page/types';\nimport { orThrow } from '../providers/NavigationProvider';\n\nexport const page = {\n find: async (slug: string): Promise<ApiPageResponse> => {\n const { data } = await api.get(`pages/${slug}`).json<{ data: ApiPageResponse }>();\n return data;\n },\n\n findOrThrow: (slug: string): Promise<ApiPageResponse> => orThrow(page.find(slug)),\n\n queries: {\n detail: (slug: string) =>\n queryOptions({\n queryKey: ['pages', 'detail', slug],\n queryFn: () => page.find(slug),\n }),\n },\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { api } from './chunk-
|
|
1
|
+
import { api } from './chunk-WXOABH6J.js';
|
|
2
2
|
import { queryOptions } from '@tanstack/react-query';
|
|
3
3
|
|
|
4
4
|
var user = {
|
|
@@ -19,5 +19,5 @@ var user = {
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export { user };
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-57RYHNW2.js.map
|
|
23
|
+
//# sourceMappingURL=chunk-57RYHNW2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/user.ts"],"names":[],"mappings":";;;AAIO,IAAM,IAAA,GAAO;AAAA,EAClB,KAAK,YAAkC;AACrC,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,GAAA,CACV,GAAA,CAAI,WAAW,CAAA,CACf,MAAmC,CACnC,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,CAAE,IAAA,EAAM,IAAA,EAAM,QAAgB,CAAE,CAAA;AAAA,IACvD,SAAS,KAAA,EAAO;AACd,MAAA,OAAA,CAAQ,KAAA,CAAM,sBAAsB,KAAK,CAAA;AACzC,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF,CAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,OAAA,EAAS,MACP,YAAA,CAA0B;AAAA,MACxB,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS,CAAA;AAAA,MAC5B,SAAS,IAAA,CAAK;AAAA,KACf;AAAA;AAEP","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/api/user.ts"],"names":[],"mappings":";;;AAIO,IAAM,IAAA,GAAO;AAAA,EAClB,KAAK,YAAkC;AACrC,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,GAAA,CACV,GAAA,CAAI,WAAW,CAAA,CACf,MAAmC,CACnC,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,CAAE,IAAA,EAAM,IAAA,EAAM,QAAgB,CAAE,CAAA;AAAA,IACvD,SAAS,KAAA,EAAO;AACd,MAAA,OAAA,CAAQ,KAAA,CAAM,sBAAsB,KAAK,CAAA;AACzC,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF,CAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,OAAA,EAAS,MACP,YAAA,CAA0B;AAAA,MACxB,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS,CAAA;AAAA,MAC5B,SAAS,IAAA,CAAK;AAAA,KACf;AAAA;AAEP","file":"chunk-57RYHNW2.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api } from './client';\nimport type { User } from '../types';\n\nexport const user = {\n get: async (): Promise<User | null> => {\n try {\n return await api\n .get('auth/user')\n .json<{ data: Omit<User, 'type'> }>()\n .then((r) => ({ ...r.data, type: 'user' as const }));\n } catch (error) {\n console.debug('[user.get] Failed:', error);\n return null;\n }\n },\n\n queries: {\n current: () =>\n queryOptions<User | null>({\n queryKey: ['user', 'current'],\n queryFn: user.get,\n }),\n },\n};\n"]}
|
|
@@ -49,7 +49,7 @@ var DEFAULT_DATA = {
|
|
|
49
49
|
routeId: "",
|
|
50
50
|
location: { ...DEFAULT_LOCATION },
|
|
51
51
|
authToken: null,
|
|
52
|
-
|
|
52
|
+
scope: null,
|
|
53
53
|
storeId: null,
|
|
54
54
|
requestHost: null,
|
|
55
55
|
i18n: void 0,
|
|
@@ -83,8 +83,9 @@ function mergeIntoStore(store, partial) {
|
|
|
83
83
|
store.location = { ...store.location, ...partial.location };
|
|
84
84
|
if ("authToken" in partial && partial.authToken !== void 0)
|
|
85
85
|
store.authToken = partial.authToken ?? null;
|
|
86
|
-
if ("
|
|
87
|
-
|
|
86
|
+
if ("scope" in partial && partial.scope !== void 0) store.scope = partial.scope ?? null;
|
|
87
|
+
else if ("scopeId" in partial && partial.scopeId !== void 0)
|
|
88
|
+
store.scope = partial.scopeId == null ? null : { id: partial.scopeId };
|
|
88
89
|
if ("storeId" in partial && partial.storeId !== void 0)
|
|
89
90
|
store.storeId = partial.storeId ?? null;
|
|
90
91
|
if ("requestHost" in partial && partial.requestHost !== void 0)
|
|
@@ -154,8 +155,11 @@ function getTwilightContext() {
|
|
|
154
155
|
get authToken() {
|
|
155
156
|
return data.authToken;
|
|
156
157
|
},
|
|
158
|
+
get scope() {
|
|
159
|
+
return data.scope;
|
|
160
|
+
},
|
|
157
161
|
get scopeId() {
|
|
158
|
-
return data.
|
|
162
|
+
return data.scope?.id ?? null;
|
|
159
163
|
},
|
|
160
164
|
get storeId() {
|
|
161
165
|
return data.storeId;
|
|
@@ -189,5 +193,5 @@ function getTwilightContext() {
|
|
|
189
193
|
}
|
|
190
194
|
|
|
191
195
|
export { SettingsError, createI18nInstance, getRequestStore, getTwilightContext, hasTwilightSettings, runWithTwilightContext, subscribeTwilight, updateTwilightContext };
|
|
192
|
-
//# sourceMappingURL=chunk-
|
|
193
|
-
//# sourceMappingURL=chunk-
|
|
196
|
+
//# sourceMappingURL=chunk-5ACY5CD3.js.map
|
|
197
|
+
//# sourceMappingURL=chunk-5ACY5CD3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/errors.ts","../src/providers/i18n-factory.ts","../src/twilight/context.ts"],"names":[],"mappings":"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","file":"chunk-5ACY5CD3.js","sourcesContent":["export class SettingsError extends Error {\n constructor(message?: string) {\n super(message ?? 'Store settings could not be loaded.');\n this.name = 'SettingsError';\n }\n}\n","import { createInstance, type i18n as I18nInstance } from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nexport type TranslationMessages = Record<string, Record<string, string>>;\n\n/**\n * Creates a new i18next instance for the given locale.\n *\n * @param locale - Active locale code, e.g. `'ar'`\n * @param translations - App translations from the Salla API (store-specific)\n * @param themeTranslations - Bundled theme translations (static defaults)\n */\nexport function createI18nInstance(\n locale: string,\n translations?: TranslationMessages,\n themeTranslations?: TranslationMessages\n): I18nInstance {\n const instance = createInstance();\n const transKey = `${locale}.trans`;\n\n instance.use(initReactI18next).init({\n lng: locale,\n fallbackLng: locale,\n ns: ['app', 'theme'],\n defaultNS: 'app',\n fallbackNS: 'theme',\n resources: {\n [locale]: {\n app: translations?.[transKey] ?? {},\n theme: themeTranslations?.[transKey] ?? {},\n },\n },\n interpolation: { escapeValue: false },\n react: { useSuspense: false },\n keySeparator: '.',\n nsSeparator: false,\n });\n\n return instance;\n}\n\n/**\n * Creates i18n instance for testing\n * @param locale - Locale code (default: 'ar')\n * @param translations - Optional translations\n */\nexport function createTestI18n(locale = 'ar', translations?: TranslationMessages): I18nInstance {\n return createI18nInstance(locale, translations);\n}\n","import type { QueryClient } from '@tanstack/react-query';\nimport type { i18n } from 'i18next';\nimport type { StoreContext } from '../api/store';\nimport type { AppSnippet, AppSettings } from '../api/apps';\nimport { FALLBACK_LOCALE, getLanguageInfo } from '../providers/locale-constants';\nimport type { TranslationMessages } from '../providers/i18n-factory';\nimport { createI18nInstance } from '../providers/i18n-factory';\nimport { SettingsError } from '../utils/errors';\nimport type { ActiveScope } from '../utils/cookies';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface TwilightLocation<TSearch = Record<string, unknown>> {\n href: string;\n pathname: string;\n search: TSearch;\n searchStr: string;\n state: Record<string, unknown>;\n hash: string;\n}\n\nexport interface PageContext {\n slug: string;\n id?: string | number;\n title: string;\n url?: string;\n parent?: { id: string | number; name: string; url: string } | null;\n breadcrumbs?: { name: string; url: string }[];\n}\n\nexport interface TwilightContext {\n queryClient: QueryClient;\n settings: StoreContext;\n locale: string;\n routeId: string;\n location: TwilightLocation;\n authToken: string | null;\n /**\n * The selected market and, once bullet delivery confirmed one, its branch\n * allocation — the full object the SDK sends as `s-scope-*` headers. Seeded from\n * the `scope` cookie on the server; see {@link ActiveScope}.\n */\n scope: ActiveScope | null;\n /** `scope.id`, kept for callers that only need the market. */\n scopeId: string | null;\n /**\n * Which store this request is for, when something other than the hostname says\n * so — the `?storeId=` a preview was opened with, or the cookie remembering it.\n *\n * Null on a live storefront, where the hostname is the answer and there is\n * nothing to carry. See {@link resolveRequestStoreId}.\n */\n storeId: string | null;\n /**\n * The host this request arrived on, captured server-side.\n *\n * A theme worker is deployed with no vars and no bindings, so the request is\n * the only thing that knows which storefront it is serving. On the client this\n * is `window.location.host`; on the server nothing else has it.\n */\n requestHost: string | null;\n i18n: i18n;\n dir: 'ltr' | 'rtl';\n page?: PageContext;\n /** Installed apps' snippets, fetched in rootBeforeLoad so AppsSnippets can render CDN\n * <script> tags during SSR (React Query isn't dehydrated here, so useQuery has no SSR data). */\n appsSnippets?: AppSnippet[];\n /** Per-app public `app.*` buckets, fetched in rootBeforeLoad so rootHead can install the\n * `Salla.appScope` factory inline at parse time — ahead of the snippets' onReady callbacks. */\n appsSettings?: AppSettings;\n extras?: Record<string, unknown>;\n}\n\n// ============================================================================\n// Internal Store\n// ============================================================================\n\nconst DEFAULT_LOCATION: TwilightLocation = {\n href: '',\n pathname: '',\n search: {},\n searchStr: '',\n state: {},\n hash: '',\n};\n\ninterface ContextData {\n queryClient: QueryClient;\n settings: StoreContext | null;\n locale: string;\n routeId: string;\n location: TwilightLocation;\n authToken: string | null;\n scope: ActiveScope | null;\n storeId: string | null;\n requestHost: string | null;\n i18n?: i18n;\n page?: PageContext;\n appsSnippets?: AppSnippet[];\n appsSettings?: AppSettings;\n extras?: Record<string, unknown>;\n}\n\nconst DEFAULT_DATA: ContextData = {\n queryClient: null as unknown as QueryClient,\n settings: null,\n locale: FALLBACK_LOCALE,\n routeId: '',\n location: { ...DEFAULT_LOCATION },\n authToken: null,\n scope: null,\n storeId: null,\n requestHost: null,\n i18n: undefined,\n page: undefined,\n};\n\n// ============================================================================\n// Storage: AsyncLocalStorage (server) or module-level store (client)\n// ============================================================================\n\ntype AsyncLocalStore<T> = { getStore(): T | undefined; run(val: T, fn: () => unknown): unknown };\n\n// Initialize ALS at module load time for SSR — no race condition\nlet _als: AsyncLocalStore<ContextData> | null = null;\nif (typeof window === 'undefined') {\n try {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { AsyncLocalStorage } = require('node:async_hooks') as {\n AsyncLocalStorage: new <T>() => AsyncLocalStore<T>;\n };\n _als = new AsyncLocalStorage<ContextData>();\n } catch {\n _als = null;\n }\n}\n\nconst clientStore: ContextData = { ...DEFAULT_DATA };\n\nfunction getTwilightStore(): ContextData {\n if (_als) {\n const store = _als.getStore();\n if (!store)\n throw new Error('[Twilight] No request context. Wrap with runWithTwilightContext().');\n return store;\n }\n return clientStore;\n}\n\nfunction writableStore(): ContextData {\n if (_als) {\n const store = _als.getStore();\n if (store) return store;\n }\n return clientStore;\n}\n\nfunction mergeIntoStore(store: ContextData, partial: Partial<TwilightContext>): void {\n if ('queryClient' in partial && partial.queryClient) store.queryClient = partial.queryClient;\n if ('settings' in partial && partial.settings != null) store.settings = partial.settings;\n if ('locale' in partial && partial.locale != null) store.locale = partial.locale;\n if ('routeId' in partial && partial.routeId != null) store.routeId = partial.routeId;\n if ('location' in partial && partial.location != null)\n store.location = { ...store.location, ...partial.location };\n if ('authToken' in partial && partial.authToken !== undefined)\n store.authToken = partial.authToken ?? null;\n if ('scope' in partial && partial.scope !== undefined) store.scope = partial.scope ?? null;\n else if ('scopeId' in partial && partial.scopeId !== undefined)\n store.scope = partial.scopeId == null ? null : { id: partial.scopeId };\n if ('storeId' in partial && partial.storeId !== undefined)\n store.storeId = partial.storeId ?? null;\n if ('requestHost' in partial && partial.requestHost !== undefined)\n store.requestHost = partial.requestHost ?? null;\n if ('i18n' in partial && partial.i18n != null) store.i18n = partial.i18n;\n if ('page' in partial) store.page = partial.page;\n if ('appsSnippets' in partial) store.appsSnippets = partial.appsSnippets;\n if ('appsSettings' in partial) store.appsSettings = partial.appsSettings;\n if ('extras' in partial) store.extras = partial.extras;\n}\n\n// ============================================================================\n// Public API\n// ============================================================================\n\nexport function runWithTwilightContext<T>(partial: Partial<TwilightContext>, fn: () => T): T {\n if (_als) {\n const data: ContextData = { ...DEFAULT_DATA };\n mergeIntoStore(data, partial);\n return _als.run(data, fn) as T;\n }\n mergeIntoStore(clientStore, partial);\n return fn();\n}\n\n// Client-only subscription so React consumers (useRouteId/useIsHome/…) re-render\n// when navigation mutates the module store. Mirrors hooks/useWishlist.ts.\nconst listeners = new Set<() => void>();\n\nexport function subscribeTwilight(listener: () => void): () => void {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n\nexport function updateTwilightContext(partial: Partial<TwilightContext>): void {\n mergeIntoStore(getTwilightStore(), partial);\n // Server uses AsyncLocalStorage and has no React subscribers; notify on client only.\n if (typeof window !== 'undefined') {\n for (const listener of listeners) listener();\n }\n}\n\n/**\n * Whether store settings are available, without throwing.\n *\n * `getTwilightContext().settings` throws a `SettingsError` when the store is\n * empty, which is fatal inside a head function during hydration. Callers that\n * need to *test* availability must use this instead of a try/catch around the\n * getter. Returns false when there is no request context at all (server-side\n * calls outside `runWithTwilightContext`).\n */\nexport function hasTwilightSettings(): boolean {\n try {\n return getTwilightStore().settings != null;\n } catch {\n return false;\n }\n}\n\n/**\n * The store this request names and the host it arrived on, without throwing.\n *\n * Separate from {@link getTwilightContext} because store identity is read while\n * deciding *what to fetch* — before there is a context worth having — and on the\n * server outside a request the getter throws. A caller asking \"which store?\" has\n * a sane answer for \"none named\"; it has none for an exception.\n */\nexport function getRequestStore(): { storeId: string | null; requestHost: string | null } {\n try {\n const data = getTwilightStore();\n return { storeId: data.storeId, requestHost: data.requestHost };\n } catch {\n return { storeId: null, requestHost: null };\n }\n}\n\nexport function getTwilightContext(): TwilightContext {\n const data = getTwilightStore();\n return {\n get queryClient() {\n return data.queryClient;\n },\n get settings() {\n if (!data.settings) throw new SettingsError();\n return data.settings;\n },\n get locale() {\n return data.locale;\n },\n get routeId() {\n return data.routeId;\n },\n get location() {\n return data.location;\n },\n get authToken() {\n return data.authToken;\n },\n get scope() {\n return data.scope;\n },\n get scopeId() {\n return data.scope?.id ?? null;\n },\n get storeId() {\n return data.storeId;\n },\n get requestHost() {\n return data.requestHost;\n },\n get i18n() {\n if (!data.i18n) {\n const translations = data.queryClient?.getQueryData(['translations']) as\n TranslationMessages | undefined;\n data.i18n = createI18nInstance(data.locale, translations);\n }\n return data.i18n;\n },\n get dir() {\n return getLanguageInfo(data.locale).dir;\n },\n get page() {\n return data.page;\n },\n get appsSnippets() {\n return data.appsSnippets;\n },\n get appsSettings() {\n return data.appsSettings;\n },\n get extras() {\n return data.extras;\n },\n };\n}\n\n/** @internal Reset store for testing */\nexport function resetForTesting(): void {\n Object.assign(writableStore(), { ...DEFAULT_DATA });\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { orThrow } from './chunk-
|
|
2
|
-
import {
|
|
1
|
+
import { orThrow } from './chunk-E3J2RXBS.js';
|
|
2
|
+
import { getActiveScope, api } from './chunk-WXOABH6J.js';
|
|
3
3
|
import { queryOptions } from '@tanstack/react-query';
|
|
4
4
|
|
|
5
5
|
var category = {
|
|
@@ -19,12 +19,12 @@ var category = {
|
|
|
19
19
|
}),
|
|
20
20
|
list: () => queryOptions({
|
|
21
21
|
// Scope (branch) varies the API response — key must include it.
|
|
22
|
-
queryKey: ["categories", "list", { scope:
|
|
22
|
+
queryKey: ["categories", "list", { scope: getActiveScope() }],
|
|
23
23
|
queryFn: () => category.list()
|
|
24
24
|
})
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { category };
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-5IEQLAAY.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-5IEQLAAY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/category.ts"],"names":[],"mappings":";;;;AAKO,IAAM,QAAA,GAAW;AAAA,EACtB,IAAA,EAAM,OAAO,EAAA,KAAkC;AAC7C,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,GAAA,CAAI,IAAI,CAAA,WAAA,EAAc,EAAE,CAAA,CAAE,CAAA,CAAE,IAAA,EAAyB;AAC5E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAAA,EAEA,aAAa,CAAC,EAAA,KAAkC,QAAQ,QAAA,CAAS,IAAA,CAAK,EAAE,CAAC,CAAA;AAAA,EAEzE,MAAM,YAAiC;AACrC,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,IAAI,GAAA,CAAI,YAAY,EAAE,IAAA,EAA2B;AACxE,IAAA,OAAO,QAAQ,EAAC;AAAA,EAClB,CAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,MAAA,EAAQ,CAAC,EAAA,KACP,YAAA,CAAa;AAAA,MACX,QAAA,EAAU,CAAC,YAAA,EAAc,QAAA,EAAU,EAAE,CAAA;AAAA,MACrC,OAAA,EAAS,MAAM,QAAA,CAAS,IAAA,CAAK,EAAE;AAAA,KAChC,CAAA;AAAA,IAEH,IAAA,EAAM,MACJ,YAAA,CAAa;AAAA;AAAA,MAEX,QAAA,EAAU,CAAC,YAAA,EAAc,MAAA,EAAQ,EAAE,KAAA,EAAO,cAAA,IAAkB,CAAA;AAAA,MAC5D,OAAA,EAAS,MAAM,QAAA,CAAS,IAAA;AAAK,KAC9B;AAAA;AAEP","file":"chunk-5IEQLAAY.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api, getActiveScope } from './client';\nimport type { Category } from '../types';\nimport { orThrow } from '../providers/NavigationProvider';\n\nexport const category = {\n find: async (id: string): Promise<Category> => {\n const { data } = await api.get(`categories/${id}`).json<{ data: Category }>();\n return data;\n },\n\n findOrThrow: (id: string): Promise<Category> => orThrow(category.find(id)),\n\n list: async (): Promise<Category[]> => {\n const { data } = await api.get('categories').json<{ data: Category[] }>();\n return data ?? [];\n },\n\n queries: {\n detail: (id: string) =>\n queryOptions({\n queryKey: ['categories', 'detail', id],\n queryFn: () => category.find(id),\n }),\n\n list: () =>\n queryOptions({\n // Scope (branch) varies the API response — key must include it.\n queryKey: ['categories', 'list', { scope: getActiveScope() }],\n queryFn: () => category.list(),\n }),\n },\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { orThrow } from './chunk-
|
|
2
|
-
import {
|
|
1
|
+
import { orThrow } from './chunk-E3J2RXBS.js';
|
|
2
|
+
import { getActiveScope, api } from './chunk-WXOABH6J.js';
|
|
3
3
|
import { queryOptions } from '@tanstack/react-query';
|
|
4
4
|
|
|
5
5
|
var product = {
|
|
@@ -50,17 +50,18 @@ var product = {
|
|
|
50
50
|
},
|
|
51
51
|
queries: {
|
|
52
52
|
detail: (id) => queryOptions({
|
|
53
|
-
|
|
53
|
+
// Stock and availability are resolved per branch allocation — same as the list.
|
|
54
|
+
queryKey: ["products", "detail", id, { scope: getActiveScope() }],
|
|
54
55
|
queryFn: () => product.find(id)
|
|
55
56
|
}),
|
|
56
57
|
list: (params) => queryOptions({
|
|
57
58
|
// Scope (branch) varies product availability — key must include it.
|
|
58
|
-
queryKey: ["products", "list", params, { scope:
|
|
59
|
+
queryKey: ["products", "list", params, { scope: getActiveScope() }],
|
|
59
60
|
queryFn: ({ signal }) => product.list({ ...params, signal })
|
|
60
61
|
})
|
|
61
62
|
}
|
|
62
63
|
};
|
|
63
64
|
|
|
64
65
|
export { product };
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-6BVPVYLN.js.map
|
|
67
|
+
//# sourceMappingURL=chunk-6BVPVYLN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/product.ts"],"names":[],"mappings":"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","file":"chunk-6BVPVYLN.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api, getActiveScope } from './client';\nimport type { Product } from '../types';\nimport type { Pagination, PaginatedResult } from './types';\nimport { orThrow } from '../providers/NavigationProvider';\n\n// ===== Filter Types =====\n\nexport interface FilterValue {\n key?: string;\n count?: number;\n value?: string;\n from?: number | '*';\n to?: number | '*';\n}\n\nexport interface Filter {\n key?: string;\n label?: string;\n type?: string;\n values?: FilterValue[];\n max?: number;\n min?: number;\n}\n\n// ===== Product List Types =====\n\nexport type ProductsListSource =\n | 'brands'\n | 'categories'\n | 'json'\n | 'landing-page'\n | 'latest'\n | 'offers'\n | 'recently'\n | 'related'\n | 'selected'\n | 'tags'\n | 'top-rated'\n | 'wishlist'\n | 'search'\n | 'sales'\n | 'reorder'\n | 'best_selling';\n\nexport interface ProductsListParams {\n /** Source type (wishlist, latest, brands, etc.) */\n source: ProductsListSource;\n /** Source value (brand_id, category_id, tag_id, search keyword, or JSON array of product IDs) */\n sourceValue?: string | number | number[] | null;\n /** Page number for offset-based pagination */\n page?: number;\n /** Cursor for cursor-based pagination (from previous response) */\n cursor?: string | null;\n /** Items per page (default: 15) */\n perPage?: number;\n /** Sort option */\n sort?: string;\n /** Enable filters on the response */\n filterable?: boolean;\n /** Abort signal for cancellation */\n signal?: AbortSignal;\n}\n\nexport type ProductsListResult = PaginatedResult<Product> & {\n filters?: Filter[];\n};\n\nexport interface ProductsListResponse {\n data: Product[];\n cursor?: Pagination;\n filters?: Filter[];\n}\n\n// ===== API Functions =====\n\nexport const product = {\n find: async (id: string): Promise<Product> => {\n const endpoint = `products/${id}/details?with[]=images&with[]=category&with[]=rating&with[]=notify_availability&with[]=tags&with[]=brand&with[]=options&with[]=skus&with[]=skus_availability&with[]=included_products&with[]=bundle&with[]=sold_quantity`;\n const { data } = await api.get(endpoint).json<{ data: Product }>();\n return data;\n },\n\n findOrThrow: (id: string): Promise<Product> => orThrow(product.find(id)),\n\n /**\n * Fetch products list with pagination support\n * Used by native ProductsList component for SSR loaders\n *\n * API pattern: GET /products?source=wishlist&page=1\n */\n list: async (params: ProductsListParams): Promise<ProductsListResult> => {\n const { source, sourceValue, page, cursor, perPage = 16, sort, filterable, signal } = params;\n\n // Build URL with query parameters\n const searchParams = new URLSearchParams();\n searchParams.set('source', source);\n // Only send page when explicitly provided — cursor-based callers omit it entirely\n if (page !== undefined) searchParams.set('page', String(page));\n searchParams.set('per_page', String(perPage));\n\n // Add source_value[] parameter (brand_id, category_id, tag_id, etc.)\n // For search source, use keyword parameter instead\n if (sourceValue !== undefined) {\n if (source === 'search') {\n searchParams.set('keyword', String(sourceValue));\n } else if (Array.isArray(sourceValue)) {\n sourceValue.forEach((val) => searchParams.append('source_value[]', String(val)));\n } else {\n searchParams.append('source_value[]', String(sourceValue));\n }\n }\n\n // Add filterable parameter\n if (filterable !== undefined) {\n searchParams.set('filterable', filterable ? '1' : '0');\n }\n\n // Add sort parameter\n if (sort) {\n searchParams.set('sort', sort);\n }\n\n // Add cursor for cursor-based pagination\n if (cursor) {\n searchParams.set('cursor', cursor);\n }\n\n // Make the request\n const options: Record<string, unknown> = {};\n if (signal) options.signal = signal;\n\n const response = await api\n .get(`products?${searchParams.toString()}`, options as any)\n .json<ProductsListResponse>();\n\n return {\n items: response.data ?? [],\n next: response.cursor?.next ?? null,\n filters: response.filters,\n };\n },\n\n queries: {\n detail: (id: string) =>\n queryOptions({\n // Stock and availability are resolved per branch allocation — same as the list.\n queryKey: ['products', 'detail', id, { scope: getActiveScope() }],\n queryFn: () => product.find(id),\n }),\n list: (params: Omit<ProductsListParams, 'signal'>) =>\n queryOptions({\n // Scope (branch) varies product availability — key must include it.\n queryKey: ['products', 'list', params, { scope: getActiveScope() }],\n queryFn: ({ signal }) => product.list({ ...params, signal }),\n }),\n },\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { orThrow, orUnauthorized } from './chunk-
|
|
2
|
-
import { api } from './chunk-
|
|
1
|
+
import { orThrow, orUnauthorized } from './chunk-E3J2RXBS.js';
|
|
2
|
+
import { api } from './chunk-WXOABH6J.js';
|
|
3
3
|
import { queryOptions } from '@tanstack/react-query';
|
|
4
4
|
|
|
5
5
|
var order = {
|
|
@@ -61,5 +61,5 @@ var order = {
|
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
export { order };
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-6JLVUQWD.js.map
|
|
65
|
+
//# sourceMappingURL=chunk-6JLVUQWD.js.map
|