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/admin/pages/BannerEdit.tsx"],"names":[],"mappings":"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","file":"chunk-UBLERNL3.js","sourcesContent":["import { useState } from 'react';\nimport { useParams, useNavigate } from '@tanstack/react-router';\nimport { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useSupabaseClient } from 'simplycms/supabase/SupabaseProvider';\nimport { Button } from 'simplycms/ui/button';\nimport { Input } from 'simplycms/ui/input';\nimport { Label } from 'simplycms/ui/label';\nimport { Switch } from 'simplycms/ui/switch';\nimport { Slider } from 'simplycms/ui/slider';\nimport { Checkbox } from 'simplycms/ui/checkbox';\nimport { Card, CardContent, CardHeader, CardTitle } from 'simplycms/ui/card';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from 'simplycms/ui/select';\nimport { useToast } from 'simplycms/core/hooks/use-toast';\nimport { ImageUpload } from '../components/ImageUpload';\nimport { ArrowLeft, Save, Plus, Trash2 } from 'lucide-react';\nimport type { Json } from 'simplycms/supabase';\nimport { adminPath } from '../lib/adminLinks';\nimport { useT, type MessageKey } from 'simplycms/i18n';\n\ninterface BannerButton {\n text: string;\n url: string;\n target: '_self' | '_blank';\n variant: 'primary' | 'secondary' | 'outline';\n}\n\ninterface BannerForm {\n title: string;\n subtitle: string;\n image_url: string;\n desktop_image_url: string;\n mobile_image_url: string;\n placement: string;\n section_id: string;\n buttons: BannerButton[];\n date_from: string;\n date_to: string;\n schedule_days: number[];\n schedule_time_from: string;\n schedule_time_to: string;\n slide_duration: number;\n animation_type: string;\n animation_duration: number;\n overlay_color: string;\n text_position: string;\n sort_order: number;\n is_active: boolean;\n}\n\n// Мапа КЛЮЧІВ: номер дня тижня фіксований, підпис резолвиться в рендері.\nconst DAYS: { value: number; labelKey: MessageKey }[] = [\n { value: 1, labelKey: 'admin.banners.weekday.mon' },\n { value: 2, labelKey: 'admin.banners.weekday.tue' },\n { value: 3, labelKey: 'admin.banners.weekday.wed' },\n { value: 4, labelKey: 'admin.banners.weekday.thu' },\n { value: 5, labelKey: 'admin.banners.weekday.fri' },\n { value: 6, labelKey: 'admin.banners.weekday.sat' },\n { value: 0, labelKey: 'admin.banners.weekday.sun' },\n];\n\nconst defaultForm: BannerForm = {\n title: '',\n subtitle: '',\n image_url: '',\n desktop_image_url: '',\n mobile_image_url: '',\n placement: 'home',\n section_id: '',\n buttons: [],\n date_from: '',\n date_to: '',\n schedule_days: [],\n schedule_time_from: '',\n schedule_time_to: '',\n slide_duration: 5000,\n animation_type: 'slide',\n animation_duration: 500,\n overlay_color: 'rgba(0,0,0,0.4)',\n text_position: 'left',\n sort_order: 0,\n is_active: true,\n};\n\nexport default function BannerEdit() {\n const t = useT();\n const supabase = useSupabaseClient();\n const { bannerId } = useParams({ strict: false }) as { bannerId: string };\n const navigate = useNavigate();\n const { toast } = useToast();\n const queryClient = useQueryClient();\n const isNew = !bannerId || bannerId === 'new';\n\n const [form, setForm] = useState<BannerForm>(defaultForm);\n\n const { data: banner, isLoading } = useQuery({\n queryKey: ['admin-banner', bannerId],\n queryFn: async () => {\n if (isNew) return null;\n const { data, error } = await supabase\n .from('banners')\n .select('*')\n .eq('id', bannerId!)\n .single();\n if (error) throw error;\n return data;\n },\n enabled: !isNew,\n });\n\n const { data: sections } = useQuery({\n queryKey: ['admin-sections-list'],\n queryFn: async () => {\n const { data } = await supabase\n .from('sections')\n .select('id, name')\n .eq('is_active', true)\n .order('sort_order');\n return data || [];\n },\n });\n\n // Ініціалізація форми при завантаженні даних (adjust state during render)\n const [prevBannerId, setPrevBannerId] = useState<string | null>(null);\n if (banner && banner.id !== prevBannerId) {\n setPrevBannerId(banner.id);\n setForm({\n title: banner.title || '',\n subtitle: banner.subtitle || '',\n image_url: banner.image_url || '',\n desktop_image_url: banner.desktop_image_url || '',\n mobile_image_url: banner.mobile_image_url || '',\n placement: banner.placement || 'home',\n section_id: banner.section_id || '',\n buttons: (Array.isArray(banner.buttons)\n ? banner.buttons\n : []) as unknown as BannerButton[],\n date_from: banner.date_from ? banner.date_from.slice(0, 16) : '',\n date_to: banner.date_to ? banner.date_to.slice(0, 16) : '',\n schedule_days: (banner.schedule_days as number[]) || [],\n schedule_time_from: banner.schedule_time_from || '',\n schedule_time_to: banner.schedule_time_to || '',\n slide_duration: banner.slide_duration || 5000,\n animation_type: banner.animation_type || 'slide',\n animation_duration: banner.animation_duration || 500,\n overlay_color: banner.overlay_color || 'rgba(0,0,0,0.4)',\n text_position: banner.text_position || 'left',\n sort_order: banner.sort_order || 0,\n is_active: banner.is_active ?? true,\n });\n }\n\n const saveMutation = useMutation({\n mutationFn: async () => {\n const payload = {\n title: form.title,\n subtitle: form.subtitle || null,\n image_url: form.image_url,\n desktop_image_url: form.desktop_image_url || null,\n mobile_image_url: form.mobile_image_url || null,\n placement: form.placement,\n section_id: form.section_id || null,\n buttons: form.buttons as unknown as Json,\n date_from: form.date_from || null,\n date_to: form.date_to || null,\n schedule_days:\n form.schedule_days.length > 0 ? form.schedule_days : null,\n schedule_time_from: form.schedule_time_from || null,\n schedule_time_to: form.schedule_time_to || null,\n slide_duration: form.slide_duration,\n animation_type: form.animation_type,\n animation_duration: form.animation_duration,\n overlay_color: form.overlay_color || null,\n text_position: form.text_position,\n sort_order: form.sort_order,\n is_active: form.is_active,\n };\n\n if (isNew) {\n const { error } = await supabase.from('banners').insert(payload);\n if (error) throw error;\n } else {\n const { error } = await supabase\n .from('banners')\n .update(payload)\n .eq('id', bannerId!);\n if (error) throw error;\n }\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['admin-banners'] });\n toast({ title: t('admin.banners.saved') });\n navigate({ to: adminPath('banners') });\n },\n onError: () => {\n toast({ variant: 'destructive', title: t('common.saveError') });\n },\n });\n\n const update = <K extends keyof BannerForm>(key: K, value: BannerForm[K]) => {\n setForm((prev) => ({ ...prev, [key]: value }));\n };\n\n const addButton = () => {\n update('buttons', [\n ...form.buttons,\n { text: '', url: '', target: '_self', variant: 'primary' },\n ]);\n };\n\n const updateButton = (\n index: number,\n field: keyof BannerButton,\n value: string,\n ) => {\n const updated = [...form.buttons];\n updated[index] = { ...updated[index], [field]: value };\n update('buttons', updated);\n };\n\n const removeButton = (index: number) => {\n update(\n 'buttons',\n form.buttons.filter((_, i) => i !== index),\n );\n };\n\n const toggleDay = (day: number) => {\n const days = form.schedule_days.includes(day)\n ? form.schedule_days.filter((d) => d !== day)\n : [...form.schedule_days, day];\n update('schedule_days', days);\n };\n\n if (isLoading) return <div className=\"p-6\">{t('common.loading')}</div>;\n\n return (\n <div className=\"space-y-6\">\n <div className=\"flex items-center gap-4\">\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => navigate({ to: adminPath('banners') })}\n >\n <ArrowLeft className=\"h-4 w-4\" />\n </Button>\n <h1 className=\"text-2xl font-bold\">\n {isNew ? t('admin.banners.new') : t('admin.banners.editTitle')}\n </h1>\n </div>\n\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n <div className=\"lg:col-span-2 space-y-6\">\n {/* Main info */}\n <Card>\n <CardHeader>\n <CardTitle>{t('admin.banners.main')}</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div>\n <Label>{t('admin.banners.titleField')}</Label>\n <Input\n value={form.title}\n onChange={(e) => update('title', e.target.value)}\n />\n </div>\n <div>\n <Label>{t('admin.banners.subtitle')}</Label>\n <Input\n value={form.subtitle}\n onChange={(e) => update('subtitle', e.target.value)}\n />\n </div>\n <div>\n <Label>{t('admin.banners.imageField')}</Label>\n <ImageUpload\n images={form.image_url ? [form.image_url] : []}\n onImagesChange={(imgs) => update('image_url', imgs[0] || '')}\n bucket=\"banner-images\"\n folder=\"banners\"\n maxImages={1}\n />\n </div>\n <div>\n <Label>{t('admin.banners.imageDesktop')}</Label>\n <ImageUpload\n images={\n form.desktop_image_url ? [form.desktop_image_url] : []\n }\n onImagesChange={(imgs) =>\n update('desktop_image_url', imgs[0] || '')\n }\n bucket=\"banner-images\"\n folder=\"banners/desktop\"\n maxImages={1}\n />\n </div>\n <div>\n <Label>{t('admin.banners.imageMobile')}</Label>\n <ImageUpload\n images={form.mobile_image_url ? [form.mobile_image_url] : []}\n onImagesChange={(imgs) =>\n update('mobile_image_url', imgs[0] || '')\n }\n bucket=\"banner-images\"\n folder=\"banners/mobile\"\n maxImages={1}\n />\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <Label>{t('admin.banners.textPosition')}</Label>\n <Select\n value={form.text_position}\n onValueChange={(v) => update('text_position', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"left\">\n {t('admin.banners.align.left')}\n </SelectItem>\n <SelectItem value=\"center\">\n {t('admin.banners.align.center')}\n </SelectItem>\n <SelectItem value=\"right\">\n {t('admin.banners.align.right')}\n </SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div>\n <Label>{t('admin.banners.overlayColor')}</Label>\n <Input\n value={form.overlay_color}\n onChange={(e) => update('overlay_color', e.target.value)}\n placeholder=\"rgba(0,0,0,0.4)\"\n />\n </div>\n </div>\n </CardContent>\n </Card>\n\n {/* Buttons */}\n <Card>\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle>{t('admin.banners.buttons')}</CardTitle>\n <Button variant=\"outline\" size=\"sm\" onClick={addButton}>\n <Plus className=\"h-4 w-4 mr-1\" /> {t('common.add')}\n </Button>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n {form.buttons.length === 0 && (\n <p className=\"text-sm text-muted-foreground\">\n {t('admin.banners.buttonsEmpty')}\n </p>\n )}\n {form.buttons.map((btn, i) => (\n <div key={i} className=\"border rounded-lg p-3 space-y-3\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-sm font-medium\">\n {t('admin.banners.button')} {i + 1}\n </span>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-7 w-7 text-destructive\"\n onClick={() => removeButton(i)}\n >\n <Trash2 className=\"h-4 w-4\" />\n </Button>\n </div>\n <div className=\"grid grid-cols-2 gap-3\">\n <div>\n <Label>{t('common.text')}</Label>\n <Input\n value={btn.text}\n onChange={(e) =>\n updateButton(i, 'text', e.target.value)\n }\n />\n </div>\n <div>\n <Label>URL</Label>\n <Input\n value={btn.url}\n onChange={(e) => updateButton(i, 'url', e.target.value)}\n />\n </div>\n <div>\n <Label>{t('admin.banners.buttonVariant')}</Label>\n <Select\n value={btn.variant}\n onValueChange={(v) => updateButton(i, 'variant', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"primary\">Primary</SelectItem>\n <SelectItem value=\"secondary\">Secondary</SelectItem>\n <SelectItem value=\"outline\">Outline</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div>\n <Label>{t('admin.banners.buttonTarget')}</Label>\n <Select\n value={btn.target}\n onValueChange={(v) => updateButton(i, 'target', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"_self\">\n {t('admin.banners.targetSelf')}\n </SelectItem>\n <SelectItem value=\"_blank\">\n {t('admin.banners.targetBlank')}\n </SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n\n {/* Schedule */}\n <Card>\n <CardHeader>\n <CardTitle>{t('admin.banners.schedule')}</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <Label>{t('common.dateFrom')}</Label>\n <Input\n type=\"datetime-local\"\n value={form.date_from}\n onChange={(e) => update('date_from', e.target.value)}\n />\n </div>\n <div>\n <Label>{t('common.dateTo')}</Label>\n <Input\n type=\"datetime-local\"\n value={form.date_to}\n onChange={(e) => update('date_to', e.target.value)}\n />\n </div>\n </div>\n <div>\n <Label className=\"mb-2 block\">\n {t('admin.banners.weekdays')}\n </Label>\n <div className=\"flex gap-2 flex-wrap\">\n {DAYS.map((day) => (\n <label\n key={day.value}\n className=\"flex items-center gap-1.5 cursor-pointer\"\n >\n <Checkbox\n checked={form.schedule_days.includes(day.value)}\n onCheckedChange={() => toggleDay(day.value)}\n />\n <span className=\"text-sm\">{t(day.labelKey)}</span>\n </label>\n ))}\n </div>\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <Label>{t('admin.banners.timeFrom')}</Label>\n <Input\n type=\"time\"\n value={form.schedule_time_from}\n onChange={(e) =>\n update('schedule_time_from', e.target.value)\n }\n />\n </div>\n <div>\n <Label>{t('admin.banners.timeTo')}</Label>\n <Input\n type=\"time\"\n value={form.schedule_time_to}\n onChange={(e) => update('schedule_time_to', e.target.value)}\n />\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"space-y-6\">\n {/* Placement */}\n <Card>\n <CardHeader>\n <CardTitle>{t('admin.banners.placement')}</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div>\n <Label>{t('admin.banners.placementLabel')}</Label>\n <Select\n value={form.placement}\n onValueChange={(v) => update('placement', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"home\">\n {t('admin.banners.placement.home')}\n </SelectItem>\n <SelectItem value=\"catalog\">\n {t('admin.banners.placement.catalog')}\n </SelectItem>\n <SelectItem value=\"section\">\n {t('admin.banners.specificSection')}\n </SelectItem>\n <SelectItem value=\"blog\">\n {t('admin.banners.placement.blog')}\n </SelectItem>\n <SelectItem value=\"global\">\n {t('admin.banners.placement.global')}\n </SelectItem>\n </SelectContent>\n </Select>\n </div>\n {form.placement === 'section' && (\n <div>\n <Label>{t('admin.banners.placement.section')}</Label>\n <Select\n value={form.section_id}\n onValueChange={(v) => update('section_id', v)}\n >\n <SelectTrigger>\n <SelectValue\n placeholder={t('admin.banners.pickSection')}\n />\n </SelectTrigger>\n <SelectContent>\n {sections?.map((s) => (\n <SelectItem key={s.id} value={s.id}>\n {s.name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n </CardContent>\n </Card>\n\n {/* Animation */}\n <Card>\n <CardHeader>\n <CardTitle>{t('admin.banners.animation')}</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div>\n <Label>{t('admin.banners.animationType')}</Label>\n <Select\n value={form.animation_type}\n onValueChange={(v) => update('animation_type', v)}\n >\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"slide\">\n {t('admin.banners.anim.slide')}\n </SelectItem>\n <SelectItem value=\"fade\">\n {t('admin.banners.anim.fade')}\n </SelectItem>\n <SelectItem value=\"zoom\">\n {t('admin.banners.anim.zoom')}\n </SelectItem>\n <SelectItem value=\"none\">\n {t('admin.banners.anim.none')}\n </SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div>\n <Label>\n {t('admin.banners.animationDuration')}{' '}\n {form.animation_duration} {t('admin.banners.ms')}\n </Label>\n <Slider\n value={[form.animation_duration]}\n onValueChange={([v]) => update('animation_duration', v)}\n min={100}\n max={2000}\n step={50}\n />\n </div>\n <div>\n <Label>\n {t('admin.banners.slideDuration')}{' '}\n {(form.slide_duration / 1000).toFixed(1)}{' '}\n {t('admin.banners.sec')}\n </Label>\n <Slider\n value={[form.slide_duration]}\n onValueChange={([v]) => update('slide_duration', v)}\n min={1000}\n max={15000}\n step={500}\n />\n </div>\n </CardContent>\n </Card>\n\n {/* Status */}\n <Card>\n <CardHeader>\n <CardTitle>{t('common.status')}</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"flex items-center justify-between\">\n <Label>{t('common.activeM')}</Label>\n <Switch\n checked={form.is_active}\n onCheckedChange={(v) => update('is_active', v)}\n />\n </div>\n <div>\n <Label>{t('common.sortOrder')}</Label>\n <Input\n type=\"number\"\n value={form.sort_order}\n onChange={(e) =>\n update('sort_order', parseInt(e.target.value) || 0)\n }\n />\n </div>\n </CardContent>\n </Card>\n\n <Button\n className=\"w-full\"\n onClick={() => saveMutation.mutate()}\n disabled={!form.title || !form.image_url || saveMutation.isPending}\n >\n <Save className=\"h-4 w-4 mr-2\" /> {t('common.save')}\n </Button>\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
import { useSupabaseClient } from 'simplycms/supabase/SupabaseProvider';
|
|
4
|
+
import { useT } from 'simplycms/i18n';
|
|
5
|
+
import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle } from 'simplycms/ui/dialog';
|
|
6
|
+
import { Button } from 'simplycms/ui/button';
|
|
7
|
+
import { Input } from 'simplycms/ui/input';
|
|
8
|
+
import { ScrollArea } from 'simplycms/ui/scroll-area';
|
|
9
|
+
import { Loader2, Plus, Search } from 'lucide-react';
|
|
10
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
11
|
+
|
|
12
|
+
// src/admin/components/AddProductToOrder.tsx
|
|
13
|
+
function AddProductToOrder({
|
|
14
|
+
onAddProduct,
|
|
15
|
+
isAdding
|
|
16
|
+
}) {
|
|
17
|
+
const t = useT();
|
|
18
|
+
const supabase = useSupabaseClient();
|
|
19
|
+
const [open, setOpen] = useState(false);
|
|
20
|
+
const [search, setSearch] = useState("");
|
|
21
|
+
const [selectedProduct, setSelectedProduct] = useState(null);
|
|
22
|
+
const { data: products, isLoading: productsLoading } = useQuery({
|
|
23
|
+
queryKey: ["admin-search-products", search],
|
|
24
|
+
queryFn: async () => {
|
|
25
|
+
if (search.length < 2) return [];
|
|
26
|
+
const { data, error } = await supabase.from("products").select("id, name, sku, has_modifications, images").or(`name.ilike.%${search}%,sku.ilike.%${search}%`).limit(20);
|
|
27
|
+
if (error) throw error;
|
|
28
|
+
return data;
|
|
29
|
+
},
|
|
30
|
+
enabled: search.length >= 2
|
|
31
|
+
});
|
|
32
|
+
const { data: modifications, isLoading: modificationsLoading } = useQuery({
|
|
33
|
+
queryKey: ["admin-product-modifications-with-prices", selectedProduct?.id],
|
|
34
|
+
queryFn: async () => {
|
|
35
|
+
if (!selectedProduct?.id) return [];
|
|
36
|
+
const [
|
|
37
|
+
{ data: mods, error: modsError },
|
|
38
|
+
{ data: prices, error: pricesError }
|
|
39
|
+
] = await Promise.all([
|
|
40
|
+
supabase.from("product_modifications").select("id, name, sku, product_id").eq("product_id", selectedProduct.id).order("sort_order"),
|
|
41
|
+
supabase.from("product_prices").select("modification_id, price, price_types!inner(is_default)").eq("product_id", selectedProduct.id)
|
|
42
|
+
]);
|
|
43
|
+
if (modsError) throw modsError;
|
|
44
|
+
if (pricesError) throw pricesError;
|
|
45
|
+
const defaultPrices = prices?.filter((p) => p.price_types?.is_default) || [];
|
|
46
|
+
return (mods || []).map((mod) => {
|
|
47
|
+
const priceEntry = defaultPrices.find(
|
|
48
|
+
(p) => p.modification_id === mod.id
|
|
49
|
+
);
|
|
50
|
+
return { ...mod, price: priceEntry?.price ?? 0 };
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
enabled: !!selectedProduct?.id && !!selectedProduct?.has_modifications
|
|
54
|
+
});
|
|
55
|
+
const { data: simpleProductPrice } = useQuery({
|
|
56
|
+
queryKey: ["admin-simple-product-price", selectedProduct?.id],
|
|
57
|
+
queryFn: async () => {
|
|
58
|
+
if (!selectedProduct?.id) return null;
|
|
59
|
+
const { data, error } = await supabase.from("product_prices").select("price, price_types!inner(is_default)").eq("product_id", selectedProduct.id).is("modification_id", null);
|
|
60
|
+
if (error) throw error;
|
|
61
|
+
const defaultEntry = data?.find((p) => p.price_types?.is_default);
|
|
62
|
+
return defaultEntry?.price ?? 0;
|
|
63
|
+
},
|
|
64
|
+
enabled: !!selectedProduct?.id && !selectedProduct?.has_modifications
|
|
65
|
+
});
|
|
66
|
+
const handleSelectProduct = (product) => {
|
|
67
|
+
if (product.has_modifications) {
|
|
68
|
+
setSelectedProduct(product);
|
|
69
|
+
} else {
|
|
70
|
+
setSelectedProduct(product);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const handleAddSimpleProduct = () => {
|
|
74
|
+
if (!selectedProduct || simpleProductPrice === null || simpleProductPrice === void 0)
|
|
75
|
+
return;
|
|
76
|
+
onAddProduct({
|
|
77
|
+
name: selectedProduct.name,
|
|
78
|
+
price: simpleProductPrice,
|
|
79
|
+
quantity: 1,
|
|
80
|
+
product_id: selectedProduct.id,
|
|
81
|
+
modification_id: null
|
|
82
|
+
});
|
|
83
|
+
handleClose();
|
|
84
|
+
};
|
|
85
|
+
const handleSelectModification = (mod) => {
|
|
86
|
+
onAddProduct({
|
|
87
|
+
name: `${selectedProduct?.name} - ${mod.name}`,
|
|
88
|
+
price: mod.price,
|
|
89
|
+
quantity: 1,
|
|
90
|
+
product_id: selectedProduct?.id || null,
|
|
91
|
+
modification_id: mod.id
|
|
92
|
+
});
|
|
93
|
+
handleClose();
|
|
94
|
+
};
|
|
95
|
+
const handleClose = () => {
|
|
96
|
+
setOpen(false);
|
|
97
|
+
setSearch("");
|
|
98
|
+
setSelectedProduct(null);
|
|
99
|
+
};
|
|
100
|
+
return /* @__PURE__ */ jsxs(
|
|
101
|
+
Dialog,
|
|
102
|
+
{
|
|
103
|
+
open,
|
|
104
|
+
onOpenChange: (isOpen) => {
|
|
105
|
+
if (!isOpen) handleClose();
|
|
106
|
+
else setOpen(true);
|
|
107
|
+
},
|
|
108
|
+
children: [
|
|
109
|
+
/* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button, { variant: "outline", disabled: isAdding, children: [
|
|
110
|
+
isAdding ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 mr-2 animate-spin" }) : /* @__PURE__ */ jsx(Plus, { className: "h-4 w-4 mr-2" }),
|
|
111
|
+
t("admin.orders.addItem")
|
|
112
|
+
] }) }),
|
|
113
|
+
/* @__PURE__ */ jsxs(DialogContent, { className: "sm:max-w-md", children: [
|
|
114
|
+
/* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: selectedProduct ? selectedProduct.has_modifications ? t("admin.orders.pickModification", {
|
|
115
|
+
name: selectedProduct.name
|
|
116
|
+
}) : t("admin.orders.addNamed", { name: selectedProduct.name }) : t("admin.orders.addItemTitle") }) }),
|
|
117
|
+
!selectedProduct ? /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
118
|
+
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
119
|
+
/* @__PURE__ */ jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
|
|
120
|
+
/* @__PURE__ */ jsx(
|
|
121
|
+
Input,
|
|
122
|
+
{
|
|
123
|
+
placeholder: t("admin.orders.searchPlaceholder"),
|
|
124
|
+
value: search,
|
|
125
|
+
onChange: (e) => setSearch(e.target.value),
|
|
126
|
+
className: "pl-10",
|
|
127
|
+
autoFocus: true
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
] }),
|
|
131
|
+
/* @__PURE__ */ jsx(ScrollArea, { className: "h-[300px]", children: productsLoading ? /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ jsx(Loader2, { className: "h-6 w-6 animate-spin text-muted-foreground" }) }) : search.length < 2 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground text-center py-8", children: t("admin.orders.searchHint") }) : products?.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground text-center py-8", children: t("admin.orders.searchEmpty") }) : /* @__PURE__ */ jsx("div", { className: "space-y-1", children: products?.map((product) => /* @__PURE__ */ jsxs(
|
|
132
|
+
"button",
|
|
133
|
+
{
|
|
134
|
+
onClick: () => handleSelectProduct(product),
|
|
135
|
+
className: "w-full text-left p-3 rounded-md hover:bg-accent transition-colors",
|
|
136
|
+
children: [
|
|
137
|
+
/* @__PURE__ */ jsx("div", { className: "font-medium", children: product.name }),
|
|
138
|
+
/* @__PURE__ */ jsxs("div", { className: "text-sm text-muted-foreground flex gap-4", children: [
|
|
139
|
+
product.sku && /* @__PURE__ */ jsxs("span", { children: [
|
|
140
|
+
t("admin.orders.sku"),
|
|
141
|
+
" ",
|
|
142
|
+
product.sku
|
|
143
|
+
] }),
|
|
144
|
+
product.has_modifications && /* @__PURE__ */ jsx("span", { className: "text-primary", children: t("admin.orders.hasModifications") })
|
|
145
|
+
] })
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
product.id
|
|
149
|
+
)) }) })
|
|
150
|
+
] }) : selectedProduct.has_modifications ? /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
151
|
+
/* @__PURE__ */ jsx(
|
|
152
|
+
Button,
|
|
153
|
+
{
|
|
154
|
+
variant: "ghost",
|
|
155
|
+
size: "sm",
|
|
156
|
+
onClick: () => setSelectedProduct(null),
|
|
157
|
+
children: t("admin.orders.backToSearch")
|
|
158
|
+
}
|
|
159
|
+
),
|
|
160
|
+
/* @__PURE__ */ jsx(ScrollArea, { className: "h-[300px]", children: modificationsLoading ? /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ jsx(Loader2, { className: "h-6 w-6 animate-spin text-muted-foreground" }) }) : modifications?.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground text-center py-8", children: t("admin.orders.modificationsEmpty") }) : /* @__PURE__ */ jsx("div", { className: "space-y-1", children: modifications?.map((mod) => /* @__PURE__ */ jsxs(
|
|
161
|
+
"button",
|
|
162
|
+
{
|
|
163
|
+
onClick: () => handleSelectModification(mod),
|
|
164
|
+
className: "w-full text-left p-3 rounded-md hover:bg-accent transition-colors",
|
|
165
|
+
children: [
|
|
166
|
+
/* @__PURE__ */ jsx("div", { className: "font-medium", children: mod.name }),
|
|
167
|
+
/* @__PURE__ */ jsxs("div", { className: "text-sm text-muted-foreground flex gap-4", children: [
|
|
168
|
+
mod.sku && /* @__PURE__ */ jsxs("span", { children: [
|
|
169
|
+
t("admin.orders.sku"),
|
|
170
|
+
" ",
|
|
171
|
+
mod.sku
|
|
172
|
+
] }),
|
|
173
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
174
|
+
mod.price.toLocaleString(),
|
|
175
|
+
" \u20B4"
|
|
176
|
+
] })
|
|
177
|
+
] })
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
mod.id
|
|
181
|
+
)) }) })
|
|
182
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
183
|
+
/* @__PURE__ */ jsx(
|
|
184
|
+
Button,
|
|
185
|
+
{
|
|
186
|
+
variant: "ghost",
|
|
187
|
+
size: "sm",
|
|
188
|
+
onClick: () => setSelectedProduct(null),
|
|
189
|
+
children: t("admin.orders.backToSearch")
|
|
190
|
+
}
|
|
191
|
+
),
|
|
192
|
+
/* @__PURE__ */ jsxs("div", { className: "text-center py-4", children: [
|
|
193
|
+
/* @__PURE__ */ jsxs("p", { className: "mb-4", children: [
|
|
194
|
+
t("admin.orders.priceLabel"),
|
|
195
|
+
" ",
|
|
196
|
+
simpleProductPrice !== null && simpleProductPrice !== void 0 ? `${simpleProductPrice.toLocaleString()} \u20B4` : t("common.loading")
|
|
197
|
+
] }),
|
|
198
|
+
/* @__PURE__ */ jsx(
|
|
199
|
+
Button,
|
|
200
|
+
{
|
|
201
|
+
onClick: handleAddSimpleProduct,
|
|
202
|
+
disabled: simpleProductPrice === null || simpleProductPrice === void 0,
|
|
203
|
+
children: t("admin.orders.addToOrder")
|
|
204
|
+
}
|
|
205
|
+
)
|
|
206
|
+
] })
|
|
207
|
+
] })
|
|
208
|
+
] })
|
|
209
|
+
]
|
|
210
|
+
}
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
export { AddProductToOrder };
|
|
215
|
+
//# sourceMappingURL=chunk-UCZQWXCW.js.map
|
|
216
|
+
//# sourceMappingURL=chunk-UCZQWXCW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/admin/components/AddProductToOrder.tsx"],"names":[],"mappings":"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","file":"chunk-UCZQWXCW.js","sourcesContent":["import { useState } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useSupabaseClient } from 'simplycms/supabase/SupabaseProvider';\nimport { useT } from 'simplycms/i18n';\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from 'simplycms/ui/dialog';\nimport { Button } from 'simplycms/ui/button';\nimport { Input } from 'simplycms/ui/input';\nimport { ScrollArea } from 'simplycms/ui/scroll-area';\nimport { Plus, Search, Loader2 } from 'lucide-react';\n\ninterface Product {\n id: string;\n name: string;\n sku: string | null;\n has_modifications: boolean | null;\n images: unknown;\n}\n\ninterface AddProductToOrderProps {\n onAddProduct: (product: {\n name: string;\n price: number;\n quantity: number;\n product_id: string | null;\n modification_id: string | null;\n }) => void;\n isAdding?: boolean;\n}\n\nexport function AddProductToOrder({\n onAddProduct,\n isAdding,\n}: AddProductToOrderProps) {\n const t = useT();\n const supabase = useSupabaseClient();\n const [open, setOpen] = useState(false);\n const [search, setSearch] = useState('');\n const [selectedProduct, setSelectedProduct] = useState<Product | null>(null);\n\n const { data: products, isLoading: productsLoading } = useQuery({\n queryKey: ['admin-search-products', search],\n queryFn: async () => {\n if (search.length < 2) return [];\n const { data, error } = await supabase\n .from('products')\n .select('id, name, sku, has_modifications, images')\n .or(`name.ilike.%${search}%,sku.ilike.%${search}%`)\n .limit(20);\n if (error) throw error;\n return data as Product[];\n },\n enabled: search.length >= 2,\n });\n\n // Fetch modifications and their prices for the selected product\n const { data: modifications, isLoading: modificationsLoading } = useQuery({\n queryKey: ['admin-product-modifications-with-prices', selectedProduct?.id],\n queryFn: async () => {\n if (!selectedProduct?.id) return [];\n const [\n { data: mods, error: modsError },\n { data: prices, error: pricesError },\n ] = await Promise.all([\n supabase\n .from('product_modifications')\n .select('id, name, sku, product_id')\n .eq('product_id', selectedProduct.id)\n .order('sort_order'),\n supabase\n .from('product_prices')\n .select('modification_id, price, price_types!inner(is_default)')\n .eq('product_id', selectedProduct.id),\n ]);\n if (modsError) throw modsError;\n if (pricesError) throw pricesError;\n\n const defaultPrices =\n prices?.filter((p) => p.price_types?.is_default) || [];\n return (mods || []).map((mod) => {\n const priceEntry = defaultPrices.find(\n (p) => p.modification_id === mod.id,\n );\n return { ...mod, price: priceEntry?.price ?? 0 };\n });\n },\n enabled: !!selectedProduct?.id && !!selectedProduct?.has_modifications,\n });\n\n // Fetch default price for simple product\n const { data: simpleProductPrice } = useQuery({\n queryKey: ['admin-simple-product-price', selectedProduct?.id],\n queryFn: async () => {\n if (!selectedProduct?.id) return null;\n const { data, error } = await supabase\n .from('product_prices')\n .select('price, price_types!inner(is_default)')\n .eq('product_id', selectedProduct.id)\n .is('modification_id', null);\n if (error) throw error;\n const defaultEntry = data?.find((p) => p.price_types?.is_default);\n return defaultEntry?.price ?? 0;\n },\n enabled: !!selectedProduct?.id && !selectedProduct?.has_modifications,\n });\n\n const handleSelectProduct = (product: Product) => {\n if (product.has_modifications) {\n setSelectedProduct(product);\n } else {\n setSelectedProduct(product);\n }\n };\n\n // When simple product is selected and price loaded, add it\n const handleAddSimpleProduct = () => {\n if (\n !selectedProduct ||\n simpleProductPrice === null ||\n simpleProductPrice === undefined\n )\n return;\n onAddProduct({\n name: selectedProduct.name,\n price: simpleProductPrice,\n quantity: 1,\n product_id: selectedProduct.id,\n modification_id: null,\n });\n handleClose();\n };\n\n const handleSelectModification = (mod: {\n id: string;\n name: string;\n price: number;\n }) => {\n onAddProduct({\n name: `${selectedProduct?.name} - ${mod.name}`,\n price: mod.price,\n quantity: 1,\n product_id: selectedProduct?.id || null,\n modification_id: mod.id,\n });\n handleClose();\n };\n\n const handleClose = () => {\n setOpen(false);\n setSearch('');\n setSelectedProduct(null);\n };\n\n return (\n <Dialog\n open={open}\n onOpenChange={(isOpen) => {\n if (!isOpen) handleClose();\n else setOpen(true);\n }}\n >\n <DialogTrigger asChild>\n <Button variant=\"outline\" disabled={isAdding}>\n {isAdding ? (\n <Loader2 className=\"h-4 w-4 mr-2 animate-spin\" />\n ) : (\n <Plus className=\"h-4 w-4 mr-2\" />\n )}\n {t('admin.orders.addItem')}\n </Button>\n </DialogTrigger>\n <DialogContent className=\"sm:max-w-md\">\n <DialogHeader>\n <DialogTitle>\n {selectedProduct\n ? selectedProduct.has_modifications\n ? t('admin.orders.pickModification', {\n name: selectedProduct.name,\n })\n : t('admin.orders.addNamed', { name: selectedProduct.name })\n : t('admin.orders.addItemTitle')}\n </DialogTitle>\n </DialogHeader>\n\n {!selectedProduct ? (\n <div className=\"space-y-4\">\n <div className=\"relative\">\n <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground\" />\n <Input\n placeholder={t('admin.orders.searchPlaceholder')}\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"pl-10\"\n autoFocus\n />\n </div>\n <ScrollArea className=\"h-[300px]\">\n {productsLoading ? (\n <div className=\"flex items-center justify-center py-8\">\n <Loader2 className=\"h-6 w-6 animate-spin text-muted-foreground\" />\n </div>\n ) : search.length < 2 ? (\n <p className=\"text-sm text-muted-foreground text-center py-8\">\n {t('admin.orders.searchHint')}\n </p>\n ) : products?.length === 0 ? (\n <p className=\"text-sm text-muted-foreground text-center py-8\">\n {t('admin.orders.searchEmpty')}\n </p>\n ) : (\n <div className=\"space-y-1\">\n {products?.map((product) => (\n <button\n key={product.id}\n onClick={() => handleSelectProduct(product)}\n className=\"w-full text-left p-3 rounded-md hover:bg-accent transition-colors\"\n >\n <div className=\"font-medium\">{product.name}</div>\n <div className=\"text-sm text-muted-foreground flex gap-4\">\n {product.sku && (\n <span>\n {t('admin.orders.sku')} {product.sku}\n </span>\n )}\n {product.has_modifications && (\n <span className=\"text-primary\">\n {t('admin.orders.hasModifications')}\n </span>\n )}\n </div>\n </button>\n ))}\n </div>\n )}\n </ScrollArea>\n </div>\n ) : selectedProduct.has_modifications ? (\n <div className=\"space-y-4\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setSelectedProduct(null)}\n >\n {t('admin.orders.backToSearch')}\n </Button>\n <ScrollArea className=\"h-[300px]\">\n {modificationsLoading ? (\n <div className=\"flex items-center justify-center py-8\">\n <Loader2 className=\"h-6 w-6 animate-spin text-muted-foreground\" />\n </div>\n ) : modifications?.length === 0 ? (\n <p className=\"text-sm text-muted-foreground text-center py-8\">\n {t('admin.orders.modificationsEmpty')}\n </p>\n ) : (\n <div className=\"space-y-1\">\n {modifications?.map((mod) => (\n <button\n key={mod.id}\n onClick={() => handleSelectModification(mod)}\n className=\"w-full text-left p-3 rounded-md hover:bg-accent transition-colors\"\n >\n <div className=\"font-medium\">{mod.name}</div>\n <div className=\"text-sm text-muted-foreground flex gap-4\">\n {mod.sku && (\n <span>\n {t('admin.orders.sku')} {mod.sku}\n </span>\n )}\n <span>{mod.price.toLocaleString()} ₴</span>\n </div>\n </button>\n ))}\n </div>\n )}\n </ScrollArea>\n </div>\n ) : (\n <div className=\"space-y-4\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setSelectedProduct(null)}\n >\n {t('admin.orders.backToSearch')}\n </Button>\n <div className=\"text-center py-4\">\n <p className=\"mb-4\">\n {t('admin.orders.priceLabel')}{' '}\n {simpleProductPrice !== null && simpleProductPrice !== undefined\n ? `${simpleProductPrice.toLocaleString()} ₴`\n : t('common.loading')}\n </p>\n <Button\n onClick={handleAddSimpleProduct}\n disabled={\n simpleProductPrice === null ||\n simpleProductPrice === undefined\n }\n >\n {t('admin.orders.addToOrder')}\n </Button>\n </div>\n </div>\n )}\n </DialogContent>\n </Dialog>\n );\n}\n"]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// src/react-query/queries.ts
|
|
2
|
+
var catalogKeys = {
|
|
3
|
+
all: ["catalog"],
|
|
4
|
+
product: (idOrSlug) => ["catalog", "product", idOrSlug],
|
|
5
|
+
products: (q) => ["catalog", "products", q],
|
|
6
|
+
sectionProducts: (sectionId, q) => ["catalog", "section-products", sectionId, q ?? null],
|
|
7
|
+
sections: ["catalog", "sections"],
|
|
8
|
+
properties: ["catalog", "properties"],
|
|
9
|
+
stock: (ids) => ["catalog", "stock", ...ids]
|
|
10
|
+
};
|
|
11
|
+
var orderKeys = {
|
|
12
|
+
all: ["orders"],
|
|
13
|
+
order: (id) => ["orders", "detail", id],
|
|
14
|
+
list: (q) => ["orders", "list", q]
|
|
15
|
+
};
|
|
16
|
+
var catalogQueries = {
|
|
17
|
+
product(catalog, idOrSlug) {
|
|
18
|
+
return {
|
|
19
|
+
queryKey: catalogKeys.product(idOrSlug),
|
|
20
|
+
queryFn: () => catalog.getProduct(idOrSlug)
|
|
21
|
+
};
|
|
22
|
+
},
|
|
23
|
+
products(catalog, q) {
|
|
24
|
+
return {
|
|
25
|
+
queryKey: catalogKeys.products(q),
|
|
26
|
+
queryFn: () => catalog.listProducts(q)
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
sections(catalog) {
|
|
30
|
+
return {
|
|
31
|
+
queryKey: catalogKeys.sections,
|
|
32
|
+
queryFn: () => catalog.getSections()
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
properties(catalog) {
|
|
36
|
+
return {
|
|
37
|
+
queryKey: catalogKeys.properties,
|
|
38
|
+
queryFn: () => catalog.getProperties()
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
stock(catalog, ids) {
|
|
42
|
+
return {
|
|
43
|
+
queryKey: catalogKeys.stock(ids),
|
|
44
|
+
queryFn: () => catalog.getStock(ids)
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var orderQueries = {
|
|
49
|
+
order(orders, id) {
|
|
50
|
+
return {
|
|
51
|
+
queryKey: orderKeys.order(id),
|
|
52
|
+
queryFn: () => orders.getOrder(id)
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
list(orders, q) {
|
|
56
|
+
return {
|
|
57
|
+
queryKey: orderKeys.list(q),
|
|
58
|
+
queryFn: () => orders.listOrders(q)
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export { catalogKeys, catalogQueries, orderKeys, orderQueries };
|
|
64
|
+
//# sourceMappingURL=chunk-UIKJ4EUT.js.map
|
|
65
|
+
//# sourceMappingURL=chunk-UIKJ4EUT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react-query/queries.ts"],"names":[],"mappings":";AAsBO,IAAM,WAAA,GAAc;AAAA,EACzB,GAAA,EAAK,CAAC,SAAS,CAAA;AAAA,EACf,SAAS,CAAC,QAAA,KAAqB,CAAC,SAAA,EAAW,WAAW,QAAQ,CAAA;AAAA,EAC9D,UAAU,CAAC,CAAA,KAAoB,CAAC,SAAA,EAAW,YAAY,CAAC,CAAA;AAAA,EACxD,eAAA,EAAiB,CAAC,SAAA,EAAmB,CAAA,KACnC,CAAC,SAAA,EAAW,kBAAA,EAAoB,SAAA,EAAW,CAAA,IAAK,IAAI,CAAA;AAAA,EACtD,QAAA,EAAU,CAAC,SAAA,EAAW,UAAU,CAAA;AAAA,EAChC,UAAA,EAAY,CAAC,SAAA,EAAW,YAAY,CAAA;AAAA,EACpC,OAAO,CAAC,GAAA,KAAkB,CAAC,SAAA,EAAW,OAAA,EAAS,GAAG,GAAG;AACvD;AAEO,IAAM,SAAA,GAAY;AAAA,EACvB,GAAA,EAAK,CAAC,QAAQ,CAAA;AAAA,EACd,OAAO,CAAC,EAAA,KAAe,CAAC,QAAA,EAAU,UAAU,EAAE,CAAA;AAAA,EAC9C,MAAM,CAAC,CAAA,KAAkB,CAAC,QAAA,EAAU,QAAQ,CAAC;AAC/C;AAEO,IAAM,cAAA,GAAiB;AAAA,EAC5B,OAAA,CACE,SACA,QAAA,EACkC;AAClC,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,WAAA,CAAY,OAAA,CAAQ,QAAQ,CAAA;AAAA,MACtC,OAAA,EAAS,MAAM,OAAA,CAAQ,UAAA,CAAW,QAAQ;AAAA,KAC5C;AAAA,EACF,CAAA;AAAA,EACA,QAAA,CACE,SACA,CAAA,EACkC;AAClC,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,WAAA,CAAY,QAAA,CAAS,CAAC,CAAA;AAAA,MAChC,OAAA,EAAS,MAAM,OAAA,CAAQ,YAAA,CAAa,CAAC;AAAA,KACvC;AAAA,EACF,CAAA;AAAA,EACA,SAAS,OAAA,EAAyD;AAChE,IAAA,OAAO;AAAA,MACL,UAAU,WAAA,CAAY,QAAA;AAAA,MACtB,OAAA,EAAS,MAAM,OAAA,CAAQ,WAAA;AAAY,KACrC;AAAA,EACF,CAAA;AAAA,EACA,WAAW,OAAA,EAA0D;AACnE,IAAA,OAAO;AAAA,MACL,UAAU,WAAA,CAAY,UAAA;AAAA,MACtB,OAAA,EAAS,MAAM,OAAA,CAAQ,aAAA;AAAc,KACvC;AAAA,EACF,CAAA;AAAA,EACA,KAAA,CACE,SACA,GAAA,EAC6C;AAC7C,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,WAAA,CAAY,KAAA,CAAM,GAAG,CAAA;AAAA,MAC/B,OAAA,EAAS,MAAM,OAAA,CAAQ,QAAA,CAAS,GAAG;AAAA,KACrC;AAAA,EACF;AACF;AAEO,IAAM,YAAA,GAAe;AAAA,EAC1B,KAAA,CAAM,QAAyB,EAAA,EAA4C;AACzE,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,SAAA,CAAU,KAAA,CAAM,EAAE,CAAA;AAAA,MAC5B,OAAA,EAAS,MAAM,MAAA,CAAO,QAAA,CAAS,EAAE;AAAA,KACnC;AAAA,EACF,CAAA;AAAA,EACA,IAAA,CAAK,QAAyB,CAAA,EAA+C;AAC3E,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,SAAA,CAAU,IAAA,CAAK,CAAC,CAAA;AAAA,MAC1B,OAAA,EAAS,MAAM,MAAA,CAAO,UAAA,CAAW,CAAC;AAAA,KACpC;AAAA,EACF;AACF","file":"chunk-UIKJ4EUT.js","sourcesContent":["// Фабрики query-опцій, керовані портами (без React/supabase).\n// Тестуються з будь-якою реалізацією CatalogRepository/OrderRepository.\n\nimport type {\n CatalogRepository,\n OrderRepository,\n Product,\n ProductQuery,\n Section,\n Property,\n Paged,\n Order,\n OrderQuery,\n StockInfo,\n} from 'simplycms/contracts';\n\nexport interface QueryOptionsLike<T> {\n queryKey: readonly unknown[];\n queryFn: () => Promise<T>;\n}\n\n/** Стабільний namespace ключів для кешу React Query. */\nexport const catalogKeys = {\n all: ['catalog'] as const,\n product: (idOrSlug: string) => ['catalog', 'product', idOrSlug] as const,\n products: (q: ProductQuery) => ['catalog', 'products', q] as const,\n sectionProducts: (sectionId: string, q?: ProductQuery) =>\n ['catalog', 'section-products', sectionId, q ?? null] as const,\n sections: ['catalog', 'sections'] as const,\n properties: ['catalog', 'properties'] as const,\n stock: (ids: string[]) => ['catalog', 'stock', ...ids] as const,\n};\n\nexport const orderKeys = {\n all: ['orders'] as const,\n order: (id: string) => ['orders', 'detail', id] as const,\n list: (q: OrderQuery) => ['orders', 'list', q] as const,\n};\n\nexport const catalogQueries = {\n product(\n catalog: CatalogRepository,\n idOrSlug: string,\n ): QueryOptionsLike<Product | null> {\n return {\n queryKey: catalogKeys.product(idOrSlug),\n queryFn: () => catalog.getProduct(idOrSlug),\n };\n },\n products(\n catalog: CatalogRepository,\n q: ProductQuery,\n ): QueryOptionsLike<Paged<Product>> {\n return {\n queryKey: catalogKeys.products(q),\n queryFn: () => catalog.listProducts(q),\n };\n },\n sections(catalog: CatalogRepository): QueryOptionsLike<Section[]> {\n return {\n queryKey: catalogKeys.sections,\n queryFn: () => catalog.getSections(),\n };\n },\n properties(catalog: CatalogRepository): QueryOptionsLike<Property[]> {\n return {\n queryKey: catalogKeys.properties,\n queryFn: () => catalog.getProperties(),\n };\n },\n stock(\n catalog: CatalogRepository,\n ids: string[],\n ): QueryOptionsLike<Record<string, StockInfo>> {\n return {\n queryKey: catalogKeys.stock(ids),\n queryFn: () => catalog.getStock(ids),\n };\n },\n};\n\nexport const orderQueries = {\n order(orders: OrderRepository, id: string): QueryOptionsLike<Order | null> {\n return {\n queryKey: orderKeys.order(id),\n queryFn: () => orders.getOrder(id),\n };\n },\n list(orders: OrderRepository, q: OrderQuery): QueryOptionsLike<Paged<Order>> {\n return {\n queryKey: orderKeys.list(q),\n queryFn: () => orders.listOrders(q),\n };\n },\n};\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getDiscountEnvironment } from './chunk-BSISQVY4.js';
|
|
2
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
import { resolveDiscount } from 'simplycms/domain/discounts';
|
|
4
|
+
|
|
5
|
+
var ANONYMOUS = {
|
|
6
|
+
userId: null,
|
|
7
|
+
userCategoryId: null,
|
|
8
|
+
isLoggedIn: false
|
|
9
|
+
};
|
|
10
|
+
var NO_GROUPS = [];
|
|
11
|
+
function useDiscountEnvironment() {
|
|
12
|
+
return useQuery({
|
|
13
|
+
queryKey: ["discount-environment"],
|
|
14
|
+
queryFn: () => getDiscountEnvironment(),
|
|
15
|
+
staleTime: 2 * 60 * 1e3
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function useDiscountGroups() {
|
|
19
|
+
const { data, isLoading } = useDiscountEnvironment();
|
|
20
|
+
return { data: data?.groups ?? NO_GROUPS, isLoading };
|
|
21
|
+
}
|
|
22
|
+
function useDiscountContext() {
|
|
23
|
+
const { data } = useDiscountEnvironment();
|
|
24
|
+
return data?.actor ?? ANONYMOUS;
|
|
25
|
+
}
|
|
26
|
+
function applyDiscount(basePrice, groups, context) {
|
|
27
|
+
if (!groups.length || basePrice <= 0) {
|
|
28
|
+
return {
|
|
29
|
+
finalPrice: basePrice,
|
|
30
|
+
totalDiscount: 0,
|
|
31
|
+
appliedDiscounts: [],
|
|
32
|
+
rejectedDiscounts: []
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return resolveDiscount(basePrice, groups, { ...context, now: /* @__PURE__ */ new Date() });
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export { applyDiscount, useDiscountContext, useDiscountGroups };
|
|
39
|
+
//# sourceMappingURL=chunk-UJNINZMO.js.map
|
|
40
|
+
//# sourceMappingURL=chunk-UJNINZMO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/hooks/useDiscountedPrice.ts"],"names":[],"mappings":";;;;AAUA,IAAM,SAAA,GAA2B;AAAA,EAC/B,MAAA,EAAQ,IAAA;AAAA,EACR,cAAA,EAAgB,IAAA;AAAA,EAChB,UAAA,EAAY;AACd,CAAA;AAEA,IAAM,YAA6B,EAAC;AAcpC,SAAS,sBAAA,GAAyB;AAChC,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,CAAC,sBAAsB,CAAA;AAAA,IACjC,OAAA,EAAS,MAAM,sBAAA,EAAuB;AAAA,IACtC,SAAA,EAAW,IAAI,EAAA,GAAK;AAAA,GACrB,CAAA;AACH;AASO,SAAS,iBAAA,GAGd;AACA,EAAA,MAAM,EAAE,IAAA,EAAM,SAAA,EAAU,GAAI,sBAAA,EAAuB;AACnD,EAAA,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,MAAA,IAAU,WAAW,SAAA,EAAU;AACtD;AASO,SAAS,kBAAA,GAAoC;AAClD,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,sBAAA,EAAuB;AACxC,EAAA,OAAO,MAAM,KAAA,IAAS,SAAA;AACxB;AAKO,SAAS,aAAA,CACd,SAAA,EACA,MAAA,EACA,OAAA,EACgB;AAChB,EAAA,IAAI,CAAC,MAAA,CAAO,MAAA,IAAU,SAAA,IAAa,CAAA,EAAG;AACpC,IAAA,OAAO;AAAA,MACL,UAAA,EAAY,SAAA;AAAA,MACZ,aAAA,EAAe,CAAA;AAAA,MACf,kBAAkB,EAAC;AAAA,MACnB,mBAAmB;AAAC,KACtB;AAAA,EACF;AACA,EAAA,OAAO,eAAA,CAAgB,SAAA,EAAW,MAAA,EAAQ,EAAE,GAAG,SAAS,GAAA,kBAAK,IAAI,IAAA,EAAK,EAAG,CAAA;AAC3E","file":"chunk-UJNINZMO.js","sourcesContent":["import { useQuery } from '@tanstack/react-query';\nimport { getDiscountEnvironment, type DiscountActor } from '../lib/discounts';\nimport {\n resolveDiscount,\n type DiscountGroup,\n type DiscountContext,\n type DiscountResult,\n} from 'simplycms/domain/discounts';\n\n/** Актор до відповіді сервера: без категорії знижки просто не спрацьовують. */\nconst ANONYMOUS: DiscountActor = {\n userId: null,\n userCategoryId: null,\n isLoggedIn: false,\n};\n\nconst NO_GROUPS: DiscountGroup[] = [];\n\n/**\n * Правила знижок і актор — один серверний виклик на застосунок.\n *\n * 🔴 Раніше це були ДВА браузерні запити: дерево знижок через PostgREST і\n * категорія покупця запитом `profiles` за `user_id` із клієнта. Обидва зникли\n * (пояснення — у `../lib/discounts`), тож ціна на вітрині більше не залежить\n * від того, що браузер сказав про себе.\n *\n * 🔴 Ключ НЕ містить id покупця: акторa визначає cookie сесії на сервері.\n * Додати його в ключ означало б дати клієнту вибирати, чию відповідь дістати\n * з кешу.\n */\nfunction useDiscountEnvironment() {\n return useQuery({\n queryKey: ['discount-environment'],\n queryFn: () => getDiscountEnvironment(),\n staleTime: 2 * 60 * 1000,\n });\n}\n\n/**\n * Активні групи знижок для типу ціни покупця.\n *\n * 🔴 Повертає ВЛАСНИЙ вузький об'єкт, а не результат React Query: спред\n * результату зчитує всі його поля й тим самим вимикає відстеження змін\n * (`notifyOnChangeProps`), тобто повертає зайві ререндери сітки каталогу.\n */\nexport function useDiscountGroups(): {\n data: DiscountGroup[];\n isLoading: boolean;\n} {\n const { data, isLoading } = useDiscountEnvironment();\n return { data: data?.groups ?? NO_GROUPS, isLoading };\n}\n\n/**\n * Контекст покупця для рушія знижок.\n *\n * 🔴 Повертається САМЕ поле відповіді, а не новий об'єкт: результат іде в\n * `deps` мемоїзованих прайсингів, і свіжий літерал на кожному рендері\n * перераховував би ціни всієї сітки каталогу без жодної зміни даних.\n */\nexport function useDiscountContext(): DiscountActor {\n const { data } = useDiscountEnvironment();\n return data?.actor ?? ANONYMOUS;\n}\n\nexport type { DiscountActor };\n\n/** Застосовує дерево знижок до однієї ціни. */\nexport function applyDiscount(\n basePrice: number,\n groups: DiscountGroup[],\n context: Omit<DiscountContext, 'now'>,\n): DiscountResult {\n if (!groups.length || basePrice <= 0) {\n return {\n finalPrice: basePrice,\n totalDiscount: 0,\n appliedDiscounts: [],\n rejectedDiscounts: [],\n };\n }\n return resolveDiscount(basePrice, groups, { ...context, now: new Date() });\n}\n"]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { useForm } from 'react-hook-form';
|
|
3
|
+
import { zodResolver } from '@hookform/resolvers/zod';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { useT } from 'simplycms/i18n';
|
|
6
|
+
import { Form, FormField, FormItem, FormLabel, FormControl, FormMessage } from 'simplycms/ui/form';
|
|
7
|
+
import { Input } from 'simplycms/ui/input';
|
|
8
|
+
import { Button } from 'simplycms/ui/button';
|
|
9
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
|
+
|
|
11
|
+
// src/storefront-routes/components/SetPasswordForm.tsx
|
|
12
|
+
function buildSchema(t) {
|
|
13
|
+
return z.object({
|
|
14
|
+
password: z.string().min(8, t("auth.setPassword.tooShort")),
|
|
15
|
+
confirm: z.string()
|
|
16
|
+
}).refine((data) => data.password === data.confirm, {
|
|
17
|
+
message: t("auth.setPassword.mismatch"),
|
|
18
|
+
path: ["confirm"]
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function SetPasswordForm({
|
|
22
|
+
error,
|
|
23
|
+
onSubmit
|
|
24
|
+
}) {
|
|
25
|
+
const t = useT();
|
|
26
|
+
const schema = useMemo(() => buildSchema(t), [t]);
|
|
27
|
+
const form = useForm({
|
|
28
|
+
resolver: zodResolver(schema),
|
|
29
|
+
defaultValues: { password: "", confirm: "" }
|
|
30
|
+
});
|
|
31
|
+
return /* @__PURE__ */ jsx(Form, { ...form, children: /* @__PURE__ */ jsxs(
|
|
32
|
+
"form",
|
|
33
|
+
{
|
|
34
|
+
onSubmit: form.handleSubmit((values) => onSubmit(values.password)),
|
|
35
|
+
className: "space-y-4",
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ jsx(
|
|
38
|
+
FormField,
|
|
39
|
+
{
|
|
40
|
+
control: form.control,
|
|
41
|
+
name: "password",
|
|
42
|
+
render: ({ field }) => /* @__PURE__ */ jsxs(FormItem, { children: [
|
|
43
|
+
/* @__PURE__ */ jsx(FormLabel, { children: t("auth.setPassword.password") }),
|
|
44
|
+
/* @__PURE__ */ jsx(FormControl, { children: /* @__PURE__ */ jsx(Input, { type: "password", autoComplete: "new-password", ...field }) }),
|
|
45
|
+
/* @__PURE__ */ jsx(FormMessage, {})
|
|
46
|
+
] })
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
/* @__PURE__ */ jsx(
|
|
50
|
+
FormField,
|
|
51
|
+
{
|
|
52
|
+
control: form.control,
|
|
53
|
+
name: "confirm",
|
|
54
|
+
render: ({ field }) => /* @__PURE__ */ jsxs(FormItem, { children: [
|
|
55
|
+
/* @__PURE__ */ jsx(FormLabel, { children: t("auth.setPassword.confirm") }),
|
|
56
|
+
/* @__PURE__ */ jsx(FormControl, { children: /* @__PURE__ */ jsx(Input, { type: "password", autoComplete: "new-password", ...field }) }),
|
|
57
|
+
/* @__PURE__ */ jsx(FormMessage, {})
|
|
58
|
+
] })
|
|
59
|
+
}
|
|
60
|
+
),
|
|
61
|
+
error && /* @__PURE__ */ jsx("p", { className: "text-sm text-destructive", children: error }),
|
|
62
|
+
/* @__PURE__ */ jsx(
|
|
63
|
+
Button,
|
|
64
|
+
{
|
|
65
|
+
type: "submit",
|
|
66
|
+
className: "w-full",
|
|
67
|
+
disabled: form.formState.isSubmitting,
|
|
68
|
+
children: t("auth.setPassword.submit")
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
) });
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export { SetPasswordForm };
|
|
77
|
+
//# sourceMappingURL=chunk-ULHJAUDC.js.map
|
|
78
|
+
//# sourceMappingURL=chunk-ULHJAUDC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/storefront-routes/components/SetPasswordForm.tsx"],"names":[],"mappings":"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","file":"chunk-ULHJAUDC.js","sourcesContent":["import { useMemo } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { z } from 'zod';\nimport { useT } from 'simplycms/i18n';\nimport type { Translator } from 'simplycms/i18n';\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from 'simplycms/ui/form';\nimport { Input } from 'simplycms/ui/input';\nimport { Button } from 'simplycms/ui/button';\n\n/** Схема будується від транслятора — повідомлення валідації теж локалізовані. */\nfunction buildSchema(t: Translator) {\n return z\n .object({\n password: z.string().min(8, t('auth.setPassword.tooShort')),\n confirm: z.string(),\n })\n .refine((data) => data.password === data.confirm, {\n message: t('auth.setPassword.mismatch'),\n path: ['confirm'],\n });\n}\n\ntype SetPasswordValues = z.infer<ReturnType<typeof buildSchema>>;\n\n/**\n * Форма нового пароля: валідація й поля. Сам виклик Supabase лишається у\n * сторінці — форма нічого не знає ні про клієнта, ні про навігацію.\n */\nexport function SetPasswordForm({\n error,\n onSubmit,\n}: {\n error: string | null;\n onSubmit: (password: string) => Promise<void>;\n}) {\n const t = useT();\n const schema = useMemo(() => buildSchema(t), [t]);\n const form = useForm<SetPasswordValues>({\n resolver: zodResolver(schema),\n defaultValues: { password: '', confirm: '' },\n });\n\n return (\n <Form {...form}>\n <form\n onSubmit={form.handleSubmit((values) => onSubmit(values.password))}\n className=\"space-y-4\"\n >\n <FormField\n control={form.control}\n name=\"password\"\n render={({ field }) => (\n <FormItem>\n <FormLabel>{t('auth.setPassword.password')}</FormLabel>\n <FormControl>\n <Input type=\"password\" autoComplete=\"new-password\" {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n <FormField\n control={form.control}\n name=\"confirm\"\n render={({ field }) => (\n <FormItem>\n <FormLabel>{t('auth.setPassword.confirm')}</FormLabel>\n <FormControl>\n <Input type=\"password\" autoComplete=\"new-password\" {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n {error && <p className=\"text-sm text-destructive\">{error}</p>}\n <Button\n type=\"submit\"\n className=\"w-full\"\n disabled={form.formState.isSubmitting}\n >\n {t('auth.setPassword.submit')}\n </Button>\n </form>\n </Form>\n );\n}\n"]}
|