@salla.sa/twilight-theme-engine 1.0.15 → 1.0.17
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-E4MXJUPE.js → AddToCartForm-NTDCQMOW.js} +3 -3
- package/dist/{AddToCartForm-E4MXJUPE.js.map → AddToCartForm-NTDCQMOW.js.map} +1 -1
- package/dist/{BlogAuthorPage-5KDW5UK3.js → BlogAuthorPage-HJ44RQV2.js} +12 -12
- package/dist/{BlogAuthorPage-5KDW5UK3.js.map → BlogAuthorPage-HJ44RQV2.js.map} +1 -1
- package/dist/{BlogCategoryPage-Q6DIEX56.js → BlogCategoryPage-MYZYMUCF.js} +12 -12
- package/dist/{BlogCategoryPage-Q6DIEX56.js.map → BlogCategoryPage-MYZYMUCF.js.map} +1 -1
- package/dist/{BlogPage-7SPUZBDR.js → BlogPage-7HIZBQ22.js} +10 -10
- package/dist/{BlogPage-7SPUZBDR.js.map → BlogPage-7HIZBQ22.js.map} +1 -1
- package/dist/{BlogSinglePage-YCRQEG7F.js → BlogSinglePage-NDDCSJR6.js} +10 -10
- package/dist/{BlogSinglePage-YCRQEG7F.js.map → BlogSinglePage-NDDCSJR6.js.map} +1 -1
- package/dist/{BlogTagPage-GL3GZKUC.js → BlogTagPage-FIXYDKG4.js} +12 -12
- package/dist/{BlogTagPage-GL3GZKUC.js.map → BlogTagPage-FIXYDKG4.js.map} +1 -1
- package/dist/{BrandsPage-DOGWQ3HF.js → BrandsPage-SV3IEQWM.js} +10 -10
- package/dist/{BrandsPage-DOGWQ3HF.js.map → BrandsPage-SV3IEQWM.js.map} +1 -1
- package/dist/{Breadcrumb-ZT52ZWME.js → Breadcrumb-7ZUOFL4X.js} +10 -10
- package/dist/{Breadcrumb-ZT52ZWME.js.map → Breadcrumb-7ZUOFL4X.js.map} +1 -1
- package/dist/{CartItem-N5Y2KQ62.js → CartItem-VKJ2OXZJ.js} +10 -10
- package/dist/{CartItem-N5Y2KQ62.js.map → CartItem-VKJ2OXZJ.js.map} +1 -1
- package/dist/{CartSummary-4732D5U2.js → CartSummary-VBXXTFL7.js} +10 -10
- package/dist/{CartSummary-4732D5U2.js.map → CartSummary-VBXXTFL7.js.map} +1 -1
- package/dist/{Copyright-MPMESDQK.js → Copyright-JSINO3PK.js} +3 -3
- package/dist/{Copyright-MPMESDQK.js.map → Copyright-JSINO3PK.js.map} +1 -1
- package/dist/{CustomerLayout-6G62O34Q.js → CustomerLayout-RHQLAU3C.js} +10 -10
- package/dist/{CustomerLayout-6G62O34Q.js.map → CustomerLayout-RHQLAU3C.js.map} +1 -1
- package/dist/{Footer-B4MVMSWQ.js → Footer-XZPKOOGM.js} +10 -10
- package/dist/{Footer-B4MVMSWQ.js.map → Footer-XZPKOOGM.js.map} +1 -1
- package/dist/{Header-LVJTEHO2.js → Header-L4WZHNRP.js} +6 -6
- package/dist/{Header-LVJTEHO2.js.map → Header-L4WZHNRP.js.map} +1 -1
- package/dist/{LoyaltyPage-U273KWMV.js → LoyaltyPage-PALDAMBO.js} +11 -11
- package/dist/{LoyaltyPage-U273KWMV.js.map → LoyaltyPage-PALDAMBO.js.map} +1 -1
- package/dist/{MainMenu-WZNLV6SB.js → MainMenu-NW4BCOXO.js} +6 -6
- package/dist/{MainMenu-WZNLV6SB.js.map → MainMenu-NW4BCOXO.js.map} +1 -1
- package/dist/{MasterLayout-2BJRD73M.js → MasterLayout-C24XL4AN.js} +10 -10
- package/dist/{MasterLayout-2BJRD73M.js.map → MasterLayout-C24XL4AN.js.map} +1 -1
- package/dist/{MobileMenu-COA3ASG7.js → MobileMenu-W737JUH4.js} +11 -11
- package/dist/{MobileMenu-COA3ASG7.js.map → MobileMenu-W737JUH4.js.map} +1 -1
- package/dist/{NotificationsPage-KRV2M4ZT.js → NotificationsPage-LY7ZN5VR.js} +10 -10
- package/dist/{NotificationsPage-KRV2M4ZT.js.map → NotificationsPage-LY7ZN5VR.js.map} +1 -1
- package/dist/{OrderSinglePage-LDGETASY.js → OrderSinglePage-B4UCNBT4.js} +11 -11
- package/dist/{OrderSinglePage-LDGETASY.js.map → OrderSinglePage-B4UCNBT4.js.map} +1 -1
- package/dist/{OrdersPage-UI2WYH5K.js → OrdersPage-NEWTES66.js} +11 -11
- package/dist/{OrdersPage-UI2WYH5K.js.map → OrdersPage-NEWTES66.js.map} +1 -1
- package/dist/{PageSingle-MHWRJLKU.js → PageSingle-6XNX72BE.js} +3 -3
- package/dist/{PageSingle-MHWRJLKU.js.map → PageSingle-6XNX72BE.js.map} +1 -1
- package/dist/{ProductDetails-2VJJK5L2.js → ProductDetails-37B3YGVK.js} +3 -3
- package/dist/{ProductDetails-2VJJK5L2.js.map → ProductDetails-37B3YGVK.js.map} +1 -1
- package/dist/{ProfilePage-A3MUONYU.js → ProfilePage-NI2CN24E.js} +10 -10
- package/dist/{ProfilePage-A3MUONYU.js.map → ProfilePage-NI2CN24E.js.map} +1 -1
- package/dist/{SeoCartWidget-WBG3VCD5.js → SeoCartWidget-DIP6ON6N.js} +10 -10
- package/dist/{SeoCartWidget-WBG3VCD5.js.map → SeoCartWidget-DIP6ON6N.js.map} +1 -1
- package/dist/{SettingsPage-CBGFD7IN.js → SettingsPage-X762ZK5T.js} +10 -10
- package/dist/{SettingsPage-CBGFD7IN.js.map → SettingsPage-X762ZK5T.js.map} +1 -1
- package/dist/{StoreClosedNotification-4PHNFWFP.js → StoreClosedNotification-2CSLMDXD.js} +11 -11
- package/dist/{StoreClosedNotification-4PHNFWFP.js.map → StoreClosedNotification-2CSLMDXD.js.map} +1 -1
- package/dist/{TestimonialsPage-KO45V4N6.js → TestimonialsPage-IFISN4K7.js} +3 -3
- package/dist/{TestimonialsPage-KO45V4N6.js.map → TestimonialsPage-IFISN4K7.js.map} +1 -1
- package/dist/{ThankYouPage-P4MIYE65.js → ThankYouPage-MXMTOAYA.js} +41 -42
- package/dist/ThankYouPage-MXMTOAYA.js.map +1 -0
- package/dist/{WalletPage-N5SQAUBE.js → WalletPage-MNMMJZUA.js} +11 -11
- package/dist/{WalletPage-N5SQAUBE.js.map → WalletPage-MNMMJZUA.js.map} +1 -1
- package/dist/{WishlistPage-LLEOGPXX.js → WishlistPage-ITWVRJV6.js} +11 -11
- package/dist/{WishlistPage-LLEOGPXX.js.map → WishlistPage-ITWVRJV6.js.map} +1 -1
- package/dist/api/apps.js +2 -2
- package/dist/api/brands.js +4 -4
- package/dist/api/cart.js +4 -4
- package/dist/api/category.js +4 -4
- package/dist/api/client.js +2 -2
- package/dist/api/home.js +3 -3
- package/dist/api/loyalty.js +4 -4
- package/dist/api/menu.js +3 -3
- package/dist/api/notification.js +3 -3
- package/dist/api/order.js +4 -4
- package/dist/api/page.js +4 -4
- package/dist/api/product.js +4 -4
- 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/wishlist.js +3 -3
- package/dist/{chunk-KJRALAYM.js → chunk-233MP3WJ.js} +3 -3
- package/dist/{chunk-KJRALAYM.js.map → chunk-233MP3WJ.js.map} +1 -1
- package/dist/{chunk-7LP7D75V.js → chunk-2CRMGVH6.js} +3 -3
- package/dist/{chunk-7LP7D75V.js.map → chunk-2CRMGVH6.js.map} +1 -1
- package/dist/chunk-45YDOENO.js +14 -0
- package/dist/{chunk-CVWJKS6J.js.map → chunk-45YDOENO.js.map} +1 -1
- package/dist/{chunk-Z3P7TGE7.js → chunk-4YKLY42C.js} +4 -4
- package/dist/{chunk-Z3P7TGE7.js.map → chunk-4YKLY42C.js.map} +1 -1
- package/dist/{chunk-3SGXXPN4.js → chunk-4ZS2W7GT.js} +6 -6
- package/dist/{chunk-3SGXXPN4.js.map → chunk-4ZS2W7GT.js.map} +1 -1
- package/dist/{chunk-EHKTHLXK.js → chunk-5VTFDD6X.js} +3 -3
- package/dist/{chunk-EHKTHLXK.js.map → chunk-5VTFDD6X.js.map} +1 -1
- package/dist/{chunk-SLUYNV5O.js → chunk-7BOMHA6X.js} +7 -7
- package/dist/{chunk-SLUYNV5O.js.map → chunk-7BOMHA6X.js.map} +1 -1
- package/dist/{chunk-KCKHA75V.js → chunk-7CW2C2MJ.js} +3 -3
- package/dist/{chunk-KCKHA75V.js.map → chunk-7CW2C2MJ.js.map} +1 -1
- package/dist/{chunk-6NBBXERE.js → chunk-7IU7GSH7.js} +3 -3
- package/dist/{chunk-6NBBXERE.js.map → chunk-7IU7GSH7.js.map} +1 -1
- package/dist/{chunk-6Q5BFHFA.js → chunk-7P3CT2PM.js} +37 -8
- package/dist/chunk-7P3CT2PM.js.map +1 -0
- package/dist/{chunk-B2NXQJEO.js → chunk-7RPELJEI.js} +4 -4
- package/dist/{chunk-B2NXQJEO.js.map → chunk-7RPELJEI.js.map} +1 -1
- package/dist/{chunk-LSDIFHXZ.js → chunk-7SPFPL73.js} +4 -4
- package/dist/{chunk-LSDIFHXZ.js.map → chunk-7SPFPL73.js.map} +1 -1
- package/dist/{chunk-EIBCIY4K.js → chunk-A7DIS7P2.js} +5 -5
- package/dist/{chunk-EIBCIY4K.js.map → chunk-A7DIS7P2.js.map} +1 -1
- package/dist/{chunk-IWMGDYNN.js → chunk-AAWKRFEW.js} +4 -4
- package/dist/{chunk-IWMGDYNN.js.map → chunk-AAWKRFEW.js.map} +1 -1
- package/dist/{chunk-TCSNNCRH.js → chunk-B4U7IIQE.js} +3 -3
- package/dist/{chunk-TCSNNCRH.js.map → chunk-B4U7IIQE.js.map} +1 -1
- package/dist/{chunk-GQG4KE5Z.js → chunk-BECDAXJK.js} +4 -4
- package/dist/{chunk-GQG4KE5Z.js.map → chunk-BECDAXJK.js.map} +1 -1
- package/dist/{chunk-NBHI5X36.js → chunk-CQ5HN3OJ.js} +4 -4
- package/dist/{chunk-NBHI5X36.js.map → chunk-CQ5HN3OJ.js.map} +1 -1
- package/dist/{chunk-T2DGQDKK.js → chunk-DKYE7WOS.js} +6 -6
- package/dist/{chunk-T2DGQDKK.js.map → chunk-DKYE7WOS.js.map} +1 -1
- package/dist/{chunk-7PQPKD7S.js → chunk-ES5D7YNB.js} +12 -12
- package/dist/{chunk-7PQPKD7S.js.map → chunk-ES5D7YNB.js.map} +1 -1
- package/dist/{chunk-HWVEOUG4.js → chunk-H3QMQIKP.js} +3 -3
- package/dist/{chunk-HWVEOUG4.js.map → chunk-H3QMQIKP.js.map} +1 -1
- package/dist/{chunk-ITG553AG.js → chunk-HEPESR2B.js} +5 -5
- package/dist/{chunk-ITG553AG.js.map → chunk-HEPESR2B.js.map} +1 -1
- package/dist/{chunk-7UZEHQEQ.js → chunk-IFXOMSLZ.js} +4 -4
- package/dist/{chunk-7UZEHQEQ.js.map → chunk-IFXOMSLZ.js.map} +1 -1
- package/dist/{chunk-W6HFR7YA.js → chunk-IYX6MIBK.js} +4 -4
- package/dist/{chunk-W6HFR7YA.js.map → chunk-IYX6MIBK.js.map} +1 -1
- package/dist/{chunk-I5Z4NJBB.js → chunk-JROOVJB4.js} +4 -4
- package/dist/{chunk-I5Z4NJBB.js.map → chunk-JROOVJB4.js.map} +1 -1
- package/dist/{chunk-XK42WXU5.js → chunk-KN6YUQ6L.js} +3 -3
- package/dist/{chunk-XK42WXU5.js.map → chunk-KN6YUQ6L.js.map} +1 -1
- package/dist/{chunk-5LPAEUO6.js → chunk-KTERBV2F.js} +4 -4
- package/dist/{chunk-5LPAEUO6.js.map → chunk-KTERBV2F.js.map} +1 -1
- package/dist/{chunk-6D7SF3YR.js → chunk-LFUAPNOJ.js} +3 -3
- package/dist/{chunk-6D7SF3YR.js.map → chunk-LFUAPNOJ.js.map} +1 -1
- package/dist/{chunk-C7Q57D45.js → chunk-OT2AEXG5.js} +3 -3
- package/dist/{chunk-C7Q57D45.js.map → chunk-OT2AEXG5.js.map} +1 -1
- package/dist/{chunk-XRXVT43B.js → chunk-P2BEP5TG.js} +25 -11
- package/dist/chunk-P2BEP5TG.js.map +1 -0
- package/dist/{chunk-ZNOJPVX3.js → chunk-Q6M55SHW.js} +4 -4
- package/dist/{chunk-ZNOJPVX3.js.map → chunk-Q6M55SHW.js.map} +1 -1
- package/dist/{chunk-2TB2LTL2.js → chunk-UKG7IY3Y.js} +3 -3
- package/dist/{chunk-2TB2LTL2.js.map → chunk-UKG7IY3Y.js.map} +1 -1
- package/dist/{chunk-KIPZQN3Y.js → chunk-WI7TR7RK.js} +10 -3
- package/dist/chunk-WI7TR7RK.js.map +1 -0
- package/dist/{chunk-RINZVHVS.js → chunk-WW774FMD.js} +4 -4
- package/dist/{chunk-RINZVHVS.js.map → chunk-WW774FMD.js.map} +1 -1
- package/dist/{chunk-2ZRLSZ4V.js → chunk-ZBTCQZVO.js} +3 -3
- package/dist/{chunk-2ZRLSZ4V.js.map → chunk-ZBTCQZVO.js.map} +1 -1
- package/dist/{chunk-7O5DYSLX.js → chunk-ZLKMSS5N.js} +4 -4
- package/dist/{chunk-7O5DYSLX.js.map → chunk-ZLKMSS5N.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 +8 -8
- package/dist/components/home/index.js +11 -11
- package/dist/components/layout/index.js +5 -5
- package/dist/components/product/index.js +9 -9
- package/dist/components/store/index.js +10 -10
- package/dist/confetti-Y43LHJMI.svg +35 -0
- package/dist/{document-class-R3VHIFCS.js → document-class-G5Y5XR4P.js} +10 -10
- package/dist/{document-class-R3VHIFCS.js.map → document-class-G5Y5XR4P.js.map} +1 -1
- package/dist/hooks/index.js +8 -8
- package/dist/hooks/useGtm.js +8 -8
- package/dist/hooks/useMoney.js +8 -8
- package/dist/hooks/useStore.js +8 -8
- package/dist/hooks/useUser.js +4 -4
- package/dist/index.js +8 -8
- package/dist/{navigation-ZCEGLIHD.js → navigation-B6FATNWM.js} +5 -5
- package/dist/{navigation-ZCEGLIHD.js.map → navigation-B6FATNWM.js.map} +1 -1
- package/dist/{navigation-ZIULIDFF.js → navigation-SXCM653S.js} +4 -4
- package/dist/{navigation-ZIULIDFF.js.map → navigation-SXCM653S.js.map} +1 -1
- package/dist/{not-found-OL74V2QP.js → not-found-RY6DAA5G.js} +10 -10
- package/dist/{not-found-OL74V2QP.js.map → not-found-RY6DAA5G.js.map} +1 -1
- package/dist/providers/index.js +8 -8
- package/dist/routes/account/orders.js +5 -5
- package/dist/routes/account.js +13 -13
- package/dist/routes/blog.js +9 -9
- package/dist/routes/brands.js +5 -5
- package/dist/routes/cart.js +16 -16
- package/dist/routes/home.js +13 -13
- package/dist/routes/index.js +3 -3
- package/dist/routes/loyalty.js +5 -5
- package/dist/routes/page.js +5 -5
- package/dist/routes/product-listing.js +13 -13
- package/dist/routes/product.js +11 -11
- package/dist/routes/root/head.d.ts +2 -0
- package/dist/routes/root/head.d.ts.map +1 -1
- package/dist/routes/seo-redirects.js +3 -3
- package/dist/routes/testimonials.js +2 -2
- package/dist/routes/thank-you/ThankYouPage.d.ts.map +1 -1
- package/dist/routes/thank-you.js +5 -5
- package/dist/skeleton.js +13 -13
- package/dist/tanstack/head.d.ts.map +1 -1
- package/dist/tanstack/router.d.ts.map +1 -1
- package/dist/tanstack.js +11 -11
- package/dist/twilight/context.d.ts +10 -0
- package/dist/twilight/context.d.ts.map +1 -1
- package/dist/twilight/ensure-context.d.ts +31 -0
- package/dist/twilight/ensure-context.d.ts.map +1 -0
- package/dist/utils/index.js +2 -2
- package/dist/vite/index.js +2 -2
- package/package.json +1 -1
- package/dist/ThankYouPage-P4MIYE65.js.map +0 -1
- package/dist/chunk-6Q5BFHFA.js.map +0 -1
- package/dist/chunk-CVWJKS6J.js +0 -14
- package/dist/chunk-KIPZQN3Y.js.map +0 -1
- package/dist/chunk-XRXVT43B.js.map +0 -1
package/dist/routes/home.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export { Home, HomeSkeleton, homeLoader } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { Home, HomeSkeleton, homeLoader } from '../chunk-HEPESR2B.js';
|
|
2
|
+
import '../chunk-7CW2C2MJ.js';
|
|
3
3
|
import '../chunk-TZ3E5BN4.js';
|
|
4
|
-
export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-A7DIS7P2.js';
|
|
5
|
+
import '../chunk-Q6M55SHW.js';
|
|
6
|
+
import '../chunk-4ZS2W7GT.js';
|
|
7
7
|
import '../chunk-G7ALL4BC.js';
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-ES5D7YNB.js';
|
|
9
|
+
import '../chunk-DKYE7WOS.js';
|
|
10
10
|
import '../chunk-JKIRRMBU.js';
|
|
11
11
|
import '../chunk-2JV6WZ6O.js';
|
|
12
12
|
import '../chunk-VVZNW5CB.js';
|
|
13
|
-
import '../chunk-
|
|
13
|
+
import '../chunk-ZBTCQZVO.js';
|
|
14
14
|
import '../chunk-MTONGOJD.js';
|
|
15
15
|
import '../chunk-C5X6CVXC.js';
|
|
16
|
-
import '../chunk-
|
|
17
|
-
import '../chunk-
|
|
18
|
-
import '../chunk-
|
|
16
|
+
import '../chunk-JROOVJB4.js';
|
|
17
|
+
import '../chunk-B4U7IIQE.js';
|
|
18
|
+
import '../chunk-UKG7IY3Y.js';
|
|
19
19
|
import '../chunk-QYL5OHAV.js';
|
|
20
|
-
import '../chunk-
|
|
20
|
+
import '../chunk-WI7TR7RK.js';
|
|
21
21
|
import '../chunk-TP3LCGE7.js';
|
|
22
22
|
import '../chunk-Z653O7MX.js';
|
|
23
23
|
import '../chunk-ZCH7W7DZ.js';
|
|
@@ -33,7 +33,7 @@ import '../chunk-YMVLYYLU.js';
|
|
|
33
33
|
import '../chunk-RJPPO3ET.js';
|
|
34
34
|
import '../chunk-Q7VWURUR.js';
|
|
35
35
|
import '../chunk-GU2KUQVD.js';
|
|
36
|
-
import '../chunk-
|
|
36
|
+
import '../chunk-OT2AEXG5.js';
|
|
37
37
|
import '../chunk-AXW67SY7.js';
|
|
38
38
|
import '../chunk-BYMOPN2S.js';
|
|
39
39
|
import '../chunk-6BZ5TKEV.js';
|
package/dist/routes/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { slugBrandRedirectLoader } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { slugBrandRedirectLoader } from '../chunk-KN6YUQ6L.js';
|
|
2
|
+
import '../chunk-ZBTCQZVO.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-WI7TR7RK.js';
|
|
5
5
|
import '../chunk-TYNZ5B2B.js';
|
|
6
6
|
export { FALLBACK_LOCALE, SUPPORTED_LOCALES, getLanguageInfo, isLocale } from '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DF6FBKDN.js';
|
package/dist/routes/loyalty.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { loyalty } from '../chunk-
|
|
1
|
+
import { loyalty } from '../chunk-WW774FMD.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-ZBTCQZVO.js';
|
|
4
4
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-UKG7IY3Y.js';
|
|
6
6
|
import '../chunk-QYL5OHAV.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-WI7TR7RK.js';
|
|
8
8
|
import '../chunk-T72DAX7R.js';
|
|
9
9
|
import '../chunk-DF6FBKDN.js';
|
|
10
10
|
import '../chunk-DGUM43GV.js';
|
|
@@ -18,7 +18,7 @@ async function loyaltyLoader() {
|
|
|
18
18
|
|
|
19
19
|
// src/routes/loyalty/index.tsx
|
|
20
20
|
var LazyLoyaltyPage = lazy(
|
|
21
|
-
() => import('../LoyaltyPage-
|
|
21
|
+
() => import('../LoyaltyPage-PALDAMBO.js').then((m) => ({ default: m.LoyaltyPage }))
|
|
22
22
|
);
|
|
23
23
|
var LoyaltyPage = LazyLoyaltyPage;
|
|
24
24
|
async function loader(_ctx, extend) {
|
package/dist/routes/page.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { page } from '../chunk-
|
|
1
|
+
import { page } from '../chunk-7RPELJEI.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-ZBTCQZVO.js';
|
|
4
4
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-UKG7IY3Y.js';
|
|
6
6
|
import '../chunk-QYL5OHAV.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-WI7TR7RK.js';
|
|
8
8
|
import '../chunk-T72DAX7R.js';
|
|
9
9
|
import '../chunk-DF6FBKDN.js';
|
|
10
10
|
import '../chunk-DGUM43GV.js';
|
|
@@ -27,7 +27,7 @@ async function pageSingleLoader({ params }) {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// src/routes/page/index.tsx
|
|
30
|
-
var LazyPageSingle = lazy(() => import('../PageSingle-
|
|
30
|
+
var LazyPageSingle = lazy(() => import('../PageSingle-6XNX72BE.js').then((m) => ({ default: m.PageSingle })));
|
|
31
31
|
var PageSingleLazy = LazyPageSingle;
|
|
32
32
|
async function loader(ctx, extend) {
|
|
33
33
|
const data = await pageSingleLoader({ params: ctx.params });
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { sortOptions } from '../chunk-6Z4MOC4S.js';
|
|
2
|
-
import { category } from '../chunk-
|
|
3
|
-
import { brand } from '../chunk-
|
|
2
|
+
import { category } from '../chunk-AAWKRFEW.js';
|
|
3
|
+
import { brand } from '../chunk-IFXOMSLZ.js';
|
|
4
4
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
5
|
-
import { LazyTestimonials } from '../chunk-
|
|
6
|
-
import { product } from '../chunk-
|
|
5
|
+
import { LazyTestimonials } from '../chunk-A7DIS7P2.js';
|
|
6
|
+
import { product } from '../chunk-Q6M55SHW.js';
|
|
7
7
|
import { Drawer } from '../chunk-6TKIUG5C.js';
|
|
8
|
-
import { ProductCard } from '../chunk-
|
|
8
|
+
import { ProductCard } from '../chunk-4ZS2W7GT.js';
|
|
9
9
|
import '../chunk-G7ALL4BC.js';
|
|
10
|
-
import { useStore } from '../chunk-
|
|
11
|
-
import '../chunk-
|
|
10
|
+
import { useStore } from '../chunk-ES5D7YNB.js';
|
|
11
|
+
import '../chunk-DKYE7WOS.js';
|
|
12
12
|
import '../chunk-JKIRRMBU.js';
|
|
13
13
|
import '../chunk-2JV6WZ6O.js';
|
|
14
14
|
import '../chunk-VVZNW5CB.js';
|
|
15
|
-
import { notFound, useNavigate, useLocation } from '../chunk-
|
|
15
|
+
import { notFound, useNavigate, useLocation } from '../chunk-ZBTCQZVO.js';
|
|
16
16
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
17
17
|
import '../chunk-C5X6CVXC.js';
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import '../chunk-
|
|
18
|
+
import '../chunk-JROOVJB4.js';
|
|
19
|
+
import '../chunk-B4U7IIQE.js';
|
|
20
|
+
import '../chunk-UKG7IY3Y.js';
|
|
21
21
|
import '../chunk-QYL5OHAV.js';
|
|
22
|
-
import { getTwilightContext } from '../chunk-
|
|
22
|
+
import { getTwilightContext } from '../chunk-WI7TR7RK.js';
|
|
23
23
|
import '../chunk-TP3LCGE7.js';
|
|
24
24
|
import '../chunk-Z653O7MX.js';
|
|
25
25
|
import '../chunk-ZCH7W7DZ.js';
|
|
@@ -35,7 +35,7 @@ import '../chunk-YMVLYYLU.js';
|
|
|
35
35
|
import '../chunk-RJPPO3ET.js';
|
|
36
36
|
import { HookSlot } from '../chunk-Q7VWURUR.js';
|
|
37
37
|
import '../chunk-GU2KUQVD.js';
|
|
38
|
-
import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-
|
|
38
|
+
import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-OT2AEXG5.js';
|
|
39
39
|
import '../chunk-AXW67SY7.js';
|
|
40
40
|
import '../chunk-BYMOPN2S.js';
|
|
41
41
|
import '../chunk-6BZ5TKEV.js';
|
package/dist/routes/product.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
2
|
-
import { ProductsSlider, LazyTestimonials } from '../chunk-
|
|
3
|
-
import { product } from '../chunk-
|
|
4
|
-
import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-
|
|
2
|
+
import { ProductsSlider, LazyTestimonials } from '../chunk-A7DIS7P2.js';
|
|
3
|
+
import { product } from '../chunk-Q6M55SHW.js';
|
|
4
|
+
import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-4ZS2W7GT.js';
|
|
5
5
|
import '../chunk-G7ALL4BC.js';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-ES5D7YNB.js';
|
|
7
|
+
import '../chunk-DKYE7WOS.js';
|
|
8
8
|
import '../chunk-JKIRRMBU.js';
|
|
9
9
|
import '../chunk-2JV6WZ6O.js';
|
|
10
10
|
import '../chunk-VVZNW5CB.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-ZBTCQZVO.js';
|
|
12
12
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
13
13
|
import '../chunk-C5X6CVXC.js';
|
|
14
|
-
import '../chunk-
|
|
15
|
-
import '../chunk-
|
|
16
|
-
import '../chunk-
|
|
14
|
+
import '../chunk-JROOVJB4.js';
|
|
15
|
+
import '../chunk-B4U7IIQE.js';
|
|
16
|
+
import '../chunk-UKG7IY3Y.js';
|
|
17
17
|
import '../chunk-QYL5OHAV.js';
|
|
18
|
-
import { getTwilightContext } from '../chunk-
|
|
18
|
+
import { getTwilightContext } from '../chunk-WI7TR7RK.js';
|
|
19
19
|
import '../chunk-TP3LCGE7.js';
|
|
20
20
|
import '../chunk-Z653O7MX.js';
|
|
21
21
|
import '../chunk-ZCH7W7DZ.js';
|
|
@@ -31,7 +31,7 @@ import { useComments } from '../chunk-YMVLYYLU.js';
|
|
|
31
31
|
import '../chunk-RJPPO3ET.js';
|
|
32
32
|
import { HookSlot } from '../chunk-Q7VWURUR.js';
|
|
33
33
|
import '../chunk-GU2KUQVD.js';
|
|
34
|
-
import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-
|
|
34
|
+
import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-OT2AEXG5.js';
|
|
35
35
|
import '../chunk-AXW67SY7.js';
|
|
36
36
|
import '../chunk-BYMOPN2S.js';
|
|
37
37
|
import '../chunk-6BZ5TKEV.js';
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { HeadResult } from '../../utils/head';
|
|
2
|
+
import type { TwilightContextMatch } from '../../twilight/ensure-context';
|
|
2
3
|
import type { StoreContext } from '../../api/store';
|
|
3
4
|
export declare function resolveTwilightSdkUrl(settings?: StoreContext): string;
|
|
4
5
|
export declare function rootHead(ctx: {
|
|
5
6
|
params: Record<string, string>;
|
|
7
|
+
matches?: readonly TwilightContextMatch[];
|
|
6
8
|
}): HeadResult;
|
|
7
9
|
//# sourceMappingURL=head.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../../src/routes/root/head.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA+BpD,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAWrE;AAsCD,wBAAgB,QAAQ,CAAC,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../../src/routes/root/head.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA+BpD,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAWrE;AAsCD,wBAAgB,QAAQ,CAAC,GAAG,EAAE;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC3C,GAAG,UAAU,CAsLb"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { pendingOrdersRedirectLoader, slugBrandRedirectLoader } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { pendingOrdersRedirectLoader, slugBrandRedirectLoader } from '../chunk-KN6YUQ6L.js';
|
|
2
|
+
import '../chunk-ZBTCQZVO.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-WI7TR7RK.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DF6FBKDN.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
2
2
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
3
|
-
import { getTwilightContext } from '../chunk-
|
|
3
|
+
import { getTwilightContext } from '../chunk-WI7TR7RK.js';
|
|
4
4
|
import '../chunk-T72DAX7R.js';
|
|
5
5
|
import '../chunk-DGUM43GV.js';
|
|
6
6
|
import { lazy } from 'react';
|
|
@@ -18,7 +18,7 @@ async function testimonialsLoader(_ctx) {
|
|
|
18
18
|
|
|
19
19
|
// src/routes/testimonials/index.tsx
|
|
20
20
|
var LazyTestimonialsPage = lazy(
|
|
21
|
-
() => import('../TestimonialsPage-
|
|
21
|
+
() => import('../TestimonialsPage-IFISN4K7.js').then((m) => ({ default: m.TestimonialsPage }))
|
|
22
22
|
);
|
|
23
23
|
var TestimonialsPage = LazyTestimonialsPage;
|
|
24
24
|
async function loader(ctx, extend) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThankYouPage.d.ts","sourceRoot":"","sources":["../../../src/routes/thank-you/ThankYouPage.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ThankYouPage.d.ts","sourceRoot":"","sources":["../../../src/routes/thank-you/ThankYouPage.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAOjD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,eAAe,EACf,QAAyB,GAC1B,EAAE,iBAAiB,2CA4NnB"}
|
package/dist/routes/thank-you.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { order } from '../chunk-
|
|
1
|
+
import { order } from '../chunk-BECDAXJK.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-ZBTCQZVO.js';
|
|
4
4
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-UKG7IY3Y.js';
|
|
6
6
|
import '../chunk-QYL5OHAV.js';
|
|
7
|
-
import { getTwilightContext } from '../chunk-
|
|
7
|
+
import { getTwilightContext } from '../chunk-WI7TR7RK.js';
|
|
8
8
|
import '../chunk-T72DAX7R.js';
|
|
9
9
|
import '../chunk-DF6FBKDN.js';
|
|
10
10
|
import '../chunk-DGUM43GV.js';
|
|
@@ -38,7 +38,7 @@ async function thankYouLoader({
|
|
|
38
38
|
|
|
39
39
|
// src/routes/thank-you/index.tsx
|
|
40
40
|
var LazyThankYouPage = lazy(
|
|
41
|
-
() => import('../ThankYouPage-
|
|
41
|
+
() => import('../ThankYouPage-MXMTOAYA.js').then((m) => ({ default: m.ThankYouPage }))
|
|
42
42
|
);
|
|
43
43
|
var ThankYouPage = LazyThankYouPage;
|
|
44
44
|
async function loader(ctx, extend) {
|
package/dist/skeleton.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
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-
|
|
2
|
+
export { HomeSkeleton } from './chunk-HEPESR2B.js';
|
|
3
|
+
import './chunk-7CW2C2MJ.js';
|
|
4
4
|
import './chunk-TZ3E5BN4.js';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
5
|
+
import './chunk-A7DIS7P2.js';
|
|
6
|
+
import './chunk-Q6M55SHW.js';
|
|
7
|
+
import './chunk-4ZS2W7GT.js';
|
|
8
8
|
import './chunk-G7ALL4BC.js';
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
9
|
+
import './chunk-ES5D7YNB.js';
|
|
10
|
+
import './chunk-DKYE7WOS.js';
|
|
11
11
|
import './chunk-JKIRRMBU.js';
|
|
12
12
|
import './chunk-2JV6WZ6O.js';
|
|
13
13
|
import './chunk-VVZNW5CB.js';
|
|
14
|
-
import './chunk-
|
|
14
|
+
import './chunk-ZBTCQZVO.js';
|
|
15
15
|
import './chunk-MTONGOJD.js';
|
|
16
16
|
import './chunk-C5X6CVXC.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
17
|
+
import './chunk-JROOVJB4.js';
|
|
18
|
+
import './chunk-B4U7IIQE.js';
|
|
19
|
+
import './chunk-UKG7IY3Y.js';
|
|
20
20
|
import './chunk-QYL5OHAV.js';
|
|
21
|
-
import './chunk-
|
|
21
|
+
import './chunk-WI7TR7RK.js';
|
|
22
22
|
import './chunk-TP3LCGE7.js';
|
|
23
23
|
import './chunk-Z653O7MX.js';
|
|
24
24
|
import './chunk-ZCH7W7DZ.js';
|
|
@@ -34,7 +34,7 @@ import './chunk-YMVLYYLU.js';
|
|
|
34
34
|
import './chunk-RJPPO3ET.js';
|
|
35
35
|
import './chunk-Q7VWURUR.js';
|
|
36
36
|
import './chunk-GU2KUQVD.js';
|
|
37
|
-
import './chunk-
|
|
37
|
+
import './chunk-OT2AEXG5.js';
|
|
38
38
|
import './chunk-AXW67SY7.js';
|
|
39
39
|
import './chunk-BYMOPN2S.js';
|
|
40
40
|
import './chunk-6BZ5TKEV.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../src/tanstack/head.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../src/tanstack/head.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAc3D,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,cAAc;;;;;EAqF7D;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,KAAK,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,cAAc,CAAA;CAAE,EAClE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,cAAc,GAClF,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0B5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/tanstack/router.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMnF,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOhE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAqC7D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAoED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,KAG7B,SAAS,GAAG,kRAOrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,kDAkBhE;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/tanstack/router.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMnF,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOhE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAqC7D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAoED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,KAG7B,SAAS,GAAG,kRAOrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,kDAkBhE;AAwGD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uBAAuB,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,KAAK,CAAC;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,uGA6HzE;AAED,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,QAAQ;QAChB,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;KACzC;IAED,UAAU,aAAc,SAAQ,oBAAoB;KAAG;CACxD"}
|
package/dist/tanstack.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { rootHead } from './chunk-
|
|
2
|
-
export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-
|
|
3
|
-
export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-
|
|
1
|
+
import { rootHead } from './chunk-P2BEP5TG.js';
|
|
2
|
+
export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-P2BEP5TG.js';
|
|
3
|
+
export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-H3QMQIKP.js';
|
|
4
4
|
import './chunk-Z4Y55HWX.js';
|
|
5
|
-
export { tanstackHeadAdapter as head, withHead } from './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
export { tanstackHeadAdapter as head, withHead } from './chunk-7P3CT2PM.js';
|
|
6
|
+
import './chunk-2CRMGVH6.js';
|
|
7
7
|
import './chunk-B3EFOE57.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
8
|
+
import './chunk-7SPFPL73.js';
|
|
9
|
+
import './chunk-233MP3WJ.js';
|
|
10
10
|
import './chunk-TZ3E5BN4.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-ZBTCQZVO.js';
|
|
12
12
|
import './chunk-MTONGOJD.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-UKG7IY3Y.js';
|
|
14
14
|
import { AUTH_TOKEN_COOKIE_NAME, extractTokenFromCookies, extractScopeIdFromCookies } from './chunk-QYL5OHAV.js';
|
|
15
|
-
import { runWithTwilightContext } from './chunk-
|
|
16
|
-
export { getTwilightContext, runWithTwilightContext, updateTwilightContext } from './chunk-
|
|
15
|
+
import { runWithTwilightContext } from './chunk-WI7TR7RK.js';
|
|
16
|
+
export { getTwilightContext, runWithTwilightContext, updateTwilightContext } from './chunk-WI7TR7RK.js';
|
|
17
17
|
import './chunk-JWXJPJBO.js';
|
|
18
18
|
export { mergeDocumentDescriptors as mergeAttrs } from './chunk-CW625T2E.js';
|
|
19
19
|
import './chunk-TYNZ5B2B.js';
|
|
@@ -40,6 +40,16 @@ export interface TwilightContext {
|
|
|
40
40
|
export declare function runWithTwilightContext<T>(partial: Partial<TwilightContext>, fn: () => T): T;
|
|
41
41
|
export declare function subscribeTwilight(listener: () => void): () => void;
|
|
42
42
|
export declare function updateTwilightContext(partial: Partial<TwilightContext>): void;
|
|
43
|
+
/**
|
|
44
|
+
* Whether store settings are available, without throwing.
|
|
45
|
+
*
|
|
46
|
+
* `getTwilightContext().settings` throws a `SettingsError` when the store is
|
|
47
|
+
* empty, which is fatal inside a head function during hydration. Callers that
|
|
48
|
+
* need to *test* availability must use this instead of a try/catch around the
|
|
49
|
+
* getter. Returns false when there is no request context at all (server-side
|
|
50
|
+
* calls outside `runWithTwilightContext`).
|
|
51
|
+
*/
|
|
52
|
+
export declare function hasTwilightSettings(): boolean;
|
|
43
53
|
export declare function getTwilightContext(): TwilightContext;
|
|
44
54
|
/** @internal Reset store for testing */
|
|
45
55
|
export declare function resetForTesting(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/twilight/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAoGD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQ3F;AAMD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKlE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAM7E;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CA4CpD;AAED,wCAAwC;AACxC,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/twilight/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAoGD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQ3F;AAMD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKlE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAM7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAM7C;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CA4CpD;AAED,wCAAwC;AACxC,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The slice of a router match we can recover store settings from.
|
|
3
|
+
*
|
|
4
|
+
* TanStack resolves `match.context` (which spreads `__beforeLoadContext` over the
|
|
5
|
+
* parent context) immediately before it invokes `route.options.head()`, so both
|
|
6
|
+
* fields are populated by the time any head function runs — including during
|
|
7
|
+
* client hydration, when the twilight module store may still be empty.
|
|
8
|
+
*/
|
|
9
|
+
export interface TwilightContextMatch {
|
|
10
|
+
context?: Record<string, unknown>;
|
|
11
|
+
__beforeLoadContext?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Seeds the twilight module store from the router matches when it is empty.
|
|
15
|
+
*
|
|
16
|
+
* Head functions read store settings through `getTwilightContext()`, whose
|
|
17
|
+
* `settings` getter **throws** a `SettingsError` when the store has not been
|
|
18
|
+
* populated. TanStack re-runs every matched route's head function during client
|
|
19
|
+
* hydration, and a throw there aborts hydration outright: React then discards
|
|
20
|
+
* the server-rendered tree and re-renders from scratch, which blanks the page.
|
|
21
|
+
*
|
|
22
|
+
* `hydrateTwilightContext` normally populates the store first, but it is a
|
|
23
|
+
* single best-effort pass — if it bails (missing root match, missing settings,
|
|
24
|
+
* or a duplicated module instance holding a different store) every head
|
|
25
|
+
* function downstream throws. Seeding from the match TanStack already resolved
|
|
26
|
+
* removes that dependency at the point of use.
|
|
27
|
+
*
|
|
28
|
+
* @returns whether the store has settings after the attempt.
|
|
29
|
+
*/
|
|
30
|
+
export declare function ensureTwilightContextFromMatches(matches: readonly TwilightContextMatch[] | undefined): boolean;
|
|
31
|
+
//# sourceMappingURL=ensure-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-context.d.ts","sourceRoot":"","sources":["../../src/twilight/ensure-context.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/C;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,SAAS,oBAAoB,EAAE,GAAG,SAAS,GACnD,OAAO,CAkBT"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { formatSallaPlural } from '../chunk-BT6HEEAP.js';
|
|
2
2
|
export { stripUnsafeHtml } from '../chunk-RUHSV4Z6.js';
|
|
3
|
-
export { dispatchRouteChanged } from '../chunk-
|
|
3
|
+
export { dispatchRouteChanged } from '../chunk-2CRMGVH6.js';
|
|
4
4
|
export { mergeHead, resolveHead, setHeadAdapter } from '../chunk-B3EFOE57.js';
|
|
5
5
|
export { sortOptions } from '../chunk-6Z4MOC4S.js';
|
|
6
6
|
export { buildBaseHead, buildHreflangAlternates, localeToOgLocale } from '../chunk-TZ3E5BN4.js';
|
|
7
7
|
export { color } from '../chunk-VVZNW5CB.js';
|
|
8
8
|
export { AUTH_TOKEN_COOKIE_NAME, clearAuthTokenCookie, extractTokenFromCookies, getSallaSDK, getStoreIdentifier } from '../chunk-QYL5OHAV.js';
|
|
9
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-WI7TR7RK.js';
|
|
10
10
|
export { asset, cdn, isPlaceholder } from '../chunk-ZCH7W7DZ.js';
|
|
11
11
|
export { mergeDocumentDescriptors, mergeElementAttrs, normalizeClasses, syncAttrsToElement, toReactProps } from '../chunk-CW625T2E.js';
|
|
12
12
|
import '../chunk-T72DAX7R.js';
|
package/dist/vite/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { tanstackHeadAdapter } from '../chunk-
|
|
1
|
+
import { tanstackHeadAdapter } from '../chunk-7P3CT2PM.js';
|
|
2
2
|
import { nextjsHeadAdapter } from '../chunk-HOSHJBPS.js';
|
|
3
3
|
import { setHeadAdapter } from '../chunk-B3EFOE57.js';
|
|
4
4
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-WI7TR7RK.js';
|
|
6
6
|
import '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
8
8
|
import { readFile, readdir } from 'fs/promises';
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/routes/thank-you/ThankYouPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAM,iBAA6D,EAAC;AAE7D,SAAS,YAAA,CAAa;AAAA,EAC3B,KAAA;AAAA,EACA,eAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,EAAsB;AACpB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,WAAA,EAAY;AAC9B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,EAAA,MAAM,KAAA,GAAQ,eAAA,IAAmB,CAAA,CAAE,yBAAyB,CAAA;AAC5D,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,IAAI,QAAA,CAAS,KAAA,EAAO,cAAc,KAAK,CAAA;AACzE,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAwB,IAAI,CAAA;AACxE,EAAA,MAAM,GAAG,eAAe,CAAA,GAAI,kBAAA,EAAmB;AAC/C,EAAA,MAAM,EAAE,GAAA,EAAI,GAAI,QAAA,EAAS;AAGzB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,IAAA,IAAI,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,aAAA,EAAe;AAEzC,IAAA,MAAM,iBAAA,GAAoB,CAAC,GAAA,KAAyC;AAClE,MAAA,iBAAA,CAAkB,GAAA,CAAI,IAAA,EAAM,OAAA,IAAW,2BAA2B,CAAA;AAClE,MAAA,cAAA,CAAe,IAAI,CAAA;AAAA,IACrB,CAAA;AAEA,IAAA,KAAA,CAAM,KAAA,CAAM,KAAA,CAAM,aAAA,CAAc,iBAAiB,CAAA;AAEjD,IAAA,OAAO,MAAM;AACX,MAAA,KAAA,CAAM,KAAA,CAAM,GAAA,CAAI,qBAAA,EAAuB,iBAAiD,CAAA;AAAA,IAC1F,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,IAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AAGrB,IAAA,KAAA,EAAO,OAAO,IAAA,CAAK;AAAA,MACjB,QAAA,EAAU,MAAA,CAAO,KAAA,CAAM,EAAE,CAAA;AAAA,MACzB,GAAA,EAAK,KAAA,CAAM,IAAA,EAAM,QAAA,IAAY;AAAA,KAC9B,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,iBAAA,EAAkB,CAAA;AAAA,oBAEjC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oEAAA,EACb,QAAA,kBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,gCAAA;AAAA,QACV,KAAA,EAAM,4BAAA;AAAA,QACN,OAAA,EAAQ,cAAA;AAAA,QAER,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,cAAA;AAAA,YACV,WAAA,EAAY,GAAA;AAAA,YACZ,CAAA,EAAE;AAAA;AAAA;AACH;AAAA,KACH,EACF,CAAA;AAAA,oBAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,aAAA,EACb,QAAA,kBAAA,IAAA,CAAC,IAAA,EAAA,EAAG,WAAU,2DAAA,EACZ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,IAAA,EAAA,EACC,8BAAC,IAAA,EAAA,EAAK,EAAA,EAAG,KAAI,SAAA,EAAU,gCAAA,EAAiC,kBAExD,CAAA,EACF,CAAA;AAAA,4BACC,IAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kCAAiC,CAAA,EAChD,CAAA;AAAA,4BACC,IAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,UAAK,SAAA,EAAU,WAAA,EAAa,iBAAM,CAAA,EACrC;AAAA,OAAA,EACF,CAAA,EACF,CAAA;AAAA,sBAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6CAAA,EACb,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wCAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,kBAAA,EACb,QAAA,kBAAA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,GAAA,EAAK,IAAI,0BAA0B,CAAA;AAAA,cACnC,GAAA,EAAK,KAAA;AAAA,cACL,SAAA,EAAU;AAAA;AAAA,WACZ,EACF,CAAA;AAAA,0BACA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,gDAAA,EAAkD,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UACrE,yBACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,GAAA,EAAA,EAAE,WAAU,iFAAA,EAAkF,QAAA,EAAA;AAAA,cAAA,UAAA;AAAA,cACpF,GAAA;AAAA,8BACT,IAAA;AAAA,gBAAC,WAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,UAAA;AAAA,kBACV,SAAS,MAAM,eAAA,CAAgB,MAAA,CAAO,KAAA,CAAM,YAAY,CAAC,CAAA;AAAA,kBACzD,KAAA,EAAM,MAAA;AAAA,kBACN,KAAA,EAAM,MAAA;AAAA,kBAEN,QAAA,EAAA;AAAA,oCAAA,IAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,sBAAE,KAAA,CAAM;AAAA,qBAAA,EAAa,CAAA;AAAA,oCAC3B,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,mEAAA,EAAoE;AAAA;AAAA;AAAA;AACnF,aAAA,EACF,CAAA;AAAA,4BACA,IAAA,CAAC,WAAA,EAAA,EAAY,OAAA,EAAS,eAAA,EACpB,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,WAAU,mCAAA,EAAoC,CAAA;AAAA,cAAI;AAAA,aAAA,EAEvD;AAAA,WAAA,EACF;AAAA,SAAA,EAEJ,CAAA;AAAA,QAEE,OAAiD,YAAA,oBACjD,GAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,kDAAA;AAAA,YACV,uBAAA,EAAyB;AAAA,cACvB,MAAA,EAAS,MAAoC,YAAA,IAAgB;AAAA;AAC/D;AAAA,SACF;AAAA,QAGD,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,qBACb,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YAEC,SAAA,EAAU,mFAAA;AAAA,YAEV,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,WAAA,EAAa,QAAA,EAAA,OAAA,EAAQ;AAAA,WAAA;AAAA,UAHhC;AAAA,SAKR,CAAA;AAAA,wBAED,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,uBAAA,EAAwB,CAAA;AAAA,wBACvC,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,qBAAA,EAAsB;AAAA,OAAA,EACvC,CAAA;AAAA,sBAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0CAAA,EACZ,QAAA,EAAA;AAAA,QAAA,WAAA,mBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0HAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,SAAI,SAAA,EAAU,2CAAA,EACb,8BAAC,GAAA,EAAA,EAAE,SAAA,EAAU,+BAA8B,CAAA,EAC7C,CAAA;AAAA,0BACA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAiB,QAAA,EAAA,eAAA,EAAa,CAAA;AAAA,8BAC1C,GAAA,EAAA,EAAE,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,KAAA,EAAO,UAAU,KAAA,EAAM,CAAA;AAAA,UAC9C,cAAA,oBAAkB,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,+BAA+B,QAAA,EAAA,cAAA,EAAe;AAAA,SAAA,EAChF,CAAA,mBAEA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAG,cAAA;AAAA,YACH,SAAA,EAAW,iBAAiB,qBAAA,GAAwB,gBAAA;AAAA,YAEnD,QAAA,EAAA,cAAA,mBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,aAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,8BAAC,GAAA,EAAA,EAAE,SAAA,EAAU,+BAA8B,CAAA,EAC7C,CAAA;AAAA,8BACA,GAAA,CAAC,OAAE,SAAA,EAAU,SAAA,EAAU,yBAAyB,EAAE,MAAA,EAAQ,gBAAe,EAAG;AAAA,aAAA,EAC9E,oBAEA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,SAAI,SAAA,EAAU,2CAAA,EACb,8BAAC,GAAA,EAAA,EAAE,SAAA,EAAU,+BAA8B,CAAA,EAC7C,CAAA;AAAA,8BACA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAiB,QAAA,EAAA,sBAAA,EAAoB,CAAA;AAAA,8BAClD,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,QAAA,EAAU,CAAC,CAAA,KAAM;AACf,oBAAA,CAAA,CAAE,cAAA,EAAe;AACjB,oBAAA,MAAA,CAAO,KAAA,EAAO,IAAA,CAAK,QAAA,CAAS,mBAAA,EAAqB,CAAC,CAAA;AAAA,kBACpD,CAAA;AAAA,kBAEA,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EACb,QAAA,EAAA;AAAA,oCAAA,GAAA;AAAA,sBAAC,OAAA;AAAA,sBAAA;AAAA,wBACC,IAAA,EAAK,OAAA;AAAA,wBACL,SAAA,EAAU,yGAAA;AAAA,wBACV,WAAA,EAAY,gBAAA;AAAA,wBACZ,QAAA,EAAQ,IAAA;AAAA,wBACR,IAAA,EAAK;AAAA;AAAA,qBACP;AAAA,oCACA,GAAA;AAAA,sBAAC,WAAA;AAAA,sBAAA;AAAA,wBACC,IAAA,EAAK,QAAA;AAAA,wBACL,cAAA,EAAe,QAAA;AAAA,wBACf,SAAA,EAAU,oDAAA;AAAA,wBAEV,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,WAAA,EAAY,QAAA,EAAA,MAAA,EAAI;AAAA;AAAA;AAClC,mBAAA,EACF;AAAA;AAAA;AACF,aAAA,EACF;AAAA;AAAA,SAEJ;AAAA,wBAGF,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,SAAI,SAAA,EAAU,2CAAA,EACb,8BAAC,GAAA,EAAA,EAAE,SAAA,EAAU,6BAA4B,CAAA,EAC3C,CAAA;AAAA,0BACA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAiB,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,0BAErC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oCAAA,EACZ,QAAA,EAAA;AAAA,YAAA,KAAA,CAAM,QAAA,CAAS,MAAA,oBACd,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,WAAU,aAAA,EAAc,CAAA;AAAA,8BAC3B,GAAA;AAAA,gBAAC,GAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAM,CAAA,IAAA,EAAO,KAAA,CAAM,QAAA,CAAS,MAAM,CAAA,CAAA;AAAA,kBAClC,SAAA,EAAU,+BAAA;AAAA,kBAEV,8BAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAkB,QAAA,EAAA,KAAA,CAAM,SAAS,MAAA,EAAO;AAAA;AAAA;AACvD,aAAA,EACF,CAAA;AAAA,YAGD,MAAM,QAAA,CAAS,QAAA,oBACd,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,WAAU,gBAAA,EAAiB,CAAA;AAAA,8BAC9B,GAAA;AAAA,gBAAC,GAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAM,iBAAiB,KAAA,CAAM,QAAA,CAAS,SAAS,OAAA,CAAQ,SAAA,EAAW,EAAE,CAAC,CAAA,CAAA;AAAA,kBACrE,SAAA,EAAU,+BAAA;AAAA,kBACV,MAAA,EAAO,QAAA;AAAA,kBACP,GAAA,EAAI,qBAAA;AAAA,kBAEJ,8BAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAkB,QAAA,EAAA,KAAA,CAAM,SAAS,QAAA,EAAS;AAAA;AAAA;AACzD,aAAA,EACF;AAAA,WAAA,EAEJ;AAAA,SAAA,EACF;AAAA,OAAA,EACF,CAAA;AAAA,sBAEA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,eAAA,EAAgB;AAAA,KAAA,EACjC;AAAA,GAAA,EACF,CAAA;AAEJ","file":"ThankYouPage-P4MIYE65.js","sourcesContent":["import { useState, useEffect } from 'react';\nimport { useCopyToClipboard } from '@uidotdev/usehooks';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { Link } from '../../components/common';\nimport { HookSlot, useAsset } from '../../hooks';\nimport type { ThankYouPageProps } from './types';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\n\nconst EMPTY_MESSAGES: NonNullable<ThankYouPageProps['messages']> = [];\n\nexport function ThankYouPage({\n order,\n thank_you_title,\n messages = EMPTY_MESSAGES,\n}: ThankYouPageProps) {\n const { store } = useTwilight();\n const { t } = useTranslation();\n const title = thank_you_title ?? t('common.titles.thank_you');\n const [invoiceSent, setInvoiceSent] = useState(order?.email_sent ?? false);\n const [invoiceMessage, setInvoiceMessage] = useState<string | null>(null);\n const [, copyToClipboard] = useCopyToClipboard();\n const { cdn } = useAsset();\n\n // Listen for invoice sent event (matches thankyou.js)\n useEffect(() => {\n const salla = window.salla;\n if (!salla?.order?.event?.onInvoiceSent) return;\n\n const handleInvoiceSent = (res: { data?: { message?: string } }) => {\n setInvoiceMessage(res.data?.message || 'Invoice sent successfully');\n setInvoiceSent(true);\n };\n\n salla.order.event.onInvoiceSent(handleInvoiceSent);\n\n return () => {\n salla.event.off('order::invoice.sent', handleInvoiceSent as (...args: unknown[]) => void);\n };\n }, []);\n\n const handleShowOrder = () => {\n if (!order) return;\n // Show order details modal\n const salla = window.salla as unknown as {\n order?: { show: (params: { order_id: string; url: string }) => void };\n };\n salla?.order?.show({\n order_id: String(order.id),\n url: order.urls?.customer ?? '',\n });\n };\n\n return (\n <>\n <HookSlot name=\"thank-you:start\" />\n\n <div className=\"h-52 -mb-52 w-full bg-primary rtl:right-0 ltr:left-0 relative -z-1\">\n <svg\n className=\"text-primary absolute top-full\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 1440 320\"\n >\n <path\n className=\"fill-current\"\n fillOpacity=\"1\"\n d=\"M0,96L120,112C240,128,480,160,720,165.3C960,171,1200,149,1320,138.7L1440,128L1440,0L1320,0C1200,0,960,0,720,0C480,0,240,0,120,0L0,0Z\"\n ></path>\n </svg>\n </div>\n\n <div className=\"container mb-20\">\n <nav className=\"w-full py-5\">\n <ol className=\"list-reset flex items-center text-sm text-primary-reverse\">\n <li>\n <Link to=\"/\" className=\"fix-align text-primary-reverse\">\n Home\n </Link>\n </li>\n <li>\n <i className=\"sicon-keyboard_arrow_left mx-2\"></i>\n </li>\n <li>\n <span className=\"fix-align\">{title}</span>\n </li>\n </ol>\n </nav>\n\n <div className=\"bg-white p-4 md:p-8 rounded-md mb-6 md:mb-8\">\n <div className=\"flex flex-col items-center pt-16 pb-10\">\n <div className=\"rtl:-scale-x-100\">\n <img\n src={cdn('/images/delivery-bro.svg')}\n alt={title}\n className=\"thanks-item opacity-0 w-40 mb-8\"\n />\n </div>\n <h1 className=\"font-bold text-lg mb-2.5 thanks-item opacity-0\">{title}</h1>\n {order && (\n <>\n <p className=\"thanks-item opacity-0 text-gray-500 max-w-xs text-center text-sm leading-6 mb-6\">\n Order ID{' '}\n <SallaButton\n className=\"relative\"\n onClick={() => copyToClipboard(String(order.reference_id))}\n color=\"dark\"\n shape=\"link\"\n >\n <span>#{order.reference_id}</span>\n <i className=\"copy-icon sicon-swap-stroke pointer-events-none rtl:mr-1 ltr:ml-1\"></i>\n </SallaButton>\n </p>\n <SallaButton onClick={handleShowOrder}>\n <i className=\"sicon-newspaper rtl:ml-1 ltr:mr-1\"></i>\n Order Details\n </SallaButton>\n </>\n )}\n </div>\n\n {(order as { instructions?: string } | undefined)?.instructions && (\n <article\n className=\"article article--main article--small text-center\"\n dangerouslySetInnerHTML={{\n __html: (order as { instructions?: string }).instructions ?? '',\n }}\n />\n )}\n\n {messages.map((message) => (\n <div\n key={message}\n className=\"flex flex-col items-center pt-1 pb-10 justify-start rtl:space-x-reverse space-x-2\"\n >\n <span className=\"font-bold\">{message}</span>\n </div>\n ))}\n\n <HookSlot name=\"thank-you:items.start\" />\n <HookSlot name=\"thank-you:items.end\" />\n </div>\n\n <div className=\"lg:flex rtl:space-x-reverse lg:space-x-8\">\n {invoiceSent ? (\n <div className=\"duration-500 hover:shadow-default flex-1 bg-white p-8 rounded-md mb-6 md:mb-10 flex flex-col items-center justify-center\">\n <div className=\"bg-gray-100 rounded-icon w-12 h-12 mb-2.5\">\n <i className=\"sicon-newspaper-alt text-xl\"></i>\n </div>\n <p className=\"text-sm mb-2.5\">Email sent to</p>\n <b className=\"text-sm\">{order?.customer?.email}</b>\n {invoiceMessage && <p className=\"text-sm text-green-600 mt-2\">{invoiceMessage}</p>}\n </div>\n ) : (\n <div\n id=\"invoice-form\"\n className={invoiceMessage ? 'thankyou-block sent' : 'thankyou-block'}\n >\n {invoiceMessage ? (\n <div className=\"text-center\">\n <div className=\"bg-gray-100 rounded-icon w-12 h-12 mb-2.5 mx-auto\">\n <i className=\"sicon-newspaper-alt text-xl\"></i>\n </div>\n <p className=\"text-sm\" dangerouslySetInnerHTML={{ __html: invoiceMessage }} />\n </div>\n ) : (\n <>\n <div className=\"bg-gray-100 rounded-icon w-12 h-12 mb-2.5\">\n <i className=\"sicon-newspaper-alt text-xl\"></i>\n </div>\n <p className=\"text-sm mb-2.5\">Resend invoice email</p>\n <form\n onSubmit={(e) => {\n e.preventDefault();\n window.salla?.form.onSubmit('order.sendInvoice', e);\n }}\n >\n <div className=\"flex max-w-3xl w-full\">\n <input\n type=\"email\"\n className=\"form-input rtl:rounded-l-none ltr:rounded-r-none rtl:border-l-0 ltr:border-r-0 !w-[160px] sm:!w-[220px]\"\n placeholder=\"your@email.com\"\n required\n name=\"email\"\n />\n <SallaButton\n type=\"submit\"\n loaderPosition=\"center\"\n className=\"rtl:rounded-r-none ltr:rounded-l-none lg:w-24 h-10\"\n >\n <span className=\"btn__text\">Send</span>\n </SallaButton>\n </div>\n </form>\n </>\n )}\n </div>\n )}\n\n <div className=\"thankyou-block\">\n <div className=\"bg-gray-100 rounded-icon w-12 h-12 mb-2.5\">\n <i className=\"sicon-mail-letter text-xl\"></i>\n </div>\n <p className=\"text-sm mb-2.5\">Support</p>\n\n <div className=\"flex rtl:space-x-reverse space-x-6\">\n {store.contacts.mobile && (\n <div className=\"text-sm unicode flex items-center\">\n <i className=\"sicon-phone\"></i>\n <a\n href={`tel:${store.contacts.mobile}`}\n className=\"hover:text-primary transition\"\n >\n <b className=\"unicode mx-1.5\">{store.contacts.mobile}</b>\n </a>\n </div>\n )}\n\n {store.contacts.whatsapp && (\n <div className=\"text-sm unicode flex items-center\">\n <i className=\"sicon-whatsapp\"></i>\n <a\n href={`https://wa.me/${store.contacts.whatsapp.replace(/[\\s+-]/g, '')}`}\n className=\"hover:text-primary transition\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <b className=\"unicode mx-1.5\">{store.contacts.whatsapp}</b>\n </a>\n </div>\n )}\n </div>\n </div>\n </div>\n\n <HookSlot name=\"thank-you:end\" />\n </div>\n </>\n );\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tanstack/head.ts"],"names":[],"mappings":"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","file":"chunk-6Q5BFHFA.js","sourcesContent":["import type { HeadDescriptor, OpenGraphImage } from '../utils/head';\nimport type { TwilightContext } from '../twilight/context';\nimport { getTwilightContext } from '../twilight/context';\n\ntype OgImagesInput = string | OpenGraphImage | Array<string | OpenGraphImage> | undefined;\n\nfunction normalizeOgImages(images: OgImagesInput): OpenGraphImage[] {\n if (!images) return [];\n const arr = Array.isArray(images) ? images : [images];\n return arr.map((img) => (typeof img === 'string' ? { url: img } : img));\n}\n\nexport function tanstackHeadAdapter(descriptor: HeadDescriptor) {\n const meta: Array<Record<string, unknown>> = [];\n const links: Array<Record<string, unknown>> = [];\n const scripts: Array<Record<string, unknown>> = [];\n const styles: Record<string, unknown>[] = [];\n\n if (descriptor.title) meta.push({ title: descriptor.title });\n if (descriptor.description) meta.push({ name: 'description', content: descriptor.description });\n\n if (descriptor.keywords) {\n const kw = Array.isArray(descriptor.keywords)\n ? descriptor.keywords.join(', ')\n : descriptor.keywords;\n meta.push({ name: 'keywords', content: kw });\n }\n\n if (descriptor.robots) meta.push({ name: 'robots', content: descriptor.robots });\n\n // Open Graph\n const og = descriptor.openGraph;\n if (og) {\n if (og.siteName) meta.push({ property: 'og:site_name', content: og.siteName });\n if (og.type) meta.push({ property: 'og:type', content: og.type });\n if (og.title) meta.push({ property: 'og:title', content: og.title });\n if (og.description) meta.push({ property: 'og:description', content: og.description });\n if (og.url) meta.push({ property: 'og:url', content: og.url });\n if (og.locale) meta.push({ property: 'og:locale', content: og.locale });\n for (const alt of og.alternateLocale ?? []) {\n meta.push({ property: 'og:locale:alternate', content: alt });\n }\n for (const img of normalizeOgImages(og.images)) {\n meta.push({ property: 'og:image', content: img.url });\n if (img.width != null) meta.push({ property: 'og:image:width', content: String(img.width) });\n if (img.height != null)\n meta.push({ property: 'og:image:height', content: String(img.height) });\n if (img.alt) meta.push({ property: 'og:image:alt', content: img.alt });\n }\n if (og.publishedTime)\n meta.push({ property: 'article:published_time', content: og.publishedTime });\n if (og.modifiedTime) meta.push({ property: 'article:modified_time', content: og.modifiedTime });\n }\n\n // Twitter Card\n const tw = descriptor.twitter;\n if (tw) {\n if (tw.card) meta.push({ name: 'twitter:card', content: tw.card });\n if (tw.title) meta.push({ name: 'twitter:title', content: tw.title });\n if (tw.description) meta.push({ name: 'twitter:description', content: tw.description });\n if (tw.site) meta.push({ name: 'twitter:site', content: tw.site });\n if (tw.creator) meta.push({ name: 'twitter:creator', content: tw.creator });\n if (tw.url) meta.push({ name: 'twitter:url', content: tw.url });\n const twImages = tw.images ? (Array.isArray(tw.images) ? tw.images : [tw.images]) : [];\n for (const img of twImages) {\n meta.push({ name: 'twitter:image', content: img });\n }\n }\n\n // Canonical\n if (descriptor.canonical) links.push({ rel: 'canonical', href: descriptor.canonical });\n\n // hreflang alternates (React requires camelCase: hrefLang)\n for (const alt of descriptor.alternateLanguages ?? []) {\n links.push({ rel: 'alternate', hrefLang: alt.hreflang, href: alt.href });\n }\n\n // JSON-LD\n if (descriptor.jsonLd) {\n scripts.push({ type: 'application/ld+json', children: JSON.stringify(descriptor.jsonLd) });\n }\n\n // Escape hatches\n for (const m of descriptor.meta ?? []) {\n const { httpEquiv, ...rest } = m as typeof m & { httpEquiv?: string };\n meta.push(httpEquiv ? { httpEquiv, ...rest } : rest);\n }\n for (const l of descriptor.links ?? []) links.push(l);\n for (const s of descriptor.styles ?? []) styles.push(s as unknown as Record<string, unknown>);\n\n // Import maps must be emitted before module scripts that rely on bare specifiers.\n for (const im of descriptor.importMap ?? []) {\n scripts.push({ type: 'importmap', children: JSON.stringify(im) });\n }\n for (const s of descriptor.scripts ?? []) scripts.push(s);\n\n return { meta, links, styles, scripts };\n}\n\n// ============================================================================\n// withHead - Simplified head callback wrapper for TanStack Router\n// ============================================================================\n\n/**\n * Minimal shape we need from TanStack Router's AssetFnContextOptions.\n * We only use loaderData - route context is obtained via getTwilightContext().\n */\ntype HeadContext = {\n loaderData?: unknown;\n};\n\n/**\n * Wraps a route module's head function for TanStack Router.\n *\n * @example\n * ```typescript\n * head: withHead(Offers)\n * head: withHead(Product, (result, ctx) => ({\n * ...result,\n * title: `${result.title} | ${ctx.settings?.store?.name}`,\n * }))\n * ```\n */\nexport function withHead<T>(\n route: { head: (ctx: TwilightContext, data: T) => HeadDescriptor },\n extend?: (result: HeadDescriptor, _ctx: TwilightContext, data: T) => HeadDescriptor\n): (_ctx: Record<string, unknown>) => Record<string, unknown> {\n return (ctx: HeadContext) => {\n const loaderData = ctx.loaderData;\n\n if (!loaderData) return {};\n\n const context = getTwilightContext();\n const result = route.head(context, loaderData as T);\n const finalResult = extend ? extend(result, context, loaderData as T) : result;\n\n return tanstackHeadAdapter(finalResult);\n };\n}\n"]}
|
package/dist/chunk-CVWJKS6J.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { lazy } from 'react';
|
|
2
|
-
|
|
3
|
-
// src/components/cart/lazy.ts
|
|
4
|
-
var LazyCartItem = lazy(() => import('./CartItem-N5Y2KQ62.js').then((m) => ({ default: m.CartItem })));
|
|
5
|
-
var LazyCartSummary = lazy(
|
|
6
|
-
() => import('./CartSummary-4732D5U2.js').then((m) => ({ default: m.CartSummary }))
|
|
7
|
-
);
|
|
8
|
-
var LazySeoCartWidget = lazy(
|
|
9
|
-
() => import('./SeoCartWidget-WBG3VCD5.js').then((m) => ({ default: m.SeoCartWidget }))
|
|
10
|
-
);
|
|
11
|
-
|
|
12
|
-
export { LazyCartItem, LazyCartSummary, LazySeoCartWidget };
|
|
13
|
-
//# sourceMappingURL=chunk-CVWJKS6J.js.map
|
|
14
|
-
//# sourceMappingURL=chunk-CVWJKS6J.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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-KIPZQN3Y.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 { 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';\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 scopeId: string | null;\n i18n: i18n;\n dir: 'ltr' | 'rtl';\n page?: PageContext;\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 scopeId: string | null;\n i18n?: i18n;\n page?: PageContext;\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 scopeId: 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 ('scopeId' in partial && partial.scopeId !== undefined)\n store.scopeId = partial.scopeId ?? null;\n if ('i18n' in partial && partial.i18n != null) store.i18n = partial.i18n;\n if ('page' in partial) store.page = partial.page;\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\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 scopeId() {\n return data.scopeId;\n },\n get i18n() {\n if (!data.i18n) {\n const translations = data.queryClient?.getQueryData(['translations']) as\n | TranslationMessages\n | 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 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"]}
|