@salla.sa/twilight-theme-engine 1.0.0-beta.9 → 1.0.0
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-VS67AFNL.js → AddToCartForm-H4K4VS3M.js} +24 -25
- package/dist/AddToCartForm-H4K4VS3M.js.map +1 -0
- package/dist/{BlogAuthorPage-276K2KQS.js → BlogAuthorPage-FN4XX2OK.js} +30 -27
- package/dist/BlogAuthorPage-FN4XX2OK.js.map +1 -0
- package/dist/{BlogCategoryPage-GF5PLRG7.js → BlogCategoryPage-MUHIK4WT.js} +30 -27
- package/dist/BlogCategoryPage-MUHIK4WT.js.map +1 -0
- package/dist/{BlogPage-BU672BXD.js → BlogPage-ZG655QM7.js} +33 -24
- package/dist/BlogPage-ZG655QM7.js.map +1 -0
- package/dist/{BlogSinglePage-ELV4S5EV.js → BlogSinglePage-FLVGIIL7.js} +25 -23
- package/dist/BlogSinglePage-FLVGIIL7.js.map +1 -0
- package/dist/{BlogTagPage-TXQP6ZOI.js → BlogTagPage-ETQGMVW3.js} +30 -27
- package/dist/BlogTagPage-ETQGMVW3.js.map +1 -0
- package/dist/{BrandsPage-C6ZHC4KC.js → BrandsPage-BCJWSKQ4.js} +24 -23
- package/dist/BrandsPage-BCJWSKQ4.js.map +1 -0
- package/dist/{Breadcrumb-TG4UTNRM.js → Breadcrumb-4AANUEKN.js} +24 -23
- package/dist/Breadcrumb-4AANUEKN.js.map +1 -0
- package/dist/{CartItem-55JV6HDS.js → CartItem-VMYGVMOT.js} +27 -26
- package/dist/CartItem-VMYGVMOT.js.map +1 -0
- package/dist/{CartSummary-CUWMHHMD.js → CartSummary-W7H5YTN6.js} +24 -23
- package/dist/CartSummary-W7H5YTN6.js.map +1 -0
- package/dist/Copyright-VREW3OTU.js +9 -0
- package/dist/{Copyright-PG76AVV6.js.map → Copyright-VREW3OTU.js.map} +1 -1
- package/dist/{CustomerLayout-SLNVCNZ6.js → CustomerLayout-HI3MHMOJ.js} +24 -23
- package/dist/CustomerLayout-HI3MHMOJ.js.map +1 -0
- package/dist/ErrorPage-XGBROULF.js +6 -0
- package/dist/{ErrorPage-TK4U3ENF.js.map → ErrorPage-XGBROULF.js.map} +1 -1
- package/dist/Footer-66XHPADY.js +40 -0
- package/dist/{Footer-MZDSEK57.js.map → Footer-66XHPADY.js.map} +1 -1
- package/dist/Header-TZX55FDN.js +15 -0
- package/dist/{Header-CXFKDTOA.js.map → Header-TZX55FDN.js.map} +1 -1
- package/dist/ImageModal-LHFSYPSU.js +32 -0
- package/dist/ImageModal-LHFSYPSU.js.map +1 -0
- package/dist/{LoyaltyPage-AIA3CUYI.js → LoyaltyPage-JN2KJC7E.js} +29 -28
- package/dist/LoyaltyPage-JN2KJC7E.js.map +1 -0
- package/dist/{MainMenu-T3M5RB7L.js → MainMenu-M2SHKHOK.js} +16 -37
- package/dist/MainMenu-M2SHKHOK.js.map +1 -0
- package/dist/MasterLayout-2346V2WQ.js +40 -0
- package/dist/{MasterLayout-QUBHRA32.js.map → MasterLayout-2346V2WQ.js.map} +1 -1
- package/dist/{MobileMenu-6D52JOQA.js → MobileMenu-LTGCUCOZ.js} +47 -60
- package/dist/MobileMenu-LTGCUCOZ.js.map +1 -0
- package/dist/{NotificationsPage-6H45SAS7.js → NotificationsPage-6D7WS3H2.js} +24 -23
- package/dist/NotificationsPage-6D7WS3H2.js.map +1 -0
- package/dist/{OrderSinglePage-GP2M3YVH.js → OrderSinglePage-NAZY23SD.js} +73 -61
- package/dist/OrderSinglePage-NAZY23SD.js.map +1 -0
- package/dist/{OrdersPage-OQGJLTQP.js → OrdersPage-ARIDUNIW.js} +25 -24
- package/dist/OrdersPage-ARIDUNIW.js.map +1 -0
- package/dist/{PageSingle-44NVAUIT.js → PageSingle-X7FAYXMH.js} +3 -3
- package/dist/{PageSingle-44NVAUIT.js.map → PageSingle-X7FAYXMH.js.map} +1 -1
- package/dist/{PreOrderNotification-ZVTGNV7K.js → PreOrderNotification-OP57EA6F.js} +3 -3
- package/dist/PreOrderNotification-OP57EA6F.js.map +1 -0
- package/dist/{PriceQuoteButton-RAAPL4N4.js → PriceQuoteButton-CGRNHY3E.js} +6 -6
- package/dist/PriceQuoteButton-CGRNHY3E.js.map +1 -0
- package/dist/{ProductDetails-2JUCRU4W.js → ProductDetails-M5DBXW7K.js} +11 -10
- package/dist/ProductDetails-M5DBXW7K.js.map +1 -0
- package/dist/{ProfilePage-XGZ2HCQH.js → ProfilePage-YMFZQIKT.js} +24 -23
- package/dist/ProfilePage-YMFZQIKT.js.map +1 -0
- package/dist/{SeoCartWidget-PDK6IQ2H.js → SeoCartWidget-VVDUBWCT.js} +24 -23
- package/dist/SeoCartWidget-VVDUBWCT.js.map +1 -0
- package/dist/{SettingsPage-VCQNV2PP.js → SettingsPage-P7H7MQHU.js} +24 -23
- package/dist/SettingsPage-P7H7MQHU.js.map +1 -0
- package/dist/StoreClosedNotification-4WCOB6Y6.js +41 -0
- package/dist/{StoreClosedNotification-3JRNBNQK.js.map → StoreClosedNotification-4WCOB6Y6.js.map} +1 -1
- package/dist/{TestimonialsPage-ENMVJ4QG.js → TestimonialsPage-OYWHHUB3.js} +4 -4
- package/dist/TestimonialsPage-OYWHHUB3.js.map +1 -0
- package/dist/{ThankYouPage-4FTP6E2Y.js → ThankYouPage-XSZXBUV3.js} +32 -26
- package/dist/ThankYouPage-XSZXBUV3.js.map +1 -0
- package/dist/{WalletPage-VKV44EEG.js → WalletPage-EPD22OHW.js} +25 -24
- package/dist/WalletPage-EPD22OHW.js.map +1 -0
- package/dist/WidgetHead-RWL7D3CT.js +7 -0
- package/dist/{WidgetHead-FXEPCB23.js.map → WidgetHead-RWL7D3CT.js.map} +1 -1
- package/dist/{WishlistPage-GJZCXQUY.js → WishlistPage-I27GDNTK.js} +25 -24
- package/dist/WishlistPage-I27GDNTK.js.map +1 -0
- package/dist/ambient/virtual-modules.d.ts +28 -0
- package/dist/api/apps.js +2 -2
- package/dist/api/brands.js +5 -34
- package/dist/api/cart.js +5 -34
- package/dist/api/category.js +5 -34
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +2 -2
- package/dist/api/home.js +3 -3
- package/dist/api/loyalty.js +5 -34
- package/dist/api/menu.js +3 -3
- package/dist/api/notification.js +3 -3
- package/dist/api/order.js +5 -34
- package/dist/api/page.js +5 -34
- package/dist/api/product.js +5 -34
- package/dist/api/profile.js +2 -2
- package/dist/api/store.js +3 -3
- package/dist/api/translations.d.ts +1 -1
- package/dist/api/translations.d.ts.map +1 -1
- package/dist/api/translations.js +3 -3
- package/dist/api/user.js +3 -3
- package/dist/api/wishlist.js +3 -3
- package/dist/chunk-2JV6WZ6O.js +136 -0
- package/dist/chunk-2JV6WZ6O.js.map +1 -0
- package/dist/{chunk-TQUHDSKQ.js → chunk-2TB2LTL2.js} +3 -11
- package/dist/chunk-2TB2LTL2.js.map +1 -0
- package/dist/{chunk-JIJOXZPF.js → chunk-2ZRLSZ4V.js} +6 -12
- package/dist/chunk-2ZRLSZ4V.js.map +1 -0
- package/dist/{chunk-433EFDBW.js → chunk-3OAVM4PY.js} +4 -4
- package/dist/chunk-3OAVM4PY.js.map +1 -0
- package/dist/{chunk-S6AVEFCN.js → chunk-4LGAJDZV.js} +19 -12
- package/dist/chunk-4LGAJDZV.js.map +1 -0
- package/dist/{chunk-GFMVML6I.js → chunk-6D7SF3YR.js} +3 -3
- package/dist/{chunk-GFMVML6I.js.map → chunk-6D7SF3YR.js.map} +1 -1
- package/dist/{chunk-THXWAZX2.js → chunk-6JMXDZXL.js} +12 -17
- package/dist/chunk-6JMXDZXL.js.map +1 -0
- package/dist/{chunk-FCZRF6DB.js → chunk-6NBBXERE.js} +3 -3
- package/dist/{chunk-FCZRF6DB.js.map → chunk-6NBBXERE.js.map} +1 -1
- package/dist/{chunk-5DZ7HLSO.js → chunk-6Q5BFHFA.js} +3 -3
- package/dist/{chunk-5DZ7HLSO.js.map → chunk-6Q5BFHFA.js.map} +1 -1
- package/dist/{chunk-XHGF75TM.js → chunk-6TKIUG5C.js} +11 -4
- package/dist/chunk-6TKIUG5C.js.map +1 -0
- package/dist/{chunk-TQLEQSXE.js → chunk-6Z4MOC4S.js} +3 -19
- package/dist/chunk-6Z4MOC4S.js.map +1 -0
- package/dist/{chunk-SUFCEN4T.js → chunk-7LP7D75V.js} +3 -3
- package/dist/{chunk-SUFCEN4T.js.map → chunk-7LP7D75V.js.map} +1 -1
- package/dist/{chunk-GS3G4O2R.js → chunk-7O5DYSLX.js} +4 -4
- package/dist/chunk-7O5DYSLX.js.map +1 -0
- package/dist/{chunk-EB7X4YMZ.js → chunk-7UZEHQEQ.js} +4 -4
- package/dist/{chunk-EB7X4YMZ.js.map → chunk-7UZEHQEQ.js.map} +1 -1
- package/dist/{chunk-D4SRWUMH.js → chunk-B2NXQJEO.js} +4 -4
- package/dist/{chunk-D4SRWUMH.js.map → chunk-B2NXQJEO.js.map} +1 -1
- package/dist/{chunk-2FU6CVSB.js → chunk-C5X6CVXC.js} +3 -3
- package/dist/{chunk-2FU6CVSB.js.map → chunk-C5X6CVXC.js.map} +1 -1
- package/dist/chunk-CUG6VOLM.js +10 -0
- package/dist/{chunk-3DCZJDDK.js.map → chunk-CUG6VOLM.js.map} +1 -1
- package/dist/{chunk-BWFBVXT3.js → chunk-DF6FBKDN.js} +2 -2
- package/dist/chunk-DF6FBKDN.js.map +1 -0
- package/dist/{chunk-GTM2GV2N.js → chunk-DIVL44G5.js} +65 -43
- package/dist/chunk-DIVL44G5.js.map +1 -0
- package/dist/{chunk-YRKMHN7W.js → chunk-EHKTHLXK.js} +3 -3
- package/dist/{chunk-YRKMHN7W.js.map → chunk-EHKTHLXK.js.map} +1 -1
- package/dist/{chunk-P43TLDS6.js → chunk-ENIGLGGV.js} +6 -6
- package/dist/chunk-ENIGLGGV.js.map +1 -0
- package/dist/{chunk-UE3BUFZI.js → chunk-FZKRSGLP.js} +3 -3
- package/dist/{chunk-UE3BUFZI.js.map → chunk-FZKRSGLP.js.map} +1 -1
- package/dist/{chunk-C5GWTTB6.js → chunk-GQG4KE5Z.js} +4 -4
- package/dist/chunk-GQG4KE5Z.js.map +1 -0
- package/dist/{chunk-J37AYLWL.js → chunk-GU2KUQVD.js} +4 -3
- package/dist/chunk-GU2KUQVD.js.map +1 -0
- package/dist/{chunk-SVZOWI7E.js → chunk-HTGBIA7K.js} +3 -6
- package/dist/chunk-HTGBIA7K.js.map +1 -0
- package/dist/{chunk-ZZ7Q5LEG.js → chunk-HWVEOUG4.js} +3 -3
- package/dist/{chunk-ZZ7Q5LEG.js.map → chunk-HWVEOUG4.js.map} +1 -1
- package/dist/{chunk-3UHSMGPY.js → chunk-HX3YKS5W.js} +9 -3
- package/dist/chunk-HX3YKS5W.js.map +1 -0
- package/dist/{chunk-WA5QBFRU.js → chunk-I5Z4NJBB.js} +4 -4
- package/dist/{chunk-WA5QBFRU.js.map → chunk-I5Z4NJBB.js.map} +1 -1
- package/dist/{chunk-TWAHYRKI.js → chunk-IWMGDYNN.js} +4 -4
- package/dist/chunk-IWMGDYNN.js.map +1 -0
- package/dist/{chunk-TFZ2RT6P.js → chunk-JKIRRMBU.js} +3 -3
- package/dist/chunk-JKIRRMBU.js.map +1 -0
- package/dist/{chunk-YU36GBMB.js → chunk-KCKHA75V.js} +3 -3
- package/dist/{chunk-YU36GBMB.js.map → chunk-KCKHA75V.js.map} +1 -1
- package/dist/{chunk-W4CSWDEH.js → chunk-KIPZQN3Y.js} +2 -7
- package/dist/chunk-KIPZQN3Y.js.map +1 -0
- package/dist/{chunk-2SUOZEX2.js → chunk-KJRALAYM.js} +3 -3
- package/dist/chunk-KJRALAYM.js.map +1 -0
- package/dist/{chunk-SAZBQNQK.js → chunk-KZDE3XKU.js} +7 -7
- package/dist/chunk-KZDE3XKU.js.map +1 -0
- package/dist/{chunk-O7Z6BIPP.js → chunk-LSDIFHXZ.js} +4 -4
- package/dist/{chunk-O7Z6BIPP.js.map → chunk-LSDIFHXZ.js.map} +1 -1
- package/dist/{chunk-7RVUSB5C.js → chunk-NBHI5X36.js} +4 -4
- package/dist/{chunk-7RVUSB5C.js.map → chunk-NBHI5X36.js.map} +1 -1
- package/dist/{chunk-UIX3W2PN.js → chunk-OAMIDZKW.js} +3 -3
- package/dist/chunk-OAMIDZKW.js.map +1 -0
- package/dist/{chunk-MXQCE3KA.js → chunk-OBSAH7K6.js} +4 -45
- package/dist/chunk-OBSAH7K6.js.map +1 -0
- package/dist/{chunk-IILTG4A6.js → chunk-P26QKBJC.js} +84 -63
- package/dist/chunk-P26QKBJC.js.map +1 -0
- package/dist/chunk-Q5YIGQTT.js +14 -0
- package/dist/{chunk-ZOCDYJPX.js.map → chunk-Q5YIGQTT.js.map} +1 -1
- package/dist/{chunk-25SSLQAJ.js → chunk-Q7VWURUR.js} +5 -12
- package/dist/chunk-Q7VWURUR.js.map +1 -0
- package/dist/{chunk-SSQ75CKA.js → chunk-RINZVHVS.js} +4 -4
- package/dist/chunk-RINZVHVS.js.map +1 -0
- package/dist/{chunk-RYBA3JDM.js → chunk-RJPPO3ET.js} +4 -4
- package/dist/{chunk-RYBA3JDM.js.map → chunk-RJPPO3ET.js.map} +1 -1
- package/dist/{chunk-Q6MQLAYL.js → chunk-TCSNNCRH.js} +3 -3
- package/dist/{chunk-Q6MQLAYL.js.map → chunk-TCSNNCRH.js.map} +1 -1
- package/dist/{chunk-GOYYO4NI.js → chunk-TP3LCGE7.js} +2 -2
- package/dist/{chunk-GOYYO4NI.js.map → chunk-TP3LCGE7.js.map} +1 -1
- package/dist/{chunk-U33UQAWO.js → chunk-TSAQIQCD.js} +10 -9
- package/dist/chunk-TSAQIQCD.js.map +1 -0
- package/dist/{chunk-VVRYP6IL.js → chunk-TYNZ5B2B.js} +2 -2
- package/dist/chunk-TYNZ5B2B.js.map +1 -0
- package/dist/{chunk-CI4HKXVH.js → chunk-W6HFR7YA.js} +4 -4
- package/dist/chunk-W6HFR7YA.js.map +1 -0
- package/dist/{chunk-REQC7YOE.js → chunk-WUTGBZQR.js} +9 -14
- package/dist/chunk-WUTGBZQR.js.map +1 -0
- package/dist/{chunk-4AYOFKHU.js → chunk-XK42WXU5.js} +3 -3
- package/dist/chunk-XK42WXU5.js.map +1 -0
- package/dist/{chunk-HL3HSO4R.js → chunk-Y62QQRYP.js} +5 -5
- package/dist/chunk-Y62QQRYP.js.map +1 -0
- package/dist/{chunk-FBFPH5BB.js → chunk-Z4Y55HWX.js} +8 -8
- package/dist/chunk-Z4Y55HWX.js.map +1 -0
- package/dist/{chunk-6LQFMCWK.js → chunk-ZNOJPVX3.js} +4 -4
- package/dist/chunk-ZNOJPVX3.js.map +1 -0
- package/dist/components/cart/CartItem.d.ts.map +1 -1
- package/dist/components/cart/PriceQuoteButton.d.ts.map +1 -1
- package/dist/components/cart/index.js +1 -1
- package/dist/components/collapse/Collapse.d.ts +2 -2
- package/dist/components/collapse/Collapse.d.ts.map +1 -1
- package/dist/components/collapse/index.js +3 -3
- package/dist/components/collapse/index.js.map +1 -1
- package/dist/components/common/DeferredData.d.ts +0 -1
- package/dist/components/common/DeferredData.d.ts.map +1 -1
- package/dist/components/common/ErrorPage.d.ts.map +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/drawer/index.js +23 -22
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
- package/dist/components/dropdown/index.js +17 -1
- package/dist/components/dropdown/index.js.map +1 -1
- package/dist/components/home/ComponentErrorBoundary.d.ts +1 -1
- package/dist/components/home/ComponentErrorBoundary.d.ts.map +1 -1
- package/dist/components/home/PhotosSlider.d.ts +1 -0
- package/dist/components/home/PhotosSlider.d.ts.map +1 -1
- package/dist/components/home/SquarePhotos.d.ts +1 -0
- package/dist/components/home/SquarePhotos.d.ts.map +1 -1
- package/dist/components/home/StoreFeatures.d.ts.map +1 -1
- package/dist/components/home/index.js +25 -24
- package/dist/components/layout/Header.d.ts.map +1 -1
- package/dist/components/layout/index.js +10 -10
- package/dist/components/modal/ImageModal.d.ts.map +1 -1
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/index.js +2 -2
- package/dist/components/navigation/MainMenu.d.ts.map +1 -1
- package/dist/components/navigation/MobileMenu.d.ts +1 -1
- package/dist/components/navigation/MobileMenu.d.ts.map +1 -1
- package/dist/components/product/AddToCartForm.d.ts +1 -1
- package/dist/components/product/AddToCartForm.d.ts.map +1 -1
- package/dist/components/product/ProductGallery.d.ts.map +1 -1
- package/dist/components/product/index.js +23 -22
- package/dist/components/store/index.js +24 -23
- package/dist/components/store/index.js.map +1 -1
- package/dist/components/toast/index.js +47 -2
- package/dist/components/toast/index.js.map +1 -1
- package/dist/dev/DevSettingsWidget.d.ts +19 -0
- package/dist/dev/DevSettingsWidget.d.ts.map +1 -0
- package/dist/dev/dev-settings-store.d.ts +62 -0
- package/dist/dev/dev-settings-store.d.ts.map +1 -0
- package/dist/dev/index.d.ts +9 -0
- package/dist/dev/index.d.ts.map +1 -0
- package/dist/dev/index.js +330 -0
- package/dist/dev/index.js.map +1 -0
- package/dist/dev/schema-types.d.ts +43 -0
- package/dist/dev/schema-types.d.ts.map +1 -0
- package/dist/document-class-WLNCTQI2.js +21 -0
- package/dist/{document-class-V5XSWLMX.js.map → document-class-WLNCTQI2.js.map} +1 -1
- package/dist/hooks/HookRegistry.d.ts +1 -0
- package/dist/hooks/HookRegistry.d.ts.map +1 -1
- package/dist/hooks/HookRegistry.js +1 -1
- package/dist/hooks/HookSlot.d.ts +1 -1
- package/dist/hooks/HookSlot.d.ts.map +1 -1
- package/dist/hooks/HookSlot.js +3 -3
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +22 -21
- package/dist/hooks/useBlogLike.js +2 -2
- package/dist/hooks/useGtm.js +22 -21
- package/dist/hooks/useHook.js +2 -2
- package/dist/hooks/useMoney.d.ts.map +1 -1
- package/dist/hooks/useMoney.js +22 -21
- package/dist/hooks/useNumber.d.ts.map +1 -1
- package/dist/hooks/useStore.js +22 -21
- package/dist/hooks/useTheme.js +2 -2
- package/dist/hooks/useUser.js +4 -4
- package/dist/i18n.d.ts +1 -1
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -21
- package/dist/index.js.map +1 -1
- package/dist/navigation-ZCEGLIHD.js +10 -0
- package/dist/{navigation-77T2NTFS.js.map → navigation-ZCEGLIHD.js.map} +1 -1
- package/dist/{navigation-JPUI67XY.js → navigation-ZIULIDFF.js} +6 -6
- package/dist/{navigation-JPUI67XY.js.map → navigation-ZIULIDFF.js.map} +1 -1
- package/dist/nextjs/index.d.ts +1 -2
- package/dist/nextjs/index.d.ts.map +1 -1
- package/dist/nextjs/link.d.ts +0 -4
- package/dist/nextjs/link.d.ts.map +1 -1
- package/dist/nextjs/router.d.ts +0 -6
- package/dist/nextjs/router.d.ts.map +1 -1
- package/dist/nextjs.js +2 -7
- package/dist/nextjs.js.map +1 -1
- package/dist/{not-found-73ZVE5QO.js → not-found-GRNEMF22.js} +24 -23
- package/dist/not-found-GRNEMF22.js.map +1 -0
- package/dist/providers/{i18n.d.ts → I18nProvider.d.ts} +1 -1
- package/dist/providers/I18nProvider.d.ts.map +1 -0
- package/dist/providers/NavigationProvider.d.ts +1 -4
- package/dist/providers/NavigationProvider.d.ts.map +1 -1
- package/dist/providers/TwilightProvider.d.ts +1 -1
- package/dist/providers/TwilightProvider.d.ts.map +1 -1
- package/dist/providers/index.js +22 -21
- package/dist/providers/navigation-setups.d.ts +5 -0
- package/dist/providers/navigation-setups.d.ts.map +1 -0
- package/dist/providers/twilight-context.d.ts +1 -1
- package/dist/providers/twilight-context.d.ts.map +1 -1
- package/dist/providers/twilight-init.d.ts +1 -2
- package/dist/providers/twilight-init.d.ts.map +1 -1
- package/dist/routes/account/orders/OrderSinglePage.d.ts.map +1 -1
- package/dist/routes/account/orders.js +6 -35
- package/dist/routes/account.js +14 -43
- package/dist/routes/account.js.map +1 -1
- package/dist/routes/blog/BlogAuthorPage.d.ts.map +1 -1
- package/dist/routes/blog/BlogCategoryPage.d.ts.map +1 -1
- package/dist/routes/blog/BlogPage.d.ts +1 -1
- package/dist/routes/blog/BlogPage.d.ts.map +1 -1
- package/dist/routes/blog/BlogSinglePage.d.ts.map +1 -1
- package/dist/routes/blog/BlogTagPage.d.ts.map +1 -1
- package/dist/routes/blog.js +10 -39
- package/dist/routes/blog.js.map +1 -1
- package/dist/routes/brands.js +6 -35
- package/dist/routes/brands.js.map +1 -1
- package/dist/routes/cart.js +30 -29
- package/dist/routes/cart.js.map +1 -1
- package/dist/routes/home/HomePage.d.ts.map +1 -1
- package/dist/routes/home.js +27 -26
- package/dist/routes/index.d.ts +2 -2
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +5 -35
- package/dist/routes/loyalty.js +6 -35
- package/dist/routes/loyalty.js.map +1 -1
- package/dist/routes/page.js +6 -35
- package/dist/routes/page.js.map +1 -1
- package/dist/routes/product-listing/ProductListPage.d.ts.map +1 -1
- package/dist/routes/product-listing.js +30 -32
- package/dist/routes/product-listing.js.map +1 -1
- package/dist/routes/product.js +25 -24
- package/dist/routes/product.js.map +1 -1
- package/dist/routes/root/beforeLoad.d.ts +0 -2
- package/dist/routes/root/beforeLoad.d.ts.map +1 -1
- package/dist/routes/seo-redirects.js +4 -35
- package/dist/routes/testimonials.js +2 -2
- package/dist/routes/thank-you/ThankYouPage.d.ts +1 -1
- package/dist/routes/thank-you/ThankYouPage.d.ts.map +1 -1
- package/dist/routes/thank-you.js +6 -35
- package/dist/routes/thank-you.js.map +1 -1
- package/dist/skeleton.js +27 -26
- package/dist/tanstack/middleware/twilight.d.ts.map +1 -1
- package/dist/tanstack/router.d.ts +0 -3
- package/dist/tanstack/router.d.ts.map +1 -1
- package/dist/tanstack.js +16 -31
- package/dist/tanstack.js.map +1 -1
- package/dist/twilight/context.d.ts +0 -1
- package/dist/twilight/context.d.ts.map +1 -1
- package/dist/types/hooks.d.ts +1 -0
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/hooks.js +1 -1
- package/dist/types/index.js +1 -1
- package/dist/{providers/salla-sdk.types.d.ts → types/salla-sdk.d.ts} +3 -1
- package/dist/types/salla-sdk.d.ts.map +1 -0
- package/dist/{providers/twilight.types.d.ts → types/twilight.d.ts} +4 -5
- package/dist/types/twilight.d.ts.map +1 -0
- package/dist/utils/breadcrumb.d.ts +0 -1
- package/dist/utils/breadcrumb.d.ts.map +1 -1
- package/dist/utils/engine-version.d.ts +10 -0
- package/dist/utils/engine-version.d.ts.map +1 -0
- package/dist/utils/index.js +21 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/vite/adapters/tanstack.adapter.d.ts.map +1 -1
- package/dist/vite/index.js +174 -4
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/plugins/twilight-schema.d.ts +18 -0
- package/dist/vite/plugins/twilight-schema.d.ts.map +1 -0
- package/dist/vite/plugins/twilight-schema.plugin.d.ts +20 -0
- package/dist/vite/plugins/twilight-schema.plugin.d.ts.map +1 -0
- package/dist/vite/types.d.ts +7 -0
- package/dist/vite/types.d.ts.map +1 -1
- package/package.json +8 -1
- package/dist/AddToCartForm-VS67AFNL.js.map +0 -1
- package/dist/BlogAuthorPage-276K2KQS.js.map +0 -1
- package/dist/BlogCategoryPage-GF5PLRG7.js.map +0 -1
- package/dist/BlogPage-BU672BXD.js.map +0 -1
- package/dist/BlogSinglePage-ELV4S5EV.js.map +0 -1
- package/dist/BlogTagPage-TXQP6ZOI.js.map +0 -1
- package/dist/BrandsPage-C6ZHC4KC.js.map +0 -1
- package/dist/Breadcrumb-TG4UTNRM.js.map +0 -1
- package/dist/CartItem-55JV6HDS.js.map +0 -1
- package/dist/CartSummary-CUWMHHMD.js.map +0 -1
- package/dist/Copyright-PG76AVV6.js +0 -9
- package/dist/CustomerLayout-SLNVCNZ6.js.map +0 -1
- package/dist/ErrorPage-TK4U3ENF.js +0 -6
- package/dist/Footer-MZDSEK57.js +0 -39
- package/dist/Header-CXFKDTOA.js +0 -15
- package/dist/ImageModal-WLJM3WIE.js +0 -41
- package/dist/ImageModal-WLJM3WIE.js.map +0 -1
- package/dist/LoyaltyPage-AIA3CUYI.js.map +0 -1
- package/dist/MainMenu-T3M5RB7L.js.map +0 -1
- package/dist/MasterLayout-QUBHRA32.js +0 -39
- package/dist/MobileMenu-6D52JOQA.js.map +0 -1
- package/dist/NotificationsPage-6H45SAS7.js.map +0 -1
- package/dist/OrderSinglePage-GP2M3YVH.js.map +0 -1
- package/dist/OrdersPage-OQGJLTQP.js.map +0 -1
- package/dist/PreOrderNotification-ZVTGNV7K.js.map +0 -1
- package/dist/PriceQuoteButton-RAAPL4N4.js.map +0 -1
- package/dist/ProductDetails-2JUCRU4W.js.map +0 -1
- package/dist/ProfilePage-XGZ2HCQH.js.map +0 -1
- package/dist/SeoCartWidget-PDK6IQ2H.js.map +0 -1
- package/dist/SettingsPage-VCQNV2PP.js.map +0 -1
- package/dist/StoreClosedNotification-3JRNBNQK.js +0 -40
- package/dist/TestimonialsPage-ENMVJ4QG.js.map +0 -1
- package/dist/ThankYouPage-4FTP6E2Y.js.map +0 -1
- package/dist/WalletPage-VKV44EEG.js.map +0 -1
- package/dist/WidgetHead-FXEPCB23.js +0 -7
- package/dist/WishlistPage-GJZCXQUY.js.map +0 -1
- package/dist/chunk-25SSLQAJ.js.map +0 -1
- package/dist/chunk-2SUOZEX2.js.map +0 -1
- package/dist/chunk-3DCZJDDK.js +0 -10
- package/dist/chunk-3UHSMGPY.js.map +0 -1
- package/dist/chunk-433EFDBW.js.map +0 -1
- package/dist/chunk-4AYOFKHU.js.map +0 -1
- package/dist/chunk-6LQFMCWK.js.map +0 -1
- package/dist/chunk-BWFBVXT3.js.map +0 -1
- package/dist/chunk-C5GWTTB6.js.map +0 -1
- package/dist/chunk-CI4HKXVH.js.map +0 -1
- package/dist/chunk-FBFPH5BB.js.map +0 -1
- package/dist/chunk-GS3G4O2R.js.map +0 -1
- package/dist/chunk-GTM2GV2N.js.map +0 -1
- package/dist/chunk-HL3HSO4R.js.map +0 -1
- package/dist/chunk-IILTG4A6.js.map +0 -1
- package/dist/chunk-J37AYLWL.js.map +0 -1
- package/dist/chunk-JIJOXZPF.js.map +0 -1
- package/dist/chunk-MXQCE3KA.js.map +0 -1
- package/dist/chunk-P43TLDS6.js.map +0 -1
- package/dist/chunk-REQC7YOE.js.map +0 -1
- package/dist/chunk-S6AVEFCN.js.map +0 -1
- package/dist/chunk-SAZBQNQK.js.map +0 -1
- package/dist/chunk-SSQ75CKA.js.map +0 -1
- package/dist/chunk-SVZOWI7E.js.map +0 -1
- package/dist/chunk-TFZ2RT6P.js.map +0 -1
- package/dist/chunk-THXWAZX2.js.map +0 -1
- package/dist/chunk-TQLEQSXE.js.map +0 -1
- package/dist/chunk-TQUHDSKQ.js.map +0 -1
- package/dist/chunk-TWAHYRKI.js.map +0 -1
- package/dist/chunk-U33UQAWO.js.map +0 -1
- package/dist/chunk-UIX3W2PN.js.map +0 -1
- package/dist/chunk-VVRYP6IL.js.map +0 -1
- package/dist/chunk-W4CSWDEH.js.map +0 -1
- package/dist/chunk-XHGF75TM.js.map +0 -1
- package/dist/chunk-ZOCDYJPX.js +0 -14
- package/dist/components/common/types.d.ts +0 -7
- package/dist/components/common/types.d.ts.map +0 -1
- package/dist/document-class-V5XSWLMX.js +0 -21
- package/dist/hooks/useIsMobile.d.ts +0 -2
- package/dist/hooks/useIsMobile.d.ts.map +0 -1
- package/dist/lib/services/index.d.ts +0 -1
- package/dist/lib/services/index.d.ts.map +0 -1
- package/dist/navigation-77T2NTFS.js +0 -10
- package/dist/not-found-73ZVE5QO.js.map +0 -1
- package/dist/providers/i18n.d.ts.map +0 -1
- package/dist/providers/salla-sdk.types.d.ts.map +0 -1
- package/dist/providers/twilight.types.d.ts.map +0 -1
- package/dist/router/context.d.ts +0 -3
- package/dist/router/context.d.ts.map +0 -1
- package/dist/router/index.d.ts +0 -4
- package/dist/router/index.d.ts.map +0 -1
- package/dist/twilight/index.d.ts +0 -3
- package/dist/twilight/index.d.ts.map +0 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-only external store for dev-mode theme-setting / component overrides,
|
|
3
|
+
* persisted to localStorage. Consumed by {@link useDevSettingsState} in the
|
|
4
|
+
* widget and by {@link useDevSettingsOverrides} in `useTwilightInit` (which
|
|
5
|
+
* merges enabled setting overrides into the live theme).
|
|
6
|
+
*
|
|
7
|
+
* SSR/hydration: the store hydrates from localStorage eagerly on the client,
|
|
8
|
+
* but `useDevSettingsOverrides` returns the empty state until after mount, so
|
|
9
|
+
* the first client render matches the server render; overrides then apply.
|
|
10
|
+
*/
|
|
11
|
+
import type { DevSchema } from './schema-types';
|
|
12
|
+
export interface DevSettingsState {
|
|
13
|
+
/** Master switch — when false the theme uses the real store's values. */
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
/** Sparse `{ [settingId]: value }` overrides for theme settings. */
|
|
16
|
+
settings: Record<string, unknown>;
|
|
17
|
+
/** `{ [componentPath]: { [fieldId]: value } }` overrides, keyed by the
|
|
18
|
+
* twilight.json path (e.g. "home.main-links"). Merged into the matching home
|
|
19
|
+
* block's data by {@link useDevHomeComponentOverrides}. */
|
|
20
|
+
components: Record<string, Record<string, unknown>>;
|
|
21
|
+
}
|
|
22
|
+
export declare const devSettingsStore: {
|
|
23
|
+
get: () => DevSettingsState;
|
|
24
|
+
getServer: () => DevSettingsState;
|
|
25
|
+
subscribe(listener: () => void): () => void;
|
|
26
|
+
/** Turn overrides on, seeding any unset setting with its twilight.json default. */
|
|
27
|
+
enable(schema: DevSchema): void;
|
|
28
|
+
disable(): void;
|
|
29
|
+
setSetting(id: string, value: unknown): void;
|
|
30
|
+
setComponentField(path: string, fieldId: string, value: unknown): void;
|
|
31
|
+
/** Restore every value to its twilight.json default (keeps enabled state). */
|
|
32
|
+
reset(schema: DevSchema): void;
|
|
33
|
+
};
|
|
34
|
+
/** Raw store subscription — safe to call only in client-mounted components. */
|
|
35
|
+
export declare function useDevSettingsState(): DevSettingsState;
|
|
36
|
+
/**
|
|
37
|
+
* Overrides for SSR-rendered consumers (the theme). Returns the empty state on
|
|
38
|
+
* the server and during the first client render, then the live store state —
|
|
39
|
+
* avoiding a hydration mismatch while still applying overrides after mount.
|
|
40
|
+
*
|
|
41
|
+
* In production `import.meta.env.DEV` is a static `false`, so the early return
|
|
42
|
+
* is all that survives bundling: the store subscription (and the whole store
|
|
43
|
+
* module, which has no other prod consumer) is dead-code-eliminated. The
|
|
44
|
+
* conditional hook calls below are therefore safe — the branch is entirely
|
|
45
|
+
* present or entirely absent per build, never toggled at runtime.
|
|
46
|
+
*/
|
|
47
|
+
export declare function useDevSettingsOverrides(): DevSettingsState;
|
|
48
|
+
/**
|
|
49
|
+
* Overlay enabled component-field overrides onto the home page's component
|
|
50
|
+
* list. Override keys are twilight.json paths ("home.main-links") while the
|
|
51
|
+
* home loader strips the "home." prefix from page data, so each block is
|
|
52
|
+
* looked up under both spellings. Values merge shallowly onto the block's
|
|
53
|
+
* data, mirroring how the API delivers configured field values.
|
|
54
|
+
*
|
|
55
|
+
* Same production story as {@link useDevSettingsOverrides}: the early return
|
|
56
|
+
* is all that survives bundling, so the conditional hooks are build-time
|
|
57
|
+
* constant, never toggled at runtime.
|
|
58
|
+
*/
|
|
59
|
+
export declare function useDevHomeComponentOverrides<T extends {
|
|
60
|
+
path?: string;
|
|
61
|
+
}>(components: T[]): T[];
|
|
62
|
+
//# sourceMappingURL=dev-settings-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-settings-store.d.ts","sourceRoot":"","sources":["../../src/dev/dev-settings-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;+DAE2D;IAC3D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD;AAwED,eAAO,MAAM,gBAAgB;eAClB,gBAAgB;qBACV,gBAAgB;wBACX,MAAM,IAAI,GAAG,MAAM,IAAI;IAW3C,mFAAmF;mBACpE,SAAS,GAAG,IAAI;eASpB,IAAI;mBAIA,MAAM,SAAS,OAAO,GAAG,IAAI;4BAKpB,MAAM,WAAW,MAAM,SAAS,OAAO,GAAG,IAAI;IAMtE,8EAA8E;kBAChE,SAAS,GAAG,IAAI;CAQ/B,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,mBAAmB,IAAI,gBAAgB,CAMtD;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,uBAAuB,IAAI,gBAAgB,CAM1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAiB9F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev-only entry point (`@salla.sa/twilight-theme-engine/dev`). Kept out of the
|
|
3
|
+
* main package index so the widget UI is only pulled into a bundle when a theme
|
|
4
|
+
* explicitly (lazy-)imports it under `import.meta.env.DEV` — production builds
|
|
5
|
+
* never reference this module, so it tree-shakes away entirely.
|
|
6
|
+
*/
|
|
7
|
+
export { DevSettingsWidget, type DevSettingsWidgetProps } from './DevSettingsWidget';
|
|
8
|
+
export type { DevSchema, DevSchemaField, DevSchemaComponent, DevSchemaOption, DevFieldKind, } from './schema-types';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dev/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,YAAY,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,GACb,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { useDevSettingsState, devSettingsStore } from '../chunk-2JV6WZ6O.js';
|
|
2
|
+
import '../chunk-DGUM43GV.js';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
5
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var Z = 2147483e3;
|
|
8
|
+
var C = {
|
|
9
|
+
accent: "#7c3aed",
|
|
10
|
+
panelBg: "#ffffff",
|
|
11
|
+
text: "#111827",
|
|
12
|
+
sub: "#6b7280",
|
|
13
|
+
border: "#e5e7eb",
|
|
14
|
+
rowBorder: "#f1f1f4"
|
|
15
|
+
};
|
|
16
|
+
function useMounted() {
|
|
17
|
+
const [m, setM] = useState(false);
|
|
18
|
+
useEffect(() => setM(true), []);
|
|
19
|
+
return m;
|
|
20
|
+
}
|
|
21
|
+
function Field({
|
|
22
|
+
field,
|
|
23
|
+
value,
|
|
24
|
+
onChange
|
|
25
|
+
}) {
|
|
26
|
+
const rowStyle = {
|
|
27
|
+
display: "flex",
|
|
28
|
+
alignItems: "center",
|
|
29
|
+
justifyContent: "space-between",
|
|
30
|
+
gap: 10,
|
|
31
|
+
padding: "9px 0",
|
|
32
|
+
borderBottom: `1px solid ${C.rowBorder}`
|
|
33
|
+
};
|
|
34
|
+
const labelStyle = {
|
|
35
|
+
fontSize: 12.5,
|
|
36
|
+
color: C.text,
|
|
37
|
+
flex: 1,
|
|
38
|
+
minWidth: 0,
|
|
39
|
+
overflowWrap: "anywhere"
|
|
40
|
+
};
|
|
41
|
+
if (field.kind === "toggle") {
|
|
42
|
+
const on = Boolean(value);
|
|
43
|
+
return /* @__PURE__ */ jsxs("label", { style: { ...rowStyle, cursor: "pointer" }, children: [
|
|
44
|
+
/* @__PURE__ */ jsx("span", { style: labelStyle, children: field.label }),
|
|
45
|
+
/* @__PURE__ */ jsx(
|
|
46
|
+
"input",
|
|
47
|
+
{
|
|
48
|
+
type: "checkbox",
|
|
49
|
+
checked: on,
|
|
50
|
+
onChange: (e) => onChange(e.target.checked),
|
|
51
|
+
style: { width: 16, height: 16, accentColor: C.accent, cursor: "pointer" }
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
] });
|
|
55
|
+
}
|
|
56
|
+
if (field.kind === "select") {
|
|
57
|
+
return /* @__PURE__ */ jsxs("label", { style: rowStyle, children: [
|
|
58
|
+
/* @__PURE__ */ jsx("span", { style: labelStyle, children: field.label }),
|
|
59
|
+
/* @__PURE__ */ jsx(
|
|
60
|
+
"select",
|
|
61
|
+
{
|
|
62
|
+
value: value == null ? "" : String(value),
|
|
63
|
+
onChange: (e) => onChange(e.target.value),
|
|
64
|
+
style: {
|
|
65
|
+
fontSize: 12,
|
|
66
|
+
padding: "4px 6px",
|
|
67
|
+
border: `1px solid ${C.border}`,
|
|
68
|
+
borderRadius: 6,
|
|
69
|
+
maxWidth: 150,
|
|
70
|
+
background: "#fff",
|
|
71
|
+
color: C.text
|
|
72
|
+
},
|
|
73
|
+
children: field.options?.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: o.label }, o.value))
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
] });
|
|
77
|
+
}
|
|
78
|
+
if (field.kind === "text") {
|
|
79
|
+
return /* @__PURE__ */ jsxs("label", { style: { ...rowStyle, flexDirection: "column", alignItems: "stretch", gap: 4 }, children: [
|
|
80
|
+
/* @__PURE__ */ jsx("span", { style: { ...labelStyle, flex: "none" }, children: field.label }),
|
|
81
|
+
/* @__PURE__ */ jsx(
|
|
82
|
+
"input",
|
|
83
|
+
{
|
|
84
|
+
type: "text",
|
|
85
|
+
value: value == null ? "" : String(value),
|
|
86
|
+
onChange: (e) => onChange(e.target.value),
|
|
87
|
+
style: {
|
|
88
|
+
fontSize: 12,
|
|
89
|
+
padding: "5px 7px",
|
|
90
|
+
border: `1px solid ${C.border}`,
|
|
91
|
+
borderRadius: 6,
|
|
92
|
+
width: "100%",
|
|
93
|
+
boxSizing: "border-box",
|
|
94
|
+
color: C.text
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
)
|
|
98
|
+
] });
|
|
99
|
+
}
|
|
100
|
+
return /* @__PURE__ */ jsxs("div", { style: rowStyle, children: [
|
|
101
|
+
/* @__PURE__ */ jsx("span", { style: labelStyle, children: field.label }),
|
|
102
|
+
/* @__PURE__ */ jsx("span", { style: { fontSize: 10.5, color: C.sub, fontStyle: "italic", whiteSpace: "nowrap" }, children: field.note ?? "not editable" })
|
|
103
|
+
] });
|
|
104
|
+
}
|
|
105
|
+
function SectionHeader({ children }) {
|
|
106
|
+
return /* @__PURE__ */ jsx(
|
|
107
|
+
"div",
|
|
108
|
+
{
|
|
109
|
+
style: {
|
|
110
|
+
fontSize: 11,
|
|
111
|
+
fontWeight: 700,
|
|
112
|
+
textTransform: "uppercase",
|
|
113
|
+
letterSpacing: 0.6,
|
|
114
|
+
color: C.sub,
|
|
115
|
+
margin: "14px 0 4px"
|
|
116
|
+
},
|
|
117
|
+
children
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
function DevSettingsWidget({ schema }) {
|
|
122
|
+
const mounted = useMounted();
|
|
123
|
+
const [open, setOpen] = useState(false);
|
|
124
|
+
const [expanded, setExpanded] = useState({});
|
|
125
|
+
const store = useDevSettingsState();
|
|
126
|
+
const hasContent = schema.settings.length > 0 || schema.components.length > 0;
|
|
127
|
+
if (!mounted || typeof document === "undefined" || !hasContent) return null;
|
|
128
|
+
const settingValue = (f) => f.id in store.settings ? store.settings[f.id] : f.default;
|
|
129
|
+
const componentValue = (path, f) => {
|
|
130
|
+
const c = store.components[path];
|
|
131
|
+
return c && f.id in c ? c[f.id] : f.default;
|
|
132
|
+
};
|
|
133
|
+
const fab = /* @__PURE__ */ jsx(
|
|
134
|
+
"button",
|
|
135
|
+
{
|
|
136
|
+
type: "button",
|
|
137
|
+
onClick: () => setOpen((v) => !v),
|
|
138
|
+
"aria-label": "Theme dev settings",
|
|
139
|
+
title: "Theme dev settings (twilight.json)",
|
|
140
|
+
style: {
|
|
141
|
+
position: "fixed",
|
|
142
|
+
left: 14,
|
|
143
|
+
bottom: 14,
|
|
144
|
+
zIndex: Z,
|
|
145
|
+
width: 44,
|
|
146
|
+
height: 44,
|
|
147
|
+
borderRadius: "50%",
|
|
148
|
+
border: "none",
|
|
149
|
+
cursor: "pointer",
|
|
150
|
+
background: store.enabled ? C.accent : "#1f2937",
|
|
151
|
+
color: "#fff",
|
|
152
|
+
boxShadow: "0 4px 16px rgba(0,0,0,0.28)",
|
|
153
|
+
fontSize: 20,
|
|
154
|
+
lineHeight: 1,
|
|
155
|
+
display: open ? "none" : "flex",
|
|
156
|
+
alignItems: "center",
|
|
157
|
+
justifyContent: "center"
|
|
158
|
+
},
|
|
159
|
+
children: "\u2699"
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
const panel = open && /* @__PURE__ */ jsxs(
|
|
163
|
+
"div",
|
|
164
|
+
{
|
|
165
|
+
dir: "ltr",
|
|
166
|
+
style: {
|
|
167
|
+
position: "fixed",
|
|
168
|
+
left: 14,
|
|
169
|
+
bottom: 14,
|
|
170
|
+
zIndex: Z,
|
|
171
|
+
width: 320,
|
|
172
|
+
maxWidth: "calc(100vw - 28px)",
|
|
173
|
+
maxHeight: "78vh",
|
|
174
|
+
display: "flex",
|
|
175
|
+
flexDirection: "column",
|
|
176
|
+
background: C.panelBg,
|
|
177
|
+
color: C.text,
|
|
178
|
+
border: `1px solid ${C.border}`,
|
|
179
|
+
borderRadius: 14,
|
|
180
|
+
boxShadow: "0 12px 40px rgba(0,0,0,0.3)",
|
|
181
|
+
fontFamily: 'ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',
|
|
182
|
+
overflow: "hidden"
|
|
183
|
+
},
|
|
184
|
+
children: [
|
|
185
|
+
/* @__PURE__ */ jsxs(
|
|
186
|
+
"div",
|
|
187
|
+
{
|
|
188
|
+
style: {
|
|
189
|
+
display: "flex",
|
|
190
|
+
alignItems: "center",
|
|
191
|
+
gap: 8,
|
|
192
|
+
padding: "11px 12px",
|
|
193
|
+
borderBottom: `1px solid ${C.border}`
|
|
194
|
+
},
|
|
195
|
+
children: [
|
|
196
|
+
/* @__PURE__ */ jsxs("span", { style: { fontSize: 13, fontWeight: 700, flex: 1 }, children: [
|
|
197
|
+
"Theme Dev \xB7 ",
|
|
198
|
+
/* @__PURE__ */ jsx("span", { style: { color: C.sub, fontWeight: 500 }, children: "twilight.json" })
|
|
199
|
+
] }),
|
|
200
|
+
/* @__PURE__ */ jsx(
|
|
201
|
+
"button",
|
|
202
|
+
{
|
|
203
|
+
type: "button",
|
|
204
|
+
onClick: () => store.enabled ? devSettingsStore.disable() : devSettingsStore.enable(schema),
|
|
205
|
+
style: {
|
|
206
|
+
fontSize: 11,
|
|
207
|
+
fontWeight: 600,
|
|
208
|
+
padding: "4px 9px",
|
|
209
|
+
borderRadius: 999,
|
|
210
|
+
border: `1px solid ${store.enabled ? C.accent : C.border}`,
|
|
211
|
+
background: store.enabled ? C.accent : "#fff",
|
|
212
|
+
color: store.enabled ? "#fff" : C.sub,
|
|
213
|
+
cursor: "pointer"
|
|
214
|
+
},
|
|
215
|
+
children: store.enabled ? "Applied" : "Apply"
|
|
216
|
+
}
|
|
217
|
+
),
|
|
218
|
+
/* @__PURE__ */ jsx(
|
|
219
|
+
"button",
|
|
220
|
+
{
|
|
221
|
+
type: "button",
|
|
222
|
+
onClick: () => setOpen(false),
|
|
223
|
+
"aria-label": "Close",
|
|
224
|
+
style: {
|
|
225
|
+
border: "none",
|
|
226
|
+
background: "transparent",
|
|
227
|
+
cursor: "pointer",
|
|
228
|
+
fontSize: 18,
|
|
229
|
+
color: C.sub,
|
|
230
|
+
lineHeight: 1,
|
|
231
|
+
padding: 2
|
|
232
|
+
},
|
|
233
|
+
children: "\xD7"
|
|
234
|
+
}
|
|
235
|
+
)
|
|
236
|
+
]
|
|
237
|
+
}
|
|
238
|
+
),
|
|
239
|
+
/* @__PURE__ */ jsxs("div", { style: { overflowY: "auto", padding: "4px 12px 12px" }, children: [
|
|
240
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: 11, color: C.sub, padding: "8px 0 2px" }, children: store.enabled ? 'Overrides are live on this theme. Toggle "Applied" off to use the real store values.' : 'Pre-filled with twilight.json defaults. Click "Apply" to preview them on the theme.' }),
|
|
241
|
+
schema.settings.length > 0 && /* @__PURE__ */ jsx(SectionHeader, { children: "Theme settings" }),
|
|
242
|
+
schema.settings.map((f) => /* @__PURE__ */ jsx(
|
|
243
|
+
Field,
|
|
244
|
+
{
|
|
245
|
+
field: f,
|
|
246
|
+
value: settingValue(f),
|
|
247
|
+
onChange: (v) => devSettingsStore.setSetting(f.id, v)
|
|
248
|
+
},
|
|
249
|
+
f.id
|
|
250
|
+
)),
|
|
251
|
+
schema.components.length > 0 && /* @__PURE__ */ jsx(SectionHeader, { children: "Components" }),
|
|
252
|
+
schema.components.map((comp) => {
|
|
253
|
+
const isOpen = expanded[comp.path] ?? false;
|
|
254
|
+
return /* @__PURE__ */ jsxs("div", { style: { borderBottom: `1px solid ${C.rowBorder}` }, children: [
|
|
255
|
+
/* @__PURE__ */ jsxs(
|
|
256
|
+
"button",
|
|
257
|
+
{
|
|
258
|
+
type: "button",
|
|
259
|
+
onClick: () => setExpanded((p) => ({ ...p, [comp.path]: !isOpen })),
|
|
260
|
+
style: {
|
|
261
|
+
width: "100%",
|
|
262
|
+
display: "flex",
|
|
263
|
+
alignItems: "center",
|
|
264
|
+
justifyContent: "space-between",
|
|
265
|
+
gap: 8,
|
|
266
|
+
padding: "10px 0",
|
|
267
|
+
background: "transparent",
|
|
268
|
+
border: "none",
|
|
269
|
+
cursor: "pointer",
|
|
270
|
+
fontSize: 12.5,
|
|
271
|
+
fontWeight: 600,
|
|
272
|
+
color: C.text,
|
|
273
|
+
textAlign: "left"
|
|
274
|
+
},
|
|
275
|
+
children: [
|
|
276
|
+
/* @__PURE__ */ jsx("span", { children: comp.title }),
|
|
277
|
+
/* @__PURE__ */ jsx("span", { style: { color: C.sub, fontSize: 11 }, children: isOpen ? "\u25BE" : "\u25B8" })
|
|
278
|
+
]
|
|
279
|
+
}
|
|
280
|
+
),
|
|
281
|
+
isOpen && /* @__PURE__ */ jsxs("div", { style: { padding: "0 0 6px 10px" }, children: [
|
|
282
|
+
comp.fields.length === 0 && /* @__PURE__ */ jsx("div", { style: { fontSize: 11, color: C.sub, padding: "4px 0 8px" }, children: "No editable fields." }),
|
|
283
|
+
comp.fields.map((f) => /* @__PURE__ */ jsx(
|
|
284
|
+
Field,
|
|
285
|
+
{
|
|
286
|
+
field: f,
|
|
287
|
+
value: componentValue(comp.path, f),
|
|
288
|
+
onChange: (v) => devSettingsStore.setComponentField(comp.path, f.id, v)
|
|
289
|
+
},
|
|
290
|
+
f.id
|
|
291
|
+
))
|
|
292
|
+
] })
|
|
293
|
+
] }, comp.path);
|
|
294
|
+
}),
|
|
295
|
+
/* @__PURE__ */ jsx(
|
|
296
|
+
"button",
|
|
297
|
+
{
|
|
298
|
+
type: "button",
|
|
299
|
+
onClick: () => devSettingsStore.reset(schema),
|
|
300
|
+
style: {
|
|
301
|
+
marginTop: 14,
|
|
302
|
+
width: "100%",
|
|
303
|
+
padding: "8px 0",
|
|
304
|
+
fontSize: 12,
|
|
305
|
+
fontWeight: 600,
|
|
306
|
+
color: C.sub,
|
|
307
|
+
background: "#f9fafb",
|
|
308
|
+
border: `1px solid ${C.border}`,
|
|
309
|
+
borderRadius: 8,
|
|
310
|
+
cursor: "pointer"
|
|
311
|
+
},
|
|
312
|
+
children: "Reset to twilight.json defaults"
|
|
313
|
+
}
|
|
314
|
+
)
|
|
315
|
+
] })
|
|
316
|
+
]
|
|
317
|
+
}
|
|
318
|
+
);
|
|
319
|
+
return createPortal(
|
|
320
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
321
|
+
fab,
|
|
322
|
+
panel
|
|
323
|
+
] }),
|
|
324
|
+
document.body
|
|
325
|
+
);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
export { DevSettingsWidget };
|
|
329
|
+
//# sourceMappingURL=index.js.map
|
|
330
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/dev/DevSettingsWidget.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Optional dev-mode widget that reads the theme's local `twilight.json`\n * (via `virtual:twilight/schema`), fills every setting/component field with its\n * default, and lets the developer change those values. Enabling it merges the\n * setting overrides into the live theme (see `useTwilightInit`) and component\n * field overrides into the home page's blocks (see `useDevHomeComponentOverrides`).\n *\n * Rendered only in dev — gate the mount with `import.meta.env.DEV`. It portals\n * to <body>, styles itself inline (no theme CSS dependency), and shows nothing\n * when the schema is empty (e.g. a production build).\n */\n\nimport { useEffect, useState, type CSSProperties, type ReactElement, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { DevSchema, DevSchemaField } from './schema-types';\nimport { devSettingsStore, useDevSettingsState } from './dev-settings-store';\n\nexport interface DevSettingsWidgetProps {\n schema: DevSchema;\n}\n\nconst Z = 2147483000;\nconst C = {\n accent: '#7c3aed',\n panelBg: '#ffffff',\n text: '#111827',\n sub: '#6b7280',\n border: '#e5e7eb',\n rowBorder: '#f1f1f4',\n};\n\nfunction useMounted(): boolean {\n const [m, setM] = useState(false);\n useEffect(() => setM(true), []);\n return m;\n}\n\nfunction Field({\n field,\n value,\n onChange,\n}: {\n field: DevSchemaField;\n value: unknown;\n onChange: (v: unknown) => void;\n}) {\n const rowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 10,\n padding: '9px 0',\n borderBottom: `1px solid ${C.rowBorder}`,\n };\n const labelStyle: CSSProperties = {\n fontSize: 12.5,\n color: C.text,\n flex: 1,\n minWidth: 0,\n overflowWrap: 'anywhere',\n };\n\n if (field.kind === 'toggle') {\n const on = Boolean(value);\n return (\n <label style={{ ...rowStyle, cursor: 'pointer' }}>\n <span style={labelStyle}>{field.label}</span>\n <input\n type=\"checkbox\"\n checked={on}\n onChange={(e) => onChange(e.target.checked)}\n style={{ width: 16, height: 16, accentColor: C.accent, cursor: 'pointer' }}\n />\n </label>\n );\n }\n\n if (field.kind === 'select') {\n return (\n <label style={rowStyle}>\n <span style={labelStyle}>{field.label}</span>\n <select\n value={value == null ? '' : String(value)}\n onChange={(e) => onChange(e.target.value)}\n style={{\n fontSize: 12,\n padding: '4px 6px',\n border: `1px solid ${C.border}`,\n borderRadius: 6,\n maxWidth: 150,\n background: '#fff',\n color: C.text,\n }}\n >\n {field.options?.map((o) => (\n <option key={o.value} value={o.value}>\n {o.label}\n </option>\n ))}\n </select>\n </label>\n );\n }\n\n if (field.kind === 'text') {\n return (\n <label style={{ ...rowStyle, flexDirection: 'column', alignItems: 'stretch', gap: 4 }}>\n <span style={{ ...labelStyle, flex: 'none' }}>{field.label}</span>\n <input\n type=\"text\"\n value={value == null ? '' : String(value)}\n onChange={(e) => onChange(e.target.value)}\n style={{\n fontSize: 12,\n padding: '5px 7px',\n border: `1px solid ${C.border}`,\n borderRadius: 6,\n width: '100%',\n boxSizing: 'border-box',\n color: C.text,\n }}\n />\n </label>\n );\n }\n\n // readonly\n return (\n <div style={rowStyle}>\n <span style={labelStyle}>{field.label}</span>\n <span style={{ fontSize: 10.5, color: C.sub, fontStyle: 'italic', whiteSpace: 'nowrap' }}>\n {field.note ?? 'not editable'}\n </span>\n </div>\n );\n}\n\nfunction SectionHeader({ children }: { children: ReactNode }) {\n return (\n <div\n style={{\n fontSize: 11,\n fontWeight: 700,\n textTransform: 'uppercase',\n letterSpacing: 0.6,\n color: C.sub,\n margin: '14px 0 4px',\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function DevSettingsWidget({ schema }: DevSettingsWidgetProps): ReactElement | null {\n const mounted = useMounted();\n const [open, setOpen] = useState(false);\n const [expanded, setExpanded] = useState<Record<string, boolean>>({});\n const store = useDevSettingsState();\n\n const hasContent = schema.settings.length > 0 || schema.components.length > 0;\n if (!mounted || typeof document === 'undefined' || !hasContent) return null;\n\n const settingValue = (f: DevSchemaField) =>\n f.id in store.settings ? store.settings[f.id] : f.default;\n\n const componentValue = (path: string, f: DevSchemaField) => {\n const c = store.components[path];\n return c && f.id in c ? c[f.id] : f.default;\n };\n\n const fab = (\n <button\n type=\"button\"\n onClick={() => setOpen((v) => !v)}\n aria-label=\"Theme dev settings\"\n title=\"Theme dev settings (twilight.json)\"\n style={{\n position: 'fixed',\n left: 14,\n bottom: 14,\n zIndex: Z,\n width: 44,\n height: 44,\n borderRadius: '50%',\n border: 'none',\n cursor: 'pointer',\n background: store.enabled ? C.accent : '#1f2937',\n color: '#fff',\n boxShadow: '0 4px 16px rgba(0,0,0,0.28)',\n fontSize: 20,\n lineHeight: 1,\n display: open ? 'none' : 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n ⚙\n </button>\n );\n\n const panel = open && (\n <div\n dir=\"ltr\"\n style={{\n position: 'fixed',\n left: 14,\n bottom: 14,\n zIndex: Z,\n width: 320,\n maxWidth: 'calc(100vw - 28px)',\n maxHeight: '78vh',\n display: 'flex',\n flexDirection: 'column',\n background: C.panelBg,\n color: C.text,\n border: `1px solid ${C.border}`,\n borderRadius: 14,\n boxShadow: '0 12px 40px rgba(0,0,0,0.3)',\n fontFamily:\n 'ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n overflow: 'hidden',\n }}\n >\n {/* Header */}\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n padding: '11px 12px',\n borderBottom: `1px solid ${C.border}`,\n }}\n >\n <span style={{ fontSize: 13, fontWeight: 700, flex: 1 }}>\n Theme Dev · <span style={{ color: C.sub, fontWeight: 500 }}>twilight.json</span>\n </span>\n <button\n type=\"button\"\n onClick={() =>\n store.enabled ? devSettingsStore.disable() : devSettingsStore.enable(schema)\n }\n style={{\n fontSize: 11,\n fontWeight: 600,\n padding: '4px 9px',\n borderRadius: 999,\n border: `1px solid ${store.enabled ? C.accent : C.border}`,\n background: store.enabled ? C.accent : '#fff',\n color: store.enabled ? '#fff' : C.sub,\n cursor: 'pointer',\n }}\n >\n {store.enabled ? 'Applied' : 'Apply'}\n </button>\n <button\n type=\"button\"\n onClick={() => setOpen(false)}\n aria-label=\"Close\"\n style={{\n border: 'none',\n background: 'transparent',\n cursor: 'pointer',\n fontSize: 18,\n color: C.sub,\n lineHeight: 1,\n padding: 2,\n }}\n >\n ×\n </button>\n </div>\n\n {/* Body */}\n <div style={{ overflowY: 'auto', padding: '4px 12px 12px' }}>\n <div style={{ fontSize: 11, color: C.sub, padding: '8px 0 2px' }}>\n {store.enabled\n ? 'Overrides are live on this theme. Toggle \"Applied\" off to use the real store values.'\n : 'Pre-filled with twilight.json defaults. Click \"Apply\" to preview them on the theme.'}\n </div>\n\n {schema.settings.length > 0 && <SectionHeader>Theme settings</SectionHeader>}\n {schema.settings.map((f) => (\n <Field\n key={f.id}\n field={f}\n value={settingValue(f)}\n onChange={(v) => devSettingsStore.setSetting(f.id, v)}\n />\n ))}\n\n {schema.components.length > 0 && <SectionHeader>Components</SectionHeader>}\n {schema.components.map((comp) => {\n const isOpen = expanded[comp.path] ?? false;\n return (\n <div key={comp.path} style={{ borderBottom: `1px solid ${C.rowBorder}` }}>\n <button\n type=\"button\"\n onClick={() => setExpanded((p) => ({ ...p, [comp.path]: !isOpen }))}\n style={{\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 8,\n padding: '10px 0',\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n fontSize: 12.5,\n fontWeight: 600,\n color: C.text,\n textAlign: 'left',\n }}\n >\n <span>{comp.title}</span>\n <span style={{ color: C.sub, fontSize: 11 }}>{isOpen ? '▾' : '▸'}</span>\n </button>\n {isOpen && (\n <div style={{ padding: '0 0 6px 10px' }}>\n {comp.fields.length === 0 && (\n <div style={{ fontSize: 11, color: C.sub, padding: '4px 0 8px' }}>\n No editable fields.\n </div>\n )}\n {comp.fields.map((f) => (\n <Field\n key={f.id}\n field={f}\n value={componentValue(comp.path, f)}\n onChange={(v) => devSettingsStore.setComponentField(comp.path, f.id, v)}\n />\n ))}\n </div>\n )}\n </div>\n );\n })}\n\n <button\n type=\"button\"\n onClick={() => devSettingsStore.reset(schema)}\n style={{\n marginTop: 14,\n width: '100%',\n padding: '8px 0',\n fontSize: 12,\n fontWeight: 600,\n color: C.sub,\n background: '#f9fafb',\n border: `1px solid ${C.border}`,\n borderRadius: 8,\n cursor: 'pointer',\n }}\n >\n Reset to twilight.json defaults\n </button>\n </div>\n </div>\n );\n\n return createPortal(\n <>\n {fab}\n {panel}\n </>,\n document.body\n );\n}\n\nexport default DevSettingsWidget;\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared, browser-safe types for the dev-mode twilight.json settings/components
|
|
3
|
+
* editor. Produced (in Node) by `buildTwilightSchema` and consumed (in the
|
|
4
|
+
* browser) by the dev store and `DevSettingsWidget`. Kept free of any Node or
|
|
5
|
+
* React imports so both sides can share it.
|
|
6
|
+
*/
|
|
7
|
+
/** How a single setting/field is rendered in the dev widget. */
|
|
8
|
+
export type DevFieldKind = 'toggle' | 'select' | 'text' | 'readonly';
|
|
9
|
+
export interface DevSchemaOption {
|
|
10
|
+
label: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}
|
|
13
|
+
export interface DevSchemaField {
|
|
14
|
+
/** twilight.json entry `id` — also the key used for overrides. */
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
kind: DevFieldKind;
|
|
18
|
+
/** Default value taken from twilight.json (`null` for readonly fields). */
|
|
19
|
+
default: unknown;
|
|
20
|
+
/** Present for `select`. */
|
|
21
|
+
options?: DevSchemaOption[];
|
|
22
|
+
/** For `readonly`: why it can't be edited yet (e.g. "collection", "remote"). */
|
|
23
|
+
note?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface DevSchemaComponent {
|
|
26
|
+
/** e.g. "home.enhanced-slider" — the natural component key. */
|
|
27
|
+
path: string;
|
|
28
|
+
title: string;
|
|
29
|
+
fields: DevSchemaField[];
|
|
30
|
+
}
|
|
31
|
+
export interface DevSchema {
|
|
32
|
+
/** Editable + readonly theme settings, in declaration order. */
|
|
33
|
+
settings: DevSchemaField[];
|
|
34
|
+
/** Store components with their fields. */
|
|
35
|
+
components: DevSchemaComponent[];
|
|
36
|
+
/** `{ [settingId]: default }` for every non-readonly setting. */
|
|
37
|
+
settingsDefaults: Record<string, unknown>;
|
|
38
|
+
/** `{ [componentPath]: { [fieldId]: default } }`. */
|
|
39
|
+
componentDefaults: Record<string, Record<string, unknown>>;
|
|
40
|
+
}
|
|
41
|
+
/** The shape the vite plugin ships when there is no schema (prod / missing file). */
|
|
42
|
+
export declare const EMPTY_DEV_SCHEMA: DevSchema;
|
|
43
|
+
//# sourceMappingURL=schema-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../../src/dev/schema-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gEAAgE;AAChE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,gEAAgE;IAChE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,0CAA0C;IAC1C,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC5D;AAED,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,EAAE,SAK9B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { RouteDocumentSync, TanStackDocumentSync, tanstackDocumentAdapter, useTanstackDocumentAttrs } from './chunk-6JMXDZXL.js';
|
|
2
|
+
import './chunk-Z4Y55HWX.js';
|
|
3
|
+
import './chunk-6Q5BFHFA.js';
|
|
4
|
+
import './chunk-7LP7D75V.js';
|
|
5
|
+
import './chunk-B3EFOE57.js';
|
|
6
|
+
import './chunk-LSDIFHXZ.js';
|
|
7
|
+
import './chunk-KJRALAYM.js';
|
|
8
|
+
import './chunk-TZ3E5BN4.js';
|
|
9
|
+
import './chunk-2ZRLSZ4V.js';
|
|
10
|
+
import './chunk-MTONGOJD.js';
|
|
11
|
+
import './chunk-2TB2LTL2.js';
|
|
12
|
+
import './chunk-QYL5OHAV.js';
|
|
13
|
+
import './chunk-KIPZQN3Y.js';
|
|
14
|
+
import './chunk-JWXJPJBO.js';
|
|
15
|
+
import './chunk-CW625T2E.js';
|
|
16
|
+
import './chunk-TYNZ5B2B.js';
|
|
17
|
+
import './chunk-T72DAX7R.js';
|
|
18
|
+
import './chunk-DF6FBKDN.js';
|
|
19
|
+
import './chunk-DGUM43GV.js';
|
|
20
|
+
//# sourceMappingURL=document-class-WLNCTQI2.js.map
|
|
21
|
+
//# sourceMappingURL=document-class-WLNCTQI2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"document-class-WLNCTQI2.js"}
|
|
@@ -31,6 +31,7 @@ import type { HookHandler, HookDefinition, HookHandlers, HookName } from '../typ
|
|
|
31
31
|
declare class HookRegistry {
|
|
32
32
|
private hooks;
|
|
33
33
|
private subscribers;
|
|
34
|
+
private nextId;
|
|
34
35
|
register<T = Record<string, unknown>>(name: HookName | string, handler: HookHandler<T>, priority?: number): void;
|
|
35
36
|
subscribe(name: HookName | string, callback: () => void): () => void;
|
|
36
37
|
unsubscribe(name: HookName | string, callback: () => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HookRegistry.d.ts","sourceRoot":"","sources":["../../src/hooks/HookRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,WAAW,CAAsC;
|
|
1
|
+
{"version":3,"file":"HookRegistry.d.ts","sourceRoot":"","sources":["../../src/hooks/HookRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,MAAM,CAAK;IAEnB,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,IAAI,EAAE,QAAQ,GAAG,MAAM,EACvB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EACvB,QAAQ,SAAK,GACZ,IAAI;IASP,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IASpE,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAKhE,OAAO,CAAC,MAAM;IAId,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,EAAE;IAKtD,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO;IAKrC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;IAMpC,QAAQ,IAAI,IAAI;IAKhB,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAUrD;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { HookRegistry, defineHooks, hookRegistry } from '../chunk-
|
|
1
|
+
export { HookRegistry, defineHooks, hookRegistry } from '../chunk-GU2KUQVD.js';
|
|
2
2
|
import '../chunk-DGUM43GV.js';
|
|
3
3
|
//# sourceMappingURL=HookRegistry.js.map
|
|
4
4
|
//# sourceMappingURL=HookRegistry.js.map
|
package/dist/hooks/HookSlot.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { HookName } from '../types';
|
|
3
|
-
import type { TwilightContextValue } from '../
|
|
3
|
+
import type { TwilightContextValue } from '../types/twilight';
|
|
4
4
|
/**
|
|
5
5
|
* HookSlot - Renders hook handlers and Salla web component hook slots
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HookSlot.d.ts","sourceRoot":"","sources":["../../src/hooks/HookSlot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"HookSlot.d.ts","sourceRoot":"","sources":["../../src/hooks/HookSlot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,sDAAsD;IACtD,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA6BD,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,OAAO,EACP,QAAe,EACf,GAAW,GACZ,EAAE,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwC1C"}
|
package/dist/hooks/HookSlot.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { HookSlot } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { HookSlot } from '../chunk-Q7VWURUR.js';
|
|
2
|
+
import '../chunk-GU2KUQVD.js';
|
|
3
|
+
import '../chunk-DF6FBKDN.js';
|
|
4
4
|
import '../chunk-DGUM43GV.js';
|
|
5
5
|
//# sourceMappingURL=HookSlot.js.map
|
|
6
6
|
//# sourceMappingURL=HookSlot.js.map
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -20,7 +20,6 @@ export { useAsyncFn, type AsyncFnReturn, type AsyncState as AsyncFnState } from
|
|
|
20
20
|
export { useDocumentClass } from './useDocumentClass';
|
|
21
21
|
export { usePageConfig, type PageConfigData } from './usePageConfig';
|
|
22
22
|
export { useIsClient } from './useIsClient';
|
|
23
|
-
export { useIsMobile } from './useIsMobile';
|
|
24
23
|
export { useBreadcrumbs } from './useBreadcrumbs';
|
|
25
24
|
export { useUser } from './useUser';
|
|
26
25
|
import './registerDefaultHooks';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGpG,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGpG,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|