@salla.sa/twilight-theme-engine 1.0.116 → 1.0.117
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-6NCWP2NI.js → AddToCartForm-OHUF5AB7.js} +3 -3
- package/dist/{AddToCartForm-6NCWP2NI.js.map → AddToCartForm-OHUF5AB7.js.map} +1 -1
- package/dist/{BlogAuthorPage-NLVQF5Q5.js → BlogAuthorPage-4FEUVAUM.js} +22 -22
- package/dist/{BlogAuthorPage-NLVQF5Q5.js.map → BlogAuthorPage-4FEUVAUM.js.map} +1 -1
- package/dist/{BlogCategoryPage-4QUIKTSA.js → BlogCategoryPage-GCDDD4TO.js} +22 -22
- package/dist/{BlogCategoryPage-4QUIKTSA.js.map → BlogCategoryPage-GCDDD4TO.js.map} +1 -1
- package/dist/{BlogPage-XB2D5HHJ.js → BlogPage-AHBBXOTS.js} +20 -20
- package/dist/{BlogPage-XB2D5HHJ.js.map → BlogPage-AHBBXOTS.js.map} +1 -1
- package/dist/{BlogSinglePage-KA66R2CQ.js → BlogSinglePage-GQPO24UA.js} +20 -20
- package/dist/{BlogSinglePage-KA66R2CQ.js.map → BlogSinglePage-GQPO24UA.js.map} +1 -1
- package/dist/{BlogTagPage-MBRDNQVV.js → BlogTagPage-MZIA7SRR.js} +22 -22
- package/dist/{BlogTagPage-MBRDNQVV.js.map → BlogTagPage-MZIA7SRR.js.map} +1 -1
- package/dist/{BrandsPage-NFKQQEAI.js → BrandsPage-5DWAMTNA.js} +21 -21
- package/dist/{BrandsPage-NFKQQEAI.js.map → BrandsPage-5DWAMTNA.js.map} +1 -1
- package/dist/{Breadcrumb-VZTWGT26.js → Breadcrumb-6FJS2523.js} +20 -20
- package/dist/{Breadcrumb-VZTWGT26.js.map → Breadcrumb-6FJS2523.js.map} +1 -1
- package/dist/{CartItem-EFDQLYP7.js → CartItem-YL3HRWEN.js} +20 -20
- package/dist/{CartItem-EFDQLYP7.js.map → CartItem-YL3HRWEN.js.map} +1 -1
- package/dist/{CartSummary-PJDCLQTS.js → CartSummary-KAFG7UAC.js} +20 -20
- package/dist/{CartSummary-PJDCLQTS.js.map → CartSummary-KAFG7UAC.js.map} +1 -1
- package/dist/{Copyright-HAU4I2CU.js → Copyright-BPWB33YX.js} +3 -3
- package/dist/{Copyright-HAU4I2CU.js.map → Copyright-BPWB33YX.js.map} +1 -1
- package/dist/{CustomerLayout-IHB3VD3E.js → CustomerLayout-OH3U7D5I.js} +20 -20
- package/dist/{CustomerLayout-IHB3VD3E.js.map → CustomerLayout-OH3U7D5I.js.map} +1 -1
- package/dist/{Footer-GKYZN2IF.js → Footer-M7KCCGJG.js} +4 -4
- package/dist/{Footer-GKYZN2IF.js.map → Footer-M7KCCGJG.js.map} +1 -1
- package/dist/{Header-OUMPXV42.js → Header-WU6S6SNO.js} +10 -10
- package/dist/{Header-OUMPXV42.js.map → Header-WU6S6SNO.js.map} +1 -1
- package/dist/{LoyaltyPage-RLDDXCXX.js → LoyaltyPage-PYTL63HY.js} +20 -20
- package/dist/{LoyaltyPage-RLDDXCXX.js.map → LoyaltyPage-PYTL63HY.js.map} +1 -1
- package/dist/{LoyaltyPointsPage-O5KWIEY2.js → LoyaltyPointsPage-KUK3BP7H.js} +7 -7
- package/dist/{LoyaltyPointsPage-O5KWIEY2.js.map → LoyaltyPointsPage-KUK3BP7H.js.map} +1 -1
- package/dist/{MainMenu-LJIJY4AX.js → MainMenu-VEUDAJ25.js} +6 -6
- package/dist/{MainMenu-LJIJY4AX.js.map → MainMenu-VEUDAJ25.js.map} +1 -1
- package/dist/{MasterLayout-FNC6M7D7.js → MasterLayout-Y5YVZTHN.js} +20 -20
- package/dist/{MasterLayout-FNC6M7D7.js.map → MasterLayout-Y5YVZTHN.js.map} +1 -1
- package/dist/{MobileMenu-BRKNE7QW.js → MobileMenu-5U3TIT2I.js} +21 -21
- package/dist/{MobileMenu-BRKNE7QW.js.map → MobileMenu-5U3TIT2I.js.map} +1 -1
- package/dist/{NotificationsPage-PUFFEJJL.js → NotificationsPage-477VJ6XE.js} +20 -20
- package/dist/{NotificationsPage-PUFFEJJL.js.map → NotificationsPage-477VJ6XE.js.map} +1 -1
- package/dist/{OrderSinglePage-DPRCLI7U.js → OrderSinglePage-ZZIGWYQV.js} +21 -21
- package/dist/{OrderSinglePage-DPRCLI7U.js.map → OrderSinglePage-ZZIGWYQV.js.map} +1 -1
- package/dist/{OrdersPage-YCF2F4CC.js → OrdersPage-K7T6ZNJ6.js} +20 -20
- package/dist/{OrdersPage-YCF2F4CC.js.map → OrdersPage-K7T6ZNJ6.js.map} +1 -1
- package/dist/{PageSingle-UIFZXJIV.js → PageSingle-DMXT57VC.js} +5 -5
- package/dist/{PageSingle-UIFZXJIV.js.map → PageSingle-DMXT57VC.js.map} +1 -1
- package/dist/{ProductDetails-73Q6BYGA.js → ProductDetails-UISP7TFH.js} +6 -6
- package/dist/{ProductDetails-73Q6BYGA.js.map → ProductDetails-UISP7TFH.js.map} +1 -1
- package/dist/{ProfilePage-ZD5E4OGM.js → ProfilePage-RALWGI2P.js} +20 -20
- package/dist/{ProfilePage-ZD5E4OGM.js.map → ProfilePage-RALWGI2P.js.map} +1 -1
- package/dist/{ReviewsPage-5WOXAZDE.js → ReviewsPage-MJXZKKLC.js} +3 -3
- package/dist/{ReviewsPage-5WOXAZDE.js.map → ReviewsPage-MJXZKKLC.js.map} +1 -1
- package/dist/{SeoCartWidget-GYAGYAX2.js → SeoCartWidget-VJRASYIL.js} +20 -20
- package/dist/{SeoCartWidget-GYAGYAX2.js.map → SeoCartWidget-VJRASYIL.js.map} +1 -1
- package/dist/{SettingsPage-7CU5SRJO.js → SettingsPage-EIYGSJY7.js} +20 -20
- package/dist/{SettingsPage-7CU5SRJO.js.map → SettingsPage-EIYGSJY7.js.map} +1 -1
- package/dist/{StoreClosedNotification-O5YSPII4.js → StoreClosedNotification-EY4UMR7F.js} +21 -21
- package/dist/{StoreClosedNotification-O5YSPII4.js.map → StoreClosedNotification-EY4UMR7F.js.map} +1 -1
- package/dist/{TestimonialsPage-BFEG7S6W.js → TestimonialsPage-NBQQPUZB.js} +5 -5
- package/dist/{TestimonialsPage-BFEG7S6W.js.map → TestimonialsPage-NBQQPUZB.js.map} +1 -1
- package/dist/{ThankYouPage-5QENDZTM.js → ThankYouPage-4FEFUSEE.js} +20 -20
- package/dist/{ThankYouPage-5QENDZTM.js.map → ThankYouPage-4FEFUSEE.js.map} +1 -1
- package/dist/{WalletPage-EYTVKQMV.js → WalletPage-LWKISA73.js} +21 -21
- package/dist/{WalletPage-EYTVKQMV.js.map → WalletPage-LWKISA73.js.map} +1 -1
- package/dist/{WishlistPage-LT7TOAM3.js → WishlistPage-N3VX6JZV.js} +22 -22
- package/dist/{WishlistPage-LT7TOAM3.js.map → WishlistPage-N3VX6JZV.js.map} +1 -1
- package/dist/api/advertisement.js +3 -3
- package/dist/api/apps.js +3 -3
- package/dist/api/blog.js +5 -5
- package/dist/api/brands.js +5 -5
- package/dist/api/cart.js +5 -5
- package/dist/api/category.js +5 -5
- package/dist/api/client.js +2 -2
- package/dist/api/home.js +3 -3
- package/dist/api/loyalty.js +5 -5
- package/dist/api/menu.js +3 -3
- package/dist/api/notification.js +3 -3
- package/dist/api/order.js +5 -5
- package/dist/api/page.js +5 -5
- package/dist/api/product.js +5 -5
- package/dist/api/profile.js +2 -2
- package/dist/api/store.js +3 -3
- package/dist/api/translations.js +3 -3
- package/dist/api/user.js +3 -3
- package/dist/api/wallet.js +3 -3
- package/dist/api/wishlist.js +6 -6
- package/dist/{chunk-7AIDISU2.js → chunk-2TLIULJZ.js} +3 -3
- package/dist/{chunk-7AIDISU2.js.map → chunk-2TLIULJZ.js.map} +1 -1
- package/dist/{chunk-7ANH3RD5.js → chunk-45YF2KXD.js} +4 -4
- package/dist/{chunk-7ANH3RD5.js.map → chunk-45YF2KXD.js.map} +1 -1
- package/dist/{chunk-V3NOBNNU.js → chunk-5CKTQAFX.js} +3 -3
- package/dist/{chunk-V3NOBNNU.js.map → chunk-5CKTQAFX.js.map} +1 -1
- package/dist/{chunk-D3PO3ICA.js → chunk-BK5TBUGG.js} +3 -3
- package/dist/{chunk-D3PO3ICA.js.map → chunk-BK5TBUGG.js.map} +1 -1
- package/dist/{chunk-4ODMWV34.js → chunk-CF2XUAAK.js} +4 -4
- package/dist/{chunk-4ODMWV34.js.map → chunk-CF2XUAAK.js.map} +1 -1
- package/dist/{chunk-JZ2SYFVR.js → chunk-DVOPY7MI.js} +5 -5
- package/dist/{chunk-JZ2SYFVR.js.map → chunk-DVOPY7MI.js.map} +1 -1
- package/dist/{chunk-5G6PD6P2.js → chunk-E552K72T.js} +3 -3
- package/dist/{chunk-5G6PD6P2.js.map → chunk-E552K72T.js.map} +1 -1
- package/dist/{chunk-HFGOFYQX.js → chunk-E7MENFQB.js} +3 -3
- package/dist/{chunk-HFGOFYQX.js.map → chunk-E7MENFQB.js.map} +1 -1
- package/dist/{chunk-7EZZR4WA.js → chunk-EFCIK5NI.js} +4 -4
- package/dist/{chunk-7EZZR4WA.js.map → chunk-EFCIK5NI.js.map} +1 -1
- package/dist/{chunk-7QHK77KL.js → chunk-EFT442TN.js} +4 -4
- package/dist/{chunk-7QHK77KL.js.map → chunk-EFT442TN.js.map} +1 -1
- package/dist/{chunk-75TXHISE.js → chunk-EJB6NN3F.js} +4 -4
- package/dist/{chunk-75TXHISE.js.map → chunk-EJB6NN3F.js.map} +1 -1
- package/dist/{chunk-74W2O47D.js → chunk-FYJPK6XU.js} +3 -3
- package/dist/{chunk-74W2O47D.js.map → chunk-FYJPK6XU.js.map} +1 -1
- package/dist/{chunk-3GDJMMMS.js → chunk-GYXUYHKO.js} +41 -6
- package/dist/chunk-GYXUYHKO.js.map +1 -0
- package/dist/{chunk-CDOGKC7B.js → chunk-IRGT53OJ.js} +5 -5
- package/dist/{chunk-CDOGKC7B.js.map → chunk-IRGT53OJ.js.map} +1 -1
- package/dist/{chunk-BVMHRVCG.js → chunk-JGVEGQHJ.js} +3 -3
- package/dist/{chunk-BVMHRVCG.js.map → chunk-JGVEGQHJ.js.map} +1 -1
- package/dist/{chunk-GFZEZQ45.js → chunk-JM6SMCEK.js} +4 -4
- package/dist/{chunk-GFZEZQ45.js.map → chunk-JM6SMCEK.js.map} +1 -1
- package/dist/{chunk-WBL7MSKQ.js → chunk-KPTVSC46.js} +4 -4
- package/dist/{chunk-WBL7MSKQ.js.map → chunk-KPTVSC46.js.map} +1 -1
- package/dist/{chunk-ZGVBXJQO.js → chunk-KZFIA76B.js} +5 -5
- package/dist/{chunk-ZGVBXJQO.js.map → chunk-KZFIA76B.js.map} +1 -1
- package/dist/{chunk-5CEVDCMY.js → chunk-L4TQBWR7.js} +3 -3
- package/dist/{chunk-5CEVDCMY.js.map → chunk-L4TQBWR7.js.map} +1 -1
- package/dist/{chunk-KXD4WUYA.js → chunk-L5BP6ARL.js} +4 -4
- package/dist/{chunk-KXD4WUYA.js.map → chunk-L5BP6ARL.js.map} +1 -1
- package/dist/{chunk-6D3OWIEC.js → chunk-LPCNDH4F.js} +4 -3
- package/dist/chunk-LPCNDH4F.js.map +1 -0
- package/dist/{chunk-ZMXHQKZS.js → chunk-MJ6J3HUJ.js} +4 -4
- package/dist/{chunk-ZMXHQKZS.js.map → chunk-MJ6J3HUJ.js.map} +1 -1
- package/dist/chunk-MJ7FQJDF.js +14 -0
- package/dist/{chunk-GPWNE2C6.js.map → chunk-MJ7FQJDF.js.map} +1 -1
- package/dist/{chunk-BLIH42Y6.js → chunk-MMKLT4YU.js} +7 -7
- package/dist/{chunk-BLIH42Y6.js.map → chunk-MMKLT4YU.js.map} +1 -1
- package/dist/{chunk-4TM54PZO.js → chunk-MTDXG2GS.js} +4 -4
- package/dist/{chunk-4TM54PZO.js.map → chunk-MTDXG2GS.js.map} +1 -1
- package/dist/{chunk-JVAFKLXJ.js → chunk-NEHOBD4K.js} +3 -3
- package/dist/{chunk-JVAFKLXJ.js.map → chunk-NEHOBD4K.js.map} +1 -1
- package/dist/{chunk-Z3EAHRXR.js → chunk-NKSXBOIB.js} +11 -11
- package/dist/{chunk-Z3EAHRXR.js.map → chunk-NKSXBOIB.js.map} +1 -1
- package/dist/{chunk-L34CKKVC.js → chunk-O4UUZ254.js} +3 -3
- package/dist/{chunk-L34CKKVC.js.map → chunk-O4UUZ254.js.map} +1 -1
- package/dist/{chunk-CGHCXWV2.js → chunk-P5NIICFT.js} +3 -3
- package/dist/{chunk-CGHCXWV2.js.map → chunk-P5NIICFT.js.map} +1 -1
- package/dist/{chunk-M46EKE7R.js → chunk-PFAPRJVF.js} +5 -31
- package/dist/chunk-PFAPRJVF.js.map +1 -0
- package/dist/{chunk-4ZTHNUB7.js → chunk-RUDUXB55.js} +7 -7
- package/dist/{chunk-4ZTHNUB7.js.map → chunk-RUDUXB55.js.map} +1 -1
- package/dist/{chunk-OU2KIHZI.js → chunk-RVPC4AYT.js} +3 -3
- package/dist/{chunk-OU2KIHZI.js.map → chunk-RVPC4AYT.js.map} +1 -1
- package/dist/{chunk-DGTFJWBV.js → chunk-S7P72JBV.js} +4 -4
- package/dist/{chunk-DGTFJWBV.js.map → chunk-S7P72JBV.js.map} +1 -1
- package/dist/{chunk-YWDMDW2K.js → chunk-SC2X42RE.js} +4 -4
- package/dist/{chunk-YWDMDW2K.js.map → chunk-SC2X42RE.js.map} +1 -1
- package/dist/{chunk-SW4WGOLU.js → chunk-UMTMIMH7.js} +3 -3
- package/dist/{chunk-SW4WGOLU.js.map → chunk-UMTMIMH7.js.map} +1 -1
- package/dist/{chunk-P7A24TSM.js → chunk-V2M5YNZQ.js} +3 -3
- package/dist/{chunk-P7A24TSM.js.map → chunk-V2M5YNZQ.js.map} +1 -1
- package/dist/{chunk-WBXIDILF.js → chunk-VI2WHQDR.js} +3 -3
- package/dist/{chunk-WBXIDILF.js.map → chunk-VI2WHQDR.js.map} +1 -1
- package/dist/{chunk-W6LB5TRO.js → chunk-VSK2WS4G.js} +3 -3
- package/dist/{chunk-W6LB5TRO.js.map → chunk-VSK2WS4G.js.map} +1 -1
- package/dist/{chunk-OKCNKVB5.js → chunk-VT6FE3CB.js} +3 -3
- package/dist/{chunk-OKCNKVB5.js.map → chunk-VT6FE3CB.js.map} +1 -1
- package/dist/{chunk-QQTY4PDC.js → chunk-W6NQM4FQ.js} +3 -3
- package/dist/{chunk-QQTY4PDC.js.map → chunk-W6NQM4FQ.js.map} +1 -1
- package/dist/{chunk-DGCHTKPZ.js → chunk-WJ7IGOIK.js} +8 -8
- package/dist/{chunk-DGCHTKPZ.js.map → chunk-WJ7IGOIK.js.map} +1 -1
- package/dist/{chunk-X7A6BCYN.js → chunk-WJZXENPN.js} +7 -7
- package/dist/{chunk-X7A6BCYN.js.map → chunk-WJZXENPN.js.map} +1 -1
- package/dist/{chunk-UHXL4VZS.js → chunk-XKP5LIEJ.js} +4 -4
- package/dist/{chunk-UHXL4VZS.js.map → chunk-XKP5LIEJ.js.map} +1 -1
- package/dist/{chunk-LQ4X4YQM.js → chunk-ZAPRXUPS.js} +23 -21
- package/dist/chunk-ZAPRXUPS.js.map +1 -0
- package/dist/{chunk-RR2RWSCF.js → chunk-ZQMLBSSL.js} +7 -7
- package/dist/{chunk-RR2RWSCF.js.map → chunk-ZQMLBSSL.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 +18 -18
- package/dist/components/home/index.js +22 -22
- package/dist/components/layout/index.js +5 -5
- package/dist/components/product/index.js +19 -19
- package/dist/components/store/index.js +19 -19
- package/dist/components/toast/index.js +3 -3
- package/dist/dev/editor/index.js +1 -1
- package/dist/dev/index.js +1 -1
- package/dist/{document-class-YRZ37ED3.js → document-class-K5VLY3NR.js} +13 -13
- package/dist/{document-class-YRZ37ED3.js.map → document-class-K5VLY3NR.js.map} +1 -1
- package/dist/hooks/index.js +18 -18
- package/dist/hooks/useComments.js +2 -2
- package/dist/hooks/useGtm.js +18 -18
- package/dist/hooks/useMoney.js +18 -18
- package/dist/hooks/useProduct.js +2 -2
- package/dist/hooks/useStore.js +18 -18
- package/dist/hooks/useUser.js +4 -4
- package/dist/hooks/useWishlist.js +2 -2
- package/dist/index.js +18 -18
- package/dist/native-app/index.js +2 -2
- package/dist/{navigation-ZTRVRY6C.js → navigation-JHGESS7X.js} +7 -7
- package/dist/{navigation-ZTRVRY6C.js.map → navigation-JHGESS7X.js.map} +1 -1
- package/dist/{navigation-PALPE7RN.js → navigation-QLPZ2GEV.js} +6 -6
- package/dist/{navigation-PALPE7RN.js.map → navigation-QLPZ2GEV.js.map} +1 -1
- package/dist/{not-found-UD7MDFAE.js → not-found-IETXWT4W.js} +21 -21
- package/dist/{not-found-UD7MDFAE.js.map → not-found-IETXWT4W.js.map} +1 -1
- package/dist/providers/index.js +18 -18
- package/dist/providers/twilight-init.d.ts.map +1 -1
- package/dist/routes/account/orders.js +6 -6
- package/dist/routes/account.js +15 -15
- package/dist/routes/blog.js +10 -10
- package/dist/routes/brands.js +6 -6
- package/dist/routes/cart.js +26 -26
- package/dist/routes/home.js +23 -23
- package/dist/routes/index.js +5 -5
- package/dist/routes/loyalty.js +7 -7
- package/dist/routes/page.js +6 -6
- package/dist/routes/product-listing.js +24 -24
- package/dist/routes/product.js +22 -22
- package/dist/routes/seo-redirects.js +5 -5
- package/dist/routes/testimonials.js +2 -2
- package/dist/routes/thank-you.js +6 -6
- package/dist/skeleton.js +23 -23
- package/dist/{store-lookup-6QB4WMID.js → store-lookup-TGNDK2KQ.js} +10 -10
- package/dist/{store-lookup-6QB4WMID.js.map → store-lookup-TGNDK2KQ.js.map} +1 -1
- package/dist/tanstack.js +13 -13
- package/dist/utils/index.js +3 -3
- package/dist/utils/sdk-helpers.d.ts +12 -1
- package/dist/utils/sdk-helpers.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-3GDJMMMS.js.map +0 -1
- package/dist/chunk-6D3OWIEC.js.map +0 -1
- package/dist/chunk-GPWNE2C6.js +0 -14
- package/dist/chunk-LQ4X4YQM.js.map +0 -1
- package/dist/chunk-M46EKE7R.js.map +0 -1
package/dist/routes/loyalty.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { loyalty } from '../chunk-
|
|
1
|
+
import { loyalty } from '../chunk-KPTVSC46.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-OM2GRPDH.js';
|
|
3
|
-
import { unauthorized, orUnauthorized, redirect } from '../chunk-
|
|
3
|
+
import { unauthorized, orUnauthorized, redirect } from '../chunk-L5BP6ARL.js';
|
|
4
4
|
import { RouteId } from '../chunk-OUW6WESU.js';
|
|
5
|
-
import { getAuthToken } from '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
5
|
+
import { getAuthToken } from '../chunk-PFAPRJVF.js';
|
|
6
|
+
import '../chunk-2TLIULJZ.js';
|
|
7
|
+
import '../chunk-GYXUYHKO.js';
|
|
8
8
|
import '../chunk-FHU2MXZA.js';
|
|
9
9
|
import { getTwilightContext } from '../chunk-7VNVCHID.js';
|
|
10
10
|
import { FALLBACK_LOCALE } from '../chunk-T72DAX7R.js';
|
|
@@ -58,10 +58,10 @@ async function loyaltyPointsLoader(locale) {
|
|
|
58
58
|
|
|
59
59
|
// src/routes/loyalty/index.tsx
|
|
60
60
|
var LazyLoyaltyPage = lazy(
|
|
61
|
-
() => import('../LoyaltyPage-
|
|
61
|
+
() => import('../LoyaltyPage-PYTL63HY.js').then((m) => ({ default: m.LoyaltyPage }))
|
|
62
62
|
);
|
|
63
63
|
var LazyLoyaltyPointsPage = lazy(
|
|
64
|
-
() => import('../LoyaltyPointsPage-
|
|
64
|
+
() => import('../LoyaltyPointsPage-KUK3BP7H.js').then((m) => ({ default: m.LoyaltyPointsPage }))
|
|
65
65
|
);
|
|
66
66
|
var LoyaltyPage = LazyLoyaltyPage;
|
|
67
67
|
var LoyaltyPointsPage = LazyLoyaltyPointsPage;
|
package/dist/routes/page.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { page } from '../chunk-
|
|
1
|
+
import { page } from '../chunk-MJ6J3HUJ.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-OM2GRPDH.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-L5BP6ARL.js';
|
|
4
4
|
import { RouteId } from '../chunk-OUW6WESU.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-PFAPRJVF.js';
|
|
6
|
+
import '../chunk-2TLIULJZ.js';
|
|
7
|
+
import '../chunk-GYXUYHKO.js';
|
|
8
8
|
import '../chunk-FHU2MXZA.js';
|
|
9
9
|
import '../chunk-7VNVCHID.js';
|
|
10
10
|
import '../chunk-T72DAX7R.js';
|
|
@@ -29,7 +29,7 @@ async function pageSingleLoader({ params }) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
// src/routes/page/index.tsx
|
|
32
|
-
var LazyPageSingle = lazy(() => import('../PageSingle-
|
|
32
|
+
var LazyPageSingle = lazy(() => import('../PageSingle-DMXT57VC.js').then((m) => ({ default: m.PageSingle })));
|
|
33
33
|
var PageSingleLazy = LazyPageSingle;
|
|
34
34
|
async function loader(ctx, extend) {
|
|
35
35
|
const data = await pageSingleLoader({ params: ctx.params });
|
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
import { SORT_IDS, availableSortIds, sortOptions } from '../chunk-3LZJXKVO.js';
|
|
2
|
-
import { category } from '../chunk-
|
|
3
|
-
import { brand } from '../chunk-
|
|
4
|
-
import { useReorderButtons, LazyTestimonials } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import { product, parseNextPageToken } from '../chunk-
|
|
2
|
+
import { category } from '../chunk-EJB6NN3F.js';
|
|
3
|
+
import { brand } from '../chunk-JM6SMCEK.js';
|
|
4
|
+
import { useReorderButtons, LazyTestimonials } from '../chunk-MMKLT4YU.js';
|
|
5
|
+
import '../chunk-5CKTQAFX.js';
|
|
6
|
+
import { product, parseNextPageToken } from '../chunk-SC2X42RE.js';
|
|
7
7
|
import { Drawer } from '../chunk-6TKIUG5C.js';
|
|
8
|
-
import { ProductCard } from '../chunk-
|
|
8
|
+
import { ProductCard } from '../chunk-WJ7IGOIK.js';
|
|
9
9
|
import { registry, COMPONENT_KEYS } from '../chunk-Y32RHCOH.js';
|
|
10
|
-
import { useStore } from '../chunk-
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
10
|
+
import { useStore } from '../chunk-ZAPRXUPS.js';
|
|
11
|
+
import '../chunk-WJZXENPN.js';
|
|
12
|
+
import '../chunk-E7MENFQB.js';
|
|
13
13
|
import '../chunk-TDOVEDHH.js';
|
|
14
14
|
import '../chunk-JYV25VNZ.js';
|
|
15
|
-
import '../chunk-
|
|
15
|
+
import '../chunk-FYJPK6XU.js';
|
|
16
16
|
import '../chunk-OXMUPNMH.js';
|
|
17
|
-
import '../chunk-
|
|
17
|
+
import '../chunk-UMTMIMH7.js';
|
|
18
18
|
import '../chunk-VVZNW5CB.js';
|
|
19
19
|
import '../chunk-5FJFN3IW.js';
|
|
20
20
|
import '../chunk-GD26FI4J.js';
|
|
21
21
|
import { buildHreflangAlternates, storePageUrl } from '../chunk-OM2GRPDH.js';
|
|
22
|
-
import { unauthorized, notFound, orThrow, useNavigate, useLocation } from '../chunk-
|
|
22
|
+
import { unauthorized, notFound, orThrow, useNavigate, useLocation } from '../chunk-L5BP6ARL.js';
|
|
23
23
|
import { RouteId } from '../chunk-OUW6WESU.js';
|
|
24
|
-
import '../chunk-
|
|
24
|
+
import '../chunk-BK5TBUGG.js';
|
|
25
25
|
import '../chunk-HI5V5X3S.js';
|
|
26
|
-
import '../chunk-
|
|
27
|
-
import '../chunk-
|
|
26
|
+
import '../chunk-VT6FE3CB.js';
|
|
27
|
+
import '../chunk-RVPC4AYT.js';
|
|
28
28
|
import '../chunk-MVT5AF2A.js';
|
|
29
29
|
import '../chunk-Z653O7MX.js';
|
|
30
30
|
import '../chunk-ZCH7W7DZ.js';
|
|
31
|
-
import '../chunk-
|
|
31
|
+
import '../chunk-L4TQBWR7.js';
|
|
32
32
|
import '../chunk-JWXJPJBO.js';
|
|
33
33
|
import '../chunk-CW625T2E.js';
|
|
34
34
|
import '../chunk-7V36I5GT.js';
|
|
35
35
|
import '../chunk-6WI7R2BD.js';
|
|
36
|
-
import '../chunk-
|
|
36
|
+
import '../chunk-JGVEGQHJ.js';
|
|
37
37
|
import '../chunk-OAMIDZKW.js';
|
|
38
|
-
import '../chunk-
|
|
38
|
+
import '../chunk-EFT442TN.js';
|
|
39
39
|
import '../chunk-OQIIJRAS.js';
|
|
40
40
|
import '../chunk-V2ZDTY6H.js';
|
|
41
|
-
import '../chunk-
|
|
41
|
+
import '../chunk-VI2WHQDR.js';
|
|
42
42
|
import { HookSlot } from '../chunk-5XDPAKF5.js';
|
|
43
43
|
import '../chunk-GCPEMNSU.js';
|
|
44
|
-
import { getAuthToken } from '../chunk-
|
|
44
|
+
import { getAuthToken } from '../chunk-PFAPRJVF.js';
|
|
45
45
|
import { useTranslation } from '../chunk-TYNZ5B2B.js';
|
|
46
|
-
import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-
|
|
46
|
+
import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-O4UUZ254.js';
|
|
47
47
|
import '../chunk-AXW67SY7.js';
|
|
48
48
|
import '../chunk-BYMOPN2S.js';
|
|
49
49
|
import '../chunk-SKLEJJ6M.js';
|
|
@@ -51,9 +51,9 @@ import '../chunk-6BZ5TKEV.js';
|
|
|
51
51
|
import '../chunk-FZKRSGLP.js';
|
|
52
52
|
import '../chunk-7V5HOZW4.js';
|
|
53
53
|
import '../chunk-YA6ABQB7.js';
|
|
54
|
-
import '../chunk-
|
|
55
|
-
import '../chunk-
|
|
56
|
-
import { onSallaEvent } from '../chunk-
|
|
54
|
+
import '../chunk-V2M5YNZQ.js';
|
|
55
|
+
import '../chunk-2TLIULJZ.js';
|
|
56
|
+
import { onSallaEvent } from '../chunk-GYXUYHKO.js';
|
|
57
57
|
import '../chunk-FHU2MXZA.js';
|
|
58
58
|
import { getTwilightContext } from '../chunk-7VNVCHID.js';
|
|
59
59
|
import '../chunk-T72DAX7R.js';
|
package/dist/routes/product.js
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { ProductsSlider, LazyTestimonials } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import { product } from '../chunk-
|
|
4
|
-
import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-
|
|
1
|
+
import { ProductsSlider, LazyTestimonials } from '../chunk-MMKLT4YU.js';
|
|
2
|
+
import '../chunk-5CKTQAFX.js';
|
|
3
|
+
import { product } from '../chunk-SC2X42RE.js';
|
|
4
|
+
import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-WJ7IGOIK.js';
|
|
5
5
|
import '../chunk-Y32RHCOH.js';
|
|
6
|
-
import { fastCheckoutScript } from '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
6
|
+
import { fastCheckoutScript } from '../chunk-ZAPRXUPS.js';
|
|
7
|
+
import '../chunk-WJZXENPN.js';
|
|
8
|
+
import '../chunk-E7MENFQB.js';
|
|
9
9
|
import '../chunk-TDOVEDHH.js';
|
|
10
10
|
import '../chunk-JYV25VNZ.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-FYJPK6XU.js';
|
|
12
12
|
import '../chunk-OXMUPNMH.js';
|
|
13
|
-
import '../chunk-
|
|
13
|
+
import '../chunk-UMTMIMH7.js';
|
|
14
14
|
import '../chunk-VVZNW5CB.js';
|
|
15
15
|
import '../chunk-5FJFN3IW.js';
|
|
16
16
|
import '../chunk-GD26FI4J.js';
|
|
17
17
|
import { buildHreflangAlternates } from '../chunk-OM2GRPDH.js';
|
|
18
|
-
import '../chunk-
|
|
18
|
+
import '../chunk-L5BP6ARL.js';
|
|
19
19
|
import { RouteId } from '../chunk-OUW6WESU.js';
|
|
20
|
-
import { useComments } from '../chunk-
|
|
20
|
+
import { useComments } from '../chunk-BK5TBUGG.js';
|
|
21
21
|
import '../chunk-HI5V5X3S.js';
|
|
22
|
-
import '../chunk-
|
|
23
|
-
import '../chunk-
|
|
22
|
+
import '../chunk-VT6FE3CB.js';
|
|
23
|
+
import '../chunk-RVPC4AYT.js';
|
|
24
24
|
import '../chunk-MVT5AF2A.js';
|
|
25
25
|
import '../chunk-Z653O7MX.js';
|
|
26
26
|
import '../chunk-ZCH7W7DZ.js';
|
|
27
|
-
import { useProduct } from '../chunk-
|
|
27
|
+
import { useProduct } from '../chunk-L4TQBWR7.js';
|
|
28
28
|
import '../chunk-JWXJPJBO.js';
|
|
29
29
|
import '../chunk-CW625T2E.js';
|
|
30
30
|
import '../chunk-7V36I5GT.js';
|
|
31
31
|
import '../chunk-6WI7R2BD.js';
|
|
32
|
-
import '../chunk-
|
|
32
|
+
import '../chunk-JGVEGQHJ.js';
|
|
33
33
|
import '../chunk-OAMIDZKW.js';
|
|
34
|
-
import '../chunk-
|
|
34
|
+
import '../chunk-EFT442TN.js';
|
|
35
35
|
import '../chunk-OQIIJRAS.js';
|
|
36
36
|
import '../chunk-V2ZDTY6H.js';
|
|
37
|
-
import '../chunk-
|
|
37
|
+
import '../chunk-VI2WHQDR.js';
|
|
38
38
|
import { HookSlot } from '../chunk-5XDPAKF5.js';
|
|
39
39
|
import '../chunk-GCPEMNSU.js';
|
|
40
|
-
import { getActiveCurrency } from '../chunk-
|
|
40
|
+
import { getActiveCurrency } from '../chunk-PFAPRJVF.js';
|
|
41
41
|
import { useTranslation } from '../chunk-TYNZ5B2B.js';
|
|
42
|
-
import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-
|
|
42
|
+
import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-O4UUZ254.js';
|
|
43
43
|
import '../chunk-AXW67SY7.js';
|
|
44
44
|
import '../chunk-BYMOPN2S.js';
|
|
45
45
|
import '../chunk-SKLEJJ6M.js';
|
|
@@ -47,9 +47,9 @@ import '../chunk-6BZ5TKEV.js';
|
|
|
47
47
|
import '../chunk-FZKRSGLP.js';
|
|
48
48
|
import '../chunk-7V5HOZW4.js';
|
|
49
49
|
import '../chunk-YA6ABQB7.js';
|
|
50
|
-
import '../chunk-
|
|
51
|
-
import '../chunk-
|
|
52
|
-
import '../chunk-
|
|
50
|
+
import '../chunk-V2M5YNZQ.js';
|
|
51
|
+
import '../chunk-2TLIULJZ.js';
|
|
52
|
+
import '../chunk-GYXUYHKO.js';
|
|
53
53
|
import '../chunk-FHU2MXZA.js';
|
|
54
54
|
import { getTwilightContext } from '../chunk-7VNVCHID.js';
|
|
55
55
|
import '../chunk-T72DAX7R.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { LogoutRedirect, accountRedirectLoader, pendingOrdersRedirectLoader, productsSourceRedirectLoader, ratingRedirectLoader, slugBrandRedirectLoader } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { LogoutRedirect, accountRedirectLoader, pendingOrdersRedirectLoader, productsSourceRedirectLoader, ratingRedirectLoader, slugBrandRedirectLoader } from '../chunk-P5NIICFT.js';
|
|
2
|
+
import '../chunk-L5BP6ARL.js';
|
|
3
3
|
import '../chunk-OUW6WESU.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-PFAPRJVF.js';
|
|
5
|
+
import '../chunk-2TLIULJZ.js';
|
|
6
|
+
import '../chunk-GYXUYHKO.js';
|
|
7
7
|
import '../chunk-FHU2MXZA.js';
|
|
8
8
|
import '../chunk-7VNVCHID.js';
|
|
9
9
|
import '../chunk-T72DAX7R.js';
|
|
@@ -33,10 +33,10 @@ async function reviewsLoader() {
|
|
|
33
33
|
|
|
34
34
|
// src/routes/testimonials/index.tsx
|
|
35
35
|
var LazyTestimonialsPage = lazy(
|
|
36
|
-
() => import('../TestimonialsPage-
|
|
36
|
+
() => import('../TestimonialsPage-NBQQPUZB.js').then((m) => ({ default: m.TestimonialsPage }))
|
|
37
37
|
);
|
|
38
38
|
var LazyReviewsPage = lazy(
|
|
39
|
-
() => import('../ReviewsPage-
|
|
39
|
+
() => import('../ReviewsPage-MJXZKKLC.js').then((m) => ({ default: m.ReviewsPage }))
|
|
40
40
|
);
|
|
41
41
|
var TestimonialsPage = LazyTestimonialsPage;
|
|
42
42
|
var ReviewsPage = LazyReviewsPage;
|
package/dist/routes/thank-you.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { order } from '../chunk-
|
|
1
|
+
import { order } from '../chunk-MTDXG2GS.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-OM2GRPDH.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-L5BP6ARL.js';
|
|
4
4
|
import { RouteId } from '../chunk-OUW6WESU.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-PFAPRJVF.js';
|
|
6
|
+
import '../chunk-2TLIULJZ.js';
|
|
7
|
+
import '../chunk-GYXUYHKO.js';
|
|
8
8
|
import '../chunk-FHU2MXZA.js';
|
|
9
9
|
import { getTwilightContext } from '../chunk-7VNVCHID.js';
|
|
10
10
|
import '../chunk-T72DAX7R.js';
|
|
@@ -40,7 +40,7 @@ async function thankYouLoader({
|
|
|
40
40
|
|
|
41
41
|
// src/routes/thank-you/index.tsx
|
|
42
42
|
var LazyThankYouPage = lazy(
|
|
43
|
-
() => import('../ThankYouPage-
|
|
43
|
+
() => import('../ThankYouPage-4FEFUSEE.js').then((m) => ({ default: m.ThankYouPage }))
|
|
44
44
|
);
|
|
45
45
|
var ThankYouPage = LazyThankYouPage;
|
|
46
46
|
async function loader(ctx, extend) {
|
package/dist/skeleton.js
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
export { BlogSkeleton, BreadcrumbSkeleton, CartSkeleton, CustomerLayoutSkeleton, CustomerPageSkeleton, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, SkeletonPulse } from './chunk-N7CCSGZF.js';
|
|
2
|
-
export { HomeSkeleton } from './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
2
|
+
export { HomeSkeleton } from './chunk-DVOPY7MI.js';
|
|
3
|
+
import './chunk-MMKLT4YU.js';
|
|
4
|
+
import './chunk-5CKTQAFX.js';
|
|
5
|
+
import './chunk-SC2X42RE.js';
|
|
6
|
+
import './chunk-WJ7IGOIK.js';
|
|
7
7
|
import './chunk-Y32RHCOH.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
8
|
+
import './chunk-ZAPRXUPS.js';
|
|
9
|
+
import './chunk-WJZXENPN.js';
|
|
10
|
+
import './chunk-E7MENFQB.js';
|
|
11
11
|
import './chunk-TDOVEDHH.js';
|
|
12
12
|
import './chunk-JYV25VNZ.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-FYJPK6XU.js';
|
|
14
14
|
import './chunk-OXMUPNMH.js';
|
|
15
|
-
import './chunk-
|
|
15
|
+
import './chunk-UMTMIMH7.js';
|
|
16
16
|
import './chunk-VVZNW5CB.js';
|
|
17
17
|
import './chunk-5FJFN3IW.js';
|
|
18
18
|
import './chunk-GD26FI4J.js';
|
|
19
19
|
import './chunk-OM2GRPDH.js';
|
|
20
|
-
import './chunk-
|
|
20
|
+
import './chunk-L5BP6ARL.js';
|
|
21
21
|
import './chunk-OUW6WESU.js';
|
|
22
|
-
import './chunk-
|
|
22
|
+
import './chunk-BK5TBUGG.js';
|
|
23
23
|
import './chunk-HI5V5X3S.js';
|
|
24
|
-
import './chunk-
|
|
25
|
-
import './chunk-
|
|
24
|
+
import './chunk-VT6FE3CB.js';
|
|
25
|
+
import './chunk-RVPC4AYT.js';
|
|
26
26
|
import './chunk-MVT5AF2A.js';
|
|
27
27
|
import './chunk-Z653O7MX.js';
|
|
28
28
|
import './chunk-ZCH7W7DZ.js';
|
|
29
|
-
import './chunk-
|
|
29
|
+
import './chunk-L4TQBWR7.js';
|
|
30
30
|
import './chunk-JWXJPJBO.js';
|
|
31
31
|
import './chunk-CW625T2E.js';
|
|
32
32
|
import './chunk-7V36I5GT.js';
|
|
33
33
|
import './chunk-6WI7R2BD.js';
|
|
34
|
-
import './chunk-
|
|
34
|
+
import './chunk-JGVEGQHJ.js';
|
|
35
35
|
import './chunk-OAMIDZKW.js';
|
|
36
|
-
import './chunk-
|
|
36
|
+
import './chunk-EFT442TN.js';
|
|
37
37
|
import './chunk-OQIIJRAS.js';
|
|
38
38
|
import './chunk-V2ZDTY6H.js';
|
|
39
|
-
import './chunk-
|
|
39
|
+
import './chunk-VI2WHQDR.js';
|
|
40
40
|
import './chunk-5XDPAKF5.js';
|
|
41
41
|
import './chunk-GCPEMNSU.js';
|
|
42
|
-
import './chunk-
|
|
42
|
+
import './chunk-PFAPRJVF.js';
|
|
43
43
|
import './chunk-TYNZ5B2B.js';
|
|
44
|
-
import './chunk-
|
|
44
|
+
import './chunk-O4UUZ254.js';
|
|
45
45
|
import './chunk-AXW67SY7.js';
|
|
46
46
|
import './chunk-BYMOPN2S.js';
|
|
47
47
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -49,9 +49,9 @@ import './chunk-6BZ5TKEV.js';
|
|
|
49
49
|
import './chunk-FZKRSGLP.js';
|
|
50
50
|
import './chunk-7V5HOZW4.js';
|
|
51
51
|
import './chunk-YA6ABQB7.js';
|
|
52
|
-
import './chunk-
|
|
53
|
-
import './chunk-
|
|
54
|
-
import './chunk-
|
|
52
|
+
import './chunk-V2M5YNZQ.js';
|
|
53
|
+
import './chunk-2TLIULJZ.js';
|
|
54
|
+
import './chunk-GYXUYHKO.js';
|
|
55
55
|
import './chunk-FHU2MXZA.js';
|
|
56
56
|
import './chunk-7VNVCHID.js';
|
|
57
57
|
import './chunk-T72DAX7R.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { category } from './chunk-
|
|
2
|
-
import { blog } from './chunk-
|
|
3
|
-
import { brand } from './chunk-
|
|
4
|
-
import { product } from './chunk-
|
|
1
|
+
import { category } from './chunk-EJB6NN3F.js';
|
|
2
|
+
import { blog } from './chunk-S7P72JBV.js';
|
|
3
|
+
import { brand } from './chunk-JM6SMCEK.js';
|
|
4
|
+
import { product } from './chunk-SC2X42RE.js';
|
|
5
5
|
import { DEV_LOOKUP_BUDGET_MS } from './chunk-OXMUPNMH.js';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-L5BP6ARL.js';
|
|
7
7
|
import './chunk-OUW6WESU.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
8
|
+
import './chunk-PFAPRJVF.js';
|
|
9
|
+
import './chunk-2TLIULJZ.js';
|
|
10
|
+
import './chunk-GYXUYHKO.js';
|
|
11
11
|
import './chunk-FHU2MXZA.js';
|
|
12
12
|
import './chunk-7VNVCHID.js';
|
|
13
13
|
import './chunk-T72DAX7R.js';
|
|
@@ -110,5 +110,5 @@ function lookupInStore(source, query) {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
export { lookupInStore };
|
|
113
|
-
//# sourceMappingURL=store-lookup-
|
|
114
|
-
//# sourceMappingURL=store-lookup-
|
|
113
|
+
//# sourceMappingURL=store-lookup-TGNDK2KQ.js.map
|
|
114
|
+
//# sourceMappingURL=store-lookup-TGNDK2KQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dev/store-lookup.ts"],"names":["categories"],"mappings":"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","file":"store-lookup-
|
|
1
|
+
{"version":3,"sources":["../src/dev/store-lookup.ts"],"names":["categories"],"mappings":"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","file":"store-lookup-TGNDK2KQ.js","sourcesContent":["/**\n * Runs in the editor's frame (the storefront), which has the engine's API\n * client set up for the dev store: answers the editor's pickers with the real\n * store's products, categories, brands and blog. Loaded with `import()` on the\n * first lookup, so a storefront never carries it.\n *\n * Each item's `data` is what a block receives for it, in the API's shape: a\n * product block reads only the ids and fetches the rest, while categories and\n * brands are drawn from what is saved.\n */\n\nimport { product } from '../api/product';\nimport { category } from '../api/category';\nimport { brand } from '../api/brands';\nimport { blog } from '../api/blog';\nimport type { Category } from '../types';\nimport { DEV_LOOKUP_BUDGET_MS, type DevLookupItem, type DevLookupSource } from './schema-types';\n\n/** Enough to choose from; a search narrows it further. */\nconst PER_PAGE = 20;\n/** How far a paged list is searched before giving up, so a big store can't stall the picker. */\nconst MAX_PAGES = 10;\n\ninterface Page<T> {\n items: T[];\n next: string | null;\n}\n\n/**\n * The matching items of a paged list, read page after page until there are\n * enough, the pages run out, or the time budget is spent: a brand or article on\n * page three is still found, and what was found so far always reaches the\n * editor before it stops waiting (`DEV_LOOKUP_BUDGET_MS` < its timeout).\n */\nasync function collect<T>(\n fetchPage: (page: number, cursor: string | null) => Promise<Page<T>>,\n keep: (item: T) => boolean\n): Promise<T[]> {\n const deadline = Date.now() + DEV_LOOKUP_BUDGET_MS;\n const found: T[] = [];\n let cursor: string | null = null;\n for (let page = 1; page <= MAX_PAGES; page += 1) {\n const { items, next } = await fetchPage(page, cursor);\n found.push(...items.filter(keep));\n if (found.length >= PER_PAGE || !next || Date.now() >= deadline) break;\n cursor = next;\n }\n return found.slice(0, PER_PAGE);\n}\n\nfunction matches(name: string, query: string): boolean {\n return !query || name.toLowerCase().includes(query.toLowerCase());\n}\n\n/** Categories with their subcategories, flattened, parents first. */\nfunction flatten(categories: Category[]): Category[] {\n return categories.flatMap((c) => [c, ...flatten(c.sub_categories ?? [])]);\n}\n\nasync function products(query: string): Promise<DevLookupItem[]> {\n const { items } = await product.list({\n source: query ? 'search' : 'latest',\n ...(query ? { keyword: query } : {}),\n perPage: PER_PAGE,\n });\n // List responses send the id as a numeric string; the block reads a number. Use it for both.\n return items.map((p) => ({\n id: Number(p.id),\n name: p.name,\n image: p.image?.url,\n url: p.url,\n data: { id: Number(p.id), name: p.name, url: p.url, image: p.image?.url ?? null },\n }));\n}\n\nasync function categories(query: string): Promise<DevLookupItem[]> {\n return flatten(await category.list())\n .filter((c) => matches(c.name, query))\n .slice(0, PER_PAGE)\n .map((c) => ({\n id: c.id,\n name: c.name,\n image: c.image ?? undefined,\n url: c.url,\n data: { id: c.id, name: c.name, url: c.url, image: c.image ?? null, icon: c.icon ?? null },\n }));\n}\n\nasync function brands(query: string): Promise<DevLookupItem[]> {\n const found = await collect(\n (page) => brand.list(page),\n (b) => matches(b.name, query)\n );\n return found.map((b) => ({\n id: b.id,\n name: b.name,\n image: b.logo,\n url: b.url,\n data: { id: b.id, name: b.name, url: b.url, logo: b.logo, banner: b.banner ?? null },\n }));\n}\n\nasync function blogArticles(query: string): Promise<DevLookupItem[]> {\n const found = await collect(\n async (_page, cursor) => {\n const { data, cursor: pages } = await blog.articles.list(cursor ? { cursor } : undefined);\n return { items: data, next: pages?.next ?? null };\n },\n (a) => matches(a.name, query)\n );\n return found.map((a) => ({\n id: a.id,\n name: a.name,\n image: a.image,\n url: a.url,\n data: { id: a.id, name: a.name, url: a.url },\n }));\n}\n\nasync function blogCategories(query: string): Promise<DevLookupItem[]> {\n const { categories: list } = await blog.get();\n return list\n .filter((c) => matches(c.name, query))\n .slice(0, PER_PAGE)\n .map((c) => ({\n id: c.id,\n name: c.name,\n url: c.url,\n data: { id: c.id, name: c.name, url: c.url },\n }));\n}\n\nconst LOOKUPS: Record<DevLookupSource, (query: string) => Promise<DevLookupItem[]>> = {\n products,\n categories,\n brands,\n blog_articles: blogArticles,\n blog_categories: blogCategories,\n};\n\nexport function lookupInStore(source: DevLookupSource, query: string): Promise<DevLookupItem[]> {\n const lookup = LOOKUPS[source];\n if (!lookup) return Promise.reject(new Error(`no lookup for ${source}`));\n return lookup(query.trim());\n}\n"]}
|
package/dist/tanstack.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-
|
|
2
|
-
import { requestHostOf } from './chunk-
|
|
3
|
-
export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-
|
|
1
|
+
export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-NKSXBOIB.js';
|
|
2
|
+
import { requestHostOf } from './chunk-IRGT53OJ.js';
|
|
3
|
+
export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-IRGT53OJ.js';
|
|
4
4
|
import './chunk-Z4Y55HWX.js';
|
|
5
5
|
export { tanstackHeadAdapter as head, withHead } from './chunk-EHTLXK5F.js';
|
|
6
6
|
import { CRITICAL_STYLE_HREF } from './chunk-4FJGZQD3.js';
|
|
7
|
-
import './chunk-
|
|
8
|
-
import { readNativeAppHeaders } from './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
7
|
+
import './chunk-EFCIK5NI.js';
|
|
8
|
+
import { readNativeAppHeaders } from './chunk-LPCNDH4F.js';
|
|
9
|
+
import './chunk-E552K72T.js';
|
|
10
|
+
import './chunk-SC2X42RE.js';
|
|
11
11
|
import { rootHead } from './chunk-TDOVEDHH.js';
|
|
12
12
|
import './chunk-JYV25VNZ.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-UMTMIMH7.js';
|
|
14
14
|
import './chunk-5FJFN3IW.js';
|
|
15
15
|
import './chunk-GD26FI4J.js';
|
|
16
16
|
import './chunk-OM2GRPDH.js';
|
|
17
|
-
import './chunk-
|
|
17
|
+
import './chunk-L5BP6ARL.js';
|
|
18
18
|
import './chunk-OUW6WESU.js';
|
|
19
19
|
import './chunk-JWXJPJBO.js';
|
|
20
20
|
export { mergeDocumentDescriptors as mergeAttrs } from './chunk-CW625T2E.js';
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-
|
|
21
|
+
import './chunk-VI2WHQDR.js';
|
|
22
|
+
import './chunk-PFAPRJVF.js';
|
|
23
23
|
import './chunk-TYNZ5B2B.js';
|
|
24
24
|
import './chunk-BYMOPN2S.js';
|
|
25
|
-
import './chunk-
|
|
26
|
-
import './chunk-
|
|
25
|
+
import './chunk-2TLIULJZ.js';
|
|
26
|
+
import './chunk-GYXUYHKO.js';
|
|
27
27
|
import { AUTH_TOKEN_COOKIE_NAME, extractTokenFromCookies, resolveRequestScope, resolveAddressedStore, STORE_BASE_HEADER, resolveRequestVersionId, legacyLocaleRedirectHref } from './chunk-FHU2MXZA.js';
|
|
28
28
|
import { runWithTwilightContext, getTwilightContext } from './chunk-7VNVCHID.js';
|
|
29
29
|
export { getTwilightContext, runWithTwilightContext, updateTwilightContext } from './chunk-7VNVCHID.js';
|
package/dist/utils/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { stripUnsafeHtml } from '../chunk-RUHSV4Z6.js';
|
|
2
2
|
export { formatSallaPlural } from '../chunk-BT6HEEAP.js';
|
|
3
|
-
export { dispatchRouteChanged } from '../chunk-
|
|
3
|
+
export { dispatchRouteChanged } from '../chunk-EFCIK5NI.js';
|
|
4
4
|
export { sortOptions } from '../chunk-3LZJXKVO.js';
|
|
5
5
|
export { color } from '../chunk-VVZNW5CB.js';
|
|
6
6
|
export { applyAppScopeMocks, registerThemeHookSlots } from '../chunk-5FJFN3IW.js';
|
|
@@ -8,8 +8,8 @@ export { mergeHead, resolveHead, setHeadAdapter } from '../chunk-GD26FI4J.js';
|
|
|
8
8
|
export { buildBaseHead, buildHreflangAlternates, localeToOgLocale } from '../chunk-OM2GRPDH.js';
|
|
9
9
|
export { asset, cdn, isPlaceholder } from '../chunk-ZCH7W7DZ.js';
|
|
10
10
|
export { mergeDocumentDescriptors, mergeElementAttrs, normalizeClasses, syncAttrsToElement, toReactProps } from '../chunk-CW625T2E.js';
|
|
11
|
-
import '../chunk-
|
|
12
|
-
export { getSallaSDK, getStoreIdentifier, onSallaEvent, whenSallaLoaded, whenSallaReady } from '../chunk-
|
|
11
|
+
import '../chunk-PFAPRJVF.js';
|
|
12
|
+
export { getSallaSDK, getStoreIdentifier, onSallaEvent, whenSallaLoaded, whenSallaReady } from '../chunk-GYXUYHKO.js';
|
|
13
13
|
export { AUTH_TOKEN_COOKIE_NAME, clearAuthTokenCookie, extractTokenFromCookies } from '../chunk-FHU2MXZA.js';
|
|
14
14
|
import '../chunk-7VNVCHID.js';
|
|
15
15
|
import '../chunk-T72DAX7R.js';
|
|
@@ -73,7 +73,18 @@ export declare function onSallaEvent(name: string, listener: (...args: unknown[]
|
|
|
73
73
|
*/
|
|
74
74
|
export declare function syncSdkLocale(locale: string): void;
|
|
75
75
|
/**
|
|
76
|
-
*
|
|
76
|
+
* Settings as the SDK's `init` should copy them: with `headers` naming the
|
|
77
|
+
* version {@link sdkThemeVersionId} picks.
|
|
78
|
+
*
|
|
79
|
+
* `init` spreads `headers` over its axios defaults, and on a first load nothing
|
|
80
|
+
* re-asserts the version afterwards: TanStack restores the root match's context
|
|
81
|
+
* instead of re-running `rootBeforeLoad` in the browser, so
|
|
82
|
+
* {@link syncSdkThemeVersion} first runs on a client navigation.
|
|
83
|
+
*/
|
|
84
|
+
export declare function withSdkThemeVersion<T extends Pick<StoreContext, 'headers'>>(settings: T): T;
|
|
85
|
+
/**
|
|
86
|
+
* Push the theme version onto the Salla SDK: the requested one, else the one the
|
|
87
|
+
* current settings name (see {@link sdkThemeVersionId}).
|
|
77
88
|
*
|
|
78
89
|
* The SDK copies `settings.headers` into its axios defaults ONCE, at init, and
|
|
79
90
|
* `s-version-id` is one of them. Settings refetched on the client — the shopper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/sdk-helpers.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/sdk-helpers.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMnD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,MAAM,CAAC,KAAK,GAAG,SAAS,CAG7D;AA4BD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,IAAI,CAE7E;AA6BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,IAAI,CAW5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAU7F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAYlD;AAkBD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAI3F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAU1E"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/sdk-helpers.ts"],"names":[],"mappings":";;;AAKA,IAAM,SAAA,GAAY,OAAO,MAAA,KAAW,WAAA;AAc7B,SAAS,mBAAmB,QAAA,EAA2B;AAC5D,EAAA,OAAO,uBAAuB,QAAQ,CAAA;AACxC;AAKO,SAAS,WAAA,GAA+C;AAC7D,EAAA,IAAI,CAAC,WAAW,OAAO,MAAA;AACvB,EAAA,OAAO,MAAA,CAAO,KAAA;AAChB;AAGA,IAAM,iBAAA,GAAoB,gBAAA;AAE1B,IAAM,OAAO,MAAM;AAAC,CAAA;AAcpB,SAAS,SAAS,GAAA,EAA2C;AAC3D,EAAA,OAAO,OAAO,GAAA,EAAK,IAAA,KAAS,cAAc,OAAO,GAAA,EAAK,OAAO,EAAA,KAAO,UAAA;AACtE;AAGA,SAAS,YAAY,GAAA,EAA2C;AAC9D,EAAA,OAAO,OAAO,GAAA,EAAK,KAAA,EAAO,EAAA,KAAO,UAAA;AACnC;AAWO,SAAS,gBAAgB,QAAA,EAA+C;AAC7E,EAAA,OAAO,SAAA,CAAU,UAAU,QAAQ,CAAA;AACrC;AAEA,SAAS,SAAA,CACP,UACA,QAAA,EACY;AACZ,EAAA,IAAI,CAAC,WAAW,OAAO,IAAA;AAEvB,EAAA,IAAI,QAAA,CAAS,MAAA,CAAO,KAAK,CAAA,EAAG;AAC1B,IAAA,QAAA,CAAS,OAAO,KAAK,CAAA;AACrB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,OAAA,GAAU,KAAA;AACd,EAAA,MAAM,YAAY,MAAM;AACtB,IAAA,MAAM,MAAM,MAAA,CAAO,KAAA;AACnB,IAAA,IAAI,OAAA,IAAW,CAAC,QAAA,CAAS,GAAG,CAAA,EAAG;AAC/B,IAAA,OAAA,GAAU,IAAA;AACV,IAAA,MAAA,CAAO,mBAAA,CAAoB,mBAAmB,SAAS,CAAA;AACvD,IAAA,QAAA,CAAS,GAAG,CAAA;AAAA,EACd,CAAA;AACA,EAAA,MAAA,CAAO,gBAAA,CAAiB,mBAAmB,SAAS,CAAA;AAEpD,EAAA,OAAO,MAAM;AACX,IAAA,OAAA,GAAU,IAAA;AACV,IAAA,MAAA,CAAO,mBAAA,CAAoB,mBAAmB,SAAS,CAAA;AAAA,EACzD,CAAA;AACF;AAeO,SAAS,eAAe,QAAA,EAA+C;AAC5E,EAAA,IAAI,SAAA,GAAY,KAAA;AAChB,EAAA,MAAM,MAAA,GAAS,eAAA,CAAgB,CAAC,GAAA,KAAQ;AACtC,IAAA,KAAK,IAAI,OAAA,CAAQ,CAAC,OAAA,KAAY,QAAQ,GAAA,CAAI,OAAA,IAAW,CAAC,CAAA,CAAE,KAAA,CAAM,IAAI,CAAA,CAAE,KAAK,MAAM;AAC7E,MAAA,IAAI,CAAC,SAAA,EAAW,QAAA,CAAS,GAAG,CAAA;AAAA,IAC9B,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AACD,EAAA,OAAO,MAAM;AACX,IAAA,SAAA,GAAY,IAAA;AACZ,IAAA,MAAA,EAAO;AAAA,EACT,CAAA;AACF;AAYO,SAAS,YAAA,CAAa,MAAc,QAAA,EAAoD;AAC7F,EAAA,IAAI,GAAA;AACJ,EAAA,MAAM,MAAA,GAAS,SAAA,CAAU,WAAA,EAAa,CAAC,GAAA,KAAQ;AAC7C,IAAA,GAAA,GAAM,GAAA,CAAI,KAAA;AACV,IAAA,GAAA,CAAI,EAAA,CAAG,MAAM,QAAQ,CAAA;AAAA,EACvB,CAAC,CAAA;AACD,EAAA,OAAO,MAAM;AACX,IAAA,MAAA,EAAO;AACP,IAAA,GAAA,EAAK,GAAA,GAAM,MAAM,QAAQ,CAAA;AAAA,EAC3B,CAAA;AACF;AAoBO,SAAS,cAAc,MAAA,EAAsB;AAClD,EAAA,MAAM,MAAM,WAAA,EAAY;AACxB,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,MAAA,EAAQ;AACrB,EAAA,IAAI;AACF,IAAA,GAAA,CAAI,IAAA,EAAM,YAAY,MAAM,CAAA;AAC5B,IAAA,GAAA,CAAI,GAAA,EAAK,SAAA,GAAY,iBAAA,EAAmB,MAAM,CAAA;AAG9C,IAAA,GAAA,CAAI,MAAA,EAAQ,GAAA,GAAM,oBAAA,EAAsB,MAAM,CAAA;AAAA,EAChD,CAAA,CAAA,MAAQ;AAAA,EAER;AACF;AAaO,SAAS,oBAAoB,OAAA,EAAwC;AAC1E,EAAA,MAAM,MAAM,WAAA,EAAY;AACxB,EAAA,IAAI,CAAC,GAAA,EAAK;AACV,EAAA,MAAM,SAAA,GAAY,UAAU,cAAc,CAAA;AAC1C,EAAA,IAAI;AACF,IAAA,IAAI,SAAA,IAAa,MAAM,GAAA,CAAI,GAAA,EAAK,YAAY,cAAA,EAAgB,MAAA,CAAO,SAAS,CAAC,CAAA;AAAA,gBACjE,GAAA,CAAI,GAAA,EAAK,OAAO,QAAA,EAAU,OAAA,EAAS,SAAS,cAAc,CAAA;AAAA,EACxE,CAAA,CAAA,MAAQ;AAAA,EAER;AACF","file":"chunk-3GDJMMMS.js","sourcesContent":["export type { StoreContext } from '../api/store';\nimport type { StoreContext } from '../api/store';\nimport type { SallaSDK } from '../types/salla-sdk';\nimport { resolveStoreIdentifier } from './store-identity';\n\nconst isBrowser = typeof window !== 'undefined';\n\n/**\n * Which store to ask the API about — see {@link resolveStoreIdentifier}.\n *\n * A delegation, not a second implementation. This name is the one on the wire\n * (`api/client.ts` sets the `store-identifier` header from it) and the one\n * themes import from `@salla.sa/twilight-theme-engine/utils`, so it stays; what\n * it must never do again is answer differently from the resolver everything\n * else asks. It had its own copy of the order once, missing the store the\n * request names and preferring the build-time `VITE_STORE_DOMAIN` that a\n * deployed worker does not have — so every published theme sent an empty\n * identifier and rendered \"Store Unavailable\".\n */\nexport function getStoreIdentifier(explicit?: string): string {\n return resolveStoreIdentifier(explicit);\n}\n\n/**\n * Get Salla SDK instance if available\n */\nexport function getSallaSDK(): typeof window.salla | undefined {\n if (!isBrowser) return undefined;\n return window.salla;\n}\n\n/** Dispatched on `window` by the SDK as the last step of loading (twilight `src/index.js`). */\nconst SDK_CREATED_EVENT = 'salla::created';\n\nconst noop = () => {};\n\n/**\n * Whether `window.salla` is the SDK, rather than the stub that stands in for it.\n *\n * ⚠️ `window.salla` exists from the first bytes of the page. The `twilight-init`\n * head script defines it with an `onReady`, so app snippets can queue work, and\n * the SDK — a deferred module — fills it in later. React can hydrate and run\n * effects in between, and there `window.salla?.event.on(…)` passes its `?.` and\n * throws `Cannot read properties of undefined (reading 'on')`.\n *\n * The SDK defines `init` and `event` in one synchronous module evaluation and the\n * stub has neither, so either one means it has loaded.\n */\nfunction isLoaded(sdk: typeof window.salla): sdk is SallaSDK {\n return typeof sdk?.init === 'function' || typeof sdk?.event?.on === 'function';\n}\n\n/** An SDK whose event bus can take a listener — what {@link onSallaEvent} needs. */\nfunction hasEventBus(sdk: typeof window.salla): sdk is SallaSDK {\n return typeof sdk?.event?.on === 'function';\n}\n\n/**\n * Run `callback` with the SDK as soon as it has loaded: now if it has, otherwise\n * when it announces itself.\n *\n * Returns a cancel for an effect's cleanup, so a component that unmounts first\n * never has the callback run. An effect that returned early when the SDK was not\n * there yet never ran again — on a cold load, where hydration beats the SDK, the\n * engine never initialised it at all.\n */\nexport function whenSallaLoaded(callback: (sdk: SallaSDK) => void): () => void {\n return whenSalla(isLoaded, callback);\n}\n\nfunction whenSalla(\n isUsable: (sdk: typeof window.salla) => sdk is SallaSDK,\n callback: (sdk: SallaSDK) => void\n): () => void {\n if (!isBrowser) return noop;\n\n if (isUsable(window.salla)) {\n callback(window.salla);\n return noop;\n }\n\n let settled = false;\n const onCreated = () => {\n const sdk = window.salla;\n if (settled || !isUsable(sdk)) return;\n settled = true;\n window.removeEventListener(SDK_CREATED_EVENT, onCreated);\n callback(sdk);\n };\n window.addEventListener(SDK_CREATED_EVENT, onCreated);\n\n return () => {\n settled = true;\n window.removeEventListener(SDK_CREATED_EVENT, onCreated);\n };\n}\n\n/**\n * Run `callback` once the SDK has loaded **and been initialised** — for work that\n * talks to the API, which needs the store config `init` sets.\n *\n * Loaded is not enough for that: `init` finishes asynchronously, so a cart lookup\n * made the moment the SDK announces itself goes out without a store identifier\n * and is answered `Store Identifier not found`. Returns a cancel, as\n * {@link whenSallaLoaded} does.\n *\n * A rejected `onReady` still runs `callback`, as `useTwilightInit` carries on past\n * one: it means a partial initialisation, and waiting on it would leave the caller\n * waiting for good.\n */\nexport function whenSallaReady(callback: (sdk: SallaSDK) => void): () => void {\n let cancelled = false;\n const cancel = whenSallaLoaded((sdk) => {\n void new Promise((resolve) => resolve(sdk.onReady?.())).catch(noop).then(() => {\n if (!cancelled) callback(sdk);\n });\n });\n return () => {\n cancelled = true;\n cancel();\n };\n}\n\n/**\n * `salla.event.on(name, listener)` once the SDK has loaded. Returns the matching\n * unsubscribe, which also cancels a subscription still waiting for the SDK.\n *\n * Removed from the emitter it was added to, not from whatever `window.salla` is\n * by the time the component unmounts.\n *\n * Waits for an event bus specifically, not for \"loaded\": an SDK is recognised by\n * `init` alone, and subscribing on one without a bus would throw.\n */\nexport function onSallaEvent(name: string, listener: (...args: unknown[]) => void): () => void {\n let bus: SallaSDK['event'] | undefined;\n const cancel = whenSalla(hasEventBus, (sdk) => {\n bus = sdk.event;\n bus.on(name, listener);\n });\n return () => {\n cancel();\n bus?.off?.(name, listener);\n };\n}\n\n/**\n * Push the active route locale onto the Salla SDK.\n *\n * Why this is needed (and why it must run on every navigation):\n * - The SDK seeds its locale from `navigator.language` — the theme sets no `s-lang`\n * cookie or `window.locale` — so an English browser starts the SDK in `en` even on\n * an `/ar` store.\n * - The SDK fixes its axios `accept-language` header ONCE, at init. `salla.lang.setLocale`\n * only swaps UI translations (it never touches the header), and `salla.init()` is a\n * no-op after `Salla.status === 'ready'`, so the header never refreshes on its own.\n * - `profile::info.fetched` (login / profile refresh on navigation) overrides the header\n * to the *account's* language.\n *\n * Net result without this: `salla.api.*` calls (cart/product details) return data in the\n * wrong locale — e.g. English cart item names on `/ar/cart` — intermittently, depending on\n * load order and whether a profile fetch ran. Re-asserting the URL locale here keeps the\n * header correct. No-op on the server and until the SDK exposes the methods.\n */\nexport function syncSdkLocale(locale: string): void {\n const sdk = getSallaSDK();\n if (!sdk || !locale) return;\n try {\n sdk.lang?.setLocale?.(locale);\n sdk.api?.setHeader?.('accept-language', locale);\n // The localization modal swaps `/${user.language_code}/` in the URL on submit;\n // the SDK never sets this locally, so without it the switch reloads the same page.\n sdk.config?.set?.('user.language_code', locale);\n } catch {\n // SDK partially loaded — the header is re-asserted on the next navigation.\n }\n}\n\n/**\n * Push the theme version the current settings name onto the Salla SDK.\n *\n * The SDK copies `settings.headers` into its axios defaults ONCE, at init, and\n * `s-version-id` is one of them. Settings refetched on the client — the shopper\n * switched market, and each market has its own version — name a different one,\n * and without this every `salla.api.*` call keeps asking for the previous\n * market's version until a full page load. Settings that name no version take\n * the header off instead, so the SDK asks for the live one like the engine's own\n * client does. No-op on the server and until the SDK exposes its api.\n */\nexport function syncSdkThemeVersion(headers: StoreContext['headers']): void {\n const sdk = getSallaSDK();\n if (!sdk) return;\n const versionId = headers?.['s-version-id'];\n try {\n if (versionId != null) sdk.api?.setHeader?.('s-version-id', String(versionId));\n else delete sdk.api?.axios?.defaults?.headers?.common?.['s-version-id'];\n } catch {\n // SDK partially loaded — the header is re-asserted on the next navigation.\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/native-app-headers.ts","../src/api/store.ts"],"names":[],"mappings":"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","file":"chunk-6D3OWIEC.js","sourcesContent":["/** The headers the Salla native app sends with every page it loads in its webview. */\nexport const NATIVE_APP_HEADERS = [\n 's-app-os',\n 's-app-version',\n 's-app-full-version',\n 's-app-os-version',\n];\n\n/**\n * The native app's own headers on this request, or null when it is not the app.\n *\n * On a Twig theme Laravel copies them into the settings' `jitsu.context.extra.headers`,\n * where the SDK reads the app's platform and version from (`salla.config.isMobileApp()`).\n * A React theme asks for its settings from the server, through the API, so the app's\n * headers never reach that call: the request is the only place they are.\n */\nexport function readNativeAppHeaders(headers: Headers): Record<string, string> | null {\n const os = headers.get('s-app-os')?.toLowerCase();\n if (os !== 'ios' && os !== 'android') return null;\n const found: Record<string, string> = {};\n for (const name of NATIVE_APP_HEADERS) {\n const value = headers.get(name);\n if (value) found[name] = value;\n }\n return found;\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport { isHTTPError, isNetworkError, isTimeoutError } from 'ky';\nimport { api, getActiveScope, STORE_IDENTIFIER_HEADER } from './client';\nimport { SettingsError } from '../utils/errors';\nimport type { Store, Theme, Language, JitsuConfig, MaintenanceDetails } from '../types';\nimport { getTwilightContext } from '../twilight/context';\nimport { resolveStoreIdentifier } from '../utils/store-identity';\nimport { parseStoreId } from '../utils/cookies';\nimport { requestedThemeVersionId } from '../utils/theme-version';\nimport { NATIVE_APP_HEADERS } from '../utils/native-app-headers';\n\nexport { resolveStoreIdentifier };\n\nconst DEFAULT_INCLUDE_ITEMS = [\n 'store',\n 'settings',\n 'theme',\n 'theme_settings',\n 'external_services',\n 'currencies',\n 'languages',\n 'payments',\n 'product_widgets',\n 'rating',\n 'ratings',\n 'user',\n];\n\n/** Twig's `salla.init({ user })` object; the endpoint ignores the token, so always the guest. */\nexport interface SettingsUser {\n type: 'guest' | 'user';\n id?: number | string | null;\n language_code?: string;\n currency_code?: string;\n country_code?: string;\n [key: string]: unknown;\n}\n\n/**\n * Raw API response for settings endpoint.\n * Languages come as object: { \"AR\": { code, name, ... }, \"EN\": {...} }\n */\ninterface SettingsApiResponse {\n store?: Store;\n theme?: Theme;\n languages?: Record<string, Language>;\n currencies?: Record<\n string,\n { code: string; name: string; symbol: string; amount: number; country_code: string }\n >;\n external_services?: Record<string, unknown>;\n headers?: Record<string, unknown>;\n login?: { url: string; turnstile_site_key: string };\n affiliate?: { utm_url: string; cta_enabled: boolean };\n debug?: boolean;\n trace_console?: boolean;\n policy_url?: string;\n user?: SettingsUser;\n swoole?: string[];\n jitsu?: JitsuConfig;\n maintenance?: boolean;\n maintenance_details?: MaintenanceDetails;\n}\n\n/**\n * Central settings context - single source of truth for all API data.\n * Contains everything from the settings endpoint response after processing.\n */\nexport interface StoreContext {\n store?: Store;\n theme?: Theme;\n /** Languages as array after conversion from API object format */\n languages?: Language[];\n currencies?: Record<\n string,\n { code: string; name: string; symbol: string; amount: number; country_code: string }\n >;\n external_services?: Record<string, unknown>;\n headers?: Record<string, unknown>;\n login?: { url: string; turnstile_site_key: string };\n affiliate?: { utm_url: string; cta_enabled: boolean };\n debug?: boolean;\n trace_console?: boolean; // todo:: remove it\n policy_url?: string;\n user?: SettingsUser;\n /** API paths the SDK sends with `s-store-api-version: swoole` */\n swoole?: string[];\n /** Where the SDK's analytics send events, and which ones; without it the SDK tracks nothing. */\n jitsu?: JitsuConfig;\n /**\n * The store is closed: by the merchant from the dashboard, by the platform, or\n * for the selected market only. The engine then renders the maintenance page\n * to everyone but the merchant; see `rootBeforeLoad`.\n */\n maintenance?: boolean;\n /** What the maintenance page says; sent beside `maintenance`. */\n maintenance_details?: MaintenanceDetails;\n /**\n * The scope these settings were requested with; absent when none was. Not from\n * the API: stamped by `store.settings`, so `resolveThemeVersionId` can tell\n * whether the version they name still answers the scope that is active now.\n */\n requestedScopeId?: string;\n}\n\n/**\n * Converts languages object from API to array format.\n * API returns: { \"AR\": { code, name, ... }, \"EN\": { ... } }\n * We need: [{ code, name, ... }, { code, name, ... }]\n * todo:: return the languages as object from the APIs to avoid this\n */\nfunction languagesToArray(languages?: Record<string, Language>): Language[] | undefined {\n if (!languages) return undefined;\n // The SDK's localization modal reads `lang.iso_code` (not `code`) when a language is\n // selected — without it the switch navigates to `/undefined/...`.\n return Object.values(languages).map((lang) => ({ iso_code: lang.code, ...lang }));\n}\n\n/**\n * The settings' analytics context with the native app's headers in it, as Laravel\n * writes it for a Twig theme: the SDK reads the app's platform and version from there.\n * The API answers a server-side call with the engine's own headers, never the app's.\n */\nfunction withNativeAppHeaders(jitsu?: JitsuConfig): JitsuConfig | undefined {\n if (!jitsu || typeof window !== 'undefined') return jitsu;\n let appHeaders: Record<string, string> | null = null;\n try {\n appHeaders = getTwilightContext().nativeAppHeaders;\n } catch {\n return jitsu;\n }\n if (!appHeaders) return jitsu;\n const extra = jitsu.context?.extra;\n // The engine's own app headers go, so an app that sends no version doesn't get the engine's.\n const headers = { ...extra?.headers };\n for (const name of NATIVE_APP_HEADERS) delete headers[name];\n return {\n ...jitsu,\n context: {\n ...jitsu.context,\n extra: { ...extra, headers: { ...headers, ...appHeaders } },\n },\n };\n}\n\nconst SETTINGS_TIMEOUT_MS = 5000;\n\nasync function requestSettings(identifier: string): Promise<StoreContext> {\n const includeParams = DEFAULT_INCLUDE_ITEMS.map((i) => `include[]=${i}`).join('&');\n const scope = getActiveScope();\n const params = scope != null ? `${includeParams}&scope=${scope.id}` : includeParams;\n\n const json = await api\n // Sent explicitly rather than left to the client's own resolution, so\n // the identifier this function checked is the identifier that travels.\n // They agree today; a caller passing one and being answered about\n // another is the failure this makes impossible rather than unlikely.\n .get(`store/settings?${params}`, {\n timeout: SETTINGS_TIMEOUT_MS,\n headers: { [STORE_IDENTIFIER_HEADER]: identifier },\n })\n .json<{ data?: SettingsApiResponse }>();\n\n const data = json?.data;\n if (!data) {\n throw new SettingsError(\n `The Salla API answered the settings request for store \"${identifier}\" without settings.`,\n { reason: 'empty' }\n );\n }\n\n // Convert languages from object to array\n const languages = languagesToArray(data.languages);\n\n return {\n store: data.store,\n theme: data.theme,\n languages,\n currencies: data.currencies,\n external_services: data.external_services,\n headers: data.headers,\n login: data.login,\n affiliate: data.affiliate,\n policy_url: data.policy_url,\n user: data.user,\n swoole: data.swoole,\n jitsu: withNativeAppHeaders(data.jitsu),\n maintenance: data.maintenance,\n maintenance_details: data.maintenance_details,\n ...(scope && { requestedScopeId: scope.id }),\n };\n}\n\n/** The message the API put in an error body, `{ error: { message } }`, when it sent one. */\nfunction apiErrorMessage(data: unknown): string | undefined {\n const message = (data as { error?: { message?: unknown } } | undefined)?.error?.message;\n return typeof message === 'string' && message.length > 0 && message.length <= 200\n ? message\n : undefined;\n}\n\n/**\n * What core's `CurrentStoreMiddleware` answers, with a 422, when no store has the\n * username or domain it was given (or the store's status is `deleted`). The lookup is\n * `loadUseUsernameOrDomain`, the same one Twig's `checkUsername` turns into its 410.\n * The literal is not translated: it reads the same whatever language was asked for.\n */\nconst STORE_NOT_FOUND_MESSAGE = 'المتجر غير موجود';\n\n/**\n * Whether the API answered that no store has this identifier. A numeric identifier\n * is looked up with `findOrFail`, which Store's exception handler answers with a 410;\n * a username or domain gets {@link STORE_NOT_FOUND_MESSAGE}. A 410 for a username is\n * not read as one: nothing on that path answers it, and a store that does exist must\n * never be told it does not.\n */\nfunction isStoreNotFound(identifier: string, status: number, said: string | undefined): boolean {\n if (status === 410) return parseStoreId(identifier) !== null;\n return status === 422 && said === STORE_NOT_FOUND_MESSAGE;\n}\n\n/**\n * Names what went wrong, because the page, the server log and Sentry all carry\n * this message. Every failure used to read \"Make sure VITE_STORE_DOMAIN is set\",\n * a local-development variable no deployed theme has, so a slow API looked like\n * a misconfigured theme.\n */\nfunction describeSettingsFailure(identifier: string, error: unknown): SettingsError {\n if (error instanceof SettingsError) return error;\n const request = `the settings request for store \"${identifier}\"`;\n if (isTimeoutError(error)) {\n return new SettingsError(\n `The Salla API did not answer ${request} within ${SETTINGS_TIMEOUT_MS} ms.`,\n { reason: 'timeout' }\n );\n }\n if (isHTTPError(error)) {\n const { status } = error.response;\n const said = apiErrorMessage(error.data);\n return new SettingsError(\n `The Salla API answered ${request} with HTTP ${status}${said ? `: ${said}` : ''}.`,\n { reason: isStoreNotFound(identifier, status, said) ? 'not-found' : 'http', status }\n );\n }\n if (isNetworkError(error)) {\n return new SettingsError(`The Salla API could not be reached for ${request}.`, {\n reason: 'network',\n });\n }\n const detail = error instanceof Error ? `: ${error.message}` : '';\n return new SettingsError(`The settings request for store \"${identifier}\" failed${detail}.`);\n}\n\n/**\n * The settings, or a {@link SettingsError} that says why there are none. The\n * query throws it so the root route can say why the store did not load;\n * `store.settings` keeps answering `null` for its own callers.\n */\nasync function fetchSettings(storeIdentifier?: string): Promise<StoreContext> {\n const identifier = storeIdentifier ?? resolveStoreIdentifier();\n\n if (!identifier) {\n const error = new SettingsError(\n 'No store is named for this request: add `?storeId=` on the preview host, or set VITE_STORE_DOMAIN in local development.',\n { reason: 'no-store' }\n );\n console.warn('[store.settings]', error.message);\n throw error;\n }\n\n try {\n return await requestSettings(identifier);\n } catch (cause) {\n const error = describeSettingsFailure(identifier, cause);\n console.error('[store.settings]', error.message, ...(cause === error ? [] : [cause]));\n throw error;\n }\n}\n\nexport const store = {\n settings: async (storeIdentifier?: string): Promise<StoreContext | null> => {\n try {\n return await fetchSettings(storeIdentifier);\n } catch {\n // Already logged, with the reason.\n return null;\n }\n },\n\n queries: {\n settings: (storeIdentifier?: string) =>\n queryOptions<StoreContext | null>({\n queryKey: [\n 'store',\n 'settings',\n storeIdentifier,\n getTwilightContext().locale,\n getActiveScope(),\n // Two versions of one store's settings are two different answers, and\n // this is the query whose answer decides what every other call is\n // pinned to. `requestedThemeVersionId` rather than the resolved one:\n // the resolved value falls back to what these settings report, so it\n // is not knowable until after this query has run — the key would be\n // one thing on the server and another on the client, and the hydrated\n // page would refetch the settings it was just handed.\n requestedThemeVersionId(),\n ],\n // Throws rather than resolving `null`, so the failure keeps its reason.\n queryFn: () => fetchSettings(storeIdentifier),\n // A null never retried, and the root route waits on this: the router's\n // default `retry: 1` would sit through the timeout twice.\n retry: 0,\n }),\n },\n};\n"]}
|