simplycms 0.4.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/LICENSE +21 -0
- package/README.md +26 -0
- package/dist/admin/components/AddProductToOrder.d.ts +12 -0
- package/dist/admin/components/AddProductToOrder.js +4 -0
- package/dist/admin/components/AddProductToOrder.js.map +1 -0
- package/dist/admin/components/AllProductProperties.d.ts +6 -0
- package/dist/admin/components/AllProductProperties.js +4 -0
- package/dist/admin/components/AllProductProperties.js.map +1 -0
- package/dist/admin/components/ImageUpload.d.ts +10 -0
- package/dist/admin/components/ImageUpload.js +4 -0
- package/dist/admin/components/ImageUpload.js.map +1 -0
- package/dist/admin/components/ProductModifications.d.ts +6 -0
- package/dist/admin/components/ProductModifications.js +9 -0
- package/dist/admin/components/ProductModifications.js.map +1 -0
- package/dist/admin/components/ProductPricesEditor.d.ts +6 -0
- package/dist/admin/components/ProductPricesEditor.js +4 -0
- package/dist/admin/components/ProductPricesEditor.js.map +1 -0
- package/dist/admin/components/ProductPropertyValues.d.ts +7 -0
- package/dist/admin/components/ProductPropertyValues.js +4 -0
- package/dist/admin/components/ProductPropertyValues.js.map +1 -0
- package/dist/admin/components/RichTextEditor.d.ts +8 -0
- package/dist/admin/components/RichTextEditor.js +4 -0
- package/dist/admin/components/RichTextEditor.js.map +1 -0
- package/dist/admin/components/SectionPropertiesManager.d.ts +5 -0
- package/dist/admin/components/SectionPropertiesManager.js +4 -0
- package/dist/admin/components/SectionPropertiesManager.js.map +1 -0
- package/dist/admin/components/SectionPropertiesTable.d.ts +5 -0
- package/dist/admin/components/SectionPropertiesTable.js +4 -0
- package/dist/admin/components/SectionPropertiesTable.js.map +1 -0
- package/dist/admin/components/SimpleProductFields.d.ts +10 -0
- package/dist/admin/components/SimpleProductFields.js +7 -0
- package/dist/admin/components/SimpleProductFields.js.map +1 -0
- package/dist/admin/components/StockByPointManager.d.ts +7 -0
- package/dist/admin/components/StockByPointManager.js +4 -0
- package/dist/admin/components/StockByPointManager.js.map +1 -0
- package/dist/admin/components/StockStatusSelect.d.ts +9 -0
- package/dist/admin/components/StockStatusSelect.js +4 -0
- package/dist/admin/components/StockStatusSelect.js.map +1 -0
- package/dist/admin/components/ThemeActivateDialog.d.ts +14 -0
- package/dist/admin/components/ThemeActivateDialog.js +4 -0
- package/dist/admin/components/ThemeActivateDialog.js.map +1 -0
- package/dist/admin/components/ThemeCard.d.ts +29 -0
- package/dist/admin/components/ThemeCard.js +5 -0
- package/dist/admin/components/ThemeCard.js.map +1 -0
- package/dist/admin/hooks/usePluginToggle.d.ts +21 -0
- package/dist/admin/hooks/useThemeActivate.d.ts +15 -0
- package/dist/admin/index.d.ts +54 -0
- package/dist/admin/index.js +62 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/layouts/AdminLayout.d.ts +3 -0
- package/dist/admin/layouts/AdminLayout.js +6 -0
- package/dist/admin/layouts/AdminLayout.js.map +1 -0
- package/dist/admin/layouts/AdminSidebar.d.ts +1 -0
- package/dist/admin/layouts/AdminSidebar.js +5 -0
- package/dist/admin/layouts/AdminSidebar.js.map +1 -0
- package/dist/admin/lib/adminLinks.d.ts +10 -0
- package/dist/admin/lib/pluginSettingsFields.d.ts +21 -0
- package/dist/admin/lib/revalidateTheme.d.ts +30 -0
- package/dist/admin/pages/BannerEdit.d.ts +1 -0
- package/dist/admin/pages/BannerEdit.js +6 -0
- package/dist/admin/pages/BannerEdit.js.map +1 -0
- package/dist/admin/pages/Banners.d.ts +1 -0
- package/dist/admin/pages/Banners.js +5 -0
- package/dist/admin/pages/Banners.js.map +1 -0
- package/dist/admin/pages/Dashboard.d.ts +1 -0
- package/dist/admin/pages/Dashboard.js +5 -0
- package/dist/admin/pages/Dashboard.js.map +1 -0
- package/dist/admin/pages/DiscountEdit.d.ts +1 -0
- package/dist/admin/pages/DiscountEdit.js +5 -0
- package/dist/admin/pages/DiscountEdit.js.map +1 -0
- package/dist/admin/pages/DiscountGroupEdit.d.ts +1 -0
- package/dist/admin/pages/DiscountGroupEdit.js +5 -0
- package/dist/admin/pages/DiscountGroupEdit.js.map +1 -0
- package/dist/admin/pages/Discounts.d.ts +1 -0
- package/dist/admin/pages/Discounts.js +5 -0
- package/dist/admin/pages/Discounts.js.map +1 -0
- package/dist/admin/pages/OrderDetail.d.ts +1 -0
- package/dist/admin/pages/OrderDetail.js +6 -0
- package/dist/admin/pages/OrderDetail.js.map +1 -0
- package/dist/admin/pages/OrderStatuses.d.ts +1 -0
- package/dist/admin/pages/OrderStatuses.js +4 -0
- package/dist/admin/pages/OrderStatuses.js.map +1 -0
- package/dist/admin/pages/Orders.d.ts +1 -0
- package/dist/admin/pages/Orders.js +5 -0
- package/dist/admin/pages/Orders.js.map +1 -0
- package/dist/admin/pages/PickupPointEdit.d.ts +1 -0
- package/dist/admin/pages/PickupPointEdit.js +5 -0
- package/dist/admin/pages/PickupPointEdit.js.map +1 -0
- package/dist/admin/pages/PickupPoints.d.ts +1 -0
- package/dist/admin/pages/PickupPoints.js +5 -0
- package/dist/admin/pages/PickupPoints.js.map +1 -0
- package/dist/admin/pages/PlaceholderPage.d.ts +1 -0
- package/dist/admin/pages/PlaceholderPage.js +4 -0
- package/dist/admin/pages/PlaceholderPage.js.map +1 -0
- package/dist/admin/pages/PluginSettings.d.ts +1 -0
- package/dist/admin/pages/PluginSettings.js +6 -0
- package/dist/admin/pages/PluginSettings.js.map +1 -0
- package/dist/admin/pages/Plugins.d.ts +1 -0
- package/dist/admin/pages/Plugins.js +6 -0
- package/dist/admin/pages/Plugins.js.map +1 -0
- package/dist/admin/pages/PriceTypeEdit.d.ts +1 -0
- package/dist/admin/pages/PriceTypeEdit.js +5 -0
- package/dist/admin/pages/PriceTypeEdit.js.map +1 -0
- package/dist/admin/pages/PriceTypes.d.ts +1 -0
- package/dist/admin/pages/PriceTypes.js +5 -0
- package/dist/admin/pages/PriceTypes.js.map +1 -0
- package/dist/admin/pages/PriceValidator.d.ts +1 -0
- package/dist/admin/pages/PriceValidator.js +4 -0
- package/dist/admin/pages/PriceValidator.js.map +1 -0
- package/dist/admin/pages/ProductEdit.d.ts +1 -0
- package/dist/admin/pages/ProductEdit.js +14 -0
- package/dist/admin/pages/ProductEdit.js.map +1 -0
- package/dist/admin/pages/Products.d.ts +1 -0
- package/dist/admin/pages/Products.js +5 -0
- package/dist/admin/pages/Products.js.map +1 -0
- package/dist/admin/pages/Properties.d.ts +1 -0
- package/dist/admin/pages/Properties.js +5 -0
- package/dist/admin/pages/Properties.js.map +1 -0
- package/dist/admin/pages/PropertyEdit.d.ts +1 -0
- package/dist/admin/pages/PropertyEdit.js +5 -0
- package/dist/admin/pages/PropertyEdit.js.map +1 -0
- package/dist/admin/pages/PropertyOptionEdit.d.ts +1 -0
- package/dist/admin/pages/PropertyOptionEdit.js +7 -0
- package/dist/admin/pages/PropertyOptionEdit.js.map +1 -0
- package/dist/admin/pages/ReviewDetail.d.ts +1 -0
- package/dist/admin/pages/ReviewDetail.js +5 -0
- package/dist/admin/pages/ReviewDetail.js.map +1 -0
- package/dist/admin/pages/Reviews.d.ts +1 -0
- package/dist/admin/pages/Reviews.js +5 -0
- package/dist/admin/pages/Reviews.js.map +1 -0
- package/dist/admin/pages/SectionEdit.d.ts +1 -0
- package/dist/admin/pages/SectionEdit.js +8 -0
- package/dist/admin/pages/SectionEdit.js.map +1 -0
- package/dist/admin/pages/Sections.d.ts +1 -0
- package/dist/admin/pages/Sections.js +5 -0
- package/dist/admin/pages/Sections.js.map +1 -0
- package/dist/admin/pages/Settings.d.ts +1 -0
- package/dist/admin/pages/Settings.js +4 -0
- package/dist/admin/pages/Settings.js.map +1 -0
- package/dist/admin/pages/Shipping.d.ts +1 -0
- package/dist/admin/pages/Shipping.js +5 -0
- package/dist/admin/pages/Shipping.js.map +1 -0
- package/dist/admin/pages/ShippingMethodEdit.d.ts +1 -0
- package/dist/admin/pages/ShippingMethodEdit.js +5 -0
- package/dist/admin/pages/ShippingMethodEdit.js.map +1 -0
- package/dist/admin/pages/ShippingMethods.d.ts +1 -0
- package/dist/admin/pages/ShippingMethods.js +5 -0
- package/dist/admin/pages/ShippingMethods.js.map +1 -0
- package/dist/admin/pages/ShippingZoneEdit.d.ts +1 -0
- package/dist/admin/pages/ShippingZoneEdit.js +5 -0
- package/dist/admin/pages/ShippingZoneEdit.js.map +1 -0
- package/dist/admin/pages/ShippingZones.d.ts +1 -0
- package/dist/admin/pages/ShippingZones.js +5 -0
- package/dist/admin/pages/ShippingZones.js.map +1 -0
- package/dist/admin/pages/ThemeSettings.d.ts +1 -0
- package/dist/admin/pages/ThemeSettings.js +6 -0
- package/dist/admin/pages/ThemeSettings.js.map +1 -0
- package/dist/admin/pages/Themes.d.ts +1 -0
- package/dist/admin/pages/Themes.js +8 -0
- package/dist/admin/pages/Themes.js.map +1 -0
- package/dist/admin/pages/UserCategories.d.ts +1 -0
- package/dist/admin/pages/UserCategories.js +5 -0
- package/dist/admin/pages/UserCategories.js.map +1 -0
- package/dist/admin/pages/UserCategoryEdit.d.ts +1 -0
- package/dist/admin/pages/UserCategoryEdit.js +5 -0
- package/dist/admin/pages/UserCategoryEdit.js.map +1 -0
- package/dist/admin/pages/UserCategoryRuleEdit.d.ts +1 -0
- package/dist/admin/pages/UserCategoryRuleEdit.js +5 -0
- package/dist/admin/pages/UserCategoryRuleEdit.js.map +1 -0
- package/dist/admin/pages/UserCategoryRules.d.ts +1 -0
- package/dist/admin/pages/UserCategoryRules.js +5 -0
- package/dist/admin/pages/UserCategoryRules.js.map +1 -0
- package/dist/admin/pages/UserEdit.d.ts +1 -0
- package/dist/admin/pages/UserEdit.js +5 -0
- package/dist/admin/pages/UserEdit.js.map +1 -0
- package/dist/admin/pages/Users.d.ts +1 -0
- package/dist/admin/pages/Users.js +5 -0
- package/dist/admin/pages/Users.js.map +1 -0
- package/dist/auth/accept-invite.d.ts +38 -0
- package/dist/auth/authz.d.ts +79 -0
- package/dist/auth/drizzle-proxy.d.ts +13 -0
- package/dist/auth/env.d.ts +31 -0
- package/dist/auth/hooks.d.ts +63 -0
- package/dist/auth/index.d.ts +33 -0
- package/dist/auth/index.js +348 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/instance.d.ts +60 -0
- package/dist/auth/invite-email.d.ts +38 -0
- package/dist/auth/invite-store.d.ts +11 -0
- package/dist/auth/invite.d.ts +83 -0
- package/dist/auth/provision.d.ts +10 -0
- package/dist/auth/send-email.d.ts +19 -0
- package/dist/auth/session.d.ts +33 -0
- package/dist/cart-ui/CartButton.d.ts +1 -0
- package/dist/cart-ui/CartButton.js +4 -0
- package/dist/cart-ui/CartButton.js.map +1 -0
- package/dist/cart-ui/CartDrawer.d.ts +1 -0
- package/dist/cart-ui/CartDrawer.js +6 -0
- package/dist/cart-ui/CartDrawer.js.map +1 -0
- package/dist/cart-ui/CartItem.d.ts +6 -0
- package/dist/cart-ui/CartItem.js +5 -0
- package/dist/cart-ui/CartItem.js.map +1 -0
- package/dist/cart-ui/CartItemView.d.ts +7 -0
- package/dist/cart-ui/CartItemView.js +4 -0
- package/dist/cart-ui/CartItemView.js.map +1 -0
- package/dist/cart-ui/index.d.ts +5 -0
- package/dist/cart-ui/index.js +7 -0
- package/dist/cart-ui/index.js.map +1 -0
- package/dist/catalog-ui/ActiveFilters.d.ts +28 -0
- package/dist/catalog-ui/ActiveFilters.js +4 -0
- package/dist/catalog-ui/ActiveFilters.js.map +1 -0
- package/dist/catalog-ui/FilterSidebar.d.ts +31 -0
- package/dist/catalog-ui/FilterSidebar.js +4 -0
- package/dist/catalog-ui/FilterSidebar.js.map +1 -0
- package/dist/catalog-ui/ModificationSelector.d.ts +25 -0
- package/dist/catalog-ui/ModificationSelector.js +4 -0
- package/dist/catalog-ui/ModificationSelector.js.map +1 -0
- package/dist/catalog-ui/ProductCard.d.ts +22 -0
- package/dist/catalog-ui/ProductCard.js +4 -0
- package/dist/catalog-ui/ProductCard.js.map +1 -0
- package/dist/catalog-ui/ProductCharacteristics.d.ts +22 -0
- package/dist/catalog-ui/ProductCharacteristics.js +4 -0
- package/dist/catalog-ui/ProductCharacteristics.js.map +1 -0
- package/dist/catalog-ui/ProductGallery.d.ts +6 -0
- package/dist/catalog-ui/ProductGallery.js +4 -0
- package/dist/catalog-ui/ProductGallery.js.map +1 -0
- package/dist/catalog-ui/StockDisplay.d.ts +13 -0
- package/dist/catalog-ui/StockDisplay.js +4 -0
- package/dist/catalog-ui/StockDisplay.js.map +1 -0
- package/dist/catalog-ui/index.d.ts +7 -0
- package/dist/catalog-ui/index.js +10 -0
- package/dist/catalog-ui/index.js.map +1 -0
- package/dist/checkout-ui/AddressCard.d.ts +11 -0
- package/dist/checkout-ui/AddressCard.js +4 -0
- package/dist/checkout-ui/AddressCard.js.map +1 -0
- package/dist/checkout-ui/AddressSaveDialog.d.ts +10 -0
- package/dist/checkout-ui/AddressSaveDialog.js +4 -0
- package/dist/checkout-ui/AddressSaveDialog.js.map +1 -0
- package/dist/checkout-ui/AddressSelectorPopup.d.ts +17 -0
- package/dist/checkout-ui/AddressSelectorPopup.js +4 -0
- package/dist/checkout-ui/AddressSelectorPopup.js.map +1 -0
- package/dist/checkout-ui/CheckoutAuthBlock.d.ts +7 -0
- package/dist/checkout-ui/CheckoutAuthBlock.js +4 -0
- package/dist/checkout-ui/CheckoutAuthBlock.js.map +1 -0
- package/dist/checkout-ui/CheckoutContactForm.d.ts +11 -0
- package/dist/checkout-ui/CheckoutContactForm.js +4 -0
- package/dist/checkout-ui/CheckoutContactForm.js.map +1 -0
- package/dist/checkout-ui/CheckoutDeliveryForm.d.ts +16 -0
- package/dist/checkout-ui/CheckoutDeliveryForm.js +7 -0
- package/dist/checkout-ui/CheckoutDeliveryForm.js.map +1 -0
- package/dist/checkout-ui/CheckoutOrderSummary.d.ts +11 -0
- package/dist/checkout-ui/CheckoutOrderSummary.js +4 -0
- package/dist/checkout-ui/CheckoutOrderSummary.js.map +1 -0
- package/dist/checkout-ui/CheckoutPaymentForm.d.ts +6 -0
- package/dist/checkout-ui/CheckoutPaymentForm.js +4 -0
- package/dist/checkout-ui/CheckoutPaymentForm.js.map +1 -0
- package/dist/checkout-ui/CheckoutRecipientForm.d.ts +13 -0
- package/dist/checkout-ui/CheckoutRecipientForm.js +7 -0
- package/dist/checkout-ui/CheckoutRecipientForm.js.map +1 -0
- package/dist/checkout-ui/RecipientCard.d.ts +12 -0
- package/dist/checkout-ui/RecipientCard.js +4 -0
- package/dist/checkout-ui/RecipientCard.js.map +1 -0
- package/dist/checkout-ui/RecipientSaveDialog.d.ts +10 -0
- package/dist/checkout-ui/RecipientSaveDialog.js +4 -0
- package/dist/checkout-ui/RecipientSaveDialog.js.map +1 -0
- package/dist/checkout-ui/RecipientSelectorPopup.d.ts +20 -0
- package/dist/checkout-ui/RecipientSelectorPopup.js +4 -0
- package/dist/checkout-ui/RecipientSelectorPopup.js.map +1 -0
- package/dist/checkout-ui/index.d.ts +12 -0
- package/dist/checkout-ui/index.js +15 -0
- package/dist/checkout-ui/index.js.map +1 -0
- package/dist/chunk-23G3T7E3.js +26 -0
- package/dist/chunk-23G3T7E3.js.map +1 -0
- package/dist/chunk-23KPFM3P.js +47 -0
- package/dist/chunk-23KPFM3P.js.map +1 -0
- package/dist/chunk-26OAKQPA.js +83 -0
- package/dist/chunk-26OAKQPA.js.map +1 -0
- package/dist/chunk-2AZMVBJI.js +58 -0
- package/dist/chunk-2AZMVBJI.js.map +1 -0
- package/dist/chunk-2C5VTSRE.js +85 -0
- package/dist/chunk-2C5VTSRE.js.map +1 -0
- package/dist/chunk-2FX2C6KG.js +3 -0
- package/dist/chunk-2FX2C6KG.js.map +1 -0
- package/dist/chunk-2K6FGG5B.js +78 -0
- package/dist/chunk-2K6FGG5B.js.map +1 -0
- package/dist/chunk-2KKQO57H.js +3 -0
- package/dist/chunk-2KKQO57H.js.map +1 -0
- package/dist/chunk-2Q3JIBH2.js +85 -0
- package/dist/chunk-2Q3JIBH2.js.map +1 -0
- package/dist/chunk-2VKURKLN.js +10 -0
- package/dist/chunk-2VKURKLN.js.map +1 -0
- package/dist/chunk-2ZFFIRA7.js +94 -0
- package/dist/chunk-2ZFFIRA7.js.map +1 -0
- package/dist/chunk-2ZMYMDWX.js +506 -0
- package/dist/chunk-2ZMYMDWX.js.map +1 -0
- package/dist/chunk-2ZOJ3BRO.js +101 -0
- package/dist/chunk-2ZOJ3BRO.js.map +1 -0
- package/dist/chunk-34RUH5Q5.js +56 -0
- package/dist/chunk-34RUH5Q5.js.map +1 -0
- package/dist/chunk-36KE54CI.js +138 -0
- package/dist/chunk-36KE54CI.js.map +1 -0
- package/dist/chunk-36N7MZUX.js +49 -0
- package/dist/chunk-36N7MZUX.js.map +1 -0
- package/dist/chunk-3AESWXJD.js +398 -0
- package/dist/chunk-3AESWXJD.js.map +1 -0
- package/dist/chunk-3AJKXVPJ.js +68 -0
- package/dist/chunk-3AJKXVPJ.js.map +1 -0
- package/dist/chunk-3DJRL4IK.js +292 -0
- package/dist/chunk-3DJRL4IK.js.map +1 -0
- package/dist/chunk-3IGJUUBL.js +60 -0
- package/dist/chunk-3IGJUUBL.js.map +1 -0
- package/dist/chunk-3LFRV3X6.js +237 -0
- package/dist/chunk-3LFRV3X6.js.map +1 -0
- package/dist/chunk-3MK6QUQK.js +24 -0
- package/dist/chunk-3MK6QUQK.js.map +1 -0
- package/dist/chunk-3SW2KIUN.js +103 -0
- package/dist/chunk-3SW2KIUN.js.map +1 -0
- package/dist/chunk-3WTEL7HT.js +18 -0
- package/dist/chunk-3WTEL7HT.js.map +1 -0
- package/dist/chunk-3XVESNZC.js +77 -0
- package/dist/chunk-3XVESNZC.js.map +1 -0
- package/dist/chunk-43LZRWRG.js +57 -0
- package/dist/chunk-43LZRWRG.js.map +1 -0
- package/dist/chunk-45B5PZRY.js +460 -0
- package/dist/chunk-45B5PZRY.js.map +1 -0
- package/dist/chunk-45QHWHQX.js +26 -0
- package/dist/chunk-45QHWHQX.js.map +1 -0
- package/dist/chunk-473Q4TND.js +35 -0
- package/dist/chunk-473Q4TND.js.map +1 -0
- package/dist/chunk-4DRH2QKU.js +123 -0
- package/dist/chunk-4DRH2QKU.js.map +1 -0
- package/dist/chunk-4DVL46A2.js +42 -0
- package/dist/chunk-4DVL46A2.js.map +1 -0
- package/dist/chunk-4FV5KTST.js +49 -0
- package/dist/chunk-4FV5KTST.js.map +1 -0
- package/dist/chunk-4KSSZJB6.js +717 -0
- package/dist/chunk-4KSSZJB6.js.map +1 -0
- package/dist/chunk-4LNEHCYO.js +62 -0
- package/dist/chunk-4LNEHCYO.js.map +1 -0
- package/dist/chunk-4LWRNI4H.js +109 -0
- package/dist/chunk-4LWRNI4H.js.map +1 -0
- package/dist/chunk-4N7CLW6Y.js +72 -0
- package/dist/chunk-4N7CLW6Y.js.map +1 -0
- package/dist/chunk-4YRIIXCU.js +70 -0
- package/dist/chunk-4YRIIXCU.js.map +1 -0
- package/dist/chunk-5A2ANDF7.js +368 -0
- package/dist/chunk-5A2ANDF7.js.map +1 -0
- package/dist/chunk-5BSNLAZG.js +98 -0
- package/dist/chunk-5BSNLAZG.js.map +1 -0
- package/dist/chunk-5C2YI56N.js +38 -0
- package/dist/chunk-5C2YI56N.js.map +1 -0
- package/dist/chunk-5DAAQK77.js +264 -0
- package/dist/chunk-5DAAQK77.js.map +1 -0
- package/dist/chunk-5GOKOB4W.js +121 -0
- package/dist/chunk-5GOKOB4W.js.map +1 -0
- package/dist/chunk-5JTWID4O.js +3 -0
- package/dist/chunk-5JTWID4O.js.map +1 -0
- package/dist/chunk-5O4GVI37.js +18 -0
- package/dist/chunk-5O4GVI37.js.map +1 -0
- package/dist/chunk-5QDPW3VW.js +3 -0
- package/dist/chunk-5QDPW3VW.js.map +1 -0
- package/dist/chunk-5UP3MCBC.js +118 -0
- package/dist/chunk-5UP3MCBC.js.map +1 -0
- package/dist/chunk-5XW3TCGE.js +132 -0
- package/dist/chunk-5XW3TCGE.js.map +1 -0
- package/dist/chunk-64LMUHDA.js +122 -0
- package/dist/chunk-64LMUHDA.js.map +1 -0
- package/dist/chunk-6CF3TA4X.js +23 -0
- package/dist/chunk-6CF3TA4X.js.map +1 -0
- package/dist/chunk-6D2UAQNA.js +36 -0
- package/dist/chunk-6D2UAQNA.js.map +1 -0
- package/dist/chunk-6EQJNNCU.js +39 -0
- package/dist/chunk-6EQJNNCU.js.map +1 -0
- package/dist/chunk-6J52Y6TD.js +38 -0
- package/dist/chunk-6J52Y6TD.js.map +1 -0
- package/dist/chunk-6SGVGV62.js +24 -0
- package/dist/chunk-6SGVGV62.js.map +1 -0
- package/dist/chunk-6ZC3GWAR.js +37 -0
- package/dist/chunk-6ZC3GWAR.js.map +1 -0
- package/dist/chunk-77RQYFQK.js +23 -0
- package/dist/chunk-77RQYFQK.js.map +1 -0
- package/dist/chunk-7JQNN4AX.js +64 -0
- package/dist/chunk-7JQNN4AX.js.map +1 -0
- package/dist/chunk-7RYIOR2A.js +183 -0
- package/dist/chunk-7RYIOR2A.js.map +1 -0
- package/dist/chunk-7S3MSMHE.js +90 -0
- package/dist/chunk-7S3MSMHE.js.map +1 -0
- package/dist/chunk-7ZS5RS5Z.js +172 -0
- package/dist/chunk-7ZS5RS5Z.js.map +1 -0
- package/dist/chunk-AFTVAKEC.js +25 -0
- package/dist/chunk-AFTVAKEC.js.map +1 -0
- package/dist/chunk-ALVECZR7.js +8 -0
- package/dist/chunk-ALVECZR7.js.map +1 -0
- package/dist/chunk-AN54YETW.js +20 -0
- package/dist/chunk-AN54YETW.js.map +1 -0
- package/dist/chunk-ARVI27TR.js +324 -0
- package/dist/chunk-ARVI27TR.js.map +1 -0
- package/dist/chunk-ASFG2LKM.js +10 -0
- package/dist/chunk-ASFG2LKM.js.map +1 -0
- package/dist/chunk-AVHWYNGC.js +502 -0
- package/dist/chunk-AVHWYNGC.js.map +1 -0
- package/dist/chunk-B6ZJSQ4P.js +30 -0
- package/dist/chunk-B6ZJSQ4P.js.map +1 -0
- package/dist/chunk-BDKJ3ITL.js +1311 -0
- package/dist/chunk-BDKJ3ITL.js.map +1 -0
- package/dist/chunk-BDR6DRJX.js +47 -0
- package/dist/chunk-BDR6DRJX.js.map +1 -0
- package/dist/chunk-BSISQVY4.js +36 -0
- package/dist/chunk-BSISQVY4.js.map +1 -0
- package/dist/chunk-BTOPIWDA.js +144 -0
- package/dist/chunk-BTOPIWDA.js.map +1 -0
- package/dist/chunk-BWECTMUZ.js +101 -0
- package/dist/chunk-BWECTMUZ.js.map +1 -0
- package/dist/chunk-BZAWFPGX.js +91 -0
- package/dist/chunk-BZAWFPGX.js.map +1 -0
- package/dist/chunk-CETG5B3V.js +154 -0
- package/dist/chunk-CETG5B3V.js.map +1 -0
- package/dist/chunk-CFE2YHHY.js +52 -0
- package/dist/chunk-CFE2YHHY.js.map +1 -0
- package/dist/chunk-CKD5KAD2.js +179 -0
- package/dist/chunk-CKD5KAD2.js.map +1 -0
- package/dist/chunk-CMLIVKLK.js +319 -0
- package/dist/chunk-CMLIVKLK.js.map +1 -0
- package/dist/chunk-CRAH3NMI.js +96 -0
- package/dist/chunk-CRAH3NMI.js.map +1 -0
- package/dist/chunk-CTFOP3GR.js +3 -0
- package/dist/chunk-CTFOP3GR.js.map +1 -0
- package/dist/chunk-CZJWLCK7.js +3 -0
- package/dist/chunk-CZJWLCK7.js.map +1 -0
- package/dist/chunk-D3G6XGKV.js +82 -0
- package/dist/chunk-D3G6XGKV.js.map +1 -0
- package/dist/chunk-D55EEFVJ.js +48 -0
- package/dist/chunk-D55EEFVJ.js.map +1 -0
- package/dist/chunk-DOAFQERM.js +15 -0
- package/dist/chunk-DOAFQERM.js.map +1 -0
- package/dist/chunk-DR5R3J76.js +154 -0
- package/dist/chunk-DR5R3J76.js.map +1 -0
- package/dist/chunk-DRWZUYAN.js +15 -0
- package/dist/chunk-DRWZUYAN.js.map +1 -0
- package/dist/chunk-DW64EGU4.js +300 -0
- package/dist/chunk-DW64EGU4.js.map +1 -0
- package/dist/chunk-DWO7VQQT.js +253 -0
- package/dist/chunk-DWO7VQQT.js.map +1 -0
- package/dist/chunk-DZDZ6SSB.js +54 -0
- package/dist/chunk-DZDZ6SSB.js.map +1 -0
- package/dist/chunk-E6TWPPJC.js +21 -0
- package/dist/chunk-E6TWPPJC.js.map +1 -0
- package/dist/chunk-EFLUQ3O7.js +29 -0
- package/dist/chunk-EFLUQ3O7.js.map +1 -0
- package/dist/chunk-ELAU7VSL.js +157 -0
- package/dist/chunk-ELAU7VSL.js.map +1 -0
- package/dist/chunk-EQDFU2YI.js +228 -0
- package/dist/chunk-EQDFU2YI.js.map +1 -0
- package/dist/chunk-ETDZDO35.js +30 -0
- package/dist/chunk-ETDZDO35.js.map +1 -0
- package/dist/chunk-EZFEM6WJ.js +26 -0
- package/dist/chunk-EZFEM6WJ.js.map +1 -0
- package/dist/chunk-F2N5BY57.js +513 -0
- package/dist/chunk-F2N5BY57.js.map +1 -0
- package/dist/chunk-FBCWGQCA.js +38 -0
- package/dist/chunk-FBCWGQCA.js.map +1 -0
- package/dist/chunk-FETHDFGX.js +28 -0
- package/dist/chunk-FETHDFGX.js.map +1 -0
- package/dist/chunk-FFOYJA7C.js +52 -0
- package/dist/chunk-FFOYJA7C.js.map +1 -0
- package/dist/chunk-FJN35H2F.js +23 -0
- package/dist/chunk-FJN35H2F.js.map +1 -0
- package/dist/chunk-FSWFG3W5.js +434 -0
- package/dist/chunk-FSWFG3W5.js.map +1 -0
- package/dist/chunk-FVUVJDMM.js +302 -0
- package/dist/chunk-FVUVJDMM.js.map +1 -0
- package/dist/chunk-GA3G4WSB.js +43 -0
- package/dist/chunk-GA3G4WSB.js.map +1 -0
- package/dist/chunk-GBX3EEET.js +50 -0
- package/dist/chunk-GBX3EEET.js.map +1 -0
- package/dist/chunk-GCV75UWZ.js +146 -0
- package/dist/chunk-GCV75UWZ.js.map +1 -0
- package/dist/chunk-GDMEC2JX.js +261 -0
- package/dist/chunk-GDMEC2JX.js.map +1 -0
- package/dist/chunk-GDOSHZKL.js +26 -0
- package/dist/chunk-GDOSHZKL.js.map +1 -0
- package/dist/chunk-GEFYA744.js +218 -0
- package/dist/chunk-GEFYA744.js.map +1 -0
- package/dist/chunk-GNPMPJBU.js +148 -0
- package/dist/chunk-GNPMPJBU.js.map +1 -0
- package/dist/chunk-GU4OCP5D.js +3 -0
- package/dist/chunk-GU4OCP5D.js.map +1 -0
- package/dist/chunk-GZWE2546.js +65 -0
- package/dist/chunk-GZWE2546.js.map +1 -0
- package/dist/chunk-HDKJLZP5.js +90 -0
- package/dist/chunk-HDKJLZP5.js.map +1 -0
- package/dist/chunk-HDZ2KCVD.js +118 -0
- package/dist/chunk-HDZ2KCVD.js.map +1 -0
- package/dist/chunk-HFELN34F.js +24 -0
- package/dist/chunk-HFELN34F.js.map +1 -0
- package/dist/chunk-HG5KZVG2.js +254 -0
- package/dist/chunk-HG5KZVG2.js.map +1 -0
- package/dist/chunk-HGKPFE57.js +302 -0
- package/dist/chunk-HGKPFE57.js.map +1 -0
- package/dist/chunk-HIAANCKI.js +367 -0
- package/dist/chunk-HIAANCKI.js.map +1 -0
- package/dist/chunk-HV3QOXWS.js +94 -0
- package/dist/chunk-HV3QOXWS.js.map +1 -0
- package/dist/chunk-HW3CZJDX.js +26 -0
- package/dist/chunk-HW3CZJDX.js.map +1 -0
- package/dist/chunk-HYLFXHZ4.js +39 -0
- package/dist/chunk-HYLFXHZ4.js.map +1 -0
- package/dist/chunk-I3U4TB4H.js +323 -0
- package/dist/chunk-I3U4TB4H.js.map +1 -0
- package/dist/chunk-I4LPT6E5.js +163 -0
- package/dist/chunk-I4LPT6E5.js.map +1 -0
- package/dist/chunk-I65ATTOO.js +97 -0
- package/dist/chunk-I65ATTOO.js.map +1 -0
- package/dist/chunk-I7WLAPVP.js +3 -0
- package/dist/chunk-I7WLAPVP.js.map +1 -0
- package/dist/chunk-IBKHUHET.js +13 -0
- package/dist/chunk-IBKHUHET.js.map +1 -0
- package/dist/chunk-IFL7XD6B.js +32 -0
- package/dist/chunk-IFL7XD6B.js.map +1 -0
- package/dist/chunk-IMVSNS6Y.js +72 -0
- package/dist/chunk-IMVSNS6Y.js.map +1 -0
- package/dist/chunk-INYK2AFU.js +309 -0
- package/dist/chunk-INYK2AFU.js.map +1 -0
- package/dist/chunk-IODBINZ4.js +20 -0
- package/dist/chunk-IODBINZ4.js.map +1 -0
- package/dist/chunk-IP2II4EJ.js +170 -0
- package/dist/chunk-IP2II4EJ.js.map +1 -0
- package/dist/chunk-IPQRYSSD.js +3 -0
- package/dist/chunk-IPQRYSSD.js.map +1 -0
- package/dist/chunk-IRR2UMIH.js +13 -0
- package/dist/chunk-IRR2UMIH.js.map +1 -0
- package/dist/chunk-ISBZVXFF.js +108 -0
- package/dist/chunk-ISBZVXFF.js.map +1 -0
- package/dist/chunk-IULIXR7J.js +37 -0
- package/dist/chunk-IULIXR7J.js.map +1 -0
- package/dist/chunk-J4DP2OAU.js +142 -0
- package/dist/chunk-J4DP2OAU.js.map +1 -0
- package/dist/chunk-JG3KDN6H.js +26 -0
- package/dist/chunk-JG3KDN6H.js.map +1 -0
- package/dist/chunk-JGO2CL3O.js +43 -0
- package/dist/chunk-JGO2CL3O.js.map +1 -0
- package/dist/chunk-JO63AJJG.js +226 -0
- package/dist/chunk-JO63AJJG.js.map +1 -0
- package/dist/chunk-JORMRKZX.js +50 -0
- package/dist/chunk-JORMRKZX.js.map +1 -0
- package/dist/chunk-JRX5ACKU.js +20 -0
- package/dist/chunk-JRX5ACKU.js.map +1 -0
- package/dist/chunk-JUT26UJC.js +141 -0
- package/dist/chunk-JUT26UJC.js.map +1 -0
- package/dist/chunk-K53S2TG5.js +218 -0
- package/dist/chunk-K53S2TG5.js.map +1 -0
- package/dist/chunk-KLRI2TQ3.js +15 -0
- package/dist/chunk-KLRI2TQ3.js.map +1 -0
- package/dist/chunk-KLU72IVW.js +120 -0
- package/dist/chunk-KLU72IVW.js.map +1 -0
- package/dist/chunk-KXGQVXV5.js +3 -0
- package/dist/chunk-KXGQVXV5.js.map +1 -0
- package/dist/chunk-KYQQL3WB.js +3 -0
- package/dist/chunk-KYQQL3WB.js.map +1 -0
- package/dist/chunk-L3CXS3RA.js +20 -0
- package/dist/chunk-L3CXS3RA.js.map +1 -0
- package/dist/chunk-L3MIV7VH.js +47 -0
- package/dist/chunk-L3MIV7VH.js.map +1 -0
- package/dist/chunk-L7DU5MY7.js +285 -0
- package/dist/chunk-L7DU5MY7.js.map +1 -0
- package/dist/chunk-LL3IE3SI.js +26 -0
- package/dist/chunk-LL3IE3SI.js.map +1 -0
- package/dist/chunk-LL6RMSEC.js +53 -0
- package/dist/chunk-LL6RMSEC.js.map +1 -0
- package/dist/chunk-LNEHQXYC.js +159 -0
- package/dist/chunk-LNEHQXYC.js.map +1 -0
- package/dist/chunk-LRZSDJS7.js +27 -0
- package/dist/chunk-LRZSDJS7.js.map +1 -0
- package/dist/chunk-LS3LMIS4.js +87 -0
- package/dist/chunk-LS3LMIS4.js.map +1 -0
- package/dist/chunk-LUOSFQD5.js +28 -0
- package/dist/chunk-LUOSFQD5.js.map +1 -0
- package/dist/chunk-LVIY3WV5.js +102 -0
- package/dist/chunk-LVIY3WV5.js.map +1 -0
- package/dist/chunk-LZYG4G4X.js +43 -0
- package/dist/chunk-LZYG4G4X.js.map +1 -0
- package/dist/chunk-M2OQPMVT.js +3 -0
- package/dist/chunk-M2OQPMVT.js.map +1 -0
- package/dist/chunk-M3G257NG.js +29 -0
- package/dist/chunk-M3G257NG.js.map +1 -0
- package/dist/chunk-MBDMH57M.js +307 -0
- package/dist/chunk-MBDMH57M.js.map +1 -0
- package/dist/chunk-MCXTDDUI.js +62 -0
- package/dist/chunk-MCXTDDUI.js.map +1 -0
- package/dist/chunk-MJ7TXDR6.js +11 -0
- package/dist/chunk-MJ7TXDR6.js.map +1 -0
- package/dist/chunk-MLJ2I5US.js +108 -0
- package/dist/chunk-MLJ2I5US.js.map +1 -0
- package/dist/chunk-MQ422VVU.js +45 -0
- package/dist/chunk-MQ422VVU.js.map +1 -0
- package/dist/chunk-MTGH4EXD.js +27 -0
- package/dist/chunk-MTGH4EXD.js.map +1 -0
- package/dist/chunk-MX2JHIZP.js +29 -0
- package/dist/chunk-MX2JHIZP.js.map +1 -0
- package/dist/chunk-MYNYNET3.js +71 -0
- package/dist/chunk-MYNYNET3.js.map +1 -0
- package/dist/chunk-NBND7WAT.js +33 -0
- package/dist/chunk-NBND7WAT.js.map +1 -0
- package/dist/chunk-NEUEOUZA.js +62 -0
- package/dist/chunk-NEUEOUZA.js.map +1 -0
- package/dist/chunk-NLK2FJGF.js +52 -0
- package/dist/chunk-NLK2FJGF.js.map +1 -0
- package/dist/chunk-NOGEBCZM.js +38 -0
- package/dist/chunk-NOGEBCZM.js.map +1 -0
- package/dist/chunk-NRZS2NEG.js +213 -0
- package/dist/chunk-NRZS2NEG.js.map +1 -0
- package/dist/chunk-NSKMDSE7.js +63 -0
- package/dist/chunk-NSKMDSE7.js.map +1 -0
- package/dist/chunk-NZI53CGC.js +45 -0
- package/dist/chunk-NZI53CGC.js.map +1 -0
- package/dist/chunk-O5EHX5YI.js +3 -0
- package/dist/chunk-O5EHX5YI.js.map +1 -0
- package/dist/chunk-OAYDU5TD.js +104 -0
- package/dist/chunk-OAYDU5TD.js.map +1 -0
- package/dist/chunk-ODV2GIRU.js +63 -0
- package/dist/chunk-ODV2GIRU.js.map +1 -0
- package/dist/chunk-OEV4FPTR.js +140 -0
- package/dist/chunk-OEV4FPTR.js.map +1 -0
- package/dist/chunk-OMPF7GTV.js +63 -0
- package/dist/chunk-OMPF7GTV.js.map +1 -0
- package/dist/chunk-OWHK34K6.js +3 -0
- package/dist/chunk-OWHK34K6.js.map +1 -0
- package/dist/chunk-OYSLI33V.js +192 -0
- package/dist/chunk-OYSLI33V.js.map +1 -0
- package/dist/chunk-P6OAVA6S.js +301 -0
- package/dist/chunk-P6OAVA6S.js.map +1 -0
- package/dist/chunk-PKPSEUTH.js +416 -0
- package/dist/chunk-PKPSEUTH.js.map +1 -0
- package/dist/chunk-PKSF2WRO.js +20 -0
- package/dist/chunk-PKSF2WRO.js.map +1 -0
- package/dist/chunk-PO4IZSDA.js +79 -0
- package/dist/chunk-PO4IZSDA.js.map +1 -0
- package/dist/chunk-PUHHIN2C.js +476 -0
- package/dist/chunk-PUHHIN2C.js.map +1 -0
- package/dist/chunk-PXWQPR5U.js +166 -0
- package/dist/chunk-PXWQPR5U.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +9 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/chunk-Q6LPYDSV.js +313 -0
- package/dist/chunk-Q6LPYDSV.js.map +1 -0
- package/dist/chunk-Q7AOMRRU.js +43 -0
- package/dist/chunk-Q7AOMRRU.js.map +1 -0
- package/dist/chunk-QCTPHFFT.js +21 -0
- package/dist/chunk-QCTPHFFT.js.map +1 -0
- package/dist/chunk-QDSHCGZP.js +33 -0
- package/dist/chunk-QDSHCGZP.js.map +1 -0
- package/dist/chunk-QGI7PAOJ.js +30 -0
- package/dist/chunk-QGI7PAOJ.js.map +1 -0
- package/dist/chunk-QPHGCZ22.js +22 -0
- package/dist/chunk-QPHGCZ22.js.map +1 -0
- package/dist/chunk-QQDFDCU7.js +93 -0
- package/dist/chunk-QQDFDCU7.js.map +1 -0
- package/dist/chunk-QXJIUF4T.js +15 -0
- package/dist/chunk-QXJIUF4T.js.map +1 -0
- package/dist/chunk-RFQAQV3K.js +118 -0
- package/dist/chunk-RFQAQV3K.js.map +1 -0
- package/dist/chunk-RJLDWZ2W.js +28 -0
- package/dist/chunk-RJLDWZ2W.js.map +1 -0
- package/dist/chunk-RMPQOZUE.js +3 -0
- package/dist/chunk-RMPQOZUE.js.map +1 -0
- package/dist/chunk-RSL3DLME.js +256 -0
- package/dist/chunk-RSL3DLME.js.map +1 -0
- package/dist/chunk-RXDCW5CH.js +38 -0
- package/dist/chunk-RXDCW5CH.js.map +1 -0
- package/dist/chunk-SACNJKU5.js +95 -0
- package/dist/chunk-SACNJKU5.js.map +1 -0
- package/dist/chunk-SECPVOGP.js +11 -0
- package/dist/chunk-SECPVOGP.js.map +1 -0
- package/dist/chunk-SFVHV7R3.js +311 -0
- package/dist/chunk-SFVHV7R3.js.map +1 -0
- package/dist/chunk-SG2BHFVT.js +134 -0
- package/dist/chunk-SG2BHFVT.js.map +1 -0
- package/dist/chunk-SGUAXELO.js +27 -0
- package/dist/chunk-SGUAXELO.js.map +1 -0
- package/dist/chunk-SHMJRRUY.js +3 -0
- package/dist/chunk-SHMJRRUY.js.map +1 -0
- package/dist/chunk-SQIVVHWN.js +23 -0
- package/dist/chunk-SQIVVHWN.js.map +1 -0
- package/dist/chunk-SU3R36OS.js +169 -0
- package/dist/chunk-SU3R36OS.js.map +1 -0
- package/dist/chunk-T2UW5EWA.js +327 -0
- package/dist/chunk-T2UW5EWA.js.map +1 -0
- package/dist/chunk-TKJXSSVT.js +94 -0
- package/dist/chunk-TKJXSSVT.js.map +1 -0
- package/dist/chunk-TS3EGKET.js +38 -0
- package/dist/chunk-TS3EGKET.js.map +1 -0
- package/dist/chunk-TTCWYWQU.js +31 -0
- package/dist/chunk-TTCWYWQU.js.map +1 -0
- package/dist/chunk-TY7P22ZE.js +334 -0
- package/dist/chunk-TY7P22ZE.js.map +1 -0
- package/dist/chunk-TZMNJIAU.js +50 -0
- package/dist/chunk-TZMNJIAU.js.map +1 -0
- package/dist/chunk-UBLERNL3.js +595 -0
- package/dist/chunk-UBLERNL3.js.map +1 -0
- package/dist/chunk-UCZQWXCW.js +216 -0
- package/dist/chunk-UCZQWXCW.js.map +1 -0
- package/dist/chunk-UIKJ4EUT.js +65 -0
- package/dist/chunk-UIKJ4EUT.js.map +1 -0
- package/dist/chunk-UJNINZMO.js +40 -0
- package/dist/chunk-UJNINZMO.js.map +1 -0
- package/dist/chunk-ULHJAUDC.js +78 -0
- package/dist/chunk-ULHJAUDC.js.map +1 -0
- package/dist/chunk-UVQZ4IPW.js +96 -0
- package/dist/chunk-UVQZ4IPW.js.map +1 -0
- package/dist/chunk-V23ZBHSL.js +69 -0
- package/dist/chunk-V23ZBHSL.js.map +1 -0
- package/dist/chunk-V2Q67K4F.js +32 -0
- package/dist/chunk-V2Q67K4F.js.map +1 -0
- package/dist/chunk-V5N6TAJC.js +395 -0
- package/dist/chunk-V5N6TAJC.js.map +1 -0
- package/dist/chunk-V6OUDHXW.js +31 -0
- package/dist/chunk-V6OUDHXW.js.map +1 -0
- package/dist/chunk-VHO66UIW.js +29 -0
- package/dist/chunk-VHO66UIW.js.map +1 -0
- package/dist/chunk-VMMM2RIG.js +8 -0
- package/dist/chunk-VMMM2RIG.js.map +1 -0
- package/dist/chunk-VNIVHR4Z.js +327 -0
- package/dist/chunk-VNIVHR4Z.js.map +1 -0
- package/dist/chunk-VQYOEDXN.js +3 -0
- package/dist/chunk-VQYOEDXN.js.map +1 -0
- package/dist/chunk-VSXW336V.js +13 -0
- package/dist/chunk-VSXW336V.js.map +1 -0
- package/dist/chunk-VT3TJVSJ.js +118 -0
- package/dist/chunk-VT3TJVSJ.js.map +1 -0
- package/dist/chunk-WCKHXPYN.js +68 -0
- package/dist/chunk-WCKHXPYN.js.map +1 -0
- package/dist/chunk-WCSVGTBO.js +3 -0
- package/dist/chunk-WCSVGTBO.js.map +1 -0
- package/dist/chunk-WGJTOHEA.js +3 -0
- package/dist/chunk-WGJTOHEA.js.map +1 -0
- package/dist/chunk-WUXO6KCX.js +40 -0
- package/dist/chunk-WUXO6KCX.js.map +1 -0
- package/dist/chunk-XBHNK4ER.js +92 -0
- package/dist/chunk-XBHNK4ER.js.map +1 -0
- package/dist/chunk-XBXHWNNS.js +44 -0
- package/dist/chunk-XBXHWNNS.js.map +1 -0
- package/dist/chunk-XHM4DSKW.js +17 -0
- package/dist/chunk-XHM4DSKW.js.map +1 -0
- package/dist/chunk-XU3QEACK.js +3 -0
- package/dist/chunk-XU3QEACK.js.map +1 -0
- package/dist/chunk-YAAGMUI6.js +29 -0
- package/dist/chunk-YAAGMUI6.js.map +1 -0
- package/dist/chunk-YAVF46NP.js +103 -0
- package/dist/chunk-YAVF46NP.js.map +1 -0
- package/dist/chunk-YDSW4PMT.js +3 -0
- package/dist/chunk-YDSW4PMT.js.map +1 -0
- package/dist/chunk-YJSUFOSO.js +27 -0
- package/dist/chunk-YJSUFOSO.js.map +1 -0
- package/dist/chunk-YL2AW5T6.js +3 -0
- package/dist/chunk-YL2AW5T6.js.map +1 -0
- package/dist/chunk-YLVDMRLC.js +40 -0
- package/dist/chunk-YLVDMRLC.js.map +1 -0
- package/dist/chunk-YMAXW25I.js +587 -0
- package/dist/chunk-YMAXW25I.js.map +1 -0
- package/dist/chunk-YMT764VJ.js +81 -0
- package/dist/chunk-YMT764VJ.js.map +1 -0
- package/dist/chunk-YRBASM6H.js +160 -0
- package/dist/chunk-YRBASM6H.js.map +1 -0
- package/dist/chunk-Z3EJA3GJ.js +3 -0
- package/dist/chunk-Z3EJA3GJ.js.map +1 -0
- package/dist/chunk-Z5W5Q64K.js +3 -0
- package/dist/chunk-Z5W5Q64K.js.map +1 -0
- package/dist/chunk-Z7XTHXGI.js +87 -0
- package/dist/chunk-Z7XTHXGI.js.map +1 -0
- package/dist/chunk-ZNKTJGLV.js +183 -0
- package/dist/chunk-ZNKTJGLV.js.map +1 -0
- package/dist/chunk-ZO5HCIKL.js +11 -0
- package/dist/chunk-ZO5HCIKL.js.map +1 -0
- package/dist/chunk-ZQN6MC2O.js +90 -0
- package/dist/chunk-ZQN6MC2O.js.map +1 -0
- package/dist/chunk-ZS26TLLE.js +19 -0
- package/dist/chunk-ZS26TLLE.js.map +1 -0
- package/dist/chunk-ZSQQH3P2.js +96 -0
- package/dist/chunk-ZSQQH3P2.js.map +1 -0
- package/dist/contracts/index.d.ts +2 -0
- package/dist/contracts/index.js +3 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/objects/banner.d.ts +31 -0
- package/dist/contracts/objects/catalog.d.ts +65 -0
- package/dist/contracts/objects/common.d.ts +21 -0
- package/dist/contracts/objects/config.d.ts +14 -0
- package/dist/contracts/objects/discount.d.ts +79 -0
- package/dist/contracts/objects/identity.d.ts +8 -0
- package/dist/contracts/objects/index.d.ts +10 -0
- package/dist/contracts/objects/index.js +3 -0
- package/dist/contracts/objects/index.js.map +1 -0
- package/dist/contracts/objects/inventory.d.ts +34 -0
- package/dist/contracts/objects/order.d.ts +48 -0
- package/dist/contracts/objects/pricing.d.ts +18 -0
- package/dist/contracts/objects/shipping.d.ts +112 -0
- package/dist/contracts/ports/index.d.ts +83 -0
- package/dist/contracts/ports/index.js +3 -0
- package/dist/contracts/ports/index.js.map +1 -0
- package/dist/contracts/semver/index.d.ts +13 -0
- package/dist/contracts/semver/index.js +43 -0
- package/dist/contracts/semver/index.js.map +1 -0
- package/dist/contracts/semver/version.d.ts +15 -0
- package/dist/contracts/views/cart.d.ts +18 -0
- package/dist/contracts/views/catalog.d.ts +38 -0
- package/dist/contracts/views/common.d.ts +32 -0
- package/dist/contracts/views/fixtures/cart.d.ts +6 -0
- package/dist/contracts/views/fixtures/catalog.d.ts +10 -0
- package/dist/contracts/views/fixtures/home.d.ts +6 -0
- package/dist/contracts/views/fixtures/index.d.ts +30 -0
- package/dist/contracts/views/fixtures/index.js +184 -0
- package/dist/contracts/views/fixtures/index.js.map +1 -0
- package/dist/contracts/views/fixtures/product-detail.d.ts +6 -0
- package/dist/contracts/views/home.d.ts +43 -0
- package/dist/contracts/views/index.d.ts +7 -0
- package/dist/contracts/views/index.js +45 -0
- package/dist/contracts/views/index.js.map +1 -0
- package/dist/contracts/views/product-detail.d.ts +70 -0
- package/dist/contracts/views/requisites.d.ts +75 -0
- package/dist/contracts/views/slots.d.ts +15 -0
- package/dist/core/components/NavLink.d.ts +12 -0
- package/dist/core/components/NavLink.js +27 -0
- package/dist/core/components/NavLink.js.map +1 -0
- package/dist/core/components/ThemeToggle.d.ts +1 -0
- package/dist/core/components/ThemeToggle.js +34 -0
- package/dist/core/components/ThemeToggle.js.map +1 -0
- package/dist/core/components/cart/CartDrawer.d.ts +1 -0
- package/dist/core/components/cart/CartDrawer.js +4 -0
- package/dist/core/components/cart/CartDrawer.js.map +1 -0
- package/dist/core/components/cart/CartItem.d.ts +1 -0
- package/dist/core/components/cart/CartItem.js +4 -0
- package/dist/core/components/cart/CartItem.js.map +1 -0
- package/dist/core/components/catalog/ActiveFilters.d.ts +2 -0
- package/dist/core/components/catalog/ActiveFilters.js +4 -0
- package/dist/core/components/catalog/ActiveFilters.js.map +1 -0
- package/dist/core/components/catalog/FilterSidebar.d.ts +2 -0
- package/dist/core/components/catalog/FilterSidebar.js +4 -0
- package/dist/core/components/catalog/FilterSidebar.js.map +1 -0
- package/dist/core/components/catalog/ModificationSelector.d.ts +2 -0
- package/dist/core/components/catalog/ModificationSelector.js +4 -0
- package/dist/core/components/catalog/ModificationSelector.js.map +1 -0
- package/dist/core/components/catalog/ProductCard.d.ts +1 -0
- package/dist/core/components/catalog/ProductCard.js +4 -0
- package/dist/core/components/catalog/ProductCard.js.map +1 -0
- package/dist/core/components/catalog/ProductCharacteristics.d.ts +1 -0
- package/dist/core/components/catalog/ProductCharacteristics.js +4 -0
- package/dist/core/components/catalog/ProductCharacteristics.js.map +1 -0
- package/dist/core/components/catalog/ProductGallery.d.ts +1 -0
- package/dist/core/components/catalog/ProductGallery.js +4 -0
- package/dist/core/components/catalog/ProductGallery.js.map +1 -0
- package/dist/core/components/catalog/StockDisplay.d.ts +1 -0
- package/dist/core/components/catalog/StockDisplay.js +4 -0
- package/dist/core/components/catalog/StockDisplay.js.map +1 -0
- package/dist/core/components/checkout/CheckoutAuthBlock.d.ts +1 -0
- package/dist/core/components/checkout/CheckoutAuthBlock.js +4 -0
- package/dist/core/components/checkout/CheckoutAuthBlock.js.map +1 -0
- package/dist/core/components/checkout/CheckoutContactForm.d.ts +1 -0
- package/dist/core/components/checkout/CheckoutContactForm.js +4 -0
- package/dist/core/components/checkout/CheckoutContactForm.js.map +1 -0
- package/dist/core/components/checkout/CheckoutDeliveryForm.d.ts +1 -0
- package/dist/core/components/checkout/CheckoutDeliveryForm.js +4 -0
- package/dist/core/components/checkout/CheckoutDeliveryForm.js.map +1 -0
- package/dist/core/components/checkout/CheckoutOrderSummary.d.ts +1 -0
- package/dist/core/components/checkout/CheckoutOrderSummary.js +4 -0
- package/dist/core/components/checkout/CheckoutOrderSummary.js.map +1 -0
- package/dist/core/components/checkout/CheckoutPaymentForm.d.ts +1 -0
- package/dist/core/components/checkout/CheckoutPaymentForm.js +4 -0
- package/dist/core/components/checkout/CheckoutPaymentForm.js.map +1 -0
- package/dist/core/components/checkout/CheckoutRecipientForm.d.ts +1 -0
- package/dist/core/components/checkout/CheckoutRecipientForm.js +4 -0
- package/dist/core/components/checkout/CheckoutRecipientForm.js.map +1 -0
- package/dist/core/components/profile/AddressesList.d.ts +1 -0
- package/dist/core/components/profile/AddressesList.js +4 -0
- package/dist/core/components/profile/AddressesList.js.map +1 -0
- package/dist/core/components/profile/AvatarUpload.d.ts +1 -0
- package/dist/core/components/profile/AvatarUpload.js +4 -0
- package/dist/core/components/profile/AvatarUpload.js.map +1 -0
- package/dist/core/components/profile/RecipientsList.d.ts +1 -0
- package/dist/core/components/profile/RecipientsList.js +4 -0
- package/dist/core/components/profile/RecipientsList.js.map +1 -0
- package/dist/core/components/reviews/ProductReviews.d.ts +1 -0
- package/dist/core/components/reviews/ProductReviews.js +4 -0
- package/dist/core/components/reviews/ProductReviews.js.map +1 -0
- package/dist/core/components/reviews/StarRating.d.ts +1 -0
- package/dist/core/components/reviews/StarRating.js +4 -0
- package/dist/core/components/reviews/StarRating.js.map +1 -0
- package/dist/core/hooks/use-toast.d.ts +2 -0
- package/dist/core/hooks/use-toast.js +4 -0
- package/dist/core/hooks/use-toast.js.map +1 -0
- package/dist/core/hooks/useAddressBook.d.ts +32 -0
- package/dist/core/hooks/useAddressBook.js +27 -0
- package/dist/core/hooks/useAddressBook.js.map +1 -0
- package/dist/core/hooks/useAuth.d.ts +21 -0
- package/dist/core/hooks/useAuth.js +6 -0
- package/dist/core/hooks/useAuth.js.map +1 -0
- package/dist/core/hooks/useBanners.d.ts +14 -0
- package/dist/core/hooks/useBanners.js +5 -0
- package/dist/core/hooks/useBanners.js.map +1 -0
- package/dist/core/hooks/useCart.d.ts +2 -0
- package/dist/core/hooks/useCart.js +4 -0
- package/dist/core/hooks/useCart.js.map +1 -0
- package/dist/core/hooks/useDiscountedPrice.d.ts +24 -0
- package/dist/core/hooks/useDiscountedPrice.js +5 -0
- package/dist/core/hooks/useDiscountedPrice.js.map +1 -0
- package/dist/core/hooks/usePriceType.d.ts +11 -0
- package/dist/core/hooks/usePriceType.js +8 -0
- package/dist/core/hooks/usePriceType.js.map +1 -0
- package/dist/core/hooks/useProductReviews.d.ts +36 -0
- package/dist/core/hooks/useProductReviews.js +9 -0
- package/dist/core/hooks/useProductReviews.js.map +1 -0
- package/dist/core/hooks/useProductsWithStock.d.ts +2 -0
- package/dist/core/hooks/useProductsWithStock.js +4 -0
- package/dist/core/hooks/useProductsWithStock.js.map +1 -0
- package/dist/core/hooks/useRecipientBook.d.ts +27 -0
- package/dist/core/hooks/useRecipientBook.js +27 -0
- package/dist/core/hooks/useRecipientBook.js.map +1 -0
- package/dist/core/hooks/useShippingDirectory.d.ts +23 -0
- package/dist/core/hooks/useShippingDirectory.js +40 -0
- package/dist/core/hooks/useShippingDirectory.js.map +1 -0
- package/dist/core/hooks/useStock.d.ts +20 -0
- package/dist/core/hooks/useStock.js +5 -0
- package/dist/core/hooks/useStock.js.map +1 -0
- package/dist/core/index.d.ts +39 -0
- package/dist/core/index.js +41 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/lib/auth-client.d.ts +18 -0
- package/dist/core/lib/auth-client.js +4 -0
- package/dist/core/lib/auth-client.js.map +1 -0
- package/dist/core/lib/auth-session.d.ts +14 -0
- package/dist/core/lib/auth-session.js +4 -0
- package/dist/core/lib/auth-session.js.map +1 -0
- package/dist/core/lib/banners.d.ts +18 -0
- package/dist/core/lib/banners.js +4 -0
- package/dist/core/lib/banners.js.map +1 -0
- package/dist/core/lib/discounts.d.ts +30 -0
- package/dist/core/lib/discounts.js +4 -0
- package/dist/core/lib/discounts.js.map +1 -0
- package/dist/core/lib/price-type.d.ts +19 -0
- package/dist/core/lib/price-type.js +4 -0
- package/dist/core/lib/price-type.js.map +1 -0
- package/dist/core/lib/review-form.d.ts +20 -0
- package/dist/core/lib/review-form.js +4 -0
- package/dist/core/lib/review-form.js.map +1 -0
- package/dist/core/lib/reviews.d.ts +28 -0
- package/dist/core/lib/reviews.js +4 -0
- package/dist/core/lib/reviews.js.map +1 -0
- package/dist/core/lib/section-filters.d.ts +17 -0
- package/dist/core/lib/section-filters.js +13 -0
- package/dist/core/lib/section-filters.js.map +1 -0
- package/dist/core/lib/shipping-directory.d.ts +24 -0
- package/dist/core/lib/shipping-directory.js +4 -0
- package/dist/core/lib/shipping-directory.js.map +1 -0
- package/dist/core/lib/stock.d.ts +19 -0
- package/dist/core/lib/stock.js +4 -0
- package/dist/core/lib/stock.js.map +1 -0
- package/dist/core/lib/user-addresses.d.ts +30 -0
- package/dist/core/lib/user-addresses.js +4 -0
- package/dist/core/lib/user-addresses.js.map +1 -0
- package/dist/core/lib/user-recipients.d.ts +30 -0
- package/dist/core/lib/user-recipients.js +4 -0
- package/dist/core/lib/user-recipients.js.map +1 -0
- package/dist/core/providers/CMSProvider.d.ts +9 -0
- package/dist/core/providers/CMSProvider.js +8 -0
- package/dist/core/providers/CMSProvider.js.map +1 -0
- package/dist/data-supabase/catalogRepository.d.ts +3 -0
- package/dist/data-supabase/identityProvider.d.ts +3 -0
- package/dist/data-supabase/index.d.ts +5 -0
- package/dist/data-supabase/index.js +497 -0
- package/dist/data-supabase/index.js.map +1 -0
- package/dist/data-supabase/mappers.d.ts +17 -0
- package/dist/data-supabase/orderRepository.d.ts +3 -0
- package/dist/data-supabase/scope.d.ts +7 -0
- package/dist/db/actor.d.ts +57 -0
- package/dist/db/client.d.ts +46 -0
- package/dist/db/index.d.ts +12 -0
- package/dist/db/index.js +88 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/with-actor.d.ts +37 -0
- package/dist/domain/discounts.d.ts +3 -0
- package/dist/domain/discounts.js +4 -0
- package/dist/domain/discounts.js.map +1 -0
- package/dist/domain/index.d.ts +6 -0
- package/dist/domain/index.js +9 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/inventory.d.ts +13 -0
- package/dist/domain/inventory.js +4 -0
- package/dist/domain/inventory.js.map +1 -0
- package/dist/domain/money.d.ts +30 -0
- package/dist/domain/money.js +4 -0
- package/dist/domain/money.js.map +1 -0
- package/dist/domain/pricing.d.ts +7 -0
- package/dist/domain/pricing.js +4 -0
- package/dist/domain/pricing.js.map +1 -0
- package/dist/domain/shipping.d.ts +68 -0
- package/dist/domain/shipping.js +5 -0
- package/dist/domain/shipping.js.map +1 -0
- package/dist/domain/user-categories/conditions.d.ts +14 -0
- package/dist/domain/user-categories/engine.d.ts +13 -0
- package/dist/domain/user-categories/index.d.ts +2 -0
- package/dist/domain/user-categories/index.js +4 -0
- package/dist/domain/user-categories/index.js.map +1 -0
- package/dist/domain/user-categories/types.d.ts +50 -0
- package/dist/i18n/I18nProvider.d.ts +23 -0
- package/dist/i18n/catalogs/en/admin/banners.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/common.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/dashboard.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/discounts.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/index.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/nav.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/orders.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/plugins.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/prices.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/products.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/properties.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/reviews.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/sections.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/settings.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/shipping.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/themes.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/users.d.ts +3 -0
- package/dist/i18n/catalogs/en/admin/validator.d.ts +3 -0
- package/dist/i18n/catalogs/en/app.d.ts +14 -0
- package/dist/i18n/catalogs/en/auth.d.ts +3 -0
- package/dist/i18n/catalogs/en/breadcrumbs.d.ts +3 -0
- package/dist/i18n/catalogs/en/cart.d.ts +3 -0
- package/dist/i18n/catalogs/en/catalog.d.ts +3 -0
- package/dist/i18n/catalogs/en/checkout.d.ts +3 -0
- package/dist/i18n/catalogs/en/common.d.ts +3 -0
- package/dist/i18n/catalogs/en/home.d.ts +3 -0
- package/dist/i18n/catalogs/en/index.d.ts +12 -0
- package/dist/i18n/catalogs/en/nav.d.ts +3 -0
- package/dist/i18n/catalogs/en/product.d.ts +3 -0
- package/dist/i18n/catalogs/en/profile.d.ts +3 -0
- package/dist/i18n/catalogs/en/properties.d.ts +3 -0
- package/dist/i18n/catalogs/en/reviews.d.ts +3 -0
- package/dist/i18n/catalogs/en/validation.d.ts +3 -0
- package/dist/i18n/catalogs/uk/admin/banners.d.ts +57 -0
- package/dist/i18n/catalogs/uk/admin/common.d.ts +16 -0
- package/dist/i18n/catalogs/uk/admin/dashboard.d.ts +18 -0
- package/dist/i18n/catalogs/uk/admin/discounts.d.ts +67 -0
- package/dist/i18n/catalogs/uk/admin/index.d.ts +710 -0
- package/dist/i18n/catalogs/uk/admin/nav.d.ts +32 -0
- package/dist/i18n/catalogs/uk/admin/orders.d.ts +67 -0
- package/dist/i18n/catalogs/uk/admin/plugins.d.ts +53 -0
- package/dist/i18n/catalogs/uk/admin/prices.d.ts +16 -0
- package/dist/i18n/catalogs/uk/admin/products.d.ts +74 -0
- package/dist/i18n/catalogs/uk/admin/properties.d.ts +63 -0
- package/dist/i18n/catalogs/uk/admin/reviews.d.ts +24 -0
- package/dist/i18n/catalogs/uk/admin/sections.d.ts +18 -0
- package/dist/i18n/catalogs/uk/admin/settings.d.ts +11 -0
- package/dist/i18n/catalogs/uk/admin/shipping.d.ts +96 -0
- package/dist/i18n/catalogs/uk/admin/themes.d.ts +21 -0
- package/dist/i18n/catalogs/uk/admin/users.d.ts +96 -0
- package/dist/i18n/catalogs/uk/admin/validator.d.ts +30 -0
- package/dist/i18n/catalogs/uk/app.d.ts +15 -0
- package/dist/i18n/catalogs/uk/auth.d.ts +51 -0
- package/dist/i18n/catalogs/uk/breadcrumbs.d.ts +4 -0
- package/dist/i18n/catalogs/uk/cart.d.ts +21 -0
- package/dist/i18n/catalogs/uk/catalog.d.ts +22 -0
- package/dist/i18n/catalogs/uk/checkout.d.ts +96 -0
- package/dist/i18n/catalogs/uk/common.d.ts +83 -0
- package/dist/i18n/catalogs/uk/home.d.ts +5 -0
- package/dist/i18n/catalogs/uk/index.d.ts +1139 -0
- package/dist/i18n/catalogs/uk/nav.d.ts +7 -0
- package/dist/i18n/catalogs/uk/product.d.ts +25 -0
- package/dist/i18n/catalogs/uk/profile.d.ts +87 -0
- package/dist/i18n/catalogs/uk/properties.d.ts +16 -0
- package/dist/i18n/catalogs/uk/reviews.d.ts +26 -0
- package/dist/i18n/catalogs/uk/validation.d.ts +33 -0
- package/dist/i18n/index.d.ts +3 -0
- package/dist/i18n/index.js +2779 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/translator.d.ts +19 -0
- package/dist/i18n/types.d.ts +14 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin-sdk/definePlugin.d.ts +9 -0
- package/dist/plugin-sdk/index.d.ts +6 -0
- package/dist/plugin-sdk/index.js +266 -0
- package/dist/plugin-sdk/index.js.map +1 -0
- package/dist/plugin-sdk/server/config-db.d.ts +22 -0
- package/dist/plugin-sdk/server/guard.d.ts +17 -0
- package/dist/plugin-sdk/server/index.d.ts +42 -0
- package/dist/plugin-sdk/server/index.js +191 -0
- package/dist/plugin-sdk/server/index.js.map +1 -0
- package/dist/plugin-sdk/server/table-db.d.ts +36 -0
- package/dist/plugin-sdk/types.d.ts +66 -0
- package/dist/plugin-sdk/usePluginConfig.d.ts +22 -0
- package/dist/plugin-sdk/usePluginT.d.ts +19 -0
- package/dist/plugin-sdk/usePluginTable.d.ts +12 -0
- package/dist/plugins/HookRegistry.d.ts +29 -0
- package/dist/plugins/PluginLoader.d.ts +19 -0
- package/dist/plugins/PluginSlot.d.ts +21 -0
- package/dist/plugins/PluginSlot.js +5 -0
- package/dist/plugins/PluginSlot.js.map +1 -0
- package/dist/plugins/adminLifecycle.d.ts +27 -0
- package/dist/plugins/bootstrap.d.ts +16 -0
- package/dist/plugins/bootstrap.js +5 -0
- package/dist/plugins/bootstrap.js.map +1 -0
- package/dist/plugins/hooks.d.ts +67 -0
- package/dist/plugins/index.d.ts +12 -0
- package/dist/plugins/index.js +171 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/pluginRepository.d.ts +19 -0
- package/dist/plugins/server/index.d.ts +25 -0
- package/dist/plugins/server/index.js +95 -0
- package/dist/plugins/server/index.js.map +1 -0
- package/dist/plugins/server/registry-db.d.ts +19 -0
- package/dist/plugins/types.d.ts +126 -0
- package/dist/plugins/types.js +4 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/plugins/validatePluginModule.d.ts +13 -0
- package/dist/profile-ui/AddressesList.d.ts +9 -0
- package/dist/profile-ui/AddressesList.js +4 -0
- package/dist/profile-ui/AddressesList.js.map +1 -0
- package/dist/profile-ui/AvatarUpload.d.ts +28 -0
- package/dist/profile-ui/AvatarUpload.js +4 -0
- package/dist/profile-ui/AvatarUpload.js.map +1 -0
- package/dist/profile-ui/RecipientsList.d.ts +9 -0
- package/dist/profile-ui/RecipientsList.js +4 -0
- package/dist/profile-ui/RecipientsList.js.map +1 -0
- package/dist/profile-ui/index.d.ts +3 -0
- package/dist/profile-ui/index.js +6 -0
- package/dist/profile-ui/index.js.map +1 -0
- package/dist/react-query/EngineProvider.d.ts +9 -0
- package/dist/react-query/hooks.d.ts +8 -0
- package/dist/react-query/index.d.ts +7 -0
- package/dist/react-query/index.js +173 -0
- package/dist/react-query/index.js.map +1 -0
- package/dist/react-query/queries.d.ts +31 -0
- package/dist/react-query/queries.js +4 -0
- package/dist/react-query/queries.js.map +1 -0
- package/dist/react-query/useCart.d.ts +32 -0
- package/dist/react-query/useFormatPrice.d.ts +12 -0
- package/dist/reviews-ui/ProductReviews.d.ts +18 -0
- package/dist/reviews-ui/ProductReviews.js +7 -0
- package/dist/reviews-ui/ProductReviews.js.map +1 -0
- package/dist/reviews-ui/ReviewCard.d.ts +7 -0
- package/dist/reviews-ui/ReviewCard.js +5 -0
- package/dist/reviews-ui/ReviewCard.js.map +1 -0
- package/dist/reviews-ui/ReviewForm.d.ts +25 -0
- package/dist/reviews-ui/ReviewForm.js +5 -0
- package/dist/reviews-ui/ReviewForm.js.map +1 -0
- package/dist/reviews-ui/ReviewRichTextEditor.d.ts +8 -0
- package/dist/reviews-ui/ReviewRichTextEditor.js +4 -0
- package/dist/reviews-ui/ReviewRichTextEditor.js.map +1 -0
- package/dist/reviews-ui/StarRating.d.ts +8 -0
- package/dist/reviews-ui/StarRating.js +4 -0
- package/dist/reviews-ui/StarRating.js.map +1 -0
- package/dist/reviews-ui/index.d.ts +5 -0
- package/dist/reviews-ui/index.js +8 -0
- package/dist/reviews-ui/index.js.map +1 -0
- package/dist/runtime/config.d.ts +42 -0
- package/dist/runtime/index.d.ts +36 -0
- package/dist/runtime/index.js +36 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/schema/auth.d.ts +623 -0
- package/dist/schema/index.d.ts +17 -0
- package/dist/schema/media.d.ts +143 -0
- package/dist/schema/relations.d.ts +202 -0
- package/dist/schema/relations.js +1494 -0
- package/dist/schema/relations.js.map +1 -0
- package/dist/schema/schema.d.ts +7224 -0
- package/dist/schema/schema.js +1085 -0
- package/dist/schema/schema.js.map +1 -0
- package/dist/schema/types.d.ts +74 -0
- package/dist/schema/types.js +3 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/storefront/client.d.ts +7 -0
- package/dist/storefront/index.d.ts +3 -0
- package/dist/storefront/index.js +5 -0
- package/dist/storefront/index.js.map +1 -0
- package/dist/storefront/loaders/addresses.d.ts +47 -0
- package/dist/storefront/loaders/banners.d.ts +19 -0
- package/dist/storefront/loaders/catalog-filters.d.ts +56 -0
- package/dist/storefront/loaders/catalog-products.d.ts +27 -0
- package/dist/storefront/loaders/categories.d.ts +19 -0
- package/dist/storefront/loaders/db.d.ts +42 -0
- package/dist/storefront/loaders/discounts.d.ts +15 -0
- package/dist/storefront/loaders/entities/banner.d.ts +449 -0
- package/dist/storefront/loaders/entities/catalog-product.d.ts +135 -0
- package/dist/storefront/loaders/entities/discount.d.ts +17 -0
- package/dist/storefront/loaders/entities/home-product.d.ts +130 -0
- package/dist/storefront/loaders/entities/modification.d.ts +259 -0
- package/dist/storefront/loaders/entities/order.d.ts +616 -0
- package/dist/storefront/loaders/entities/price.d.ts +108 -0
- package/dist/storefront/loaders/entities/product.d.ts +313 -0
- package/dist/storefront/loaders/entities/property.d.ts +414 -0
- package/dist/storefront/loaders/entities/section.d.ts +293 -0
- package/dist/storefront/loaders/home-sections.d.ts +20 -0
- package/dist/storefront/loaders/home.d.ts +31 -0
- package/dist/storefront/loaders/index.d.ts +48 -0
- package/dist/storefront/loaders/index.js +4 -0
- package/dist/storefront/loaders/index.js.map +1 -0
- package/dist/storefront/loaders/modification-values.d.ts +23 -0
- package/dist/storefront/loaders/order-create.d.ts +52 -0
- package/dist/storefront/loaders/order-statuses.d.ts +8 -0
- package/dist/storefront/loaders/orders.d.ts +27 -0
- package/dist/storefront/loaders/pickup-points.d.ts +6 -0
- package/dist/storefront/loaders/pricing.d.ts +10 -0
- package/dist/storefront/loaders/product-detail.d.ts +22 -0
- package/dist/storefront/loaders/products.d.ts +38 -0
- package/dist/storefront/loaders/profile.d.ts +37 -0
- package/dist/storefront/loaders/properties.d.ts +16 -0
- package/dist/storefront/loaders/property-option.d.ts +18 -0
- package/dist/storefront/loaders/property-values.d.ts +256 -0
- package/dist/storefront/loaders/recipients.d.ts +52 -0
- package/dist/storefront/loaders/reviews-write.d.ts +26 -0
- package/dist/storefront/loaders/reviews.d.ts +57 -0
- package/dist/storefront/loaders/sections.d.ts +13 -0
- package/dist/storefront/loaders/session.d.ts +28 -0
- package/dist/storefront/loaders/shipping.d.ts +57 -0
- package/dist/storefront/loaders/sitemap.d.ts +38 -0
- package/dist/storefront/loaders/stock-info.d.ts +38 -0
- package/dist/storefront/loaders/stock.d.ts +24 -0
- package/dist/storefront/seo/index.d.ts +2 -0
- package/dist/storefront/seo/index.js +4 -0
- package/dist/storefront/seo/index.js.map +1 -0
- package/dist/storefront/seo/robots.d.ts +2 -0
- package/dist/storefront/seo/sitemap.d.ts +11 -0
- package/dist/storefront-routes/active-theme.d.ts +14 -0
- package/dist/storefront-routes/active-theme.js +13 -0
- package/dist/storefront-routes/active-theme.js.map +1 -0
- package/dist/storefront-routes/components/BannerSlider.d.ts +8 -0
- package/dist/storefront-routes/components/BannerSlider.js +3 -0
- package/dist/storefront-routes/components/BannerSlider.js.map +1 -0
- package/dist/storefront-routes/components/ProductCarousel.d.ts +20 -0
- package/dist/storefront-routes/components/ProductCarousel.js +3 -0
- package/dist/storefront-routes/components/ProductCarousel.js.map +1 -0
- package/dist/storefront-routes/components/SetPasswordForm.d.ts +8 -0
- package/dist/storefront-routes/components/SetPasswordForm.js +3 -0
- package/dist/storefront-routes/components/SetPasswordForm.js.map +1 -0
- package/dist/storefront-routes/components/SsrProductGrid.d.ts +12 -0
- package/dist/storefront-routes/components/SsrProductGrid.js +3 -0
- package/dist/storefront-routes/components/SsrProductGrid.js.map +1 -0
- package/dist/storefront-routes/index.d.ts +6 -0
- package/dist/storefront-routes/index.js +14 -0
- package/dist/storefront-routes/index.js.map +1 -0
- package/dist/storefront-routes/pages/Auth.d.ts +2 -0
- package/dist/storefront-routes/pages/Auth.js +400 -0
- package/dist/storefront-routes/pages/Auth.js.map +1 -0
- package/dist/storefront-routes/pages/AuthInvite.d.ts +1 -0
- package/dist/storefront-routes/pages/AuthInvite.js +56 -0
- package/dist/storefront-routes/pages/AuthInvite.js.map +1 -0
- package/dist/storefront-routes/pages/AuthSetPassword.d.ts +12 -0
- package/dist/storefront-routes/pages/AuthSetPassword.js +40 -0
- package/dist/storefront-routes/pages/AuthSetPassword.js.map +1 -0
- package/dist/storefront-routes/pages/Cart.d.ts +5 -0
- package/dist/storefront-routes/pages/Cart.js +42 -0
- package/dist/storefront-routes/pages/Cart.js.map +1 -0
- package/dist/storefront-routes/pages/Catalog.d.ts +12 -0
- package/dist/storefront-routes/pages/Catalog.js +40 -0
- package/dist/storefront-routes/pages/Catalog.js.map +1 -0
- package/dist/storefront-routes/pages/CatalogSection.d.ts +13 -0
- package/dist/storefront-routes/pages/CatalogSection.js +65 -0
- package/dist/storefront-routes/pages/CatalogSection.js.map +1 -0
- package/dist/storefront-routes/pages/Checkout.d.ts +1 -0
- package/dist/storefront-routes/pages/Checkout.js +281 -0
- package/dist/storefront-routes/pages/Checkout.js.map +1 -0
- package/dist/storefront-routes/pages/Home.d.ts +15 -0
- package/dist/storefront-routes/pages/Home.js +10 -0
- package/dist/storefront-routes/pages/Home.js.map +1 -0
- package/dist/storefront-routes/pages/OrderSuccess.d.ts +1 -0
- package/dist/storefront-routes/pages/OrderSuccess.js +186 -0
- package/dist/storefront-routes/pages/OrderSuccess.js.map +1 -0
- package/dist/storefront-routes/pages/ProductDetail.d.ts +11 -0
- package/dist/storefront-routes/pages/ProductDetail.js +475 -0
- package/dist/storefront-routes/pages/ProductDetail.js.map +1 -0
- package/dist/storefront-routes/pages/Profile.d.ts +1 -0
- package/dist/storefront-routes/pages/Profile.js +133 -0
- package/dist/storefront-routes/pages/Profile.js.map +1 -0
- package/dist/storefront-routes/pages/ProfileOrderDetail.d.ts +1 -0
- package/dist/storefront-routes/pages/ProfileOrderDetail.js +280 -0
- package/dist/storefront-routes/pages/ProfileOrderDetail.js.map +1 -0
- package/dist/storefront-routes/pages/ProfileOrders.d.ts +1 -0
- package/dist/storefront-routes/pages/ProfileOrders.js +131 -0
- package/dist/storefront-routes/pages/ProfileOrders.js.map +1 -0
- package/dist/storefront-routes/pages/ProfileSettings.d.ts +1 -0
- package/dist/storefront-routes/pages/ProfileSettings.js +344 -0
- package/dist/storefront-routes/pages/ProfileSettings.js.map +1 -0
- package/dist/storefront-routes/pages/Properties.d.ts +5 -0
- package/dist/storefront-routes/pages/Properties.js +53 -0
- package/dist/storefront-routes/pages/Properties.js.map +1 -0
- package/dist/storefront-routes/pages/PropertyDetail.d.ts +6 -0
- package/dist/storefront-routes/pages/PropertyDetail.js +78 -0
- package/dist/storefront-routes/pages/PropertyDetail.js.map +1 -0
- package/dist/storefront-routes/pages/PropertyPage.d.ts +7 -0
- package/dist/storefront-routes/pages/PropertyPage.js +131 -0
- package/dist/storefront-routes/pages/PropertyPage.js.map +1 -0
- package/dist/storefront-routes/pages/cart/breadcrumbs.d.ts +4 -0
- package/dist/storefront-routes/pages/cart/slots.d.ts +2 -0
- package/dist/storefront-routes/pages/catalog/active-filter-chips.d.ts +20 -0
- package/dist/storefront-routes/pages/catalog/breadcrumbs.d.ts +6 -0
- package/dist/storefront-routes/pages/catalog/filter-predicates.d.ts +21 -0
- package/dist/storefront-routes/pages/catalog/filtering.d.ts +25 -0
- package/dist/storefront-routes/pages/catalog/slot-context.d.ts +34 -0
- package/dist/storefront-routes/pages/catalog/slots.d.ts +3 -0
- package/dist/storefront-routes/pages/catalog/types.d.ts +33 -0
- package/dist/storefront-routes/pages/catalog/useActiveFilters.d.ts +17 -0
- package/dist/storefront-routes/pages/catalog/useCatalogController.d.ts +19 -0
- package/dist/storefront-routes/pages/catalog/useCatalogProductsQuery.d.ts +18 -0
- package/dist/storefront-routes/pages/catalog/useCatalogQueries.d.ts +17 -0
- package/dist/storefront-routes/pages/catalog/usePricedProducts.d.ts +38 -0
- package/dist/storefront-routes/pages/home/SectionProductCarousel.d.ts +11 -0
- package/dist/storefront-routes/pages/home/queries.d.ts +26 -0
- package/dist/storefront-routes/pages/home/slot-context.d.ts +26 -0
- package/dist/storefront-routes/pages/home/slots.d.ts +3 -0
- package/dist/storefront-routes/pages/home/toCardViewModel.d.ts +9 -0
- package/dist/storefront-routes/pages/home/types.d.ts +18 -0
- package/dist/storefront-routes/pages/product-detail/breadcrumbs.d.ts +10 -0
- package/dist/storefront-routes/pages/product-detail/cart-item.d.ts +18 -0
- package/dist/storefront-routes/pages/product-detail/pricing.d.ts +20 -0
- package/dist/storefront-routes/pages/product-detail/slot-context.d.ts +39 -0
- package/dist/storefront-routes/pages/product-detail/slots.d.ts +3 -0
- package/dist/storefront-routes/pages/product-detail/types.d.ts +51 -0
- package/dist/storefront-routes/pages/product-detail/useModificationData.d.ts +18 -0
- package/dist/storefront-routes/pages/product-detail/useModificationSelection.d.ts +12 -0
- package/dist/storefront-routes/pages/product-detail/useProductContent.d.ts +15 -0
- package/dist/storefront-routes/pages/product-detail/useProductPricing.d.ts +14 -0
- package/dist/storefront-routes/pages/product-detail/useProductQuery.d.ts +10 -0
- package/dist/storefront-routes/seo/interceptor.d.ts +28 -0
- package/dist/storefront-routes/seo/interceptor.js +45 -0
- package/dist/storefront-routes/seo/interceptor.js.map +1 -0
- package/dist/storefront-routes/seo/robots.d.ts +2 -0
- package/dist/storefront-routes/seo/robots.js +13 -0
- package/dist/storefront-routes/seo/robots.js.map +1 -0
- package/dist/storefront-routes/seo/sitemap.d.ts +7 -0
- package/dist/storefront-routes/seo/sitemap.js +17 -0
- package/dist/storefront-routes/seo/sitemap.js.map +1 -0
- package/dist/storefront-routes/server/auth.d.ts +24 -0
- package/dist/storefront-routes/server/auth.js +24 -0
- package/dist/storefront-routes/server/auth.js.map +1 -0
- package/dist/storefront-routes/server/catalog.d.ts +50 -0
- package/dist/storefront-routes/server/catalog.js +4 -0
- package/dist/storefront-routes/server/catalog.js.map +1 -0
- package/dist/storefront-routes/server/checkout-input.d.ts +67 -0
- package/dist/storefront-routes/server/checkout-input.js +3 -0
- package/dist/storefront-routes/server/checkout-input.js.map +1 -0
- package/dist/storefront-routes/server/checkout.d.ts +51 -0
- package/dist/storefront-routes/server/checkout.js +4 -0
- package/dist/storefront-routes/server/checkout.js.map +1 -0
- package/dist/storefront-routes/server/home.d.ts +21 -0
- package/dist/storefront-routes/server/home.js +3 -0
- package/dist/storefront-routes/server/home.js.map +1 -0
- package/dist/storefront-routes/server/invite.d.ts +11 -0
- package/dist/storefront-routes/server/invite.js +3 -0
- package/dist/storefront-routes/server/invite.js.map +1 -0
- package/dist/storefront-routes/server/is-admin.d.ts +22 -0
- package/dist/storefront-routes/server/is-admin.js +3 -0
- package/dist/storefront-routes/server/is-admin.js.map +1 -0
- package/dist/storefront-routes/server/order-view.d.ts +18 -0
- package/dist/storefront-routes/server/order-view.js +3 -0
- package/dist/storefront-routes/server/order-view.js.map +1 -0
- package/dist/storefront-routes/server/product-list-item.d.ts +33 -0
- package/dist/storefront-routes/server/product-list-item.js +3 -0
- package/dist/storefront-routes/server/product-list-item.js.map +1 -0
- package/dist/storefront-routes/server/products.d.ts +23 -0
- package/dist/storefront-routes/server/products.js +3 -0
- package/dist/storefront-routes/server/products.js.map +1 -0
- package/dist/storefront-routes/server/profile-orders.d.ts +41 -0
- package/dist/storefront-routes/server/profile-orders.js +3 -0
- package/dist/storefront-routes/server/profile-orders.js.map +1 -0
- package/dist/storefront-routes/server/profile.d.ts +23 -0
- package/dist/storefront-routes/server/profile.js +3 -0
- package/dist/storefront-routes/server/profile.js.map +1 -0
- package/dist/storefront-routes/server/properties.d.ts +12 -0
- package/dist/storefront-routes/server/properties.js +3 -0
- package/dist/storefront-routes/server/properties.js.map +1 -0
- package/dist/storefront-routes/server/revalidate-theme.d.ts +13 -0
- package/dist/storefront-routes/server/revalidate-theme.js +15 -0
- package/dist/storefront-routes/server/revalidate-theme.js.map +1 -0
- package/dist/storefront-routes/server/theme-record.d.ts +32 -0
- package/dist/storefront-routes/server/theme-record.js +3 -0
- package/dist/storefront-routes/server/theme-record.js.map +1 -0
- package/dist/storefront-routes/server/themes.d.ts +9 -0
- package/dist/storefront-routes/server/themes.js +10 -0
- package/dist/storefront-routes/server/themes.js.map +1 -0
- package/dist/storefront-routes/shells/ProtectedShell.d.ts +10 -0
- package/dist/storefront-routes/shells/ProtectedShell.js +6 -0
- package/dist/storefront-routes/shells/ProtectedShell.js.map +1 -0
- package/dist/storefront-routes/shells/StorefrontShell.d.ts +10 -0
- package/dist/storefront-routes/shells/StorefrontShell.js +6 -0
- package/dist/storefront-routes/shells/StorefrontShell.js.map +1 -0
- package/dist/storefront-routes/shells/ThemeFonts.d.ts +18 -0
- package/dist/storefront-routes/shells/ThemeFonts.js +3 -0
- package/dist/storefront-routes/shells/ThemeFonts.js.map +1 -0
- package/dist/storefront-routes/shells/ThemeTokens.d.ts +12 -0
- package/dist/storefront-routes/shells/ThemeTokens.js +3 -0
- package/dist/storefront-routes/shells/ThemeTokens.js.map +1 -0
- package/dist/storefront-routes/shells/useActiveThemeModule.d.ts +9 -0
- package/dist/storefront-routes/shells/useActiveThemeModule.js +3 -0
- package/dist/storefront-routes/shells/useActiveThemeModule.js.map +1 -0
- package/dist/storefront-routes/views/CartView.d.ts +10 -0
- package/dist/storefront-routes/views/CartView.js +4 -0
- package/dist/storefront-routes/views/CartView.js.map +1 -0
- package/dist/storefront-routes/views/CatalogLayout.d.ts +16 -0
- package/dist/storefront-routes/views/CatalogLayout.js +4 -0
- package/dist/storefront-routes/views/CatalogLayout.js.map +1 -0
- package/dist/storefront-routes/views/CatalogSectionView.d.ts +7 -0
- package/dist/storefront-routes/views/CatalogSectionView.js +6 -0
- package/dist/storefront-routes/views/CatalogSectionView.js.map +1 -0
- package/dist/storefront-routes/views/CatalogToolbar.d.ts +9 -0
- package/dist/storefront-routes/views/CatalogToolbar.js +3 -0
- package/dist/storefront-routes/views/CatalogToolbar.js.map +1 -0
- package/dist/storefront-routes/views/CatalogView.d.ts +9 -0
- package/dist/storefront-routes/views/CatalogView.js +6 -0
- package/dist/storefront-routes/views/CatalogView.js.map +1 -0
- package/dist/storefront-routes/views/HomeView.d.ts +14 -0
- package/dist/storefront-routes/views/HomeView.js +6 -0
- package/dist/storefront-routes/views/HomeView.js.map +1 -0
- package/dist/storefront-routes/views/ProductDetailInfo.d.ts +9 -0
- package/dist/storefront-routes/views/ProductDetailInfo.js +3 -0
- package/dist/storefront-routes/views/ProductDetailInfo.js.map +1 -0
- package/dist/storefront-routes/views/ProductDetailSections.d.ts +10 -0
- package/dist/storefront-routes/views/ProductDetailSections.js +3 -0
- package/dist/storefront-routes/views/ProductDetailSections.js.map +1 -0
- package/dist/storefront-routes/views/ProductDetailView.d.ts +10 -0
- package/dist/storefront-routes/views/ProductDetailView.js +6 -0
- package/dist/storefront-routes/views/ProductDetailView.js.map +1 -0
- package/dist/storefront-routes/views/StorefrontBreadcrumbs.d.ts +9 -0
- package/dist/storefront-routes/views/StorefrontBreadcrumbs.js +3 -0
- package/dist/storefront-routes/views/StorefrontBreadcrumbs.js.map +1 -0
- package/dist/storefront-routes/views/slots/CartSlots.d.ts +15 -0
- package/dist/storefront-routes/views/slots/CartSlots.js +3 -0
- package/dist/storefront-routes/views/slots/CartSlots.js.map +1 -0
- package/dist/storefront-routes/views/slots/CartSummary.d.ts +11 -0
- package/dist/storefront-routes/views/slots/CartSummary.js +3 -0
- package/dist/storefront-routes/views/slots/CartSummary.js.map +1 -0
- package/dist/storefront-routes/views/slots/CatalogFilters.d.ts +11 -0
- package/dist/storefront-routes/views/slots/CatalogFilters.js +3 -0
- package/dist/storefront-routes/views/slots/CatalogFilters.js.map +1 -0
- package/dist/storefront-routes/views/slots/CatalogProductGrid.d.ts +26 -0
- package/dist/storefront-routes/views/slots/CatalogProductGrid.js +4 -0
- package/dist/storefront-routes/views/slots/CatalogProductGrid.js.map +1 -0
- package/dist/storefront-routes/views/slots/CatalogSectionChips.d.ts +24 -0
- package/dist/storefront-routes/views/slots/CatalogSectionChips.js +3 -0
- package/dist/storefront-routes/views/slots/CatalogSectionChips.js.map +1 -0
- package/dist/storefront-routes/views/slots/CatalogToolbarSlots.d.ts +32 -0
- package/dist/storefront-routes/views/slots/CatalogToolbarSlots.js +3 -0
- package/dist/storefront-routes/views/slots/CatalogToolbarSlots.js.map +1 -0
- package/dist/storefront-routes/views/slots/HomeSectionCarousel.d.ts +10 -0
- package/dist/storefront-routes/views/slots/HomeSectionCarousel.js +5 -0
- package/dist/storefront-routes/views/slots/HomeSectionCarousel.js.map +1 -0
- package/dist/storefront-routes/views/slots/ProductAddToCart.d.ts +16 -0
- package/dist/storefront-routes/views/slots/ProductAddToCart.js +3 -0
- package/dist/storefront-routes/views/slots/ProductAddToCart.js.map +1 -0
- package/dist/storefront-routes/views/slots/ProductContentSlots.d.ts +19 -0
- package/dist/storefront-routes/views/slots/ProductContentSlots.js +3 -0
- package/dist/storefront-routes/views/slots/ProductContentSlots.js.map +1 -0
- package/dist/storefront-routes/views/slots/ProductModificationPicker.d.ts +16 -0
- package/dist/storefront-routes/views/slots/ProductModificationPicker.js +3 -0
- package/dist/storefront-routes/views/slots/ProductModificationPicker.js.map +1 -0
- package/dist/storefront-routes/views/slots/ProductPluginSlots.d.ts +16 -0
- package/dist/storefront-routes/views/slots/ProductPluginSlots.js +3 -0
- package/dist/storefront-routes/views/slots/ProductPluginSlots.js.map +1 -0
- package/dist/storefront-routes/views/slots/ProductPriceBlock.d.ts +13 -0
- package/dist/storefront-routes/views/slots/ProductPriceBlock.js +3 -0
- package/dist/storefront-routes/views/slots/ProductPriceBlock.js.map +1 -0
- package/dist/storefront-routes/views/slots/ProductStockBadge.d.ts +14 -0
- package/dist/storefront-routes/views/slots/ProductStockBadge.js +3 -0
- package/dist/storefront-routes/views/slots/ProductStockBadge.js.map +1 -0
- package/dist/storefront-routes/views/useStorefrontViews.d.ts +17 -0
- package/dist/storefront-routes/views/useStorefrontViews.js +4 -0
- package/dist/storefront-routes/views/useStorefrontViews.js.map +1 -0
- package/dist/supabase/SupabaseProvider.d.ts +16 -0
- package/dist/supabase/SupabaseProvider.js +27 -0
- package/dist/supabase/SupabaseProvider.js.map +1 -0
- package/dist/supabase/anon-client.d.ts +73 -0
- package/dist/supabase/anon-client.js +12 -0
- package/dist/supabase/anon-client.js.map +1 -0
- package/dist/supabase/browser-client.d.ts +65 -0
- package/dist/supabase/browser-client.js +5 -0
- package/dist/supabase/browser-client.js.map +1 -0
- package/dist/supabase/database.d.ts +2121 -0
- package/dist/supabase/index.d.ts +4 -0
- package/dist/supabase/index.js +36 -0
- package/dist/supabase/index.js.map +1 -0
- package/dist/supabase/keys.d.ts +24 -0
- package/dist/supabase/keys.js +4 -0
- package/dist/supabase/keys.js.map +1 -0
- package/dist/supabase/server-client.d.ts +76 -0
- package/dist/supabase/server-client.js +28 -0
- package/dist/supabase/server-client.js.map +1 -0
- package/dist/themes/ThemeContext.d.ts +19 -0
- package/dist/themes/ThemeContext.js +7 -0
- package/dist/themes/ThemeContext.js.map +1 -0
- package/dist/themes/ThemeRegistry.d.ts +40 -0
- package/dist/themes/ThemeRegistry.js +5 -0
- package/dist/themes/ThemeRegistry.js.map +1 -0
- package/dist/themes/applyTokens.d.ts +9 -0
- package/dist/themes/applyTokens.js +4 -0
- package/dist/themes/applyTokens.js.map +1 -0
- package/dist/themes/bootstrapThemes.d.ts +23 -0
- package/dist/themes/bootstrapThemes.js +6 -0
- package/dist/themes/bootstrapThemes.js.map +1 -0
- package/dist/themes/conformance/assertThemeViewsConformance.d.ts +41 -0
- package/dist/themes/conformance/boundary.d.ts +24 -0
- package/dist/themes/conformance/cases.d.ts +15 -0
- package/dist/themes/conformance/index.d.ts +2 -0
- package/dist/themes/conformance/index.js +235 -0
- package/dist/themes/conformance/index.js.map +1 -0
- package/dist/themes/conformance/render.d.ts +21 -0
- package/dist/themes/conformance/stubs.d.ts +5 -0
- package/dist/themes/index.d.ts +7 -0
- package/dist/themes/index.js +11 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/safeFontStylesheets.d.ts +16 -0
- package/dist/themes/safeFontStylesheets.js +36 -0
- package/dist/themes/safeFontStylesheets.js.map +1 -0
- package/dist/themes/server/index.d.ts +19 -0
- package/dist/themes/server/index.js +62 -0
- package/dist/themes/server/index.js.map +1 -0
- package/dist/themes/server/registry-db.d.ts +25 -0
- package/dist/themes/theme-context.d.ts +13 -0
- package/dist/themes/theme-settings.d.ts +10 -0
- package/dist/themes/types.d.ts +203 -0
- package/dist/themes/types.js +3 -0
- package/dist/themes/types.js.map +1 -0
- package/dist/themes/useThemeT.d.ts +29 -0
- package/dist/themes/useThemeT.js +8 -0
- package/dist/themes/useThemeT.js.map +1 -0
- package/dist/themes/validateThemeModule.d.ts +10 -0
- package/dist/themes/validateThemeModule.js +4 -0
- package/dist/themes/validateThemeModule.js.map +1 -0
- package/dist/themes/validateThemeViews.d.ts +11 -0
- package/dist/ui/accordion.d.ts +7 -0
- package/dist/ui/accordion.js +4 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/alert-dialog.d.ts +20 -0
- package/dist/ui/alert-dialog.js +5 -0
- package/dist/ui/alert-dialog.js.map +1 -0
- package/dist/ui/alert.d.ts +8 -0
- package/dist/ui/alert.js +4 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/aspect-ratio.d.ts +3 -0
- package/dist/ui/aspect-ratio.js +4 -0
- package/dist/ui/aspect-ratio.js.map +1 -0
- package/dist/ui/avatar.d.ts +6 -0
- package/dist/ui/avatar.js +4 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.d.ts +9 -0
- package/dist/ui/badge.js +4 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/breadcrumb.d.ts +19 -0
- package/dist/ui/breadcrumb.js +4 -0
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button.d.ts +11 -0
- package/dist/ui/button.js +4 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/calendar.d.ts +8 -0
- package/dist/ui/calendar.js +5 -0
- package/dist/ui/calendar.js.map +1 -0
- package/dist/ui/card.d.ts +8 -0
- package/dist/ui/card.js +4 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/carousel.d.ts +18 -0
- package/dist/ui/carousel.js +5 -0
- package/dist/ui/carousel.js.map +1 -0
- package/dist/ui/chart.d.ts +59 -0
- package/dist/ui/chart.js +4 -0
- package/dist/ui/chart.js.map +1 -0
- package/dist/ui/checkbox.d.ts +4 -0
- package/dist/ui/checkbox.js +4 -0
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/collapsible.d.ts +5 -0
- package/dist/ui/collapsible.js +4 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/command.d.ts +82 -0
- package/dist/ui/command.js +5 -0
- package/dist/ui/command.js.map +1 -0
- package/dist/ui/context-menu.d.ts +27 -0
- package/dist/ui/context-menu.js +4 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/dialog.d.ts +19 -0
- package/dist/ui/dialog.js +4 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/drawer.d.ts +22 -0
- package/dist/ui/drawer.js +4 -0
- package/dist/ui/drawer.js.map +1 -0
- package/dist/ui/dropdown-menu.d.ts +27 -0
- package/dist/ui/dropdown-menu.js +4 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/form.d.ts +25 -0
- package/dist/ui/form.js +5 -0
- package/dist/ui/form.js.map +1 -0
- package/dist/ui/hover-card.d.ts +6 -0
- package/dist/ui/hover-card.js +4 -0
- package/dist/ui/hover-card.js.map +1 -0
- package/dist/ui/index.d.ts +52 -0
- package/dist/ui/index.js +54 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/input-otp.d.ts +34 -0
- package/dist/ui/input-otp.js +4 -0
- package/dist/ui/input-otp.js.map +1 -0
- package/dist/ui/input.d.ts +3 -0
- package/dist/ui/input.js +4 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/label.d.ts +5 -0
- package/dist/ui/label.js +4 -0
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/menubar.d.ts +28 -0
- package/dist/ui/menubar.js +4 -0
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/navigation-menu.d.ts +12 -0
- package/dist/ui/navigation-menu.js +4 -0
- package/dist/ui/navigation-menu.js.map +1 -0
- package/dist/ui/pagination.d.ts +28 -0
- package/dist/ui/pagination.js +5 -0
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/popover.d.ts +6 -0
- package/dist/ui/popover.js +4 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/progress.d.ts +4 -0
- package/dist/ui/progress.js +4 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/radio-group.d.ts +5 -0
- package/dist/ui/radio-group.js +4 -0
- package/dist/ui/radio-group.js.map +1 -0
- package/dist/ui/resizable.d.ts +7 -0
- package/dist/ui/resizable.js +4 -0
- package/dist/ui/resizable.js.map +1 -0
- package/dist/ui/scroll-area.d.ts +5 -0
- package/dist/ui/scroll-area.js +4 -0
- package/dist/ui/scroll-area.js.map +1 -0
- package/dist/ui/select.d.ts +13 -0
- package/dist/ui/select.js +4 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/separator.d.ts +4 -0
- package/dist/ui/separator.js +4 -0
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/sheet.d.ts +25 -0
- package/dist/ui/sheet.js +4 -0
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.d.ts +66 -0
- package/dist/ui/sidebar.js +10 -0
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.d.ts +2 -0
- package/dist/ui/skeleton.js +4 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/slider.d.ts +4 -0
- package/dist/ui/slider.js +4 -0
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/sonner.d.ts +4 -0
- package/dist/ui/sonner.js +4 -0
- package/dist/ui/sonner.js.map +1 -0
- package/dist/ui/switch.d.ts +4 -0
- package/dist/ui/switch.js +4 -0
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.d.ts +10 -0
- package/dist/ui/table.js +4 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.d.ts +7 -0
- package/dist/ui/tabs.js +4 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/textarea.d.ts +5 -0
- package/dist/ui/textarea.js +4 -0
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/toast.d.ts +15 -0
- package/dist/ui/toast.js +4 -0
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/toaster.d.ts +1 -0
- package/dist/ui/toaster.js +5 -0
- package/dist/ui/toaster.js.map +1 -0
- package/dist/ui/toggle-group.d.ts +12 -0
- package/dist/ui/toggle-group.js +5 -0
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/ui/toggle.d.ts +12 -0
- package/dist/ui/toggle.js +4 -0
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/tooltip.d.ts +7 -0
- package/dist/ui/tooltip.js +4 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/ui/use-mobile.d.ts +1 -0
- package/dist/ui/use-mobile.js +4 -0
- package/dist/ui/use-mobile.js.map +1 -0
- package/dist/ui/use-toast.d.ts +49 -0
- package/dist/ui/use-toast.js +4 -0
- package/dist/ui/use-toast.js.map +1 -0
- package/dist/ui/utils.d.ts +2 -0
- package/dist/ui/utils.js +4 -0
- package/dist/ui/utils.js.map +1 -0
- package/migrations/0000_prelude.sql +100 -0
- package/migrations/0001_init.sql +790 -0
- package/migrations/0002_grants.sql +190 -0
- package/migrations/0003_seed.sql +74 -0
- package/migrations/README.md +71 -0
- package/migrations/demo/demo-seed.sql +240 -0
- package/package.json +551 -0
- package/routes/admin/.gitkeep +0 -0
- package/routes/admin/admin/banners/$bannerId.tsx +6 -0
- package/routes/admin/admin/banners/index.tsx +6 -0
- package/routes/admin/admin/discounts/$discountId.tsx +9 -0
- package/routes/admin/admin/discounts/groups/$groupId.tsx +9 -0
- package/routes/admin/admin/discounts/index.tsx +6 -0
- package/routes/admin/admin/index.tsx +6 -0
- package/routes/admin/admin/languages/index.tsx +6 -0
- package/routes/admin/admin/order-statuses/index.tsx +6 -0
- package/routes/admin/admin/orders/$orderId.tsx +6 -0
- package/routes/admin/admin/orders/index.tsx +6 -0
- package/routes/admin/admin/plugins/$pluginId/settings.tsx +6 -0
- package/routes/admin/admin/plugins/index.tsx +6 -0
- package/routes/admin/admin/price-types/$priceTypeId.tsx +6 -0
- package/routes/admin/admin/price-types/index.tsx +6 -0
- package/routes/admin/admin/price-validator/index.tsx +6 -0
- package/routes/admin/admin/products/$productId.tsx +6 -0
- package/routes/admin/admin/products/index.tsx +6 -0
- package/routes/admin/admin/properties/$propertyId/index.tsx +6 -0
- package/routes/admin/admin/properties/$propertyId/options/$optionId.tsx +8 -0
- package/routes/admin/admin/properties/index.tsx +6 -0
- package/routes/admin/admin/reviews/$reviewId.tsx +6 -0
- package/routes/admin/admin/reviews/index.tsx +6 -0
- package/routes/admin/admin/sections/$sectionId.tsx +6 -0
- package/routes/admin/admin/sections/index.tsx +6 -0
- package/routes/admin/admin/service-requests/index.tsx +6 -0
- package/routes/admin/admin/services/index.tsx +6 -0
- package/routes/admin/admin/settings/index.tsx +6 -0
- package/routes/admin/admin/shipping/index.tsx +6 -0
- package/routes/admin/admin/shipping/methods/$methodId.tsx +6 -0
- package/routes/admin/admin/shipping/methods/index.tsx +6 -0
- package/routes/admin/admin/shipping/pickup-points/$pointId.tsx +6 -0
- package/routes/admin/admin/shipping/pickup-points/index.tsx +6 -0
- package/routes/admin/admin/shipping/zones/$zoneId.tsx +6 -0
- package/routes/admin/admin/shipping/zones/index.tsx +6 -0
- package/routes/admin/admin/themes/$themeId/settings.tsx +6 -0
- package/routes/admin/admin/themes/index.tsx +6 -0
- package/routes/admin/admin/user-categories/$categoryId.tsx +6 -0
- package/routes/admin/admin/user-categories/index.tsx +6 -0
- package/routes/admin/admin/user-categories/rules/$ruleId.tsx +6 -0
- package/routes/admin/admin/user-categories/rules/index.tsx +6 -0
- package/routes/admin/admin/users/$userId.tsx +6 -0
- package/routes/admin/admin/users/index.tsx +6 -0
- package/routes/admin/admin.tsx +59 -0
- package/routes/storefront/_protected/profile/index.tsx +9 -0
- package/routes/storefront/_protected/profile/orders/$orderId.tsx +9 -0
- package/routes/storefront/_protected/profile/orders/index.tsx +9 -0
- package/routes/storefront/_protected/profile/settings.tsx +9 -0
- package/routes/storefront/_protected.tsx +45 -0
- package/routes/storefront/_storefront/cart.tsx +10 -0
- package/routes/storefront/_storefront/catalog/$sectionSlug/$productSlug.tsx +92 -0
- package/routes/storefront/_storefront/catalog/$sectionSlug/index.tsx +49 -0
- package/routes/storefront/_storefront/catalog/index.tsx +36 -0
- package/routes/storefront/_storefront/checkout.tsx +10 -0
- package/routes/storefront/_storefront/index.tsx +34 -0
- package/routes/storefront/_storefront/order-success/$orderId.tsx +13 -0
- package/routes/storefront/_storefront/properties/$propertySlug/$optionSlug.tsx +45 -0
- package/routes/storefront/_storefront/properties/$propertySlug/index.tsx +32 -0
- package/routes/storefront/_storefront/properties/index.tsx +27 -0
- package/routes/storefront/_storefront.tsx +32 -0
- package/routes/storefront/api/auth/$.tsx +28 -0
- package/routes/storefront/api/guest-order.tsx +102 -0
- package/routes/storefront/api/health.tsx +59 -0
- package/routes/storefront/api/revalidate-theme.tsx +20 -0
- package/routes/storefront/auth/index.tsx +30 -0
- package/routes/storefront/auth/invite.tsx +18 -0
- package/routes/storefront/auth/set-password.tsx +16 -0
- package/skills/redesign-from-reference/SKILL.md +648 -0
- package/skills/redesign-from-reference/scripts/discover.mjs +122 -0
- package/skills/redesign-from-reference/scripts/inspect.mjs +116 -0
- package/skills/redesign-from-reference/scripts/lib/browser-fonts.mjs +83 -0
- package/skills/redesign-from-reference/scripts/lib/browser-hover.mjs +68 -0
- package/skills/redesign-from-reference/scripts/lib/browser-keyframes.mjs +62 -0
- package/skills/redesign-from-reference/scripts/lib/browser-motion.mjs +104 -0
- package/skills/redesign-from-reference/scripts/lib/browser-reveal.mjs +78 -0
- package/skills/redesign-from-reference/scripts/lib/browser-sample.mjs +123 -0
- package/skills/redesign-from-reference/scripts/lib/browser.mjs +145 -0
- package/skills/redesign-from-reference/scripts/lib/classify-pairs.mjs +88 -0
- package/skills/redesign-from-reference/scripts/lib/classify-structure.mjs +109 -0
- package/skills/redesign-from-reference/scripts/lib/classify-terms.mjs +126 -0
- package/skills/redesign-from-reference/scripts/lib/classify.mjs +126 -0
- package/skills/redesign-from-reference/scripts/lib/cli-entry.mjs +22 -0
- package/skills/redesign-from-reference/scripts/lib/cluster.mjs +95 -0
- package/skills/redesign-from-reference/scripts/lib/collect-links.mjs +57 -0
- package/skills/redesign-from-reference/scripts/lib/color-tokens.mjs +135 -0
- package/skills/redesign-from-reference/scripts/lib/color.mjs +150 -0
- package/skills/redesign-from-reference/scripts/lib/contrast.mjs +57 -0
- package/skills/redesign-from-reference/scripts/lib/fonts.mjs +67 -0
- package/skills/redesign-from-reference/scripts/lib/hover-sweep.mjs +150 -0
- package/skills/redesign-from-reference/scripts/lib/inspect-page.mjs +110 -0
- package/skills/redesign-from-reference/scripts/lib/inspection-version.mjs +38 -0
- package/skills/redesign-from-reference/scripts/lib/map.mjs +69 -0
- package/skills/redesign-from-reference/scripts/lib/merge.mjs +150 -0
- package/skills/redesign-from-reference/scripts/lib/motion-detect.mjs +128 -0
- package/skills/redesign-from-reference/scripts/lib/motion.mjs +126 -0
- package/skills/redesign-from-reference/scripts/lib/sample.mjs +66 -0
- package/skills/redesign-from-reference/scripts/lib/sitemap-links.mjs +24 -0
- package/skills/redesign-from-reference/scripts/lib/sitemap.mjs +144 -0
- package/skills/redesign-from-reference/scripts/lib/unmapped.mjs +97 -0
- package/skills/redesign-from-reference/scripts/lib/visit-candidate.mjs +53 -0
- package/skills/redesign-from-reference/scripts/lib/visit-probe.mjs +159 -0
- package/skills/redesign-from-reference/scripts/map-tokens.mjs +142 -0
- package/src/admin/components/AddProductToOrder.tsx +314 -0
- package/src/admin/components/AllProductProperties.tsx +442 -0
- package/src/admin/components/ImageUpload.tsx +295 -0
- package/src/admin/components/ProductModifications.tsx +669 -0
- package/src/admin/components/ProductPricesEditor.tsx +232 -0
- package/src/admin/components/ProductPropertyValues.tsx +475 -0
- package/src/admin/components/RichTextEditor.tsx +326 -0
- package/src/admin/components/SectionPropertiesManager.tsx +380 -0
- package/src/admin/components/SectionPropertiesTable.tsx +312 -0
- package/src/admin/components/SimpleProductFields.tsx +57 -0
- package/src/admin/components/StockByPointManager.tsx +301 -0
- package/src/admin/components/StockStatusSelect.tsx +88 -0
- package/src/admin/components/ThemeActivateDialog.tsx +51 -0
- package/src/admin/components/ThemeCard.tsx +143 -0
- package/src/admin/hooks/usePluginToggle.ts +87 -0
- package/src/admin/hooks/useThemeActivate.ts +73 -0
- package/src/admin/index.ts +59 -0
- package/src/admin/layouts/AdminLayout.tsx +64 -0
- package/src/admin/layouts/AdminSidebar.tsx +356 -0
- package/src/admin/lib/adminLinks.ts +19 -0
- package/src/admin/lib/pluginSettingsFields.ts +40 -0
- package/src/admin/lib/revalidateTheme.ts +57 -0
- package/src/admin/pages/BannerEdit.tsx +664 -0
- package/src/admin/pages/Banners.tsx +201 -0
- package/src/admin/pages/Dashboard.tsx +234 -0
- package/src/admin/pages/DiscountEdit.tsx +872 -0
- package/src/admin/pages/DiscountGroupEdit.tsx +371 -0
- package/src/admin/pages/Discounts.tsx +423 -0
- package/src/admin/pages/OrderDetail.tsx +736 -0
- package/src/admin/pages/OrderStatuses.tsx +537 -0
- package/src/admin/pages/Orders.tsx +126 -0
- package/src/admin/pages/PickupPointEdit.tsx +407 -0
- package/src/admin/pages/PickupPoints.tsx +204 -0
- package/src/admin/pages/PlaceholderPage.tsx +50 -0
- package/src/admin/pages/PluginSettings.tsx +459 -0
- package/src/admin/pages/Plugins.tsx +263 -0
- package/src/admin/pages/PriceTypeEdit.tsx +301 -0
- package/src/admin/pages/PriceTypes.tsx +152 -0
- package/src/admin/pages/PriceValidator.tsx +549 -0
- package/src/admin/pages/ProductEdit.tsx +512 -0
- package/src/admin/pages/Products.tsx +202 -0
- package/src/admin/pages/Properties.tsx +347 -0
- package/src/admin/pages/PropertyEdit.tsx +433 -0
- package/src/admin/pages/PropertyOptionEdit.tsx +359 -0
- package/src/admin/pages/ReviewDetail.tsx +353 -0
- package/src/admin/pages/Reviews.tsx +226 -0
- package/src/admin/pages/SectionEdit.tsx +301 -0
- package/src/admin/pages/Sections.tsx +184 -0
- package/src/admin/pages/Settings.tsx +136 -0
- package/src/admin/pages/Shipping.tsx +209 -0
- package/src/admin/pages/ShippingMethodEdit.tsx +397 -0
- package/src/admin/pages/ShippingMethods.tsx +243 -0
- package/src/admin/pages/ShippingZoneEdit.tsx +579 -0
- package/src/admin/pages/ShippingZones.tsx +218 -0
- package/src/admin/pages/ThemeSettings.tsx +234 -0
- package/src/admin/pages/Themes.tsx +102 -0
- package/src/admin/pages/UserCategories.tsx +165 -0
- package/src/admin/pages/UserCategoryEdit.tsx +390 -0
- package/src/admin/pages/UserCategoryRuleEdit.tsx +665 -0
- package/src/admin/pages/UserCategoryRules.tsx +327 -0
- package/src/admin/pages/UserEdit.tsx +556 -0
- package/src/admin/pages/Users.tsx +322 -0
- package/src/auth/accept-invite.ts +81 -0
- package/src/auth/authz.ts +144 -0
- package/src/auth/drizzle-proxy.ts +71 -0
- package/src/auth/env.ts +48 -0
- package/src/auth/hooks.ts +94 -0
- package/src/auth/index.ts +75 -0
- package/src/auth/instance.ts +116 -0
- package/src/auth/invite-email.ts +84 -0
- package/src/auth/invite-store.ts +89 -0
- package/src/auth/invite.ts +144 -0
- package/src/auth/provision.ts +34 -0
- package/src/auth/send-email.ts +26 -0
- package/src/auth/session.ts +67 -0
- package/src/cart-ui/CartButton.tsx +23 -0
- package/src/cart-ui/CartDrawer.tsx +119 -0
- package/src/cart-ui/CartItem.tsx +21 -0
- package/src/cart-ui/CartItemView.tsx +109 -0
- package/src/cart-ui/index.ts +6 -0
- package/src/catalog-ui/ActiveFilters.tsx +123 -0
- package/src/catalog-ui/FilterSidebar.tsx +382 -0
- package/src/catalog-ui/ModificationSelector.tsx +171 -0
- package/src/catalog-ui/ProductCard.tsx +104 -0
- package/src/catalog-ui/ProductCharacteristics.tsx +82 -0
- package/src/catalog-ui/ProductGallery.tsx +95 -0
- package/src/catalog-ui/StockDisplay.tsx +146 -0
- package/src/catalog-ui/index.ts +8 -0
- package/src/checkout-ui/AddressCard.tsx +62 -0
- package/src/checkout-ui/AddressSaveDialog.tsx +96 -0
- package/src/checkout-ui/AddressSelectorPopup.tsx +177 -0
- package/src/checkout-ui/CheckoutAuthBlock.tsx +339 -0
- package/src/checkout-ui/CheckoutContactForm.tsx +85 -0
- package/src/checkout-ui/CheckoutDeliveryForm.tsx +399 -0
- package/src/checkout-ui/CheckoutOrderSummary.tsx +135 -0
- package/src/checkout-ui/CheckoutPaymentForm.tsx +76 -0
- package/src/checkout-ui/CheckoutRecipientForm.tsx +427 -0
- package/src/checkout-ui/RecipientCard.tsx +66 -0
- package/src/checkout-ui/RecipientSaveDialog.tsx +96 -0
- package/src/checkout-ui/RecipientSelectorPopup.tsx +187 -0
- package/src/checkout-ui/index.ts +13 -0
- package/src/contracts/README.md +60 -0
- package/src/contracts/index.ts +12 -0
- package/src/contracts/objects/banner.ts +34 -0
- package/src/contracts/objects/catalog.ts +76 -0
- package/src/contracts/objects/common.ts +27 -0
- package/src/contracts/objects/config.ts +17 -0
- package/src/contracts/objects/discount.ts +92 -0
- package/src/contracts/objects/identity.ts +10 -0
- package/src/contracts/objects/index.ts +12 -0
- package/src/contracts/objects/inventory.ts +38 -0
- package/src/contracts/objects/order.ts +55 -0
- package/src/contracts/objects/pricing.ts +22 -0
- package/src/contracts/objects/shipping.ts +127 -0
- package/src/contracts/ports/index.ts +95 -0
- package/src/contracts/semver/index.ts +62 -0
- package/src/contracts/semver/version.ts +15 -0
- package/src/contracts/views/cart.ts +24 -0
- package/src/contracts/views/catalog.ts +47 -0
- package/src/contracts/views/common.ts +39 -0
- package/src/contracts/views/fixtures/cart.ts +17 -0
- package/src/contracts/views/fixtures/catalog.ts +52 -0
- package/src/contracts/views/fixtures/home.ts +81 -0
- package/src/contracts/views/fixtures/index.ts +39 -0
- package/src/contracts/views/fixtures/product-detail.ts +60 -0
- package/src/contracts/views/home.ts +53 -0
- package/src/contracts/views/index.ts +11 -0
- package/src/contracts/views/product-detail.ts +78 -0
- package/src/contracts/views/requisites.ts +112 -0
- package/src/contracts/views/slots.ts +28 -0
- package/src/core/components/NavLink.tsx +37 -0
- package/src/core/components/ThemeToggle.tsx +42 -0
- package/src/core/components/cart/CartDrawer.tsx +2 -0
- package/src/core/components/cart/CartItem.tsx +2 -0
- package/src/core/components/catalog/ActiveFilters.tsx +6 -0
- package/src/core/components/catalog/FilterSidebar.tsx +6 -0
- package/src/core/components/catalog/ModificationSelector.tsx +6 -0
- package/src/core/components/catalog/ProductCard.tsx +5 -0
- package/src/core/components/catalog/ProductCharacteristics.tsx +5 -0
- package/src/core/components/catalog/ProductGallery.tsx +5 -0
- package/src/core/components/catalog/StockDisplay.tsx +5 -0
- package/src/core/components/checkout/CheckoutAuthBlock.tsx +5 -0
- package/src/core/components/checkout/CheckoutContactForm.tsx +5 -0
- package/src/core/components/checkout/CheckoutDeliveryForm.tsx +5 -0
- package/src/core/components/checkout/CheckoutOrderSummary.tsx +5 -0
- package/src/core/components/checkout/CheckoutPaymentForm.tsx +5 -0
- package/src/core/components/checkout/CheckoutRecipientForm.tsx +5 -0
- package/src/core/components/profile/AddressesList.tsx +5 -0
- package/src/core/components/profile/AvatarUpload.tsx +5 -0
- package/src/core/components/profile/RecipientsList.tsx +5 -0
- package/src/core/components/reviews/ProductReviews.tsx +2 -0
- package/src/core/components/reviews/StarRating.tsx +2 -0
- package/src/core/hooks/use-toast.ts +6 -0
- package/src/core/hooks/useAddressBook.ts +61 -0
- package/src/core/hooks/useAuth.tsx +75 -0
- package/src/core/hooks/useBanners.ts +27 -0
- package/src/core/hooks/useCart.tsx +3 -0
- package/src/core/hooks/useDiscountedPrice.ts +83 -0
- package/src/core/hooks/usePriceType.ts +25 -0
- package/src/core/hooks/useProductReviews.ts +141 -0
- package/src/core/hooks/useProductsWithStock.ts +11 -0
- package/src/core/hooks/useRecipientBook.ts +56 -0
- package/src/core/hooks/useShippingDirectory.ts +61 -0
- package/src/core/hooks/useStock.ts +102 -0
- package/src/core/index.ts +83 -0
- package/src/core/lib/auth-client.ts +22 -0
- package/src/core/lib/auth-session.ts +23 -0
- package/src/core/lib/banners.ts +28 -0
- package/src/core/lib/discounts.ts +78 -0
- package/src/core/lib/price-type.ts +48 -0
- package/src/core/lib/review-form.ts +68 -0
- package/src/core/lib/reviews.ts +64 -0
- package/src/core/lib/section-filters.ts +26 -0
- package/src/core/lib/shipping-directory.ts +34 -0
- package/src/core/lib/stock.ts +48 -0
- package/src/core/lib/user-addresses.ts +94 -0
- package/src/core/lib/user-recipients.ts +83 -0
- package/src/core/providers/CMSProvider.tsx +36 -0
- package/src/data-supabase/README.md +70 -0
- package/src/data-supabase/catalogRepository.ts +263 -0
- package/src/data-supabase/identityProvider.ts +73 -0
- package/src/data-supabase/index.ts +7 -0
- package/src/data-supabase/mappers.ts +229 -0
- package/src/data-supabase/orderRepository.ts +138 -0
- package/src/data-supabase/scope.ts +17 -0
- package/src/db/actor.ts +96 -0
- package/src/db/client.ts +85 -0
- package/src/db/index.ts +12 -0
- package/src/db/with-actor.ts +87 -0
- package/src/domain/README.md +57 -0
- package/src/domain/discounts.ts +435 -0
- package/src/domain/index.ts +10 -0
- package/src/domain/inventory.ts +54 -0
- package/src/domain/money.ts +80 -0
- package/src/domain/pricing.ts +40 -0
- package/src/domain/shipping.ts +218 -0
- package/src/domain/user-categories/conditions.ts +112 -0
- package/src/domain/user-categories/engine.ts +80 -0
- package/src/domain/user-categories/index.ts +11 -0
- package/src/domain/user-categories/types.ts +64 -0
- package/src/i18n/I18nProvider.tsx +60 -0
- package/src/i18n/README.md +63 -0
- package/src/i18n/catalogs/en/admin/banners.ts +66 -0
- package/src/i18n/catalogs/en/admin/common.ts +21 -0
- package/src/i18n/catalogs/en/admin/dashboard.ts +24 -0
- package/src/i18n/catalogs/en/admin/discounts.ts +74 -0
- package/src/i18n/catalogs/en/admin/index.ts +39 -0
- package/src/i18n/catalogs/en/admin/nav.ts +35 -0
- package/src/i18n/catalogs/en/admin/orders.ts +74 -0
- package/src/i18n/catalogs/en/admin/plugins.ts +64 -0
- package/src/i18n/catalogs/en/admin/prices.ts +19 -0
- package/src/i18n/catalogs/en/admin/products.ts +84 -0
- package/src/i18n/catalogs/en/admin/properties.ts +74 -0
- package/src/i18n/catalogs/en/admin/reviews.ts +29 -0
- package/src/i18n/catalogs/en/admin/sections.ts +21 -0
- package/src/i18n/catalogs/en/admin/settings.ts +17 -0
- package/src/i18n/catalogs/en/admin/shipping.ts +112 -0
- package/src/i18n/catalogs/en/admin/themes.ts +28 -0
- package/src/i18n/catalogs/en/admin/users.ts +104 -0
- package/src/i18n/catalogs/en/admin/validator.ts +35 -0
- package/src/i18n/catalogs/en/app.ts +14 -0
- package/src/i18n/catalogs/en/auth.ts +65 -0
- package/src/i18n/catalogs/en/breadcrumbs.ts +6 -0
- package/src/i18n/catalogs/en/cart.ts +25 -0
- package/src/i18n/catalogs/en/catalog.ts +26 -0
- package/src/i18n/catalogs/en/checkout.ts +126 -0
- package/src/i18n/catalogs/en/common.ts +94 -0
- package/src/i18n/catalogs/en/home.ts +7 -0
- package/src/i18n/catalogs/en/index.ts +44 -0
- package/src/i18n/catalogs/en/nav.ts +9 -0
- package/src/i18n/catalogs/en/product.ts +31 -0
- package/src/i18n/catalogs/en/profile.ts +109 -0
- package/src/i18n/catalogs/en/properties.ts +20 -0
- package/src/i18n/catalogs/en/reviews.ts +32 -0
- package/src/i18n/catalogs/en/validation.ts +33 -0
- package/src/i18n/catalogs/uk/admin/banners.ts +67 -0
- package/src/i18n/catalogs/uk/admin/common.ts +21 -0
- package/src/i18n/catalogs/uk/admin/dashboard.ts +22 -0
- package/src/i18n/catalogs/uk/admin/discounts.ts +73 -0
- package/src/i18n/catalogs/uk/admin/index.ts +45 -0
- package/src/i18n/catalogs/uk/admin/nav.ts +35 -0
- package/src/i18n/catalogs/uk/admin/orders.ts +76 -0
- package/src/i18n/catalogs/uk/admin/plugins.ts +68 -0
- package/src/i18n/catalogs/uk/admin/prices.ts +17 -0
- package/src/i18n/catalogs/uk/admin/products.ts +87 -0
- package/src/i18n/catalogs/uk/admin/properties.ts +77 -0
- package/src/i18n/catalogs/uk/admin/reviews.ts +27 -0
- package/src/i18n/catalogs/uk/admin/sections.ts +19 -0
- package/src/i18n/catalogs/uk/admin/settings.ts +17 -0
- package/src/i18n/catalogs/uk/admin/shipping.ts +119 -0
- package/src/i18n/catalogs/uk/admin/themes.ts +24 -0
- package/src/i18n/catalogs/uk/admin/users.ts +106 -0
- package/src/i18n/catalogs/uk/admin/validator.ts +34 -0
- package/src/i18n/catalogs/uk/app.ts +15 -0
- package/src/i18n/catalogs/uk/auth.ts +77 -0
- package/src/i18n/catalogs/uk/breadcrumbs.ts +4 -0
- package/src/i18n/catalogs/uk/cart.ts +24 -0
- package/src/i18n/catalogs/uk/catalog.ts +26 -0
- package/src/i18n/catalogs/uk/checkout.ts +137 -0
- package/src/i18n/catalogs/uk/common.ts +114 -0
- package/src/i18n/catalogs/uk/home.ts +5 -0
- package/src/i18n/catalogs/uk/index.ts +44 -0
- package/src/i18n/catalogs/uk/nav.ts +8 -0
- package/src/i18n/catalogs/uk/product.ts +36 -0
- package/src/i18n/catalogs/uk/profile.ts +117 -0
- package/src/i18n/catalogs/uk/properties.ts +18 -0
- package/src/i18n/catalogs/uk/reviews.ts +34 -0
- package/src/i18n/catalogs/uk/validation.ts +38 -0
- package/src/i18n/index.ts +14 -0
- package/src/i18n/translator.ts +53 -0
- package/src/i18n/types.ts +19 -0
- package/src/index.ts +12 -0
- package/src/plugin-sdk/definePlugin.ts +80 -0
- package/src/plugin-sdk/index.ts +22 -0
- package/src/plugin-sdk/server/config-db.ts +57 -0
- package/src/plugin-sdk/server/guard.ts +77 -0
- package/src/plugin-sdk/server/index.ts +118 -0
- package/src/plugin-sdk/server/table-db.ts +149 -0
- package/src/plugin-sdk/types.ts +70 -0
- package/src/plugin-sdk/usePluginConfig.ts +105 -0
- package/src/plugin-sdk/usePluginT.ts +33 -0
- package/src/plugin-sdk/usePluginTable.ts +90 -0
- package/src/plugins/HookRegistry.ts +125 -0
- package/src/plugins/PluginLoader.ts +69 -0
- package/src/plugins/PluginSlot.tsx +135 -0
- package/src/plugins/adminLifecycle.ts +83 -0
- package/src/plugins/bootstrap.ts +108 -0
- package/src/plugins/hooks.ts +155 -0
- package/src/plugins/index.ts +90 -0
- package/src/plugins/pluginRepository.ts +138 -0
- package/src/plugins/server/index.ts +53 -0
- package/src/plugins/server/registry-db.ts +105 -0
- package/src/plugins/types.ts +224 -0
- package/src/plugins/validatePluginModule.ts +114 -0
- package/src/profile-ui/AddressesList.tsx +358 -0
- package/src/profile-ui/AvatarUpload.tsx +215 -0
- package/src/profile-ui/RecipientsList.tsx +448 -0
- package/src/profile-ui/index.ts +4 -0
- package/src/react-query/EngineProvider.tsx +30 -0
- package/src/react-query/README.md +54 -0
- package/src/react-query/hooks.ts +49 -0
- package/src/react-query/index.ts +9 -0
- package/src/react-query/queries.ts +95 -0
- package/src/react-query/useCart.tsx +172 -0
- package/src/react-query/useFormatPrice.ts +39 -0
- package/src/reviews-ui/ProductReviews.tsx +172 -0
- package/src/reviews-ui/ReviewCard.tsx +165 -0
- package/src/reviews-ui/ReviewForm.tsx +136 -0
- package/src/reviews-ui/ReviewRichTextEditor.tsx +168 -0
- package/src/reviews-ui/StarRating.tsx +69 -0
- package/src/reviews-ui/index.ts +6 -0
- package/src/runtime/README.md +60 -0
- package/src/runtime/config.ts +45 -0
- package/src/runtime/index.ts +87 -0
- package/src/schema/README.md +114 -0
- package/src/schema/auth.ts +150 -0
- package/src/schema/index.ts +17 -0
- package/src/schema/media.ts +69 -0
- package/src/schema/relations.ts +449 -0
- package/src/schema/schema.ts +1049 -0
- package/src/schema/types.ts +164 -0
- package/src/storefront/README.md +68 -0
- package/src/storefront/client.ts +8 -0
- package/src/storefront/index.ts +6 -0
- package/src/storefront/loaders/addresses.ts +131 -0
- package/src/storefront/loaders/banners.ts +44 -0
- package/src/storefront/loaders/catalog-filters.ts +174 -0
- package/src/storefront/loaders/catalog-products.ts +145 -0
- package/src/storefront/loaders/categories.ts +44 -0
- package/src/storefront/loaders/db.ts +65 -0
- package/src/storefront/loaders/discounts.ts +110 -0
- package/src/storefront/loaders/entities/banner.ts +99 -0
- package/src/storefront/loaders/entities/catalog-product.ts +75 -0
- package/src/storefront/loaders/entities/discount.ts +81 -0
- package/src/storefront/loaders/entities/home-product.ts +49 -0
- package/src/storefront/loaders/entities/modification.ts +55 -0
- package/src/storefront/loaders/entities/order.ts +126 -0
- package/src/storefront/loaders/entities/price.ts +48 -0
- package/src/storefront/loaders/entities/product.ts +60 -0
- package/src/storefront/loaders/entities/property.ts +82 -0
- package/src/storefront/loaders/entities/section.ts +54 -0
- package/src/storefront/loaders/home-sections.ts +81 -0
- package/src/storefront/loaders/home.ts +81 -0
- package/src/storefront/loaders/index.ts +76 -0
- package/src/storefront/loaders/modification-values.ts +113 -0
- package/src/storefront/loaders/order-create.ts +134 -0
- package/src/storefront/loaders/order-statuses.ts +39 -0
- package/src/storefront/loaders/orders.ts +113 -0
- package/src/storefront/loaders/pickup-points.ts +36 -0
- package/src/storefront/loaders/pricing.ts +23 -0
- package/src/storefront/loaders/product-detail.ts +90 -0
- package/src/storefront/loaders/products.ts +106 -0
- package/src/storefront/loaders/profile.ts +96 -0
- package/src/storefront/loaders/properties.ts +91 -0
- package/src/storefront/loaders/property-option.ts +112 -0
- package/src/storefront/loaders/property-values.ts +101 -0
- package/src/storefront/loaders/recipients.ts +145 -0
- package/src/storefront/loaders/reviews-write.ts +58 -0
- package/src/storefront/loaders/reviews.ts +142 -0
- package/src/storefront/loaders/sections.ts +46 -0
- package/src/storefront/loaders/session.ts +53 -0
- package/src/storefront/loaders/shipping.ts +163 -0
- package/src/storefront/loaders/sitemap.ts +67 -0
- package/src/storefront/loaders/stock-info.ts +127 -0
- package/src/storefront/loaders/stock.ts +101 -0
- package/src/storefront/seo/index.ts +2 -0
- package/src/storefront/seo/robots.ts +16 -0
- package/src/storefront/seo/sitemap.ts +73 -0
- package/src/storefront-routes/active-theme.ts +23 -0
- package/src/storefront-routes/components/BannerSlider.tsx +196 -0
- package/src/storefront-routes/components/ProductCarousel.tsx +93 -0
- package/src/storefront-routes/components/SetPasswordForm.tsx +94 -0
- package/src/storefront-routes/components/SsrProductGrid.tsx +38 -0
- package/src/storefront-routes/index.ts +7 -0
- package/src/storefront-routes/pages/Auth.tsx +508 -0
- package/src/storefront-routes/pages/AuthInvite.tsx +101 -0
- package/src/storefront-routes/pages/AuthSetPassword.tsx +78 -0
- package/src/storefront-routes/pages/Cart.tsx +24 -0
- package/src/storefront-routes/pages/Catalog.tsx +41 -0
- package/src/storefront-routes/pages/CatalogSection.tsx +83 -0
- package/src/storefront-routes/pages/Checkout.tsx +353 -0
- package/src/storefront-routes/pages/Home.tsx +61 -0
- package/src/storefront-routes/pages/OrderSuccess.tsx +305 -0
- package/src/storefront-routes/pages/ProductDetail.tsx +135 -0
- package/src/storefront-routes/pages/Profile.tsx +195 -0
- package/src/storefront-routes/pages/ProfileOrderDetail.tsx +430 -0
- package/src/storefront-routes/pages/ProfileOrders.tsx +199 -0
- package/src/storefront-routes/pages/ProfileSettings.tsx +431 -0
- package/src/storefront-routes/pages/Properties.tsx +90 -0
- package/src/storefront-routes/pages/PropertyDetail.tsx +127 -0
- package/src/storefront-routes/pages/PropertyPage.tsx +203 -0
- package/src/storefront-routes/pages/cart/breadcrumbs.ts +12 -0
- package/src/storefront-routes/pages/cart/slots.ts +20 -0
- package/src/storefront-routes/pages/catalog/active-filter-chips.ts +103 -0
- package/src/storefront-routes/pages/catalog/breadcrumbs.ts +24 -0
- package/src/storefront-routes/pages/catalog/filter-predicates.ts +80 -0
- package/src/storefront-routes/pages/catalog/filtering.ts +118 -0
- package/src/storefront-routes/pages/catalog/slot-context.tsx +64 -0
- package/src/storefront-routes/pages/catalog/slots.tsx +80 -0
- package/src/storefront-routes/pages/catalog/types.ts +46 -0
- package/src/storefront-routes/pages/catalog/useActiveFilters.ts +69 -0
- package/src/storefront-routes/pages/catalog/useCatalogController.ts +149 -0
- package/src/storefront-routes/pages/catalog/useCatalogProductsQuery.ts +36 -0
- package/src/storefront-routes/pages/catalog/useCatalogQueries.ts +67 -0
- package/src/storefront-routes/pages/catalog/usePricedProducts.ts +87 -0
- package/src/storefront-routes/pages/home/SectionProductCarousel.tsx +30 -0
- package/src/storefront-routes/pages/home/queries.ts +72 -0
- package/src/storefront-routes/pages/home/slot-context.tsx +49 -0
- package/src/storefront-routes/pages/home/slots.tsx +30 -0
- package/src/storefront-routes/pages/home/toCardViewModel.ts +26 -0
- package/src/storefront-routes/pages/home/types.ts +17 -0
- package/src/storefront-routes/pages/product-detail/breadcrumbs.ts +29 -0
- package/src/storefront-routes/pages/product-detail/cart-item.ts +57 -0
- package/src/storefront-routes/pages/product-detail/pricing.ts +123 -0
- package/src/storefront-routes/pages/product-detail/slot-context.tsx +63 -0
- package/src/storefront-routes/pages/product-detail/slots.tsx +112 -0
- package/src/storefront-routes/pages/product-detail/types.ts +59 -0
- package/src/storefront-routes/pages/product-detail/useModificationData.ts +53 -0
- package/src/storefront-routes/pages/product-detail/useModificationSelection.ts +70 -0
- package/src/storefront-routes/pages/product-detail/useProductContent.ts +88 -0
- package/src/storefront-routes/pages/product-detail/useProductPricing.ts +88 -0
- package/src/storefront-routes/pages/product-detail/useProductQuery.ts +26 -0
- package/src/storefront-routes/seo/interceptor.ts +89 -0
- package/src/storefront-routes/seo/robots.ts +15 -0
- package/src/storefront-routes/seo/sitemap.ts +27 -0
- package/src/storefront-routes/server/auth.ts +45 -0
- package/src/storefront-routes/server/catalog.ts +120 -0
- package/src/storefront-routes/server/checkout-input.ts +67 -0
- package/src/storefront-routes/server/checkout.ts +133 -0
- package/src/storefront-routes/server/home.ts +49 -0
- package/src/storefront-routes/server/invite.ts +55 -0
- package/src/storefront-routes/server/is-admin.ts +27 -0
- package/src/storefront-routes/server/order-view.ts +41 -0
- package/src/storefront-routes/server/product-list-item.ts +87 -0
- package/src/storefront-routes/server/products.ts +47 -0
- package/src/storefront-routes/server/profile-orders.ts +91 -0
- package/src/storefront-routes/server/profile.ts +58 -0
- package/src/storefront-routes/server/properties.ts +39 -0
- package/src/storefront-routes/server/revalidate-theme.ts +27 -0
- package/src/storefront-routes/server/theme-record.ts +89 -0
- package/src/storefront-routes/server/themes.ts +14 -0
- package/src/storefront-routes/shells/ProtectedShell.tsx +83 -0
- package/src/storefront-routes/shells/StorefrontShell.tsx +25 -0
- package/src/storefront-routes/shells/ThemeFonts.tsx +31 -0
- package/src/storefront-routes/shells/ThemeTokens.tsx +17 -0
- package/src/storefront-routes/shells/useActiveThemeModule.ts +16 -0
- package/src/storefront-routes/views/CartView.tsx +86 -0
- package/src/storefront-routes/views/CatalogLayout.tsx +60 -0
- package/src/storefront-routes/views/CatalogSectionView.tsx +39 -0
- package/src/storefront-routes/views/CatalogToolbar.tsx +48 -0
- package/src/storefront-routes/views/CatalogView.tsx +30 -0
- package/src/storefront-routes/views/HomeView.tsx +62 -0
- package/src/storefront-routes/views/ProductDetailInfo.tsx +77 -0
- package/src/storefront-routes/views/ProductDetailSections.tsx +107 -0
- package/src/storefront-routes/views/ProductDetailView.tsx +47 -0
- package/src/storefront-routes/views/StorefrontBreadcrumbs.tsx +31 -0
- package/src/storefront-routes/views/slots/CartSlots.tsx +72 -0
- package/src/storefront-routes/views/slots/CartSummary.tsx +49 -0
- package/src/storefront-routes/views/slots/CatalogFilters.tsx +26 -0
- package/src/storefront-routes/views/slots/CatalogProductGrid.tsx +80 -0
- package/src/storefront-routes/views/slots/CatalogSectionChips.tsx +136 -0
- package/src/storefront-routes/views/slots/CatalogToolbarSlots.tsx +125 -0
- package/src/storefront-routes/views/slots/HomeSectionCarousel.tsx +29 -0
- package/src/storefront-routes/views/slots/ProductAddToCart.tsx +58 -0
- package/src/storefront-routes/views/slots/ProductContentSlots.tsx +52 -0
- package/src/storefront-routes/views/slots/ProductModificationPicker.tsx +44 -0
- package/src/storefront-routes/views/slots/ProductPluginSlots.tsx +63 -0
- package/src/storefront-routes/views/slots/ProductPriceBlock.tsx +42 -0
- package/src/storefront-routes/views/slots/ProductStockBadge.tsx +45 -0
- package/src/storefront-routes/views/useStorefrontViews.ts +34 -0
- package/src/storefront-routes/vite-env.d.ts +12 -0
- package/src/supabase/README.md +73 -0
- package/src/supabase/SupabaseProvider.tsx +53 -0
- package/src/supabase/anon-client.ts +27 -0
- package/src/supabase/browser-client.ts +33 -0
- package/src/supabase/database.ts +2204 -0
- package/src/supabase/index.ts +21 -0
- package/src/supabase/keys.ts +42 -0
- package/src/supabase/server-client.ts +49 -0
- package/src/supabase/vite-env.d.ts +16 -0
- package/src/themes/ThemeContext.tsx +109 -0
- package/src/themes/ThemeRegistry.ts +126 -0
- package/src/themes/applyTokens.ts +79 -0
- package/src/themes/bootstrapThemes.ts +117 -0
- package/src/themes/conformance/assertThemeViewsConformance.ts +123 -0
- package/src/themes/conformance/boundary.tsx +38 -0
- package/src/themes/conformance/cases.tsx +103 -0
- package/src/themes/conformance/index.ts +13 -0
- package/src/themes/conformance/render.tsx +97 -0
- package/src/themes/conformance/stubs.tsx +67 -0
- package/src/themes/index.ts +8 -0
- package/src/themes/safeFontStylesheets.ts +62 -0
- package/src/themes/server/index.ts +47 -0
- package/src/themes/server/registry-db.ts +67 -0
- package/src/themes/theme-context.ts +26 -0
- package/src/themes/theme-settings.ts +21 -0
- package/src/themes/types.ts +214 -0
- package/src/themes/useThemeT.ts +49 -0
- package/src/themes/validateThemeModule.ts +126 -0
- package/src/themes/validateThemeViews.ts +46 -0
- package/src/ui/accordion.tsx +56 -0
- package/src/ui/alert-dialog.tsx +139 -0
- package/src/ui/alert.tsx +59 -0
- package/src/ui/aspect-ratio.tsx +5 -0
- package/src/ui/avatar.tsx +48 -0
- package/src/ui/badge.tsx +37 -0
- package/src/ui/breadcrumb.tsx +115 -0
- package/src/ui/button.tsx +57 -0
- package/src/ui/calendar.tsx +67 -0
- package/src/ui/card.tsx +86 -0
- package/src/ui/carousel.tsx +260 -0
- package/src/ui/chart.tsx +390 -0
- package/src/ui/checkbox.tsx +28 -0
- package/src/ui/collapsible.tsx +9 -0
- package/src/ui/command.tsx +153 -0
- package/src/ui/context-menu.tsx +198 -0
- package/src/ui/dialog.tsx +120 -0
- package/src/ui/drawer.tsx +116 -0
- package/src/ui/dropdown-menu.tsx +198 -0
- package/src/ui/form.tsx +177 -0
- package/src/ui/hover-card.tsx +27 -0
- package/src/ui/index.ts +53 -0
- package/src/ui/input-otp.tsx +69 -0
- package/src/ui/input.tsx +22 -0
- package/src/ui/label.tsx +24 -0
- package/src/ui/menubar.tsx +237 -0
- package/src/ui/navigation-menu.tsx +128 -0
- package/src/ui/pagination.tsx +117 -0
- package/src/ui/popover.tsx +29 -0
- package/src/ui/progress.tsx +26 -0
- package/src/ui/radio-group.tsx +42 -0
- package/src/ui/resizable.tsx +43 -0
- package/src/ui/scroll-area.tsx +46 -0
- package/src/ui/select.tsx +158 -0
- package/src/ui/separator.tsx +29 -0
- package/src/ui/sheet.tsx +139 -0
- package/src/ui/sidebar.tsx +771 -0
- package/src/ui/skeleton.tsx +15 -0
- package/src/ui/slider.tsx +26 -0
- package/src/ui/sonner.tsx +29 -0
- package/src/ui/switch.tsx +27 -0
- package/src/ui/table.tsx +117 -0
- package/src/ui/tabs.tsx +53 -0
- package/src/ui/textarea.tsx +23 -0
- package/src/ui/toast.tsx +127 -0
- package/src/ui/toaster.tsx +33 -0
- package/src/ui/toggle-group.tsx +59 -0
- package/src/ui/toggle.tsx +43 -0
- package/src/ui/tooltip.tsx +28 -0
- package/src/ui/use-mobile.tsx +21 -0
- package/src/ui/use-toast.ts +191 -0
- package/src/ui/utils.ts +6 -0
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
import { CatalogFilters } from './chunk-PKSF2WRO.js';
|
|
2
|
+
import { CatalogProductGrid } from './chunk-36N7MZUX.js';
|
|
3
|
+
import { CatalogLinkChips, CatalogFilterChips } from './chunk-ZSQQH3P2.js';
|
|
4
|
+
import { CatalogSortSelect, CatalogViewModeToggle, CatalogActiveFilters } from './chunk-XBHNK4ER.js';
|
|
5
|
+
import { getCatalogSection, getCatalogSections, getCatalogProducts, getSectionNumericProperties, getFilterOptions } from './chunk-FFOYJA7C.js';
|
|
6
|
+
import { createContext, useState, useMemo, useCallback, useContext } from 'react';
|
|
7
|
+
import { jsx } from 'react/jsx-runtime';
|
|
8
|
+
import { useQuery } from '@tanstack/react-query';
|
|
9
|
+
import { useProductRatings } from 'simplycms/core/hooks/useProductReviews';
|
|
10
|
+
import { useT } from 'simplycms/i18n';
|
|
11
|
+
import { usePriceType } from 'simplycms/core/hooks/usePriceType';
|
|
12
|
+
import { resolvePrice } from 'simplycms/domain/pricing';
|
|
13
|
+
import { useDiscountGroups, useDiscountContext, applyDiscount } from 'simplycms/core/hooks/useDiscountedPrice';
|
|
14
|
+
|
|
15
|
+
// src/storefront-routes/pages/catalog/breadcrumbs.ts
|
|
16
|
+
function buildCatalogBreadcrumbs(t) {
|
|
17
|
+
return [
|
|
18
|
+
{ label: t("breadcrumbs.home"), href: "/" },
|
|
19
|
+
{ label: t("catalog.title") }
|
|
20
|
+
];
|
|
21
|
+
}
|
|
22
|
+
function buildSectionBreadcrumbs(t, sectionName) {
|
|
23
|
+
return [
|
|
24
|
+
{ label: t("breadcrumbs.home"), href: "/" },
|
|
25
|
+
{ label: t("catalog.title"), href: "/catalog" },
|
|
26
|
+
{ label: sectionName }
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
var BindingsContext = createContext(null);
|
|
30
|
+
function CatalogSlotBindings({
|
|
31
|
+
value,
|
|
32
|
+
children
|
|
33
|
+
}) {
|
|
34
|
+
return /* @__PURE__ */ jsx(BindingsContext.Provider, { value, children });
|
|
35
|
+
}
|
|
36
|
+
function useCatalogBindings() {
|
|
37
|
+
const value = useContext(BindingsContext);
|
|
38
|
+
if (!value) {
|
|
39
|
+
throw new Error(
|
|
40
|
+
"Catalog slots must be rendered inside <CatalogSlotBindings>"
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
function SectionChips({ className }) {
|
|
46
|
+
const { chips } = useCatalogBindings();
|
|
47
|
+
if (chips.mode === "link") {
|
|
48
|
+
return /* @__PURE__ */ jsx(
|
|
49
|
+
CatalogLinkChips,
|
|
50
|
+
{
|
|
51
|
+
className,
|
|
52
|
+
sections: chips.sections,
|
|
53
|
+
activeId: chips.activeId
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
return /* @__PURE__ */ jsx(
|
|
58
|
+
CatalogFilterChips,
|
|
59
|
+
{
|
|
60
|
+
className,
|
|
61
|
+
sections: chips.sections,
|
|
62
|
+
selectedId: chips.selectedId,
|
|
63
|
+
onSelect: chips.onSelect
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
function Filters({ className }) {
|
|
68
|
+
const { filters } = useCatalogBindings();
|
|
69
|
+
return /* @__PURE__ */ jsx(CatalogFilters, { className, ...filters });
|
|
70
|
+
}
|
|
71
|
+
function SortSelect({ className }) {
|
|
72
|
+
const { sort } = useCatalogBindings();
|
|
73
|
+
return /* @__PURE__ */ jsx(CatalogSortSelect, { className, ...sort });
|
|
74
|
+
}
|
|
75
|
+
function ViewModeToggle({ className }) {
|
|
76
|
+
const { viewMode } = useCatalogBindings();
|
|
77
|
+
return /* @__PURE__ */ jsx(CatalogViewModeToggle, { className, ...viewMode });
|
|
78
|
+
}
|
|
79
|
+
function ActiveFilters({ className }) {
|
|
80
|
+
const { activeFilters } = useCatalogBindings();
|
|
81
|
+
return /* @__PURE__ */ jsx(CatalogActiveFilters, { className, ...activeFilters });
|
|
82
|
+
}
|
|
83
|
+
function ProductGrid({ className }) {
|
|
84
|
+
const { grid } = useCatalogBindings();
|
|
85
|
+
return /* @__PURE__ */ jsx(CatalogProductGrid, { className, ...grid });
|
|
86
|
+
}
|
|
87
|
+
var catalogSlots = {
|
|
88
|
+
SectionChips,
|
|
89
|
+
Filters,
|
|
90
|
+
SortSelect,
|
|
91
|
+
ViewModeToggle,
|
|
92
|
+
ActiveFilters,
|
|
93
|
+
ProductGrid
|
|
94
|
+
};
|
|
95
|
+
function useSectionsQuery(initialSections) {
|
|
96
|
+
return useQuery({
|
|
97
|
+
queryKey: ["public-sections"],
|
|
98
|
+
queryFn: () => getCatalogSections(),
|
|
99
|
+
initialData: initialSections
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
function useSectionQuery(sectionSlug, initialSection) {
|
|
103
|
+
return useQuery({
|
|
104
|
+
queryKey: ["public-section", sectionSlug],
|
|
105
|
+
queryFn: () => getCatalogSection({ data: { slug: sectionSlug } }),
|
|
106
|
+
enabled: !!sectionSlug,
|
|
107
|
+
initialData: initialSection
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function useNumericPropertiesQuery(sectionId) {
|
|
111
|
+
return useQuery({
|
|
112
|
+
queryKey: ["section-numeric-properties", sectionId],
|
|
113
|
+
queryFn: () => getSectionNumericProperties({
|
|
114
|
+
data: { sectionId }
|
|
115
|
+
}),
|
|
116
|
+
enabled: !!sectionId
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
function usePropertyOptionsQuery() {
|
|
120
|
+
return useQuery({
|
|
121
|
+
queryKey: ["all-property-options-for-filters"],
|
|
122
|
+
queryFn: () => getFilterOptions()
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// src/storefront-routes/pages/catalog/filter-predicates.ts
|
|
127
|
+
function matchesNumericFilters(product, filters, numericProperties) {
|
|
128
|
+
return (numericProperties ?? []).every((prop) => {
|
|
129
|
+
const minVal = filters[`${prop.slug}Min`];
|
|
130
|
+
const maxVal = filters[`${prop.slug}Max`];
|
|
131
|
+
if (minVal === void 0 && maxVal === void 0) return true;
|
|
132
|
+
const matching = product.propertyValues.filter(
|
|
133
|
+
(pv) => pv.property_id === prop.id && pv.numeric_value !== null
|
|
134
|
+
);
|
|
135
|
+
if (matching.length === 0) return false;
|
|
136
|
+
return matching.some((pv) => {
|
|
137
|
+
const val = pv.numeric_value;
|
|
138
|
+
if (val === null) return false;
|
|
139
|
+
if (minVal !== void 0 && val < minVal) return false;
|
|
140
|
+
if (maxVal !== void 0 && val > maxVal) return false;
|
|
141
|
+
return true;
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
function matchesOptionFilters(product, filters) {
|
|
146
|
+
return Object.entries(filters).every(([key, value]) => {
|
|
147
|
+
if (key === "priceMin" || key === "priceMax" || key === "inStockOnly")
|
|
148
|
+
return true;
|
|
149
|
+
if (key.endsWith("Min") || key.endsWith("Max")) return true;
|
|
150
|
+
if (!value || Array.isArray(value) && value.length === 0) return true;
|
|
151
|
+
return product.propertyValues.some((pv) => {
|
|
152
|
+
if (!pv.option_id || !Array.isArray(value)) return false;
|
|
153
|
+
const productOptionIds = pv.option_id.split(",").filter(Boolean);
|
|
154
|
+
return productOptionIds.some((id) => value.includes(id));
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function matchesPriceFilter(product, filters) {
|
|
159
|
+
const { priceMin, priceMax } = filters;
|
|
160
|
+
if (priceMin === void 0 && priceMax === void 0) return true;
|
|
161
|
+
if (product.price === null || product.price === void 0) return true;
|
|
162
|
+
if (priceMin !== void 0 && product.price < priceMin)
|
|
163
|
+
return false;
|
|
164
|
+
if (priceMax !== void 0 && product.price > priceMax)
|
|
165
|
+
return false;
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// src/storefront-routes/pages/catalog/filtering.ts
|
|
170
|
+
function computePriceRange(products) {
|
|
171
|
+
if (!products?.length) return void 0;
|
|
172
|
+
const prices = products.map((p) => p.price).filter((p) => typeof p === "number");
|
|
173
|
+
if (prices.length === 0) return void 0;
|
|
174
|
+
return { min: Math.min(...prices), max: Math.max(...prices) };
|
|
175
|
+
}
|
|
176
|
+
function filterBySection(products, sectionId) {
|
|
177
|
+
if (!products || !sectionId) return products;
|
|
178
|
+
return products.filter((p) => p.section?.id === sectionId);
|
|
179
|
+
}
|
|
180
|
+
function computeNumericRanges(products, numericProperties, sectionId) {
|
|
181
|
+
if (!products?.length || !numericProperties?.length) return {};
|
|
182
|
+
const relevant = filterBySection(products, sectionId) ?? [];
|
|
183
|
+
const ranges = {};
|
|
184
|
+
numericProperties.forEach((prop) => {
|
|
185
|
+
const values = [];
|
|
186
|
+
relevant.forEach((product) => {
|
|
187
|
+
product.propertyValues.forEach((pv) => {
|
|
188
|
+
if (pv.property_id === prop.id && pv.numeric_value !== null) {
|
|
189
|
+
values.push(pv.numeric_value);
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
if (values.length > 0) {
|
|
194
|
+
ranges[prop.slug] = {
|
|
195
|
+
min: Math.min(...values),
|
|
196
|
+
max: Math.max(...values)
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
return ranges;
|
|
201
|
+
}
|
|
202
|
+
function sortProducts(products, sortBy) {
|
|
203
|
+
switch (sortBy) {
|
|
204
|
+
case "price_asc":
|
|
205
|
+
return products.sort((a, b) => (a.price || 0) - (b.price || 0));
|
|
206
|
+
case "price_desc":
|
|
207
|
+
return products.sort((a, b) => (b.price || 0) - (a.price || 0));
|
|
208
|
+
case "newest":
|
|
209
|
+
return products.sort(
|
|
210
|
+
(a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime()
|
|
211
|
+
);
|
|
212
|
+
default:
|
|
213
|
+
return products;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function filterAndSortProducts(products, { filters, sortBy, sectionId, numericProperties }) {
|
|
217
|
+
if (!products) return [];
|
|
218
|
+
const result = (filterBySection(products, sectionId) ?? []).filter(
|
|
219
|
+
(product) => (!filters.inStockOnly || product.isAvailable) && matchesOptionFilters(product, filters) && matchesNumericFilters(product, filters, numericProperties) && matchesPriceFilter(product, filters)
|
|
220
|
+
);
|
|
221
|
+
return sortProducts(result, sortBy);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// src/storefront-routes/pages/catalog/active-filter-chips.ts
|
|
225
|
+
function rangeChip(key, label, min, max, bounds, suffix = "") {
|
|
226
|
+
const from = min ?? bounds?.min ?? 0;
|
|
227
|
+
const to = max ?? bounds?.max ?? "\u221E";
|
|
228
|
+
return {
|
|
229
|
+
key,
|
|
230
|
+
label,
|
|
231
|
+
value: `${from} - ${to}${suffix}`,
|
|
232
|
+
type: key === "price" ? "price" : "range"
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
function buildActiveFilterChips(filters, t, sources) {
|
|
236
|
+
const chips = [];
|
|
237
|
+
if (filters.priceMin !== void 0 || filters.priceMax !== void 0) {
|
|
238
|
+
chips.push(
|
|
239
|
+
rangeChip(
|
|
240
|
+
"price",
|
|
241
|
+
t("common.price"),
|
|
242
|
+
filters.priceMin,
|
|
243
|
+
filters.priceMax,
|
|
244
|
+
sources.priceRange,
|
|
245
|
+
" \u20B4"
|
|
246
|
+
)
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
sources.numericProperties?.forEach((prop) => {
|
|
250
|
+
const min = filters[`${prop.slug}Min`];
|
|
251
|
+
const max = filters[`${prop.slug}Max`];
|
|
252
|
+
if (min === void 0 && max === void 0) return;
|
|
253
|
+
chips.push(
|
|
254
|
+
rangeChip(
|
|
255
|
+
prop.slug,
|
|
256
|
+
prop.slug,
|
|
257
|
+
min,
|
|
258
|
+
max,
|
|
259
|
+
sources.numericRanges[prop.slug]
|
|
260
|
+
)
|
|
261
|
+
);
|
|
262
|
+
});
|
|
263
|
+
Object.entries(filters).forEach(([key, value]) => {
|
|
264
|
+
if (!Array.isArray(value)) return;
|
|
265
|
+
value.forEach((optionId) => {
|
|
266
|
+
const option = sources.propertyOptions?.find((o) => o.id === optionId);
|
|
267
|
+
if (!option) return;
|
|
268
|
+
const group = option.section_properties;
|
|
269
|
+
chips.push({
|
|
270
|
+
key,
|
|
271
|
+
label: group?.name || key,
|
|
272
|
+
value: option.name,
|
|
273
|
+
type: "option",
|
|
274
|
+
optionId
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
return chips;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// src/storefront-routes/pages/catalog/useActiveFilters.ts
|
|
282
|
+
function useActiveFilters({
|
|
283
|
+
filters,
|
|
284
|
+
setFilters,
|
|
285
|
+
priceRange,
|
|
286
|
+
numericRanges,
|
|
287
|
+
numericProperties,
|
|
288
|
+
propertyOptions
|
|
289
|
+
}) {
|
|
290
|
+
const t = useT();
|
|
291
|
+
const chips = useMemo(
|
|
292
|
+
() => buildActiveFilterChips(filters, t, {
|
|
293
|
+
priceRange,
|
|
294
|
+
numericRanges,
|
|
295
|
+
numericProperties,
|
|
296
|
+
propertyOptions
|
|
297
|
+
}),
|
|
298
|
+
[filters, t, priceRange, numericRanges, numericProperties, propertyOptions]
|
|
299
|
+
);
|
|
300
|
+
const onRemoveFilter = useCallback(
|
|
301
|
+
(filter) => {
|
|
302
|
+
const next = { ...filters };
|
|
303
|
+
if (filter.type === "price") {
|
|
304
|
+
delete next.priceMin;
|
|
305
|
+
delete next.priceMax;
|
|
306
|
+
} else if (filter.type === "range") {
|
|
307
|
+
delete next[`${filter.key}Min`];
|
|
308
|
+
delete next[`${filter.key}Max`];
|
|
309
|
+
} else if (filter.type === "option" && filter.optionId) {
|
|
310
|
+
const current = next[filter.key] || [];
|
|
311
|
+
const updated = current.filter((id) => id !== filter.optionId);
|
|
312
|
+
if (updated.length > 0) {
|
|
313
|
+
next[filter.key] = updated;
|
|
314
|
+
} else {
|
|
315
|
+
delete next[filter.key];
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
setFilters(next);
|
|
319
|
+
},
|
|
320
|
+
[filters, setFilters]
|
|
321
|
+
);
|
|
322
|
+
const onClearAll = useCallback(() => setFilters({}), [setFilters]);
|
|
323
|
+
return { chips, onRemoveFilter, onClearAll };
|
|
324
|
+
}
|
|
325
|
+
function useCatalogProductsQuery(sectionId) {
|
|
326
|
+
return useQuery({
|
|
327
|
+
queryKey: sectionId === void 0 ? ["all-products"] : ["section-products", sectionId],
|
|
328
|
+
queryFn: () => getCatalogProducts({
|
|
329
|
+
data: sectionId ? { sectionId } : {}
|
|
330
|
+
}),
|
|
331
|
+
enabled: sectionId !== null
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
function usePricedProducts(rawProducts) {
|
|
335
|
+
const { priceTypeId, defaultPriceTypeId } = usePriceType();
|
|
336
|
+
const { data: discountGroups = [] } = useDiscountGroups();
|
|
337
|
+
const discountCtx = useDiscountContext();
|
|
338
|
+
return useMemo(() => {
|
|
339
|
+
if (!rawProducts) return void 0;
|
|
340
|
+
return rawProducts.map((p) => {
|
|
341
|
+
const prices = p.product_prices ?? [];
|
|
342
|
+
const defaultMod = p.has_modifications && p.modifications?.[0] ? p.modifications[0] : null;
|
|
343
|
+
const resolved = resolvePrice(
|
|
344
|
+
prices,
|
|
345
|
+
priceTypeId,
|
|
346
|
+
defaultPriceTypeId,
|
|
347
|
+
defaultMod?.id ?? null
|
|
348
|
+
);
|
|
349
|
+
let finalPrice = resolved.price;
|
|
350
|
+
let oldPrice = resolved.oldPrice;
|
|
351
|
+
if (finalPrice !== null && discountGroups.length > 0) {
|
|
352
|
+
const result = applyDiscount(finalPrice, discountGroups, {
|
|
353
|
+
...discountCtx,
|
|
354
|
+
quantity: 1,
|
|
355
|
+
// Вибірка каталогу рендериться поза кошиком — сума кошика нульова.
|
|
356
|
+
cartTotal: 0,
|
|
357
|
+
productId: p.id,
|
|
358
|
+
modificationId: defaultMod?.id || null,
|
|
359
|
+
// Розділ беремо з приєднаної гілки, а за її відсутності — з поля
|
|
360
|
+
// рядка: обидві сторінки до спліту читали розділ по-своєму, значення
|
|
361
|
+
// збігаються (гілка `sections` приєднана тим самим запитом).
|
|
362
|
+
sectionId: p.section?.id ?? p.section_id ?? null
|
|
363
|
+
});
|
|
364
|
+
if (result.totalDiscount > 0) {
|
|
365
|
+
oldPrice = finalPrice;
|
|
366
|
+
finalPrice = result.finalPrice;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
const stockStatus = p.has_modifications ? defaultMod?.stock_status ?? "in_stock" : p.stock_status ?? "in_stock";
|
|
370
|
+
return {
|
|
371
|
+
...p,
|
|
372
|
+
price: finalPrice,
|
|
373
|
+
old_price: oldPrice,
|
|
374
|
+
stock_status: stockStatus
|
|
375
|
+
};
|
|
376
|
+
});
|
|
377
|
+
}, [
|
|
378
|
+
rawProducts,
|
|
379
|
+
priceTypeId,
|
|
380
|
+
defaultPriceTypeId,
|
|
381
|
+
discountGroups,
|
|
382
|
+
discountCtx
|
|
383
|
+
]);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
// src/storefront-routes/pages/catalog/useCatalogController.ts
|
|
387
|
+
function useCatalogController({
|
|
388
|
+
sectionId,
|
|
389
|
+
initialSections,
|
|
390
|
+
initialProducts
|
|
391
|
+
} = {}) {
|
|
392
|
+
const [filters, setFilters] = useState({});
|
|
393
|
+
const [sortBy, setSortBy] = useState("popular");
|
|
394
|
+
const [viewMode, setViewMode] = useState("grid");
|
|
395
|
+
const [selectedSectionId, setSelectedSectionId] = useState(
|
|
396
|
+
null
|
|
397
|
+
);
|
|
398
|
+
const scoped = sectionId !== void 0;
|
|
399
|
+
const activeSectionId = scoped ? sectionId ?? null : selectedSectionId;
|
|
400
|
+
const ssrProducts = initialProducts ?? [];
|
|
401
|
+
const { data: sections } = useSectionsQuery(initialSections);
|
|
402
|
+
const { data: rawProducts, isLoading: productsLoading } = useCatalogProductsQuery(sectionId);
|
|
403
|
+
const products = usePricedProducts(rawProducts);
|
|
404
|
+
const { data: numericProperties } = useNumericPropertiesQuery(activeSectionId);
|
|
405
|
+
const { data: propertyOptions } = usePropertyOptionsQuery();
|
|
406
|
+
const ratingProductIds = useMemo(
|
|
407
|
+
() => products?.map((p) => p.id) || [],
|
|
408
|
+
[products]
|
|
409
|
+
);
|
|
410
|
+
const { data: ratingsData } = useProductRatings(ratingProductIds);
|
|
411
|
+
const priceRange = useMemo(() => computePriceRange(products), [products]);
|
|
412
|
+
const numericRanges = useMemo(
|
|
413
|
+
() => computeNumericRanges(products, numericProperties, activeSectionId),
|
|
414
|
+
[products, numericProperties, activeSectionId]
|
|
415
|
+
);
|
|
416
|
+
const filteredProducts = useMemo(
|
|
417
|
+
() => filterAndSortProducts(products, {
|
|
418
|
+
filters,
|
|
419
|
+
sortBy,
|
|
420
|
+
sectionId: activeSectionId,
|
|
421
|
+
numericProperties
|
|
422
|
+
}),
|
|
423
|
+
[products, filters, sortBy, activeSectionId, numericProperties]
|
|
424
|
+
);
|
|
425
|
+
const sectionProducts = useMemo(
|
|
426
|
+
() => filterBySection(products, activeSectionId),
|
|
427
|
+
[products, activeSectionId]
|
|
428
|
+
);
|
|
429
|
+
const { chips, onRemoveFilter, onClearAll } = useActiveFilters({
|
|
430
|
+
filters,
|
|
431
|
+
setFilters,
|
|
432
|
+
priceRange,
|
|
433
|
+
numericRanges,
|
|
434
|
+
numericProperties,
|
|
435
|
+
propertyOptions
|
|
436
|
+
});
|
|
437
|
+
const onSelectSection = useCallback((next) => {
|
|
438
|
+
setSelectedSectionId(next);
|
|
439
|
+
setFilters({});
|
|
440
|
+
}, []);
|
|
441
|
+
const bindings = {
|
|
442
|
+
chips: scoped ? { mode: "link", sections: sections ?? [], activeId: sectionId ?? "" } : {
|
|
443
|
+
mode: "filter",
|
|
444
|
+
sections: sections ?? [],
|
|
445
|
+
selectedId: selectedSectionId,
|
|
446
|
+
onSelect: onSelectSection
|
|
447
|
+
},
|
|
448
|
+
filters: {
|
|
449
|
+
sectionId: activeSectionId || void 0,
|
|
450
|
+
filters,
|
|
451
|
+
onFilterChange: setFilters,
|
|
452
|
+
priceRange,
|
|
453
|
+
numericPropertyRanges: numericRanges,
|
|
454
|
+
products: sectionProducts
|
|
455
|
+
},
|
|
456
|
+
sort: { value: sortBy, onChange: setSortBy },
|
|
457
|
+
viewMode: { value: viewMode, onChange: setViewMode },
|
|
458
|
+
activeFilters: { filters: chips, onRemoveFilter, onClearAll },
|
|
459
|
+
grid: {
|
|
460
|
+
ssrItems: ssrProducts,
|
|
461
|
+
products: products ? filteredProducts : void 0,
|
|
462
|
+
isLoading: productsLoading,
|
|
463
|
+
viewMode,
|
|
464
|
+
ratings: ratingsData,
|
|
465
|
+
onResetFilters: onClearAll
|
|
466
|
+
}
|
|
467
|
+
};
|
|
468
|
+
return {
|
|
469
|
+
productCount: products ? filteredProducts.length : ssrProducts.length,
|
|
470
|
+
bindings
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
export { CatalogSlotBindings, buildCatalogBreadcrumbs, buildSectionBreadcrumbs, catalogSlots, useCatalogController, useSectionQuery };
|
|
475
|
+
//# sourceMappingURL=chunk-PUHHIN2C.js.map
|
|
476
|
+
//# sourceMappingURL=chunk-PUHHIN2C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/storefront-routes/pages/catalog/breadcrumbs.ts","../src/storefront-routes/pages/catalog/slot-context.tsx","../src/storefront-routes/pages/catalog/slots.tsx","../src/storefront-routes/pages/catalog/useCatalogQueries.ts","../src/storefront-routes/pages/catalog/filter-predicates.ts","../src/storefront-routes/pages/catalog/filtering.ts","../src/storefront-routes/pages/catalog/active-filter-chips.ts","../src/storefront-routes/pages/catalog/useActiveFilters.ts","../src/storefront-routes/pages/catalog/useCatalogProductsQuery.ts","../src/storefront-routes/pages/catalog/usePricedProducts.ts","../src/storefront-routes/pages/catalog/useCatalogController.ts"],"names":["jsx","useQuery","useMemo","useCallback"],"mappings":";;;;;;;;;;;;;;;AAMO,SAAS,wBAAwB,CAAA,EAAiC;AACvE,EAAA,OAAO;AAAA,IACL,EAAE,KAAA,EAAO,CAAA,CAAE,kBAAkB,CAAA,EAAG,MAAM,GAAA,EAAI;AAAA,IAC1C,EAAE,KAAA,EAAO,CAAA,CAAE,eAAe,CAAA;AAAE,GAC9B;AACF;AAGO,SAAS,uBAAA,CACd,GACA,WAAA,EACkB;AAClB,EAAA,OAAO;AAAA,IACL,EAAE,KAAA,EAAO,CAAA,CAAE,kBAAkB,CAAA,EAAG,MAAM,GAAA,EAAI;AAAA,IAC1C,EAAE,KAAA,EAAO,CAAA,CAAE,eAAe,CAAA,EAAG,MAAM,UAAA,EAAW;AAAA,IAC9C,EAAE,OAAO,WAAA;AAAY,GACvB;AACF;ACWA,IAAM,eAAA,GAAkB,cAAsC,IAAI,CAAA;AAO3D,SAAS,mBAAA,CAAoB;AAAA,EAClC,KAAA;AAAA,EACA;AACF,CAAA,EAGG;AACD,EAAA,uBACE,GAAA,CAAC,eAAA,CAAgB,QAAA,EAAhB,EAAyB,OACvB,QAAA,EACH,CAAA;AAEJ;AAEO,SAAS,kBAAA,GAAsC;AACpD,EAAA,MAAM,KAAA,GAAQ,WAAW,eAAe,CAAA;AACxC,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACA,EAAA,OAAO,KAAA;AACT;ACxCA,SAAS,YAAA,CAAa,EAAE,SAAA,EAAU,EAAwB;AACxD,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,kBAAA,EAAmB;AAErC,EAAA,IAAI,KAAA,CAAM,SAAS,MAAA,EAAQ;AACzB,IAAA,uBACEA,GAAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,UAAU,KAAA,CAAM,QAAA;AAAA,QAChB,UAAU,KAAA,CAAM;AAAA;AAAA,KAClB;AAAA,EAEJ;AAEA,EAAA,uBACEA,GAAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,YAAY,KAAA,CAAM,UAAA;AAAA,MAClB,UAAU,KAAA,CAAM;AAAA;AAAA,GAClB;AAEJ;AAEA,SAAS,OAAA,CAAQ,EAAE,SAAA,EAAU,EAAwB;AACnD,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,kBAAA,EAAmB;AACvC,EAAA,uBAAOA,GAAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAuB,GAAG,OAAA,EAAS,CAAA;AAC5D;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAU,EAAwB;AACtD,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,kBAAA,EAAmB;AACpC,EAAA,uBAAOA,GAAAA,CAAC,iBAAA,EAAA,EAAkB,SAAA,EAAuB,GAAG,IAAA,EAAM,CAAA;AAC5D;AAEA,SAAS,cAAA,CAAe,EAAE,SAAA,EAAU,EAAwB;AAC1D,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,kBAAA,EAAmB;AACxC,EAAA,uBAAOA,GAAAA,CAAC,qBAAA,EAAA,EAAsB,SAAA,EAAuB,GAAG,QAAA,EAAU,CAAA;AACpE;AAEA,SAAS,aAAA,CAAc,EAAE,SAAA,EAAU,EAAwB;AACzD,EAAA,MAAM,EAAE,aAAA,EAAc,GAAI,kBAAA,EAAmB;AAC7C,EAAA,uBAAOA,GAAAA,CAAC,oBAAA,EAAA,EAAqB,SAAA,EAAuB,GAAG,aAAA,EAAe,CAAA;AACxE;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAU,EAAwB;AACvD,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,kBAAA,EAAmB;AACpC,EAAA,uBAAOA,GAAAA,CAAC,kBAAA,EAAA,EAAmB,SAAA,EAAuB,GAAG,IAAA,EAAM,CAAA;AAC7D;AAGO,IAAM,YAAA,GAA6B;AAAA,EACxC,YAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF;AC3DO,SAAS,iBAAiB,eAAA,EAAuC;AACtE,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,CAAC,iBAAiB,CAAA;AAAA,IAC5B,OAAA,EAAS,MAAoC,kBAAA,EAAmB;AAAA,IAChE,WAAA,EAAa;AAAA,GACd,CAAA;AACH;AAGO,SAAS,eAAA,CACd,aACA,cAAA,EACA;AACA,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,CAAC,gBAAA,EAAkB,WAAW,CAAA;AAAA,IACxC,OAAA,EAAS,MACP,iBAAA,CAAkB,EAAE,MAAM,EAAE,IAAA,EAAM,WAAA,EAAsB,EAAG,CAAA;AAAA,IAC7D,OAAA,EAAS,CAAC,CAAC,WAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACd,CAAA;AACH;AAGO,SAAS,0BAA0B,SAAA,EAA0B;AAClE,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,CAAC,4BAAA,EAA8B,SAAS,CAAA;AAAA,IAClD,OAAA,EAAS,MACP,2BAAA,CAA4B;AAAA,MAC1B,IAAA,EAAM,EAAE,SAAA;AAA+B,KACxC,CAAA;AAAA,IACH,OAAA,EAAS,CAAC,CAAC;AAAA,GACZ,CAAA;AACH;AASO,SAAS,uBAAA,GAA0B;AACxC,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,CAAC,kCAAkC,CAAA;AAAA,IAC7C,OAAA,EAAS,MAAM,gBAAA;AAAiB,GACjC,CAAA;AACH;;;AC/CO,SAAS,qBAAA,CACd,OAAA,EACA,OAAA,EACA,iBAAA,EACS;AACT,EAAA,OAAA,CAAQ,iBAAA,IAAqB,EAAC,EAAG,KAAA,CAAM,CAAC,IAAA,KAAS;AAC/C,IAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,CAAA,EAAG,IAAA,CAAK,IAAI,CAAA,GAAA,CAAK,CAAA;AACxC,IAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,CAAA,EAAG,IAAA,CAAK,IAAI,CAAA,GAAA,CAAK,CAAA;AACxC,IAAA,IAAI,MAAA,KAAW,MAAA,IAAa,MAAA,KAAW,MAAA,EAAW,OAAO,IAAA;AAIzD,IAAA,MAAM,QAAA,GAAW,QAAQ,cAAA,CAAe,MAAA;AAAA,MACtC,CAAC,EAAA,KAAO,EAAA,CAAG,gBAAgB,IAAA,CAAK,EAAA,IAAM,GAAG,aAAA,KAAkB;AAAA,KAC7D;AACA,IAAA,IAAI,QAAA,CAAS,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AAElC,IAAA,OAAO,QAAA,CAAS,IAAA,CAAK,CAAC,EAAA,KAAO;AAC3B,MAAA,MAAM,MAAM,EAAA,CAAG,aAAA;AACf,MAAA,IAAI,GAAA,KAAQ,MAAM,OAAO,KAAA;AACzB,MAAA,IAAI,MAAA,KAAW,MAAA,IAAa,GAAA,GAAO,MAAA,EAAmB,OAAO,KAAA;AAC7D,MAAA,IAAI,MAAA,KAAW,MAAA,IAAa,GAAA,GAAO,MAAA,EAAmB,OAAO,KAAA;AAC7D,MAAA,OAAO,IAAA;AAAA,IACT,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AACH;AAGO,SAAS,oBAAA,CACd,SACA,OAAA,EACS;AACT,EAAA,OAAO,MAAA,CAAO,QAAQ,OAAO,CAAA,CAAE,MAAM,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AACrD,IAAA,IAAI,GAAA,KAAQ,UAAA,IAAc,GAAA,KAAQ,UAAA,IAAc,GAAA,KAAQ,aAAA;AACtD,MAAA,OAAO,IAAA;AACT,IAAA,IAAI,GAAA,CAAI,SAAS,KAAK,CAAA,IAAK,IAAI,QAAA,CAAS,KAAK,GAAG,OAAO,IAAA;AACvD,IAAA,IAAI,CAAC,SAAU,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,IAAK,KAAA,CAAM,MAAA,KAAW,CAAA,EAAI,OAAO,IAAA;AAEnE,IAAA,OAAO,OAAA,CAAQ,cAAA,CAAe,IAAA,CAAK,CAAC,EAAA,KAAO;AACzC,MAAA,IAAI,CAAC,GAAG,SAAA,IAAa,CAAC,MAAM,OAAA,CAAQ,KAAK,GAAG,OAAO,KAAA;AAEnD,MAAA,MAAM,mBAAmB,EAAA,CAAG,SAAA,CAAU,MAAM,GAAG,CAAA,CAAE,OAAO,OAAO,CAAA;AAC/D,MAAA,OAAO,iBAAiB,IAAA,CAAK,CAAC,OAAe,KAAA,CAAM,QAAA,CAAS,EAAE,CAAC,CAAA;AAAA,IACjE,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AACH;AAGO,SAAS,kBAAA,CACd,SACA,OAAA,EACS;AACT,EAAA,MAAM,EAAE,QAAA,EAAU,QAAA,EAAS,GAAI,OAAA;AAC/B,EAAA,IAAI,QAAA,KAAa,MAAA,IAAa,QAAA,KAAa,MAAA,EAAW,OAAO,IAAA;AAC7D,EAAA,IAAI,QAAQ,KAAA,KAAU,IAAA,IAAQ,OAAA,CAAQ,KAAA,KAAU,QAAW,OAAO,IAAA;AAClE,EAAA,IAAI,QAAA,KAAa,MAAA,IAAa,OAAA,CAAQ,KAAA,GAAS,QAAA;AAC7C,IAAA,OAAO,KAAA;AACT,EAAA,IAAI,QAAA,KAAa,MAAA,IAAa,OAAA,CAAQ,KAAA,GAAS,QAAA;AAC7C,IAAA,OAAO,KAAA;AACT,EAAA,OAAO,IAAA;AACT;;;AClDO,SAAS,kBACd,QAAA,EAC0B;AAC1B,EAAA,IAAI,CAAC,QAAA,EAAU,MAAA,EAAQ,OAAO,MAAA;AAC9B,EAAA,MAAM,MAAA,GAAS,QAAA,CACZ,GAAA,CAAI,CAAC,CAAA,KAAM,CAAA,CAAE,KAAK,CAAA,CAClB,MAAA,CAAO,CAAC,CAAA,KAAmB,OAAO,MAAM,QAAQ,CAAA;AACnD,EAAA,IAAI,MAAA,CAAO,MAAA,KAAW,CAAA,EAAG,OAAO,MAAA;AAChC,EAAA,OAAO,EAAE,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,GAAG,MAAM,CAAA,EAAG,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,GAAG,MAAM,CAAA,EAAE;AAC9D;AAGO,SAAS,eAAA,CACd,UACA,SAAA,EACiB;AACjB,EAAA,IAAI,CAAC,QAAA,IAAY,CAAC,SAAA,EAAW,OAAO,QAAA;AACpC,EAAA,OAAO,SAAS,MAAA,CAAO,CAAC,MAAM,CAAA,CAAE,OAAA,EAAS,OAAO,SAAS,CAAA;AAC3D;AAGO,SAAS,oBAAA,CACd,QAAA,EACA,iBAAA,EACA,SAAA,EACe;AACf,EAAA,IAAI,CAAC,QAAA,EAAU,MAAA,IAAU,CAAC,iBAAA,EAAmB,MAAA,SAAe,EAAC;AAE7D,EAAA,MAAM,QAAA,GAAW,eAAA,CAAgB,QAAA,EAAU,SAAS,KAAK,EAAC;AAC1D,EAAA,MAAM,SAAwB,EAAC;AAE/B,EAAA,iBAAA,CAAkB,OAAA,CAAQ,CAAC,IAAA,KAAS;AAClC,IAAA,MAAM,SAAmB,EAAC;AAC1B,IAAA,QAAA,CAAS,OAAA,CAAQ,CAAC,OAAA,KAAY;AAC5B,MAAA,OAAA,CAAQ,cAAA,CAAe,OAAA,CAAQ,CAAC,EAAA,KAAO;AACrC,QAAA,IAAI,GAAG,WAAA,KAAgB,IAAA,CAAK,EAAA,IAAM,EAAA,CAAG,kBAAkB,IAAA,EAAM;AAC3D,UAAA,MAAA,CAAO,IAAA,CAAK,GAAG,aAAa,CAAA;AAAA,QAC9B;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AAED,IAAA,IAAI,MAAA,CAAO,SAAS,CAAA,EAAG;AACrB,MAAA,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,GAAI;AAAA,QAClB,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,GAAG,MAAM,CAAA;AAAA,QACvB,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,GAAG,MAAM;AAAA,OACzB;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO,MAAA;AACT;AAGA,SAAS,YAAA,CACP,UACA,MAAA,EACK;AACL,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,WAAA;AACH,MAAA,OAAO,QAAA,CAAS,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAA,CAAO,EAAE,KAAA,IAAS,CAAA,KAAM,CAAA,CAAE,KAAA,IAAS,CAAA,CAAE,CAAA;AAAA,IAChE,KAAK,YAAA;AACH,MAAA,OAAO,QAAA,CAAS,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAA,CAAO,EAAE,KAAA,IAAS,CAAA,KAAM,CAAA,CAAE,KAAA,IAAS,CAAA,CAAE,CAAA;AAAA,IAChE,KAAK,QAAA;AACH,MAAA,OAAO,QAAA,CAAS,IAAA;AAAA,QACd,CAAC,CAAA,EAAG,CAAA,KACF,IAAI,KAAK,CAAA,CAAE,UAAU,CAAA,CAAE,OAAA,KAAY,IAAI,IAAA,CAAK,CAAA,CAAE,UAAU,EAAE,OAAA;AAAQ,OACtE;AAAA,IACF;AACE,MAAA,OAAO,QAAA;AAAA;AAEb;AAGO,SAAS,sBACd,QAAA,EACA,EAAE,SAAS,MAAA,EAAQ,SAAA,EAAW,mBAAkB,EAC3C;AACL,EAAA,IAAI,CAAC,QAAA,EAAU,OAAO,EAAC;AAEvB,EAAA,MAAM,UAAU,eAAA,CAAgB,QAAA,EAAU,SAAS,CAAA,IAAK,EAAC,EAAG,MAAA;AAAA,IAC1D,CAAC,OAAA,KAAA,CACE,CAAC,QAAQ,WAAA,IAAe,OAAA,CAAQ,gBACjC,oBAAA,CAAqB,OAAA,EAAS,OAAO,CAAA,IACrC,sBAAsB,OAAA,EAAS,OAAA,EAAS,iBAAiB,CAAA,IACzD,kBAAA,CAAmB,SAAS,OAAO;AAAA,GACvC;AAEA,EAAA,OAAO,YAAA,CAAa,QAAQ,MAAM,CAAA;AACpC;;;AC1FA,SAAS,UACP,GAAA,EACA,KAAA,EACA,KACA,GAAA,EACA,MAAA,EACA,SAAS,EAAA,EACS;AAClB,EAAA,MAAM,IAAA,GAAO,GAAA,IAAO,MAAA,EAAQ,GAAA,IAAO,CAAA;AACnC,EAAA,MAAM,EAAA,GAAK,GAAA,IAAO,MAAA,EAAQ,GAAA,IAAO,QAAA;AACjC,EAAA,OAAO;AAAA,IACL,GAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAO,CAAA,EAAG,IAAI,CAAA,GAAA,EAAM,EAAE,GAAG,MAAM,CAAA,CAAA;AAAA,IAC/B,IAAA,EAAM,GAAA,KAAQ,OAAA,GAAU,OAAA,GAAU;AAAA,GACpC;AACF;AAOO,SAAS,sBAAA,CACd,OAAA,EACA,CAAA,EACA,OAAA,EACoB;AACpB,EAAA,MAAM,QAA4B,EAAC;AAEnC,EAAA,IAAI,OAAA,CAAQ,QAAA,KAAa,MAAA,IAAa,OAAA,CAAQ,aAAa,MAAA,EAAW;AACpE,IAAA,KAAA,CAAM,IAAA;AAAA,MACJ,SAAA;AAAA,QACE,OAAA;AAAA,QACA,EAAE,cAAc,CAAA;AAAA,QAChB,OAAA,CAAQ,QAAA;AAAA,QACR,OAAA,CAAQ,QAAA;AAAA,QACR,OAAA,CAAQ,UAAA;AAAA,QACR;AAAA;AACF,KACF;AAAA,EACF;AAEA,EAAA,OAAA,CAAQ,iBAAA,EAAmB,OAAA,CAAQ,CAAC,IAAA,KAAS;AAC3C,IAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,CAAA,EAAG,IAAA,CAAK,IAAI,CAAA,GAAA,CAAK,CAAA;AACrC,IAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,CAAA,EAAG,IAAA,CAAK,IAAI,CAAA,GAAA,CAAK,CAAA;AACrC,IAAA,IAAI,GAAA,KAAQ,MAAA,IAAa,GAAA,KAAQ,MAAA,EAAW;AAC5C,IAAA,KAAA,CAAM,IAAA;AAAA,MACJ,SAAA;AAAA,QACE,IAAA,CAAK,IAAA;AAAA,QACL,IAAA,CAAK,IAAA;AAAA,QACL,GAAA;AAAA,QACA,GAAA;AAAA,QACA,OAAA,CAAQ,aAAA,CAAc,IAAA,CAAK,IAAI;AAAA;AACjC,KACF;AAAA,EACF,CAAC,CAAA;AAED,EAAA,MAAA,CAAO,OAAA,CAAQ,OAAO,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AAChD,IAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AAC3B,IAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,QAAA,KAAqB;AAClC,MAAA,MAAM,MAAA,GAAS,QAAQ,eAAA,EAAiB,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,OAAO,QAAQ,CAAA;AACrE,MAAA,IAAI,CAAC,MAAA,EAAQ;AACb,MAAA,MAAM,QAAQ,MAAA,CAAO,kBAAA;AACrB,MAAA,KAAA,CAAM,IAAA,CAAK;AAAA,QACT,GAAA;AAAA,QACA,KAAA,EAAO,OAAO,IAAA,IAAQ,GAAA;AAAA,QACtB,OAAO,MAAA,CAAO,IAAA;AAAA,QACd,IAAA,EAAM,QAAA;AAAA,QACN;AAAA,OACD,CAAA;AAAA,IACH,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AAED,EAAA,OAAO,KAAA;AACT;;;ACnFO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,OAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF,CAAA,EAA4B;AAC1B,EAAA,MAAM,IAAI,IAAA,EAAK;AAEf,EAAA,MAAM,KAAA,GAAQ,OAAA;AAAA,IACZ,MACE,sBAAA,CAAuB,OAAA,EAAS,CAAA,EAAG;AAAA,MACjC,UAAA;AAAA,MACA,aAAA;AAAA,MACA,iBAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,IACH,CAAC,OAAA,EAAS,CAAA,EAAG,UAAA,EAAY,aAAA,EAAe,mBAAmB,eAAe;AAAA,GAC5E;AAEA,EAAA,MAAM,cAAA,GAAiB,WAAA;AAAA,IACrB,CAAC,MAAA,KAA6D;AAC5D,MAAA,MAAM,IAAA,GAAO,EAAE,GAAG,OAAA,EAAQ;AAE1B,MAAA,IAAI,MAAA,CAAO,SAAS,OAAA,EAAS;AAC3B,QAAA,OAAO,IAAA,CAAK,QAAA;AACZ,QAAA,OAAO,IAAA,CAAK,QAAA;AAAA,MACd,CAAA,MAAA,IAAW,MAAA,CAAO,IAAA,KAAS,OAAA,EAAS;AAClC,QAAA,OAAO,IAAA,CAAK,CAAA,EAAG,MAAA,CAAO,GAAG,CAAA,GAAA,CAAK,CAAA;AAC9B,QAAA,OAAO,IAAA,CAAK,CAAA,EAAG,MAAA,CAAO,GAAG,CAAA,GAAA,CAAK,CAAA;AAAA,MAChC,CAAA,MAAA,IAAW,MAAA,CAAO,IAAA,KAAS,QAAA,IAAY,OAAO,QAAA,EAAU;AACtD,QAAA,MAAM,OAAA,GAAW,IAAA,CAAK,MAAA,CAAO,GAAG,KAAkB,EAAC;AACnD,QAAA,MAAM,UAAU,OAAA,CAAQ,MAAA,CAAO,CAAC,EAAA,KAAO,EAAA,KAAO,OAAO,QAAQ,CAAA;AAC7D,QAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,UAAA,IAAA,CAAK,MAAA,CAAO,GAAG,CAAA,GAAI,OAAA;AAAA,QACrB,CAAA,MAAO;AACL,UAAA,OAAO,IAAA,CAAK,OAAO,GAAG,CAAA;AAAA,QACxB;AAAA,MACF;AAEA,MAAA,UAAA,CAAW,IAAI,CAAA;AAAA,IACjB,CAAA;AAAA,IACA,CAAC,SAAS,UAAU;AAAA,GACtB;AAEA,EAAA,MAAM,UAAA,GAAa,YAAY,MAAM,UAAA,CAAW,EAAE,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEjE,EAAA,OAAO,EAAE,KAAA,EAAO,cAAA,EAAgB,UAAA,EAAW;AAC7C;AChDO,SAAS,wBAAwB,SAAA,EAAsC;AAC5E,EAAA,OAAOC,QAAAA,CAAS;AAAA,IACd,QAAA,EACE,cAAc,MAAA,GACV,CAAC,cAAc,CAAA,GACf,CAAC,oBAAoB,SAAS,CAAA;AAAA,IACpC,OAAA,EAAS,MACP,kBAAA,CAAmB;AAAA,MACjB,IAAA,EAAM,SAAA,GAAY,EAAE,SAAA,KAAc;AAAC,KACpC,CAAA;AAAA,IACH,SAAS,SAAA,KAAc;AAAA,GACxB,CAAA;AACH;ACZO,SAAS,kBACd,WAAA,EACA;AACA,EAAA,MAAM,EAAE,WAAA,EAAa,kBAAA,EAAmB,GAAI,YAAA,EAAa;AACzD,EAAA,MAAM,EAAE,IAAA,EAAM,cAAA,GAAiB,EAAC,KAAM,iBAAA,EAAkB;AACxD,EAAA,MAAM,cAAc,kBAAA,EAAmB;AAEvC,EAAA,OAAOC,QAAQ,MAAM;AACnB,IAAA,IAAI,CAAC,aAAa,OAAO,MAAA;AAEzB,IAAA,OAAO,WAAA,CAAY,GAAA,CAAI,CAAC,CAAA,KAAM;AAC5B,MAAA,MAAM,MAAA,GAAU,CAAA,CAAE,cAAA,IAAkB,EAAC;AACrC,MAAA,MAAM,UAAA,GACJ,CAAA,CAAE,iBAAA,IAAqB,CAAA,CAAE,aAAA,GAAgB,CAAC,CAAA,GAAI,CAAA,CAAE,aAAA,CAAc,CAAC,CAAA,GAAI,IAAA;AACrE,MAAA,MAAM,QAAA,GAAW,YAAA;AAAA,QACf,MAAA;AAAA,QACA,WAAA;AAAA,QACA,kBAAA;AAAA,QACA,YAAY,EAAA,IAAM;AAAA,OACpB;AAEA,MAAA,IAAI,aAAa,QAAA,CAAS,KAAA;AAC1B,MAAA,IAAI,WAAW,QAAA,CAAS,QAAA;AAExB,MAAA,IAAI,UAAA,KAAe,IAAA,IAAQ,cAAA,CAAe,MAAA,GAAS,CAAA,EAAG;AACpD,QAAA,MAAM,MAAA,GAAS,aAAA,CAAc,UAAA,EAAY,cAAA,EAAgB;AAAA,UACvD,GAAG,WAAA;AAAA,UACH,QAAA,EAAU,CAAA;AAAA;AAAA,UAEV,SAAA,EAAW,CAAA;AAAA,UACX,WAAW,CAAA,CAAE,EAAA;AAAA,UACb,cAAA,EAAgB,YAAY,EAAA,IAAM,IAAA;AAAA;AAAA;AAAA;AAAA,UAIlC,SAAA,EAAW,CAAA,CAAE,OAAA,EAAS,EAAA,IAAM,EAAE,UAAA,IAAc;AAAA,SAC7C,CAAA;AACD,QAAA,IAAI,MAAA,CAAO,gBAAgB,CAAA,EAAG;AAC5B,UAAA,QAAA,GAAW,UAAA;AACX,UAAA,UAAA,GAAa,MAAA,CAAO,UAAA;AAAA,QACtB;AAAA,MACF;AAEA,MAAA,MAAM,cAAc,CAAA,CAAE,iBAAA,GACjB,YAAY,YAAA,IAAgB,UAAA,GAC5B,EAAE,YAAA,IAAgB,UAAA;AAEvB,MAAA,OAAO;AAAA,QACL,GAAG,CAAA;AAAA,QACH,KAAA,EAAO,UAAA;AAAA,QACP,SAAA,EAAW,QAAA;AAAA,QACX,YAAA,EAAc;AAAA,OAChB;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA,EAAG;AAAA,IACD,WAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACD,CAAA;AACH;;;ACpCO,SAAS,oBAAA,CAAqB;AAAA,EACnC,SAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAA,GAA8B,EAAC,EAAsB;AACnD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,QAAA,CAA8B,EAAE,CAAA;AAC9D,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAA4B,SAAS,CAAA;AACjE,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAA0B,MAAM,CAAA;AAChE,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,QAAA;AAAA,IAChD;AAAA,GACF;AAGA,EAAA,MAAM,SAAS,SAAA,KAAc,MAAA;AAC7B,EAAA,MAAM,eAAA,GAAkB,MAAA,GAAU,SAAA,IAAa,IAAA,GAAQ,iBAAA;AAIvD,EAAA,MAAM,WAAA,GAAc,mBAAmB,EAAC;AAExC,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAS,GAAI,iBAAiB,eAAe,CAAA;AAC3D,EAAA,MAAM,EAAE,IAAA,EAAM,WAAA,EAAa,WAAW,eAAA,EAAgB,GACpD,wBAAwB,SAAS,CAAA;AACnC,EAAA,MAAM,QAAA,GAAW,kBAAkB,WAAW,CAAA;AAC9C,EAAA,MAAM,EAAE,IAAA,EAAM,iBAAA,EAAkB,GAC9B,0BAA0B,eAAe,CAAA;AAC3C,EAAA,MAAM,EAAE,IAAA,EAAM,eAAA,EAAgB,GAAI,uBAAA,EAAwB;AAE1D,EAAA,MAAM,gBAAA,GAAmBA,OAAAA;AAAA,IACvB,MAAM,UAAU,GAAA,CAAI,CAAC,MAAM,CAAA,CAAE,EAAE,KAAK,EAAC;AAAA,IACrC,CAAC,QAAQ;AAAA,GACX;AACA,EAAA,MAAM,EAAE,IAAA,EAAM,WAAA,EAAY,GAAI,kBAAkB,gBAAgB,CAAA;AAEhE,EAAA,MAAM,UAAA,GAAaA,QAAQ,MAAM,iBAAA,CAAkB,QAAQ,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AACxE,EAAA,MAAM,aAAA,GAAgBA,OAAAA;AAAA,IACpB,MAAM,oBAAA,CAAqB,QAAA,EAAU,iBAAA,EAAmB,eAAe,CAAA;AAAA,IACvE,CAAC,QAAA,EAAU,iBAAA,EAAmB,eAAe;AAAA,GAC/C;AACA,EAAA,MAAM,gBAAA,GAAmBA,OAAAA;AAAA,IACvB,MACE,sBAAsB,QAAA,EAAU;AAAA,MAC9B,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,EAAW,eAAA;AAAA,MACX;AAAA,KACD,CAAA;AAAA,IACH,CAAC,QAAA,EAAU,OAAA,EAAS,MAAA,EAAQ,iBAAiB,iBAAiB;AAAA,GAChE;AACA,EAAA,MAAM,eAAA,GAAkBA,OAAAA;AAAA,IACtB,MAAM,eAAA,CAAgB,QAAA,EAAU,eAAe,CAAA;AAAA,IAC/C,CAAC,UAAU,eAAe;AAAA,GAC5B;AAEA,EAAA,MAAM,EAAE,KAAA,EAAO,cAAA,EAAgB,UAAA,KAAe,gBAAA,CAAiB;AAAA,IAC7D,OAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACD,CAAA;AAGD,EAAA,MAAM,eAAA,GAAkBC,WAAAA,CAAY,CAAC,IAAA,KAAwB;AAC3D,IAAA,oBAAA,CAAqB,IAAI,CAAA;AACzB,IAAA,UAAA,CAAW,EAAE,CAAA;AAAA,EACf,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,QAAA,GAA4B;AAAA,IAChC,KAAA,EAAO,MAAA,GACH,EAAE,IAAA,EAAM,MAAA,EAAQ,QAAA,EAAU,QAAA,IAAY,EAAC,EAAG,QAAA,EAAU,SAAA,IAAa,EAAA,EAAG,GACpE;AAAA,MACE,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU,YAAY,EAAC;AAAA,MACvB,UAAA,EAAY,iBAAA;AAAA,MACZ,QAAA,EAAU;AAAA,KACZ;AAAA,IACJ,OAAA,EAAS;AAAA,MACP,WAAW,eAAA,IAAmB,MAAA;AAAA,MAC9B,OAAA;AAAA,MACA,cAAA,EAAgB,UAAA;AAAA,MAChB,UAAA;AAAA,MACA,qBAAA,EAAuB,aAAA;AAAA,MACvB,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,IAAA,EAAM,EAAE,KAAA,EAAO,MAAA,EAAQ,UAAU,SAAA,EAAU;AAAA,IAC3C,QAAA,EAAU,EAAE,KAAA,EAAO,QAAA,EAAU,UAAU,WAAA,EAAY;AAAA,IACnD,aAAA,EAAe,EAAE,OAAA,EAAS,KAAA,EAAO,gBAAgB,UAAA,EAAW;AAAA,IAC5D,IAAA,EAAM;AAAA,MACJ,QAAA,EAAU,WAAA;AAAA,MACV,QAAA,EAAU,WAAW,gBAAA,GAAmB,MAAA;AAAA,MACxC,SAAA,EAAW,eAAA;AAAA,MACX,QAAA;AAAA,MACA,OAAA,EAAS,WAAA;AAAA,MACT,cAAA,EAAgB;AAAA;AAClB,GACF;AAEA,EAAA,OAAO;AAAA,IACL,YAAA,EAAc,QAAA,GAAW,gBAAA,CAAiB,MAAA,GAAS,WAAA,CAAY,MAAA;AAAA,IAC/D;AAAA,GACF;AACF","file":"chunk-PUHHIN2C.js","sourcesContent":["// Хлібні крихти каталогу й сторінки розділу.\n\nimport type { Translator } from 'simplycms/i18n';\nimport type { BreadcrumbItem } from 'simplycms/contracts/views';\n\n/** Головна → каталог (остання ланка без `href` — рендериться текстом). */\nexport function buildCatalogBreadcrumbs(t: Translator): BreadcrumbItem[] {\n return [\n { label: t('breadcrumbs.home'), href: '/' },\n { label: t('catalog.title') },\n ];\n}\n\n/** Головна → каталог → розділ. */\nexport function buildSectionBreadcrumbs(\n t: Translator,\n sectionName: string,\n): BreadcrumbItem[] {\n return [\n { label: t('breadcrumbs.home'), href: '/' },\n { label: t('catalog.title'), href: '/catalog' },\n { label: sectionName },\n ];\n}\n","// Прив'язки slot-компонентів каталогу (контракт тем v3, Фаза 4).\n\nimport { createContext, useContext, type ReactNode } from 'react';\nimport type { CatalogFiltersProps } from '../../views/slots/CatalogFilters';\nimport type { CatalogProductGridProps } from '../../views/slots/CatalogProductGrid';\nimport type {\n CatalogFilterChipsProps,\n CatalogLinkChipsProps,\n} from '../../views/slots/CatalogSectionChips';\nimport type {\n CatalogActiveFiltersProps,\n CatalogSortSelectProps,\n CatalogViewModeToggleProps,\n} from '../../views/slots/CatalogToolbarSlots';\n\n/**\n * Чипси розділів — один реквізит із двома поведінками: у каталозі вони\n * перемикають вибірку на місці, на сторінці розділу ведуть лінками. Вибір\n * робить контейнер, тема лише ставить слот у свій лейаут.\n */\nexport type CatalogChipsBinding =\n | ({ mode: 'filter' } & Omit<CatalogFilterChipsProps, 'className'>)\n | ({ mode: 'link' } & Omit<CatalogLinkChipsProps, 'className'>);\n\n/** Усе, що контейнер прибінджує до реквізитів каталогу. */\nexport interface CatalogBindings {\n chips: CatalogChipsBinding;\n filters: Omit<CatalogFiltersProps, 'className'>;\n sort: Omit<CatalogSortSelectProps, 'className'>;\n viewMode: Omit<CatalogViewModeToggleProps, 'className'>;\n activeFilters: Omit<CatalogActiveFiltersProps, 'className'>;\n grid: Omit<CatalogProductGridProps, 'className'>;\n}\n\nconst BindingsContext = createContext<CatalogBindings | null>(null);\n\n/**\n * 🔴 Прив'язки їдуть контекстом, а не замиканнями: компоненти слотів мають\n * бути модуль-рівневими й сталими, інакше React перемонтовував би піддерева\n * реквізитів (фільтри з власними запитами, сітку товарів) щорендеру.\n */\nexport function CatalogSlotBindings({\n value,\n children,\n}: {\n value: CatalogBindings;\n children: ReactNode;\n}) {\n return (\n <BindingsContext.Provider value={value}>\n {children}\n </BindingsContext.Provider>\n );\n}\n\nexport function useCatalogBindings(): CatalogBindings {\n const value = useContext(BindingsContext);\n if (!value) {\n throw new Error(\n 'Catalog slots must be rendered inside <CatalogSlotBindings>',\n );\n }\n return value;\n}\n","// Слоти каталогу, прибінджені до контейнера (контракт тем v3, Фаза 4).\n//\n// Набір ОДИН на дві сторінки: каталог і розділ розходяться лише даними\n// прив'язок, тож тема, яка перевизначила `Catalog`, отримує ті самі реквізити,\n// що й на `CatalogSection`.\n\nimport type {\n CatalogSlots,\n SlotAppearanceProps,\n} from 'simplycms/contracts/views';\nimport { CatalogFilters } from '../../views/slots/CatalogFilters';\nimport { CatalogProductGrid } from '../../views/slots/CatalogProductGrid';\nimport {\n CatalogFilterChips,\n CatalogLinkChips,\n} from '../../views/slots/CatalogSectionChips';\nimport {\n CatalogActiveFilters,\n CatalogSortSelect,\n CatalogViewModeToggle,\n} from '../../views/slots/CatalogToolbarSlots';\nimport { useCatalogBindings } from './slot-context';\n\nfunction SectionChips({ className }: SlotAppearanceProps) {\n const { chips } = useCatalogBindings();\n\n if (chips.mode === 'link') {\n return (\n <CatalogLinkChips\n className={className}\n sections={chips.sections}\n activeId={chips.activeId}\n />\n );\n }\n\n return (\n <CatalogFilterChips\n className={className}\n sections={chips.sections}\n selectedId={chips.selectedId}\n onSelect={chips.onSelect}\n />\n );\n}\n\nfunction Filters({ className }: SlotAppearanceProps) {\n const { filters } = useCatalogBindings();\n return <CatalogFilters className={className} {...filters} />;\n}\n\nfunction SortSelect({ className }: SlotAppearanceProps) {\n const { sort } = useCatalogBindings();\n return <CatalogSortSelect className={className} {...sort} />;\n}\n\nfunction ViewModeToggle({ className }: SlotAppearanceProps) {\n const { viewMode } = useCatalogBindings();\n return <CatalogViewModeToggle className={className} {...viewMode} />;\n}\n\nfunction ActiveFilters({ className }: SlotAppearanceProps) {\n const { activeFilters } = useCatalogBindings();\n return <CatalogActiveFilters className={className} {...activeFilters} />;\n}\n\nfunction ProductGrid({ className }: SlotAppearanceProps) {\n const { grid } = useCatalogBindings();\n return <CatalogProductGrid className={className} {...grid} />;\n}\n\n/** Сталий набір реквізитів каталогу — саме він їде у view-model. */\nexport const catalogSlots: CatalogSlots = {\n SectionChips,\n Filters,\n SortSelect,\n ViewModeToggle,\n ActiveFilters,\n ProductGrid,\n};\n","// Довідкові запити каталогу: розділи, числові характеристики, опції\n// характеристик (контракт тем v3, Фаза 4).\n//\n// 🔴 Усі — через `createServerFn`. Ті самі вибірки робить SSR-лоадер, тож\n// клієнт і сервер відповідають ОДНИМ запитом, а не двома схожими: розділи\n// після гідрації вже не можуть розійтися з тими, що в серверному HTML.\n\nimport { useQuery } from '@tanstack/react-query';\nimport {\n getCatalogSection,\n getCatalogSections,\n getFilterOptions,\n getSectionNumericProperties,\n} from '../../server/catalog';\nimport type { SectionRow } from 'simplycms/storefront/loaders';\n\n/** Рядок розділу у формі, яку віддає SSR-лоадер і споживають чипси. */\nexport type CatalogSectionRow = SectionRow;\n\n/** Усі активні розділи — чипси над списком товарів. */\nexport function useSectionsQuery(initialSections?: CatalogSectionRow[]) {\n return useQuery({\n queryKey: ['public-sections'],\n queryFn: (): Promise<CatalogSectionRow[]> => getCatalogSections(),\n initialData: initialSections,\n });\n}\n\n/** Розділ поточної сторінки за slug-ом. */\nexport function useSectionQuery(\n sectionSlug: string | undefined,\n initialSection?: CatalogSectionRow,\n) {\n return useQuery({\n queryKey: ['public-section', sectionSlug],\n queryFn: (): Promise<CatalogSectionRow | null> =>\n getCatalogSection({ data: { slug: sectionSlug as string } }),\n enabled: !!sectionSlug,\n initialData: initialSection,\n });\n}\n\n/** Числові характеристики розділу, за якими можна фільтрувати. */\nexport function useNumericPropertiesQuery(sectionId: string | null) {\n return useQuery({\n queryKey: ['section-numeric-properties', sectionId],\n queryFn: () =>\n getSectionNumericProperties({\n data: { sectionId: sectionId as string },\n }),\n enabled: !!sectionId,\n });\n}\n\n/**\n * Опції характеристик — назви для бейджів активних фільтрів.\n *\n * 🔴 Ключ без розділу навмисно: запит вибирає опції ЦІЛКОМ і розділу не\n * знає, тож розділ у ключі давав би зайвий рефетч тих самих даних на кожне\n * перемикання чипсів (так було до спліту, окремими ключами на двох сторінках).\n */\nexport function usePropertyOptionsQuery() {\n return useQuery({\n queryKey: ['all-property-options-for-filters'],\n queryFn: () => getFilterOptions(),\n });\n}\n","// Предикати фільтрів вибірки каталогу (контракт тем v3, Фаза 4).\n// Чисті функції «товар × стан фільтрів → чи лишається товар у вибірці».\n\nimport type { CatalogFiltersState, NumericProperty } from './types';\n\n/** Мінімум полів товару, потрібний фільтрам і сортуванню. */\nexport interface FilterableProduct {\n price: number | null;\n created_at: string;\n isAvailable: boolean;\n section: { id: string } | null;\n propertyValues: Array<{\n property_id: string;\n numeric_value: number | null;\n option_id: string | null;\n }>;\n}\n\n/** Фільтри-діапазони числових характеристик. */\nexport function matchesNumericFilters(\n product: FilterableProduct,\n filters: CatalogFiltersState,\n numericProperties: NumericProperty[] | undefined,\n): boolean {\n return (numericProperties ?? []).every((prop) => {\n const minVal = filters[`${prop.slug}Min`];\n const maxVal = filters[`${prop.slug}Max`];\n if (minVal === undefined && maxVal === undefined) return true;\n\n // Значення можуть прийти з кількох модифікацій — досить одного влучання;\n // товар без цієї характеристики з вибірки випадає.\n const matching = product.propertyValues.filter(\n (pv) => pv.property_id === prop.id && pv.numeric_value !== null,\n );\n if (matching.length === 0) return false;\n\n return matching.some((pv) => {\n const val = pv.numeric_value;\n if (val === null) return false;\n if (minVal !== undefined && val < (minVal as number)) return false;\n if (maxVal !== undefined && val > (maxVal as number)) return false;\n return true;\n });\n });\n}\n\n/** Фільтри-опції (мультивибір за `option_id`). */\nexport function matchesOptionFilters(\n product: FilterableProduct,\n filters: CatalogFiltersState,\n): boolean {\n return Object.entries(filters).every(([key, value]) => {\n if (key === 'priceMin' || key === 'priceMax' || key === 'inStockOnly')\n return true;\n if (key.endsWith('Min') || key.endsWith('Max')) return true;\n if (!value || (Array.isArray(value) && value.length === 0)) return true;\n\n return product.propertyValues.some((pv) => {\n if (!pv.option_id || !Array.isArray(value)) return false;\n // Мультивибір зберігає кілька option_id через кому.\n const productOptionIds = pv.option_id.split(',').filter(Boolean);\n return productOptionIds.some((id: string) => value.includes(id));\n });\n });\n}\n\n/** Фільтр ціни; товар без ціни ним не відсіюється. */\nexport function matchesPriceFilter(\n product: FilterableProduct,\n filters: CatalogFiltersState,\n): boolean {\n const { priceMin, priceMax } = filters;\n if (priceMin === undefined && priceMax === undefined) return true;\n if (product.price === null || product.price === undefined) return true;\n if (priceMin !== undefined && product.price < (priceMin as number))\n return false;\n if (priceMax !== undefined && product.price > (priceMax as number))\n return false;\n return true;\n}\n","// Чиста вибірка каталогу: розділ, фільтри, сортування, похідні діапазони\n// (контракт тем v3, Фаза 4). Без хуків і без запитів — логіка вибірки\n// перевіряється окремо від UI і спільна для каталогу й сторінки розділу.\n\nimport type { CatalogSortOption } from '../../views/slots/CatalogToolbarSlots';\nimport {\n matchesNumericFilters,\n matchesOptionFilters,\n matchesPriceFilter,\n type FilterableProduct,\n} from './filter-predicates';\nimport type {\n CatalogFiltersState,\n NumericProperty,\n NumericRange,\n NumericRanges,\n} from './types';\n\nexport type { FilterableProduct };\n\nexport interface FilterAndSortOptions {\n filters: CatalogFiltersState;\n sortBy: CatalogSortOption;\n /** Розділ поточної вибірки; `null` — усі товари. */\n sectionId: string | null;\n numericProperties: NumericProperty[] | undefined;\n}\n\n/** Межі цін вибірки — початкові значення слайдера фільтра. */\nexport function computePriceRange<T extends { price: number | null }>(\n products: T[] | undefined,\n): NumericRange | undefined {\n if (!products?.length) return undefined;\n const prices = products\n .map((p) => p.price)\n .filter((p): p is number => typeof p === 'number');\n if (prices.length === 0) return undefined;\n return { min: Math.min(...prices), max: Math.max(...prices) };\n}\n\n/** Товари поточного розділу; без розділу — вибірка цілком. */\nexport function filterBySection<T extends { section: { id: string } | null }>(\n products: T[] | undefined,\n sectionId: string | null,\n): T[] | undefined {\n if (!products || !sectionId) return products;\n return products.filter((p) => p.section?.id === sectionId);\n}\n\n/** Межі числових характеристик по товарах поточного розділу. */\nexport function computeNumericRanges<T extends FilterableProduct>(\n products: T[] | undefined,\n numericProperties: NumericProperty[] | undefined,\n sectionId: string | null,\n): NumericRanges {\n if (!products?.length || !numericProperties?.length) return {};\n\n const relevant = filterBySection(products, sectionId) ?? [];\n const ranges: NumericRanges = {};\n\n numericProperties.forEach((prop) => {\n const values: number[] = [];\n relevant.forEach((product) => {\n product.propertyValues.forEach((pv) => {\n if (pv.property_id === prop.id && pv.numeric_value !== null) {\n values.push(pv.numeric_value);\n }\n });\n });\n\n if (values.length > 0) {\n ranges[prop.slug] = {\n min: Math.min(...values),\n max: Math.max(...values),\n };\n }\n });\n\n return ranges;\n}\n\n/** Сортування вибірки; `popular` — порядок джерела. */\nfunction sortProducts<T extends FilterableProduct>(\n products: T[],\n sortBy: CatalogSortOption,\n): T[] {\n switch (sortBy) {\n case 'price_asc':\n return products.sort((a, b) => (a.price || 0) - (b.price || 0));\n case 'price_desc':\n return products.sort((a, b) => (b.price || 0) - (a.price || 0));\n case 'newest':\n return products.sort(\n (a, b) =>\n new Date(b.created_at).getTime() - new Date(a.created_at).getTime(),\n );\n default:\n return products;\n }\n}\n\n/** Вибірка після всіх фільтрів і сортування. */\nexport function filterAndSortProducts<T extends FilterableProduct>(\n products: T[] | undefined,\n { filters, sortBy, sectionId, numericProperties }: FilterAndSortOptions,\n): T[] {\n if (!products) return [];\n\n const result = (filterBySection(products, sectionId) ?? []).filter(\n (product) =>\n (!filters.inStockOnly || product.isAvailable) &&\n matchesOptionFilters(product, filters) &&\n matchesNumericFilters(product, filters, numericProperties) &&\n matchesPriceFilter(product, filters),\n );\n\n return sortProducts(result, sortBy);\n}\n","// Складання бейджів активних фільтрів (контракт тем v3, Фаза 4).\n// Чиста функція «стан фільтрів → що показати над вибіркою».\n\nimport type { Translator } from 'simplycms/i18n';\nimport type {\n ActiveFilterChip,\n CatalogFiltersState,\n NumericProperty,\n NumericRange,\n NumericRanges,\n} from './types';\n\n/** Опція характеристики; назву групи читаємо з приєднаної гілки. */\nexport interface PropertyOptionRow {\n id: string;\n name: string;\n section_properties: unknown;\n}\n\nexport interface ChipSources {\n priceRange: NumericRange | undefined;\n numericRanges: NumericRanges;\n numericProperties: NumericProperty[] | undefined;\n propertyOptions: PropertyOptionRow[] | undefined;\n}\n\n/** Бейдж діапазону: показує обрані межі, а пропущені — межами вибірки. */\nfunction rangeChip(\n key: string,\n label: string,\n min: unknown,\n max: unknown,\n bounds: NumericRange | undefined,\n suffix = '',\n): ActiveFilterChip {\n const from = min ?? bounds?.min ?? 0;\n const to = max ?? bounds?.max ?? '∞';\n return {\n key,\n label,\n value: `${from} - ${to}${suffix}`,\n type: key === 'price' ? 'price' : 'range',\n };\n}\n\n/**\n * Порядок бейджів — ціна, діапазони, опції; до спліту він повторював порядок\n * ключів у стані фільтрів. Різниця суто косметична (склад бейджів той самий),\n * зате зникає дедуплікація пар `…Min`/`…Max` пошуком по вже зібраному списку.\n */\nexport function buildActiveFilterChips(\n filters: CatalogFiltersState,\n t: Translator,\n sources: ChipSources,\n): ActiveFilterChip[] {\n const chips: ActiveFilterChip[] = [];\n\n if (filters.priceMin !== undefined || filters.priceMax !== undefined) {\n chips.push(\n rangeChip(\n 'price',\n t('common.price'),\n filters.priceMin,\n filters.priceMax,\n sources.priceRange,\n ' ₴',\n ),\n );\n }\n\n sources.numericProperties?.forEach((prop) => {\n const min = filters[`${prop.slug}Min`];\n const max = filters[`${prop.slug}Max`];\n if (min === undefined && max === undefined) return;\n chips.push(\n rangeChip(\n prop.slug,\n prop.slug,\n min,\n max,\n sources.numericRanges[prop.slug],\n ),\n );\n });\n\n Object.entries(filters).forEach(([key, value]) => {\n if (!Array.isArray(value)) return;\n value.forEach((optionId: string) => {\n const option = sources.propertyOptions?.find((o) => o.id === optionId);\n if (!option) return;\n const group = option.section_properties as { name: string } | null;\n chips.push({\n key,\n label: group?.name || key,\n value: option.name,\n type: 'option',\n optionId,\n });\n });\n });\n\n return chips;\n}\n","// Бейджі активних фільтрів і їх зняття (контракт тем v3, Фаза 4).\n\nimport { useCallback, useMemo } from 'react';\nimport { useT } from 'simplycms/i18n';\nimport {\n buildActiveFilterChips,\n type ChipSources,\n type PropertyOptionRow,\n} from './active-filter-chips';\nimport type { CatalogFiltersState } from './types';\n\nexport type { PropertyOptionRow };\n\ninterface UseActiveFiltersOptions extends ChipSources {\n filters: CatalogFiltersState;\n setFilters: (filters: CatalogFiltersState) => void;\n}\n\n/** Список бейджів активних фільтрів + обробники їх зняття. */\nexport function useActiveFilters({\n filters,\n setFilters,\n priceRange,\n numericRanges,\n numericProperties,\n propertyOptions,\n}: UseActiveFiltersOptions) {\n const t = useT();\n\n const chips = useMemo(\n () =>\n buildActiveFilterChips(filters, t, {\n priceRange,\n numericRanges,\n numericProperties,\n propertyOptions,\n }),\n [filters, t, priceRange, numericRanges, numericProperties, propertyOptions],\n );\n\n const onRemoveFilter = useCallback(\n (filter: { key: string; type: string; optionId?: string }) => {\n const next = { ...filters };\n\n if (filter.type === 'price') {\n delete next.priceMin;\n delete next.priceMax;\n } else if (filter.type === 'range') {\n delete next[`${filter.key}Min`];\n delete next[`${filter.key}Max`];\n } else if (filter.type === 'option' && filter.optionId) {\n const current = (next[filter.key] as string[]) || [];\n const updated = current.filter((id) => id !== filter.optionId);\n if (updated.length > 0) {\n next[filter.key] = updated;\n } else {\n delete next[filter.key];\n }\n }\n\n setFilters(next);\n },\n [filters, setFilters],\n );\n\n const onClearAll = useCallback(() => setFilters({}), [setFilters]);\n\n return { chips, onRemoveFilter, onClearAll };\n}\n","// Запит вибірки товарів каталогу (контракт тем v3, Фаза 4).\n\nimport { useQuery } from '@tanstack/react-query';\nimport type { CatalogProductRow } from 'simplycms/storefront/loaders';\nimport { getCatalogProducts } from '../../server/catalog';\n\n/**\n * Вибірка товарів із модифікаціями, цінами, характеристиками й наявністю.\n *\n * `sectionId`:\n * - `undefined` — сторінка каталогу: беруться ВСІ активні товари, розділ\n * потім фільтрується на клієнті (чипси перемикають вибірку без запиту);\n * - рядок — сторінка розділу: вибірка звужена запитом;\n * - `null` — сторінка розділу, розділ ще не приїхав: запит чекає.\n *\n * 🔴 Три колишні запити браузера (модифікації, характеристики модифікацій,\n * залишки по точках видачі) склеєні в один серверний виклик. Наявність\n * приходить готовим прапорцем `isAvailable`: складські рядки клієнту не\n * потрібні й назовні більше не їдуть.\n */\nexport function useCatalogProductsQuery(sectionId: string | null | undefined) {\n return useQuery({\n queryKey:\n sectionId === undefined\n ? ['all-products']\n : ['section-products', sectionId],\n queryFn: (): Promise<CatalogProductRow[]> =>\n getCatalogProducts({\n data: sectionId ? { sectionId } : {},\n }),\n enabled: sectionId !== null,\n });\n}\n\n/** Товар вибірки до резолву ціни. */\nexport type RawCatalogProduct = CatalogProductRow;\n","// Резолв цін вибірки каталогу під тип ціни покупця й знижки (Фаза 4).\n\nimport { useMemo } from 'react';\nimport { usePriceType } from 'simplycms/core/hooks/usePriceType';\nimport { resolvePrice, type PriceEntry } from 'simplycms/domain/pricing';\nimport {\n useDiscountGroups,\n useDiscountContext,\n applyDiscount,\n} from 'simplycms/core/hooks/useDiscountedPrice';\nimport type { RawCatalogProduct } from './useCatalogProductsQuery';\n\n/**\n * Ціна за замовчуванням береться з модифікації-дефолту (товар із\n * модифікаціями) або з самого товару. Знижка, якщо спрацювала, стає\n * поточною ціною, а вихідна показується як «стара».\n *\n * 🔴 Три хуки цінового контуру викликаються безумовно — інакше їхні запити\n * серіалізувалися б після вибірки товарів замість того, щоб іти паралельно.\n */\nexport function usePricedProducts(\n rawProducts: RawCatalogProduct[] | undefined,\n) {\n const { priceTypeId, defaultPriceTypeId } = usePriceType();\n const { data: discountGroups = [] } = useDiscountGroups();\n const discountCtx = useDiscountContext();\n\n return useMemo(() => {\n if (!rawProducts) return undefined;\n\n return rawProducts.map((p) => {\n const prices = (p.product_prices ?? []) as PriceEntry[];\n const defaultMod =\n p.has_modifications && p.modifications?.[0] ? p.modifications[0] : null;\n const resolved = resolvePrice(\n prices,\n priceTypeId,\n defaultPriceTypeId,\n defaultMod?.id ?? null,\n );\n\n let finalPrice = resolved.price;\n let oldPrice = resolved.oldPrice;\n\n if (finalPrice !== null && discountGroups.length > 0) {\n const result = applyDiscount(finalPrice, discountGroups, {\n ...discountCtx,\n quantity: 1,\n // Вибірка каталогу рендериться поза кошиком — сума кошика нульова.\n cartTotal: 0,\n productId: p.id,\n modificationId: defaultMod?.id || null,\n // Розділ беремо з приєднаної гілки, а за її відсутності — з поля\n // рядка: обидві сторінки до спліту читали розділ по-своєму, значення\n // збігаються (гілка `sections` приєднана тим самим запитом).\n sectionId: p.section?.id ?? p.section_id ?? null,\n });\n if (result.totalDiscount > 0) {\n oldPrice = finalPrice;\n finalPrice = result.finalPrice;\n }\n }\n\n const stockStatus = p.has_modifications\n ? (defaultMod?.stock_status ?? 'in_stock')\n : (p.stock_status ?? 'in_stock');\n\n return {\n ...p,\n price: finalPrice,\n old_price: oldPrice,\n stock_status: stockStatus,\n };\n });\n }, [\n rawProducts,\n priceTypeId,\n defaultPriceTypeId,\n discountGroups,\n discountCtx,\n ]);\n}\n\n/** Товар вибірки з резолвленою ціною — саме він їде у фільтри й у сітку. */\nexport type PricedProduct = NonNullable<\n ReturnType<typeof usePricedProducts>\n>[number];\n","// Контейнерна логіка каталогу — спільна для каталогу й сторінки розділу\n// (контракт тем v3, Фаза 4).\n\nimport { useCallback, useMemo, useState } from 'react';\nimport { useProductRatings } from 'simplycms/core/hooks/useProductReviews';\nimport type { ProductListItem } from '../../server/product-list-item';\nimport type {\n CatalogSortOption,\n CatalogViewMode,\n} from '../../views/slots/CatalogToolbarSlots';\nimport {\n computeNumericRanges,\n computePriceRange,\n filterAndSortProducts,\n filterBySection,\n} from './filtering';\nimport type { CatalogBindings } from './slot-context';\nimport type { CatalogFiltersState } from './types';\nimport { useActiveFilters } from './useActiveFilters';\nimport { useCatalogProductsQuery } from './useCatalogProductsQuery';\nimport {\n useNumericPropertiesQuery,\n usePropertyOptionsQuery,\n useSectionsQuery,\n type CatalogSectionRow,\n} from './useCatalogQueries';\nimport { usePricedProducts } from './usePricedProducts';\n\nexport interface CatalogControllerOptions {\n /**\n * Сторінка розділу: вибірка звужена запитом. `undefined` — сторінка\n * каталогу (розділ обирається чипсами на клієнті), `null` — сторінка\n * розділу, розділ якої ще не приїхав.\n */\n sectionId?: string | null;\n initialSections?: CatalogSectionRow[];\n initialProducts?: ProductListItem[];\n}\n\nexport interface CatalogController {\n /** Підпис панелі інструментів: скільки товарів у поточній вибірці. */\n productCount: number;\n bindings: CatalogBindings;\n}\n\nexport function useCatalogController({\n sectionId,\n initialSections,\n initialProducts,\n}: CatalogControllerOptions = {}): CatalogController {\n const [filters, setFilters] = useState<CatalogFiltersState>({});\n const [sortBy, setSortBy] = useState<CatalogSortOption>('popular');\n const [viewMode, setViewMode] = useState<CatalogViewMode>('grid');\n const [selectedSectionId, setSelectedSectionId] = useState<string | null>(\n null,\n );\n\n /** Сторінка розділу — вибірка вже звужена запитом, чипси ведуть лінками. */\n const scoped = sectionId !== undefined;\n const activeSectionId = scoped ? (sectionId ?? null) : selectedSectionId;\n\n /** Серверний список: рендериться в SSR-HTML і в першому клієнтському\n * рендері, доки React Query не поверне збагачені дані. */\n const ssrProducts = initialProducts ?? [];\n\n const { data: sections } = useSectionsQuery(initialSections);\n const { data: rawProducts, isLoading: productsLoading } =\n useCatalogProductsQuery(sectionId);\n const products = usePricedProducts(rawProducts);\n const { data: numericProperties } =\n useNumericPropertiesQuery(activeSectionId);\n const { data: propertyOptions } = usePropertyOptionsQuery();\n\n const ratingProductIds = useMemo(\n () => products?.map((p) => p.id) || [],\n [products],\n );\n const { data: ratingsData } = useProductRatings(ratingProductIds);\n\n const priceRange = useMemo(() => computePriceRange(products), [products]);\n const numericRanges = useMemo(\n () => computeNumericRanges(products, numericProperties, activeSectionId),\n [products, numericProperties, activeSectionId],\n );\n const filteredProducts = useMemo(\n () =>\n filterAndSortProducts(products, {\n filters,\n sortBy,\n sectionId: activeSectionId,\n numericProperties,\n }),\n [products, filters, sortBy, activeSectionId, numericProperties],\n );\n const sectionProducts = useMemo(\n () => filterBySection(products, activeSectionId),\n [products, activeSectionId],\n );\n\n const { chips, onRemoveFilter, onClearAll } = useActiveFilters({\n filters,\n setFilters,\n priceRange,\n numericRanges,\n numericProperties,\n propertyOptions,\n });\n\n /** Перемикання чипса скидає фільтри: вони належать попередньому розділу. */\n const onSelectSection = useCallback((next: string | null) => {\n setSelectedSectionId(next);\n setFilters({});\n }, []);\n\n const bindings: CatalogBindings = {\n chips: scoped\n ? { mode: 'link', sections: sections ?? [], activeId: sectionId ?? '' }\n : {\n mode: 'filter',\n sections: sections ?? [],\n selectedId: selectedSectionId,\n onSelect: onSelectSection,\n },\n filters: {\n sectionId: activeSectionId || undefined,\n filters,\n onFilterChange: setFilters,\n priceRange,\n numericPropertyRanges: numericRanges,\n products: sectionProducts,\n },\n sort: { value: sortBy, onChange: setSortBy },\n viewMode: { value: viewMode, onChange: setViewMode },\n activeFilters: { filters: chips, onRemoveFilter, onClearAll },\n grid: {\n ssrItems: ssrProducts,\n products: products ? filteredProducts : undefined,\n isLoading: productsLoading,\n viewMode,\n ratings: ratingsData,\n onResetFilters: onClearAll,\n },\n };\n\n return {\n productCount: products ? filteredProducts.length : ssrProducts.length,\n bindings,\n };\n}\n"]}
|