@ozdao/martyrs 0.2.480 → 0.2.482
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/README.md +4 -13
- package/dist/{Media-CKk33U4A.js → Media-JBERcJWj.js} +1 -1
- package/dist/{Media-B1ZP3D7B.cjs → Media-p7Q8ZAQM.cjs} +1 -1
- package/dist/{abac-XF1JVCLI.cjs → abac-6LjoG9u-.cjs} +107 -26
- package/dist/{abac-BuL5pUZ4.js → abac-Cf_9lCSh.js} +107 -26
- package/dist/builder.cjs +8 -12
- package/dist/builder.js +8 -12
- package/dist/globals.server.cjs +1 -1
- package/dist/globals.server.js +1 -1
- package/dist/{main-BhAiwmnI.js → main-AtCVQKF9.js} +2855 -4162
- package/dist/main-B-we7C0w.cjs +11 -0
- package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs +28 -7
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +29 -8
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs +5 -8
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js +6 -9
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +84 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +84 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +4 -4
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +4 -4
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/Field/Field.vue.cjs +2 -1
- package/dist/martyrs/src/components/Field/Field.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Field/Field.vue.js +2 -1
- package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs +203 -151
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +204 -152
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
- package/dist/martyrs/src/components/Popup/{Popup.vue.cjs → Popup.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Popup/{Popup.vue.js → Popup.vue2.js} +2 -2
- package/dist/martyrs/src/components/Popup/{Popup.vue.cjs.map → Popup.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Radio/Radio.vue.cjs +2 -2
- package/dist/martyrs/src/components/Radio/Radio.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Radio/Radio.vue.js +2 -2
- package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
- package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs +4 -3
- package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js +4 -3
- package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js.map +1 -1
- package/dist/martyrs/src/components/Slider/{Slider.native.vue.cjs → Slider.vue.cjs} +22 -80
- package/dist/martyrs/src/components/Slider/Slider.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Slider/{Slider.native.vue.js → Slider.vue.js} +23 -81
- package/dist/martyrs/src/components/Slider/Slider.vue.js.map +1 -0
- package/dist/martyrs/src/components/Status/Status.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs +4 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +1 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js +4 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +4 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +22 -149
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +24 -151
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +77 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +77 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +121 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +121 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs +38 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js +38 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/router/users.cjs +23 -16
- package/dist/martyrs/src/modules/auth/views/router/users.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/router/users.js +23 -16
- package/dist/martyrs/src/modules/auth/views/router/users.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +6 -6
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +5 -4
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +5 -4
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +92 -62
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +93 -63
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +82 -53
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +82 -53
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +2 -6
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +2 -6
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +3 -9
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +3 -9
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +5 -5
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +10 -10
- package/dist/martyrs/src/modules/globals/globals.client.cjs +2 -0
- package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.js +2 -0
- package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +84 -0
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +84 -0
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js.map +1 -0
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +17 -0
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +17 -0
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs +70 -0
- package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js +70 -0
- package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs +35 -0
- package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconList.vue.js +35 -0
- package/dist/martyrs/src/modules/icons/entities/IconList.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs +21 -20
- package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js +21 -20
- package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs +6 -13
- package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js +6 -13
- package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js +1 -3
- package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +1 -3
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +41 -43
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +8 -8
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +8 -8
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +50 -51
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +51 -52
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +7 -4
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +18 -15
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +7 -2
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +8 -3
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +11 -12
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +12 -13
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +33 -24
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +36 -27
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +7 -5
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +7 -5
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +58 -41
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +60 -43
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +105 -85
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +107 -87
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +145 -0
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +145 -0
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +46 -31
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +50 -35
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +43 -0
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +43 -0
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +131 -0
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +131 -0
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/products/products.client.cjs +3 -3
- package/dist/martyrs/src/modules/products/products.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/products.client.js +3 -3
- package/dist/martyrs/src/modules/products/products.client.js.map +1 -1
- package/dist/martyrs/src/modules/products/store/products.cjs +4 -0
- package/dist/martyrs/src/modules/products/store/products.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/store/products.js +4 -0
- package/dist/martyrs/src/modules/products/store/products.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/organizations.server.cjs +1 -1
- package/dist/organizations.server.js +1 -1
- package/dist/products.server.cjs +111 -34
- package/dist/products.server.js +111 -34
- package/dist/style.css +196 -170
- package/package.json +1 -1
- package/src/.martyrs/chunks.json +325 -0
- package/src/.martyrs/filemap.json +6802 -0
- package/src/.martyrs/semantic-analysis.json +307 -0
- package/src/.martyrs/toc.json +14 -0
- package/src/builder/rspack/rspack.config.api.js +8 -11
- package/src/components/Button/Button.vue +2 -2
- package/src/components/Checkbox/Checkbox.vue +28 -16
- package/src/components/Chips/Chips.vue +4 -4
- package/src/components/Feed/Carousel.vue +72 -0
- package/src/components/Feed/Feed.vue +2 -2
- package/src/components/Field/Field.vue +1 -0
- package/src/components/PhotoViewer/PhotoViewer.vue +307 -220
- package/src/components/Radio/Radio.vue +2 -10
- package/src/components/Skeleton/Skeleton.vue +9 -12
- package/src/components/Slider/Slider.vue +220 -100
- package/src/components/Status/Status.vue +0 -1
- package/src/components/Tooltip/Tooltip.vue +2 -2
- package/src/modules/auth/views/components/pages/Profile.vue +1 -1
- package/src/modules/auth/views/components/pages/ProfileEdit.old.vue +189 -0
- package/src/modules/auth/views/components/pages/ProfileEdit.vue +19 -182
- package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +72 -0
- package/src/modules/auth/views/components/pages/ProfileEditProfile.vue +110 -0
- package/src/modules/auth/views/components/pages/ProfileEditSidebar.vue +28 -0
- package/src/modules/auth/views/router/users.js +23 -12
- package/src/modules/community/components/blocks/FooterBlogpost.vue +3 -3
- package/src/modules/community/components/pages/BlogPost.vue +2 -1
- package/src/modules/community/components/sections/Comment.vue +161 -57
- package/src/modules/community/components/sections/Comments.vue +120 -63
- package/src/modules/community/components/sections/HotPosts.vue +7 -7
- package/src/modules/events/components/sections/EventsHot.vue +26 -33
- package/src/modules/globals/controllers/classes/abac/abac.core.js +3 -1
- package/src/modules/globals/controllers/classes/abac/abac.fields.js +126 -42
- package/src/modules/globals/controllers/classes/abac/v2/abac-core-fixed.js +313 -0
- package/src/modules/globals/controllers/classes/abac/v2/abac-express-fixed.js +276 -0
- package/src/modules/globals/controllers/classes/abac/v2/abac-fields-fixed.js +422 -0
- package/src/modules/globals/controllers/classes/abac/v2/abac-main-fixed.js +295 -0
- package/src/modules/globals/controllers/classes/abac/v2/abac-policies-fixed.js +316 -0
- package/src/modules/globals/controllers/classes/abac/v2/abac-ws-fixed.js +237 -0
- package/src/modules/globals/globals.client.js +2 -0
- package/src/modules/globals/views/components/blocks/CardFooter.vue +3 -3
- package/src/modules/globals/views/components/blocks/CardHeader.vue +1 -1
- package/src/modules/globals/views/components/blocks/PopupAuth.vue +66 -0
- package/src/modules/globals/views/mixins/mixins.js +37 -17
- package/src/modules/globals/views/plugins/popup.auth.plugin.js +77 -0
- package/src/modules/icons/entities/IconList.vue +14 -0
- package/src/modules/icons/navigation/IconCheck.vue +1 -3
- package/src/modules/icons/navigation/IconDoubleCheck.vue +1 -3
- package/src/modules/icons/navigation/IconLike.vue +1 -3
- package/src/modules/icons/navigation/IconMute.vue +1 -3
- package/src/modules/icons/navigation/IconPause.vue +1 -3
- package/src/modules/icons/navigation/IconPlay.vue +12 -15
- package/src/modules/icons/navigation/IconRefresh.vue +1 -3
- package/src/modules/icons/navigation/IconShuffle.vue +11 -26
- package/src/modules/icons/navigation/IconUnMute.vue +1 -3
- package/src/modules/icons/navigation/IconVolume.vue +1 -3
- package/src/modules/icons/pages/IconsPage.vue +0 -2
- package/src/modules/music/components/pages/AlbumDetail.vue +2 -2
- package/src/modules/music/components/pages/PlaylistDetail.vue +2 -2
- package/src/modules/music/components/pages/TrackDetail.vue +1 -1
- package/src/modules/music/components/player/MusicPlayer.vue +2 -2
- package/src/modules/notifications/components/blocks/NotificationItem.vue +6 -51
- package/src/modules/notifications/components/elements/NotificationBadge.vue +53 -97
- package/src/modules/organizations/configs/navigation.organization.config.js +8 -4
- package/src/modules/products/components/blocks/CardProduct.vue +8 -2
- package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -4
- package/src/modules/products/components/blocks/ProductImages.vue +32 -23
- package/src/modules/products/components/blocks/ProductVariants.vue +6 -4
- package/src/modules/products/components/elements/Price.vue +3 -3
- package/src/modules/products/components/pages/Product.vue +32 -26
- package/src/modules/products/components/pages/ProductEdit.vue +95 -72
- package/src/modules/products/components/sections/EditRecommended.vue +131 -0
- package/src/modules/products/components/sections/ProductConfigurator.vue +35 -21
- package/src/modules/products/components/sections/ProductsPopular.vue +44 -0
- package/src/modules/products/components/sections/ProductsRecommended.vue +134 -0
- package/src/modules/products/controllers/configs/products.lookup.config.js +20 -15
- package/src/modules/products/controllers/products.controller.js +7 -22
- package/src/modules/products/models/category.model.js +28 -1
- package/src/modules/products/models/leftover.model.js +32 -0
- package/src/modules/products/models/product.model.js +37 -1
- package/src/modules/products/models/variant.model.js +35 -0
- package/src/modules/products/products.client.js +3 -3
- package/src/modules/products/routes/products.routes.js +1 -0
- package/src/modules/products/store/products.js +4 -0
- package/src/styles/base/all.scss +0 -38
- package/src/styles/base/shadow_transitions_hover_refactor.scss +20 -51
- package/src/styles/config.scss +51 -1
- package/dist/main-C75EcBpE.cjs +0 -11
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue.js.map +0 -1
- package/dist/martyrs/src/components/Slider/Slider.native.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Slider/Slider.native.vue.js.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.cjs +0 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.js +0 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.js.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs +0 -34
- package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js +0 -34
- package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs +0 -124
- package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js +0 -124
- package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js.map +0 -1
- package/src/components/Slider/Slider.native.vue +0 -313
- package/src/modules/products/components/sections/PopularProducts.vue +0 -156
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditRecommended.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/EditRecommended.vue"],"sourcesContent":["<template>\n <Block\n title=\"Recommended Products\"\n placeholder=\"No recommended products added yet. Add products that are frequently bought together.\"\n :actions=\"[{\n label: '+',\n function: () => openRecommendedPopup()\n }]\"\n >\n <div v-if=\"recommended?.length > 0\" class=\"rows-1 gap-thin\">\n <CardPosition \n v-for=\"(product, index) in recommended\" \n :key=\"product._id\" \n :image=\"product.images?.[0] ? (FILE_SERVER_URL || '') + product.images[0] : ''\"\n :name=\"product.name\"\n :title=\"product.name\"\n :subtitle=\"`${returnCurrency()}${product.price}`\"\n :showThumbnail=\"true\"\n :actions=\"[\n {\n icon: IconDelete,\n class: 'bg-red',\n handler: () => {\n globals.actions.delete(recommended, product, index);\n }\n }\n ]\"\n class=\"bg-white pd-thin radius-medium w-100 mn-b-thin\"\n />\n </div>\n </Block>\n\n <Popup \n title=\"Add Recommended Product\" \n @close-popup=\"closeRecommendedPopup\" \n :isPopupOpen=\"isRecommendedPopupOpen\"\n class=\"bg-white w-min-30r w-max-30r radius-medium pd-medium\"\n >\n <div class=\"bg-light mn-b-thin h-min-20r h-max-20r o-scroll pd-medium radius-medium\">\n <Feed\n :search=\"{\n class: 'bg-white mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no such products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: null\n }\"\n :options=\"{\n owner: route.params._id,\n }\"\n v-slot=\"{ items }\"\n class=\"\"\n >\n <CardPosition\n v-for=\"(product, index) in items\" :key=\"product._id\"\n :image=\"product.images?.[0] ? (FILE_SERVER_URL || '') + product.images[0] : ''\"\n :name=\"product.name\"\n :title=\"product.name\"\n :subtitle=\"`${returnCurrency()}${product.price}`\"\n :showThumbnail=\"true\"\n :actions=\"[\n {\n label: 'Add',\n class: 'bg-main t-white',\n handler: () => {\n globals.actions.add(recommended, product);\n closeRecommendedPopup();\n }\n }\n ]\"\n class=\"bg-white pd-thin radius-medium w-100 mn-b-thin cursor-pointer hover-scale-1\"\n />\n </Feed>\n </div>\n </Popup>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, defineModel } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { useGlobalMixins } from \"@martyrs/src/modules/globals/views/mixins/mixins.js\"\n\n// Импорт компонентов\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\n\n// Импорт модулей и глобальных хранилищ\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport * as products from '@martyrs/src/modules/products/store/products.js';\n\n// Импорт карточек\nimport CardPosition from '@martyrs/src/modules/products/components/blocks/CardPosition.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n// Получение route и router\nconst route = useRoute();\nconst router = useRouter();\nconst { returnCurrency } = useGlobalMixins();\n\n// Используем defineModel для работы с v-model в родительском компоненте\nconst recommended = defineModel('recommended');\n\n// Локальное состояние\nconst isRecommendedPopupOpen = ref(false);\n\n// При монтировании компонента инициализируем recommended\nonMounted(async () => {\n // Инициализируем recommended как пустой массив, если не определено или не массив\n if (!recommended.value || !Array.isArray(recommended.value)) {\n recommended.value = [];\n }\n});\n\n// Открытие попапа для добавления рекомендованного товара\nfunction openRecommendedPopup() {\n isRecommendedPopupOpen.value = true;\n}\n\n// Закрытие попапа\nfunction closeRecommendedPopup() {\n isRecommendedPopupOpen.value = false;\n}\n</script>"],"names":["useRoute","useRouter","useGlobalMixins","_useModel","ref","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAuGA,UAAM,QAAQA,UAAAA,SAAU;AACTC,cAAS,UAAA;AACxB,UAAM,EAAE,eAAgB,IAAGC,uBAAiB;AAG5C,UAAM,cAAcC,IAAAA,SAAW,SAAC,aAAa;AAG7C,UAAM,yBAAyBC,IAAG,IAAC,KAAK;AAGxCC,QAAAA,UAAU,YAAY;AAEpB,UAAI,CAAC,YAAY,SAAS,CAAC,MAAM,QAAQ,YAAY,KAAK,GAAG;AAC3D,oBAAY,QAAQ,CAAE;AAAA,MAC1B;AAAA,IACA,CAAC;AAGD,aAAS,uBAAuB;AAC9B,6BAAuB,QAAQ;AAAA,IACjC;AAGA,aAAS,wBAAwB;AAC/B,6BAAuB,QAAQ;AAAA,IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { useModel, ref, onMounted, createElementBlock, openBlock, Fragment, createVNode, withCtx, createCommentVNode, renderList, createBlock, unref, createElementVNode } from "vue";
|
|
2
|
+
import { useRoute, useRouter } from "vue-router";
|
|
3
|
+
import { useGlobalMixins } from "../../../globals/views/mixins/mixins.js";
|
|
4
|
+
import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
5
|
+
import _sfc_main$4 from "../../../../components/Popup/Popup.vue2.js";
|
|
6
|
+
import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
|
|
7
|
+
import { actions } from "../../../globals/views/store/globals.js";
|
|
8
|
+
import "../../../auth/views/store/auth.js";
|
|
9
|
+
import { actions as actions$1 } from "../../store/products.js";
|
|
10
|
+
import _sfc_main$2 from "../blocks/CardPosition.vue.js";
|
|
11
|
+
import _sfc_main$3 from "../../../icons/navigation/IconDelete.vue.js";
|
|
12
|
+
const _hoisted_1 = {
|
|
13
|
+
key: 0,
|
|
14
|
+
class: "rows-1 gap-thin"
|
|
15
|
+
};
|
|
16
|
+
const _hoisted_2 = { class: "bg-light mn-b-thin h-min-20r h-max-20r o-scroll pd-medium radius-medium" };
|
|
17
|
+
const _sfc_main = {
|
|
18
|
+
__name: "EditRecommended",
|
|
19
|
+
props: {
|
|
20
|
+
"recommended": {},
|
|
21
|
+
"recommendedModifiers": {}
|
|
22
|
+
},
|
|
23
|
+
emits: ["update:recommended"],
|
|
24
|
+
setup(__props) {
|
|
25
|
+
const route = useRoute();
|
|
26
|
+
useRouter();
|
|
27
|
+
const { returnCurrency } = useGlobalMixins();
|
|
28
|
+
const recommended = useModel(__props, "recommended");
|
|
29
|
+
const isRecommendedPopupOpen = ref(false);
|
|
30
|
+
onMounted(async () => {
|
|
31
|
+
if (!recommended.value || !Array.isArray(recommended.value)) {
|
|
32
|
+
recommended.value = [];
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
function openRecommendedPopup() {
|
|
36
|
+
isRecommendedPopupOpen.value = true;
|
|
37
|
+
}
|
|
38
|
+
function closeRecommendedPopup() {
|
|
39
|
+
isRecommendedPopupOpen.value = false;
|
|
40
|
+
}
|
|
41
|
+
return (_ctx, _cache) => {
|
|
42
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
43
|
+
createVNode(_sfc_main$1, {
|
|
44
|
+
title: "Recommended Products",
|
|
45
|
+
placeholder: "No recommended products added yet. Add products that are frequently bought together.",
|
|
46
|
+
actions: [{
|
|
47
|
+
label: "+",
|
|
48
|
+
function: () => openRecommendedPopup()
|
|
49
|
+
}]
|
|
50
|
+
}, {
|
|
51
|
+
default: withCtx(() => {
|
|
52
|
+
var _a;
|
|
53
|
+
return [
|
|
54
|
+
((_a = recommended.value) == null ? void 0 : _a.length) > 0 ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
55
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(recommended.value, (product, index) => {
|
|
56
|
+
var _a2;
|
|
57
|
+
return openBlock(), createBlock(_sfc_main$2, {
|
|
58
|
+
key: product._id,
|
|
59
|
+
image: ((_a2 = product.images) == null ? void 0 : _a2[0]) ? (_ctx.FILE_SERVER_URL || "") + product.images[0] : "",
|
|
60
|
+
name: product.name,
|
|
61
|
+
title: product.name,
|
|
62
|
+
subtitle: `${unref(returnCurrency)()}${product.price}`,
|
|
63
|
+
showThumbnail: true,
|
|
64
|
+
actions: [
|
|
65
|
+
{
|
|
66
|
+
icon: _sfc_main$3,
|
|
67
|
+
class: "bg-red",
|
|
68
|
+
handler: () => {
|
|
69
|
+
actions.delete(recommended.value, product, index);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
class: "bg-white pd-thin radius-medium w-100 mn-b-thin"
|
|
74
|
+
}, null, 8, ["image", "name", "title", "subtitle", "actions"]);
|
|
75
|
+
}), 128))
|
|
76
|
+
])) : createCommentVNode("", true)
|
|
77
|
+
];
|
|
78
|
+
}),
|
|
79
|
+
_: 1
|
|
80
|
+
}, 8, ["actions"]),
|
|
81
|
+
createVNode(_sfc_main$4, {
|
|
82
|
+
title: "Add Recommended Product",
|
|
83
|
+
onClosePopup: closeRecommendedPopup,
|
|
84
|
+
isPopupOpen: isRecommendedPopupOpen.value,
|
|
85
|
+
class: "bg-white w-min-30r w-max-30r radius-medium pd-medium"
|
|
86
|
+
}, {
|
|
87
|
+
default: withCtx(() => [
|
|
88
|
+
createElementVNode("div", _hoisted_2, [
|
|
89
|
+
createVNode(_sfc_main$5, {
|
|
90
|
+
search: {
|
|
91
|
+
class: "bg-white mn-b-thin"
|
|
92
|
+
},
|
|
93
|
+
states: {
|
|
94
|
+
empty: {
|
|
95
|
+
title: "No Products Found",
|
|
96
|
+
description: "Currently, there are no such products available."
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
store: {
|
|
100
|
+
read: (options) => actions$1.read(options),
|
|
101
|
+
state: null
|
|
102
|
+
},
|
|
103
|
+
options: {
|
|
104
|
+
owner: unref(route).params._id
|
|
105
|
+
},
|
|
106
|
+
class: ""
|
|
107
|
+
}, {
|
|
108
|
+
default: withCtx(({ items }) => [
|
|
109
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(items, (product, index) => {
|
|
110
|
+
var _a;
|
|
111
|
+
return openBlock(), createBlock(_sfc_main$2, {
|
|
112
|
+
key: product._id,
|
|
113
|
+
image: ((_a = product.images) == null ? void 0 : _a[0]) ? (_ctx.FILE_SERVER_URL || "") + product.images[0] : "",
|
|
114
|
+
name: product.name,
|
|
115
|
+
title: product.name,
|
|
116
|
+
subtitle: `${unref(returnCurrency)()}${product.price}`,
|
|
117
|
+
showThumbnail: true,
|
|
118
|
+
actions: [
|
|
119
|
+
{
|
|
120
|
+
label: "Add",
|
|
121
|
+
class: "bg-main t-white",
|
|
122
|
+
handler: () => {
|
|
123
|
+
actions.add(recommended.value, product);
|
|
124
|
+
closeRecommendedPopup();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
class: "bg-white pd-thin radius-medium w-100 mn-b-thin cursor-pointer hover-scale-1"
|
|
129
|
+
}, null, 8, ["image", "name", "title", "subtitle", "actions"]);
|
|
130
|
+
}), 128))
|
|
131
|
+
]),
|
|
132
|
+
_: 1
|
|
133
|
+
}, 8, ["store", "options"])
|
|
134
|
+
])
|
|
135
|
+
]),
|
|
136
|
+
_: 1
|
|
137
|
+
}, 8, ["isPopupOpen"])
|
|
138
|
+
], 64);
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
export {
|
|
143
|
+
_sfc_main as default
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=EditRecommended.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditRecommended.vue.js","sources":["../../../../../../../src/modules/products/components/sections/EditRecommended.vue"],"sourcesContent":["<template>\n <Block\n title=\"Recommended Products\"\n placeholder=\"No recommended products added yet. Add products that are frequently bought together.\"\n :actions=\"[{\n label: '+',\n function: () => openRecommendedPopup()\n }]\"\n >\n <div v-if=\"recommended?.length > 0\" class=\"rows-1 gap-thin\">\n <CardPosition \n v-for=\"(product, index) in recommended\" \n :key=\"product._id\" \n :image=\"product.images?.[0] ? (FILE_SERVER_URL || '') + product.images[0] : ''\"\n :name=\"product.name\"\n :title=\"product.name\"\n :subtitle=\"`${returnCurrency()}${product.price}`\"\n :showThumbnail=\"true\"\n :actions=\"[\n {\n icon: IconDelete,\n class: 'bg-red',\n handler: () => {\n globals.actions.delete(recommended, product, index);\n }\n }\n ]\"\n class=\"bg-white pd-thin radius-medium w-100 mn-b-thin\"\n />\n </div>\n </Block>\n\n <Popup \n title=\"Add Recommended Product\" \n @close-popup=\"closeRecommendedPopup\" \n :isPopupOpen=\"isRecommendedPopupOpen\"\n class=\"bg-white w-min-30r w-max-30r radius-medium pd-medium\"\n >\n <div class=\"bg-light mn-b-thin h-min-20r h-max-20r o-scroll pd-medium radius-medium\">\n <Feed\n :search=\"{\n class: 'bg-white mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no such products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: null\n }\"\n :options=\"{\n owner: route.params._id,\n }\"\n v-slot=\"{ items }\"\n class=\"\"\n >\n <CardPosition\n v-for=\"(product, index) in items\" :key=\"product._id\"\n :image=\"product.images?.[0] ? (FILE_SERVER_URL || '') + product.images[0] : ''\"\n :name=\"product.name\"\n :title=\"product.name\"\n :subtitle=\"`${returnCurrency()}${product.price}`\"\n :showThumbnail=\"true\"\n :actions=\"[\n {\n label: 'Add',\n class: 'bg-main t-white',\n handler: () => {\n globals.actions.add(recommended, product);\n closeRecommendedPopup();\n }\n }\n ]\"\n class=\"bg-white pd-thin radius-medium w-100 mn-b-thin cursor-pointer hover-scale-1\"\n />\n </Feed>\n </div>\n </Popup>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, defineModel } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { useGlobalMixins } from \"@martyrs/src/modules/globals/views/mixins/mixins.js\"\n\n// Импорт компонентов\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\n\n// Импорт модулей и глобальных хранилищ\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport * as products from '@martyrs/src/modules/products/store/products.js';\n\n// Импорт карточек\nimport CardPosition from '@martyrs/src/modules/products/components/blocks/CardPosition.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n// Получение route и router\nconst route = useRoute();\nconst router = useRouter();\nconst { returnCurrency } = useGlobalMixins();\n\n// Используем defineModel для работы с v-model в родительском компоненте\nconst recommended = defineModel('recommended');\n\n// Локальное состояние\nconst isRecommendedPopupOpen = ref(false);\n\n// При монтировании компонента инициализируем recommended\nonMounted(async () => {\n // Инициализируем recommended как пустой массив, если не определено или не массив\n if (!recommended.value || !Array.isArray(recommended.value)) {\n recommended.value = [];\n }\n});\n\n// Открытие попапа для добавления рекомендованного товара\nfunction openRecommendedPopup() {\n isRecommendedPopupOpen.value = true;\n}\n\n// Закрытие попапа\nfunction closeRecommendedPopup() {\n isRecommendedPopupOpen.value = false;\n}\n</script>"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuGA,UAAM,QAAQ,SAAU;AACT,cAAS;AACxB,UAAM,EAAE,eAAgB,IAAG,gBAAiB;AAG5C,UAAM,cAAcA,SAAW,SAAC,aAAa;AAG7C,UAAM,yBAAyB,IAAI,KAAK;AAGxC,cAAU,YAAY;AAEpB,UAAI,CAAC,YAAY,SAAS,CAAC,MAAM,QAAQ,YAAY,KAAK,GAAG;AAC3D,oBAAY,QAAQ,CAAE;AAAA,MAC1B;AAAA,IACA,CAAC;AAGD,aAAS,uBAAuB;AAC9B,6BAAuB,QAAQ;AAAA,IACjC;AAGA,aAAS,wBAAwB;AAC/B,6BAAuB,QAAQ;AAAA,IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -7,8 +7,8 @@ const variants_store = require("../../store/variants.store.cjs");
|
|
|
7
7
|
const products = require("../../store/products.cjs");
|
|
8
8
|
const Block = require("../../../../components/Block/Block.vue.cjs");
|
|
9
9
|
const Field = require("../../../../components/Field/Field.vue.cjs");
|
|
10
|
-
const Button = require("../../../../components/Button/Button.
|
|
11
|
-
const Popup = require("../../../../components/Popup/Popup.
|
|
10
|
+
const Button = require("../../../../components/Button/Button.vue2.cjs");
|
|
11
|
+
const Popup = require("../../../../components/Popup/Popup.vue2.cjs");
|
|
12
12
|
const Select = require("../../../../components/Select/Select.vue.cjs");
|
|
13
13
|
const Feed = require("../../../../components/Feed/Feed.vue.cjs");
|
|
14
14
|
const EditImages = require("../../../../components/EditImages/EditImages.vue2.cjs");
|
|
@@ -5,8 +5,8 @@ import variantsStore from "../../store/variants.store.js";
|
|
|
5
5
|
import { state } from "../../store/products.js";
|
|
6
6
|
import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
7
7
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
8
|
-
import _sfc_main$7 from "../../../../components/Button/Button.
|
|
9
|
-
import _sfc_main$6 from "../../../../components/Popup/Popup.
|
|
8
|
+
import _sfc_main$7 from "../../../../components/Button/Button.vue2.js";
|
|
9
|
+
import _sfc_main$6 from "../../../../components/Popup/Popup.vue2.js";
|
|
10
10
|
import Select from "../../../../components/Select/Select.vue.js";
|
|
11
11
|
import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
|
|
12
12
|
import _sfc_main$9 from "../../../../components/EditImages/EditImages.vue2.js";
|
|
@@ -3,33 +3,35 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueI18n = require("vue-i18n");
|
|
5
5
|
const IconShopcartAdd = require("../../../icons/actions/IconShopcartAdd.vue.cjs");
|
|
6
|
-
const Button = require("../../../../components/Button/Button.
|
|
6
|
+
const Button = require("../../../../components/Button/Button.vue2.cjs");
|
|
7
7
|
const ProductVariants = require("../blocks/ProductVariants.vue.cjs");
|
|
8
8
|
const ProductDiscounts = require("../blocks/ProductDiscounts.vue.cjs");
|
|
9
9
|
const QuantitySelector = require("../elements/QuantitySelector.vue.cjs");
|
|
10
|
+
const Price = require("../elements/Price.vue.cjs");
|
|
10
11
|
const _hoisted_1 = {
|
|
11
12
|
key: 0,
|
|
12
13
|
class: "w-100"
|
|
13
14
|
};
|
|
14
|
-
const _hoisted_2 = { class: "
|
|
15
|
-
const _hoisted_3 = { class: "
|
|
16
|
-
const _hoisted_4 = {
|
|
15
|
+
const _hoisted_2 = { class: "flex-nowrap flex gap-thin" };
|
|
16
|
+
const _hoisted_3 = { class: "" };
|
|
17
|
+
const _hoisted_4 = { class: "w-100" };
|
|
18
|
+
const _hoisted_5 = { class: "flex flex-nowrap flex-v-center mn-b-thin" };
|
|
19
|
+
const _hoisted_6 = {
|
|
17
20
|
key: 0,
|
|
18
21
|
class: "t-small t-transp mn-l-thin"
|
|
19
22
|
};
|
|
20
|
-
const
|
|
23
|
+
const _hoisted_7 = {
|
|
21
24
|
key: 0,
|
|
22
25
|
class: "mn-b-medium"
|
|
23
26
|
};
|
|
24
|
-
const
|
|
25
|
-
const _hoisted_7 = { class: "gap-micro flex flex-center flex-nowrap" };
|
|
26
|
-
const _hoisted_8 = { class: "t-nowrap" };
|
|
27
|
+
const _hoisted_8 = { class: "w-100 mn-b-medium" };
|
|
27
28
|
const _hoisted_9 = {
|
|
28
|
-
key:
|
|
29
|
-
class: "
|
|
29
|
+
key: 0,
|
|
30
|
+
class: "gap-micro flex flex-center flex-nowrap"
|
|
30
31
|
};
|
|
31
|
-
const _hoisted_10 = {
|
|
32
|
-
const _hoisted_11 = { key:
|
|
32
|
+
const _hoisted_10 = { class: "t-nowrap" };
|
|
33
|
+
const _hoisted_11 = { key: 0 };
|
|
34
|
+
const _hoisted_12 = { key: 1 };
|
|
33
35
|
const _sfc_main = {
|
|
34
36
|
__name: "ProductConfigurator",
|
|
35
37
|
props: {
|
|
@@ -91,40 +93,53 @@ const _sfc_main = {
|
|
|
91
93
|
regularPrice: __props.regularPrice,
|
|
92
94
|
selectedVariant: selectedVariant.value,
|
|
93
95
|
productVariants: __props.productVariants,
|
|
94
|
-
onSelectDiscount: handleDiscountSelected
|
|
96
|
+
onSelectDiscount: handleDiscountSelected,
|
|
97
|
+
class: "mn-b-medium"
|
|
95
98
|
}, null, 8, ["discounts", "regularPrice", "selectedVariant", "productVariants"]),
|
|
96
99
|
vue.createElementVNode("div", _hoisted_2, [
|
|
97
100
|
vue.createElementVNode("div", _hoisted_3, [
|
|
98
|
-
_cache[2] || (_cache[2] = vue.createElementVNode("p", { class: "t-medium" }, "
|
|
99
|
-
selectedVariant.value ? (vue.openBlock(), vue.
|
|
101
|
+
_cache[2] || (_cache[2] = vue.createElementVNode("p", { class: "t-medium mn-b-thin" }, "Price", -1)),
|
|
102
|
+
!selectedVariant.value ? (vue.openBlock(), vue.createBlock(Price.default, {
|
|
103
|
+
key: 0,
|
|
104
|
+
product: _ctx.product,
|
|
105
|
+
variants: __props.productVariants,
|
|
106
|
+
size: "big",
|
|
107
|
+
class: "flex gap-micro flex-center pd-small bg-second t-white w-max mn-b-medium"
|
|
108
|
+
}, null, 8, ["product", "variants"])) : vue.createCommentVNode("", true)
|
|
100
109
|
]),
|
|
101
|
-
vue.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
110
|
+
vue.createElementVNode("div", _hoisted_4, [
|
|
111
|
+
vue.createElementVNode("div", _hoisted_5, [
|
|
112
|
+
_cache[3] || (_cache[3] = vue.createElementVNode("p", { class: "t-medium" }, "Quantity", -1)),
|
|
113
|
+
selectedVariant.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6, " (Max: " + vue.toDisplayString(maxQuantity.value) + ") ", 1)) : vue.createCommentVNode("", true)
|
|
114
|
+
]),
|
|
115
|
+
vue.createVNode(QuantitySelector.default, {
|
|
116
|
+
modelValue: quantity.value,
|
|
117
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => quantity.value = $event),
|
|
118
|
+
maxValue: maxQuantity.value
|
|
119
|
+
}, null, 8, ["modelValue", "maxValue"])
|
|
120
|
+
])
|
|
106
121
|
]),
|
|
107
|
-
selectedVariant.value && !selectedVariant.value.available ? (vue.openBlock(), vue.createElementBlock("div",
|
|
122
|
+
selectedVariant.value && !selectedVariant.value.available ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, _cache[4] || (_cache[4] = [
|
|
108
123
|
vue.createElementVNode("div", { class: "flex flex-nowrap gap-small pd-small bg-error-light radius-small t-error" }, [
|
|
109
124
|
vue.createElementVNode("span", null, "Out of stock")
|
|
110
125
|
], -1)
|
|
111
126
|
]))) : vue.createCommentVNode("", true),
|
|
112
|
-
vue.createElementVNode("div",
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
127
|
+
vue.createElementVNode("div", _hoisted_8, [
|
|
128
|
+
vue.createVNode(Button.default, {
|
|
129
|
+
submit: isVariantAvailable.value ? addVariantToCart : void 0,
|
|
130
|
+
disabled: !isVariantAvailable.value,
|
|
116
131
|
class: "cursor-pointer pd-medium radius-big w-100 bg-main button h-3r"
|
|
117
132
|
}, {
|
|
118
133
|
default: vue.withCtx(() => [
|
|
119
|
-
vue.
|
|
134
|
+
isVariantAvailable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
|
|
120
135
|
vue.createVNode(IconShopcartAdd.default, { class: "i-semi" }),
|
|
121
|
-
vue.createElementVNode("span",
|
|
122
|
-
])
|
|
136
|
+
vue.createElementVNode("span", _hoisted_10, vue.toDisplayString(vue.unref(t)("addtoorder")), 1)
|
|
137
|
+
])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
138
|
+
!selectedVariant.value && __props.productVariants.length > 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11, "Select variant")) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_12, "Out of Stock"))
|
|
139
|
+
], 64))
|
|
123
140
|
]),
|
|
124
141
|
_: 1
|
|
125
|
-
}
|
|
126
|
-
!selectedVariant.value && __props.productVariants.length > 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_10, "Select variant")) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_11, "Out of Stock"))
|
|
127
|
-
]))
|
|
142
|
+
}, 8, ["submit", "disabled"])
|
|
128
143
|
])
|
|
129
144
|
])) : vue.createCommentVNode("", true);
|
|
130
145
|
};
|
package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductConfigurator.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/ProductConfigurator.vue"],"sourcesContent":["<template>\n <div v-if=\"productVariants?.length\" class=\"w-100\">\n <!-- Variants Selection Component -->\n <ProductVariants\n :productVariants=\"productVariants\"\n :productId=\"productId\"\n :productName=\"productName\"\n @variant-selected=\"handleVariantSelected\"\n @update-images=\"$emit('update-images', $event)\"\n />\n \n <!-- Discounts Component -->\n <ProductDiscounts\n :discounts=\"discounts\"\n :regularPrice=\"regularPrice\"\n :selectedVariant=\"selectedVariant\"\n :productVariants=\"productVariants\"\n @select-discount=\"handleDiscountSelected\"\n />\n
|
|
1
|
+
{"version":3,"file":"ProductConfigurator.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/ProductConfigurator.vue"],"sourcesContent":["<template>\n <div v-if=\"productVariants?.length\" class=\"w-100\">\n <!-- Variants Selection Component -->\n <ProductVariants\n :productVariants=\"productVariants\"\n :productId=\"productId\"\n :productName=\"productName\"\n @variant-selected=\"handleVariantSelected\"\n @update-images=\"$emit('update-images', $event)\"\n />\n \n <!-- Discounts Component -->\n <ProductDiscounts\n :discounts=\"discounts\"\n :regularPrice=\"regularPrice\"\n :selectedVariant=\"selectedVariant\"\n :productVariants=\"productVariants\"\n @select-discount=\"handleDiscountSelected\"\n class=\"mn-b-medium\"\n />\n \n <!-- Показываем цену, если нет вариантов или не выбран ни один вариант -->\n <div class=\"flex-nowrap flex gap-thin\">\n <div class=\"\">\n <p class=\"t-medium mn-b-thin\">Price</p>\n <Price \n v-if=\"!selectedVariant\"\n :product=\"product\"\n :variants=\"productVariants\" \n size=\"big\" \n class=\"flex gap-micro flex-center pd-small bg-second t-white w-max mn-b-medium\" \n />\n </div>\n \n \n <!-- Quantity Selection -->\n <div class=\"w-100\">\n <div class=\"flex flex-nowrap flex-v-center mn-b-thin\">\n <p class=\"t-medium\">Quantity</p>\n <span v-if=\"selectedVariant\" class=\"t-small t-transp mn-l-thin\">\n (Max: {{ maxQuantity }})\n </span>\n </div>\n \n <QuantitySelector v-model=\"quantity\" :maxValue=\"maxQuantity\" />\n </div>\n </div>\n\n <!-- Out of stock notice -->\n <div v-if=\"selectedVariant && !selectedVariant.available\" class=\"mn-b-medium\">\n <div class=\"flex flex-nowrap gap-small pd-small bg-error-light radius-small t-error\">\n <span>Out of stock</span>\n </div>\n </div>\n\n <!-- Add to cart button -->\n <div class=\"w-100 mn-b-medium\">\n <Button\n :submit=\"isVariantAvailable ? addVariantToCart : undefined\"\n :disabled=\"!isVariantAvailable\"\n class=\"cursor-pointer pd-medium radius-big w-100 bg-main button h-3r\"\n >\n <div v-if=\"isVariantAvailable\" class=\"gap-micro flex flex-center flex-nowrap\">\n <IconShopcartAdd class=\"i-semi\"/>\n <span class=\"t-nowrap\">{{ t('addtoorder') }}</span>\n </div>\n <template v-else>\n <span v-if=\"!selectedVariant && productVariants.length > 1\">Select variant</span>\n <span v-else>Out of Stock</span>\n </template>\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue';\nimport Button from '@martyrs/src/components/Button/Button.vue';\n\nimport ProductVariants from '../blocks/ProductVariants.vue';\nimport ProductDiscounts from '../blocks/ProductDiscounts.vue';\nimport QuantitySelector from '../elements/QuantitySelector.vue';\n\nimport Price from '@martyrs/src/modules/products/components/elements/Price.vue'\n\nconst props = defineProps({\n productVariants: { type: Array, default: () => [] },\n productId: { type: String, required: true },\n productName: { type: String, required: true },\n discounts: { type: Array, default: () => [] },\n regularPrice: { type: String, required: true }\n});\n\nconst emits = defineEmits(['variant-selected', 'add-to-cart', 'update-images']);\nconst { t } = useI18n({ messages: { en: { addtoorder: 'Add to Cart' }, ru: { addtoorder: 'Добавить в корзину' } } });\n\nconst selectedVariant = ref(null);\nconst quantity = ref(1);\n\n// Computed properties\nconst isVariantAvailable = computed(() => \n selectedVariant.value ? selectedVariant.value.available :\n props.productVariants.length === 1 ? props.productVariants[0].available : false\n);\n\nconst maxQuantity = computed(() => \n selectedVariant.value ? selectedVariant.value.available : \n props.productVariants.length === 1 ? props.productVariants[0].available || 1 : 1\n);\n\n// Methods\nfunction handleVariantSelected(variant) {\n selectedVariant.value = variant;\n if (quantity.value > variant.available) quantity.value = variant.available;\n emits('variant-selected', variant);\n}\n\nfunction handleDiscountSelected(discount) {\n // Update quantity based on discount requirements\n if (discount.quantity && discount.quantity > quantity.value) {\n quantity.value = discount.quantity;\n }\n}\n\nfunction addVariantToCart() {\n const variant = selectedVariant.value || \n (props.productVariants.length === 1 ? props.productVariants[0] : null);\n \n if (!variant || !variant.available || quantity.value > variant.available) return false;\n \n emits('add-to-cart', {\n _id: props.productId,\n variantId: variant._id,\n sku: variant.sku,\n name: props.productName,\n price: variant.price,\n quantity: quantity.value,\n attributes: variant.attributes || []\n });\n \n return true;\n}\n</script>"],"names":["useI18n","ref","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFA,UAAM,QAAQ;AAQd,UAAM,QAAQ;AACd,UAAM,EAAE,EAAC,IAAKA,QAAAA,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,cAAa,GAAI,IAAI,EAAE,YAAY,qBAAoB,EAAI,EAAA,CAAE;AAEnH,UAAM,kBAAkBC,IAAG,IAAC,IAAI;AAChC,UAAM,WAAWA,IAAG,IAAC,CAAC;AAGtB,UAAM,qBAAqBC,IAAAA;AAAAA,MAAS,MAClC,gBAAgB,QAAQ,gBAAgB,MAAM,YAC9C,MAAM,gBAAgB,WAAW,IAAI,MAAM,gBAAgB,CAAC,EAAE,YAAY;AAAA,IAC5E;AAEA,UAAM,cAAcA,IAAAA;AAAAA,MAAS,MAC3B,gBAAgB,QAAQ,gBAAgB,MAAM,YAC9C,MAAM,gBAAgB,WAAW,IAAI,MAAM,gBAAgB,CAAC,EAAE,aAAa,IAAI;AAAA,IACjF;AAGA,aAAS,sBAAsB,SAAS;AACtC,sBAAgB,QAAQ;AACxB,UAAI,SAAS,QAAQ,QAAQ,UAAW,UAAS,QAAQ,QAAQ;AACjE,YAAM,oBAAoB,OAAO;AAAA,IACnC;AAEA,aAAS,uBAAuB,UAAU;AAExC,UAAI,SAAS,YAAY,SAAS,WAAW,SAAS,OAAO;AAC3D,iBAAS,QAAQ,SAAS;AAAA,MAC9B;AAAA,IACA;AAEA,aAAS,mBAAmB;AAC1B,YAAM,UAAU,gBAAgB,UAC7B,MAAM,gBAAgB,WAAW,IAAI,MAAM,gBAAgB,CAAC,IAAI;AAEnE,UAAI,CAAC,WAAW,CAAC,QAAQ,aAAa,SAAS,QAAQ,QAAQ,UAAW,QAAO;AAEjF,YAAM,eAAe;AAAA,QACnB,KAAK,MAAM;AAAA,QACX,WAAW,QAAQ;AAAA,QACnB,KAAK,QAAQ;AAAA,QACb,MAAM,MAAM;AAAA,QACZ,OAAO,QAAQ;AAAA,QACf,UAAU,SAAS;AAAA,QACnB,YAAY,QAAQ,cAAc,CAAA;AAAA,MACtC,CAAG;AAED,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,33 +1,35 @@
|
|
|
1
|
-
import { ref, computed, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode,
|
|
1
|
+
import { ref, computed, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode, createBlock, toDisplayString, withCtx, unref, Fragment } from "vue";
|
|
2
2
|
import { useI18n } from "vue-i18n";
|
|
3
|
-
import _sfc_main$
|
|
4
|
-
import _sfc_main$
|
|
3
|
+
import _sfc_main$5 from "../../../icons/actions/IconShopcartAdd.vue.js";
|
|
4
|
+
import _sfc_main$4 from "../../../../components/Button/Button.vue2.js";
|
|
5
5
|
import _sfc_main$1 from "../blocks/ProductVariants.vue.js";
|
|
6
6
|
import ProductDiscounts from "../blocks/ProductDiscounts.vue.js";
|
|
7
|
-
import _sfc_main$
|
|
7
|
+
import _sfc_main$3 from "../elements/QuantitySelector.vue.js";
|
|
8
|
+
import _sfc_main$2 from "../elements/Price.vue.js";
|
|
8
9
|
const _hoisted_1 = {
|
|
9
10
|
key: 0,
|
|
10
11
|
class: "w-100"
|
|
11
12
|
};
|
|
12
|
-
const _hoisted_2 = { class: "
|
|
13
|
-
const _hoisted_3 = { class: "
|
|
14
|
-
const _hoisted_4 = {
|
|
13
|
+
const _hoisted_2 = { class: "flex-nowrap flex gap-thin" };
|
|
14
|
+
const _hoisted_3 = { class: "" };
|
|
15
|
+
const _hoisted_4 = { class: "w-100" };
|
|
16
|
+
const _hoisted_5 = { class: "flex flex-nowrap flex-v-center mn-b-thin" };
|
|
17
|
+
const _hoisted_6 = {
|
|
15
18
|
key: 0,
|
|
16
19
|
class: "t-small t-transp mn-l-thin"
|
|
17
20
|
};
|
|
18
|
-
const
|
|
21
|
+
const _hoisted_7 = {
|
|
19
22
|
key: 0,
|
|
20
23
|
class: "mn-b-medium"
|
|
21
24
|
};
|
|
22
|
-
const
|
|
23
|
-
const _hoisted_7 = { class: "gap-micro flex flex-center flex-nowrap" };
|
|
24
|
-
const _hoisted_8 = { class: "t-nowrap" };
|
|
25
|
+
const _hoisted_8 = { class: "w-100 mn-b-medium" };
|
|
25
26
|
const _hoisted_9 = {
|
|
26
|
-
key:
|
|
27
|
-
class: "
|
|
27
|
+
key: 0,
|
|
28
|
+
class: "gap-micro flex flex-center flex-nowrap"
|
|
28
29
|
};
|
|
29
|
-
const _hoisted_10 = {
|
|
30
|
-
const _hoisted_11 = { key:
|
|
30
|
+
const _hoisted_10 = { class: "t-nowrap" };
|
|
31
|
+
const _hoisted_11 = { key: 0 };
|
|
32
|
+
const _hoisted_12 = { key: 1 };
|
|
31
33
|
const _sfc_main = {
|
|
32
34
|
__name: "ProductConfigurator",
|
|
33
35
|
props: {
|
|
@@ -89,40 +91,53 @@ const _sfc_main = {
|
|
|
89
91
|
regularPrice: __props.regularPrice,
|
|
90
92
|
selectedVariant: selectedVariant.value,
|
|
91
93
|
productVariants: __props.productVariants,
|
|
92
|
-
onSelectDiscount: handleDiscountSelected
|
|
94
|
+
onSelectDiscount: handleDiscountSelected,
|
|
95
|
+
class: "mn-b-medium"
|
|
93
96
|
}, null, 8, ["discounts", "regularPrice", "selectedVariant", "productVariants"]),
|
|
94
97
|
createElementVNode("div", _hoisted_2, [
|
|
95
98
|
createElementVNode("div", _hoisted_3, [
|
|
96
|
-
_cache[2] || (_cache[2] = createElementVNode("p", { class: "t-medium" }, "
|
|
97
|
-
selectedVariant.value ? (openBlock(),
|
|
99
|
+
_cache[2] || (_cache[2] = createElementVNode("p", { class: "t-medium mn-b-thin" }, "Price", -1)),
|
|
100
|
+
!selectedVariant.value ? (openBlock(), createBlock(_sfc_main$2, {
|
|
101
|
+
key: 0,
|
|
102
|
+
product: _ctx.product,
|
|
103
|
+
variants: __props.productVariants,
|
|
104
|
+
size: "big",
|
|
105
|
+
class: "flex gap-micro flex-center pd-small bg-second t-white w-max mn-b-medium"
|
|
106
|
+
}, null, 8, ["product", "variants"])) : createCommentVNode("", true)
|
|
98
107
|
]),
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
108
|
+
createElementVNode("div", _hoisted_4, [
|
|
109
|
+
createElementVNode("div", _hoisted_5, [
|
|
110
|
+
_cache[3] || (_cache[3] = createElementVNode("p", { class: "t-medium" }, "Quantity", -1)),
|
|
111
|
+
selectedVariant.value ? (openBlock(), createElementBlock("span", _hoisted_6, " (Max: " + toDisplayString(maxQuantity.value) + ") ", 1)) : createCommentVNode("", true)
|
|
112
|
+
]),
|
|
113
|
+
createVNode(_sfc_main$3, {
|
|
114
|
+
modelValue: quantity.value,
|
|
115
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => quantity.value = $event),
|
|
116
|
+
maxValue: maxQuantity.value
|
|
117
|
+
}, null, 8, ["modelValue", "maxValue"])
|
|
118
|
+
])
|
|
104
119
|
]),
|
|
105
|
-
selectedVariant.value && !selectedVariant.value.available ? (openBlock(), createElementBlock("div",
|
|
120
|
+
selectedVariant.value && !selectedVariant.value.available ? (openBlock(), createElementBlock("div", _hoisted_7, _cache[4] || (_cache[4] = [
|
|
106
121
|
createElementVNode("div", { class: "flex flex-nowrap gap-small pd-small bg-error-light radius-small t-error" }, [
|
|
107
122
|
createElementVNode("span", null, "Out of stock")
|
|
108
123
|
], -1)
|
|
109
124
|
]))) : createCommentVNode("", true),
|
|
110
|
-
createElementVNode("div",
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
125
|
+
createElementVNode("div", _hoisted_8, [
|
|
126
|
+
createVNode(_sfc_main$4, {
|
|
127
|
+
submit: isVariantAvailable.value ? addVariantToCart : void 0,
|
|
128
|
+
disabled: !isVariantAvailable.value,
|
|
114
129
|
class: "cursor-pointer pd-medium radius-big w-100 bg-main button h-3r"
|
|
115
130
|
}, {
|
|
116
131
|
default: withCtx(() => [
|
|
117
|
-
|
|
118
|
-
createVNode(_sfc_main$
|
|
119
|
-
createElementVNode("span",
|
|
120
|
-
])
|
|
132
|
+
isVariantAvailable.value ? (openBlock(), createElementBlock("div", _hoisted_9, [
|
|
133
|
+
createVNode(_sfc_main$5, { class: "i-semi" }),
|
|
134
|
+
createElementVNode("span", _hoisted_10, toDisplayString(unref(t)("addtoorder")), 1)
|
|
135
|
+
])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
136
|
+
!selectedVariant.value && __props.productVariants.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_11, "Select variant")) : (openBlock(), createElementBlock("span", _hoisted_12, "Out of Stock"))
|
|
137
|
+
], 64))
|
|
121
138
|
]),
|
|
122
139
|
_: 1
|
|
123
|
-
}
|
|
124
|
-
!selectedVariant.value && __props.productVariants.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_10, "Select variant")) : (openBlock(), createElementBlock("span", _hoisted_11, "Out of Stock"))
|
|
125
|
-
]))
|
|
140
|
+
}, 8, ["submit", "disabled"])
|
|
126
141
|
])
|
|
127
142
|
])) : createCommentVNode("", true);
|
|
128
143
|
};
|
package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductConfigurator.vue.js","sources":["../../../../../../../src/modules/products/components/sections/ProductConfigurator.vue"],"sourcesContent":["<template>\n <div v-if=\"productVariants?.length\" class=\"w-100\">\n <!-- Variants Selection Component -->\n <ProductVariants\n :productVariants=\"productVariants\"\n :productId=\"productId\"\n :productName=\"productName\"\n @variant-selected=\"handleVariantSelected\"\n @update-images=\"$emit('update-images', $event)\"\n />\n \n <!-- Discounts Component -->\n <ProductDiscounts\n :discounts=\"discounts\"\n :regularPrice=\"regularPrice\"\n :selectedVariant=\"selectedVariant\"\n :productVariants=\"productVariants\"\n @select-discount=\"handleDiscountSelected\"\n />\n
|
|
1
|
+
{"version":3,"file":"ProductConfigurator.vue.js","sources":["../../../../../../../src/modules/products/components/sections/ProductConfigurator.vue"],"sourcesContent":["<template>\n <div v-if=\"productVariants?.length\" class=\"w-100\">\n <!-- Variants Selection Component -->\n <ProductVariants\n :productVariants=\"productVariants\"\n :productId=\"productId\"\n :productName=\"productName\"\n @variant-selected=\"handleVariantSelected\"\n @update-images=\"$emit('update-images', $event)\"\n />\n \n <!-- Discounts Component -->\n <ProductDiscounts\n :discounts=\"discounts\"\n :regularPrice=\"regularPrice\"\n :selectedVariant=\"selectedVariant\"\n :productVariants=\"productVariants\"\n @select-discount=\"handleDiscountSelected\"\n class=\"mn-b-medium\"\n />\n \n <!-- Показываем цену, если нет вариантов или не выбран ни один вариант -->\n <div class=\"flex-nowrap flex gap-thin\">\n <div class=\"\">\n <p class=\"t-medium mn-b-thin\">Price</p>\n <Price \n v-if=\"!selectedVariant\"\n :product=\"product\"\n :variants=\"productVariants\" \n size=\"big\" \n class=\"flex gap-micro flex-center pd-small bg-second t-white w-max mn-b-medium\" \n />\n </div>\n \n \n <!-- Quantity Selection -->\n <div class=\"w-100\">\n <div class=\"flex flex-nowrap flex-v-center mn-b-thin\">\n <p class=\"t-medium\">Quantity</p>\n <span v-if=\"selectedVariant\" class=\"t-small t-transp mn-l-thin\">\n (Max: {{ maxQuantity }})\n </span>\n </div>\n \n <QuantitySelector v-model=\"quantity\" :maxValue=\"maxQuantity\" />\n </div>\n </div>\n\n <!-- Out of stock notice -->\n <div v-if=\"selectedVariant && !selectedVariant.available\" class=\"mn-b-medium\">\n <div class=\"flex flex-nowrap gap-small pd-small bg-error-light radius-small t-error\">\n <span>Out of stock</span>\n </div>\n </div>\n\n <!-- Add to cart button -->\n <div class=\"w-100 mn-b-medium\">\n <Button\n :submit=\"isVariantAvailable ? addVariantToCart : undefined\"\n :disabled=\"!isVariantAvailable\"\n class=\"cursor-pointer pd-medium radius-big w-100 bg-main button h-3r\"\n >\n <div v-if=\"isVariantAvailable\" class=\"gap-micro flex flex-center flex-nowrap\">\n <IconShopcartAdd class=\"i-semi\"/>\n <span class=\"t-nowrap\">{{ t('addtoorder') }}</span>\n </div>\n <template v-else>\n <span v-if=\"!selectedVariant && productVariants.length > 1\">Select variant</span>\n <span v-else>Out of Stock</span>\n </template>\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue';\nimport Button from '@martyrs/src/components/Button/Button.vue';\n\nimport ProductVariants from '../blocks/ProductVariants.vue';\nimport ProductDiscounts from '../blocks/ProductDiscounts.vue';\nimport QuantitySelector from '../elements/QuantitySelector.vue';\n\nimport Price from '@martyrs/src/modules/products/components/elements/Price.vue'\n\nconst props = defineProps({\n productVariants: { type: Array, default: () => [] },\n productId: { type: String, required: true },\n productName: { type: String, required: true },\n discounts: { type: Array, default: () => [] },\n regularPrice: { type: String, required: true }\n});\n\nconst emits = defineEmits(['variant-selected', 'add-to-cart', 'update-images']);\nconst { t } = useI18n({ messages: { en: { addtoorder: 'Add to Cart' }, ru: { addtoorder: 'Добавить в корзину' } } });\n\nconst selectedVariant = ref(null);\nconst quantity = ref(1);\n\n// Computed properties\nconst isVariantAvailable = computed(() => \n selectedVariant.value ? selectedVariant.value.available :\n props.productVariants.length === 1 ? props.productVariants[0].available : false\n);\n\nconst maxQuantity = computed(() => \n selectedVariant.value ? selectedVariant.value.available : \n props.productVariants.length === 1 ? props.productVariants[0].available || 1 : 1\n);\n\n// Methods\nfunction handleVariantSelected(variant) {\n selectedVariant.value = variant;\n if (quantity.value > variant.available) quantity.value = variant.available;\n emits('variant-selected', variant);\n}\n\nfunction handleDiscountSelected(discount) {\n // Update quantity based on discount requirements\n if (discount.quantity && discount.quantity > quantity.value) {\n quantity.value = discount.quantity;\n }\n}\n\nfunction addVariantToCart() {\n const variant = selectedVariant.value || \n (props.productVariants.length === 1 ? props.productVariants[0] : null);\n \n if (!variant || !variant.available || quantity.value > variant.available) return false;\n \n emits('add-to-cart', {\n _id: props.productId,\n variantId: variant._id,\n sku: variant.sku,\n name: props.productName,\n price: variant.price,\n quantity: quantity.value,\n attributes: variant.attributes || []\n });\n \n return true;\n}\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFA,UAAM,QAAQ;AAQd,UAAM,QAAQ;AACd,UAAM,EAAE,EAAC,IAAK,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,cAAa,GAAI,IAAI,EAAE,YAAY,qBAAoB,EAAI,EAAA,CAAE;AAEnH,UAAM,kBAAkB,IAAI,IAAI;AAChC,UAAM,WAAW,IAAI,CAAC;AAGtB,UAAM,qBAAqB;AAAA,MAAS,MAClC,gBAAgB,QAAQ,gBAAgB,MAAM,YAC9C,MAAM,gBAAgB,WAAW,IAAI,MAAM,gBAAgB,CAAC,EAAE,YAAY;AAAA,IAC5E;AAEA,UAAM,cAAc;AAAA,MAAS,MAC3B,gBAAgB,QAAQ,gBAAgB,MAAM,YAC9C,MAAM,gBAAgB,WAAW,IAAI,MAAM,gBAAgB,CAAC,EAAE,aAAa,IAAI;AAAA,IACjF;AAGA,aAAS,sBAAsB,SAAS;AACtC,sBAAgB,QAAQ;AACxB,UAAI,SAAS,QAAQ,QAAQ,UAAW,UAAS,QAAQ,QAAQ;AACjE,YAAM,oBAAoB,OAAO;AAAA,IACnC;AAEA,aAAS,uBAAuB,UAAU;AAExC,UAAI,SAAS,YAAY,SAAS,WAAW,SAAS,OAAO;AAC3D,iBAAS,QAAQ,SAAS;AAAA,MAC9B;AAAA,IACA;AAEA,aAAS,mBAAmB;AAC1B,YAAM,UAAU,gBAAgB,UAC7B,MAAM,gBAAgB,WAAW,IAAI,MAAM,gBAAgB,CAAC,IAAI;AAEnE,UAAI,CAAC,WAAW,CAAC,QAAQ,aAAa,SAAS,QAAQ,QAAQ,UAAW,QAAO;AAEjF,YAAM,eAAe;AAAA,QACnB,KAAK,MAAM;AAAA,QACX,WAAW,QAAQ;AAAA,QACnB,KAAK,QAAQ;AAAA,QACb,MAAM,MAAM;AAAA,QACZ,OAAO,QAAQ;AAAA,QACf,UAAU,SAAS;AAAA,QACnB,YAAY,QAAQ,cAAc,CAAA;AAAA,MACtC,CAAG;AAED,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const Carousel = require("../../../../components/Feed/Carousel.vue.cjs");
|
|
5
|
+
const CardProduct = require("../blocks/CardProduct.vue.cjs");
|
|
6
|
+
const products = require("../../store/products.cjs");
|
|
7
|
+
;/* empty css */
|
|
8
|
+
const _sfc_main = {
|
|
9
|
+
__name: "ProductsPopular",
|
|
10
|
+
setup(__props) {
|
|
11
|
+
return (_ctx, _cache) => {
|
|
12
|
+
const _component_router_link = vue.resolveComponent("router-link");
|
|
13
|
+
return vue.openBlock(), vue.createBlock(Carousel.default, {
|
|
14
|
+
store: {
|
|
15
|
+
read: products.actions.read
|
|
16
|
+
},
|
|
17
|
+
options: {
|
|
18
|
+
limit: 10
|
|
19
|
+
},
|
|
20
|
+
text: { title: "No products available" },
|
|
21
|
+
showDots: true
|
|
22
|
+
}, {
|
|
23
|
+
default: vue.withCtx(({ item }) => [
|
|
24
|
+
vue.createVNode(_component_router_link, {
|
|
25
|
+
to: { name: "Organization_Product", params: { _id: item.owner.target, product: item._id } },
|
|
26
|
+
class: "h-100 pos-relative block"
|
|
27
|
+
}, {
|
|
28
|
+
default: vue.withCtx(() => [
|
|
29
|
+
vue.createVNode(CardProduct.default, {
|
|
30
|
+
product: item,
|
|
31
|
+
class: "h-max-40r h-100 bg-light"
|
|
32
|
+
}, null, 8, ["product"])
|
|
33
|
+
]),
|
|
34
|
+
_: 2
|
|
35
|
+
}, 1032, ["to"])
|
|
36
|
+
]),
|
|
37
|
+
_: 1
|
|
38
|
+
}, 8, ["store"]);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.default = _sfc_main;
|
|
43
|
+
//# sourceMappingURL=ProductsPopular.vue.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductsPopular.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { resolveComponent, createBlock, openBlock, withCtx, createVNode } from "vue";
|
|
2
|
+
import Carousel from "../../../../components/Feed/Carousel.vue.js";
|
|
3
|
+
import _sfc_main$1 from "../blocks/CardProduct.vue.js";
|
|
4
|
+
import { actions } from "../../store/products.js";
|
|
5
|
+
/* empty css */
|
|
6
|
+
const _sfc_main = {
|
|
7
|
+
__name: "ProductsPopular",
|
|
8
|
+
setup(__props) {
|
|
9
|
+
return (_ctx, _cache) => {
|
|
10
|
+
const _component_router_link = resolveComponent("router-link");
|
|
11
|
+
return openBlock(), createBlock(Carousel, {
|
|
12
|
+
store: {
|
|
13
|
+
read: actions.read
|
|
14
|
+
},
|
|
15
|
+
options: {
|
|
16
|
+
limit: 10
|
|
17
|
+
},
|
|
18
|
+
text: { title: "No products available" },
|
|
19
|
+
showDots: true
|
|
20
|
+
}, {
|
|
21
|
+
default: withCtx(({ item }) => [
|
|
22
|
+
createVNode(_component_router_link, {
|
|
23
|
+
to: { name: "Organization_Product", params: { _id: item.owner.target, product: item._id } },
|
|
24
|
+
class: "h-100 pos-relative block"
|
|
25
|
+
}, {
|
|
26
|
+
default: withCtx(() => [
|
|
27
|
+
createVNode(_sfc_main$1, {
|
|
28
|
+
product: item,
|
|
29
|
+
class: "h-max-40r h-100 bg-light"
|
|
30
|
+
}, null, 8, ["product"])
|
|
31
|
+
]),
|
|
32
|
+
_: 2
|
|
33
|
+
}, 1032, ["to"])
|
|
34
|
+
]),
|
|
35
|
+
_: 1
|
|
36
|
+
}, 8, ["store"]);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
_sfc_main as default
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=ProductsPopular.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductsPopular.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|