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 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/auth.ts","../../src/schema/media.ts","../../src/schema/schema.ts"],"names":["pgTable","uuid","text","timestamp","foreignKey","unique","index","integer","boolean","sql","check","uniqueIndex"],"mappings":"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","file":"schema.js","sourcesContent":["import {\n boolean,\n foreignKey,\n index,\n pgTable,\n text,\n timestamp,\n unique,\n uniqueIndex,\n uuid,\n} from 'drizzle-orm/pg-core';\n\n// Канонічні таблиці Better Auth у схемі `public` — рішення B3′ (амендмент\n// 2026-08-23). Схема GoTrue `auth.users` зникає як клас: ці таблиці стають\n// єдиним джерелом ідентичності, і саме на `users.id` дивляться FK шести\n// доменних таблиць `schema.ts`.\n//\n// 🔴 PK — `uuid`, а не канонічний для BA `text`: FK-колонки шести доменних\n// таблиць уже `uuid`, і зміна їхнього типу розповзлася б по всій схемі,\n// типах і запитах. Генерацію id віддано БД (`defaultRandom()`) — інстанс BA\n// у Task 7 мусить вимкнути власний генератор.\n//\n// 🔴 Імена таблиць — у МНОЖИНІ (доменна схема вся така), а BA за\n// замовчуванням очікує однину; тому адаптер у Task 7 зобовʼязаний піти з\n// `usePlural: true`.\n//\n// 🔴 Склад полів звірено з better-auth@1.7.1 (`@better-auth/core`,\n// `getAuthTables`) станом на 2026-08-23 — звідси `accounts.issuer` і\n// унікальність `(issuer, account_id)`, яких немає в старіших описах BA.\n// Звірка з РАНТАЙМОМ (інстанс BA проти цієї схеми) — Task 7: там версія\n// стає залежністю пакета, і розбіжність падає тестом, а не в проді.\n//\n// `mode: 'date'` (доменна схема вживає `'string'`): адаптер BA передає в\n// драйвер обʼєкти `Date` і чекає `Date` назад.\n//\n// RLS тут НЕ вмикається: auth-таблиці не входять до user-scoped списку B5″,\n// а доступ до них має лише серверний auth-контур — це вирішується грантами\n// (Task 4), не політиками.\n\nexport const users = pgTable(\n 'users',\n {\n id: uuid().defaultRandom().primaryKey().notNull(),\n name: text().notNull(),\n email: text().notNull(),\n emailVerified: boolean('email_verified').default(false).notNull(),\n image: text(),\n createdAt: timestamp('created_at', { withTimezone: true, mode: 'date' })\n .defaultNow()\n .notNull(),\n updatedAt: timestamp('updated_at', { withTimezone: true, mode: 'date' })\n .defaultNow()\n .notNull(),\n },\n (table) => [unique('users_email_key').on(table.email)],\n);\n\nexport const sessions = pgTable(\n 'sessions',\n {\n id: uuid().defaultRandom().primaryKey().notNull(),\n expiresAt: timestamp('expires_at', {\n withTimezone: true,\n mode: 'date',\n }).notNull(),\n token: text().notNull(),\n createdAt: timestamp('created_at', { withTimezone: true, mode: 'date' })\n .defaultNow()\n .notNull(),\n updatedAt: timestamp('updated_at', { withTimezone: true, mode: 'date' })\n .defaultNow()\n .notNull(),\n ipAddress: text('ip_address'),\n userAgent: text('user_agent'),\n userId: uuid('user_id').notNull(),\n },\n (table) => [\n foreignKey({\n columns: [table.userId],\n foreignColumns: [users.id],\n name: 'sessions_user_id_fkey',\n }).onDelete('cascade'),\n unique('sessions_token_key').on(table.token),\n index('idx_sessions_user_id').on(table.userId),\n ],\n);\n\nexport const accounts = pgTable(\n 'accounts',\n {\n id: uuid().defaultRandom().primaryKey().notNull(),\n issuer: text().notNull(),\n accountId: text('account_id').notNull(),\n providerId: text('provider_id').notNull(),\n userId: uuid('user_id').notNull(),\n accessToken: text('access_token'),\n refreshToken: text('refresh_token'),\n idToken: text('id_token'),\n accessTokenExpiresAt: timestamp('access_token_expires_at', {\n withTimezone: true,\n mode: 'date',\n }),\n refreshTokenExpiresAt: timestamp('refresh_token_expires_at', {\n withTimezone: true,\n mode: 'date',\n }),\n scope: text(),\n password: text(),\n createdAt: timestamp('created_at', { withTimezone: true, mode: 'date' })\n .defaultNow()\n .notNull(),\n updatedAt: timestamp('updated_at', { withTimezone: true, mode: 'date' })\n .defaultNow()\n .notNull(),\n },\n (table) => [\n foreignKey({\n columns: [table.userId],\n foreignColumns: [users.id],\n name: 'accounts_user_id_fkey',\n }).onDelete('cascade'),\n uniqueIndex('accounts_issuer_account_id_key').on(\n table.issuer,\n table.accountId,\n ),\n index('idx_accounts_user_id').on(table.userId),\n ],\n);\n\nexport const verifications = pgTable(\n 'verifications',\n {\n id: uuid().defaultRandom().primaryKey().notNull(),\n identifier: text().notNull(),\n value: text().notNull(),\n expiresAt: timestamp('expires_at', {\n withTimezone: true,\n mode: 'date',\n }).notNull(),\n createdAt: timestamp('created_at', { withTimezone: true, mode: 'date' })\n .defaultNow()\n .notNull(),\n updatedAt: timestamp('updated_at', { withTimezone: true, mode: 'date' })\n .defaultNow()\n .notNull(),\n },\n // BA шукає запис за `identifier` на кожній верифікації пошти/reset-у —\n // індекс не «про всяк випадок», а під єдиний спосіб читання цієї таблиці.\n (table) => [index('idx_verifications_identifier').on(table.identifier)],\n);\n","import { sql } from 'drizzle-orm';\nimport {\n check,\n foreignKey,\n index,\n integer,\n pgTable,\n text,\n timestamp,\n unique,\n uuid,\n} from 'drizzle-orm/pg-core';\n\nimport { users } from './auth';\n\n// Метадані медіа — таблиця народжується разом зі схемою v2, хоч сам\n// storage-порт приземляється в К4. Причина в спеці (§4-К4): облік обсягу й\n// незмінність власності — це ІНВАРІАНТИ порту, а інваріанти не доліплюються\n// після того, як драйвери вже пишуть файли.\n//\n// `size_bytes` пишеться в тій самій транзакції, що й видача presigned-upload:\n// у S3-порту тригера на обʼєкти немає, тож інакше хмарні тарифи з лімітами\n// сховища нема чим рахувати (cloud-спека C11).\n//\n// 🔴 Незмінність колонок власності (`entity_type`/`entity_id`/`storage_key`/\n// `uploaded_by`) реалізована ФАКТОМ ДИЗАЙНУ, а не тригером: `app_user` не\n// отримує `UPDATE` на цій таблиці взагалі (гранти — Task 4), тож перепривʼязка\n// чужого файлу до своєї сутності неможлива за відсутністю права, а не за\n// перевіркою в тілі тригера. Тригер тут був би гіршим із трьох причин:\n// (1) plpgsql-логіка в БД — рівно той клас, який B5″ виводить зі схеми;\n// (2) drizzle-kit тригерів не емітить, тож інваріант став би невидимим для\n// baseline; (3) право `UPDATE` лишалося б виданим — а це і є вектор атаки,\n// знайдений аудитом MetaHub. Стережеться поведінковим тестом у Task 5.\n//\n// `entity_id` — nullable: файл може бути завантажений ДО привʼязки (медіатека).\n// Перехід NULL → значення теж вимагає `UPDATE`, тобто ролі `app_admin`, тобто\n// явної серверної операції — саме те, чого вимагає спека («перепривʼязка —\n// лише авторизованою серверною операцією»).\n//\n// RLS не вмикається: `media` не входить до user-scoped списку B5″ (файли\n// належать магазину, не покупцю), доступ визначають гранти.\nexport const media = pgTable(\n 'media',\n {\n id: uuid().defaultRandom().primaryKey().notNull(),\n entityType: text('entity_type').notNull(),\n entityId: uuid('entity_id'),\n storageKey: text('storage_key').notNull(),\n sizeBytes: integer('size_bytes').notNull(),\n mimeType: text('mime_type').notNull(),\n uploadedBy: uuid('uploaded_by'),\n createdAt: timestamp('created_at', { withTimezone: true, mode: 'string' })\n .defaultNow()\n .notNull(),\n },\n (table) => [\n foreignKey({\n columns: [table.uploadedBy],\n foreignColumns: [users.id],\n name: 'media_uploaded_by_fkey',\n }).onDelete('set null'),\n // Ключ у сховищі — природний унікальний ідентифікатор файлу; дубль\n // означав би подвійний облік байтів того самого обʼєкта.\n unique('media_storage_key_key').on(table.storageKey),\n index('idx_media_entity').on(table.entityType, table.entityId),\n index('idx_media_uploaded_by').on(table.uploadedBy),\n check('media_size_bytes_non_negative', sql`size_bytes >= 0`),\n ],\n);\n","import { pgTable, unique, pgPolicy, uuid, text, varchar, integer, boolean, timestamp, foreignKey, jsonb, check, numeric, index, uniqueIndex, time, pgEnum } from \"drizzle-orm/pg-core\"\nimport { sql } from \"drizzle-orm\"\n\n// Схема ядра SimplyCMS — SSOT моделі даних v2 (рішення B3′/B5″/B13,\n// амендмент спеки 2026-08-23). Файл більше не є чистим генератом\n// `drizzle-kit pull`: політики, індекси й B7-поля тут написані руками.\n//\n// 🔴 Ідентичність — таблиця `users` Better Auth зі СВОГО файлу (`./auth`), а\n// не `auth.users` GoTrue: схема GoTrue зникла як клас. Реекспорт нижче\n// НАВМИСНИЙ і обовʼязковий: drizzle-kit збирає сутності з експортів файлу,\n// перелічених у `config.schema`, і без нього auth/media-таблиці не потрапили б\n// у baseline. (Це дзеркало старої причини, з якої `auth.users` навпаки НЕ\n// реекспортувалась.) Після `db:pull` реекспорт треба відтворити руками.\n//\n// 🔴 RLS-ядро замість «RLS як є» (B5″). Політики лишились ЛИШЕ на\n// user-scoped таблицях (`orders`, `order_items`, `profiles`, `wishlists`,\n// `comparisons`, `user_addresses`, `user_recipients`, `product_reviews`,\n// `service_requests`, `user_category_history`, `user_roles`) — 27 політик\n// замість 93. Що зникло і чому:\n// • ~56 політик на `is_admin()` — самої функції в схемі v2 немає. Право\n// адміна тепер дає РОЛЬ БД (`app_admin`, вмикається `SET LOCAL ROLE`\n// після TS-перевірки), а не SECURITY DEFINER-функція без гарда;\n// • ~16 політик «публічне читання» існували лише тому, що браузер робив\n// прямий SELECT через PostgREST. У сервер-first (B1) браузер у БД не\n// ходить, тож їхню роботу роблять ГРАНТИ (Task 4).\n//\n// 🔴 НАСЛІДОК, який мусить бути видимим, а не випадковим: разом із\n// «публічним читанням» зникла й фільтрація видимості в БД — предикати\n// `is_active = true` більше НІХТО не застосовує автоматично. Показувати\n// лише активні товари/розділи/послуги/банери — тепер ОБОВʼЯЗОК серверного\n// репозиторію (`where(eq(products.isActive, true))`), і забутий `where` дає\n// витік чернетки на вітрину, а не порожній список. Це свідомий компроміс\n// B5″: RLS у сервер-first перестає бути єдиним рубежем і лишається\n// страхувальною сіткою на ДАНИХ КОРИСТУВАЧА, де ціна забутого `where` —\n// крос-тенантний витік, а не показ неопублікованого товару.\n//\n// 🔴 Форма предиката — initplan: `(select app.current_user_id())`, а не\n// голий виклик. Живий аудит показав 21/21 політику в голій формі\n// (`auth_rls_initplan`): предикат переобчислювався на КОЖЕН рядок. У\n// підзапиті планувальник обчислює його раз на запит.\n//\n// `app.current_user_id()` (читач GUC `app.user_id`) і ролі `app_user`/\n// `app_admin` створюються ДО цих таблиць — файлом `0000_prelude.sql`\n// канону міграцій (Task 3); гранти — `0002_grants.sql` (Task 4).\nimport { users } from \"./auth\";\n\nexport * from \"./auth\";\nexport * from \"./media\";\n\nexport const appRole = pgEnum(\"app_role\", ['admin', 'user'])\nexport const discountGroupOperator = pgEnum(\"discount_group_operator\", ['and', 'or', 'not', 'min', 'max'])\nexport const discountTargetType = pgEnum(\"discount_target_type\", ['product', 'modification', 'section', 'all'])\nexport const discountType = pgEnum(\"discount_type\", ['percent', 'fixed_amount', 'fixed_price'])\nexport const propertyType = pgEnum(\"property_type\", ['text', 'number', 'select', 'multiselect', 'range', 'color', 'boolean'])\nexport const shippingCalculationType = pgEnum(\"shipping_calculation_type\", ['flat', 'weight', 'order_total', 'free_from', 'plugin'])\nexport const shippingMethodType = pgEnum(\"shipping_method_type\", ['system', 'manual', 'plugin'])\nexport const stockStatus = pgEnum(\"stock_status\", ['in_stock', 'out_of_stock', 'on_order'])\n\n\nexport const orderStatuses = pgTable(\"order_statuses\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tname: text().notNull(),\n\tcode: varchar({ length: 50 }).notNull(),\n\tcolor: varchar({ length: 7 }).default('#6B7280'),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tisDefault: boolean(\"is_default\").default(false).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tunique(\"order_statuses_code_key\").on(table.code),\n]);\n\nexport const sections = pgTable(\"sections\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tslug: varchar({ length: 255 }).notNull(),\n\tname: text().notNull(),\n\tdescription: text(),\n\timageUrl: text(\"image_url\"),\n\tparentId: uuid(\"parent_id\"),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tmetaTitle: text(\"meta_title\"),\n\tmetaDescription: text(\"meta_description\"),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.parentId],\n\t\t\tforeignColumns: [table.id],\n\t\t\tname: \"sections_parent_id_fkey\"\n\t\t}),\n\tunique(\"sections_slug_key\").on(table.slug),\n\tindex(\"idx_sections_parent_id\").on(table.parentId),\n]);\n\nexport const sectionProperties = pgTable(\"section_properties\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tsectionId: uuid(\"section_id\"),\n\tname: text().notNull(),\n\tslug: varchar({ length: 100 }).notNull(),\n\tpropertyType: propertyType(\"property_type\").default('text').notNull(),\n\tisRequired: boolean(\"is_required\").default(false).notNull(),\n\tisFilterable: boolean(\"is_filterable\").default(false).notNull(),\n\thasPage: boolean(\"has_page\").default(false).notNull(),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\toptions: jsonb(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.sectionId],\n\t\t\tforeignColumns: [sections.id],\n\t\t\tname: \"section_properties_section_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"section_properties_section_id_code_key\").on(table.sectionId, table.slug),\n]);\n\nexport const userCategories = pgTable(\"user_categories\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tname: text().notNull(),\n\tcode: varchar({ length: 50 }).notNull(),\n\tdescription: text(),\n\tisDefault: boolean(\"is_default\").default(false).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tpriceTypeId: uuid(\"price_type_id\"),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.priceTypeId],\n\t\t\tforeignColumns: [priceTypes.id],\n\t\t\tname: \"user_categories_price_type_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tunique(\"user_categories_code_key\").on(table.code),\n\tindex(\"idx_user_categories_price_type_id\").on(table.priceTypeId),\n]);\n\nexport const languages = pgTable(\"languages\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tcode: varchar({ length: 10 }).notNull(),\n\tname: text().notNull(),\n\tisDefault: boolean(\"is_default\").default(false).notNull(),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tunique(\"languages_code_key\").on(table.code),\n]);\n\nexport const userRoles = pgTable(\"user_roles\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tuserId: uuid(\"user_id\").notNull(),\n\trole: appRole().notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.userId],\n\t\t\tforeignColumns: [users.id],\n\t\t\tname: \"user_roles_user_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"user_roles_user_id_role_key\").on(table.userId, table.role),\n\tpgPolicy(\"user_roles_select_own\", { as: \"permissive\", for: \"select\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"user_roles_admin_all\", { as: \"permissive\", for: \"all\", to: [\"app_admin\"], using: sql`true`, withCheck: sql`true` }),\n]);\n\nexport const wishlists = pgTable(\"wishlists\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tuserId: uuid(\"user_id\").notNull(),\n\tproductId: uuid(\"product_id\").notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.productId],\n\t\t\tforeignColumns: [products.id],\n\t\t\tname: \"wishlists_product_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.userId],\n\t\t\tforeignColumns: [users.id],\n\t\t\tname: \"wishlists_user_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"wishlists_user_id_product_id_key\").on(table.userId, table.productId),\n\tindex(\"idx_wishlists_product_id\").on(table.productId),\n\tpgPolicy(\"wishlists_own_all\", { as: \"permissive\", for: \"all\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id())`, withCheck: sql`user_id = (select app.current_user_id())` }),\n]);\n\nexport const comparisons = pgTable(\"comparisons\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tuserId: uuid(\"user_id\").notNull(),\n\tproductId: uuid(\"product_id\").notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.productId],\n\t\t\tforeignColumns: [products.id],\n\t\t\tname: \"comparisons_product_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.userId],\n\t\t\tforeignColumns: [users.id],\n\t\t\tname: \"comparisons_user_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"comparisons_user_id_product_id_key\").on(table.userId, table.productId),\n\tindex(\"idx_comparisons_product_id\").on(table.productId),\n\tpgPolicy(\"comparisons_own_all\", { as: \"permissive\", for: \"all\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id())`, withCheck: sql`user_id = (select app.current_user_id())` }),\n]);\n\nexport const orderItems = pgTable(\"order_items\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\torderId: uuid(\"order_id\").notNull(),\n\tproductId: uuid(\"product_id\"),\n\tmodificationId: uuid(\"modification_id\"),\n\tserviceId: uuid(\"service_id\"),\n\tname: text().notNull(),\n\tprice: numeric({ precision: 12, scale: 2 }).notNull(),\n\tquantity: integer().default(1).notNull(),\n\ttotal: numeric({ precision: 12, scale: 2 }).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tbasePrice: numeric(\"base_price\"),\n\tdiscountData: jsonb(\"discount_data\"),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.modificationId],\n\t\t\tforeignColumns: [productModifications.id],\n\t\t\tname: \"order_items_modification_id_fkey\"\n\t\t}),\n\tforeignKey({\n\t\t\tcolumns: [table.orderId],\n\t\t\tforeignColumns: [orders.id],\n\t\t\tname: \"order_items_order_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.productId],\n\t\t\tforeignColumns: [products.id],\n\t\t\tname: \"order_items_product_id_fkey\"\n\t\t}),\n\tforeignKey({\n\t\t\tcolumns: [table.serviceId],\n\t\t\tforeignColumns: [services.id],\n\t\t\tname: \"order_items_service_id_fkey\"\n\t\t}),\n\tcheck(\"order_items_positive_quantity\", sql`quantity > 0`),\n\tindex(\"idx_order_items_order_id\").on(table.orderId),\n\tindex(\"idx_order_items_product_id\").on(table.productId),\n\tindex(\"idx_order_items_modification_id\").on(table.modificationId),\n\tindex(\"idx_order_items_service_id\").on(table.serviceId),\n\tpgPolicy(\"order_items_select_own_or_token\", { as: \"permissive\", for: \"select\", to: [\"app_user\"], using: sql`exists (select 1 from orders where orders.id = order_items.order_id and ((orders.user_id = (select app.current_user_id())) or (orders.access_token is not null and orders.access_token = (select nullif(current_setting('app.order_token', true), '')))))` }),\n\tpgPolicy(\"order_items_insert_own\", { as: \"permissive\", for: \"insert\", to: [\"app_user\"], withCheck: sql`exists (select 1 from orders where orders.id = order_items.order_id and (orders.user_id = (select app.current_user_id()) or orders.user_id is null))` }),\n\tpgPolicy(\"order_items_admin_all\", { as: \"permissive\", for: \"all\", to: [\"app_admin\"], using: sql`true`, withCheck: sql`true` }),\n]);\n\nexport const modificationPropertyValues = pgTable(\"modification_property_values\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tmodificationId: uuid(\"modification_id\").notNull(),\n\tpropertyId: uuid(\"property_id\").notNull(),\n\tvalue: text(),\n\tnumericValue: numeric(\"numeric_value\"),\n\toptionId: uuid(\"option_id\"),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tindex(\"idx_modification_property_values_mod\").using(\"btree\", table.modificationId.asc().nullsLast().op(\"uuid_ops\")),\n\tindex(\"idx_modification_property_values_option\").using(\"btree\", table.optionId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.modificationId],\n\t\t\tforeignColumns: [productModifications.id],\n\t\t\tname: \"modification_property_values_modification_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.optionId],\n\t\t\tforeignColumns: [propertyOptions.id],\n\t\t\tname: \"modification_property_values_option_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.propertyId],\n\t\t\tforeignColumns: [sectionProperties.id],\n\t\t\tname: \"modification_property_values_property_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"modification_property_values_modification_id_property_id_key\").on(table.modificationId, table.propertyId),\n\tindex(\"idx_modification_property_values_property\").on(table.propertyId),\n]);\n\nexport const productPropertyValues = pgTable(\"product_property_values\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tproductId: uuid(\"product_id\").notNull(),\n\tpropertyId: uuid(\"property_id\").notNull(),\n\tvalue: text(),\n\tnumericValue: numeric(\"numeric_value\", { precision: 15, scale: 4 }),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\toptionId: uuid(\"option_id\"),\n}, (table) => [\n\tindex(\"idx_product_property_values_option_id\").using(\"btree\", table.optionId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.optionId],\n\t\t\tforeignColumns: [propertyOptions.id],\n\t\t\tname: \"product_property_values_option_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.productId],\n\t\t\tforeignColumns: [products.id],\n\t\t\tname: \"product_property_values_product_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.propertyId],\n\t\t\tforeignColumns: [sectionProperties.id],\n\t\t\tname: \"product_property_values_property_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"product_property_values_product_id_property_id_key\").on(table.productId, table.propertyId),\n\tindex(\"idx_product_property_values_property_id\").on(table.propertyId),\n]);\n\nexport const propertyOptions = pgTable(\"property_options\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tpropertyId: uuid(\"property_id\").notNull(),\n\tname: text().notNull(),\n\tslug: varchar({ length: 255 }).notNull(),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tdescription: text(),\n\timageUrl: text(\"image_url\"),\n\tmetaTitle: text(\"meta_title\"),\n\tmetaDescription: text(\"meta_description\"),\n}, (table) => [\n\tindex(\"idx_property_options_property_id\").using(\"btree\", table.propertyId.asc().nullsLast().op(\"uuid_ops\")),\n\tindex(\"idx_property_options_slug\").using(\"btree\", table.slug.asc().nullsLast().op(\"text_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.propertyId],\n\t\t\tforeignColumns: [sectionProperties.id],\n\t\t\tname: \"property_options_property_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"property_options_property_id_slug_key\").on(table.propertyId, table.slug),\n]);\n\nexport const sectionPropertyAssignments = pgTable(\"section_property_assignments\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tsectionId: uuid(\"section_id\").notNull(),\n\tpropertyId: uuid(\"property_id\").notNull(),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tappliesTo: text(\"applies_to\").default('product').notNull(),\n}, (table) => [\n\tindex(\"idx_section_property_assignments_property\").using(\"btree\", table.propertyId.asc().nullsLast().op(\"uuid_ops\")),\n\tindex(\"idx_section_property_assignments_section\").using(\"btree\", table.sectionId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.propertyId],\n\t\t\tforeignColumns: [sectionProperties.id],\n\t\t\tname: \"section_property_assignments_property_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.sectionId],\n\t\t\tforeignColumns: [sections.id],\n\t\t\tname: \"section_property_assignments_section_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"section_property_assignments_section_id_property_id_key\").on(table.sectionId, table.propertyId),\n\tcheck(\"section_property_assignments_applies_to_check\", sql`applies_to = ANY (ARRAY['product'::text, 'modification'::text])`),\n]);\n\nexport const services = pgTable(\"services\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tslug: varchar({ length: 255 }).notNull(),\n\tname: text().notNull(),\n\tdescription: text(),\n\tprice: numeric({ precision: 12, scale: 2 }),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\timageUrl: text(\"image_url\"),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tunique(\"services_slug_key\").on(table.slug),\n\tcheck(\"services_positive_price\", sql`(price IS NULL) OR (price >= (0)::numeric)`),\n]);\n\nexport const products = pgTable(\"products\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tsectionId: uuid(\"section_id\"),\n\tslug: varchar({ length: 255 }).notNull(),\n\tname: text().notNull(),\n\tshortDescription: text(\"short_description\"),\n\tdescription: text(),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tisFeatured: boolean(\"is_featured\").default(false).notNull(),\n\tmetaTitle: text(\"meta_title\"),\n\tmetaDescription: text(\"meta_description\"),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\timages: jsonb().default([]),\n\thasModifications: boolean(\"has_modifications\").default(true),\n\tsku: varchar(),\n\tstockStatus: stockStatus(\"stock_status\").default('in_stock'),\n\t// B7: `MerchantReturnPolicy` і `OfferShippingDetails` у JSON-LD стають\n\t// обовʼязковими, а рендер приїде в К2 — колонки додаються зараз, поки\n\t// схема молода. Рівнів ДВА, і другий не потребує DDL: магазинний дефолт\n\t// живе в `system_settings` (та сама k/v-таблиця з jsonb-значенням —\n\t// ключі `commerce.return_policy` / `commerce.shipping_details`), а тут —\n\t// НЕОБОВʼЯЗКОВЕ перевизначення для конкретного товару (крихке скло,\n\t// негабарит, товар без повернення). Рендерер накладає перше на друге.\n\t// jsonb, а не розкладка в колонки: форма — вкладений обʼєкт schema.org\n\t// зі своїм словником, і розкладати його в 8-10 колонок означало б\n\t// версіонувати чужий словник міграціями.\n\treturnPolicy: jsonb(\"return_policy\"),\n\tshippingDetails: jsonb(\"shipping_details\"),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.sectionId],\n\t\t\tforeignColumns: [sections.id],\n\t\t\tname: \"products_section_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tunique(\"products_slug_key\").on(table.slug),\n\tindex(\"idx_products_section_id\").on(table.sectionId),\n]);\n\nexport const productModifications = pgTable(\"product_modifications\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tproductId: uuid(\"product_id\").notNull(),\n\tslug: varchar({ length: 255 }).notNull(),\n\tname: text().notNull(),\n\tsku: varchar({ length: 100 }),\n\tisDefault: boolean(\"is_default\").default(false).notNull(),\n\timages: jsonb().default([]),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tstockStatus: stockStatus(\"stock_status\").default('in_stock'),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.productId],\n\t\t\tforeignColumns: [products.id],\n\t\t\tname: \"product_modifications_product_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"product_modifications_product_slug_unique\").on(table.productId, table.slug),\n]);\n\nexport const serviceRequests = pgTable(\"service_requests\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tserviceId: uuid(\"service_id\"),\n\tuserId: uuid(\"user_id\"),\n\tname: text().notNull(),\n\temail: text().notNull(),\n\tphone: text(),\n\tmessage: text(),\n\tstatus: varchar({ length: 50 }).default('new').notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.serviceId],\n\t\t\tforeignColumns: [services.id],\n\t\t\tname: \"service_requests_service_id_fkey\"\n\t\t}),\n\tforeignKey({\n\t\t\tcolumns: [table.userId],\n\t\t\tforeignColumns: [users.id],\n\t\t\tname: \"service_requests_user_id_fkey\"\n\t\t}),\n\tcheck(\"service_requests_message_length\", sql`(char_length(message) <= 10000) OR (message IS NULL)`),\n\tindex(\"idx_service_requests_service_id\").on(table.serviceId),\n\tindex(\"idx_service_requests_user_id\").on(table.userId),\n\tpgPolicy(\"service_requests_insert_any\", { as: \"permissive\", for: \"insert\", to: [\"app_user\"], withCheck: sql`true` }),\n\tpgPolicy(\"service_requests_select_own\", { as: \"permissive\", for: \"select\", to: [\"app_user\"], using: sql`user_id is not null and user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"service_requests_admin_all\", { as: \"permissive\", for: \"all\", to: [\"app_admin\"], using: sql`true`, withCheck: sql`true` }),\n]);\n\nexport const pluginEvents = pgTable(\"plugin_events\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tpluginName: varchar(\"plugin_name\").notNull(),\n\thookName: varchar(\"hook_name\").notNull(),\n\tpayload: jsonb(),\n\tresult: jsonb(),\n\terror: text(),\n\texecutedAt: timestamp(\"executed_at\", { withTimezone: true, mode: 'string' }).defaultNow(),\n}, (table) => [\n]);\n\nexport const plugins = pgTable(\"plugins\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tname: varchar().notNull(),\n\tdisplayName: text(\"display_name\").notNull(),\n\tversion: varchar().default('1.0.0').notNull(),\n\tdescription: text(),\n\tauthor: text(),\n\tisActive: boolean(\"is_active\").default(false),\n\tconfig: jsonb().default({}),\n\thooks: jsonb().default([]),\n\tmigrationsApplied: jsonb(\"migrations_applied\").default([]),\n\tinstalledAt: timestamp(\"installed_at\", { withTimezone: true, mode: 'string' }).defaultNow(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow(),\n}, (table) => [\n\tunique(\"plugins_name_key\").on(table.name),\n]);\n\nexport const shippingMethods = pgTable(\"shipping_methods\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tcode: varchar({ length: 50 }).notNull(),\n\tname: text().notNull(),\n\tdescription: text(),\n\ttype: shippingMethodType().default('manual').notNull(),\n\tpluginName: varchar(\"plugin_name\", { length: 100 }),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tconfig: jsonb().default({}),\n\ticon: text(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tunique(\"shipping_methods_code_key\").on(table.code),\n]);\n\nexport const shippingZones = pgTable(\"shipping_zones\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tname: text().notNull(),\n\tdescription: text(),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tisDefault: boolean(\"is_default\").default(false).notNull(),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tcities: text().array().default([\"\"]),\n\tregions: text().array().default([\"\"]),\n}, (table) => [\n]);\n\nexport const shippingRates = pgTable(\"shipping_rates\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tmethodId: uuid(\"method_id\").notNull(),\n\tzoneId: uuid(\"zone_id\").notNull(),\n\tname: text().notNull(),\n\tcalculationType: shippingCalculationType(\"calculation_type\").default('flat').notNull(),\n\tbaseCost: numeric(\"base_cost\", { precision: 10, scale: 2 }).default('0').notNull(),\n\tperKgCost: numeric(\"per_kg_cost\", { precision: 10, scale: 2 }),\n\tminWeight: numeric(\"min_weight\", { precision: 10, scale: 2 }),\n\tfreeFromAmount: numeric(\"free_from_amount\", { precision: 10, scale: 2 }),\n\tminOrderAmount: numeric(\"min_order_amount\", { precision: 10, scale: 2 }),\n\tmaxOrderAmount: numeric(\"max_order_amount\", { precision: 10, scale: 2 }),\n\testimatedDays: varchar(\"estimated_days\", { length: 50 }),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tconfig: jsonb().default({}),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tindex(\"idx_shipping_rates_method_id\").using(\"btree\", table.methodId.asc().nullsLast().op(\"uuid_ops\")),\n\tindex(\"idx_shipping_rates_zone_id\").using(\"btree\", table.zoneId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.methodId],\n\t\t\tforeignColumns: [shippingMethods.id],\n\t\t\tname: \"shipping_rates_method_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.zoneId],\n\t\t\tforeignColumns: [shippingZones.id],\n\t\t\tname: \"shipping_rates_zone_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n]);\n\nexport const systemSettings = pgTable(\"system_settings\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tkey: varchar({ length: 100 }).notNull(),\n\tvalue: jsonb().default({}).notNull(),\n\tdescription: text(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow(),\n}, (table) => [\n\tunique(\"system_settings_key_key\").on(table.key),\n]);\n\nexport const pickupPoints = pgTable(\"pickup_points\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tmethodId: uuid(\"method_id\").notNull(),\n\tname: text().notNull(),\n\taddress: text().notNull(),\n\tcity: text().notNull(),\n\tzoneId: uuid(\"zone_id\"),\n\tworkingHours: jsonb(\"working_hours\").default({}),\n\tphone: varchar({ length: 50 }),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tcoordinates: jsonb(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tisSystem: boolean(\"is_system\").default(false).notNull(),\n}, (table) => [\n\tindex(\"idx_pickup_points_city\").using(\"btree\", table.city.asc().nullsLast().op(\"text_ops\")),\n\tindex(\"idx_pickup_points_method_id\").using(\"btree\", table.methodId.asc().nullsLast().op(\"uuid_ops\")),\n\tindex(\"idx_pickup_points_zone_id\").using(\"btree\", table.zoneId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.methodId],\n\t\t\tforeignColumns: [shippingMethods.id],\n\t\t\tname: \"pickup_points_method_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.zoneId],\n\t\t\tforeignColumns: [shippingZones.id],\n\t\t\tname: \"pickup_points_zone_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n]);\n\nexport const stockByPickupPoint = pgTable(\"stock_by_pickup_point\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tpickupPointId: uuid(\"pickup_point_id\").notNull(),\n\tproductId: uuid(\"product_id\"),\n\tmodificationId: uuid(\"modification_id\"),\n\tquantity: integer().default(0).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow(),\n}, (table) => [\n\tuniqueIndex(\"unique_stock_modification_per_point\").using(\"btree\", table.pickupPointId.asc().nullsLast().op(\"uuid_ops\"), table.modificationId.asc().nullsLast().op(\"uuid_ops\")).where(sql`(modification_id IS NOT NULL)`),\n\tuniqueIndex(\"unique_stock_product_per_point\").using(\"btree\", table.pickupPointId.asc().nullsLast().op(\"uuid_ops\"), table.productId.asc().nullsLast().op(\"uuid_ops\")).where(sql`((product_id IS NOT NULL) AND (modification_id IS NULL))`),\n\tforeignKey({\n\t\t\tcolumns: [table.modificationId],\n\t\t\tforeignColumns: [productModifications.id],\n\t\t\tname: \"stock_by_pickup_point_modification_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.pickupPointId],\n\t\t\tforeignColumns: [pickupPoints.id],\n\t\t\tname: \"stock_by_pickup_point_pickup_point_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.productId],\n\t\t\tforeignColumns: [products.id],\n\t\t\tname: \"stock_by_pickup_point_product_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\t// 🔴 Унікальний ключ (pickup_point_id, product_id, modification_id)\n\t// прибрано як мертвий, а не як «невживаний»: check нижче гарантує, що\n\t// рівно одна з двох колонок завжди NULL, а UNIQUE з NULL у складі не\n\t// конфліктує НІКОЛИ. Реальну унікальність тримають два часткові\n\t// індекси вище — вони для того й зʼявились.\n\tcheck(\"stock_product_or_modification\", sql`((product_id IS NOT NULL) AND (modification_id IS NULL)) OR ((product_id IS NULL) AND (modification_id IS NOT NULL))`),\n\tindex(\"idx_stock_by_pickup_point_product_id\").on(table.productId),\n\tindex(\"idx_stock_by_pickup_point_modification_id\").on(table.modificationId),\n]);\n\nexport const profiles = pgTable(\"profiles\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tuserId: uuid(\"user_id\").notNull(),\n\temail: text(),\n\tfirstName: text(\"first_name\"),\n\tlastName: text(\"last_name\"),\n\tphone: text(),\n\tcategoryId: uuid(\"category_id\"),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tavatarUrl: text(\"avatar_url\"),\n\tdefaultShippingMethodId: uuid(\"default_shipping_method_id\"),\n\tdefaultPickupPointId: uuid(\"default_pickup_point_id\"),\n\tauthProvider: text(\"auth_provider\"),\n\tregistrationUtm: jsonb(\"registration_utm\").default({}),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.categoryId],\n\t\t\tforeignColumns: [userCategories.id],\n\t\t\tname: \"profiles_category_id_fkey\"\n\t\t}),\n\tforeignKey({\n\t\t\tcolumns: [table.defaultPickupPointId],\n\t\t\tforeignColumns: [pickupPoints.id],\n\t\t\tname: \"profiles_default_pickup_point_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.defaultShippingMethodId],\n\t\t\tforeignColumns: [shippingMethods.id],\n\t\t\tname: \"profiles_default_shipping_method_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.userId],\n\t\t\tforeignColumns: [users.id],\n\t\t\tname: \"profiles_user_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"profiles_user_id_key\").on(table.userId),\n\tcheck(\"profiles_name_length\", sql`((char_length(first_name) <= 100) OR (first_name IS NULL)) AND ((char_length(last_name) <= 100) OR (last_name IS NULL))`),\n\tindex(\"idx_profiles_category_id\").on(table.categoryId),\n\tindex(\"idx_profiles_default_pickup_point_id\").on(table.defaultPickupPointId),\n\tindex(\"idx_profiles_default_shipping_method_id\").on(table.defaultShippingMethodId),\n\tpgPolicy(\"profiles_select_own\", { as: \"permissive\", for: \"select\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"profiles_update_own\", { as: \"permissive\", for: \"update\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id())`, withCheck: sql`user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"profiles_admin_all\", { as: \"permissive\", for: \"all\", to: [\"app_admin\"], using: sql`true`, withCheck: sql`true` }),\n]);\n\nexport const userCategoryHistory = pgTable(\"user_category_history\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tuserId: uuid(\"user_id\").notNull(),\n\tfromCategoryId: uuid(\"from_category_id\"),\n\ttoCategoryId: uuid(\"to_category_id\").notNull(),\n\treason: text(),\n\truleId: uuid(\"rule_id\"),\n\tchangedBy: uuid(\"changed_by\"),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.fromCategoryId],\n\t\t\tforeignColumns: [userCategories.id],\n\t\t\tname: \"user_category_history_from_category_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.ruleId],\n\t\t\tforeignColumns: [categoryRules.id],\n\t\t\tname: \"user_category_history_rule_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.toCategoryId],\n\t\t\tforeignColumns: [userCategories.id],\n\t\t\tname: \"user_category_history_to_category_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tindex(\"idx_user_category_history_user_id\").on(table.userId),\n\tindex(\"idx_user_category_history_from_category_id\").on(table.fromCategoryId),\n\tindex(\"idx_user_category_history_to_category_id\").on(table.toCategoryId),\n\tindex(\"idx_user_category_history_rule_id\").on(table.ruleId),\n\tpgPolicy(\"user_category_history_select_own\", { as: \"permissive\", for: \"select\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"user_category_history_admin_all\", { as: \"permissive\", for: \"all\", to: [\"app_admin\"], using: sql`true`, withCheck: sql`true` }),\n]);\n\nexport const categoryRules = pgTable(\"category_rules\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tname: text().notNull(),\n\tdescription: text(),\n\tfromCategoryId: uuid(\"from_category_id\"),\n\ttoCategoryId: uuid(\"to_category_id\").notNull(),\n\tconditions: jsonb().default({\"type\":\"all\",\"rules\":[]}).notNull(),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tpriority: integer().default(0).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.fromCategoryId],\n\t\t\tforeignColumns: [userCategories.id],\n\t\t\tname: \"category_rules_from_category_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.toCategoryId],\n\t\t\tforeignColumns: [userCategories.id],\n\t\t\tname: \"category_rules_to_category_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tindex(\"idx_category_rules_from_category_id\").on(table.fromCategoryId),\n\tindex(\"idx_category_rules_to_category_id\").on(table.toCategoryId),\n]);\n\nexport const userRecipients = pgTable(\"user_recipients\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tuserId: uuid(\"user_id\").notNull(),\n\tfirstName: text(\"first_name\").notNull(),\n\tlastName: text(\"last_name\").notNull(),\n\tphone: text().notNull(),\n\temail: text(),\n\tcity: text().notNull(),\n\taddress: text().notNull(),\n\tnotes: text(),\n\tisDefault: boolean(\"is_default\").default(false).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tindex(\"idx_user_recipients_user_id\").on(table.userId),\n\tpgPolicy(\"user_recipients_own_all\", { as: \"permissive\", for: \"all\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id())`, withCheck: sql`user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"user_recipients_admin_select\", { as: \"permissive\", for: \"select\", to: [\"app_admin\"], using: sql`true` }),\n]);\n\nexport const orders = pgTable(\"orders\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tuserId: uuid(\"user_id\"),\n\torderNumber: varchar(\"order_number\", { length: 50 }).notNull(),\n\tstatusId: uuid(\"status_id\"),\n\tfirstName: text(\"first_name\").notNull(),\n\tlastName: text(\"last_name\").notNull(),\n\temail: text().notNull(),\n\tphone: text().notNull(),\n\tdeliveryAddress: text(\"delivery_address\"),\n\tdeliveryCity: text(\"delivery_city\"),\n\tdeliveryMethod: text(\"delivery_method\"),\n\tpaymentMethod: text(\"payment_method\").notNull(),\n\tsubtotal: numeric({ precision: 12, scale: 2 }).notNull(),\n\ttotal: numeric({ precision: 12, scale: 2 }).notNull(),\n\tnotes: text(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\taccessToken: text(\"access_token\"),\n\tshippingMethodId: uuid(\"shipping_method_id\"),\n\tshippingZoneId: uuid(\"shipping_zone_id\"),\n\tshippingRateId: uuid(\"shipping_rate_id\"),\n\tshippingCost: numeric(\"shipping_cost\", { precision: 10, scale: 2 }).default('0'),\n\tpickupPointId: uuid(\"pickup_point_id\"),\n\tshippingData: jsonb(\"shipping_data\").default({}),\n\thasDifferentRecipient: boolean(\"has_different_recipient\").default(false).notNull(),\n\trecipientFirstName: text(\"recipient_first_name\"),\n\trecipientLastName: text(\"recipient_last_name\"),\n\trecipientPhone: text(\"recipient_phone\"),\n\trecipientEmail: text(\"recipient_email\"),\n\tsavedRecipientId: uuid(\"saved_recipient_id\"),\n\tsavedAddressId: uuid(\"saved_address_id\"),\n}, (table) => [\n\tindex(\"idx_orders_pickup_point_id\").using(\"btree\", table.pickupPointId.asc().nullsLast().op(\"uuid_ops\")),\n\tindex(\"idx_orders_shipping_method_id\").using(\"btree\", table.shippingMethodId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.pickupPointId],\n\t\t\tforeignColumns: [pickupPoints.id],\n\t\t\tname: \"orders_pickup_point_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.savedAddressId],\n\t\t\tforeignColumns: [userAddresses.id],\n\t\t\tname: \"orders_saved_address_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.savedRecipientId],\n\t\t\tforeignColumns: [userRecipients.id],\n\t\t\tname: \"orders_saved_recipient_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.shippingMethodId],\n\t\t\tforeignColumns: [shippingMethods.id],\n\t\t\tname: \"orders_shipping_method_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.shippingRateId],\n\t\t\tforeignColumns: [shippingRates.id],\n\t\t\tname: \"orders_shipping_rate_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.shippingZoneId],\n\t\t\tforeignColumns: [shippingZones.id],\n\t\t\tname: \"orders_shipping_zone_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n\tforeignKey({\n\t\t\tcolumns: [table.statusId],\n\t\t\tforeignColumns: [orderStatuses.id],\n\t\t\tname: \"orders_status_id_fkey\"\n\t\t}),\n\tforeignKey({\n\t\t\tcolumns: [table.userId],\n\t\t\tforeignColumns: [users.id],\n\t\t\tname: \"orders_user_id_fkey\"\n\t\t}),\n\tunique(\"orders_order_number_key\").on(table.orderNumber),\n\tcheck(\"orders_name_length\", sql`(char_length(first_name) <= 100) AND (char_length(last_name) <= 100)`),\n\tcheck(\"orders_notes_length\", sql`(char_length(notes) <= 5000) OR (notes IS NULL)`),\n\tcheck(\"orders_positive_totals\", sql`(subtotal >= (0)::numeric) AND (total >= (0)::numeric)`),\n\tindex(\"idx_orders_user_id\").on(table.userId),\n\tindex(\"idx_orders_status_id\").on(table.statusId),\n\tindex(\"idx_orders_shipping_rate_id\").on(table.shippingRateId),\n\tindex(\"idx_orders_shipping_zone_id\").on(table.shippingZoneId),\n\tindex(\"idx_orders_saved_address_id\").on(table.savedAddressId),\n\tindex(\"idx_orders_saved_recipient_id\").on(table.savedRecipientId),\n\tindex(\"idx_orders_access_token\").on(table.accessToken).where(sql`access_token is not null`),\n\tpgPolicy(\"orders_select_own_or_token\", { as: \"permissive\", for: \"select\", to: [\"app_user\"], using: sql`(user_id = (select app.current_user_id())) or (access_token is not null and access_token = (select nullif(current_setting('app.order_token', true), '')))` }),\n\tpgPolicy(\"orders_insert_own\", { as: \"permissive\", for: \"insert\", to: [\"app_user\"], withCheck: sql`(user_id = (select app.current_user_id())) or (user_id is null)` }),\n\tpgPolicy(\"orders_admin_all\", { as: \"permissive\", for: \"all\", to: [\"app_admin\"], using: sql`true`, withCheck: sql`true` }),\n]);\n\nexport const userAddresses = pgTable(\"user_addresses\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tuserId: uuid(\"user_id\").notNull(),\n\tname: text().notNull(),\n\tcity: text().notNull(),\n\taddress: text().notNull(),\n\tisDefault: boolean(\"is_default\").default(false).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tindex(\"idx_user_addresses_user_id\").on(table.userId),\n\tpgPolicy(\"user_addresses_own_all\", { as: \"permissive\", for: \"all\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id())`, withCheck: sql`user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"user_addresses_admin_select\", { as: \"permissive\", for: \"select\", to: [\"app_admin\"], using: sql`true` }),\n]);\n\nexport const productPrices = pgTable(\"product_prices\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tpriceTypeId: uuid(\"price_type_id\").notNull(),\n\tproductId: uuid(\"product_id\").notNull(),\n\tmodificationId: uuid(\"modification_id\"),\n\tprice: numeric().notNull(),\n\toldPrice: numeric(\"old_price\"),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tuniqueIndex(\"idx_product_prices_unique\").using(\"btree\", sql`price_type_id`, sql`product_id`, sql`COALESCE(modification_id, '00000000-0000-0000-0000-000000000000'::uuid)`),\n\tforeignKey({\n\t\t\tcolumns: [table.modificationId],\n\t\t\tforeignColumns: [productModifications.id],\n\t\t\tname: \"product_prices_modification_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.priceTypeId],\n\t\t\tforeignColumns: [priceTypes.id],\n\t\t\tname: \"product_prices_price_type_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.productId],\n\t\t\tforeignColumns: [products.id],\n\t\t\tname: \"product_prices_product_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tindex(\"idx_product_prices_product_id\").on(table.productId),\n\tindex(\"idx_product_prices_modification_id\").on(table.modificationId),\n]);\n\nexport const themes = pgTable(\"themes\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tname: varchar({ length: 100 }).notNull(),\n\tdisplayName: text(\"display_name\").notNull(),\n\tversion: varchar({ length: 20 }).default('1.0.0').notNull(),\n\tdescription: text(),\n\tauthor: text(),\n\tpreviewImage: text(\"preview_image\"),\n\tisActive: boolean(\"is_active\").default(false).notNull(),\n\tsettings: jsonb().default({}),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow(),\n}, (table) => [\n\tuniqueIndex(\"themes_active_idx\").using(\"btree\", table.isActive.asc().nullsLast().op(\"bool_ops\")).where(sql`(is_active = true)`),\n\tunique(\"themes_name_key\").on(table.name),\n]);\n\nexport const priceTypes = pgTable(\"price_types\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tname: text().notNull(),\n\tcode: varchar().notNull(),\n\tisDefault: boolean(\"is_default\").default(false).notNull(),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tuniqueIndex(\"idx_price_types_single_default\").using(\"btree\", table.isDefault.asc().nullsLast().op(\"bool_ops\")).where(sql`(is_default = true)`),\n\tunique(\"price_types_code_key\").on(table.code),\n]);\n\nexport const discountGroups = pgTable(\"discount_groups\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tname: text().notNull(),\n\tdescription: text(),\n\toperator: discountGroupOperator().default('and').notNull(),\n\tparentGroupId: uuid(\"parent_group_id\"),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tpriority: integer().default(0).notNull(),\n\tstartsAt: timestamp(\"starts_at\", { withTimezone: true, mode: 'string' }),\n\tendsAt: timestamp(\"ends_at\", { withTimezone: true, mode: 'string' }),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tindex(\"idx_discount_groups_parent\").using(\"btree\", table.parentGroupId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.parentGroupId],\n\t\t\tforeignColumns: [table.id],\n\t\t\tname: \"discount_groups_parent_group_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n]);\n\nexport const discountTargets = pgTable(\"discount_targets\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tdiscountId: uuid(\"discount_id\").notNull(),\n\ttargetType: discountTargetType(\"target_type\").default('all').notNull(),\n\ttargetId: uuid(\"target_id\"),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tindex(\"idx_discount_targets_discount\").using(\"btree\", table.discountId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.discountId],\n\t\t\tforeignColumns: [discounts.id],\n\t\t\tname: \"discount_targets_discount_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n]);\n\nexport const discountConditions = pgTable(\"discount_conditions\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tdiscountId: uuid(\"discount_id\").notNull(),\n\tconditionType: varchar(\"condition_type\").notNull(),\n\toperator: varchar().default('=').notNull(),\n\tvalue: jsonb().default({}).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tindex(\"idx_discount_conditions_discount\").using(\"btree\", table.discountId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.discountId],\n\t\t\tforeignColumns: [discounts.id],\n\t\t\tname: \"discount_conditions_discount_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n]);\n\nexport const discounts = pgTable(\"discounts\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tname: text().notNull(),\n\tdescription: text(),\n\tgroupId: uuid(\"group_id\").notNull(),\n\tdiscountType: discountType(\"discount_type\").default('percent').notNull(),\n\tdiscountValue: numeric(\"discount_value\").notNull(),\n\tpriority: integer().default(0).notNull(),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tstartsAt: timestamp(\"starts_at\", { withTimezone: true, mode: 'string' }),\n\tendsAt: timestamp(\"ends_at\", { withTimezone: true, mode: 'string' }),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tpriceTypeId: uuid(\"price_type_id\").notNull(),\n}, (table) => [\n\tindex(\"idx_discounts_group\").using(\"btree\", table.groupId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.groupId],\n\t\t\tforeignColumns: [discountGroups.id],\n\t\t\tname: \"discounts_group_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tforeignKey({\n\t\t\tcolumns: [table.priceTypeId],\n\t\t\tforeignColumns: [priceTypes.id],\n\t\t\tname: \"discounts_price_type_id_fkey\"\n\t\t}),\n\tindex(\"idx_discounts_price_type_id\").on(table.priceTypeId),\n]);\n\nexport const productReviews = pgTable(\"product_reviews\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\tproductId: uuid(\"product_id\").notNull(),\n\tuserId: uuid(\"user_id\").notNull(),\n\trating: integer().notNull(),\n\ttitle: text(),\n\tcontent: text(),\n\timages: jsonb().default([]),\n\tstatus: text().default('pending').notNull(),\n\tadminComment: text(\"admin_comment\"),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n}, (table) => [\n\tforeignKey({\n\t\t\tcolumns: [table.productId],\n\t\t\tforeignColumns: [products.id],\n\t\t\tname: \"product_reviews_product_id_fkey\"\n\t\t}).onDelete(\"cascade\"),\n\tunique(\"product_reviews_product_id_user_id_key\").on(table.productId, table.userId),\n\tindex(\"idx_product_reviews_user_id\").on(table.userId),\n\tpgPolicy(\"product_reviews_select_approved_or_own\", { as: \"permissive\", for: \"select\", to: [\"app_user\"], using: sql`status = 'approved' or user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"product_reviews_insert_own\", { as: \"permissive\", for: \"insert\", to: [\"app_user\"], withCheck: sql`user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"product_reviews_update_own_pending\", { as: \"permissive\", for: \"update\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id()) and status = 'pending'`, withCheck: sql`user_id = (select app.current_user_id()) and status = 'pending'` }),\n\tpgPolicy(\"product_reviews_delete_own\", { as: \"permissive\", for: \"delete\", to: [\"app_user\"], using: sql`user_id = (select app.current_user_id())` }),\n\tpgPolicy(\"product_reviews_admin_all\", { as: \"permissive\", for: \"all\", to: [\"app_admin\"], using: sql`true`, withCheck: sql`true` }),\n]);\n\nexport const banners = pgTable(\"banners\", {\n\tid: uuid().defaultRandom().primaryKey().notNull(),\n\ttitle: text().notNull(),\n\tsubtitle: text(),\n\timageUrl: text(\"image_url\").notNull(),\n\tsortOrder: integer(\"sort_order\").default(0).notNull(),\n\tisActive: boolean(\"is_active\").default(true).notNull(),\n\tcreatedAt: timestamp(\"created_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tupdatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: 'string' }).defaultNow().notNull(),\n\tplacement: text().default('home').notNull(),\n\tsectionId: uuid(\"section_id\"),\n\tbuttons: jsonb().default([]),\n\tdateFrom: timestamp(\"date_from\", { withTimezone: true, mode: 'string' }),\n\tdateTo: timestamp(\"date_to\", { withTimezone: true, mode: 'string' }),\n\tscheduleDays: integer(\"schedule_days\").array(),\n\tscheduleTimeFrom: time(\"schedule_time_from\"),\n\tscheduleTimeTo: time(\"schedule_time_to\"),\n\tslideDuration: integer(\"slide_duration\").default(5000).notNull(),\n\tanimationType: text(\"animation_type\").default('slide').notNull(),\n\tanimationDuration: integer(\"animation_duration\").default(500).notNull(),\n\toverlayColor: text(\"overlay_color\").default('rgba(0,0,0,0.4)'),\n\ttextPosition: text(\"text_position\").default('left').notNull(),\n\tdesktopImageUrl: text(\"desktop_image_url\"),\n\tmobileImageUrl: text(\"mobile_image_url\"),\n}, (table) => [\n\tindex(\"idx_banners_placement\").using(\"btree\", table.placement.asc().nullsLast().op(\"text_ops\")),\n\tindex(\"idx_banners_section_id\").using(\"btree\", table.sectionId.asc().nullsLast().op(\"uuid_ops\")),\n\tforeignKey({\n\t\t\tcolumns: [table.sectionId],\n\t\t\tforeignColumns: [sections.id],\n\t\t\tname: \"banners_section_id_fkey\"\n\t\t}).onDelete(\"set null\"),\n]);\n"]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { InferInsertModel, InferSelectModel } from 'drizzle-orm';
|
|
2
|
+
import type { media } from './media';
|
|
3
|
+
import type { accounts, sessions, users, verifications } from './auth';
|
|
4
|
+
import type { banners, categoryRules, comparisons, discountConditions, discountGroups, discountTargets, discounts, languages, modificationPropertyValues, orderItems, orderStatuses, orders, pickupPoints, pluginEvents, plugins, priceTypes, productModifications, productPrices, productPropertyValues, productReviews, products, profiles, propertyOptions, sectionProperties, sectionPropertyAssignments, sections, serviceRequests, services, shippingMethods, shippingRates, shippingZones, stockByPickupPoint, systemSettings, themes, userAddresses, userCategories, userCategoryHistory, userRecipients, userRoles, wishlists } from './schema';
|
|
5
|
+
export type User = InferSelectModel<typeof users>;
|
|
6
|
+
export type NewUser = InferInsertModel<typeof users>;
|
|
7
|
+
export type Session = InferSelectModel<typeof sessions>;
|
|
8
|
+
export type NewSession = InferInsertModel<typeof sessions>;
|
|
9
|
+
export type Account = InferSelectModel<typeof accounts>;
|
|
10
|
+
export type NewAccount = InferInsertModel<typeof accounts>;
|
|
11
|
+
export type Verification = InferSelectModel<typeof verifications>;
|
|
12
|
+
export type NewVerification = InferInsertModel<typeof verifications>;
|
|
13
|
+
export type Profile = InferSelectModel<typeof profiles>;
|
|
14
|
+
export type NewProfile = InferInsertModel<typeof profiles>;
|
|
15
|
+
export type UserRole = InferSelectModel<typeof userRoles>;
|
|
16
|
+
export type NewUserRole = InferInsertModel<typeof userRoles>;
|
|
17
|
+
export type UserCategory = InferSelectModel<typeof userCategories>;
|
|
18
|
+
export type NewUserCategory = InferInsertModel<typeof userCategories>;
|
|
19
|
+
export type UserCategoryHistory = InferSelectModel<typeof userCategoryHistory>;
|
|
20
|
+
export type NewUserCategoryHistory = InferInsertModel<typeof userCategoryHistory>;
|
|
21
|
+
export type CategoryRule = InferSelectModel<typeof categoryRules>;
|
|
22
|
+
export type NewCategoryRule = InferInsertModel<typeof categoryRules>;
|
|
23
|
+
export type UserAddress = InferSelectModel<typeof userAddresses>;
|
|
24
|
+
export type NewUserAddress = InferInsertModel<typeof userAddresses>;
|
|
25
|
+
export type UserRecipient = InferSelectModel<typeof userRecipients>;
|
|
26
|
+
export type NewUserRecipient = InferInsertModel<typeof userRecipients>;
|
|
27
|
+
export type Product = InferSelectModel<typeof products>;
|
|
28
|
+
export type NewProduct = InferInsertModel<typeof products>;
|
|
29
|
+
export type ProductModification = InferSelectModel<typeof productModifications>;
|
|
30
|
+
export type NewProductModification = InferInsertModel<typeof productModifications>;
|
|
31
|
+
export type ProductPrice = InferSelectModel<typeof productPrices>;
|
|
32
|
+
export type NewProductPrice = InferInsertModel<typeof productPrices>;
|
|
33
|
+
export type ProductPropertyValue = InferSelectModel<typeof productPropertyValues>;
|
|
34
|
+
export type ModificationPropertyValue = InferSelectModel<typeof modificationPropertyValues>;
|
|
35
|
+
export type ProductReview = InferSelectModel<typeof productReviews>;
|
|
36
|
+
export type NewProductReview = InferInsertModel<typeof productReviews>;
|
|
37
|
+
export type Section = InferSelectModel<typeof sections>;
|
|
38
|
+
export type NewSection = InferInsertModel<typeof sections>;
|
|
39
|
+
export type SectionProperty = InferSelectModel<typeof sectionProperties>;
|
|
40
|
+
export type SectionPropertyAssignment = InferSelectModel<typeof sectionPropertyAssignments>;
|
|
41
|
+
export type PropertyOption = InferSelectModel<typeof propertyOptions>;
|
|
42
|
+
export type PriceType = InferSelectModel<typeof priceTypes>;
|
|
43
|
+
export type Order = InferSelectModel<typeof orders>;
|
|
44
|
+
export type NewOrder = InferInsertModel<typeof orders>;
|
|
45
|
+
export type OrderItem = InferSelectModel<typeof orderItems>;
|
|
46
|
+
export type NewOrderItem = InferInsertModel<typeof orderItems>;
|
|
47
|
+
export type OrderStatus = InferSelectModel<typeof orderStatuses>;
|
|
48
|
+
export type Wishlist = InferSelectModel<typeof wishlists>;
|
|
49
|
+
export type NewWishlist = InferInsertModel<typeof wishlists>;
|
|
50
|
+
export type Comparison = InferSelectModel<typeof comparisons>;
|
|
51
|
+
export type NewComparison = InferInsertModel<typeof comparisons>;
|
|
52
|
+
export type Discount = InferSelectModel<typeof discounts>;
|
|
53
|
+
export type NewDiscount = InferInsertModel<typeof discounts>;
|
|
54
|
+
export type DiscountGroup = InferSelectModel<typeof discountGroups>;
|
|
55
|
+
export type DiscountCondition = InferSelectModel<typeof discountConditions>;
|
|
56
|
+
export type DiscountTarget = InferSelectModel<typeof discountTargets>;
|
|
57
|
+
export type ShippingMethod = InferSelectModel<typeof shippingMethods>;
|
|
58
|
+
export type ShippingZone = InferSelectModel<typeof shippingZones>;
|
|
59
|
+
export type ShippingRate = InferSelectModel<typeof shippingRates>;
|
|
60
|
+
export type PickupPoint = InferSelectModel<typeof pickupPoints>;
|
|
61
|
+
export type StockByPickupPoint = InferSelectModel<typeof stockByPickupPoint>;
|
|
62
|
+
export type Media = InferSelectModel<typeof media>;
|
|
63
|
+
export type NewMedia = InferInsertModel<typeof media>;
|
|
64
|
+
export type Theme = InferSelectModel<typeof themes>;
|
|
65
|
+
export type NewTheme = InferInsertModel<typeof themes>;
|
|
66
|
+
export type Plugin = InferSelectModel<typeof plugins>;
|
|
67
|
+
export type PluginEvent = InferSelectModel<typeof pluginEvents>;
|
|
68
|
+
export type SystemSetting = InferSelectModel<typeof systemSettings>;
|
|
69
|
+
export type Language = InferSelectModel<typeof languages>;
|
|
70
|
+
export type Banner = InferSelectModel<typeof banners>;
|
|
71
|
+
export type NewBanner = InferInsertModel<typeof banners>;
|
|
72
|
+
export type Service = InferSelectModel<typeof services>;
|
|
73
|
+
export type ServiceRequest = InferSelectModel<typeof serviceRequests>;
|
|
74
|
+
export type NewServiceRequest = InferInsertModel<typeof serviceRequests>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
2
|
+
/**
|
|
3
|
+
* Клієнт даних для storefront-лоадерів. Параметр-схема НЕ фіксується тут
|
|
4
|
+
* (default-generic `any`), щоб пакет не залежав від конкретної `Database`
|
|
5
|
+
* (host/marketplace інжектує свій типізований клієнт — він структурно сумісний).
|
|
6
|
+
*/
|
|
7
|
+
export type StorefrontClient = SupabaseClient;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { clearDefaultAddresses, clearDefaultRecipients, createAddress, createOrder, createRecipient, deleteAddress, deleteProductReview, deleteRecipient, groupItemsByOrder, groupPricesByProduct, insertProductReview, isBannerVisible, loadActivePickupPointsCount, loadAddresses, loadBanners, loadCatalogProducts, loadCatalogProductsWhere, loadDefaultPriceTypeId, loadDefaultStatusId, loadDefaultUserCategoryId, loadDiscountGroups, loadFilterOptions, loadHomePageData, loadHomeProducts, loadModificationIds, loadModificationStock, loadModificationValues, loadOneSectionProducts, loadOrderDetail, loadOrderStatuses, loadPickupPoints, loadProduct, loadProductList, loadProductModificationValues, loadProductRatings, loadProductReviews, loadProfile, loadProperties, loadPropertyBySlug, loadPropertyOption, loadRecipients, loadReviewAuthors, loadRootSections, loadSectionBySlug, loadSectionFilters, loadSectionNumericProperties, loadSectionProducts, loadSections, loadShippingDirectory, loadShippingMethods, loadShippingRates, loadShippingZones, loadSitemapData, loadStatusByCode, loadStockByModification, loadStockByProduct, loadStockInfo, loadUserCategoryId, loadUserOrders, loadUserPriceTypeId, optionalSessionUserId, pickDefaultModification, propertyValueColumns, requireSessionUserId, setOrderStatus, toBanner, toDiscount, toDiscountGroupNode, toHomeProduct, toImageList, toModificationRow, toNumericValue, toOrderItem, toPriceEntry, toPropertyRow, toPropertyValueRow, toPropertyValueViewModel, updateAddress, updateProfile, updateRecipient, withCustomerDb, withOrderTokenDb, withSessionDb, withStoreOperatorDb, withStorefrontDb } from '../chunk-BDKJ3ITL.js';
|
|
2
|
+
export { buildRobotsTxt, renderSitemapXml } from '../chunk-GZWE2546.js';
|
|
3
|
+
import '../chunk-PZ5AY32C.js';
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ActorDb } from './db';
|
|
2
|
+
/** Адреса покупця разом із лічильником замовлень, які на неї послались. */
|
|
3
|
+
export interface AddressRow {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
city: string;
|
|
7
|
+
address: string;
|
|
8
|
+
is_default: boolean;
|
|
9
|
+
usage_count: number;
|
|
10
|
+
}
|
|
11
|
+
/** Поля адреси, які редагує покупець. */
|
|
12
|
+
export interface AddressInput {
|
|
13
|
+
name: string;
|
|
14
|
+
city: string;
|
|
15
|
+
address: string;
|
|
16
|
+
isDefault: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Адреси покупця з лічильником використань.
|
|
20
|
+
*
|
|
21
|
+
* 🔴 Раніше це був водоспад: браузер брав список, а потім на КОЖНУ адресу
|
|
22
|
+
* робив окремий `count` по замовленнях — N+1 запитів, і кожен із `user_id`
|
|
23
|
+
* із клієнта. Тут один `left join … group by` в транзакції актора.
|
|
24
|
+
*
|
|
25
|
+
* 🔴 `orders` у джойні звужена політикою `orders_select_own_or_token`, тож
|
|
26
|
+
* лічильник рахує ЛИШЕ власні замовлення покупця — чужі до нього не
|
|
27
|
+
* дотягуються навіть якби посилались на цю адресу.
|
|
28
|
+
*/
|
|
29
|
+
export declare function loadAddresses(db: ActorDb, userId: string): Promise<AddressRow[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Додає адресу покупцю. `userId` ставить сервер — політика
|
|
32
|
+
* `user_addresses_own_all` має WITH CHECK на власника.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createAddress(db: ActorDb, userId: string, input: AddressInput): Promise<string>;
|
|
35
|
+
/**
|
|
36
|
+
* Оновлює адресу покупця. Повертає `false`, якщо рядок не належить актору.
|
|
37
|
+
*
|
|
38
|
+
* 🔴 Предикат `user_id` тут — ДРУГИЙ рубіж, не єдиний: RLS уже звузила
|
|
39
|
+
* таблицю до власника. Але саме `returning` перетворює «нічого не оновилось»
|
|
40
|
+
* на явну відповідь виклику — без нього спроба переписати чужу адресу
|
|
41
|
+
* виглядала б для клієнта успіхом.
|
|
42
|
+
*/
|
|
43
|
+
export declare function updateAddress(db: ActorDb, userId: string, id: string, input: AddressInput): Promise<boolean>;
|
|
44
|
+
/** Видаляє адресу покупця; `false` — рядка немає або він чужий. */
|
|
45
|
+
export declare function deleteAddress(db: ActorDb, userId: string, id: string): Promise<boolean>;
|
|
46
|
+
/** Знімає прапорець «за замовчуванням» з усіх адрес покупця. */
|
|
47
|
+
export declare function clearDefaultAddresses(db: ActorDb, userId: string): Promise<void>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Banner } from 'simplycms/contracts';
|
|
2
|
+
import type { ActorDb } from './db';
|
|
3
|
+
/** Де саме показується добірка: каркас вітрини має кілька місць під банери. */
|
|
4
|
+
export interface BannerQuery {
|
|
5
|
+
placement: string;
|
|
6
|
+
sectionId?: string | null;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Банери одного місця розміщення.
|
|
10
|
+
*
|
|
11
|
+
* 🔴 `is_active` — предикат КОДУ: RLS на `banners` немає, `app_user` має
|
|
12
|
+
* SELECT на всю таблицю, тож забутий фільтр не впаде, а тихо виведе на
|
|
13
|
+
* головну чернетку акції, яку адмінка вимкнула.
|
|
14
|
+
*
|
|
15
|
+
* Розклад (дати, дні тижня, години) відсіюється після вибірки: він залежить
|
|
16
|
+
* від «зараз», і тримати його в SQL означало б робити запит некешованим за
|
|
17
|
+
* побудовою заради трьох порівнянь у пам'яті.
|
|
18
|
+
*/
|
|
19
|
+
export declare function loadBanners(db: ActorDb, query: BannerQuery): Promise<Banner[]>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ActorDb } from './db';
|
|
2
|
+
/** Числова характеристика розділу, придатна для фільтра-діапазону. */
|
|
3
|
+
export interface NumericPropertyRow {
|
|
4
|
+
id: string;
|
|
5
|
+
slug: string;
|
|
6
|
+
property_type: string;
|
|
7
|
+
is_filterable: boolean;
|
|
8
|
+
}
|
|
9
|
+
/** Опція характеристики для бейджа активного фільтра. */
|
|
10
|
+
export interface FilterOptionRow {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
property_id: string;
|
|
14
|
+
/** Порядок з адмінки; у бейджах активних фільтрів не використовується. */
|
|
15
|
+
slug?: string;
|
|
16
|
+
sort_order?: number;
|
|
17
|
+
section_properties: {
|
|
18
|
+
name: string;
|
|
19
|
+
slug: string;
|
|
20
|
+
} | null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Числові характеристики розділу, за якими можна фільтрувати.
|
|
24
|
+
*
|
|
25
|
+
* 🔴 Відбір `is_filterable` + тип робиться ЗАПИТОМ, а не після вибірки в
|
|
26
|
+
* браузері: старий код тягнув усі призначення розділу й відсіював їх у JS,
|
|
27
|
+
* тобто платив трафіком за рядки, які одразу викидав.
|
|
28
|
+
*/
|
|
29
|
+
export declare function loadSectionNumericProperties(db: ActorDb, sectionId: string): Promise<NumericPropertyRow[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Усі опції характеристик — назви для бейджів активних фільтрів.
|
|
32
|
+
*
|
|
33
|
+
* Розділу вибірка не знає навмисно: бейджі показують назву опції, а вона від
|
|
34
|
+
* розділу не залежить — інакше кожне перемикання чипса перезапитувало б
|
|
35
|
+
* ті самі рядки.
|
|
36
|
+
*/
|
|
37
|
+
export declare function loadFilterOptions(db: ActorDb): Promise<FilterOptionRow[]>;
|
|
38
|
+
/** Характеристика розділу в панелі фільтрів. */
|
|
39
|
+
export interface FilterPropertyRow extends NumericPropertyRow {
|
|
40
|
+
name: string;
|
|
41
|
+
}
|
|
42
|
+
/** Панель фільтрів розділу: характеристики + опції тих, що з переліком. */
|
|
43
|
+
export interface SectionFilters {
|
|
44
|
+
properties: FilterPropertyRow[];
|
|
45
|
+
/** `propertyId → опції`; лише для `select`/`multiselect`. */
|
|
46
|
+
optionsByProperty: Record<string, FilterOptionRow[]>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Усе, що потрібно панелі фільтрів розділу, — ОДНИМ викликом.
|
|
50
|
+
*
|
|
51
|
+
* 🔴 Було два послідовні запити браузера, і другий чекав на перший, бо його
|
|
52
|
+
* `in (…)` будувався з id, які повертав перший. Тут вони в одній транзакції,
|
|
53
|
+
* а дедуплікація характеристик (одна може бути призначена і товару, і
|
|
54
|
+
* модифікації) робиться там же, де й вибірка.
|
|
55
|
+
*/
|
|
56
|
+
export declare function loadSectionFilters(db: ActorDb, sectionId: string): Promise<SectionFilters>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type SQL } from 'drizzle-orm';
|
|
2
|
+
import type { ActorDb } from './db';
|
|
3
|
+
import { type CatalogProductRow } from './entities/catalog-product';
|
|
4
|
+
/**
|
|
5
|
+
* Вибірка каталогу з усім, що потрібно фільтрам: модифікації, ціни,
|
|
6
|
+
* характеристики обох рівнів і наявність.
|
|
7
|
+
*
|
|
8
|
+
* `sectionId` звужує вибірку сторінкою розділу; без нього беруться всі
|
|
9
|
+
* активні товари — чипси каталогу перемикають розділ уже на клієнті.
|
|
10
|
+
*
|
|
11
|
+
* 🔴 `is_active = true` — обовʼязковий предикат видимості: RLS на каталозі
|
|
12
|
+
* немає (див. `./sections`), тож забутий фільтр не впаде, а тихо виведе
|
|
13
|
+
* чернетки в магазин.
|
|
14
|
+
*
|
|
15
|
+
* 🔴 Запити послідовні й по `inArray`: транзакція живе на одному зʼєднанні,
|
|
16
|
+
* тож `Promise.all` дав би лише уявний паралелізм (див. `./products`).
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadCatalogProducts(db: ActorDb, sectionId?: string): Promise<CatalogProductRow[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Та сама вибірка, звужена ДОВІЛЬНИМ додатковим предикатом.
|
|
21
|
+
*
|
|
22
|
+
* 🔴 `is_active = true` доклеюється ТУТ і не є частиною аргументу: інакше
|
|
23
|
+
* кожен новий викликач мусив би згадати про нього самостійно, і рано чи
|
|
24
|
+
* пізно хтось би не згадав. Сторінка значення характеристики (`./property-option`)
|
|
25
|
+
* — рівно такий викликач.
|
|
26
|
+
*/
|
|
27
|
+
export declare function loadCatalogProductsWhere(db: ActorDb, extra?: SQL): Promise<CatalogProductRow[]>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ActorDb } from './db';
|
|
2
|
+
/**
|
|
3
|
+
* Категорія покупця — джерело умови `user_category` рушія знижок.
|
|
4
|
+
*
|
|
5
|
+
* 🔴 Читається ЛИШЕ під `withCustomerDb`, і `userId` сюди приходить із
|
|
6
|
+
* серверної сесії. Раніше браузер брав `profiles.category_id` запитом за
|
|
7
|
+
* `user_id` із клієнта — тобто чужу знижкову категорію міг дізнатися будь-хто,
|
|
8
|
+
* хто підставив чужий id. Політика `profiles_select_own` тепер звужує рядок
|
|
9
|
+
* до власника, але вона довіряє тому id, який їй назвав сервер.
|
|
10
|
+
*/
|
|
11
|
+
export declare function loadUserCategoryId(db: ActorDb, userId: string): Promise<string | null>;
|
|
12
|
+
/**
|
|
13
|
+
* Категорія за замовчуванням — те, що дістає анонім.
|
|
14
|
+
*
|
|
15
|
+
* Без неї гість не потрапляв би в жодну умову `user_category`, і базова
|
|
16
|
+
* роздрібна акція, налаштована на категорію «Роздріб», не показувалась би
|
|
17
|
+
* саме тим, кому призначена.
|
|
18
|
+
*/
|
|
19
|
+
export declare function loadDefaultUserCategoryId(db: ActorDb): Promise<string | null>;
|