@ozdao/prometheus-framework 0.2.323 → 0.2.325
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Media-BjSScxrV.js +1 -0
- package/dist/Media-CCVndMgQ.mjs +111 -0
- package/dist/main-BBmjvE8i.js +92 -0
- package/dist/main-BCskq3d2.mjs +13068 -0
- package/dist/main.css +1 -1
- package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +9 -11
- package/dist/prometheus-framework/src/components/Button/Button.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/Button/Button.vue.js +10 -12
- package/dist/prometheus-framework/src/components/Button/Button.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.cjs +37 -9
- package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.js +37 -9
- package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.js.map +1 -1
- package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.cjs +27 -18
- package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.js +27 -18
- package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs +93 -0
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js +94 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs +0 -93
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js +1 -94
- package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js.map +1 -1
- package/dist/prometheus-framework/src/components/EmptyState/EmptyState.vue.cjs +2 -2
- package/dist/prometheus-framework/src/components/EmptyState/EmptyState.vue.js +2 -2
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +7 -3
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +7 -3
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/Media/Media.vue.cjs +154 -0
- package/dist/prometheus-framework/src/components/Media/Media.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/components/Media/Media.vue.js +154 -0
- package/dist/prometheus-framework/src/components/Media/Media.vue.js.map +1 -0
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs +1 -4
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.js +1 -4
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs +68 -37
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.js +69 -38
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js +3 -2
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.cjs +0 -2
- package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.js +4 -6
- package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +118 -3
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +119 -4
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +112 -163
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +119 -170
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.cjs +0 -17
- package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.js +2 -19
- package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.js.map +1 -1
- package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +18 -78
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +23 -83
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +5 -5
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +34 -25
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +35 -26
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs +45 -38
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js +56 -49
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs +221 -50
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js +225 -54
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.cjs +98 -0
- package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.js +98 -0
- package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.cjs +9 -9
- package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.js +9 -9
- package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/events.client.cjs +1 -0
- package/dist/prometheus-framework/src/modules/events/events.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/events.client.js +1 -0
- package/dist/prometheus-framework/src/modules/events/events.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/router/events.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/router/events.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/store/events.cjs +2 -1
- package/dist/prometheus-framework/src/modules/events/store/events.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/store/events.js +2 -1
- package/dist/prometheus-framework/src/modules/events/store/events.js.map +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -4
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.cjs +4 -4
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +11 -5
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +11 -5
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.cjs +100 -0
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.js +100 -0
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +6 -7
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +6 -7
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.cjs +1 -6
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.js +1 -6
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.cjs +30 -14
- package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.js +30 -14
- package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.js.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.cjs +33 -0
- package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.js +33 -0
- package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.cjs +4 -17
- package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.js +4 -17
- package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.cjs +34 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.js +34 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.cjs +27 -17
- package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.js +28 -18
- package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/icons.client.cjs +2 -0
- package/dist/prometheus-framework/src/modules/icons/icons.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/icons.client.js +50 -48
- package/dist/prometheus-framework/src/modules/icons/icons.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.cjs +67 -2
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.js +67 -2
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.js.map +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.js +7 -7
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +821 -789
- package/dist/prometheus-framework/src/modules/pages/pages.client.js +821 -789
- package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs +4 -15
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js +4 -15
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +4 -4
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs +24 -30
- package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js +25 -31
- package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs +236 -13
- package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js +239 -16
- package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +60 -14
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +67 -21
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/products.client.cjs +0 -3
- package/dist/prometheus-framework/src/modules/products/products.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/products.client.js +48 -51
- package/dist/prometheus-framework/src/modules/products/products.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
- package/dist/prometheus-framework.cjs.js +1 -92
- package/dist/prometheus-framework.es.js +36 -13005
- package/package.json +1 -1
- package/src/components/Button/Button.vue +43 -40
- package/src/components/DatePicker/Calendar.vue +15 -7
- package/src/components/DatePicker/DatePicker.vue +50 -40
- package/src/components/EmptyState/EmptyState.vue +2 -2
- package/src/components/Feed/Feed.vue +6 -2
- package/src/components/Media/Media.vue +211 -0
- package/src/components/Popup/Popup.vue +19 -21
- package/src/components/Slider/Slider.vue +57 -21
- package/src/components/index.js +1 -0
- package/src/main.js +3 -1
- package/src/modules/auth/views/components/pages/Profile.vue +2 -1
- package/src/modules/backoffice/backoffice.client.js +0 -2
- package/src/modules/backoffice/components/pages/Dashboard.vue +95 -2
- package/src/modules/backoffice/components/partials/Sidebar.vue +115 -132
- package/src/modules/backoffice/router/backoffice.js +0 -14
- package/src/modules/community/components/layouts/Community.vue +1 -52
- package/src/modules/events/components/blocks/CardEvent.vue +28 -22
- package/src/modules/events/components/pages/Event.vue +11 -8
- package/src/modules/events/components/pages/Events.vue +241 -56
- package/src/modules/events/components/sections/EventsHot.vue +93 -0
- package/src/modules/events/components/sections/FeaturedEvents.vue +17 -15
- package/src/modules/events/components/sections/List.vue +1 -1
- package/src/modules/events/events.client.js +1 -0
- package/src/modules/events/router/events.js +0 -4
- package/src/modules/events/store/events.js +1 -0
- package/src/modules/globals/views/components/layouts/App.vue +4 -5
- package/src/modules/globals/views/components/layouts/Client.vue +8 -2
- package/src/modules/globals/views/components/partials/CitySelection.vue +88 -0
- package/src/modules/globals/views/components/partials/Header.vue +3 -3
- package/src/modules/globals/views/components/partials/Navigation.vue +75 -20
- package/src/modules/globals/views/components/partials/Sidebar.vue +2 -9
- package/src/modules/globals/views/mixins/mixins.js +56 -35
- package/src/modules/governance/DESCRIPTION.MD +238 -0
- package/src/modules/governance/controllers/factories/initiatives.controller.js +3 -1
- package/src/modules/governance/controllers/routes/initiatives.routes.js +1 -1
- package/src/modules/governance/controllers/routes/tasks.routes.js +1 -1
- package/src/modules/governance/controllers/routes/votes.routes.js +1 -1
- package/src/modules/governance/controllers/routes/votings.routes.js +1 -1
- package/src/modules/governance/governance.client.js +35 -35
- package/src/modules/governance/governance.server.js +8 -8
- package/src/modules/governance/models/milestone.model.js +98 -0
- package/src/modules/governance/models/task.model.js +39 -7
- package/src/modules/governance/views/components/pages/Initiative.vue +1 -1
- package/src/modules/governance/views/components/pages/InitiativeCreate.vue +2 -2
- package/src/modules/governance/views/components/pages/Initiatives.vue +3 -2
- package/src/modules/governance/views/components/pages/Task.vue +1 -1
- package/src/modules/governance/views/components/pages/TaskCreate.vue +2 -2
- package/src/modules/governance/views/components/pages/Tasks.vue +2 -2
- package/src/modules/governance/views/components/pages/Voting.vue +3 -3
- package/src/modules/governance/views/components/pages/VotingCreate.vue +2 -2
- package/src/modules/governance/views/components/pages/Votings.vue +2 -2
- package/src/modules/governance/views/components/sections/VoteForm.vue +1 -1
- package/src/modules/governance/views/router/goverance.router.js +263 -0
- package/src/modules/icons/actions/IconShopcartAdd.vue +15 -0
- package/src/modules/icons/entities/IconCommunity.vue +4 -6
- package/src/modules/icons/entities/IconPayments.vue +14 -0
- package/src/modules/icons/entities/IconPrice.vue +12 -3
- package/src/modules/icons/icons.client.js +5 -0
- package/src/modules/icons/logos/Logotype.vue +50 -17
- package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -0
- package/src/modules/orders/store/shopcart.js +100 -1
- package/src/modules/organizations/components/pages/Organizations.vue +1 -1
- package/src/modules/products/components/blocks/CardProduct.vue +5 -11
- package/src/modules/products/components/blocks/ImagesThumbnails.vue +4 -4
- package/src/modules/products/components/elements/Price.vue +33 -56
- package/src/modules/products/components/pages/Product.vue +235 -13
- package/src/modules/products/components/sections/SectionProduct.vue +50 -25
- package/src/modules/products/products.client.js +0 -4
- package/src/styles/base/all.scss +15 -16
- package/src/styles/config.scss +2 -2
- package/src/modules/backoffice/components/layouts/Backoffice.vue +0 -55
- package/src/modules/events/components/sections/SectionLineup.vue +0 -42
- package/src/modules/events/components/sections/SectionMainGuest.vue +0 -95
- package/src/modules/events/components/sections/SectionPreviousEvents.vue +0 -117
- package/src/modules/events/components/sections/SectionSpecialGuests.vue +0 -46
- package/src/modules/governance/controllers/factories/projects.controller.js +0 -65
- package/src/modules/governance/controllers/routes/projects.routes.js +0 -34
- package/src/modules/governance/models/project.model.js +0 -26
package/package.json
CHANGED
@@ -51,51 +51,53 @@
|
|
51
51
|
const finished = ref(false);
|
52
52
|
|
53
53
|
async function Submit() {
|
54
|
+
console.log('click')
|
55
|
+
|
54
56
|
button.value.style['pointer-events'] = 'none';
|
55
57
|
error.value = null;
|
56
58
|
loading.value = true;
|
57
59
|
|
58
60
|
// Функция для сброса состояния кнопки.
|
59
61
|
const resetButton = () => {
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
62
|
+
if (button.value) {
|
63
|
+
button.value.classList.replace('bg-second', 'bg-main');
|
64
|
+
button.value.style.pointerEvents = 'auto';
|
65
|
+
loading.value = false;
|
66
|
+
finished.value = false;
|
67
|
+
error.value = null;
|
68
|
+
}
|
67
69
|
};
|
68
70
|
|
69
71
|
try {
|
70
|
-
|
72
|
+
await props.submit();
|
71
73
|
|
72
|
-
|
74
|
+
button.value.classList.replace('bg-main', 'bg-second');
|
73
75
|
|
74
|
-
|
76
|
+
loading.value = false;
|
75
77
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
78
|
+
// Используем функцию сброса состояния кнопки здесь.
|
79
|
+
if (props.showSucces) {
|
80
|
+
finished.value = true;
|
81
|
+
setTimeout(resetButton, 500);
|
82
|
+
} else {
|
83
|
+
resetButton();
|
84
|
+
}
|
83
85
|
|
84
|
-
|
85
|
-
|
86
|
+
// Если есть callback, мы также установим таймер для его вызова.
|
87
|
+
if (props.callback) setTimeout(() => props.callback(), props.callbackDelay);
|
86
88
|
|
87
89
|
} catch (err) {
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
90
|
+
emits('error',err)
|
91
|
+
// Если возникла ошибка, мы изменяем стили и устанавливаем сообщение об ошибке.
|
92
|
+
button.value.classList.replace('bg-main', 'bg-fourth-nano');
|
93
|
+
error.value = props.error;
|
94
|
+
|
95
|
+
// После задержки снова сбрасываем состояние кнопки.
|
96
|
+
setTimeout(() => {
|
97
|
+
resetButton();
|
98
|
+
// Так как класс кнопки был изменен, вернем его в исходное состояние.
|
99
|
+
button.value.classList.replace('bg-fourth-nano', 'bg-main');
|
100
|
+
}, 1330);
|
99
101
|
}
|
100
102
|
}
|
101
103
|
|
@@ -105,9 +107,9 @@
|
|
105
107
|
<button @click.stop="Submit" :disabled="validation" ref="button" class="button">
|
106
108
|
<transition name="FromTop" >
|
107
109
|
<!-- Slot -->
|
108
|
-
<
|
110
|
+
<template v-if="!loading && !error && !finished || !showLoader"><slot></slot></template>
|
109
111
|
<!-- Loading Circle Animation -->
|
110
|
-
<
|
112
|
+
<template v-else-if="loading && !error && showLoader"><Loader class="pos-relative pos-t-0 pos-l-0 loading"/></template>
|
111
113
|
<!-- <Loader v-else-if="loading && !error && showLoader"/> -->
|
112
114
|
<!-- Success -->
|
113
115
|
<span v-else-if="finished && showSucces" class="t-semi loading t-black">{{text.success}}</span>
|
@@ -121,13 +123,7 @@
|
|
121
123
|
</template>
|
122
124
|
|
123
125
|
|
124
|
-
<style lang="scss">
|
125
|
-
button[disabled] {
|
126
|
-
background: grey;
|
127
|
-
&:hover {
|
128
|
-
background: grey;
|
129
|
-
}
|
130
|
-
}
|
126
|
+
<style lang="scss" >
|
131
127
|
|
132
128
|
.FromTop-enter-active,
|
133
129
|
.FromTop-leave-active {
|
@@ -144,9 +140,16 @@
|
|
144
140
|
transition: all 0.5s ease;
|
145
141
|
}
|
146
142
|
|
143
|
+
button[disabled] {
|
144
|
+
opacity: 0.75 !important;
|
145
|
+
pointer-events: none !important;
|
146
|
+
cursor: default !important;
|
147
|
+
color: rgba(var(--black), 0.5) !important;
|
148
|
+
background: rgba(var(--grey), 1) !important;
|
149
|
+
}
|
150
|
+
|
147
151
|
.button {
|
148
152
|
display: flex;
|
149
|
-
width: fit-content;
|
150
153
|
|
151
154
|
padding: 1rem 1.75rem;
|
152
155
|
border-radius: 3rem;
|
@@ -1,15 +1,23 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="calendar">
|
3
3
|
<div v-if="allowRange" class="br-b br-solid br-grey-transp-25 gap-thin flex flex-nowrap pd-thin">
|
4
|
-
<button @click="selectToday" class="font-second t-nowrap pd-thin bg-
|
5
|
-
<button @click="selectLastWeek" class="font-second t-nowrap pd-thin bg-
|
6
|
-
<button @click="selectLastMonth" class="font-second t-nowrap pd-thin bg-
|
7
|
-
<button @click="selectLastYear" class="font-second t-nowrap pd-thin bg-
|
4
|
+
<button @click="selectToday" class="font-second t-nowrap pd-thin bg-white radius-small" >Today</button>
|
5
|
+
<button @click="selectLastWeek" class="font-second t-nowrap pd-thin bg-white radius-small">Last Week</button>
|
6
|
+
<button @click="selectLastMonth" class="font-second t-nowrap pd-thin bg-white radius-small">Last Month</button>
|
7
|
+
<button @click="selectLastYear" class="font-second t-nowrap pd-thin bg-white radius-small">All time</button>
|
8
8
|
</div>
|
9
9
|
<div class="pd-thin flex flex-nowrap flex-v-center flex-justify-between">
|
10
|
-
<button @click.stop="prevMonth" class="aspect-
|
10
|
+
<button @click.stop="prevMonth" class="aspect-1x1 h-100 pd-thin bg-white radius-small">
|
11
|
+
<svg class="h-100" xmlns="http://www.w3.org/2000/svg" width="12" height="20" viewBox="0 0 12 20" fill="none">
|
12
|
+
<path d="M0.610352 10.0068C0.615885 9.81315 0.654622 9.63607 0.726562 9.47559C0.798503 9.3151 0.90918 9.16016 1.05859 9.01074L9.37598 0.958984C9.61393 0.721029 9.90723 0.602051 10.2559 0.602051C10.4883 0.602051 10.6986 0.657389 10.8867 0.768066C11.0804 0.878743 11.2326 1.02816 11.3433 1.21631C11.4595 1.40446 11.5176 1.61475 11.5176 1.84717C11.5176 2.19027 11.3875 2.49186 11.1274 2.75195L3.60693 9.99854L11.1274 17.2534C11.3875 17.519 11.5176 17.8206 11.5176 18.1582C11.5176 18.3962 11.4595 18.6092 11.3433 18.7974C11.2326 18.9855 11.0804 19.1349 10.8867 19.2456C10.6986 19.3618 10.4883 19.4199 10.2559 19.4199C9.90723 19.4199 9.61393 19.2982 9.37598 19.0547L1.05859 11.0029C0.903646 10.8535 0.790202 10.6986 0.718262 10.5381C0.646322 10.3721 0.610352 10.195 0.610352 10.0068Z" fill="#007AFF"/>
|
13
|
+
</svg>
|
14
|
+
</button>
|
11
15
|
<span class="t-semi ">{{ monthYear }}</span>
|
12
|
-
<button @click.stop="nextMonth" class="aspect-
|
16
|
+
<button @click.stop="nextMonth" class="aspect-1x1 h-100 pd-thin bg-white radius-small" >
|
17
|
+
<svg class="h-100" xmlns="http://www.w3.org/2000/svg" width="11" height="20" viewBox="0 0 11 20" fill="none">
|
18
|
+
<path d="M10.9072 10.0151C10.9017 10.2088 10.863 10.3859 10.791 10.5464C10.7191 10.7069 10.6084 10.8618 10.459 11.0112L2.1416 19.063C1.90365 19.3009 1.61035 19.4199 1.26172 19.4199C1.0293 19.4199 0.81901 19.3646 0.630859 19.2539C0.437175 19.1432 0.284994 18.9938 0.174316 18.8057C0.0581055 18.6175 8.85326e-08 18.4072 1.08852e-07 18.1748C1.38846e-07 17.8317 0.130046 17.5301 0.390137 17.27L7.91065 10.0234L0.390138 2.76855C0.130047 2.50293 1.5053e-06 2.20133 1.53481e-06 1.86377C1.55561e-06 1.62581 0.058107 1.41276 0.174318 1.22461C0.284995 1.03646 0.437176 0.887043 0.630861 0.776366C0.819012 0.660155 1.0293 0.60205 1.26172 0.60205C1.61035 0.60205 1.90365 0.723795 2.1416 0.967284L10.459 9.01904C10.6139 9.16846 10.7274 9.3234 10.7993 9.48389C10.8713 9.6499 10.9072 9.82699 10.9072 10.0151Z" fill="#007AFF"/>
|
19
|
+
</svg>
|
20
|
+
</button>
|
13
21
|
</div>
|
14
22
|
|
15
23
|
<div class="pd-thin calendar__body">
|
@@ -23,7 +31,7 @@
|
|
23
31
|
v-for="day in daysInMonth"
|
24
32
|
:key="day.date"
|
25
33
|
:class="[
|
26
|
-
'flex flex-center cursor-pointer aspect-
|
34
|
+
'flex flex-center cursor-pointer aspect-1x1 radius-small',
|
27
35
|
{ 'bg-main t-white': day.isToday },
|
28
36
|
{ 'calendar__date--selected': isSelected(day.date) },
|
29
37
|
{ 'calendar__date--range': isInRange(day.date) },
|
@@ -4,26 +4,26 @@
|
|
4
4
|
class="w-100 scroller o-scroll scroll-snap-type-x-mandatory scroll-pd-regular scroll-hide flex-nowrap flex"
|
5
5
|
ref="scrollContainer"
|
6
6
|
>
|
7
|
-
<div
|
8
|
-
v-for="date in dates"
|
9
|
-
:key="date.toString()"
|
7
|
+
<div
|
8
|
+
v-for="date in dates"
|
9
|
+
:key="date.toString()"
|
10
10
|
@click="selectDate(date)"
|
11
11
|
:class="{
|
12
|
-
'selected': selectedDate.toDateString() === date.toDateString(),
|
13
|
-
|
12
|
+
'selected': selectedDate && selectedDate.toDateString() === date.toDateString(),
|
13
|
+
'highlighted': isHighlighted(date)
|
14
14
|
}"
|
15
|
-
|
15
|
+
class="cursor-pointer scroll-snap-align-start mn-r-small mn-l-small flex-column flex-center flex"
|
16
16
|
>
|
17
|
-
<span
|
18
|
-
class="t-transp"
|
19
|
-
>
|
17
|
+
<span class="t-transp">
|
20
18
|
{{ dayLetter(date) }}
|
21
19
|
</span>
|
22
20
|
<span
|
23
21
|
:class="{
|
24
|
-
|
22
|
+
'bg-main': selectedDate && selectedDate.toDateString() === date.toDateString(),
|
23
|
+
'br-1px br-solid br-main':isHighlighted(date),
|
25
24
|
}"
|
26
|
-
class="transition-ease-in-out t-semi flex-center flex radius-big i-semi day-number"
|
25
|
+
class="transition-ease-in-out t-semi flex-center flex radius-big i-semi day-number"
|
26
|
+
>
|
27
27
|
{{ date.getDate() }}
|
28
28
|
</span>
|
29
29
|
</div>
|
@@ -35,66 +35,76 @@
|
|
35
35
|
import { ref, onMounted, defineProps, defineEmits } from 'vue';
|
36
36
|
|
37
37
|
const emit = defineEmits();
|
38
|
-
const props = defineProps(['date','locale']);
|
38
|
+
const props = defineProps(['date', 'options','locale']);
|
39
39
|
|
40
40
|
const scrollContainer = ref(null);
|
41
|
-
let baseDate;
|
42
41
|
|
43
|
-
//
|
42
|
+
// Initialize base date for generating the date range
|
43
|
+
const baseDate = new Date();
|
44
|
+
baseDate.setHours(0, 0, 0, 0);
|
45
|
+
|
46
|
+
// Initialize selectedDate as null or with provided date
|
47
|
+
const selectedDate = ref(null);
|
48
|
+
|
44
49
|
if (props.date) {
|
45
50
|
const day = parseInt(props.date.substring(0, 2));
|
46
|
-
const month = parseInt(props.date.substring(2, 4)) - 1;
|
51
|
+
const month = parseInt(props.date.substring(2, 4)) - 1;
|
47
52
|
const year = parseInt(props.date.substring(4));
|
48
|
-
baseDate = new Date(year, month, day);
|
49
|
-
console.log('Data' + baseDate)
|
50
|
-
} else {
|
51
|
-
baseDate = new Date();
|
52
|
-
console.log('No data' + baseDate)
|
53
|
-
}
|
54
53
|
|
55
|
-
|
54
|
+
selectedDate.value = new Date(year, month, day);
|
55
|
+
selectedDate.value.setHours(0, 0, 0, 0);
|
56
|
+
}
|
56
57
|
|
57
|
-
const
|
58
|
-
const dates = generateDates(baseDate, 30); // 30 дней
|
58
|
+
const dates = generateDates(baseDate, props.options.dateEnd || 30);
|
59
59
|
|
60
60
|
onMounted(() => {
|
61
61
|
if (scrollContainer.value) {
|
62
|
-
const target = scrollContainer.value.getElementsByClassName('selected')[0] ||
|
62
|
+
const target = scrollContainer.value.getElementsByClassName('selected')[0] ||
|
63
|
+
scrollContainer.value.getElementsByClassName('bg-main')[0] ||
|
64
|
+
scrollContainer.value.getElementsByClassName('highlighted')[0];
|
63
65
|
if (target) {
|
64
|
-
scrollContainer.value.scrollLeft =
|
65
|
-
|
66
|
+
scrollContainer.value.scrollLeft = target.offsetLeft -
|
67
|
+
scrollContainer.value.offsetWidth / 2 + target.offsetWidth / 2;
|
66
68
|
}
|
67
69
|
}
|
68
70
|
});
|
69
71
|
|
70
72
|
function selectDate(date) {
|
71
|
-
selectedDate.value
|
72
|
-
|
73
|
-
|
73
|
+
if (selectedDate.value && selectedDate.value.toDateString() === date.toDateString()) {
|
74
|
+
// If clicking the same date, reset selection
|
75
|
+
selectedDate.value = null;
|
76
|
+
emit('update:date', null);
|
77
|
+
} else {
|
78
|
+
// Select new date
|
79
|
+
selectedDate.value = date;
|
80
|
+
const formattedDate = formatDateForRouter(date);
|
81
|
+
emit('update:date', formattedDate);
|
82
|
+
}
|
74
83
|
}
|
75
84
|
|
85
|
+
function isHighlighted(date) {
|
86
|
+
return selectedDate.value === null && date.toDateString() === baseDate.toDateString();
|
87
|
+
}
|
76
88
|
|
77
89
|
function formatDateForRouter(date) {
|
78
|
-
return `${date.getDate().toString().padStart(2, '0')}${(date.getMonth() + 1)
|
90
|
+
return `${date.getDate().toString().padStart(2, '0')}${(date.getMonth() + 1)
|
91
|
+
.toString().padStart(2, '0')}${date.getFullYear()}`;
|
79
92
|
}
|
80
93
|
|
81
|
-
|
82
|
-
|
83
94
|
function dayLetter(date) {
|
84
|
-
return date.toLocaleDateString(props.locale ? props.locale : 'en', {
|
95
|
+
return date.toLocaleDateString(props.locale ? props.locale : 'en', {
|
96
|
+
weekday: 'narrow'
|
97
|
+
}).toUpperCase();
|
85
98
|
}
|
86
99
|
|
87
100
|
function generateDates(start, count) {
|
88
101
|
const dates = [];
|
89
|
-
for (let i =
|
102
|
+
for (let i = props.options.dateStart || 0; i < count - props.options.dateStart || 0; i++) {
|
90
103
|
const newDate = new Date(start);
|
91
104
|
newDate.setDate(start.getDate() + i);
|
92
|
-
newDate.setHours(0, 0, 0, 0);
|
105
|
+
newDate.setHours(0, 0, 0, 0);
|
93
106
|
dates.push(newDate);
|
94
107
|
}
|
95
108
|
return dates;
|
96
109
|
}
|
97
|
-
</script>
|
98
|
-
|
99
|
-
<style lang='scss'>
|
100
|
-
</style>
|
110
|
+
</script>
|
@@ -14,11 +14,11 @@
|
|
14
14
|
const props = defineProps({
|
15
15
|
title: {
|
16
16
|
type: String,
|
17
|
-
default: '
|
17
|
+
default: 'Sorry, nothing found.',
|
18
18
|
},
|
19
19
|
description: {
|
20
20
|
type: String,
|
21
|
-
default: '
|
21
|
+
default: 'No items to display. Try changing your search criteria.',
|
22
22
|
},
|
23
23
|
action: {
|
24
24
|
type: String,
|
@@ -104,7 +104,7 @@
|
|
104
104
|
:description="states.empty.description"
|
105
105
|
:action="states.empty.action"
|
106
106
|
:callback="states.empty.callback"
|
107
|
-
class="pd-medium mn-b-thin bg-light radius-
|
107
|
+
class="pd-medium mn-b-thin bg-light radius-medium"
|
108
108
|
/>
|
109
109
|
</TransitionGroup>
|
110
110
|
|
@@ -174,6 +174,10 @@ const props = defineProps({
|
|
174
174
|
type: Boolean,
|
175
175
|
default: true
|
176
176
|
},
|
177
|
+
LoadMore: {
|
178
|
+
type: Boolean,
|
179
|
+
default: true
|
180
|
+
},
|
177
181
|
search: {
|
178
182
|
type: [Boolean, Object],
|
179
183
|
default: false
|
@@ -329,7 +333,7 @@ let observer = null
|
|
329
333
|
onMounted(async () => {
|
330
334
|
await fetchItems()
|
331
335
|
|
332
|
-
if (typeof window !== 'undefined' && !props.showLoadMore) {
|
336
|
+
if (typeof window !== 'undefined' && !props.showLoadMore && props.LoadMore) {
|
333
337
|
observer = new IntersectionObserver(entries => {
|
334
338
|
if (entries.some(entry => entry.isIntersecting)) {
|
335
339
|
loadMoreItems()
|
@@ -0,0 +1,211 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="media-container">
|
3
|
+
<!-- Изображение с ленивой загрузкой и placeholder -->
|
4
|
+
<img
|
5
|
+
v-if="isImage"
|
6
|
+
:src="isIntersecting ? url : ''"
|
7
|
+
:data-src="url"
|
8
|
+
:alt="options?.alt || 'Image'"
|
9
|
+
class="media-item"
|
10
|
+
:class="{ 'loading': !isLoaded }"
|
11
|
+
loading="lazy"
|
12
|
+
@load="handleLoad"
|
13
|
+
v-bind="options"
|
14
|
+
ref="imageElement"
|
15
|
+
/>
|
16
|
+
|
17
|
+
<!-- Видео с предварительной загрузкой -->
|
18
|
+
<video
|
19
|
+
v-else-if="isVideo"
|
20
|
+
ref="videoElement"
|
21
|
+
:class="{ 'loading': !isLoaded }"
|
22
|
+
class="media-item"
|
23
|
+
:controls="!options?.hideControls"
|
24
|
+
:loop="options?.loop !== false"
|
25
|
+
:muted="options?.muted !== false"
|
26
|
+
:autoplay="options?.autoplay"
|
27
|
+
:playsinline="options?.playsinline !== false"
|
28
|
+
:preload="options?.preload || 'metadata'"
|
29
|
+
@loadeddata="handleLoad"
|
30
|
+
v-bind="options"
|
31
|
+
>
|
32
|
+
<source :src="url" :type="videoType">
|
33
|
+
</video>
|
34
|
+
|
35
|
+
<!-- Плейсхолдер во время загрузки -->
|
36
|
+
<div v-if="!isLoaded" class="media-placeholder">
|
37
|
+
Загрузка...
|
38
|
+
</div>
|
39
|
+
|
40
|
+
<!-- Сообщение об ошибке -->
|
41
|
+
<div v-if="error" class="media-error">
|
42
|
+
{{ error }}
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
</template>
|
46
|
+
|
47
|
+
<script setup>
|
48
|
+
import { ref, onMounted, computed, onUnmounted } from 'vue'
|
49
|
+
|
50
|
+
const props = defineProps({
|
51
|
+
url: {
|
52
|
+
type: String,
|
53
|
+
required: true
|
54
|
+
},
|
55
|
+
options: {
|
56
|
+
type: Object,
|
57
|
+
default: () => ({
|
58
|
+
muted: true,
|
59
|
+
loop: true,
|
60
|
+
playsinline: true,
|
61
|
+
preload: 'metadata' // 'none' | 'metadata' | 'auto'
|
62
|
+
})
|
63
|
+
}
|
64
|
+
})
|
65
|
+
|
66
|
+
// Refs
|
67
|
+
const videoElement = ref(null)
|
68
|
+
const imageElement = ref(null)
|
69
|
+
const isLoaded = ref(false)
|
70
|
+
const error = ref(null)
|
71
|
+
const isIntersecting = ref(false)
|
72
|
+
let observer = null
|
73
|
+
let isPlaying = false
|
74
|
+
|
75
|
+
// Определяем тип медиа
|
76
|
+
const fileExtension = computed(() => {
|
77
|
+
return props.url?.split('.')?.pop()?.toLowerCase()
|
78
|
+
})
|
79
|
+
|
80
|
+
const isImage = computed(() => {
|
81
|
+
const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'avif']
|
82
|
+
return imageExtensions.includes(fileExtension.value)
|
83
|
+
})
|
84
|
+
|
85
|
+
const isVideo = computed(() => {
|
86
|
+
const videoExtensions = ['mp4', 'webm', 'ogg']
|
87
|
+
return videoExtensions.includes(fileExtension.value)
|
88
|
+
})
|
89
|
+
|
90
|
+
// Определяем MIME-тип для видео
|
91
|
+
const videoType = computed(() => {
|
92
|
+
const types = {
|
93
|
+
'mp4': 'video/mp4',
|
94
|
+
'webm': 'video/webm',
|
95
|
+
'ogg': 'video/ogg'
|
96
|
+
}
|
97
|
+
return types[fileExtension.value] || ''
|
98
|
+
})
|
99
|
+
|
100
|
+
// Обработчик загрузки медиа
|
101
|
+
function handleLoad() {
|
102
|
+
isLoaded.value = true
|
103
|
+
}
|
104
|
+
|
105
|
+
// Обработка ошибок
|
106
|
+
function handleError(err) {
|
107
|
+
error.value = `Ошибка загрузки медиа: ${err.message}`
|
108
|
+
isLoaded.value = false
|
109
|
+
}
|
110
|
+
|
111
|
+
// Управление видео с обработкой ошибок
|
112
|
+
async function playVideo() {
|
113
|
+
if (!videoElement.value) return
|
114
|
+
|
115
|
+
try {
|
116
|
+
if (videoElement.value.paused && !isPlaying) {
|
117
|
+
await videoElement.value.play()
|
118
|
+
isPlaying = true
|
119
|
+
}
|
120
|
+
} catch (err) {
|
121
|
+
handleError(err)
|
122
|
+
}
|
123
|
+
}
|
124
|
+
|
125
|
+
function checkAndPlayVideo() {
|
126
|
+
if (!videoElement.value) return
|
127
|
+
|
128
|
+
videoElement.value.onplaying = () => {
|
129
|
+
isPlaying = true
|
130
|
+
}
|
131
|
+
|
132
|
+
videoElement.value.onpause = () => {
|
133
|
+
isPlaying = false
|
134
|
+
}
|
135
|
+
|
136
|
+
videoElement.value.onerror = handleError
|
137
|
+
}
|
138
|
+
|
139
|
+
// Intersection Observer для ленивой загрузки
|
140
|
+
function setupIntersectionObserver() {
|
141
|
+
const options = {
|
142
|
+
root: null,
|
143
|
+
rootMargin: '50px',
|
144
|
+
threshold: 0.1
|
145
|
+
}
|
146
|
+
|
147
|
+
observer = new IntersectionObserver((entries) => {
|
148
|
+
entries.forEach(entry => {
|
149
|
+
isIntersecting.value = entry.isIntersecting
|
150
|
+
|
151
|
+
if (entry.isIntersecting) {
|
152
|
+
if (isVideo.value && props.options?.autoplay) {
|
153
|
+
playVideo()
|
154
|
+
}
|
155
|
+
// Отключаем observer после первой загрузки
|
156
|
+
observer.disconnect()
|
157
|
+
}
|
158
|
+
})
|
159
|
+
}, options)
|
160
|
+
|
161
|
+
// Наблюдаем за элементом в зависимости от типа медиа
|
162
|
+
const element = isImage.value ? imageElement.value : videoElement.value
|
163
|
+
if (element) {
|
164
|
+
observer.observe(element)
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
// Lifecycle hooks
|
169
|
+
onMounted(() => {
|
170
|
+
setupIntersectionObserver()
|
171
|
+
})
|
172
|
+
|
173
|
+
onUnmounted(() => {
|
174
|
+
if (observer) {
|
175
|
+
observer.disconnect()
|
176
|
+
}
|
177
|
+
})
|
178
|
+
</script>
|
179
|
+
|
180
|
+
<style scoped>
|
181
|
+
.media-container {
|
182
|
+
}
|
183
|
+
|
184
|
+
.media-item {
|
185
|
+
all: inherit;
|
186
|
+
opacity: 1;
|
187
|
+
transition: opacity 0.3s ease;
|
188
|
+
}
|
189
|
+
|
190
|
+
.media-item.loading {
|
191
|
+
opacity: 0;
|
192
|
+
}
|
193
|
+
|
194
|
+
.media-placeholder {
|
195
|
+
position: absolute;
|
196
|
+
top: 0;
|
197
|
+
left: 0;
|
198
|
+
width: 100%;
|
199
|
+
height: 100%;
|
200
|
+
display: flex;
|
201
|
+
align-items: center;
|
202
|
+
justify-content: center;
|
203
|
+
background-color: #f5f5f5;
|
204
|
+
}
|
205
|
+
|
206
|
+
.media-error {
|
207
|
+
color: #ff4444;
|
208
|
+
padding: 1rem;
|
209
|
+
text-align: center;
|
210
|
+
}
|
211
|
+
</style>
|
@@ -1,27 +1,25 @@
|
|
1
1
|
<template>
|
2
|
-
|
3
|
-
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
<
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
class="color-overlay z-index-3">
|
19
|
-
</div>
|
20
|
-
|
2
|
+
<transition name="moveFromTop">
|
3
|
+
<teleport to="body" v-if="isPopupOpen">
|
4
|
+
<div v-if="isPopupOpen" key="popup-content" class="pd-small z-index-6 popup-wrapper">
|
5
|
+
|
6
|
+
<transition name="TransitionTranslateY" mode="out-in">
|
7
|
+
<section class="pos-relative z-index-4" v-bind="$attrs" :class="$attrs.class">
|
8
|
+
<h4 v-if="title" class="mn-b-small">{{title}}</h4>
|
9
|
+
<IconCross :fill="'rgb(var(--white))'" @click="closePopup()" class="cursor-pointer bg-second pd-micro radius-extra pos-absolute pos-t-0 pos-r-0 mn-t-semi mn-r-semi hover-scale-1 i-medium z-index-5"/>
|
10
|
+
<slot></slot>
|
11
|
+
</section>
|
12
|
+
</transition>
|
13
|
+
|
14
|
+
<div
|
15
|
+
@click="closePopup()"
|
16
|
+
:class="{'active':isPopupOpen === true}"
|
17
|
+
class="color-overlay z-index-3">
|
21
18
|
</div>
|
22
|
-
</teleport>
|
23
|
-
</transition>
|
24
19
|
|
20
|
+
</div>
|
21
|
+
</teleport>
|
22
|
+
</transition>
|
25
23
|
</template>
|
26
24
|
|
27
25
|
<script setup>
|