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,169 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { useQueryClient, useQuery, useMutation } from '@tanstack/react-query';
|
|
3
|
+
import { useSupabaseClient } from 'simplycms/supabase/SupabaseProvider';
|
|
4
|
+
import { useT } from 'simplycms/i18n';
|
|
5
|
+
import { Input } from 'simplycms/ui/input';
|
|
6
|
+
import { Card, CardHeader, CardTitle, CardContent } from 'simplycms/ui/card';
|
|
7
|
+
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from 'simplycms/ui/table';
|
|
8
|
+
import { Button } from 'simplycms/ui/button';
|
|
9
|
+
import { Loader2, Save } from 'lucide-react';
|
|
10
|
+
import { useToast } from 'simplycms/core/hooks/use-toast';
|
|
11
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
|
+
|
|
13
|
+
// src/admin/components/ProductPricesEditor.tsx
|
|
14
|
+
function ProductPricesEditor({
|
|
15
|
+
productId,
|
|
16
|
+
modificationId = null
|
|
17
|
+
}) {
|
|
18
|
+
const t = useT();
|
|
19
|
+
const supabase = useSupabaseClient();
|
|
20
|
+
const { toast } = useToast();
|
|
21
|
+
const queryClient = useQueryClient();
|
|
22
|
+
const { data: priceTypes } = useQuery({
|
|
23
|
+
queryKey: ["price-types"],
|
|
24
|
+
queryFn: async () => {
|
|
25
|
+
const { data, error } = await supabase.from("price_types").select("*").order("sort_order");
|
|
26
|
+
if (error) throw error;
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const { data: existingPrices, isLoading } = useQuery({
|
|
31
|
+
queryKey: ["product-prices-editor", productId, modificationId],
|
|
32
|
+
queryFn: async () => {
|
|
33
|
+
let query = supabase.from("product_prices").select("*").eq("product_id", productId);
|
|
34
|
+
if (modificationId) {
|
|
35
|
+
query = query.eq("modification_id", modificationId);
|
|
36
|
+
} else {
|
|
37
|
+
query = query.is("modification_id", null);
|
|
38
|
+
}
|
|
39
|
+
const { data, error } = await query;
|
|
40
|
+
if (error) throw error;
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
const [prices, setPrices] = useState({});
|
|
45
|
+
const [prevPriceTypes, setPrevPriceTypes] = useState(priceTypes);
|
|
46
|
+
const [prevExistingPrices, setPrevExistingPrices] = useState(existingPrices);
|
|
47
|
+
if (priceTypes && existingPrices && (priceTypes !== prevPriceTypes || existingPrices !== prevExistingPrices)) {
|
|
48
|
+
setPrevPriceTypes(priceTypes);
|
|
49
|
+
setPrevExistingPrices(existingPrices);
|
|
50
|
+
const initial = {};
|
|
51
|
+
priceTypes.forEach((pt) => {
|
|
52
|
+
const existing = existingPrices.find((ep) => ep.price_type_id === pt.id);
|
|
53
|
+
initial[pt.id] = {
|
|
54
|
+
price: existing?.price?.toString() || "",
|
|
55
|
+
old_price: existing?.old_price?.toString() || ""
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
setPrices(initial);
|
|
59
|
+
}
|
|
60
|
+
const saveMutation = useMutation({
|
|
61
|
+
mutationFn: async () => {
|
|
62
|
+
for (const [priceTypeId, values] of Object.entries(prices)) {
|
|
63
|
+
const priceVal = parseFloat(values.price);
|
|
64
|
+
const existing = existingPrices?.find(
|
|
65
|
+
(ep) => ep.price_type_id === priceTypeId
|
|
66
|
+
);
|
|
67
|
+
if (isNaN(priceVal) || values.price === "") {
|
|
68
|
+
if (existing) {
|
|
69
|
+
await supabase.from("product_prices").delete().eq("id", existing.id);
|
|
70
|
+
}
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const oldPriceVal = values.old_price ? parseFloat(values.old_price) : null;
|
|
74
|
+
if (existing) {
|
|
75
|
+
await supabase.from("product_prices").update({ price: priceVal, old_price: oldPriceVal }).eq("id", existing.id);
|
|
76
|
+
} else {
|
|
77
|
+
await supabase.from("product_prices").insert({
|
|
78
|
+
price_type_id: priceTypeId,
|
|
79
|
+
product_id: productId,
|
|
80
|
+
modification_id: modificationId || null,
|
|
81
|
+
price: priceVal,
|
|
82
|
+
old_price: oldPriceVal
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
onSuccess: () => {
|
|
88
|
+
queryClient.invalidateQueries({
|
|
89
|
+
queryKey: ["product-prices-editor", productId]
|
|
90
|
+
});
|
|
91
|
+
queryClient.invalidateQueries({ queryKey: ["product-prices"] });
|
|
92
|
+
toast({ title: t("admin.products.prices.saved") });
|
|
93
|
+
},
|
|
94
|
+
onError: (error) => {
|
|
95
|
+
toast({
|
|
96
|
+
variant: "destructive",
|
|
97
|
+
title: t("common.error"),
|
|
98
|
+
description: error.message
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
if (isLoading) {
|
|
103
|
+
return /* @__PURE__ */ jsx("div", { className: "flex justify-center py-4", children: /* @__PURE__ */ jsx(Loader2, { className: "h-5 w-5 animate-spin" }) });
|
|
104
|
+
}
|
|
105
|
+
return /* @__PURE__ */ jsxs(Card, { children: [
|
|
106
|
+
/* @__PURE__ */ jsx(CardHeader, { className: "pb-3", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
107
|
+
/* @__PURE__ */ jsx(CardTitle, { className: "text-lg", children: t("admin.products.mods.prices") }),
|
|
108
|
+
/* @__PURE__ */ jsxs(
|
|
109
|
+
Button,
|
|
110
|
+
{
|
|
111
|
+
size: "sm",
|
|
112
|
+
onClick: () => saveMutation.mutate(),
|
|
113
|
+
disabled: saveMutation.isPending,
|
|
114
|
+
children: [
|
|
115
|
+
saveMutation.isPending ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 mr-1 animate-spin" }) : /* @__PURE__ */ jsx(Save, { className: "h-4 w-4 mr-1" }),
|
|
116
|
+
t("admin.products.prices.save")
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
)
|
|
120
|
+
] }) }),
|
|
121
|
+
/* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsxs(Table, { children: [
|
|
122
|
+
/* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsxs(TableRow, { children: [
|
|
123
|
+
/* @__PURE__ */ jsx(TableHead, { children: t("admin.users.priceType") }),
|
|
124
|
+
/* @__PURE__ */ jsx(TableHead, { children: t("common.price") }),
|
|
125
|
+
/* @__PURE__ */ jsx(TableHead, { children: t("admin.products.prices.oldPrice") })
|
|
126
|
+
] }) }),
|
|
127
|
+
/* @__PURE__ */ jsx(TableBody, { children: priceTypes?.map((pt) => /* @__PURE__ */ jsxs(TableRow, { children: [
|
|
128
|
+
/* @__PURE__ */ jsxs(TableCell, { className: "font-medium", children: [
|
|
129
|
+
pt.name,
|
|
130
|
+
pt.is_default && /* @__PURE__ */ jsx("span", { className: "ml-2 text-xs bg-primary/10 text-primary px-1.5 py-0.5 rounded", children: t("common.byDefaultShort") })
|
|
131
|
+
] }),
|
|
132
|
+
/* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(
|
|
133
|
+
Input,
|
|
134
|
+
{
|
|
135
|
+
type: "number",
|
|
136
|
+
step: "0.01",
|
|
137
|
+
min: "0",
|
|
138
|
+
value: prices[pt.id]?.price || "",
|
|
139
|
+
onChange: (e) => setPrices((prev) => ({
|
|
140
|
+
...prev,
|
|
141
|
+
[pt.id]: { ...prev[pt.id], price: e.target.value }
|
|
142
|
+
})),
|
|
143
|
+
placeholder: "0",
|
|
144
|
+
className: "w-32"
|
|
145
|
+
}
|
|
146
|
+
) }),
|
|
147
|
+
/* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(
|
|
148
|
+
Input,
|
|
149
|
+
{
|
|
150
|
+
type: "number",
|
|
151
|
+
step: "0.01",
|
|
152
|
+
min: "0",
|
|
153
|
+
value: prices[pt.id]?.old_price || "",
|
|
154
|
+
onChange: (e) => setPrices((prev) => ({
|
|
155
|
+
...prev,
|
|
156
|
+
[pt.id]: { ...prev[pt.id], old_price: e.target.value }
|
|
157
|
+
})),
|
|
158
|
+
placeholder: "0",
|
|
159
|
+
className: "w-32"
|
|
160
|
+
}
|
|
161
|
+
) })
|
|
162
|
+
] }, pt.id)) })
|
|
163
|
+
] }) })
|
|
164
|
+
] });
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export { ProductPricesEditor };
|
|
168
|
+
//# sourceMappingURL=chunk-SU3R36OS.js.map
|
|
169
|
+
//# sourceMappingURL=chunk-SU3R36OS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/admin/components/ProductPricesEditor.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAuBO,SAAS,mBAAA,CAAoB;AAAA,EAClC,SAAA;AAAA,EACA,cAAA,GAAiB;AACnB,CAAA,EAA6B;AAC3B,EAAA,MAAM,IAAI,IAAA,EAAK;AACf,EAAA,MAAM,WAAW,iBAAA,EAAkB;AACnC,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,QAAA,EAAS;AAC3B,EAAA,MAAM,cAAc,cAAA,EAAe;AAEnC,EAAA,MAAM,EAAE,IAAA,EAAM,UAAA,EAAW,GAAI,QAAA,CAAS;AAAA,IACpC,QAAA,EAAU,CAAC,aAAa,CAAA;AAAA,IACxB,SAAS,YAAY;AACnB,MAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAM,GAAI,MAAM,QAAA,CAC3B,IAAA,CAAK,aAAa,CAAA,CAClB,MAAA,CAAO,GAAG,CAAA,CACV,MAAM,YAAY,CAAA;AACrB,MAAA,IAAI,OAAO,MAAM,KAAA;AACjB,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,GACD,CAAA;AAED,EAAA,MAAM,EAAE,IAAA,EAAM,cAAA,EAAgB,SAAA,KAAc,QAAA,CAAS;AAAA,IACnD,QAAA,EAAU,CAAC,uBAAA,EAAyB,SAAA,EAAW,cAAc,CAAA;AAAA,IAC7D,SAAS,YAAY;AACnB,MAAA,IAAI,KAAA,GAAQ,QAAA,CACT,IAAA,CAAK,gBAAgB,CAAA,CACrB,OAAO,GAAG,CAAA,CACV,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA;AAE7B,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,KAAA,GAAQ,KAAA,CAAM,EAAA,CAAG,iBAAA,EAAmB,cAAc,CAAA;AAAA,MACpD,CAAA,MAAO;AACL,QAAA,KAAA,GAAQ,KAAA,CAAM,EAAA,CAAG,iBAAA,EAAmB,IAAI,CAAA;AAAA,MAC1C;AAEA,MAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAM,GAAI,MAAM,KAAA;AAC9B,MAAA,IAAI,OAAO,MAAM,KAAA;AACjB,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,GACD,CAAA;AAED,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,QAAA,CAE1B,EAAE,CAAA;AAGJ,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAS,UAAU,CAAA;AAC/D,EAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,CAAA,GAAI,SAAS,cAAc,CAAA;AAC3E,EAAA,IACE,UAAA,IACA,cAAA,KACC,UAAA,KAAe,cAAA,IAAkB,mBAAmB,kBAAA,CAAA,EACrD;AACA,IAAA,iBAAA,CAAkB,UAAU,CAAA;AAC5B,IAAA,qBAAA,CAAsB,cAAc,CAAA;AACpC,IAAA,MAAM,UAAgE,EAAC;AACvE,IAAA,UAAA,CAAW,OAAA,CAAQ,CAAC,EAAA,KAAO;AACzB,MAAA,MAAM,QAAA,GAAW,eAAe,IAAA,CAAK,CAAC,OAAO,EAAA,CAAG,aAAA,KAAkB,GAAG,EAAE,CAAA;AACvE,MAAA,OAAA,CAAQ,EAAA,CAAG,EAAE,CAAA,GAAI;AAAA,QACf,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAA,EAAS,IAAK,EAAA;AAAA,QACtC,SAAA,EAAW,QAAA,EAAU,SAAA,EAAW,QAAA,EAAS,IAAK;AAAA,OAChD;AAAA,IACF,CAAC,CAAA;AACD,IAAA,SAAA,CAAU,OAAO,CAAA;AAAA,EACnB;AAEA,EAAA,MAAM,eAAe,WAAA,CAAY;AAAA,IAC/B,YAAY,YAAY;AACtB,MAAA,KAAA,MAAW,CAAC,WAAA,EAAa,MAAM,KAAK,MAAA,CAAO,OAAA,CAAQ,MAAM,CAAA,EAAG;AAC1D,QAAA,MAAM,QAAA,GAAW,UAAA,CAAW,MAAA,CAAO,KAAK,CAAA;AACxC,QAAA,MAAM,WAAW,cAAA,EAAgB,IAAA;AAAA,UAC/B,CAAC,EAAA,KAAO,EAAA,CAAG,aAAA,KAAkB;AAAA,SAC/B;AAEA,QAAA,IAAI,KAAA,CAAM,QAAQ,CAAA,IAAK,MAAA,CAAO,UAAU,EAAA,EAAI;AAC1C,UAAA,IAAI,QAAA,EAAU;AACZ,YAAA,MAAM,QAAA,CACH,KAAK,gBAAgB,CAAA,CACrB,QAAO,CACP,EAAA,CAAG,IAAA,EAAM,QAAA,CAAS,EAAE,CAAA;AAAA,UACzB;AACA,UAAA;AAAA,QACF;AAEA,QAAA,MAAM,cAAc,MAAA,CAAO,SAAA,GACvB,UAAA,CAAW,MAAA,CAAO,SAAS,CAAA,GAC3B,IAAA;AAEJ,QAAA,IAAI,QAAA,EAAU;AACZ,UAAA,MAAM,QAAA,CACH,IAAA,CAAK,gBAAgB,CAAA,CACrB,OAAO,EAAE,KAAA,EAAO,QAAA,EAAU,SAAA,EAAW,aAAa,CAAA,CAClD,EAAA,CAAG,IAAA,EAAM,SAAS,EAAE,CAAA;AAAA,QACzB,CAAA,MAAO;AACL,UAAA,MAAM,QAAA,CAAS,IAAA,CAAK,gBAAgB,CAAA,CAAE,MAAA,CAAO;AAAA,YAC3C,aAAA,EAAe,WAAA;AAAA,YACf,UAAA,EAAY,SAAA;AAAA,YACZ,iBAAiB,cAAA,IAAkB,IAAA;AAAA,YACnC,KAAA,EAAO,QAAA;AAAA,YACP,SAAA,EAAW;AAAA,WACZ,CAAA;AAAA,QACH;AAAA,MACF;AAAA,IACF,CAAA;AAAA,IACA,WAAW,MAAM;AACf,MAAA,WAAA,CAAY,iBAAA,CAAkB;AAAA,QAC5B,QAAA,EAAU,CAAC,uBAAA,EAAyB,SAAS;AAAA,OAC9C,CAAA;AACD,MAAA,WAAA,CAAY,kBAAkB,EAAE,QAAA,EAAU,CAAC,gBAAgB,GAAG,CAAA;AAC9D,MAAA,KAAA,CAAM,EAAE,KAAA,EAAO,CAAA,CAAE,6BAA6B,GAAG,CAAA;AAAA,IACnD,CAAA;AAAA,IACA,OAAA,EAAS,CAAC,KAAA,KAAiB;AACzB,MAAA,KAAA,CAAM;AAAA,QACJ,OAAA,EAAS,aAAA;AAAA,QACT,KAAA,EAAO,EAAE,cAAc,CAAA;AAAA,QACvB,aAAa,KAAA,CAAM;AAAA,OACpB,CAAA;AAAA,IACH;AAAA,GACD,CAAA;AAED,EAAA,IAAI,SAAA,EAAW;AACb,IAAA,uBACE,GAAA,CAAC,SAAI,SAAA,EAAU,0BAAA,EACb,8BAAC,OAAA,EAAA,EAAQ,SAAA,EAAU,wBAAuB,CAAA,EAC5C,CAAA;AAAA,EAEJ;AAEA,EAAA,4BACG,IAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,cAAW,SAAA,EAAU,MAAA,EACpB,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAU,SAAA,EAClB,QAAA,EAAA,CAAA,CAAE,4BAA4B,CAAA,EACjC,CAAA;AAAA,sBACA,IAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,IAAA;AAAA,UACL,OAAA,EAAS,MAAM,YAAA,CAAa,MAAA,EAAO;AAAA,UACnC,UAAU,YAAA,CAAa,SAAA;AAAA,UAEtB,QAAA,EAAA;AAAA,YAAA,YAAA,CAAa,SAAA,uBACX,OAAA,EAAA,EAAQ,SAAA,EAAU,6BAA4B,CAAA,mBAE/C,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,cAAA,EAAe,CAAA;AAAA,YAEhC,EAAE,4BAA4B;AAAA;AAAA;AAAA;AACjC,KAAA,EACF,CAAA,EACF,CAAA;AAAA,oBACA,GAAA,CAAC,WAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,WAAA,EAAA,EACC,+BAAC,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAA,EAAA,EAAW,QAAA,EAAA,CAAA,CAAE,uBAAuB,CAAA,EAAE,CAAA;AAAA,wBACvC,GAAA,CAAC,SAAA,EAAA,EAAW,QAAA,EAAA,CAAA,CAAE,cAAc,CAAA,EAAE,CAAA;AAAA,wBAC9B,GAAA,CAAC,SAAA,EAAA,EAAW,QAAA,EAAA,CAAA,CAAE,gCAAgC,CAAA,EAAE;AAAA,OAAA,EAClD,CAAA,EACF,CAAA;AAAA,0BACC,SAAA,EAAA,EACE,QAAA,EAAA,UAAA,EAAY,IAAI,CAAC,EAAA,0BACf,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,SAAA,EAAA,EAAU,WAAU,aAAA,EAClB,QAAA,EAAA;AAAA,UAAA,EAAA,CAAG,IAAA;AAAA,UACH,EAAA,CAAG,8BACF,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,+DAAA,EACb,QAAA,EAAA,CAAA,CAAE,uBAAuB,CAAA,EAC5B;AAAA,SAAA,EAEJ,CAAA;AAAA,4BACC,SAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,IAAA,EAAK,MAAA;AAAA,YACL,GAAA,EAAI,GAAA;AAAA,YACJ,KAAA,EAAO,MAAA,CAAO,EAAA,CAAG,EAAE,GAAG,KAAA,IAAS,EAAA;AAAA,YAC/B,QAAA,EAAU,CAAC,CAAA,KACT,SAAA,CAAU,CAAC,IAAA,MAAU;AAAA,cACnB,GAAG,IAAA;AAAA,cACH,CAAC,EAAA,CAAG,EAAE,GAAG,EAAE,GAAG,IAAA,CAAK,EAAA,CAAG,EAAE,CAAA,EAAG,KAAA,EAAO,CAAA,CAAE,OAAO,KAAA;AAAM,aACnD,CAAE,CAAA;AAAA,YAEJ,WAAA,EAAY,GAAA;AAAA,YACZ,SAAA,EAAU;AAAA;AAAA,SACZ,EACF,CAAA;AAAA,4BACC,SAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,IAAA,EAAK,MAAA;AAAA,YACL,GAAA,EAAI,GAAA;AAAA,YACJ,KAAA,EAAO,MAAA,CAAO,EAAA,CAAG,EAAE,GAAG,SAAA,IAAa,EAAA;AAAA,YACnC,QAAA,EAAU,CAAC,CAAA,KACT,SAAA,CAAU,CAAC,IAAA,MAAU;AAAA,cACnB,GAAG,IAAA;AAAA,cACH,CAAC,EAAA,CAAG,EAAE,GAAG,EAAE,GAAG,IAAA,CAAK,EAAA,CAAG,EAAE,CAAA,EAAG,SAAA,EAAW,CAAA,CAAE,OAAO,KAAA;AAAM,aACvD,CAAE,CAAA;AAAA,YAEJ,WAAA,EAAY,GAAA;AAAA,YACZ,SAAA,EAAU;AAAA;AAAA,SACZ,EACF;AAAA,OAAA,EAAA,EAxCa,EAAA,CAAG,EAyClB,CACD,CAAA,EACH;AAAA,KAAA,EACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ","file":"chunk-SU3R36OS.js","sourcesContent":["import { useState } from 'react';\nimport { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useSupabaseClient } from 'simplycms/supabase/SupabaseProvider';\nimport { useT } from 'simplycms/i18n';\nimport { Input } from 'simplycms/ui/input';\nimport { Card, CardContent, CardHeader, CardTitle } from 'simplycms/ui/card';\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from 'simplycms/ui/table';\nimport { Button } from 'simplycms/ui/button';\nimport { Loader2, Save } from 'lucide-react';\nimport { useToast } from 'simplycms/core/hooks/use-toast';\n\ninterface ProductPricesEditorProps {\n productId: string;\n modificationId?: string | null;\n}\n\nexport function ProductPricesEditor({\n productId,\n modificationId = null,\n}: ProductPricesEditorProps) {\n const t = useT();\n const supabase = useSupabaseClient();\n const { toast } = useToast();\n const queryClient = useQueryClient();\n\n const { data: priceTypes } = useQuery({\n queryKey: ['price-types'],\n queryFn: async () => {\n const { data, error } = await supabase\n .from('price_types')\n .select('*')\n .order('sort_order');\n if (error) throw error;\n return data;\n },\n });\n\n const { data: existingPrices, isLoading } = useQuery({\n queryKey: ['product-prices-editor', productId, modificationId],\n queryFn: async () => {\n let query = supabase\n .from('product_prices')\n .select('*')\n .eq('product_id', productId);\n\n if (modificationId) {\n query = query.eq('modification_id', modificationId);\n } else {\n query = query.is('modification_id', null);\n }\n\n const { data, error } = await query;\n if (error) throw error;\n return data;\n },\n });\n\n const [prices, setPrices] = useState<\n Record<string, { price: string; old_price: string }>\n >({});\n\n // Ініціалізація цін при завантаженні даних (adjust state during render)\n const [prevPriceTypes, setPrevPriceTypes] = useState(priceTypes);\n const [prevExistingPrices, setPrevExistingPrices] = useState(existingPrices);\n if (\n priceTypes &&\n existingPrices &&\n (priceTypes !== prevPriceTypes || existingPrices !== prevExistingPrices)\n ) {\n setPrevPriceTypes(priceTypes);\n setPrevExistingPrices(existingPrices);\n const initial: Record<string, { price: string; old_price: string }> = {};\n priceTypes.forEach((pt) => {\n const existing = existingPrices.find((ep) => ep.price_type_id === pt.id);\n initial[pt.id] = {\n price: existing?.price?.toString() || '',\n old_price: existing?.old_price?.toString() || '',\n };\n });\n setPrices(initial);\n }\n\n const saveMutation = useMutation({\n mutationFn: async () => {\n for (const [priceTypeId, values] of Object.entries(prices)) {\n const priceVal = parseFloat(values.price);\n const existing = existingPrices?.find(\n (ep) => ep.price_type_id === priceTypeId,\n );\n\n if (isNaN(priceVal) || values.price === '') {\n if (existing) {\n await supabase\n .from('product_prices')\n .delete()\n .eq('id', existing.id);\n }\n continue;\n }\n\n const oldPriceVal = values.old_price\n ? parseFloat(values.old_price)\n : null;\n\n if (existing) {\n await supabase\n .from('product_prices')\n .update({ price: priceVal, old_price: oldPriceVal })\n .eq('id', existing.id);\n } else {\n await supabase.from('product_prices').insert({\n price_type_id: priceTypeId,\n product_id: productId,\n modification_id: modificationId || null,\n price: priceVal,\n old_price: oldPriceVal,\n });\n }\n }\n },\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: ['product-prices-editor', productId],\n });\n queryClient.invalidateQueries({ queryKey: ['product-prices'] });\n toast({ title: t('admin.products.prices.saved') });\n },\n onError: (error: Error) => {\n toast({\n variant: 'destructive',\n title: t('common.error'),\n description: error.message,\n });\n },\n });\n\n if (isLoading) {\n return (\n <div className=\"flex justify-center py-4\">\n <Loader2 className=\"h-5 w-5 animate-spin\" />\n </div>\n );\n }\n\n return (\n <Card>\n <CardHeader className=\"pb-3\">\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-lg\">\n {t('admin.products.mods.prices')}\n </CardTitle>\n <Button\n size=\"sm\"\n onClick={() => saveMutation.mutate()}\n disabled={saveMutation.isPending}\n >\n {saveMutation.isPending ? (\n <Loader2 className=\"h-4 w-4 mr-1 animate-spin\" />\n ) : (\n <Save className=\"h-4 w-4 mr-1\" />\n )}\n {t('admin.products.prices.save')}\n </Button>\n </div>\n </CardHeader>\n <CardContent>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>{t('admin.users.priceType')}</TableHead>\n <TableHead>{t('common.price')}</TableHead>\n <TableHead>{t('admin.products.prices.oldPrice')}</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {priceTypes?.map((pt) => (\n <TableRow key={pt.id}>\n <TableCell className=\"font-medium\">\n {pt.name}\n {pt.is_default && (\n <span className=\"ml-2 text-xs bg-primary/10 text-primary px-1.5 py-0.5 rounded\">\n {t('common.byDefaultShort')}\n </span>\n )}\n </TableCell>\n <TableCell>\n <Input\n type=\"number\"\n step=\"0.01\"\n min=\"0\"\n value={prices[pt.id]?.price || ''}\n onChange={(e) =>\n setPrices((prev) => ({\n ...prev,\n [pt.id]: { ...prev[pt.id], price: e.target.value },\n }))\n }\n placeholder=\"0\"\n className=\"w-32\"\n />\n </TableCell>\n <TableCell>\n <Input\n type=\"number\"\n step=\"0.01\"\n min=\"0\"\n value={prices[pt.id]?.old_price || ''}\n onChange={(e) =>\n setPrices((prev) => ({\n ...prev,\n [pt.id]: { ...prev[pt.id], old_price: e.target.value },\n }))\n }\n placeholder=\"0\"\n className=\"w-32\"\n />\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </CardContent>\n </Card>\n );\n}\n"]}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { usePluginToggle } from './chunk-7JQNN4AX.js';
|
|
2
|
+
import { adminPath } from './chunk-2VKURKLN.js';
|
|
3
|
+
import { useParams, useNavigate } from '@tanstack/react-router';
|
|
4
|
+
import { useQueryClient, useQuery, useMutation } from '@tanstack/react-query';
|
|
5
|
+
import { useSupabaseClient } from 'simplycms/supabase/SupabaseProvider';
|
|
6
|
+
import { useT } from 'simplycms/i18n';
|
|
7
|
+
import { Button } from 'simplycms/ui/button';
|
|
8
|
+
import { Input } from 'simplycms/ui/input';
|
|
9
|
+
import { Label } from 'simplycms/ui/label';
|
|
10
|
+
import { Switch } from 'simplycms/ui/switch';
|
|
11
|
+
import { Card, CardHeader, CardTitle, CardContent, CardDescription } from 'simplycms/ui/card';
|
|
12
|
+
import { Badge } from 'simplycms/ui/badge';
|
|
13
|
+
import { Separator } from 'simplycms/ui/separator';
|
|
14
|
+
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from 'simplycms/ui/select';
|
|
15
|
+
import { useToast } from 'simplycms/core/hooks/use-toast';
|
|
16
|
+
import { Loader2, ArrowLeft, Plug, PowerOff, Power, Save, Settings } from 'lucide-react';
|
|
17
|
+
import { getRegisteredPluginModules } from 'simplycms/plugins';
|
|
18
|
+
import { parsePlugin } from 'simplycms/plugins/types';
|
|
19
|
+
import { z } from 'zod';
|
|
20
|
+
import { useState, useMemo, useEffect } from 'react';
|
|
21
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
22
|
+
|
|
23
|
+
function settingsFields(schema) {
|
|
24
|
+
if (!schema) return [];
|
|
25
|
+
try {
|
|
26
|
+
const jsonSchema = z.toJSONSchema(schema);
|
|
27
|
+
return Object.entries(jsonSchema.properties ?? {});
|
|
28
|
+
} catch (error) {
|
|
29
|
+
console.warn(
|
|
30
|
+
"[admin] settings-\u0441\u0445\u0435\u043C\u0430 \u043F\u043B\u0430\u0433\u0456\u043D\u0430 \u043D\u0435\u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043D\u0430 \u0443 \u0444\u043E\u0440\u043C\u0456:",
|
|
31
|
+
error instanceof Error ? error.message : error
|
|
32
|
+
);
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function readSettingsSchema(pluginName) {
|
|
37
|
+
if (!pluginName) return void 0;
|
|
38
|
+
const module = getRegisteredPluginModules().get(pluginName);
|
|
39
|
+
const definition = module?.definition;
|
|
40
|
+
return definition?.settings;
|
|
41
|
+
}
|
|
42
|
+
function PluginSettings() {
|
|
43
|
+
const t = useT();
|
|
44
|
+
const supabase = useSupabaseClient();
|
|
45
|
+
const { pluginId } = useParams({ strict: false });
|
|
46
|
+
const navigate = useNavigate();
|
|
47
|
+
const { toast } = useToast();
|
|
48
|
+
const queryClient = useQueryClient();
|
|
49
|
+
const { togglePlugin, togglingPlugin } = usePluginToggle();
|
|
50
|
+
const [config, setConfig] = useState({});
|
|
51
|
+
const { data: plugin, isLoading } = useQuery({
|
|
52
|
+
queryKey: ["plugin", pluginId],
|
|
53
|
+
queryFn: async () => {
|
|
54
|
+
const { data, error } = await supabase.from("plugins").select("*").eq("id", pluginId).single();
|
|
55
|
+
if (error) throw error;
|
|
56
|
+
return parsePlugin({
|
|
57
|
+
...data,
|
|
58
|
+
is_active: data.is_active ?? false
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
const schema = readSettingsSchema(plugin?.name);
|
|
63
|
+
const fields = useMemo(() => settingsFields(schema), [schema]);
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (plugin?.config) {
|
|
66
|
+
setConfig(plugin.config);
|
|
67
|
+
}
|
|
68
|
+
}, [plugin]);
|
|
69
|
+
const saveMutation = useMutation({
|
|
70
|
+
mutationFn: async (newConfig) => {
|
|
71
|
+
const { error } = await supabase.from("plugins").update({
|
|
72
|
+
config: newConfig,
|
|
73
|
+
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
74
|
+
}).eq("id", pluginId);
|
|
75
|
+
if (error) throw error;
|
|
76
|
+
},
|
|
77
|
+
onSuccess: () => {
|
|
78
|
+
queryClient.invalidateQueries({ queryKey: ["plugin", pluginId] });
|
|
79
|
+
toast({ title: t("common.settingsSaved") });
|
|
80
|
+
},
|
|
81
|
+
onError: (error) => {
|
|
82
|
+
toast({
|
|
83
|
+
variant: "destructive",
|
|
84
|
+
title: t("common.error"),
|
|
85
|
+
description: error.message
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
const handleConfigChange = (key, value) => {
|
|
90
|
+
setConfig((prev) => ({ ...prev, [key]: value }));
|
|
91
|
+
};
|
|
92
|
+
const handleSave = () => {
|
|
93
|
+
if (!schema) return;
|
|
94
|
+
const parsed = schema.safeParse(config);
|
|
95
|
+
if (!parsed.success) {
|
|
96
|
+
toast({
|
|
97
|
+
variant: "destructive",
|
|
98
|
+
title: t("common.error"),
|
|
99
|
+
description: parsed.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("; ")
|
|
100
|
+
});
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
saveMutation.mutate(parsed.data);
|
|
104
|
+
};
|
|
105
|
+
if (isLoading) {
|
|
106
|
+
return /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-64", children: /* @__PURE__ */ jsx(Loader2, { className: "h-8 w-8 animate-spin" }) });
|
|
107
|
+
}
|
|
108
|
+
if (!plugin) {
|
|
109
|
+
return /* @__PURE__ */ jsxs("div", { className: "text-center py-12", children: [
|
|
110
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: t("admin.plugins.notFound") }),
|
|
111
|
+
/* @__PURE__ */ jsx(
|
|
112
|
+
Button,
|
|
113
|
+
{
|
|
114
|
+
variant: "link",
|
|
115
|
+
onClick: () => navigate({ to: adminPath("plugins") }),
|
|
116
|
+
children: t("admin.plugins.backToList")
|
|
117
|
+
}
|
|
118
|
+
)
|
|
119
|
+
] });
|
|
120
|
+
}
|
|
121
|
+
const isToggling = togglingPlugin === plugin.name;
|
|
122
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
123
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
124
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
|
|
125
|
+
/* @__PURE__ */ jsx(
|
|
126
|
+
Button,
|
|
127
|
+
{
|
|
128
|
+
variant: "ghost",
|
|
129
|
+
size: "icon",
|
|
130
|
+
onClick: () => navigate({ to: adminPath("plugins") }),
|
|
131
|
+
children: /* @__PURE__ */ jsx(ArrowLeft, { className: "h-5 w-5" })
|
|
132
|
+
}
|
|
133
|
+
),
|
|
134
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
135
|
+
/* @__PURE__ */ jsx("div", { className: "p-2 rounded-lg bg-primary/10", children: /* @__PURE__ */ jsx(Plug, { className: "h-6 w-6 text-primary" }) }),
|
|
136
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
137
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
138
|
+
/* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold", children: plugin.display_name }),
|
|
139
|
+
/* @__PURE__ */ jsx(Badge, { variant: plugin.is_active ? "default" : "secondary", children: plugin.is_active ? t("common.activeN") : t("admin.sections.inactive") })
|
|
140
|
+
] }),
|
|
141
|
+
/* @__PURE__ */ jsxs("p", { className: "text-muted-foreground", children: [
|
|
142
|
+
"v",
|
|
143
|
+
plugin.version,
|
|
144
|
+
" ",
|
|
145
|
+
plugin.author && `\u2022 ${plugin.author}`
|
|
146
|
+
] })
|
|
147
|
+
] })
|
|
148
|
+
] })
|
|
149
|
+
] }),
|
|
150
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
151
|
+
/* @__PURE__ */ jsxs(
|
|
152
|
+
Button,
|
|
153
|
+
{
|
|
154
|
+
variant: plugin.is_active ? "outline" : "default",
|
|
155
|
+
onClick: () => (
|
|
156
|
+
// Єдиний механізм перемикання — usePluginToggle (БД + реєстр
|
|
157
|
+
// хуків атомарно); прямий supabase.update лишав би HookRegistry
|
|
158
|
+
// незмінним до перезавантаження сторінки.
|
|
159
|
+
togglePlugin(
|
|
160
|
+
{ name: plugin.name, activate: !plugin.is_active },
|
|
161
|
+
{
|
|
162
|
+
onSettled: () => {
|
|
163
|
+
void queryClient.invalidateQueries({
|
|
164
|
+
queryKey: ["plugin", pluginId]
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
)
|
|
169
|
+
),
|
|
170
|
+
disabled: isToggling,
|
|
171
|
+
children: [
|
|
172
|
+
isToggling ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 mr-2 animate-spin" }) : plugin.is_active ? /* @__PURE__ */ jsx(PowerOff, { className: "h-4 w-4 mr-2" }) : /* @__PURE__ */ jsx(Power, { className: "h-4 w-4 mr-2" }),
|
|
173
|
+
plugin.is_active ? t("admin.plugins.deactivate") : t("common.activate")
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
),
|
|
177
|
+
fields.length > 0 && /* @__PURE__ */ jsxs(Button, { onClick: handleSave, disabled: saveMutation.isPending, children: [
|
|
178
|
+
saveMutation.isPending ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 mr-2 animate-spin" }) : /* @__PURE__ */ jsx(Save, { className: "h-4 w-4 mr-2" }),
|
|
179
|
+
t("common.save")
|
|
180
|
+
] })
|
|
181
|
+
] })
|
|
182
|
+
] }),
|
|
183
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-3 gap-6", children: [
|
|
184
|
+
/* @__PURE__ */ jsxs("div", { className: "lg:col-span-2 space-y-6", children: [
|
|
185
|
+
plugin.description && /* @__PURE__ */ jsxs(Card, { children: [
|
|
186
|
+
/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx(CardTitle, { children: t("common.description") }) }),
|
|
187
|
+
/* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: plugin.description }) })
|
|
188
|
+
] }),
|
|
189
|
+
fields.length > 0 ? /* @__PURE__ */ jsxs(Card, { children: [
|
|
190
|
+
/* @__PURE__ */ jsxs(CardHeader, { children: [
|
|
191
|
+
/* @__PURE__ */ jsxs(CardTitle, { className: "flex items-center gap-2", children: [
|
|
192
|
+
/* @__PURE__ */ jsx(Settings, { className: "h-5 w-5" }),
|
|
193
|
+
t("admin.nav.settings")
|
|
194
|
+
] }),
|
|
195
|
+
/* @__PURE__ */ jsx(CardDescription, { children: t("admin.plugins.settingsHint") })
|
|
196
|
+
] }),
|
|
197
|
+
/* @__PURE__ */ jsx(CardContent, { className: "space-y-6", children: fields.map(([key, field]) => /* @__PURE__ */ jsx("div", { className: "space-y-2", children: field.type === "boolean" ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
198
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: key, children: field.description ?? key }),
|
|
199
|
+
/* @__PURE__ */ jsx(
|
|
200
|
+
Switch,
|
|
201
|
+
{
|
|
202
|
+
id: key,
|
|
203
|
+
checked: Boolean(config[key] ?? field.default),
|
|
204
|
+
onCheckedChange: (checked) => handleConfigChange(key, checked)
|
|
205
|
+
}
|
|
206
|
+
)
|
|
207
|
+
] }) : field.enum ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
208
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: key, children: field.description ?? key }),
|
|
209
|
+
/* @__PURE__ */ jsxs(
|
|
210
|
+
Select,
|
|
211
|
+
{
|
|
212
|
+
value: String(config[key] ?? field.default ?? ""),
|
|
213
|
+
onValueChange: (value) => handleConfigChange(key, value),
|
|
214
|
+
children: [
|
|
215
|
+
/* @__PURE__ */ jsx(SelectTrigger, { id: key, children: /* @__PURE__ */ jsx(SelectValue, {}) }),
|
|
216
|
+
/* @__PURE__ */ jsx(SelectContent, { children: field.enum.map((option) => /* @__PURE__ */ jsx(
|
|
217
|
+
SelectItem,
|
|
218
|
+
{
|
|
219
|
+
value: String(option),
|
|
220
|
+
children: String(option)
|
|
221
|
+
},
|
|
222
|
+
String(option)
|
|
223
|
+
)) })
|
|
224
|
+
]
|
|
225
|
+
}
|
|
226
|
+
)
|
|
227
|
+
] }) : field.type === "number" || field.type === "integer" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
228
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: key, children: field.description ?? key }),
|
|
229
|
+
/* @__PURE__ */ jsx(
|
|
230
|
+
Input,
|
|
231
|
+
{
|
|
232
|
+
id: key,
|
|
233
|
+
type: "number",
|
|
234
|
+
value: String(config[key] ?? field.default ?? ""),
|
|
235
|
+
onChange: (e) => {
|
|
236
|
+
const parsed = parseFloat(e.target.value);
|
|
237
|
+
handleConfigChange(
|
|
238
|
+
key,
|
|
239
|
+
Number.isNaN(parsed) ? void 0 : parsed
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
)
|
|
244
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
245
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: key, children: field.description ?? key }),
|
|
246
|
+
/* @__PURE__ */ jsx(
|
|
247
|
+
Input,
|
|
248
|
+
{
|
|
249
|
+
id: key,
|
|
250
|
+
value: String(config[key] ?? field.default ?? ""),
|
|
251
|
+
onChange: (e) => handleConfigChange(key, e.target.value)
|
|
252
|
+
}
|
|
253
|
+
)
|
|
254
|
+
] }) }, key)) })
|
|
255
|
+
] }) : /* @__PURE__ */ jsxs(Card, { children: [
|
|
256
|
+
/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsxs(CardTitle, { className: "flex items-center gap-2", children: [
|
|
257
|
+
/* @__PURE__ */ jsx(Settings, { className: "h-5 w-5" }),
|
|
258
|
+
t("admin.nav.settings")
|
|
259
|
+
] }) }),
|
|
260
|
+
/* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-center py-4", children: t("admin.plugins.noSettings") }) })
|
|
261
|
+
] })
|
|
262
|
+
] }),
|
|
263
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
264
|
+
/* @__PURE__ */ jsxs(Card, { children: [
|
|
265
|
+
/* @__PURE__ */ jsxs(CardHeader, { children: [
|
|
266
|
+
/* @__PURE__ */ jsx(CardTitle, { children: t("admin.plugins.registeredHooks") }),
|
|
267
|
+
/* @__PURE__ */ jsx(CardDescription, { children: t("admin.plugins.registeredHooksHint") })
|
|
268
|
+
] }),
|
|
269
|
+
/* @__PURE__ */ jsx(CardContent, { children: plugin.hooks.length > 0 ? /* @__PURE__ */ jsx("div", { className: "space-y-2", children: plugin.hooks.map((hook, index) => /* @__PURE__ */ jsxs(
|
|
270
|
+
"div",
|
|
271
|
+
{
|
|
272
|
+
className: "flex items-center justify-between p-2 rounded-md bg-muted/50",
|
|
273
|
+
children: [
|
|
274
|
+
/* @__PURE__ */ jsx("code", { className: "text-sm", children: hook.name }),
|
|
275
|
+
hook.priority !== void 0 && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "text-xs", children: hook.priority })
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
index
|
|
279
|
+
)) }) : /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground text-center py-2", children: t("admin.plugins.noHooks") }) })
|
|
280
|
+
] }),
|
|
281
|
+
/* @__PURE__ */ jsxs(Card, { children: [
|
|
282
|
+
/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx(CardTitle, { children: t("common.information") }) }),
|
|
283
|
+
/* @__PURE__ */ jsxs(CardContent, { className: "space-y-3 text-sm", children: [
|
|
284
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
285
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "ID" }),
|
|
286
|
+
/* @__PURE__ */ jsxs("span", { className: "font-mono text-xs", children: [
|
|
287
|
+
plugin.id.slice(0, 8),
|
|
288
|
+
"..."
|
|
289
|
+
] })
|
|
290
|
+
] }),
|
|
291
|
+
/* @__PURE__ */ jsx(Separator, {}),
|
|
292
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
293
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("common.name") }),
|
|
294
|
+
/* @__PURE__ */ jsx("span", { className: "font-mono", children: plugin.name })
|
|
295
|
+
] }),
|
|
296
|
+
/* @__PURE__ */ jsx(Separator, {}),
|
|
297
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
298
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("admin.plugins.version") }),
|
|
299
|
+
/* @__PURE__ */ jsx("span", { children: plugin.version })
|
|
300
|
+
] }),
|
|
301
|
+
plugin.author && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
302
|
+
/* @__PURE__ */ jsx(Separator, {}),
|
|
303
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
304
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("common.author") }),
|
|
305
|
+
/* @__PURE__ */ jsx("span", { children: plugin.author })
|
|
306
|
+
] })
|
|
307
|
+
] }),
|
|
308
|
+
/* @__PURE__ */ jsx(Separator, {}),
|
|
309
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
310
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("admin.plugins.installedAt") }),
|
|
311
|
+
/* @__PURE__ */ jsx("span", { children: new Date(plugin.installed_at).toLocaleDateString("uk-UA") })
|
|
312
|
+
] }),
|
|
313
|
+
/* @__PURE__ */ jsx(Separator, {}),
|
|
314
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
315
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("admin.plugins.updatedAt") }),
|
|
316
|
+
/* @__PURE__ */ jsx("span", { children: new Date(plugin.updated_at).toLocaleDateString("uk-UA") })
|
|
317
|
+
] })
|
|
318
|
+
] })
|
|
319
|
+
] })
|
|
320
|
+
] })
|
|
321
|
+
] })
|
|
322
|
+
] });
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
export { PluginSettings };
|
|
326
|
+
//# sourceMappingURL=chunk-T2UW5EWA.js.map
|
|
327
|
+
//# sourceMappingURL=chunk-T2UW5EWA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/admin/lib/pluginSettingsFields.ts","../src/admin/pages/PluginSettings.tsx"],"names":[],"mappings":"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","file":"chunk-T2UW5EWA.js","sourcesContent":["import { z } from 'zod';\nimport type { ZodObject, ZodRawShape } from 'zod';\n\n/**\n * Проєкція JSON Schema, яку рендерить форма налаштувань плагіна. Джерело —\n * `z.toJSONSchema` від схеми з `definePlugin({ settings })`: конвенція SDK —\n * `.describe()` дає підпис поля, `z.enum` стає select-ом, `.default()` —\n * значенням за замовчуванням.\n */\nexport interface SettingsField {\n type?: string;\n enum?: unknown[];\n default?: unknown;\n description?: string;\n}\n\n/**\n * Поля форми зі Zod-схеми. `z.toJSONSchema` кидає на непредставних типах\n * (z.date(), .transform(), z.custom) — а `validatePluginModule` перевіряє\n * лише «схожість на Zod-схему», тож сюди може доїхати легальна для Zod, але\n * непредставна для форми схема. Це не привід валити сторінку адмінки\n * (дух §8 «ніяких падінь від плагіна»): warn + «немає налаштувань».\n */\nexport function settingsFields(\n schema: ZodObject<ZodRawShape> | undefined,\n): [string, SettingsField][] {\n if (!schema) return [];\n try {\n const jsonSchema = z.toJSONSchema(schema) as {\n properties?: Record<string, SettingsField>;\n };\n return Object.entries(jsonSchema.properties ?? {});\n } catch (error) {\n console.warn(\n '[admin] settings-схема плагіна непредставна у формі:',\n error instanceof Error ? error.message : error,\n );\n return [];\n }\n}\n","import { useParams, useNavigate } from '@tanstack/react-router';\nimport { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useSupabaseClient } from 'simplycms/supabase/SupabaseProvider';\nimport { useT } from 'simplycms/i18n';\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 {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from 'simplycms/ui/card';\nimport { Badge } from 'simplycms/ui/badge';\nimport { Separator } from 'simplycms/ui/separator';\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 {\n ArrowLeft,\n Loader2,\n Save,\n Power,\n PowerOff,\n Plug,\n Settings,\n} from 'lucide-react';\nimport type { ZodObject, ZodRawShape } from 'zod';\nimport { getRegisteredPluginModules } from 'simplycms/plugins';\nimport { parsePlugin, type Plugin } from 'simplycms/plugins/types';\nimport { adminPath } from '../lib/adminLinks';\nimport { settingsFields } from '../lib/pluginSettingsFields';\nimport { useState, useEffect, useMemo } from 'react';\nimport { usePluginToggle } from '../hooks/usePluginToggle';\n\n/**\n * Схема налаштувань береться з зареєстрованого МОДУЛЯ плагіна\n * (`bootstrapPlugins` наповнює реєстр із конфіга магазину), а не з БД чи\n * manifest.json: Zod-схема — код, вона несеріалізовна. Наслідок §8: якщо\n * плагін активний у БД, але модуль викинули з білда, — форма недоступна,\n * сторінка показує «немає налаштувань».\n *\n * Без useMemo навмисно: bootstrap наповнює реєстр асинхронно ПІСЛЯ першого\n * рендера, і мемоїзація по pluginName закешувала б «модуля немає» назавжди\n * (знахідка рев'ю Фази 3). Читання реєстру на кожен рендер — копійки, так\n * само робить Plugins.tsx.\n */\nfunction readSettingsSchema(\n pluginName: string | undefined,\n): ZodObject<ZodRawShape> | undefined {\n if (!pluginName) return undefined;\n const module = getRegisteredPluginModules().get(pluginName);\n const definition = (\n module as { definition?: { settings?: ZodObject<ZodRawShape> } } | undefined\n )?.definition;\n return definition?.settings;\n}\n\nexport default function PluginSettings() {\n const t = useT();\n const supabase = useSupabaseClient();\n const { pluginId } = useParams({ strict: false }) as { pluginId: string };\n const navigate = useNavigate();\n const { toast } = useToast();\n const queryClient = useQueryClient();\n const { togglePlugin, togglingPlugin } = usePluginToggle();\n\n const [config, setConfig] = useState<Record<string, unknown>>({});\n\n const { data: plugin, isLoading } = useQuery({\n queryKey: ['plugin', pluginId],\n queryFn: async () => {\n const { data, error } = await supabase\n .from('plugins')\n .select('*')\n .eq('id', pluginId)\n .single();\n if (error) throw error;\n return parsePlugin({\n ...data,\n is_active: data.is_active ?? false,\n } as Plugin);\n },\n });\n\n const schema = readSettingsSchema(plugin?.name);\n const fields = useMemo(() => settingsFields(schema), [schema]);\n\n useEffect(() => {\n if (plugin?.config) {\n setConfig(plugin.config);\n }\n }, [plugin]);\n\n const saveMutation = useMutation({\n mutationFn: async (newConfig: Record<string, unknown>) => {\n const { error } = await supabase\n .from('plugins')\n .update({\n config: newConfig as unknown as Record<string, never>,\n updated_at: new Date().toISOString(),\n })\n .eq('id', pluginId);\n if (error) throw error;\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['plugin', pluginId] });\n toast({ title: t('common.settingsSaved') });\n },\n onError: (error) => {\n toast({\n variant: 'destructive',\n title: t('common.error'),\n description: error.message,\n });\n },\n });\n\n const handleConfigChange = (key: string, value: unknown) => {\n setConfig((prev) => ({ ...prev, [key]: value }));\n };\n\n const handleSave = () => {\n if (!schema) return;\n // Zod валідує І матеріалізує дефолти: у БД їде повний config, а не\n // лише торкнуті поля.\n const parsed = schema.safeParse(config);\n if (!parsed.success) {\n toast({\n variant: 'destructive',\n title: t('common.error'),\n description: parsed.error.issues\n .map((issue) => `${issue.path.join('.')}: ${issue.message}`)\n .join('; '),\n });\n return;\n }\n saveMutation.mutate(parsed.data as Record<string, unknown>);\n };\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center h-64\">\n <Loader2 className=\"h-8 w-8 animate-spin\" />\n </div>\n );\n }\n\n if (!plugin) {\n return (\n <div className=\"text-center py-12\">\n <p className=\"text-muted-foreground\">{t('admin.plugins.notFound')}</p>\n <Button\n variant=\"link\"\n onClick={() => navigate({ to: adminPath('plugins') })}\n >\n {t('admin.plugins.backToList')}\n </Button>\n </div>\n );\n }\n\n const isToggling = togglingPlugin === plugin.name;\n\n return (\n <div className=\"space-y-6\">\n {/* Header */}\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => navigate({ to: adminPath('plugins') })}\n >\n <ArrowLeft className=\"h-5 w-5\" />\n </Button>\n <div className=\"flex items-center gap-3\">\n <div className=\"p-2 rounded-lg bg-primary/10\">\n <Plug className=\"h-6 w-6 text-primary\" />\n </div>\n <div>\n <div className=\"flex items-center gap-2\">\n <h1 className=\"text-3xl font-bold\">{plugin.display_name}</h1>\n <Badge variant={plugin.is_active ? 'default' : 'secondary'}>\n {plugin.is_active\n ? t('common.activeN')\n : t('admin.sections.inactive')}\n </Badge>\n </div>\n <p className=\"text-muted-foreground\">\n v{plugin.version} {plugin.author && `• ${plugin.author}`}\n </p>\n </div>\n </div>\n </div>\n <div className=\"flex items-center gap-2\">\n <Button\n variant={plugin.is_active ? 'outline' : 'default'}\n onClick={() =>\n // Єдиний механізм перемикання — usePluginToggle (БД + реєстр\n // хуків атомарно); прямий supabase.update лишав би HookRegistry\n // незмінним до перезавантаження сторінки.\n togglePlugin(\n { name: plugin.name, activate: !plugin.is_active },\n {\n onSettled: () => {\n void queryClient.invalidateQueries({\n queryKey: ['plugin', pluginId],\n });\n },\n },\n )\n }\n disabled={isToggling}\n >\n {isToggling ? (\n <Loader2 className=\"h-4 w-4 mr-2 animate-spin\" />\n ) : plugin.is_active ? (\n <PowerOff className=\"h-4 w-4 mr-2\" />\n ) : (\n <Power className=\"h-4 w-4 mr-2\" />\n )}\n {plugin.is_active\n ? t('admin.plugins.deactivate')\n : t('common.activate')}\n </Button>\n {fields.length > 0 && (\n <Button onClick={handleSave} disabled={saveMutation.isPending}>\n {saveMutation.isPending ? (\n <Loader2 className=\"h-4 w-4 mr-2 animate-spin\" />\n ) : (\n <Save className=\"h-4 w-4 mr-2\" />\n )}\n {t('common.save')}\n </Button>\n )}\n </div>\n </div>\n\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n {/* Main content */}\n <div className=\"lg:col-span-2 space-y-6\">\n {/* Description */}\n {plugin.description && (\n <Card>\n <CardHeader>\n <CardTitle>{t('common.description')}</CardTitle>\n </CardHeader>\n <CardContent>\n <p className=\"text-muted-foreground\">{plugin.description}</p>\n </CardContent>\n </Card>\n )}\n\n {/* Settings */}\n {fields.length > 0 ? (\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <Settings className=\"h-5 w-5\" />\n {t('admin.nav.settings')}\n </CardTitle>\n <CardDescription>\n {t('admin.plugins.settingsHint')}\n </CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-6\">\n {fields.map(([key, field]) => (\n <div key={key} className=\"space-y-2\">\n {field.type === 'boolean' ? (\n <div className=\"flex items-center justify-between\">\n <Label htmlFor={key}>{field.description ?? key}</Label>\n <Switch\n id={key}\n checked={Boolean(config[key] ?? field.default)}\n onCheckedChange={(checked) =>\n handleConfigChange(key, checked)\n }\n />\n </div>\n ) : field.enum ? (\n <>\n <Label htmlFor={key}>{field.description ?? key}</Label>\n <Select\n value={String(config[key] ?? field.default ?? '')}\n onValueChange={(value) =>\n handleConfigChange(key, value)\n }\n >\n <SelectTrigger id={key}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {field.enum.map((option) => (\n <SelectItem\n key={String(option)}\n value={String(option)}\n >\n {String(option)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </>\n ) : field.type === 'number' || field.type === 'integer' ? (\n <>\n <Label htmlFor={key}>{field.description ?? key}</Label>\n <Input\n id={key}\n type=\"number\"\n value={String(config[key] ?? field.default ?? '')}\n onChange={(e) => {\n // Порожній інпут → зняти ключ (дефолт матеріалізує\n // safeParse при збереженні), а не писати NaN.\n const parsed = parseFloat(e.target.value);\n handleConfigChange(\n key,\n Number.isNaN(parsed) ? undefined : parsed,\n );\n }}\n />\n </>\n ) : (\n <>\n <Label htmlFor={key}>{field.description ?? key}</Label>\n <Input\n id={key}\n value={String(config[key] ?? field.default ?? '')}\n onChange={(e) =>\n handleConfigChange(key, e.target.value)\n }\n />\n </>\n )}\n </div>\n ))}\n </CardContent>\n </Card>\n ) : (\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <Settings className=\"h-5 w-5\" />\n {t('admin.nav.settings')}\n </CardTitle>\n </CardHeader>\n <CardContent>\n <p className=\"text-muted-foreground text-center py-4\">\n {t('admin.plugins.noSettings')}\n </p>\n </CardContent>\n </Card>\n )}\n </div>\n\n {/* Sidebar */}\n <div className=\"space-y-6\">\n {/* Hooks */}\n <Card>\n <CardHeader>\n <CardTitle>{t('admin.plugins.registeredHooks')}</CardTitle>\n <CardDescription>\n {t('admin.plugins.registeredHooksHint')}\n </CardDescription>\n </CardHeader>\n <CardContent>\n {plugin.hooks.length > 0 ? (\n <div className=\"space-y-2\">\n {plugin.hooks.map((hook, index) => (\n <div\n key={index}\n className=\"flex items-center justify-between p-2 rounded-md bg-muted/50\"\n >\n <code className=\"text-sm\">{hook.name}</code>\n {hook.priority !== undefined && (\n <Badge variant=\"outline\" className=\"text-xs\">\n {hook.priority}\n </Badge>\n )}\n </div>\n ))}\n </div>\n ) : (\n <p className=\"text-sm text-muted-foreground text-center py-2\">\n {t('admin.plugins.noHooks')}\n </p>\n )}\n </CardContent>\n </Card>\n\n {/* Info */}\n <Card>\n <CardHeader>\n <CardTitle>{t('common.information')}</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3 text-sm\">\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">ID</span>\n <span className=\"font-mono text-xs\">\n {plugin.id.slice(0, 8)}...\n </span>\n </div>\n <Separator />\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">\n {t('common.name')}\n </span>\n <span className=\"font-mono\">{plugin.name}</span>\n </div>\n <Separator />\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">\n {t('admin.plugins.version')}\n </span>\n <span>{plugin.version}</span>\n </div>\n {plugin.author && (\n <>\n <Separator />\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">\n {t('common.author')}\n </span>\n <span>{plugin.author}</span>\n </div>\n </>\n )}\n <Separator />\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">\n {t('admin.plugins.installedAt')}\n </span>\n <span>\n {new Date(plugin.installed_at).toLocaleDateString('uk-UA')}\n </span>\n </div>\n <Separator />\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">\n {t('admin.plugins.updatedAt')}\n </span>\n <span>\n {new Date(plugin.updated_at).toLocaleDateString('uk-UA')}\n </span>\n </div>\n </CardContent>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"]}
|