@salla.sa/twilight-theme-engine 1.0.34 → 1.0.36
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-RERJJKYN.js → AddToCartForm-TH7W4EON.js} +3 -3
- package/dist/{AddToCartForm-RERJJKYN.js.map → AddToCartForm-TH7W4EON.js.map} +1 -1
- package/dist/{BlogAuthorPage-XNTLCH6M.js → BlogAuthorPage-JQLQRSWA.js} +15 -15
- package/dist/{BlogAuthorPage-XNTLCH6M.js.map → BlogAuthorPage-JQLQRSWA.js.map} +1 -1
- package/dist/{BlogCategoryPage-Y5HHX6Q4.js → BlogCategoryPage-FFC7WVFU.js} +15 -15
- package/dist/{BlogCategoryPage-Y5HHX6Q4.js.map → BlogCategoryPage-FFC7WVFU.js.map} +1 -1
- package/dist/{BlogPage-ND3KMAYL.js → BlogPage-WJSXLUQZ.js} +13 -13
- package/dist/{BlogPage-ND3KMAYL.js.map → BlogPage-WJSXLUQZ.js.map} +1 -1
- package/dist/{BlogSinglePage-OXMFEM3G.js → BlogSinglePage-X2TYH7UY.js} +13 -13
- package/dist/{BlogSinglePage-OXMFEM3G.js.map → BlogSinglePage-X2TYH7UY.js.map} +1 -1
- package/dist/{BlogTagPage-LOR275LH.js → BlogTagPage-HLCP45BG.js} +15 -15
- package/dist/{BlogTagPage-LOR275LH.js.map → BlogTagPage-HLCP45BG.js.map} +1 -1
- package/dist/{BrandsPage-BX3SWD23.js → BrandsPage-G4ZGM2WN.js} +13 -13
- package/dist/{BrandsPage-BX3SWD23.js.map → BrandsPage-G4ZGM2WN.js.map} +1 -1
- package/dist/{Breadcrumb-L33QVTUA.js → Breadcrumb-WWQ5CTRU.js} +13 -13
- package/dist/{Breadcrumb-L33QVTUA.js.map → Breadcrumb-WWQ5CTRU.js.map} +1 -1
- package/dist/{CartItem-ZNM7LS6N.js → CartItem-NLHDAKMB.js} +13 -13
- package/dist/{CartItem-ZNM7LS6N.js.map → CartItem-NLHDAKMB.js.map} +1 -1
- package/dist/{CartSummary-GA7VKMOQ.js → CartSummary-KNV3ME4N.js} +13 -13
- package/dist/{CartSummary-GA7VKMOQ.js.map → CartSummary-KNV3ME4N.js.map} +1 -1
- package/dist/{Copyright-SULJLAOX.js → Copyright-TR5VNHZJ.js} +3 -3
- package/dist/{Copyright-SULJLAOX.js.map → Copyright-TR5VNHZJ.js.map} +1 -1
- package/dist/{CustomerLayout-DPASUJXG.js → CustomerLayout-DPIFVHXE.js} +13 -13
- package/dist/{CustomerLayout-DPASUJXG.js.map → CustomerLayout-DPIFVHXE.js.map} +1 -1
- package/dist/{Footer-5LUYTER2.js → Footer-LR32SSXT.js} +13 -13
- package/dist/{Footer-5LUYTER2.js.map → Footer-LR32SSXT.js.map} +1 -1
- package/dist/{Header-V2QY52KP.js → Header-M6H5RVQP.js} +6 -6
- package/dist/{Header-V2QY52KP.js.map → Header-M6H5RVQP.js.map} +1 -1
- package/dist/{LoyaltyPage-WGBJSWMT.js → LoyaltyPage-QFOQTOY7.js} +14 -14
- package/dist/{LoyaltyPage-WGBJSWMT.js.map → LoyaltyPage-QFOQTOY7.js.map} +1 -1
- package/dist/{MainMenu-53YP6MTU.js → MainMenu-OKOU27GV.js} +7 -7
- package/dist/{MainMenu-53YP6MTU.js.map → MainMenu-OKOU27GV.js.map} +1 -1
- package/dist/{MasterLayout-GIYKSI2D.js → MasterLayout-TK2334FB.js} +13 -13
- package/dist/{MasterLayout-GIYKSI2D.js.map → MasterLayout-TK2334FB.js.map} +1 -1
- package/dist/{MobileMenu-FGHDWUS3.js → MobileMenu-EEIV7HEB.js} +14 -14
- package/dist/{MobileMenu-FGHDWUS3.js.map → MobileMenu-EEIV7HEB.js.map} +1 -1
- package/dist/{NotificationsPage-YUPDZQMH.js → NotificationsPage-RWIHWNNP.js} +13 -13
- package/dist/{NotificationsPage-YUPDZQMH.js.map → NotificationsPage-RWIHWNNP.js.map} +1 -1
- package/dist/{OrderSinglePage-NG45IOTR.js → OrderSinglePage-DXDN7VLA.js} +14 -14
- package/dist/{OrderSinglePage-NG45IOTR.js.map → OrderSinglePage-DXDN7VLA.js.map} +1 -1
- package/dist/{OrdersPage-X753G6LK.js → OrdersPage-RL7YOLJP.js} +14 -14
- package/dist/{OrdersPage-X753G6LK.js.map → OrdersPage-RL7YOLJP.js.map} +1 -1
- package/dist/{PageSingle-3IHQP3WO.js → PageSingle-NRXICTGC.js} +3 -3
- package/dist/{PageSingle-3IHQP3WO.js.map → PageSingle-NRXICTGC.js.map} +1 -1
- package/dist/{ProductDetails-3WTGYULJ.js → ProductDetails-KT4ZE2AV.js} +3 -3
- package/dist/{ProductDetails-3WTGYULJ.js.map → ProductDetails-KT4ZE2AV.js.map} +1 -1
- package/dist/{ProfilePage-DSDDUN5Y.js → ProfilePage-UKK374YN.js} +13 -13
- package/dist/{ProfilePage-DSDDUN5Y.js.map → ProfilePage-UKK374YN.js.map} +1 -1
- package/dist/{RenderWhenVisible-2BRWQDOQ.js → RenderWhenVisible-F44J5MMG.js} +4 -4
- package/dist/RenderWhenVisible-F44J5MMG.js.map +1 -0
- package/dist/{SeoCartWidget-M43SKEQJ.js → SeoCartWidget-B2ORFNKV.js} +13 -13
- package/dist/{SeoCartWidget-M43SKEQJ.js.map → SeoCartWidget-B2ORFNKV.js.map} +1 -1
- package/dist/{SettingsPage-JBT73EJP.js → SettingsPage-RHFJJVMQ.js} +13 -13
- package/dist/{SettingsPage-JBT73EJP.js.map → SettingsPage-RHFJJVMQ.js.map} +1 -1
- package/dist/{StoreClosedNotification-FCF2NBZR.js → StoreClosedNotification-3KPPYV52.js} +14 -14
- package/dist/{StoreClosedNotification-FCF2NBZR.js.map → StoreClosedNotification-3KPPYV52.js.map} +1 -1
- package/dist/{TestimonialsPage-4ZXBWLEW.js → TestimonialsPage-C7CC2TNJ.js} +3 -3
- package/dist/{TestimonialsPage-4ZXBWLEW.js.map → TestimonialsPage-C7CC2TNJ.js.map} +1 -1
- package/dist/{ThankYouPage-IDR5ZWIB.js → ThankYouPage-P6GGI3W7.js} +13 -13
- package/dist/{ThankYouPage-IDR5ZWIB.js.map → ThankYouPage-P6GGI3W7.js.map} +1 -1
- package/dist/{WalletPage-WTDVBQ4Z.js → WalletPage-HERQ6BL3.js} +14 -14
- package/dist/{WalletPage-WTDVBQ4Z.js.map → WalletPage-HERQ6BL3.js.map} +1 -1
- package/dist/{WishlistPage-Q4PLJ6VV.js → WishlistPage-XXIUSMI4.js} +14 -14
- package/dist/{WishlistPage-Q4PLJ6VV.js.map → WishlistPage-XXIUSMI4.js.map} +1 -1
- package/dist/api/apps.js +4 -4
- package/dist/api/brands.js +5 -5
- package/dist/api/cart.js +5 -5
- package/dist/api/category.js +5 -5
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +3 -3
- package/dist/api/home.js +4 -4
- package/dist/api/loyalty.js +5 -5
- package/dist/api/menu.js +4 -4
- package/dist/api/notification.js +4 -4
- package/dist/api/order.js +5 -5
- package/dist/api/page.js +5 -5
- package/dist/api/product.js +5 -5
- package/dist/api/profile.js +3 -3
- package/dist/api/store.d.ts.map +1 -1
- package/dist/api/store.js +4 -4
- package/dist/api/translations.js +4 -4
- package/dist/api/user.js +4 -4
- package/dist/api/wishlist.js +4 -4
- package/dist/{chunk-QOK3ANNB.js → chunk-2AGMXJVP.js} +4 -4
- package/dist/{chunk-QOK3ANNB.js.map → chunk-2AGMXJVP.js.map} +1 -1
- package/dist/{chunk-Z2BE6MDB.js → chunk-2KZORZZN.js} +14 -6
- package/dist/chunk-2KZORZZN.js.map +1 -0
- package/dist/{chunk-UPFFOL37.js → chunk-3Z6BI7K6.js} +7 -7
- package/dist/{chunk-UPFFOL37.js.map → chunk-3Z6BI7K6.js.map} +1 -1
- package/dist/{chunk-IXXPO4LJ.js → chunk-5JJZHYO2.js} +5 -5
- package/dist/{chunk-IXXPO4LJ.js.map → chunk-5JJZHYO2.js.map} +1 -1
- package/dist/{chunk-FQGCCV4T.js → chunk-5TRRUV7N.js} +3 -3
- package/dist/{chunk-FQGCCV4T.js.map → chunk-5TRRUV7N.js.map} +1 -1
- package/dist/{chunk-LG556DIE.js → chunk-6KI2QCPL.js} +3 -3
- package/dist/{chunk-LG556DIE.js.map → chunk-6KI2QCPL.js.map} +1 -1
- package/dist/{chunk-GQ7IBJ55.js → chunk-6MGDRMZM.js} +4 -4
- package/dist/{chunk-GQ7IBJ55.js.map → chunk-6MGDRMZM.js.map} +1 -1
- package/dist/{chunk-5ACY5CD3.js → chunk-6XWMNQ52.js} +10 -4
- package/dist/chunk-6XWMNQ52.js.map +1 -0
- package/dist/{chunk-LYY3EOAO.js → chunk-7RJIZQU3.js} +4 -4
- package/dist/{chunk-LYY3EOAO.js.map → chunk-7RJIZQU3.js.map} +1 -1
- package/dist/{chunk-PZCHYB7O.js → chunk-AMOU6U2D.js} +12 -12
- package/dist/{chunk-PZCHYB7O.js.map → chunk-AMOU6U2D.js.map} +1 -1
- package/dist/{chunk-WXOABH6J.js → chunk-AZ5HAIYQ.js} +26 -11
- package/dist/chunk-AZ5HAIYQ.js.map +1 -0
- package/dist/{chunk-L6UGY2OB.js → chunk-BWIESZJK.js} +3 -3
- package/dist/{chunk-L6UGY2OB.js.map → chunk-BWIESZJK.js.map} +1 -1
- package/dist/{chunk-Z2P4M6T6.js → chunk-CCCKRNO4.js} +3 -3
- package/dist/{chunk-Z2P4M6T6.js.map → chunk-CCCKRNO4.js.map} +1 -1
- package/dist/{chunk-U6BFS4JR.js → chunk-CGQMVUOD.js} +5 -5
- package/dist/{chunk-U6BFS4JR.js.map → chunk-CGQMVUOD.js.map} +1 -1
- package/dist/{chunk-J2TTL3AA.js → chunk-E2T4RCTH.js} +6 -6
- package/dist/{chunk-J2TTL3AA.js.map → chunk-E2T4RCTH.js.map} +1 -1
- package/dist/{chunk-TXYT42AU.js → chunk-E5EH32L7.js} +3 -3
- package/dist/{chunk-TXYT42AU.js.map → chunk-E5EH32L7.js.map} +1 -1
- package/dist/{chunk-6RGZYVQT.js → chunk-HPW7OJPF.js} +15 -15
- package/dist/{chunk-6RGZYVQT.js.map → chunk-HPW7OJPF.js.map} +1 -1
- package/dist/{chunk-6RIKW3YV.js → chunk-J62WEOQ2.js} +4 -4
- package/dist/{chunk-6RIKW3YV.js.map → chunk-J62WEOQ2.js.map} +1 -1
- package/dist/{chunk-Y5FBDMFV.js → chunk-JBXTU5NM.js} +22 -12
- package/dist/chunk-JBXTU5NM.js.map +1 -0
- package/dist/{chunk-OOYJHQLQ.js → chunk-KFH3OBFW.js} +4 -4
- package/dist/{chunk-OOYJHQLQ.js.map → chunk-KFH3OBFW.js.map} +1 -1
- package/dist/{chunk-KRB2TZAY.js → chunk-KJRL3SSW.js} +4 -4
- package/dist/{chunk-KRB2TZAY.js.map → chunk-KJRL3SSW.js.map} +1 -1
- package/dist/{chunk-LXIEAZZJ.js → chunk-KLTQ2UST.js} +3 -3
- package/dist/{chunk-LXIEAZZJ.js.map → chunk-KLTQ2UST.js.map} +1 -1
- package/dist/{chunk-6JLVUQWD.js → chunk-MCYEMXFY.js} +4 -4
- package/dist/{chunk-6JLVUQWD.js.map → chunk-MCYEMXFY.js.map} +1 -1
- package/dist/{chunk-C4S4VXWW.js → chunk-ME727LL4.js} +3 -3
- package/dist/{chunk-C4S4VXWW.js.map → chunk-ME727LL4.js.map} +1 -1
- package/dist/{chunk-NTOIR3NK.js → chunk-NX6BEOXW.js} +4 -4
- package/dist/{chunk-NTOIR3NK.js.map → chunk-NX6BEOXW.js.map} +1 -1
- package/dist/{chunk-FPQAYFHZ.js → chunk-OGGWNPF3.js} +3 -3
- package/dist/{chunk-FPQAYFHZ.js.map → chunk-OGGWNPF3.js.map} +1 -1
- package/dist/{chunk-STHBBSK2.js → chunk-QG2Q6HB5.js} +3 -3
- package/dist/{chunk-STHBBSK2.js.map → chunk-QG2Q6HB5.js.map} +1 -1
- package/dist/{chunk-CBQKQCKI.js → chunk-RBISDOPR.js} +4 -4
- package/dist/{chunk-CBQKQCKI.js.map → chunk-RBISDOPR.js.map} +1 -1
- package/dist/{chunk-57RYHNW2.js → chunk-RIZOT5FN.js} +3 -3
- package/dist/{chunk-57RYHNW2.js.map → chunk-RIZOT5FN.js.map} +1 -1
- package/dist/{chunk-47C6C2NN.js → chunk-TMR7TZMB.js} +4 -4
- package/dist/{chunk-47C6C2NN.js.map → chunk-TMR7TZMB.js.map} +1 -1
- package/dist/{chunk-5IEQLAAY.js → chunk-ULQMJUO2.js} +4 -4
- package/dist/{chunk-5IEQLAAY.js.map → chunk-ULQMJUO2.js.map} +1 -1
- package/dist/{chunk-6BVPVYLN.js → chunk-VZHYSYKG.js} +4 -4
- package/dist/{chunk-6BVPVYLN.js.map → chunk-VZHYSYKG.js.map} +1 -1
- package/dist/chunk-W6K6RYSC.js +14 -0
- package/dist/{chunk-3ABM2IWU.js.map → chunk-W6K6RYSC.js.map} +1 -1
- package/dist/{chunk-EV4JSMFZ.js → chunk-X26WB7AG.js} +3 -3
- package/dist/{chunk-EV4JSMFZ.js.map → chunk-X26WB7AG.js.map} +1 -1
- package/dist/{chunk-E3J2RXBS.js → chunk-XLGVT7QF.js} +3 -3
- package/dist/{chunk-E3J2RXBS.js.map → chunk-XLGVT7QF.js.map} +1 -1
- package/dist/{chunk-GCAIIFF3.js → chunk-XTOXFAP7.js} +3 -3
- package/dist/{chunk-GCAIIFF3.js.map → chunk-XTOXFAP7.js.map} +1 -1
- package/dist/{chunk-HYESKIWZ.js → chunk-ZNWNJZSM.js} +4 -4
- package/dist/{chunk-HYESKIWZ.js.map → chunk-ZNWNJZSM.js.map} +1 -1
- package/dist/{chunk-LCSALUZ2.js → chunk-ZPHPRT7H.js} +6 -6
- package/dist/{chunk-LCSALUZ2.js.map → chunk-ZPHPRT7H.js.map} +1 -1
- package/dist/components/cart/index.js +1 -1
- package/dist/components/common/RenderWhenVisible.d.ts.map +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/drawer/index.js +11 -11
- package/dist/components/home/index.js +14 -14
- package/dist/components/layout/index.js +5 -5
- package/dist/components/product/index.js +12 -12
- package/dist/components/store/index.js +13 -13
- package/dist/document-class-GLEKROWK.js +23 -0
- package/dist/{document-class-HFVPENQI.js.map → document-class-GLEKROWK.js.map} +1 -1
- package/dist/hooks/index.js +11 -11
- package/dist/hooks/useGtm.js +11 -11
- package/dist/hooks/useMoney.js +11 -11
- package/dist/hooks/useStore.js +11 -11
- package/dist/hooks/useUser.js +5 -5
- package/dist/index.js +11 -11
- package/dist/{navigation-B6TEUWEK.js → navigation-D7QS3NK2.js} +4 -4
- package/dist/{navigation-B6TEUWEK.js.map → navigation-D7QS3NK2.js.map} +1 -1
- package/dist/{navigation-RYSVWICZ.js → navigation-DQNNT2LY.js} +5 -5
- package/dist/{navigation-RYSVWICZ.js.map → navigation-DQNNT2LY.js.map} +1 -1
- package/dist/{not-found-XD534NFT.js → not-found-XFSCINJ2.js} +13 -13
- package/dist/{not-found-XD534NFT.js.map → not-found-XFSCINJ2.js.map} +1 -1
- package/dist/providers/index.js +11 -11
- package/dist/routes/account/orders.js +6 -6
- package/dist/routes/account.js +14 -14
- package/dist/routes/blog.js +10 -10
- package/dist/routes/brands.js +6 -6
- package/dist/routes/cart.js +19 -19
- package/dist/routes/home.js +16 -16
- package/dist/routes/index.js +3 -3
- package/dist/routes/loyalty.js +6 -6
- package/dist/routes/page.js +6 -6
- package/dist/routes/product-listing.js +16 -16
- package/dist/routes/product.js +14 -14
- package/dist/routes/seo-redirects.js +3 -3
- package/dist/routes/testimonials.js +2 -2
- package/dist/routes/thank-you.js +6 -6
- package/dist/skeleton.js +16 -16
- package/dist/tanstack/middleware/twilight.d.ts.map +1 -1
- package/dist/tanstack.js +16 -15
- package/dist/tanstack.js.map +1 -1
- package/dist/twilight/context.d.ts +22 -5
- package/dist/twilight/context.d.ts.map +1 -1
- package/dist/utils/cookies.d.ts +46 -6
- package/dist/utils/cookies.d.ts.map +1 -1
- package/dist/utils/index.js +4 -4
- package/dist/utils/runtime-env.d.ts +13 -0
- package/dist/utils/runtime-env.d.ts.map +1 -1
- package/dist/utils/theme-version.d.ts +33 -0
- package/dist/utils/theme-version.d.ts.map +1 -0
- package/dist/vite/index.js +2 -2
- package/package.json +1 -1
- package/dist/RenderWhenVisible-2BRWQDOQ.js.map +0 -1
- package/dist/chunk-3ABM2IWU.js +0 -14
- package/dist/chunk-5ACY5CD3.js.map +0 -1
- package/dist/chunk-WXOABH6J.js.map +0 -1
- package/dist/chunk-Y5FBDMFV.js.map +0 -1
- package/dist/chunk-Z2BE6MDB.js.map +0 -1
- package/dist/document-class-HFVPENQI.js +0 -23
package/dist/routes/cart.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { cart } from '../chunk-
|
|
2
|
-
import { loyalty } from '../chunk-
|
|
1
|
+
import { cart } from '../chunk-KFH3OBFW.js';
|
|
2
|
+
import { loyalty } from '../chunk-ZNWNJZSM.js';
|
|
3
3
|
import { CartSkeleton } from '../chunk-N7CCSGZF.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-CGQMVUOD.js';
|
|
5
|
+
import '../chunk-QG2Q6HB5.js';
|
|
6
6
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-
|
|
10
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-5JJZHYO2.js';
|
|
8
|
+
import '../chunk-VZHYSYKG.js';
|
|
9
|
+
import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-W6K6RYSC.js';
|
|
10
|
+
import '../chunk-E2T4RCTH.js';
|
|
11
11
|
import '../chunk-342EPVXN.js';
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
12
|
+
import '../chunk-HPW7OJPF.js';
|
|
13
|
+
import '../chunk-ZPHPRT7H.js';
|
|
14
14
|
import '../chunk-JKIRRMBU.js';
|
|
15
15
|
import '../chunk-2JV6WZ6O.js';
|
|
16
|
-
import '../chunk-
|
|
16
|
+
import '../chunk-E5EH32L7.js';
|
|
17
17
|
import '../chunk-VVZNW5CB.js';
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-
|
|
18
|
+
import '../chunk-6KI2QCPL.js';
|
|
19
|
+
import '../chunk-XLGVT7QF.js';
|
|
20
20
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
21
21
|
import '../chunk-C5X6CVXC.js';
|
|
22
|
-
import '../chunk-
|
|
23
|
-
import '../chunk-
|
|
24
|
-
import '../chunk-
|
|
25
|
-
import '../chunk-
|
|
26
|
-
import { getTwilightContext } from '../chunk-
|
|
22
|
+
import '../chunk-6MGDRMZM.js';
|
|
23
|
+
import '../chunk-RIZOT5FN.js';
|
|
24
|
+
import '../chunk-AZ5HAIYQ.js';
|
|
25
|
+
import '../chunk-JBXTU5NM.js';
|
|
26
|
+
import { getTwilightContext } from '../chunk-6XWMNQ52.js';
|
|
27
27
|
import '../chunk-TP3LCGE7.js';
|
|
28
28
|
import '../chunk-Z653O7MX.js';
|
|
29
29
|
import '../chunk-ZCH7W7DZ.js';
|
|
@@ -39,7 +39,7 @@ import '../chunk-YMVLYYLU.js';
|
|
|
39
39
|
import '../chunk-RJPPO3ET.js';
|
|
40
40
|
import { HookSlot } from '../chunk-Q7VWURUR.js';
|
|
41
41
|
import '../chunk-GU2KUQVD.js';
|
|
42
|
-
import { LazyBreadcrumb, LazyNoContent } from '../chunk-
|
|
42
|
+
import { LazyBreadcrumb, LazyNoContent } from '../chunk-J62WEOQ2.js';
|
|
43
43
|
import '../chunk-AXW67SY7.js';
|
|
44
44
|
import '../chunk-BYMOPN2S.js';
|
|
45
45
|
import '../chunk-6BZ5TKEV.js';
|
package/dist/routes/home.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
export { Home, HomeSkeleton, homeLoader } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { Home, HomeSkeleton, homeLoader } from '../chunk-CGQMVUOD.js';
|
|
2
|
+
import '../chunk-QG2Q6HB5.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-5JJZHYO2.js';
|
|
5
|
+
import '../chunk-VZHYSYKG.js';
|
|
6
|
+
import '../chunk-E2T4RCTH.js';
|
|
7
7
|
import '../chunk-342EPVXN.js';
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-HPW7OJPF.js';
|
|
9
|
+
import '../chunk-ZPHPRT7H.js';
|
|
10
10
|
import '../chunk-JKIRRMBU.js';
|
|
11
11
|
import '../chunk-2JV6WZ6O.js';
|
|
12
|
-
import '../chunk-
|
|
12
|
+
import '../chunk-E5EH32L7.js';
|
|
13
13
|
import '../chunk-VVZNW5CB.js';
|
|
14
|
-
import '../chunk-
|
|
15
|
-
import '../chunk-
|
|
14
|
+
import '../chunk-6KI2QCPL.js';
|
|
15
|
+
import '../chunk-XLGVT7QF.js';
|
|
16
16
|
import '../chunk-MTONGOJD.js';
|
|
17
17
|
import '../chunk-C5X6CVXC.js';
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import '../chunk-
|
|
21
|
-
import '../chunk-
|
|
22
|
-
import '../chunk-
|
|
18
|
+
import '../chunk-6MGDRMZM.js';
|
|
19
|
+
import '../chunk-RIZOT5FN.js';
|
|
20
|
+
import '../chunk-AZ5HAIYQ.js';
|
|
21
|
+
import '../chunk-JBXTU5NM.js';
|
|
22
|
+
import '../chunk-6XWMNQ52.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 '../chunk-Q7VWURUR.js';
|
|
37
37
|
import '../chunk-GU2KUQVD.js';
|
|
38
|
-
import '../chunk-
|
|
38
|
+
import '../chunk-J62WEOQ2.js';
|
|
39
39
|
import '../chunk-AXW67SY7.js';
|
|
40
40
|
import '../chunk-BYMOPN2S.js';
|
|
41
41
|
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-ME727LL4.js';
|
|
2
|
+
import '../chunk-XLGVT7QF.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-6XWMNQ52.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-ZNWNJZSM.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-XLGVT7QF.js';
|
|
4
4
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-AZ5HAIYQ.js';
|
|
6
|
+
import '../chunk-JBXTU5NM.js';
|
|
7
|
+
import '../chunk-6XWMNQ52.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-QFOQTOY7.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-TMR7TZMB.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-XLGVT7QF.js';
|
|
4
4
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-AZ5HAIYQ.js';
|
|
6
|
+
import '../chunk-JBXTU5NM.js';
|
|
7
|
+
import '../chunk-6XWMNQ52.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-NRXICTGC.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,27 +1,27 @@
|
|
|
1
1
|
import { sortOptions } from '../chunk-6Z4MOC4S.js';
|
|
2
|
-
import { category } from '../chunk-
|
|
3
|
-
import { brand } from '../chunk-
|
|
2
|
+
import { category } from '../chunk-ULQMJUO2.js';
|
|
3
|
+
import { brand } from '../chunk-2AGMXJVP.js';
|
|
4
4
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
5
|
-
import { LazyTestimonials } from '../chunk-
|
|
6
|
-
import { product } from '../chunk-
|
|
5
|
+
import { LazyTestimonials } from '../chunk-5JJZHYO2.js';
|
|
6
|
+
import { product } from '../chunk-VZHYSYKG.js';
|
|
7
7
|
import { Drawer } from '../chunk-6TKIUG5C.js';
|
|
8
|
-
import { ProductCard } from '../chunk-
|
|
8
|
+
import { ProductCard } from '../chunk-E2T4RCTH.js';
|
|
9
9
|
import '../chunk-342EPVXN.js';
|
|
10
|
-
import { useStore } from '../chunk-
|
|
11
|
-
import '../chunk-
|
|
10
|
+
import { useStore } from '../chunk-HPW7OJPF.js';
|
|
11
|
+
import '../chunk-ZPHPRT7H.js';
|
|
12
12
|
import '../chunk-JKIRRMBU.js';
|
|
13
13
|
import '../chunk-2JV6WZ6O.js';
|
|
14
|
-
import '../chunk-
|
|
14
|
+
import '../chunk-E5EH32L7.js';
|
|
15
15
|
import '../chunk-VVZNW5CB.js';
|
|
16
|
-
import '../chunk-
|
|
17
|
-
import { notFound, useNavigate, useLocation } from '../chunk-
|
|
16
|
+
import '../chunk-6KI2QCPL.js';
|
|
17
|
+
import { notFound, useNavigate, useLocation } from '../chunk-XLGVT7QF.js';
|
|
18
18
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
19
19
|
import '../chunk-C5X6CVXC.js';
|
|
20
|
-
import '../chunk-
|
|
21
|
-
import '../chunk-
|
|
22
|
-
import '../chunk-
|
|
23
|
-
import '../chunk-
|
|
24
|
-
import { getTwilightContext } from '../chunk-
|
|
20
|
+
import '../chunk-6MGDRMZM.js';
|
|
21
|
+
import '../chunk-RIZOT5FN.js';
|
|
22
|
+
import '../chunk-AZ5HAIYQ.js';
|
|
23
|
+
import '../chunk-JBXTU5NM.js';
|
|
24
|
+
import { getTwilightContext } from '../chunk-6XWMNQ52.js';
|
|
25
25
|
import '../chunk-TP3LCGE7.js';
|
|
26
26
|
import '../chunk-Z653O7MX.js';
|
|
27
27
|
import '../chunk-ZCH7W7DZ.js';
|
|
@@ -37,7 +37,7 @@ import '../chunk-YMVLYYLU.js';
|
|
|
37
37
|
import '../chunk-RJPPO3ET.js';
|
|
38
38
|
import { HookSlot } from '../chunk-Q7VWURUR.js';
|
|
39
39
|
import '../chunk-GU2KUQVD.js';
|
|
40
|
-
import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-
|
|
40
|
+
import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-J62WEOQ2.js';
|
|
41
41
|
import '../chunk-AXW67SY7.js';
|
|
42
42
|
import '../chunk-BYMOPN2S.js';
|
|
43
43
|
import '../chunk-6BZ5TKEV.js';
|
package/dist/routes/product.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
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-5JJZHYO2.js';
|
|
3
|
+
import { product } from '../chunk-VZHYSYKG.js';
|
|
4
|
+
import { ProductGallery, LazyProductDetails, LazyAddToCartForm } from '../chunk-E2T4RCTH.js';
|
|
5
5
|
import '../chunk-342EPVXN.js';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-HPW7OJPF.js';
|
|
7
|
+
import '../chunk-ZPHPRT7H.js';
|
|
8
8
|
import '../chunk-JKIRRMBU.js';
|
|
9
9
|
import '../chunk-2JV6WZ6O.js';
|
|
10
|
-
import '../chunk-
|
|
10
|
+
import '../chunk-E5EH32L7.js';
|
|
11
11
|
import '../chunk-VVZNW5CB.js';
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
12
|
+
import '../chunk-6KI2QCPL.js';
|
|
13
|
+
import '../chunk-XLGVT7QF.js';
|
|
14
14
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
15
15
|
import '../chunk-C5X6CVXC.js';
|
|
16
|
-
import '../chunk-
|
|
17
|
-
import '../chunk-
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import { getTwilightContext } from '../chunk-
|
|
16
|
+
import '../chunk-6MGDRMZM.js';
|
|
17
|
+
import '../chunk-RIZOT5FN.js';
|
|
18
|
+
import '../chunk-AZ5HAIYQ.js';
|
|
19
|
+
import '../chunk-JBXTU5NM.js';
|
|
20
|
+
import { getTwilightContext } from '../chunk-6XWMNQ52.js';
|
|
21
21
|
import '../chunk-TP3LCGE7.js';
|
|
22
22
|
import '../chunk-Z653O7MX.js';
|
|
23
23
|
import '../chunk-ZCH7W7DZ.js';
|
|
@@ -33,7 +33,7 @@ import { useComments } from '../chunk-YMVLYYLU.js';
|
|
|
33
33
|
import '../chunk-RJPPO3ET.js';
|
|
34
34
|
import { HookSlot } from '../chunk-Q7VWURUR.js';
|
|
35
35
|
import '../chunk-GU2KUQVD.js';
|
|
36
|
-
import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-
|
|
36
|
+
import { LazyBreadcrumb, LazyRenderWhenVisible } from '../chunk-J62WEOQ2.js';
|
|
37
37
|
import '../chunk-AXW67SY7.js';
|
|
38
38
|
import '../chunk-BYMOPN2S.js';
|
|
39
39
|
import '../chunk-6BZ5TKEV.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { pendingOrdersRedirectLoader, slugBrandRedirectLoader } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { pendingOrdersRedirectLoader, slugBrandRedirectLoader } from '../chunk-ME727LL4.js';
|
|
2
|
+
import '../chunk-XLGVT7QF.js';
|
|
3
3
|
import '../chunk-MTONGOJD.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-6XWMNQ52.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-6XWMNQ52.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-C7CC2TNJ.js').then((m) => ({ default: m.TestimonialsPage }))
|
|
22
22
|
);
|
|
23
23
|
var TestimonialsPage = LazyTestimonialsPage;
|
|
24
24
|
async function loader(ctx, extend) {
|
package/dist/routes/thank-you.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { order } from '../chunk-
|
|
1
|
+
import { order } from '../chunk-MCYEMXFY.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-XLGVT7QF.js';
|
|
4
4
|
import { RouteId } from '../chunk-MTONGOJD.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import { getTwilightContext } from '../chunk-
|
|
5
|
+
import '../chunk-AZ5HAIYQ.js';
|
|
6
|
+
import '../chunk-JBXTU5NM.js';
|
|
7
|
+
import { getTwilightContext } from '../chunk-6XWMNQ52.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-P6GGI3W7.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,26 +1,26 @@
|
|
|
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-CGQMVUOD.js';
|
|
3
|
+
import './chunk-QG2Q6HB5.js';
|
|
4
4
|
import './chunk-TZ3E5BN4.js';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
5
|
+
import './chunk-5JJZHYO2.js';
|
|
6
|
+
import './chunk-VZHYSYKG.js';
|
|
7
|
+
import './chunk-E2T4RCTH.js';
|
|
8
8
|
import './chunk-342EPVXN.js';
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
9
|
+
import './chunk-HPW7OJPF.js';
|
|
10
|
+
import './chunk-ZPHPRT7H.js';
|
|
11
11
|
import './chunk-JKIRRMBU.js';
|
|
12
12
|
import './chunk-2JV6WZ6O.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-E5EH32L7.js';
|
|
14
14
|
import './chunk-VVZNW5CB.js';
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
15
|
+
import './chunk-6KI2QCPL.js';
|
|
16
|
+
import './chunk-XLGVT7QF.js';
|
|
17
17
|
import './chunk-MTONGOJD.js';
|
|
18
18
|
import './chunk-C5X6CVXC.js';
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-
|
|
23
|
-
import './chunk-
|
|
19
|
+
import './chunk-6MGDRMZM.js';
|
|
20
|
+
import './chunk-RIZOT5FN.js';
|
|
21
|
+
import './chunk-AZ5HAIYQ.js';
|
|
22
|
+
import './chunk-JBXTU5NM.js';
|
|
23
|
+
import './chunk-6XWMNQ52.js';
|
|
24
24
|
import './chunk-TP3LCGE7.js';
|
|
25
25
|
import './chunk-Z653O7MX.js';
|
|
26
26
|
import './chunk-ZCH7W7DZ.js';
|
|
@@ -36,7 +36,7 @@ import './chunk-YMVLYYLU.js';
|
|
|
36
36
|
import './chunk-RJPPO3ET.js';
|
|
37
37
|
import './chunk-Q7VWURUR.js';
|
|
38
38
|
import './chunk-GU2KUQVD.js';
|
|
39
|
-
import './chunk-
|
|
39
|
+
import './chunk-J62WEOQ2.js';
|
|
40
40
|
import './chunk-AXW67SY7.js';
|
|
41
41
|
import './chunk-BYMOPN2S.js';
|
|
42
42
|
import './chunk-6BZ5TKEV.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twilight.d.ts","sourceRoot":"","sources":["../../../src/tanstack/middleware/twilight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"twilight.d.ts","sourceRoot":"","sources":["../../../src/tanstack/middleware/twilight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAYlE,UAAU,yBAAyB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAU,yBAAyB,KAAG,oBA4BxE,CAAC"}
|
package/dist/tanstack.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
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-AMOU6U2D.js';
|
|
2
|
+
export { tanstackDocumentAdapter as attrs, createRouter, createTwilightRootRoute, useTanstackDocumentAttrs as useAttrs } from './chunk-AMOU6U2D.js';
|
|
3
|
+
export { TanStackLinkAdapter, TanStackNavigationProvider, createTanStackLinkAdapter } from './chunk-BWIESZJK.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-5TRRUV7N.js';
|
|
6
|
+
import './chunk-X26WB7AG.js';
|
|
7
7
|
import './chunk-B3EFOE57.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
8
|
+
import './chunk-2KZORZZN.js';
|
|
9
|
+
import './chunk-XTOXFAP7.js';
|
|
10
10
|
import './chunk-TZ3E5BN4.js';
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
11
|
+
import './chunk-E5EH32L7.js';
|
|
12
|
+
import './chunk-6KI2QCPL.js';
|
|
13
|
+
import './chunk-XLGVT7QF.js';
|
|
14
14
|
import './chunk-MTONGOJD.js';
|
|
15
|
-
import './chunk-
|
|
16
|
-
import { AUTH_TOKEN_COOKIE_NAME, extractTokenFromCookies, extractScopeFromCookies, resolveRequestStoreId } from './chunk-
|
|
17
|
-
import { runWithTwilightContext } from './chunk-
|
|
18
|
-
export { getTwilightContext, runWithTwilightContext, updateTwilightContext } from './chunk-
|
|
15
|
+
import './chunk-AZ5HAIYQ.js';
|
|
16
|
+
import { AUTH_TOKEN_COOKIE_NAME, extractTokenFromCookies, extractScopeFromCookies, resolveRequestStoreId, resolveRequestVersionId } from './chunk-JBXTU5NM.js';
|
|
17
|
+
import { runWithTwilightContext } from './chunk-6XWMNQ52.js';
|
|
18
|
+
export { getTwilightContext, runWithTwilightContext, updateTwilightContext } from './chunk-6XWMNQ52.js';
|
|
19
19
|
import './chunk-JWXJPJBO.js';
|
|
20
20
|
export { mergeDocumentDescriptors as mergeAttrs } from './chunk-CW625T2E.js';
|
|
21
21
|
import './chunk-TYNZ5B2B.js';
|
|
@@ -45,8 +45,9 @@ var twilightMiddleware = (options) => {
|
|
|
45
45
|
const scope = extractScopeFromCookies(cookieHeader);
|
|
46
46
|
const requestHost = requestHostOf(request);
|
|
47
47
|
const storeId = resolveRequestStoreId(request.url, cookieHeader, requestHost);
|
|
48
|
+
const versionId = resolveRequestVersionId(request.url, cookieHeader, requestHost);
|
|
48
49
|
return runWithTwilightContext(
|
|
49
|
-
{ authToken, scope, storeId, requestHost },
|
|
50
|
+
{ authToken, scope, storeId, versionId, requestHost },
|
|
50
51
|
() => next({ context: { authToken } })
|
|
51
52
|
);
|
|
52
53
|
});
|
package/dist/tanstack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/request-host.ts","../src/tanstack/middleware/twilight.ts","../src/tanstack/middleware/earlyHints.ts"],"names":["createMiddleware"],"mappings":"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","file":"tanstack.js","sourcesContent":["/**\n * What the request itself is enough to describe: its host.\n *\n * Small, and deliberately its own module rather than a helper inside the\n * middleware. This value decides two things — which store a live storefront is,\n * and whether the request is allowed to name a store at all — so it is worth\n * testing directly instead of only through the wiring that calls it.\n */\n\n/** The part of a `Request` this needs, so a test does not have to build a whole one. */\nexport interface HostSource {\n url: string;\n headers: { get(name: string): string | null };\n}\n\n/**\n * The host this request arrived on, with its port when it has one.\n *\n * Taken from the request URL, which in a Worker is the address the platform\n * actually routed on, and from the `Host` header only when that fails.\n *\n * **`X-Forwarded-Host` is deliberately not consulted.** A client can set it, and\n * this value gates `allowsRequestStoreId` — so honouring it would be a way to\n * talk a merchant's own domain into behaving like the preview host, and from\n * there into serving a stranger's shop. The dispatcher strips that header today;\n * a theme must not be one edit to another repository's allowlist away from a\n * spoofable identity.\n */\nexport function requestHostOf(request: HostSource): string | null {\n try {\n const fromUrl = new URL(request.url).host;\n if (fromUrl) return fromUrl;\n } catch {\n /* an unparseable URL falls through to the header */\n }\n\n return request.headers.get('Host')?.trim() || null;\n}\n","import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport {\n extractTokenFromCookies,\n extractScopeFromCookies,\n resolveRequestStoreId,\n AUTH_TOKEN_COOKIE_NAME,\n} from '../../utils/cookies';\nimport { runWithTwilightContext } from '../../twilight/context';\nimport { requestHostOf } from '../../utils/request-host';\n\ninterface TwilightMiddlewareOptions {\n cookieName?: string;\n}\n\nexport const twilightMiddleware = (options?: TwilightMiddlewareOptions): AnyRequestMiddleware => {\n const cookieName = options?.cookieName ?? AUTH_TOKEN_COOKIE_NAME;\n\n return createMiddleware().server(({ request, next }) => {\n const cookieHeader = request.headers.get('Cookie');\n const authToken = extractTokenFromCookies(cookieHeader, cookieName);\n const scope = extractScopeFromCookies(cookieHeader);\n const requestHost = requestHostOf(request);\n // Read here and nowhere else: a deployed theme worker has no vars and no\n // bindings, so the request is the only thing that knows which store it is\n // serving. Everything downstream reads it off the context rather than\n // reaching for a build-time constant that is not there in production.\n //\n // The host goes in because it decides whether the request is allowed to name\n // a store at all. On a merchant's own domain it is not: the hostname is the\n // store, and `?storeId=` there would serve a stranger's shop from a domain\n // its owner controls.\n const storeId = resolveRequestStoreId(request.url, cookieHeader, requestHost);\n\n return runWithTwilightContext({ authToken, scope, storeId, requestHost }, () =>\n next({ context: { authToken } })\n );\n });\n};\n","import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport { tsrStartManifest } from 'tanstack-start-manifest:v';\nimport { rootHead } from '../../routes/root/head';\n\n/** Known critical assets that should always be preloaded */\nconst CRITICAL_ASSETS = [\n { rel: 'modulepreload', href: 'https://cdn.assets.salla.network/static/lit/3.3.3/lit.js' },\n { rel: 'preconnect', href: 'https://api.salla.dev' },\n { rel: 'preconnect', href: 'https://cdn.salla.sa' },\n { rel: 'preconnect', href: 'https://cdn.assets.salla.network', crossOrigin: 'anonymous' },\n { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossOrigin: 'anonymous' },\n] as const;\n\n/** Extract locale from URL path (e.g., /ar/products → 'ar') */\nfunction extractLocale(url: string): string | undefined {\n const match = url.match(/^\\/([a-z]{2})(\\/|$)/);\n return match?.[1];\n}\n\n/** Build Link header value from a link descriptor */\nfunction buildLinkHeader(link: Record<string, unknown>): string | null {\n const href = link.href as string | undefined;\n const rel = link.rel as string | undefined;\n if (!href || !rel) return null;\n\n // Skip print-media stylesheets (already non-blocking)\n if (rel === 'stylesheet') {\n const media = link.media as string | undefined;\n if (media === 'print') return null;\n return `<${href}>; rel=preload; as=style`;\n }\n\n if (rel === 'preload') {\n const asType = link.as as string | undefined;\n if (!asType) return null;\n const parts = [`<${href}>`, 'rel=preload', `as=${asType}`];\n if (asType === 'font' || link.crossOrigin) {\n parts.push('crossorigin');\n }\n return parts.join('; ');\n }\n\n if (rel === 'modulepreload') {\n return `<${href}>; rel=modulepreload`;\n }\n\n return null;\n}\n\nexport const earlyHintsMiddleware = (): AnyRequestMiddleware => {\n let cachedManifestPaths: string[] | null = null;\n\n return createMiddleware().server(async ({ request, next }) => {\n const response = await next();\n\n const accept = request.headers.get('Accept') ?? '';\n if (!accept.includes('text/html') && accept !== '*/*') return response;\n if (!(response instanceof Response)) return response;\n\n const linkHeaders: string[] = [];\n\n // 1. Add critical assets from rootHead (fonts, icons, SDK, etc.)\n try {\n const url = new URL(request.url);\n const locale = extractLocale(url.pathname);\n if (locale) {\n const headResult = rootHead({ params: { locale } });\n const links = (headResult.links as Record<string, unknown>[]) ?? [];\n for (const link of links) {\n const header = buildLinkHeader(link);\n if (header) linkHeaders.push(header);\n }\n }\n } catch (e) {\n // rootHead failed — log why, then fall back to known critical assets\n console.warn('[earlyHints] rootHead failed:', e instanceof Error ? e.message : e);\n for (const asset of CRITICAL_ASSETS) {\n const co = 'crossOrigin' in asset ? asset.crossOrigin : undefined;\n linkHeaders.push(`<${asset.href}>; rel=${asset.rel}${co ? '; crossorigin' : ''}`);\n }\n }\n\n // 2. Add CSS from TanStack Start manifest (bundled theme CSS)\n if (!cachedManifestPaths) {\n try {\n const manifest = tsrStartManifest();\n const rootAssets = manifest.routes['__root__']?.assets ?? [];\n const seen = new Set<string>();\n cachedManifestPaths = [];\n for (const asset of rootAssets) {\n if (asset.tag === 'link' && asset.attrs?.href?.endsWith('.css')) {\n if (!seen.has(asset.attrs.href)) {\n seen.add(asset.attrs.href);\n cachedManifestPaths.push(asset.attrs.href);\n }\n }\n }\n } catch (e) {\n // manifest not available — skip\n console.warn('[earlyHints] tsrStartManifest failed:', e instanceof Error ? e.message : e);\n }\n }\n\n if (cachedManifestPaths) {\n for (const href of cachedManifestPaths) {\n linkHeaders.push(`<${href}>; rel=preload; as=style`);\n }\n }\n\n // Apply Link headers if we have any\n if (linkHeaders.length === 0) {\n console.warn('[earlyHints] no critical assets found — no Link headers added');\n return response;\n }\n\n const headers = new Headers(response.headers);\n for (const linkHeader of linkHeaders) {\n headers.append('Link', linkHeader);\n }\n\n return new Response(response.body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n });\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/utils/request-host.ts","../src/tanstack/middleware/twilight.ts","../src/tanstack/middleware/earlyHints.ts"],"names":["createMiddleware"],"mappings":"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","file":"tanstack.js","sourcesContent":["/**\n * What the request itself is enough to describe: its host.\n *\n * Small, and deliberately its own module rather than a helper inside the\n * middleware. This value decides two things — which store a live storefront is,\n * and whether the request is allowed to name a store at all — so it is worth\n * testing directly instead of only through the wiring that calls it.\n */\n\n/** The part of a `Request` this needs, so a test does not have to build a whole one. */\nexport interface HostSource {\n url: string;\n headers: { get(name: string): string | null };\n}\n\n/**\n * The host this request arrived on, with its port when it has one.\n *\n * Taken from the request URL, which in a Worker is the address the platform\n * actually routed on, and from the `Host` header only when that fails.\n *\n * **`X-Forwarded-Host` is deliberately not consulted.** A client can set it, and\n * this value gates `allowsRequestStoreId` — so honouring it would be a way to\n * talk a merchant's own domain into behaving like the preview host, and from\n * there into serving a stranger's shop. The dispatcher strips that header today;\n * a theme must not be one edit to another repository's allowlist away from a\n * spoofable identity.\n */\nexport function requestHostOf(request: HostSource): string | null {\n try {\n const fromUrl = new URL(request.url).host;\n if (fromUrl) return fromUrl;\n } catch {\n /* an unparseable URL falls through to the header */\n }\n\n return request.headers.get('Host')?.trim() || null;\n}\n","import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport {\n extractTokenFromCookies,\n extractScopeFromCookies,\n resolveRequestStoreId,\n resolveRequestVersionId,\n AUTH_TOKEN_COOKIE_NAME,\n} from '../../utils/cookies';\nimport { runWithTwilightContext } from '../../twilight/context';\nimport { requestHostOf } from '../../utils/request-host';\n\ninterface TwilightMiddlewareOptions {\n cookieName?: string;\n}\n\nexport const twilightMiddleware = (options?: TwilightMiddlewareOptions): AnyRequestMiddleware => {\n const cookieName = options?.cookieName ?? AUTH_TOKEN_COOKIE_NAME;\n\n return createMiddleware().server(({ request, next }) => {\n const cookieHeader = request.headers.get('Cookie');\n const authToken = extractTokenFromCookies(cookieHeader, cookieName);\n const scope = extractScopeFromCookies(cookieHeader);\n const requestHost = requestHostOf(request);\n // Read here and nowhere else: a deployed theme worker has no vars and no\n // bindings, so the request is the only thing that knows which store it is\n // serving. Everything downstream reads it off the context rather than\n // reaching for a build-time constant that is not there in production.\n //\n // The host goes in because it decides whether the request is allowed to name\n // a store at all. On a merchant's own domain it is not: the hostname is the\n // store, and `?storeId=` there would serve a stranger's shop from a domain\n // its owner controls.\n const storeId = resolveRequestStoreId(request.url, cookieHeader, requestHost);\n // The version is read here for the same reason and behind the same gate. A\n // theme editor previews a draft version of a merchant's settings before it is\n // published, and a partner running the theme locally renders against one —\n // both open the storefront in an iframe and say which version in the URL.\n const versionId = resolveRequestVersionId(request.url, cookieHeader, requestHost);\n\n return runWithTwilightContext({ authToken, scope, storeId, versionId, requestHost }, () =>\n next({ context: { authToken } })\n );\n });\n};\n","import type { AnyRequestMiddleware } from '@tanstack/react-start';\nimport { createMiddleware } from '@tanstack/react-start';\nimport { tsrStartManifest } from 'tanstack-start-manifest:v';\nimport { rootHead } from '../../routes/root/head';\n\n/** Known critical assets that should always be preloaded */\nconst CRITICAL_ASSETS = [\n { rel: 'modulepreload', href: 'https://cdn.assets.salla.network/static/lit/3.3.3/lit.js' },\n { rel: 'preconnect', href: 'https://api.salla.dev' },\n { rel: 'preconnect', href: 'https://cdn.salla.sa' },\n { rel: 'preconnect', href: 'https://cdn.assets.salla.network', crossOrigin: 'anonymous' },\n { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossOrigin: 'anonymous' },\n] as const;\n\n/** Extract locale from URL path (e.g., /ar/products → 'ar') */\nfunction extractLocale(url: string): string | undefined {\n const match = url.match(/^\\/([a-z]{2})(\\/|$)/);\n return match?.[1];\n}\n\n/** Build Link header value from a link descriptor */\nfunction buildLinkHeader(link: Record<string, unknown>): string | null {\n const href = link.href as string | undefined;\n const rel = link.rel as string | undefined;\n if (!href || !rel) return null;\n\n // Skip print-media stylesheets (already non-blocking)\n if (rel === 'stylesheet') {\n const media = link.media as string | undefined;\n if (media === 'print') return null;\n return `<${href}>; rel=preload; as=style`;\n }\n\n if (rel === 'preload') {\n const asType = link.as as string | undefined;\n if (!asType) return null;\n const parts = [`<${href}>`, 'rel=preload', `as=${asType}`];\n if (asType === 'font' || link.crossOrigin) {\n parts.push('crossorigin');\n }\n return parts.join('; ');\n }\n\n if (rel === 'modulepreload') {\n return `<${href}>; rel=modulepreload`;\n }\n\n return null;\n}\n\nexport const earlyHintsMiddleware = (): AnyRequestMiddleware => {\n let cachedManifestPaths: string[] | null = null;\n\n return createMiddleware().server(async ({ request, next }) => {\n const response = await next();\n\n const accept = request.headers.get('Accept') ?? '';\n if (!accept.includes('text/html') && accept !== '*/*') return response;\n if (!(response instanceof Response)) return response;\n\n const linkHeaders: string[] = [];\n\n // 1. Add critical assets from rootHead (fonts, icons, SDK, etc.)\n try {\n const url = new URL(request.url);\n const locale = extractLocale(url.pathname);\n if (locale) {\n const headResult = rootHead({ params: { locale } });\n const links = (headResult.links as Record<string, unknown>[]) ?? [];\n for (const link of links) {\n const header = buildLinkHeader(link);\n if (header) linkHeaders.push(header);\n }\n }\n } catch (e) {\n // rootHead failed — log why, then fall back to known critical assets\n console.warn('[earlyHints] rootHead failed:', e instanceof Error ? e.message : e);\n for (const asset of CRITICAL_ASSETS) {\n const co = 'crossOrigin' in asset ? asset.crossOrigin : undefined;\n linkHeaders.push(`<${asset.href}>; rel=${asset.rel}${co ? '; crossorigin' : ''}`);\n }\n }\n\n // 2. Add CSS from TanStack Start manifest (bundled theme CSS)\n if (!cachedManifestPaths) {\n try {\n const manifest = tsrStartManifest();\n const rootAssets = manifest.routes['__root__']?.assets ?? [];\n const seen = new Set<string>();\n cachedManifestPaths = [];\n for (const asset of rootAssets) {\n if (asset.tag === 'link' && asset.attrs?.href?.endsWith('.css')) {\n if (!seen.has(asset.attrs.href)) {\n seen.add(asset.attrs.href);\n cachedManifestPaths.push(asset.attrs.href);\n }\n }\n }\n } catch (e) {\n // manifest not available — skip\n console.warn('[earlyHints] tsrStartManifest failed:', e instanceof Error ? e.message : e);\n }\n }\n\n if (cachedManifestPaths) {\n for (const href of cachedManifestPaths) {\n linkHeaders.push(`<${href}>; rel=preload; as=style`);\n }\n }\n\n // Apply Link headers if we have any\n if (linkHeaders.length === 0) {\n console.warn('[earlyHints] no critical assets found — no Link headers added');\n return response;\n }\n\n const headers = new Headers(response.headers);\n for (const linkHeader of linkHeaders) {\n headers.append('Link', linkHeader);\n }\n\n return new Response(response.body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n });\n};\n"]}
|
|
@@ -49,6 +49,16 @@ export interface TwilightContext {
|
|
|
49
49
|
* nothing to carry. See {@link resolveRequestStoreId}.
|
|
50
50
|
*/
|
|
51
51
|
storeId: string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Which version of the theme's settings this request asked for — the
|
|
54
|
+
* `?versionId=` an editor preview or a local dev session was opened with, or
|
|
55
|
+
* the cookie remembering it.
|
|
56
|
+
*
|
|
57
|
+
* Null on an ordinary storefront visit, which is the common case: nothing
|
|
58
|
+
* named a version, so the store's live one is what the API answers with. See
|
|
59
|
+
* {@link resolveRequestVersionId}.
|
|
60
|
+
*/
|
|
61
|
+
versionId: string | null;
|
|
52
62
|
/**
|
|
53
63
|
* The host this request arrived on, captured server-side.
|
|
54
64
|
*
|
|
@@ -81,18 +91,25 @@ export declare function updateTwilightContext(partial: Partial<TwilightContext>)
|
|
|
81
91
|
* calls outside `runWithTwilightContext`).
|
|
82
92
|
*/
|
|
83
93
|
export declare function hasTwilightSettings(): boolean;
|
|
94
|
+
/** What a request addressed, as opposed to what it is. */
|
|
95
|
+
export interface RequestAddressing {
|
|
96
|
+
storeId: string | null;
|
|
97
|
+
versionId: string | null;
|
|
98
|
+
requestHost: string | null;
|
|
99
|
+
}
|
|
84
100
|
/**
|
|
85
|
-
*
|
|
101
|
+
* What this request named and the host it arrived on, without throwing.
|
|
86
102
|
*
|
|
87
103
|
* Separate from {@link getTwilightContext} because store identity is read while
|
|
88
104
|
* deciding *what to fetch* — before there is a context worth having — and on the
|
|
89
105
|
* server outside a request the getter throws. A caller asking "which store?" has
|
|
90
106
|
* a sane answer for "none named"; it has none for an exception.
|
|
107
|
+
*
|
|
108
|
+
* The version rides along rather than getting an accessor of its own: it is read
|
|
109
|
+
* at the same moment, for the same reason, and by the same callers, and a second
|
|
110
|
+
* copy of this try/catch would be a second thing to remember to widen.
|
|
91
111
|
*/
|
|
92
|
-
export declare function getRequestStore():
|
|
93
|
-
storeId: string | null;
|
|
94
|
-
requestHost: string | null;
|
|
95
|
-
};
|
|
112
|
+
export declare function getRequestStore(): RequestAddressing;
|
|
96
113
|
export declare function getTwilightContext(): TwilightContext;
|
|
97
114
|
/** @internal Reset store for testing */
|
|
98
115
|
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;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMpD,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;;;;OAIG;IACH,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;qGACiG;IACjG,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B;oGACgG;IAChG,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;
|
|
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;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMpD,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;;;;OAIG;IACH,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;;;;OAQG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;qGACiG;IACjG,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B;oGACgG;IAChG,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAqHD,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,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAOnD;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CA6DpD;AAED,wCAAwC;AACxC,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|