@salla.sa/twilight-theme-engine 1.0.149 → 1.0.150
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-NMHCW3UT.js → AddToCartForm-P5Q4P763.js} +3 -3
- package/dist/{AddToCartForm-NMHCW3UT.js.map → AddToCartForm-P5Q4P763.js.map} +1 -1
- package/dist/{BlogAuthorPage-2WTKZNOV.js → BlogAuthorPage-Z3R6AETN.js} +27 -27
- package/dist/{BlogAuthorPage-2WTKZNOV.js.map → BlogAuthorPage-Z3R6AETN.js.map} +1 -1
- package/dist/{BlogCategoryPage-SF3FJKUX.js → BlogCategoryPage-7VROFBGI.js} +27 -27
- package/dist/{BlogCategoryPage-SF3FJKUX.js.map → BlogCategoryPage-7VROFBGI.js.map} +1 -1
- package/dist/{BlogPage-LYB32QET.js → BlogPage-Q2NN4WTB.js} +25 -25
- package/dist/{BlogPage-LYB32QET.js.map → BlogPage-Q2NN4WTB.js.map} +1 -1
- package/dist/{BlogSinglePage-BLPEE6HL.js → BlogSinglePage-ZPCSNBIX.js} +25 -25
- package/dist/{BlogSinglePage-BLPEE6HL.js.map → BlogSinglePage-ZPCSNBIX.js.map} +1 -1
- package/dist/{BlogTagPage-D7QVEP5N.js → BlogTagPage-IGG2VEMR.js} +27 -27
- package/dist/{BlogTagPage-D7QVEP5N.js.map → BlogTagPage-IGG2VEMR.js.map} +1 -1
- package/dist/{BrandsPage-7C5IPCVT.js → BrandsPage-ZAJT6RGM.js} +26 -26
- package/dist/{BrandsPage-7C5IPCVT.js.map → BrandsPage-ZAJT6RGM.js.map} +1 -1
- package/dist/{Breadcrumb-WMXQ3SI3.js → Breadcrumb-KE4EWH7L.js} +25 -25
- package/dist/{Breadcrumb-WMXQ3SI3.js.map → Breadcrumb-KE4EWH7L.js.map} +1 -1
- package/dist/{CartItem-BBC25XRJ.js → CartItem-RMCXCGHT.js} +25 -25
- package/dist/{CartItem-BBC25XRJ.js.map → CartItem-RMCXCGHT.js.map} +1 -1
- package/dist/{CartSummary-6QADXXET.js → CartSummary-NLEAHKWF.js} +25 -25
- package/dist/{CartSummary-6QADXXET.js.map → CartSummary-NLEAHKWF.js.map} +1 -1
- package/dist/{Copyright-GFBOKME6.js → Copyright-EIBPTE3B.js} +3 -3
- package/dist/{Copyright-GFBOKME6.js.map → Copyright-EIBPTE3B.js.map} +1 -1
- package/dist/{CustomerLayout-4LOPQ7HW.js → CustomerLayout-POGWFN6R.js} +25 -25
- package/dist/{CustomerLayout-4LOPQ7HW.js.map → CustomerLayout-POGWFN6R.js.map} +1 -1
- package/dist/{Footer-HATEFXZP.js → Footer-LGIUINGS.js} +4 -4
- package/dist/{Footer-HATEFXZP.js.map → Footer-LGIUINGS.js.map} +1 -1
- package/dist/{Header-R2VM5EFR.js → Header-4TGYO6E4.js} +11 -11
- package/dist/{Header-R2VM5EFR.js.map → Header-4TGYO6E4.js.map} +1 -1
- package/dist/{LatestProducts-IOYD7Y4Z.js → LatestProducts-YYKQNL5N.js} +27 -27
- package/dist/{LatestProducts-IOYD7Y4Z.js.map → LatestProducts-YYKQNL5N.js.map} +1 -1
- package/dist/{LoyaltyPage-2JPXJ3DB.js → LoyaltyPage-MROFMZXV.js} +25 -25
- package/dist/{LoyaltyPage-2JPXJ3DB.js.map → LoyaltyPage-MROFMZXV.js.map} +1 -1
- package/dist/{LoyaltyPointsPage-B7EALH4Z.js → LoyaltyPointsPage-DVHJOAKP.js} +8 -8
- package/dist/{LoyaltyPointsPage-B7EALH4Z.js.map → LoyaltyPointsPage-DVHJOAKP.js.map} +1 -1
- package/dist/{MainMenu-BGVWE6TJ.js → MainMenu-GQO5KOTU.js} +7 -7
- package/dist/{MainMenu-BGVWE6TJ.js.map → MainMenu-GQO5KOTU.js.map} +1 -1
- package/dist/{MasterLayout-U33ZBIZO.js → MasterLayout-ZJBJ7EHM.js} +25 -25
- package/dist/{MasterLayout-U33ZBIZO.js.map → MasterLayout-ZJBJ7EHM.js.map} +1 -1
- package/dist/{MobileMenu-6OERFJSR.js → MobileMenu-TZSFYHPW.js} +26 -26
- package/dist/{MobileMenu-6OERFJSR.js.map → MobileMenu-TZSFYHPW.js.map} +1 -1
- package/dist/{NotificationsPage-YBFHEZYG.js → NotificationsPage-BX6OSIDY.js} +25 -25
- package/dist/{NotificationsPage-YBFHEZYG.js.map → NotificationsPage-BX6OSIDY.js.map} +1 -1
- package/dist/{OrderSinglePage-EPOX5KJG.js → OrderSinglePage-3RQ5TJDB.js} +26 -26
- package/dist/{OrderSinglePage-EPOX5KJG.js.map → OrderSinglePage-3RQ5TJDB.js.map} +1 -1
- package/dist/{OrdersPage-6RPTMFAL.js → OrdersPage-S4ECYNGI.js} +25 -25
- package/dist/{OrdersPage-6RPTMFAL.js.map → OrdersPage-S4ECYNGI.js.map} +1 -1
- package/dist/{PageSingle-CEFQDKOP.js → PageSingle-BZGDC4VE.js} +6 -6
- package/dist/{PageSingle-CEFQDKOP.js.map → PageSingle-BZGDC4VE.js.map} +1 -1
- package/dist/{ProductDetails-M6C6H3J4.js → ProductDetails-ZPRWPSVK.js} +7 -7
- package/dist/{ProductDetails-M6C6H3J4.js.map → ProductDetails-ZPRWPSVK.js.map} +1 -1
- package/dist/{ProfilePage-EJV2V46I.js → ProfilePage-SKAS6LFQ.js} +25 -25
- package/dist/{ProfilePage-EJV2V46I.js.map → ProfilePage-SKAS6LFQ.js.map} +1 -1
- package/dist/{ReviewsPage-5K4PEJVZ.js → ReviewsPage-NAZWXVXT.js} +3 -3
- package/dist/{ReviewsPage-5K4PEJVZ.js.map → ReviewsPage-NAZWXVXT.js.map} +1 -1
- package/dist/{SeoCartWidget-EQY6JIQR.js → SeoCartWidget-6NB6LT2Z.js} +25 -25
- package/dist/{SeoCartWidget-EQY6JIQR.js.map → SeoCartWidget-6NB6LT2Z.js.map} +1 -1
- package/dist/{SettingsPage-AXHVNXFO.js → SettingsPage-GZ2NJIUR.js} +25 -25
- package/dist/{SettingsPage-AXHVNXFO.js.map → SettingsPage-GZ2NJIUR.js.map} +1 -1
- package/dist/{StoreClosedNotification-W2ATH4WF.js → StoreClosedNotification-V72F7HE5.js} +26 -26
- package/dist/{StoreClosedNotification-W2ATH4WF.js.map → StoreClosedNotification-V72F7HE5.js.map} +1 -1
- package/dist/{TestimonialsPage-DYXOQOYG.js → TestimonialsPage-L6VBZFLT.js} +6 -6
- package/dist/{TestimonialsPage-DYXOQOYG.js.map → TestimonialsPage-L6VBZFLT.js.map} +1 -1
- package/dist/{ThankYouPage-NZVL7WLY.js → ThankYouPage-O5U3V6J4.js} +25 -25
- package/dist/{ThankYouPage-NZVL7WLY.js.map → ThankYouPage-O5U3V6J4.js.map} +1 -1
- package/dist/{WalletPage-6JUYGDBV.js → WalletPage-NJBBZIMM.js} +26 -26
- package/dist/{WalletPage-6JUYGDBV.js.map → WalletPage-NJBBZIMM.js.map} +1 -1
- package/dist/{WebMcpTools-5RGBTR7I.js → WebMcpTools-VAZH3S5G.js} +9 -9
- package/dist/{WebMcpTools-5RGBTR7I.js.map → WebMcpTools-VAZH3S5G.js.map} +1 -1
- package/dist/{WishlistPage-VVPNCLOP.js → WishlistPage-UKOGNFKB.js} +27 -27
- package/dist/{WishlistPage-VVPNCLOP.js.map → WishlistPage-UKOGNFKB.js.map} +1 -1
- package/dist/api/advertisement.js +4 -4
- package/dist/api/apps.js +4 -4
- package/dist/api/blog.js +6 -6
- package/dist/api/brands.js +6 -6
- package/dist/api/cart.js +6 -6
- package/dist/api/category.js +6 -6
- package/dist/api/client.js +3 -3
- package/dist/api/home.js +4 -4
- package/dist/api/loyalty.js +6 -6
- package/dist/api/menu.js +4 -4
- package/dist/api/notification.js +4 -4
- package/dist/api/order.js +6 -6
- package/dist/api/page.js +6 -6
- package/dist/api/product.js +6 -6
- package/dist/api/profile.js +3 -3
- package/dist/api/store.js +5 -5
- package/dist/api/translations.js +4 -4
- package/dist/api/user.js +4 -4
- package/dist/api/wallet.js +4 -4
- package/dist/api/wishlist.js +7 -7
- package/dist/{chunk-H2M2573Y.js → chunk-2CILV5ME.js} +5 -5
- package/dist/{chunk-H2M2573Y.js.map → chunk-2CILV5ME.js.map} +1 -1
- package/dist/{chunk-62IIZZPR.js → chunk-2HCODIC6.js} +4 -4
- package/dist/{chunk-62IIZZPR.js.map → chunk-2HCODIC6.js.map} +1 -1
- package/dist/{chunk-IQNTYZGF.js → chunk-2ZC5YGMI.js} +3 -3
- package/dist/{chunk-IQNTYZGF.js.map → chunk-2ZC5YGMI.js.map} +1 -1
- package/dist/{chunk-TJ3TISBF.js → chunk-34L65JGK.js} +4 -4
- package/dist/{chunk-TJ3TISBF.js.map → chunk-34L65JGK.js.map} +1 -1
- package/dist/{chunk-T2752RH7.js → chunk-4E6FD5W7.js} +60 -4
- package/dist/chunk-4E6FD5W7.js.map +1 -0
- package/dist/{chunk-M5WTY3EH.js → chunk-5EAISVPV.js} +3 -3
- package/dist/{chunk-M5WTY3EH.js.map → chunk-5EAISVPV.js.map} +1 -1
- package/dist/{chunk-E3Z3PQAP.js → chunk-5LI536P6.js} +5 -5
- package/dist/{chunk-E3Z3PQAP.js.map → chunk-5LI536P6.js.map} +1 -1
- package/dist/{chunk-6HUQL6WU.js → chunk-5M2AK5KE.js} +4 -4
- package/dist/{chunk-6HUQL6WU.js.map → chunk-5M2AK5KE.js.map} +1 -1
- package/dist/{chunk-EMNDPJRS.js → chunk-5NUCGUTE.js} +4 -4
- package/dist/{chunk-EMNDPJRS.js.map → chunk-5NUCGUTE.js.map} +1 -1
- package/dist/{chunk-CJTORCZE.js → chunk-5RBXCPG6.js} +3 -3
- package/dist/{chunk-CJTORCZE.js.map → chunk-5RBXCPG6.js.map} +1 -1
- package/dist/{chunk-MDZ7OUAW.js → chunk-5T4MJAUN.js} +3 -3
- package/dist/{chunk-MDZ7OUAW.js.map → chunk-5T4MJAUN.js.map} +1 -1
- package/dist/{chunk-4VDW24VN.js → chunk-6H6BVZBV.js} +3 -3
- package/dist/{chunk-4VDW24VN.js.map → chunk-6H6BVZBV.js.map} +1 -1
- package/dist/{chunk-D6OV66P2.js → chunk-6QIF6WJH.js} +3 -3
- package/dist/{chunk-D6OV66P2.js.map → chunk-6QIF6WJH.js.map} +1 -1
- package/dist/{chunk-SLBO4SEE.js → chunk-6YEE3VHL.js} +3 -3
- package/dist/{chunk-SLBO4SEE.js.map → chunk-6YEE3VHL.js.map} +1 -1
- package/dist/{chunk-XMRNYUQY.js → chunk-7XAGU6CT.js} +3 -3
- package/dist/{chunk-XMRNYUQY.js.map → chunk-7XAGU6CT.js.map} +1 -1
- package/dist/{chunk-SNTJYDYZ.js → chunk-AOQZHLZZ.js} +5 -5
- package/dist/{chunk-SNTJYDYZ.js.map → chunk-AOQZHLZZ.js.map} +1 -1
- package/dist/{chunk-H7LRGY7U.js → chunk-B57KIBQL.js} +3 -3
- package/dist/{chunk-H7LRGY7U.js.map → chunk-B57KIBQL.js.map} +1 -1
- package/dist/{chunk-QMIPHH5I.js → chunk-BYGVKW3M.js} +4 -4
- package/dist/{chunk-QMIPHH5I.js.map → chunk-BYGVKW3M.js.map} +1 -1
- package/dist/{chunk-5OMZ4GZ6.js → chunk-CAULDK3N.js} +6 -6
- package/dist/{chunk-5OMZ4GZ6.js.map → chunk-CAULDK3N.js.map} +1 -1
- package/dist/{chunk-EGI7F57E.js → chunk-DPQIVZ4T.js} +3 -3
- package/dist/{chunk-EGI7F57E.js.map → chunk-DPQIVZ4T.js.map} +1 -1
- package/dist/{chunk-HHJD2GGA.js → chunk-EMAAVDEK.js} +7 -7
- package/dist/{chunk-HHJD2GGA.js.map → chunk-EMAAVDEK.js.map} +1 -1
- package/dist/{chunk-LOXWQLSH.js → chunk-FCCGJ4DI.js} +7 -7
- package/dist/{chunk-LOXWQLSH.js.map → chunk-FCCGJ4DI.js.map} +1 -1
- package/dist/{chunk-IKCXJYYQ.js → chunk-FL3OK7AQ.js} +36 -16
- package/dist/chunk-FL3OK7AQ.js.map +1 -0
- package/dist/{chunk-DN3SKCOX.js → chunk-GLSRVHYJ.js} +4 -4
- package/dist/{chunk-DN3SKCOX.js.map → chunk-GLSRVHYJ.js.map} +1 -1
- package/dist/{chunk-2DM2EXRT.js → chunk-I2LK4IC2.js} +4 -4
- package/dist/{chunk-2DM2EXRT.js.map → chunk-I2LK4IC2.js.map} +1 -1
- package/dist/{chunk-ANVS7UYN.js → chunk-IEKP3HYS.js} +4 -4
- package/dist/{chunk-ANVS7UYN.js.map → chunk-IEKP3HYS.js.map} +1 -1
- package/dist/{chunk-IHOUADLX.js → chunk-JK45RUVV.js} +3 -3
- package/dist/{chunk-IHOUADLX.js.map → chunk-JK45RUVV.js.map} +1 -1
- package/dist/{chunk-ORLSTZ45.js → chunk-JSAWLWUN.js} +4 -4
- package/dist/{chunk-ORLSTZ45.js.map → chunk-JSAWLWUN.js.map} +1 -1
- package/dist/{chunk-ZN3RZJRX.js → chunk-KJ7NG3ZH.js} +3 -3
- package/dist/{chunk-ZN3RZJRX.js.map → chunk-KJ7NG3ZH.js.map} +1 -1
- package/dist/{chunk-VGZEPMXG.js → chunk-LBZNLTBM.js} +3 -3
- package/dist/{chunk-VGZEPMXG.js.map → chunk-LBZNLTBM.js.map} +1 -1
- package/dist/{chunk-5GMXXHV2.js → chunk-LWAJNEIM.js} +4 -4
- package/dist/{chunk-5GMXXHV2.js.map → chunk-LWAJNEIM.js.map} +1 -1
- package/dist/{chunk-4UGJ4VC3.js → chunk-O3XMYDNC.js} +5 -5
- package/dist/{chunk-4UGJ4VC3.js.map → chunk-O3XMYDNC.js.map} +1 -1
- package/dist/{chunk-2LXCSBJU.js → chunk-O63WBEAC.js} +22 -22
- package/dist/{chunk-2LXCSBJU.js.map → chunk-O63WBEAC.js.map} +1 -1
- package/dist/{chunk-WAVAK2RB.js → chunk-OOZQVX7C.js} +6 -6
- package/dist/{chunk-WAVAK2RB.js.map → chunk-OOZQVX7C.js.map} +1 -1
- package/dist/{chunk-MGG4XAJ5.js → chunk-P2PPBXHD.js} +3 -3
- package/dist/{chunk-MGG4XAJ5.js.map → chunk-P2PPBXHD.js.map} +1 -1
- package/dist/{chunk-KOR42MT5.js → chunk-PHPOMWQ4.js} +4 -4
- package/dist/{chunk-KOR42MT5.js.map → chunk-PHPOMWQ4.js.map} +1 -1
- package/dist/{chunk-MFTPNDEI.js → chunk-PPFD456V.js} +3 -3
- package/dist/{chunk-MFTPNDEI.js.map → chunk-PPFD456V.js.map} +1 -1
- package/dist/{chunk-NIPEIVU4.js → chunk-PVOJJ2BV.js} +5 -5
- package/dist/{chunk-NIPEIVU4.js.map → chunk-PVOJJ2BV.js.map} +1 -1
- package/dist/{chunk-A6Y33KCR.js → chunk-PYXAPLNB.js} +3 -3
- package/dist/{chunk-A6Y33KCR.js.map → chunk-PYXAPLNB.js.map} +1 -1
- package/dist/{chunk-WJVKBSKY.js → chunk-PZP3372I.js} +4 -4
- package/dist/{chunk-WJVKBSKY.js.map → chunk-PZP3372I.js.map} +1 -1
- package/dist/{chunk-TQEQECN7.js → chunk-Q7Z76F7N.js} +8 -8
- package/dist/{chunk-TQEQECN7.js.map → chunk-Q7Z76F7N.js.map} +1 -1
- package/dist/{chunk-FJWQ4PYX.js → chunk-QKKEBQ57.js} +6 -6
- package/dist/{chunk-FJWQ4PYX.js.map → chunk-QKKEBQ57.js.map} +1 -1
- package/dist/{chunk-QMWP2ZP6.js → chunk-R7QCNL62.js} +3 -3
- package/dist/{chunk-QMWP2ZP6.js.map → chunk-R7QCNL62.js.map} +1 -1
- package/dist/{chunk-WJJOFIBJ.js → chunk-RB7RHMKJ.js} +5 -5
- package/dist/{chunk-WJJOFIBJ.js.map → chunk-RB7RHMKJ.js.map} +1 -1
- package/dist/{chunk-F7RABDDP.js → chunk-RY6VPXG6.js} +3 -3
- package/dist/{chunk-F7RABDDP.js.map → chunk-RY6VPXG6.js.map} +1 -1
- package/dist/{chunk-R7VWIXFX.js → chunk-TEAYGNHT.js} +3 -3
- package/dist/{chunk-R7VWIXFX.js.map → chunk-TEAYGNHT.js.map} +1 -1
- package/dist/{chunk-XDA6N5GZ.js → chunk-TXYLHBUH.js} +3 -3
- package/dist/{chunk-XDA6N5GZ.js.map → chunk-TXYLHBUH.js.map} +1 -1
- package/dist/{chunk-6TFM3UTF.js → chunk-ULF4LPVA.js} +3 -3
- package/dist/{chunk-6TFM3UTF.js.map → chunk-ULF4LPVA.js.map} +1 -1
- package/dist/{chunk-FYL4GPXH.js → chunk-UUHLRFXB.js} +8 -8
- package/dist/{chunk-FYL4GPXH.js.map → chunk-UUHLRFXB.js.map} +1 -1
- package/dist/{chunk-ISW7G4IX.js → chunk-VJA4DVVT.js} +4 -4
- package/dist/{chunk-ISW7G4IX.js.map → chunk-VJA4DVVT.js.map} +1 -1
- package/dist/{chunk-JSHOX64U.js → chunk-W7CYFPGY.js} +6 -6
- package/dist/{chunk-JSHOX64U.js.map → chunk-W7CYFPGY.js.map} +1 -1
- package/dist/{chunk-5V4W3GBI.js → chunk-WAKCWE6P.js} +5 -5
- package/dist/{chunk-5V4W3GBI.js.map → chunk-WAKCWE6P.js.map} +1 -1
- package/dist/{chunk-EE7SB3QH.js → chunk-ZUVBDALM.js} +4 -4
- package/dist/{chunk-EE7SB3QH.js.map → chunk-ZUVBDALM.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 +23 -23
- package/dist/components/home/index.js +28 -28
- package/dist/components/layout/index.js +6 -6
- package/dist/components/product/index.js +25 -25
- package/dist/components/store/index.js +24 -24
- package/dist/components/toast/index.js +4 -4
- package/dist/dev/editor/index.js +2 -2
- package/dist/dev/index.js +2 -2
- package/dist/document-class-N7WF3WXG.js +33 -0
- package/dist/{document-class-FSNL65IJ.js.map → document-class-N7WF3WXG.js.map} +1 -1
- package/dist/hooks/index.js +23 -23
- package/dist/hooks/useComments.js +3 -3
- package/dist/hooks/useGtm.js +23 -23
- package/dist/hooks/useMoney.js +23 -23
- package/dist/hooks/useProduct.js +3 -3
- package/dist/hooks/useStore.js +23 -23
- package/dist/hooks/useUser.js +5 -5
- package/dist/hooks/useWishlist.js +3 -3
- package/dist/index.js +23 -23
- package/dist/native-app/index.js +3 -3
- package/dist/{navigation-CCGB3YEB.js → navigation-5DPDZQUU.js} +8 -8
- package/dist/{navigation-CCGB3YEB.js.map → navigation-5DPDZQUU.js.map} +1 -1
- package/dist/{navigation-I5H3HLZV.js → navigation-FRKMKNLK.js} +7 -7
- package/dist/{navigation-I5H3HLZV.js.map → navigation-FRKMKNLK.js.map} +1 -1
- package/dist/{not-found-SMNBZNFW.js → not-found-4U2TRCLF.js} +26 -26
- package/dist/{not-found-SMNBZNFW.js.map → not-found-4U2TRCLF.js.map} +1 -1
- package/dist/providers/index.js +23 -23
- package/dist/routes/account/orders.js +8 -8
- package/dist/routes/account.js +17 -17
- package/dist/routes/blog.js +12 -12
- package/dist/routes/brands.js +8 -8
- package/dist/routes/cart.js +32 -32
- package/dist/routes/home.js +29 -29
- package/dist/routes/index.js +6 -6
- package/dist/routes/loyalty.js +9 -9
- package/dist/routes/page.js +8 -8
- package/dist/routes/product-listing.js +33 -33
- package/dist/routes/product.js +28 -28
- package/dist/routes/root/beforeLoad.d.ts.map +1 -1
- package/dist/routes/seo-redirects.js +6 -6
- package/dist/routes/testimonials.js +4 -4
- package/dist/routes/thank-you.js +8 -8
- package/dist/skeleton.js +29 -29
- package/dist/{store-lookup-VFRN2MVI.js → store-lookup-S6JUSKNH.js} +11 -11
- package/dist/{store-lookup-VFRN2MVI.js.map → store-lookup-S6JUSKNH.js.map} +1 -1
- package/dist/tanstack.js +20 -20
- package/dist/utils/baseHead.js +2 -2
- package/dist/utils/index.js +6 -6
- package/dist/utils/shared-host-language.d.ts +5 -0
- package/dist/utils/shared-host-language.d.ts.map +1 -1
- package/dist/utils/store-base.d.ts +60 -0
- package/dist/utils/store-base.d.ts.map +1 -1
- package/dist/utils/store-identity.d.ts +14 -0
- package/dist/utils/store-identity.d.ts.map +1 -1
- package/dist/vite/index.js +3 -3
- package/package.json +1 -1
- package/tailwind/routes/root/beforeLoad.ts.txt +37 -3
- package/dist/chunk-IKCXJYYQ.js.map +0 -1
- package/dist/chunk-T2752RH7.js.map +0 -1
- package/dist/document-class-FSNL65IJ.js +0 -33
package/dist/skeleton.js
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
export { BlogSkeleton, BreadcrumbSkeleton, CartSkeleton, CustomerLayoutSkeleton, CustomerPageSkeleton, PageSkeleton, ProductCardSkeleton, ProductDetailSkeleton, ProductGridSkeleton, SkeletonPulse } from './chunk-N7CCSGZF.js';
|
|
2
|
-
export { HomeSkeleton } from './chunk-
|
|
2
|
+
export { HomeSkeleton } from './chunk-W7CYFPGY.js';
|
|
3
3
|
import './chunk-IXHM24Z4.js';
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
4
|
+
import './chunk-UUHLRFXB.js';
|
|
5
|
+
import './chunk-TXYLHBUH.js';
|
|
6
|
+
import './chunk-ZUVBDALM.js';
|
|
7
|
+
import './chunk-CAULDK3N.js';
|
|
8
|
+
import './chunk-PVOJJ2BV.js';
|
|
9
9
|
import './chunk-Y32RHCOH.js';
|
|
10
|
-
import './chunk-
|
|
10
|
+
import './chunk-O63WBEAC.js';
|
|
11
11
|
import './chunk-Q77J3D2W.js';
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
12
|
+
import './chunk-EMAAVDEK.js';
|
|
13
|
+
import './chunk-5T4MJAUN.js';
|
|
14
|
+
import './chunk-WAKCWE6P.js';
|
|
15
15
|
import './chunk-X55R4VVK.js';
|
|
16
16
|
import './chunk-YL6X3ZMG.js';
|
|
17
|
-
import './chunk-
|
|
17
|
+
import './chunk-IEKP3HYS.js';
|
|
18
18
|
import './chunk-OXMUPNMH.js';
|
|
19
|
-
import './chunk-
|
|
19
|
+
import './chunk-5RBXCPG6.js';
|
|
20
20
|
import './chunk-VVZNW5CB.js';
|
|
21
|
-
import './chunk-
|
|
21
|
+
import './chunk-DPQIVZ4T.js';
|
|
22
22
|
import './chunk-GD26FI4J.js';
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
25
|
-
import './chunk-
|
|
23
|
+
import './chunk-6YEE3VHL.js';
|
|
24
|
+
import './chunk-P2PPBXHD.js';
|
|
25
|
+
import './chunk-O3XMYDNC.js';
|
|
26
26
|
import './chunk-OUW6WESU.js';
|
|
27
|
-
import './chunk-
|
|
27
|
+
import './chunk-JK45RUVV.js';
|
|
28
28
|
import './chunk-HI5V5X3S.js';
|
|
29
|
-
import './chunk-
|
|
30
|
-
import './chunk-
|
|
29
|
+
import './chunk-2ZC5YGMI.js';
|
|
30
|
+
import './chunk-PYXAPLNB.js';
|
|
31
31
|
import './chunk-6T55LXJL.js';
|
|
32
32
|
import './chunk-Z653O7MX.js';
|
|
33
33
|
import './chunk-ZCH7W7DZ.js';
|
|
34
|
-
import './chunk-
|
|
34
|
+
import './chunk-B57KIBQL.js';
|
|
35
35
|
import './chunk-JWXJPJBO.js';
|
|
36
36
|
import './chunk-CW625T2E.js';
|
|
37
37
|
import './chunk-7V36I5GT.js';
|
|
38
38
|
import './chunk-6WI7R2BD.js';
|
|
39
|
-
import './chunk-
|
|
39
|
+
import './chunk-5EAISVPV.js';
|
|
40
40
|
import './chunk-OAMIDZKW.js';
|
|
41
|
-
import './chunk-
|
|
41
|
+
import './chunk-BYGVKW3M.js';
|
|
42
42
|
import './chunk-OQIIJRAS.js';
|
|
43
43
|
import './chunk-V2ZDTY6H.js';
|
|
44
|
-
import './chunk-
|
|
44
|
+
import './chunk-PPFD456V.js';
|
|
45
45
|
import './chunk-5XDPAKF5.js';
|
|
46
46
|
import './chunk-GCPEMNSU.js';
|
|
47
|
-
import './chunk-
|
|
47
|
+
import './chunk-RB7RHMKJ.js';
|
|
48
48
|
import './chunk-Z5M4YYWT.js';
|
|
49
49
|
import './chunk-TYNZ5B2B.js';
|
|
50
|
-
import './chunk-
|
|
50
|
+
import './chunk-LBZNLTBM.js';
|
|
51
51
|
import './chunk-AXW67SY7.js';
|
|
52
52
|
import './chunk-BYMOPN2S.js';
|
|
53
53
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -55,10 +55,10 @@ import './chunk-6BZ5TKEV.js';
|
|
|
55
55
|
import './chunk-FZKRSGLP.js';
|
|
56
56
|
import './chunk-KYMWEUN2.js';
|
|
57
57
|
import './chunk-YA6ABQB7.js';
|
|
58
|
-
import './chunk-
|
|
59
|
-
import './chunk-
|
|
60
|
-
import './chunk-
|
|
61
|
-
import './chunk-
|
|
58
|
+
import './chunk-R7QCNL62.js';
|
|
59
|
+
import './chunk-ULF4LPVA.js';
|
|
60
|
+
import './chunk-7XAGU6CT.js';
|
|
61
|
+
import './chunk-4E6FD5W7.js';
|
|
62
62
|
import './chunk-6K34BCUP.js';
|
|
63
63
|
import './chunk-T72DAX7R.js';
|
|
64
64
|
import './chunk-DF6FBKDN.js';
|
|
@@ -1,15 +1,15 @@
|
|
|
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-5NUCGUTE.js';
|
|
2
|
+
import { blog } from './chunk-34L65JGK.js';
|
|
3
|
+
import { brand } from './chunk-JSAWLWUN.js';
|
|
4
|
+
import { product } from './chunk-ZUVBDALM.js';
|
|
5
5
|
import { DEV_LOOKUP_BUDGET_MS } from './chunk-OXMUPNMH.js';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-O3XMYDNC.js';
|
|
7
7
|
import './chunk-OUW6WESU.js';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-RB7RHMKJ.js';
|
|
9
9
|
import './chunk-Z5M4YYWT.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
10
|
+
import './chunk-ULF4LPVA.js';
|
|
11
|
+
import './chunk-7XAGU6CT.js';
|
|
12
|
+
import './chunk-4E6FD5W7.js';
|
|
13
13
|
import './chunk-6K34BCUP.js';
|
|
14
14
|
import './chunk-T72DAX7R.js';
|
|
15
15
|
import './chunk-DF6FBKDN.js';
|
|
@@ -111,5 +111,5 @@ function lookupInStore(source, query) {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
export { lookupInStore };
|
|
114
|
-
//# sourceMappingURL=store-lookup-
|
|
115
|
-
//# sourceMappingURL=store-lookup-
|
|
114
|
+
//# sourceMappingURL=store-lookup-S6JUSKNH.js.map
|
|
115
|
+
//# sourceMappingURL=store-lookup-S6JUSKNH.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-S6JUSKNH.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,33 +1,33 @@
|
|
|
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-FL3OK7AQ.js';
|
|
2
|
+
import { requestHostOf } from './chunk-QKKEBQ57.js';
|
|
3
|
+
export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-QKKEBQ57.js';
|
|
4
4
|
import './chunk-Z4Y55HWX.js';
|
|
5
|
-
export { tanstackHeadAdapter as head, withHead } from './chunk-
|
|
5
|
+
export { tanstackHeadAdapter as head, withHead } from './chunk-TEAYGNHT.js';
|
|
6
6
|
import { CRITICAL_STYLE_HREF } from './chunk-4FJGZQD3.js';
|
|
7
|
-
import { readNativeAppHeaders } from './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import { rootHead } from './chunk-
|
|
7
|
+
import { readNativeAppHeaders } from './chunk-OOZQVX7C.js';
|
|
8
|
+
import './chunk-KJ7NG3ZH.js';
|
|
9
|
+
import './chunk-5LI536P6.js';
|
|
10
|
+
import './chunk-PZP3372I.js';
|
|
11
|
+
import './chunk-ZUVBDALM.js';
|
|
12
|
+
import { rootHead } from './chunk-WAKCWE6P.js';
|
|
13
13
|
import './chunk-X55R4VVK.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
14
|
+
import './chunk-5RBXCPG6.js';
|
|
15
|
+
import './chunk-DPQIVZ4T.js';
|
|
16
16
|
import './chunk-GD26FI4J.js';
|
|
17
|
-
import { maintenanceEvidence, MAINTENANCE_EVIDENCE_HEADER, maintenanceEvidenceHeader } from './chunk-
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
17
|
+
import { maintenanceEvidence, MAINTENANCE_EVIDENCE_HEADER, maintenanceEvidenceHeader } from './chunk-6YEE3VHL.js';
|
|
18
|
+
import './chunk-P2PPBXHD.js';
|
|
19
|
+
import './chunk-O3XMYDNC.js';
|
|
20
20
|
import './chunk-OUW6WESU.js';
|
|
21
21
|
import './chunk-JWXJPJBO.js';
|
|
22
22
|
export { mergeDocumentDescriptors as mergeAttrs } from './chunk-CW625T2E.js';
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
23
|
+
import './chunk-PPFD456V.js';
|
|
24
|
+
import './chunk-RB7RHMKJ.js';
|
|
25
25
|
import './chunk-Z5M4YYWT.js';
|
|
26
26
|
import './chunk-TYNZ5B2B.js';
|
|
27
27
|
import './chunk-BYMOPN2S.js';
|
|
28
|
-
import './chunk-
|
|
29
|
-
import './chunk-
|
|
30
|
-
import { AUTH_TOKEN_COOKIE_NAME, extractTokenFromCookies, resolveRequestScope, resolveAddressedStore, STORE_BASE_HEADER, resolveRequestVersionId, legacyLocaleRedirectHref } from './chunk-
|
|
28
|
+
import './chunk-ULF4LPVA.js';
|
|
29
|
+
import './chunk-7XAGU6CT.js';
|
|
30
|
+
import { AUTH_TOKEN_COOKIE_NAME, extractTokenFromCookies, resolveRequestScope, resolveAddressedStore, STORE_BASE_HEADER, resolveRequestVersionId, legacyLocaleRedirectHref } from './chunk-4E6FD5W7.js';
|
|
31
31
|
import { runWithTwilightContext, getTwilightContext } from './chunk-6K34BCUP.js';
|
|
32
32
|
export { getTwilightContext, runWithTwilightContext, updateTwilightContext } from './chunk-6K34BCUP.js';
|
|
33
33
|
import './chunk-T72DAX7R.js';
|
package/dist/utils/baseHead.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { buildBaseHead, buildHreflangAlternates, localeToOgLocale, storePageUrl } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { buildBaseHead, buildHreflangAlternates, localeToOgLocale, storePageUrl } from '../chunk-P2PPBXHD.js';
|
|
2
|
+
import '../chunk-4E6FD5W7.js';
|
|
3
3
|
import '../chunk-6K34BCUP.js';
|
|
4
4
|
import '../chunk-T72DAX7R.js';
|
|
5
5
|
import '../chunk-DGUM43GV.js';
|
package/dist/utils/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
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-PZP3372I.js';
|
|
4
4
|
export { sortOptions } from '../chunk-3LZJXKVO.js';
|
|
5
5
|
export { color } from '../chunk-VVZNW5CB.js';
|
|
6
|
-
export { applyAppScopeMocks, registerThemeHookSlots } from '../chunk-
|
|
6
|
+
export { applyAppScopeMocks, registerThemeHookSlots } from '../chunk-DPQIVZ4T.js';
|
|
7
7
|
export { mergeHead, resolveHead, setHeadAdapter } from '../chunk-GD26FI4J.js';
|
|
8
|
-
export { buildBaseHead, buildHreflangAlternates, localeToOgLocale } from '../chunk-
|
|
8
|
+
export { buildBaseHead, buildHreflangAlternates, localeToOgLocale } from '../chunk-P2PPBXHD.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-
|
|
11
|
+
import '../chunk-RB7RHMKJ.js';
|
|
12
12
|
import '../chunk-Z5M4YYWT.js';
|
|
13
|
-
export { getSallaSDK, getStoreIdentifier, onSallaEvent, whenSallaLoaded, whenSallaReady } from '../chunk-
|
|
14
|
-
export { AUTH_TOKEN_COOKIE_NAME, clearAuthTokenCookie, extractTokenFromCookies } from '../chunk-
|
|
13
|
+
export { getSallaSDK, getStoreIdentifier, onSallaEvent, whenSallaLoaded, whenSallaReady } from '../chunk-7XAGU6CT.js';
|
|
14
|
+
export { AUTH_TOKEN_COOKIE_NAME, clearAuthTokenCookie, extractTokenFromCookies } from '../chunk-4E6FD5W7.js';
|
|
15
15
|
import '../chunk-6K34BCUP.js';
|
|
16
16
|
import '../chunk-T72DAX7R.js';
|
|
17
17
|
import '../chunk-DGUM43GV.js';
|
|
@@ -14,6 +14,11 @@ import type { StoreContext } from '../api/store';
|
|
|
14
14
|
export declare function hasLanguageParam(search: string): boolean;
|
|
15
15
|
/** The language the `s-lang` cookie remembers, if it is a known one. */
|
|
16
16
|
export declare function languageFromCookies(cookieHeader: string | null): string | null;
|
|
17
|
+
/**
|
|
18
|
+
* The language the visitor chose on a shared host: `?lang=`, then the `s-lang` cookie. Null when
|
|
19
|
+
* neither names a language the engine knows, which is when {@link virtualLocale} falls back.
|
|
20
|
+
*/
|
|
21
|
+
export declare function chosenLocale(search: string, cookieHeader: string | null): string | null;
|
|
17
22
|
/**
|
|
18
23
|
* The language a request on a shared host is for, before the store's settings are known:
|
|
19
24
|
* `?lang=`, then the `s-lang` cookie, then {@link FALLBACK_LOCALE}. Each must be a language
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-host-language.d.ts","sourceRoot":"","sources":["../../src/utils/shared-host-language.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA2BjD,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAE9E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEjF;AAUD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGtF;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAOrE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,GAAG,IAAI,CAMxE;AAED,sGAAsG;AACtG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAOvE;AAED,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4GAA4G;IAC5G,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,GAAG,kBAAkB,CAyBrB"}
|
|
1
|
+
{"version":3,"file":"shared-host-language.d.ts","sourceRoot":"","sources":["../../src/utils/shared-host-language.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA2BjD,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAE9E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAEvF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEjF;AAUD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGtF;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAOrE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,GAAG,IAAI,CAMxE;AAED,sGAAsG;AACtG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAOvE;AAED,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4GAA4G;IAC5G,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,GAAG,kBAAkB,CAyBrB"}
|
|
@@ -129,6 +129,66 @@ export declare function stoppedDomainRedirectHref(args: {
|
|
|
129
129
|
storeUrl: string | null | undefined;
|
|
130
130
|
username: string | null | undefined;
|
|
131
131
|
}): string | null;
|
|
132
|
+
/**
|
|
133
|
+
* The hosts where Twig serves a store at its username even when the store has a domain of its own,
|
|
134
|
+
* because `checkUsername` takes every request there for a preview: its preview host
|
|
135
|
+
* (`salla.app.preview_domain`) and its template host (`salla.app.template_domain`).
|
|
136
|
+
*/
|
|
137
|
+
export declare const TWIG_PREVIEW_HOSTS: readonly string[];
|
|
138
|
+
/**
|
|
139
|
+
* The lowest `cf-bot-score` Twig takes for a person's: `checkUsername` treats a lower score as a
|
|
140
|
+
* bot's, and a request without the header as a score of 0.
|
|
141
|
+
*/
|
|
142
|
+
export declare const HUMAN_BOT_SCORE = 11;
|
|
143
|
+
/** Where {@link ownDomainRedirect} sends a request, and with which status. */
|
|
144
|
+
export interface OwnDomainRedirect {
|
|
145
|
+
href: string;
|
|
146
|
+
statusCode: 301 | 307;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Where a page on a Salla shared host sends a shopper when its store is served on a domain of its
|
|
150
|
+
* own, as Twig's `checkUsername` does: `salla.sa/diamondneedles/cart?x=1` →
|
|
151
|
+
* `https://d-needles.com/cart?x=1`. Null for any other request.
|
|
152
|
+
*
|
|
153
|
+
* The settings already say it. Core builds `store.url` (`isUrlWithoutDomain`) as
|
|
154
|
+
* `https://salla.sa/<username>/` for a basic-plan store and for a store whose domain is not
|
|
155
|
+
* active, and otherwise as its own domain: its market's domain when it has markets, followed by a
|
|
156
|
+
* language when it is multilingual (`https://sa.reefperfumes.com/ar/`). A `store.url` whose path
|
|
157
|
+
* is at most a language, on another host, is therefore the address of a store that is not on the
|
|
158
|
+
* basic plan and has an active domain, which is what `checkUsername` checks. The plan (`ray`) is
|
|
159
|
+
* not read: Twig sends a store with no plan to its domain too.
|
|
160
|
+
*
|
|
161
|
+
* - **Where:** only on a request the dispatcher named its store for, by the username in the path
|
|
162
|
+
* of a shared host (`x-salla-store-base`). Never on the preview host or a dev server, and never on
|
|
163
|
+
* Twig's preview hosts ({@link TWIG_PREVIEW_HOSTS}). A store's own host is the store, so a
|
|
164
|
+
* request there is never sent to another of its hosts (a market's domain, the `www.` address),
|
|
165
|
+
* which Twig serves too.
|
|
166
|
+
* - **The address:** the target's origin, then the page's path without the username, then its
|
|
167
|
+
* query. Like Twig's, it carries no language, except one the shopper chose (`locale`: `?lang=` or
|
|
168
|
+
* the `s-lang` cookie) that the store offers and that is not its default. That one goes in front
|
|
169
|
+
* of the path (`?lang=en` becomes `/en/…`), because only a shared host reads the parameter.
|
|
170
|
+
* - **The status:** 301, but 307 for a person's home page (`cf-bot-score` {@link HUMAN_BOT_SCORE}
|
|
171
|
+
* or more), as Twig answers. A browser keeps a 301 for good, and the home page is the address a
|
|
172
|
+
* shopper comes back to if the merchant drops the domain. A request without a score counts as a
|
|
173
|
+
* bot's, as in Twig.
|
|
174
|
+
*
|
|
175
|
+
* `href` is the router's own href: a virtual language in front of the path and no store segment
|
|
176
|
+
* (`/ar/cart?x=1`). The router keeps it percent-encoded, so the result is safe to put in a
|
|
177
|
+
* `Location` header.
|
|
178
|
+
*/
|
|
179
|
+
export declare function ownDomainRedirect(args: {
|
|
180
|
+
host: string | null | undefined;
|
|
181
|
+
/** The store segment the dispatcher named on a shared host, or null when it named none. */
|
|
182
|
+
sharedHostBase: string | null;
|
|
183
|
+
storeUrl: string | null | undefined;
|
|
184
|
+
href: string;
|
|
185
|
+
/** The language the shopper chose, or null when they chose none. */
|
|
186
|
+
locale: string | null;
|
|
187
|
+
/** The languages the store offers, or null when its settings do not list them. */
|
|
188
|
+
offeredLocales: readonly string[] | null;
|
|
189
|
+
defaultLocale: string | null;
|
|
190
|
+
botScore: number | null;
|
|
191
|
+
}): OwnDomainRedirect | null;
|
|
132
192
|
/**
|
|
133
193
|
* Where to send a guest who opened a customer-only page: the locale's home with
|
|
134
194
|
* `intended_to`, which the SDK reads to open the login modal and come back after.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-base.d.ts","sourceRoot":"","sources":["../../src/utils/store-base.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,UAAQ,GAAG,MAAM,CAY5F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAOnF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,UAAQ,GAAG,MAAM,CAYzF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBjF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAeR;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAMT;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,GAAG,IAAI,CAShB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,qFAAqF;IACrF,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACrC,GAAG,MAAM,GAAG,IAAI,CAgBhB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,MAAM,GAAG,IAAI,CAUhB"}
|
|
1
|
+
{"version":3,"file":"store-base.d.ts","sourceRoot":"","sources":["../../src/utils/store-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type OwnDomainRedirect } from './store-base';
|
|
2
|
+
import type { StoreContext } from '../api/store';
|
|
1
3
|
import type { Store } from '../types';
|
|
2
4
|
/**
|
|
3
5
|
* Which store to ask about, in the order the answers can be trusted.
|
|
@@ -87,4 +89,16 @@ export declare function resolveStoreBaseRedirect(username: string | null | undef
|
|
|
87
89
|
* @param store - the store the settings were answered for
|
|
88
90
|
*/
|
|
89
91
|
export declare function resolveStoppedDomainRedirect(store: Store | null | undefined): string | null;
|
|
92
|
+
/**
|
|
93
|
+
* The store's own domain, when this request reached a store served there by its username on a
|
|
94
|
+
* Salla shared host; null otherwise. See `ownDomainRedirect` for the rules.
|
|
95
|
+
*
|
|
96
|
+
* @param settings - the settings the request loaded
|
|
97
|
+
* @param href - the router's own href for the page, without any store segment
|
|
98
|
+
* @param request - the request's `Cookie` header (for `s-lang`) and its `cf-bot-score`
|
|
99
|
+
*/
|
|
100
|
+
export declare function resolveOwnDomainRedirect(settings: StoreContext, href: string, request: {
|
|
101
|
+
cookieHeader: string | null;
|
|
102
|
+
botScore: number | null;
|
|
103
|
+
}): OwnDomainRedirect | null;
|
|
90
104
|
//# sourceMappingURL=store-identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-identity.d.ts","sourceRoot":"","sources":["../../src/utils/store-identity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store-identity.d.ts","sourceRoot":"","sources":["../../src/utils/store-identity.ts"],"names":[],"mappings":"AAsBA,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAoBhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAUhD;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAOvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAI3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAOf;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAQ3F;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAChE,iBAAiB,GAAG,IAAI,CAY1B"}
|
package/dist/vite/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { validateTwilightManifest } from '../chunk-X5NK4TZH.js';
|
|
2
2
|
export { REACT_THEME_TYPE, describeThemeTypeIssue, getThemeType, isReactThemeManifest, validateTwilightManifest } from '../chunk-X5NK4TZH.js';
|
|
3
|
-
import { tanstackHeadAdapter } from '../chunk-
|
|
3
|
+
import { tanstackHeadAdapter } from '../chunk-TEAYGNHT.js';
|
|
4
4
|
import { nextjsHeadAdapter } from '../chunk-HOSHJBPS.js';
|
|
5
5
|
import '../chunk-X55R4VVK.js';
|
|
6
6
|
import { EMPTY_DEV_SCHEMA, DEV_PREVIEW_GLOBAL, DEV_PREVIEW_ENDPOINT, normalizePreviewState, DEV_PREVIEW_EVENT, DEV_EDITOR_PATH, DEV_PREVIEW_IMAGE_ENDPOINT, DEV_PREVIEW_IMAGE_MAX_BYTES } from '../chunk-OXMUPNMH.js';
|
|
7
7
|
import { setHeadAdapter } from '../chunk-GD26FI4J.js';
|
|
8
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-P2PPBXHD.js';
|
|
9
9
|
import { RouteId } from '../chunk-OUW6WESU.js';
|
|
10
|
-
import '../chunk-
|
|
10
|
+
import '../chunk-4E6FD5W7.js';
|
|
11
11
|
import '../chunk-6K34BCUP.js';
|
|
12
12
|
import '../chunk-T72DAX7R.js';
|
|
13
13
|
import '../chunk-DGUM43GV.js';
|
package/package.json
CHANGED
|
@@ -34,6 +34,7 @@ import {
|
|
|
34
34
|
currentHost,
|
|
35
35
|
resolveStoreBase,
|
|
36
36
|
resolveStoreBaseFollowsLocale,
|
|
37
|
+
resolveOwnDomainRedirect,
|
|
37
38
|
resolveStoreBaseRedirect,
|
|
38
39
|
resolveStoppedDomainRedirect,
|
|
39
40
|
} from '../../utils/store-identity';
|
|
@@ -188,6 +189,21 @@ export const persistRequestScope = createIsomorphicFn()
|
|
|
188
189
|
})
|
|
189
190
|
.client((): void => {});
|
|
190
191
|
|
|
192
|
+
/**
|
|
193
|
+
* The request's Cloudflare bot score (`cf-bot-score`), or null when it has none, as in the
|
|
194
|
+
* browser. Twig's `checkUsername` reads the same header to choose a redirect's status.
|
|
195
|
+
*/
|
|
196
|
+
const readBotScore = createIsomorphicFn()
|
|
197
|
+
.server((): number | null => {
|
|
198
|
+
try {
|
|
199
|
+
const score = Number.parseInt(getRequestHeader('cf-bot-score') ?? '', 10);
|
|
200
|
+
return Number.isFinite(score) ? score : null;
|
|
201
|
+
} catch {
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
204
|
+
})
|
|
205
|
+
.client((): number | null => null);
|
|
206
|
+
|
|
191
207
|
/** The request's cookie header: the framework's on the server, the document's in the browser. */
|
|
192
208
|
const requestCookies = createIsomorphicFn()
|
|
193
209
|
.server((): string | null => {
|
|
@@ -295,11 +311,16 @@ function settleSharedHostLanguage(
|
|
|
295
311
|
* `/<username>/…`. A request that found its store some other way (`?storeId=`, the preview
|
|
296
312
|
* cookie, `VITE_STORE_DOMAIN`) is sent there now that the settings say what the username is.
|
|
297
313
|
*
|
|
298
|
-
*
|
|
299
|
-
*
|
|
314
|
+
* Twig's `checkUsername` decides the other two, and the engine answers them as it does:
|
|
315
|
+
*
|
|
316
|
+
* - A basic-plan store is not served on its own domain: any page of it goes to the Store's
|
|
317
|
+
* "this domain is stopped" page, with a 302.
|
|
318
|
+
* - Any other store with an active domain is not served at its username on a shared host:
|
|
319
|
+
* `salla.sa/<username>/…` goes to the same page on that domain, with a 301 (a 307 for a
|
|
320
|
+
* person's home page).
|
|
300
321
|
*
|
|
301
322
|
* Full loads rather than client navigations: the router handling this request was built
|
|
302
|
-
* without that root, and the
|
|
323
|
+
* without that root, and the other two addresses are on other hosts.
|
|
303
324
|
*/
|
|
304
325
|
function settleStoreAddress(settings: StoreContext, href: string): void {
|
|
305
326
|
const storeBaseHref = resolveStoreBaseRedirect(settings.store?.username, href);
|
|
@@ -311,6 +332,19 @@ function settleStoreAddress(settings: StoreContext, href: string): void {
|
|
|
311
332
|
if (stoppedHref) {
|
|
312
333
|
throw redirect({ href: stoppedHref, statusCode: 302, reloadDocument: true, replace: true });
|
|
313
334
|
}
|
|
335
|
+
|
|
336
|
+
const ownDomain = resolveOwnDomainRedirect(settings, href, {
|
|
337
|
+
cookieHeader: readCookieHeader(),
|
|
338
|
+
botScore: readBotScore(),
|
|
339
|
+
});
|
|
340
|
+
if (ownDomain) {
|
|
341
|
+
throw redirect({
|
|
342
|
+
href: ownDomain.href,
|
|
343
|
+
statusCode: ownDomain.statusCode,
|
|
344
|
+
reloadDocument: true,
|
|
345
|
+
replace: true,
|
|
346
|
+
});
|
|
347
|
+
}
|
|
314
348
|
}
|
|
315
349
|
|
|
316
350
|
export interface BeforeLoadResult {
|