@perevorot/shop 1.1.21 → 1.1.23

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.
Files changed (27) hide show
  1. package/dist/js/components/auth/Login.js +1 -1
  2. package/dist/js/components/auth/Login.js.map +1 -1
  3. package/dist/js/components/auth/Registration.js +1 -1
  4. package/dist/js/components/auth/Registration.js.map +1 -1
  5. package/dist/js/components/auth/User.js +1 -1
  6. package/dist/js/components/auth/User.js.map +1 -1
  7. package/dist/js/components/shop/Gallery.js +1 -1
  8. package/dist/js/components/shop/Gallery.js.map +1 -1
  9. package/dist/js/components/shop/Pagination.js +1 -1
  10. package/dist/js/components/shop/Pagination.js.map +1 -1
  11. package/dist/js/components/shop/cart/Cart.js +1 -1
  12. package/dist/js/components/shop/cart/Cart.js.map +1 -1
  13. package/dist/js/components/shop/cart/CartAdd.js +1 -1
  14. package/dist/js/components/shop/cart/CartAdd.js.map +1 -1
  15. package/dist/js/components/shop/cart/CartItem.js +1 -1
  16. package/dist/js/components/shop/cart/CartItem.js.map +1 -1
  17. package/dist/js/components/shop/cart/CartTrigger.js +1 -1
  18. package/dist/js/components/shop/cart/CartTrigger.js.map +1 -1
  19. package/dist/js/components/shop/compare/CompareAdd.js +1 -1
  20. package/dist/js/components/shop/compare/CompareAdd.js.map +1 -1
  21. package/dist/js/components/shop/order/OneClick.js +1 -1
  22. package/dist/js/components/shop/order/OneClick.js.map +1 -1
  23. package/dist/js/components/shop/wishlist/WishlistAdd.js +1 -1
  24. package/dist/js/components/shop/wishlist/WishlistAdd.js.map +1 -1
  25. package/dist/js/components/shop/wishlist/WishlistDelete.js +1 -1
  26. package/dist/js/components/shop/wishlist/WishlistDelete.js.map +1 -1
  27. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../../src/js/components/shop/Pagination.vue","../../../../src/js/components/shop/Pagination.vue?vue&type=template&id=37cdda4a&lang.js"],"sourcesContent":["<template>\n <div class=\"shop-pagination has-text-centered mb-3\">\n <component :is=\"component\"></component>\n <div class=\"shop-pagination-more\" v-if=\"hasMorePages\">\n <slot :more=\"more\">\n <button class=\"button is-small\" @click=\"more\">\n <span class=\"icon is-small\">\n <i class=\"fas fa-sync-alt\"></i>\n </span>\n <span>{{ __('shop.pagination.more') }}</span>\n </button>\n </slot>\n </div>\n </div>\n</template>\n<script>\nimport { ref, onMounted, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n setup() {\n const component = ref(false);\n const hasMorePages = ref(true);\n const visiblePages = ref([]);\n\n let pages = [];\n let paginators = {};\n let inited = false;\n let cleared = false;\n let titles = {};\n let titlesDocument = {};\n let extraDocument = {};\n\n const getComponentName = (href) => {\n const last = href.substring(href.lastIndexOf('/') + 1);\n\n return 'page-product-' + (last.match(/^page([0-9]+)$/) ? last : 'page1');\n };\n\n let nextPages = [getComponentName(window.location.href)];\n\n const get = (e) => {\n e.preventDefault();\n\n nextPages = [getComponentName(e.currentTarget.href)];\n\n load(e.currentTarget);\n };\n\n const load = (button, isAppend) => {\n const href = button.href;\n\n const componentName = getComponentName(href);\n\n if (!inited) {\n window.app.component('products-paginate', {\n data() {\n return {\n components: visiblePages\n };\n },\n template: '<teleport to=\"#products\"><component :is=\"component\" v-for=\"(component, key) in components\" v-bind:key=\"key\"></component></teleport>'\n });\n\n component.value = 'products-paginate';\n inited = true;\n }\n\n if (pages.indexOf(componentName) === -1) {\n button.classList.add('is-loading');\n\n $http.get(href + '?paginator').then((response) => {\n clearInitial(isAppend);\n\n let html = document.createElement('html');\n\n html.innerHTML = response.data.products;\n\n const title = response.data.h1;\n\n if (title) {\n const titleElement = document.querySelector('.shop-subcategory-title h1');\n\n if (titleElement) {\n titleElement.innerHTML = title;\n }\n }\n\n window.app.component(componentName, {\n template: html.querySelector('#products').innerHTML\n });\n\n const documentTitle = response.data.title;\n\n titlesDocument[componentName] = documentTitle;\n extraDocument[componentName] = response.data.extra;\n titles[componentName] = title;\n\n pages.push(componentName);\n\n html.innerHTML = response.data.paginator;\n\n paginators[componentName] = response.data.paginator;\n\n document.getElementById('pagination').replaceWith(html.querySelector('#pagination'));\n\n if (!isAppend) {\n visiblePages.value = [componentName];\n\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n } else {\n visiblePages.value.push(componentName);\n setPaginatorCurrentPages(null, 'Pagination');\n }\n\n setTimeout(() => {\n document.title = documentTitle ? documentTitle : title;\n\n history.pushState(null, documentTitle, href);\n //history.pushState({ urlPath: href }, documentTitle, href);\n\n nextTick(() => {\n if (typeof window.loadProductsCallback == 'function') {\n window.loadProductsCallback(null, 'catalog', response.data.extra);\n }\n });\n }, 200)\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n nextTick(init);\n });\n } else {\n let html = document.createElement('html');\n html.innerHTML = paginators[componentName];\n\n document.getElementById('pagination').replaceWith(html.querySelector('#pagination'));\n\n if (!isAppend) {\n visiblePages.value = [componentName];\n\n if (titles[componentName]) {\n const titleElement = document.querySelector('.shop-subcategory-title h1');\n\n if (titleElement) {\n titleElement.innerHTML = titles[componentName];\n }\n }\n\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n } else {\n visiblePages.value.push(componentName);\n setPaginatorCurrentPages(null, 'Pagination');\n }\n\n setTimeout(() => {\n document.title = titlesDocument[componentName];\n\n //history.pushState({ urlPath: href }, titlesDocument[componentName], href);\n history.pushState(null, titlesDocument[componentName], href);\n\n nextTick(() => {\n if (typeof window.loadProductsCallback == 'function') {\n window.loadProductsCallback(null, 'catalog', extraDocument[componentName]);\n }\n });\n }, 200);\n\n nextTick(init);\n }\n };\n\n const setPaginatorCurrentPages = () => {\n const paginator = document.getElementById('pagination');\n\n nextPages.forEach((componentName) => {\n const link = paginator.querySelector('.' + componentName);\n\n if (link) {\n link.classList.add('is-current');\n }\n });\n };\n\n const clearInitial = (isAppend) => {\n if (!isAppend && !cleared) {\n let productsOld = document.querySelectorAll('#products > *');\n\n productsOld.forEach((product) => {\n product.remove();\n });\n\n cleared = true;\n }\n };\n\n const init = () => {\n const next = document.querySelector('#pagination .pagination-next:not([disabled])');\n\n const links = document.querySelectorAll('#pagination a:not([disabled])');\n\n links.forEach((link) => {\n link.addEventListener('click', get);\n });\n\n hasMorePages.value = Boolean(next);\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n };\n\n const more = () => {\n const next = document.querySelector('#pagination .pagination-next:not([disabled])');\n\n const componentName = getComponentName(next.href);\n\n nextPages.push(componentName);\n\n load(next, true);\n };\n\n onMounted(() => {\n init();\n });\n\n return {\n component,\n hasMorePages,\n more\n };\n }\n});\n</script>","<template>\n <div class=\"shop-pagination has-text-centered mb-3\">\n <component :is=\"component\"></component>\n <div class=\"shop-pagination-more\" v-if=\"hasMorePages\">\n <slot :more=\"more\">\n <button class=\"button is-small\" @click=\"more\">\n <span class=\"icon is-small\">\n <i class=\"fas fa-sync-alt\"></i>\n </span>\n <span>{{ __('shop.pagination.more') }}</span>\n </button>\n </slot>\n </div>\n </div>\n</template>\n<script>\nimport { ref, onMounted, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n setup() {\n const component = ref(false);\n const hasMorePages = ref(true);\n const visiblePages = ref([]);\n\n let pages = [];\n let paginators = {};\n let inited = false;\n let cleared = false;\n let titles = {};\n let titlesDocument = {};\n let extraDocument = {};\n\n const getComponentName = (href) => {\n const last = href.substring(href.lastIndexOf('/') + 1);\n\n return 'page-product-' + (last.match(/^page([0-9]+)$/) ? last : 'page1');\n };\n\n let nextPages = [getComponentName(window.location.href)];\n\n const get = (e) => {\n e.preventDefault();\n\n nextPages = [getComponentName(e.currentTarget.href)];\n\n load(e.currentTarget);\n };\n\n const load = (button, isAppend) => {\n const href = button.href;\n\n const componentName = getComponentName(href);\n\n if (!inited) {\n window.app.component('products-paginate', {\n data() {\n return {\n components: visiblePages\n };\n },\n template: '<teleport to=\"#products\"><component :is=\"component\" v-for=\"(component, key) in components\" v-bind:key=\"key\"></component></teleport>'\n });\n\n component.value = 'products-paginate';\n inited = true;\n }\n\n if (pages.indexOf(componentName) === -1) {\n button.classList.add('is-loading');\n\n $http.get(href + '?paginator').then((response) => {\n clearInitial(isAppend);\n\n let html = document.createElement('html');\n\n html.innerHTML = response.data.products;\n\n const title = response.data.h1;\n\n if (title) {\n const titleElement = document.querySelector('.shop-subcategory-title h1');\n\n if (titleElement) {\n titleElement.innerHTML = title;\n }\n }\n\n window.app.component(componentName, {\n template: html.querySelector('#products').innerHTML\n });\n\n const documentTitle = response.data.title;\n\n titlesDocument[componentName] = documentTitle;\n extraDocument[componentName] = response.data.extra;\n titles[componentName] = title;\n\n pages.push(componentName);\n\n html.innerHTML = response.data.paginator;\n\n paginators[componentName] = response.data.paginator;\n\n document.getElementById('pagination').replaceWith(html.querySelector('#pagination'));\n\n if (!isAppend) {\n visiblePages.value = [componentName];\n\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n } else {\n visiblePages.value.push(componentName);\n setPaginatorCurrentPages(null, 'Pagination');\n }\n\n setTimeout(() => {\n document.title = documentTitle ? documentTitle : title;\n\n history.pushState(null, documentTitle, href);\n //history.pushState({ urlPath: href }, documentTitle, href);\n\n nextTick(() => {\n if (typeof window.loadProductsCallback == 'function') {\n window.loadProductsCallback(null, 'catalog', response.data.extra);\n }\n });\n }, 200)\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n nextTick(init);\n });\n } else {\n let html = document.createElement('html');\n html.innerHTML = paginators[componentName];\n\n document.getElementById('pagination').replaceWith(html.querySelector('#pagination'));\n\n if (!isAppend) {\n visiblePages.value = [componentName];\n\n if (titles[componentName]) {\n const titleElement = document.querySelector('.shop-subcategory-title h1');\n\n if (titleElement) {\n titleElement.innerHTML = titles[componentName];\n }\n }\n\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n } else {\n visiblePages.value.push(componentName);\n setPaginatorCurrentPages(null, 'Pagination');\n }\n\n setTimeout(() => {\n document.title = titlesDocument[componentName];\n\n //history.pushState({ urlPath: href }, titlesDocument[componentName], href);\n history.pushState(null, titlesDocument[componentName], href);\n\n nextTick(() => {\n if (typeof window.loadProductsCallback == 'function') {\n window.loadProductsCallback(null, 'catalog', extraDocument[componentName]);\n }\n });\n }, 200);\n\n nextTick(init);\n }\n };\n\n const setPaginatorCurrentPages = () => {\n const paginator = document.getElementById('pagination');\n\n nextPages.forEach((componentName) => {\n const link = paginator.querySelector('.' + componentName);\n\n if (link) {\n link.classList.add('is-current');\n }\n });\n };\n\n const clearInitial = (isAppend) => {\n if (!isAppend && !cleared) {\n let productsOld = document.querySelectorAll('#products > *');\n\n productsOld.forEach((product) => {\n product.remove();\n });\n\n cleared = true;\n }\n };\n\n const init = () => {\n const next = document.querySelector('#pagination .pagination-next:not([disabled])');\n\n const links = document.querySelectorAll('#pagination a:not([disabled])');\n\n links.forEach((link) => {\n link.addEventListener('click', get);\n });\n\n hasMorePages.value = Boolean(next);\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n };\n\n const more = () => {\n const next = document.querySelector('#pagination .pagination-next:not([disabled])');\n\n const componentName = getComponentName(next.href);\n\n nextPages.push(componentName);\n\n load(next, true);\n };\n\n onMounted(() => {\n init();\n });\n\n return {\n component,\n hasMorePages,\n more\n };\n }\n});\n</script>"],"names":["script","defineComponent","setup","component","ref","hasMorePages","visiblePages","pages","paginators","inited","cleared","titles","titlesDocument","extraDocument","getComponentName","href","last","substring","lastIndexOf","match","nextPages","window","location","get","e","preventDefault","currentTarget","load","button","isAppend","componentName","app","data","components","template","value","indexOf","classList","add","$http","then","response","clearInitial","html","document","createElement","innerHTML","products","title","h1","titleElement","querySelector","documentTitle","extra","push","paginator","getElementById","replaceWith","setPaginatorCurrentPages","scrollTo","top","left","behavior","setTimeout","history","pushState","nextTick","loadProductsCallback","lazyImages","update","init","forEach","link","querySelectorAll","product","remove","next","addEventListener","Boolean","onMounted","more","_hoisted_1","class","_createElementVNode","createElementVNode","_openBlock","_createElementBlock","openBlock","_createBlock","createBlock","_resolveDynamicComponent","_ctx","_hoisted_2","_renderSlot","renderSlot","$slots","onClick","apply","arguments","_hoisted_3","__"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../../src/js/components/shop/Pagination.vue","../../../../src/js/components/shop/Pagination.vue?vue&type=template&id=7a422d4c&lang.js"],"sourcesContent":["<template>\n <div class=\"shop-pagination has-text-centered mb-3\">\n <component :is=\"component\"></component>\n <div class=\"shop-pagination-more\" v-if=\"hasMorePages\">\n <slot :more=\"more\">\n <button class=\"button is-small\" @click=\"more\" aria-label=\"Load more\">\n <span class=\"icon is-small\">\n <i class=\"fas fa-sync-alt\"></i>\n </span>\n <span>{{ __('shop.pagination.more') }}</span>\n </button>\n </slot>\n </div>\n </div>\n</template>\n<script>\nimport { ref, onMounted, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n setup() {\n const component = ref(false);\n const hasMorePages = ref(true);\n const visiblePages = ref([]);\n\n let pages = [];\n let paginators = {};\n let inited = false;\n let cleared = false;\n let titles = {};\n let titlesDocument = {};\n let extraDocument = {};\n\n const getComponentName = (href) => {\n const last = href.substring(href.lastIndexOf('/') + 1);\n\n return 'page-product-' + (last.match(/^page([0-9]+)$/) ? last : 'page1');\n };\n\n let nextPages = [getComponentName(window.location.href)];\n\n const get = (e) => {\n e.preventDefault();\n\n nextPages = [getComponentName(e.currentTarget.href)];\n\n load(e.currentTarget);\n };\n\n const load = (button, isAppend) => {\n const href = button.href;\n\n const componentName = getComponentName(href);\n\n if (!inited) {\n window.app.component('products-paginate', {\n data() {\n return {\n components: visiblePages\n };\n },\n template: '<teleport to=\"#products\"><component :is=\"component\" v-for=\"(component, key) in components\" v-bind:key=\"key\"></component></teleport>'\n });\n\n component.value = 'products-paginate';\n inited = true;\n }\n\n if (pages.indexOf(componentName) === -1) {\n button.classList.add('is-loading');\n\n $http.get(href + '?paginator').then((response) => {\n clearInitial(isAppend);\n\n let html = document.createElement('html');\n\n html.innerHTML = response.data.products;\n\n const title = response.data.h1;\n\n if (title) {\n const titleElement = document.querySelector('.shop-subcategory-title h1');\n\n if (titleElement) {\n titleElement.innerHTML = title;\n }\n }\n\n window.app.component(componentName, {\n template: html.querySelector('#products').innerHTML\n });\n\n const documentTitle = response.data.title;\n\n titlesDocument[componentName] = documentTitle;\n extraDocument[componentName] = response.data.extra;\n titles[componentName] = title;\n\n pages.push(componentName);\n\n html.innerHTML = response.data.paginator;\n\n paginators[componentName] = response.data.paginator;\n\n document.getElementById('pagination').replaceWith(html.querySelector('#pagination'));\n\n if (!isAppend) {\n visiblePages.value = [componentName];\n\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n } else {\n visiblePages.value.push(componentName);\n setPaginatorCurrentPages(null, 'Pagination');\n }\n\n setTimeout(() => {\n document.title = documentTitle ? documentTitle : title;\n\n history.pushState(null, documentTitle, href);\n //history.pushState({ urlPath: href }, documentTitle, href);\n\n nextTick(() => {\n if (typeof window.loadProductsCallback == 'function') {\n window.loadProductsCallback(null, 'catalog', response.data.extra);\n }\n });\n }, 200)\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n nextTick(init);\n });\n } else {\n let html = document.createElement('html');\n html.innerHTML = paginators[componentName];\n\n document.getElementById('pagination').replaceWith(html.querySelector('#pagination'));\n\n if (!isAppend) {\n visiblePages.value = [componentName];\n\n if (titles[componentName]) {\n const titleElement = document.querySelector('.shop-subcategory-title h1');\n\n if (titleElement) {\n titleElement.innerHTML = titles[componentName];\n }\n }\n\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n } else {\n visiblePages.value.push(componentName);\n setPaginatorCurrentPages(null, 'Pagination');\n }\n\n setTimeout(() => {\n document.title = titlesDocument[componentName];\n\n //history.pushState({ urlPath: href }, titlesDocument[componentName], href);\n history.pushState(null, titlesDocument[componentName], href);\n\n nextTick(() => {\n if (typeof window.loadProductsCallback == 'function') {\n window.loadProductsCallback(null, 'catalog', extraDocument[componentName]);\n }\n });\n }, 200);\n\n nextTick(init);\n }\n };\n\n const setPaginatorCurrentPages = () => {\n const paginator = document.getElementById('pagination');\n\n nextPages.forEach((componentName) => {\n const link = paginator.querySelector('.' + componentName);\n\n if (link) {\n link.classList.add('is-current');\n }\n });\n };\n\n const clearInitial = (isAppend) => {\n if (!isAppend && !cleared) {\n let productsOld = document.querySelectorAll('#products > *');\n\n productsOld.forEach((product) => {\n product.remove();\n });\n\n cleared = true;\n }\n };\n\n const init = () => {\n const next = document.querySelector('#pagination .pagination-next:not([disabled])');\n\n const links = document.querySelectorAll('#pagination a:not([disabled])');\n\n links.forEach((link) => {\n link.addEventListener('click', get);\n });\n\n hasMorePages.value = Boolean(next);\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n };\n\n const more = () => {\n const next = document.querySelector('#pagination .pagination-next:not([disabled])');\n\n const componentName = getComponentName(next.href);\n\n nextPages.push(componentName);\n\n load(next, true);\n };\n\n onMounted(() => {\n init();\n });\n\n return {\n component,\n hasMorePages,\n more\n };\n }\n});\n</script>","<template>\n <div class=\"shop-pagination has-text-centered mb-3\">\n <component :is=\"component\"></component>\n <div class=\"shop-pagination-more\" v-if=\"hasMorePages\">\n <slot :more=\"more\">\n <button class=\"button is-small\" @click=\"more\" aria-label=\"Load more\">\n <span class=\"icon is-small\">\n <i class=\"fas fa-sync-alt\"></i>\n </span>\n <span>{{ __('shop.pagination.more') }}</span>\n </button>\n </slot>\n </div>\n </div>\n</template>\n<script>\nimport { ref, onMounted, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n setup() {\n const component = ref(false);\n const hasMorePages = ref(true);\n const visiblePages = ref([]);\n\n let pages = [];\n let paginators = {};\n let inited = false;\n let cleared = false;\n let titles = {};\n let titlesDocument = {};\n let extraDocument = {};\n\n const getComponentName = (href) => {\n const last = href.substring(href.lastIndexOf('/') + 1);\n\n return 'page-product-' + (last.match(/^page([0-9]+)$/) ? last : 'page1');\n };\n\n let nextPages = [getComponentName(window.location.href)];\n\n const get = (e) => {\n e.preventDefault();\n\n nextPages = [getComponentName(e.currentTarget.href)];\n\n load(e.currentTarget);\n };\n\n const load = (button, isAppend) => {\n const href = button.href;\n\n const componentName = getComponentName(href);\n\n if (!inited) {\n window.app.component('products-paginate', {\n data() {\n return {\n components: visiblePages\n };\n },\n template: '<teleport to=\"#products\"><component :is=\"component\" v-for=\"(component, key) in components\" v-bind:key=\"key\"></component></teleport>'\n });\n\n component.value = 'products-paginate';\n inited = true;\n }\n\n if (pages.indexOf(componentName) === -1) {\n button.classList.add('is-loading');\n\n $http.get(href + '?paginator').then((response) => {\n clearInitial(isAppend);\n\n let html = document.createElement('html');\n\n html.innerHTML = response.data.products;\n\n const title = response.data.h1;\n\n if (title) {\n const titleElement = document.querySelector('.shop-subcategory-title h1');\n\n if (titleElement) {\n titleElement.innerHTML = title;\n }\n }\n\n window.app.component(componentName, {\n template: html.querySelector('#products').innerHTML\n });\n\n const documentTitle = response.data.title;\n\n titlesDocument[componentName] = documentTitle;\n extraDocument[componentName] = response.data.extra;\n titles[componentName] = title;\n\n pages.push(componentName);\n\n html.innerHTML = response.data.paginator;\n\n paginators[componentName] = response.data.paginator;\n\n document.getElementById('pagination').replaceWith(html.querySelector('#pagination'));\n\n if (!isAppend) {\n visiblePages.value = [componentName];\n\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n } else {\n visiblePages.value.push(componentName);\n setPaginatorCurrentPages(null, 'Pagination');\n }\n\n setTimeout(() => {\n document.title = documentTitle ? documentTitle : title;\n\n history.pushState(null, documentTitle, href);\n //history.pushState({ urlPath: href }, documentTitle, href);\n\n nextTick(() => {\n if (typeof window.loadProductsCallback == 'function') {\n window.loadProductsCallback(null, 'catalog', response.data.extra);\n }\n });\n }, 200)\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n nextTick(init);\n });\n } else {\n let html = document.createElement('html');\n html.innerHTML = paginators[componentName];\n\n document.getElementById('pagination').replaceWith(html.querySelector('#pagination'));\n\n if (!isAppend) {\n visiblePages.value = [componentName];\n\n if (titles[componentName]) {\n const titleElement = document.querySelector('.shop-subcategory-title h1');\n\n if (titleElement) {\n titleElement.innerHTML = titles[componentName];\n }\n }\n\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'instant'\n });\n } else {\n visiblePages.value.push(componentName);\n setPaginatorCurrentPages(null, 'Pagination');\n }\n\n setTimeout(() => {\n document.title = titlesDocument[componentName];\n\n //history.pushState({ urlPath: href }, titlesDocument[componentName], href);\n history.pushState(null, titlesDocument[componentName], href);\n\n nextTick(() => {\n if (typeof window.loadProductsCallback == 'function') {\n window.loadProductsCallback(null, 'catalog', extraDocument[componentName]);\n }\n });\n }, 200);\n\n nextTick(init);\n }\n };\n\n const setPaginatorCurrentPages = () => {\n const paginator = document.getElementById('pagination');\n\n nextPages.forEach((componentName) => {\n const link = paginator.querySelector('.' + componentName);\n\n if (link) {\n link.classList.add('is-current');\n }\n });\n };\n\n const clearInitial = (isAppend) => {\n if (!isAppend && !cleared) {\n let productsOld = document.querySelectorAll('#products > *');\n\n productsOld.forEach((product) => {\n product.remove();\n });\n\n cleared = true;\n }\n };\n\n const init = () => {\n const next = document.querySelector('#pagination .pagination-next:not([disabled])');\n\n const links = document.querySelectorAll('#pagination a:not([disabled])');\n\n links.forEach((link) => {\n link.addEventListener('click', get);\n });\n\n hasMorePages.value = Boolean(next);\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n };\n\n const more = () => {\n const next = document.querySelector('#pagination .pagination-next:not([disabled])');\n\n const componentName = getComponentName(next.href);\n\n nextPages.push(componentName);\n\n load(next, true);\n };\n\n onMounted(() => {\n init();\n });\n\n return {\n component,\n hasMorePages,\n more\n };\n }\n});\n</script>"],"names":["script","defineComponent","setup","component","ref","hasMorePages","visiblePages","pages","paginators","inited","cleared","titles","titlesDocument","extraDocument","getComponentName","href","last","substring","lastIndexOf","match","nextPages","window","location","get","e","preventDefault","currentTarget","load","button","isAppend","componentName","app","data","components","template","value","indexOf","classList","add","$http","then","response","clearInitial","html","document","createElement","innerHTML","products","title","h1","titleElement","querySelector","documentTitle","extra","push","paginator","getElementById","replaceWith","setPaginatorCurrentPages","scrollTo","top","left","behavior","setTimeout","history","pushState","nextTick","loadProductsCallback","lazyImages","update","init","forEach","link","querySelectorAll","product","remove","next","addEventListener","Boolean","onMounted","more","_hoisted_1","class","_createElementVNode","createElementVNode","_openBlock","_createElementBlock","openBlock","_createBlock","createBlock","_resolveDynamicComponent","_ctx","_hoisted_2","_renderSlot","renderSlot","$slots","onClick","apply","arguments","aria-label","_hoisted_3","__"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),n=require("@perevorot/shop/dist/helpers"),l=require("swiper/core");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=o(l);c.default.use([l.Navigation]);var r=e.defineComponent({name:"cart",props:{isModal:{type:Boolean,default:!0}},setup:function(){var l=t.useStore(),o=e.ref(!1),r=e.computed((function(){return l.getters["cart/items"]})),a=e.computed((function(){return l.getters["cart/modal"]})),s=e.computed((function(){return l.getters["cart/total"]})),i=e.computed((function(){return l.getters["cart/quantity"]})),d=function(){l.commit("cart/modal",!1)};l.dispatch("cart/get",{finally:function(){}}),window.addEventListener("keyup",(function(e){a.value&&"Escape"===e.key&&d()}));var m,u,p=e.ref(null),v=e.ref(null),E=e.ref(null),k=e.computed((function(){var e=l.getters["cart/cross"];return p.value&&(m&&m.destroy(),e.length&&(m=new c.default(p.value,{slidesPerView:2,slidesPerGroup:2,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:v.value,prevEl:E.value}}))),e})),N=e.ref(null),V=e.ref(null),f=e.ref(null),g=e.computed((function(){var e=l.getters["cart/bundles"];return N.value&&(u&&u.destroy(),e.length&&(u=new c.default(N.value,{slidesPerView:1,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:V.value,prevEl:f.value}}))),e}));window.addEventListener("beforeunload",(function(){l.commit("cart/modal",null)})),window.addEventListener("pagehide",(function(){l.commit("cart/modal",null)}));return{loading:o,items:r,modal:a,total:s,quantity:i,open:function(){l.commit("cart/modal",!0)},close:d,clear:function(){o.value=!0,l.dispatch("cart/clear",{finally:function(){o.value=!1}})},pluralize:n.pluralize,goto:function(e){window.addEventListener("beforeunload",(function(){l.commit("cart/modal",!1)})),window.addEventListener("pagehide",(function(){l.commit("cart/modal",!1)})),window.location.href=e},cross:k,crossSlider:p,crossSliderPrev:E,crossSliderNext:v,bundles:g,bundlesSlider:N,bundlesSliderPrev:f,bundlesSliderNext:V,checkout:function(){try{var e=[];r.value.forEach((function(t){e.push({name:t.name,id:t.code,price:t.price,category:t.category?t.category.name:"",brand:t.brand?t.brand.name:"",quantity:t.quantity})}));var t={ecommerce:{checkout:{products:[e]}},event:"checkout",eventCallback:function(){window.location.href=$ziggy("shop.checkout")}};$env.debug.ecommerce&&console.log(JSON.stringify(t)),!$env.debug.ecommerce&&window.dataLayer?(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t)):window.location.href=$ziggy("shop.checkout")}catch(e){console.error(e),window.location.href=$ziggy("shop.checkout")}}}}}),a={class:"cart"},s={class:"dropdown is-right is-hoverable"},i={class:"dropdown-trigger"},d=e.createElementVNode("i",{class:"fas fa-shopping-cart"},null,-1),m=e.createElementVNode("span",{class:"icon is-small"},[e.createElementVNode("i",{class:"fas fa-angle-down","aria-hidden":"true"})],-1),u={class:"dropdown-menu",role:"menu"},p={key:0,class:"dropdown-content"},v={class:"cart-wrapper"},E={class:"cart-title"},k=["textContent"],N=["innerHTML"],V={class:"dropdown-item"},f={class:"columns"},g={class:"column"},h=["innerHTML"],w=e.createElementVNode("div",{class:"dropdown-divider"},null,-1),y={class:"dropdown-item has-text-centered"},B={class:"dropdown-item has-text-centered"},C={key:1,class:"dropdown-content"},b=e.createElementVNode("div",{class:"dropdown-item"},"Ваша корзина пуста",-1),x={class:"modal-content"},L=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],T={class:"box"},M={class:"cart-title"},S=e.createTextVNode("Корзина "),H=["textContent"],$={key:0,class:"items-wrapper"},q={class:"items"},z={class:"columns is-gapless is-vcentered main-actions"},D={class:"column"},_={class:"column has-text-right"},P={class:"totals"},O={class:"title"},F=e.createTextVNode("Итого: "),A=["innerHTML"],j={class:"column is-narrow"},G={key:0,class:"cross"},J=e.createElementVNode("div",{class:"title"},"С товарами из вашей корзины часто покупают",-1),I={class:"swiper-container",ref:"crossSlider"},K={class:"swiper-wrapper"},Q={class:"columns is-gapless"},R={class:"column is-narrow"},U=["onClick"],W=["src"],X={key:1},Y=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Z={class:"column"},ee={class:"product"},te={class:"name"},ne=["onClick"],le={class:"columns is-gapless is-vcentered"},oe={class:"column is-narrow"},ce={class:"prices"},re=["innerHTML"],ae=["innerHTML"],se={class:"column"},ie=e.createElementVNode("svg",null,[e.createElementVNode("use",{"xlink:href":"#cart-alternate"})],-1),de={class:"swiper-nav prev",ref:"crossSliderPrev"},me=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],ue={class:"swiper-nav next",ref:"crossSliderNext"},pe=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],ve={key:1,class:"bundles"},Ee=e.createElementVNode("div",{class:"title"},"Вместе дешевле",-1),ke={class:"swiper-container",ref:"bundlesSlider"},Ne={class:"swiper-wrapper"},Ve={class:"column is-narrow"},fe=["onClick"],ge=["src"],he={key:1},we=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],ye={class:"column"},Be={class:"product"},Ce={class:"name"},be=["onClick"],xe={class:"columns is-gapless is-vcentered"},Le={class:"prices"},Te=["innerHTML"],Me=e.createElementVNode("div",{class:"column is-narrow"},[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})])],-1),Se={class:"column is-narrow"},He=["onClick"],$e=["src"],qe={key:1},ze=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],De={class:"column"},_e={class:"product"},Pe={class:"name"},Oe=["onClick"],Fe={class:"columns is-gapless is-vcentered"},Ae={class:"prices"},je=["innerHTML"],Ge={key:0,class:"column is-narrow"},Je=[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})],-1)],Ie={key:1,class:"column is-narrow"},Ke=["onClick"],Qe=["src"],Re={key:1},Ue=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],We={key:2,class:"column"},Xe={class:"product"},Ye={class:"name"},Ze=["onClick"],et={class:"columns is-gapless is-vcentered"},tt={class:"prices"},nt=["innerHTML"],lt={class:"columns is-vcentered"},ot={class:"column"},ct=["innerHTML"],rt=["innerHTML"],at={class:"column"},st={class:"is-flex is-align-items-center"},it=["innerHTML"],dt={class:"swiper-nav prev",ref:"bundlesSliderPrev"},mt=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],ut={class:"swiper-nav next",ref:"bundlesSliderNext"},pt=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],vt={key:1,class:"empty"},Et=e.createElementVNode("div",{class:"title"},"В корзине пока что нет товаров",-1),kt={class:"message"},Nt=e.createTextVNode("Посмотрите предложения на "),Vt=e.createTextVNode(","),ft=e.createElementVNode("br",null,null,-1),gt=e.createTextVNode("воспользуйтесь каталогом или поиском"),ht={class:"viewed-wrapper"};r.render=function(t,n,l,o,c,r){var wt=e.resolveComponent("cart-inline"),yt=e.resolveComponent("cart-item"),Bt=e.resolveComponent("cart-add"),Ct=e.resolveComponent("bundle-add"),bt=e.resolveComponent("viewed");return e.openBlock(),e.createElementBlock("div",a,[e.createElementVNode("div",s,[e.createElementVNode("div",i,[e.renderSlot(t.$slots,"default",{total:t.quantity,open:t.open},(function(){return[e.createElementVNode("button",{class:"button",onClick:n[0]||(n[0]=function(){return t.open&&t.open.apply(t,arguments)})},[e.createElementVNode("span",null,[d,e.createTextVNode(" "+e.toDisplayString(t.quantity),1)]),m])]}))]),e.createElementVNode("div",u,[t.items.length?(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",v,[e.createElementVNode("div",E,[t.quantity?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.pluralize(t.quantity,t.__("shop.pluralize.products")))},null,8,k)):e.createCommentVNode("v-if",!0),e.createElementVNode("span",{innerHTML:t.$filters.price(t.total)},null,8,N)]),e.createVNode(wt)]),e.createElementVNode("div",V,[e.createElementVNode("div",f,[e.createElementVNode("div",g,e.toDisplayString(t.__("shop.cart.total")),1),e.createElementVNode("div",{class:"column has-text-right",innerHTML:t.$filters.price(t.total)},null,8,h)])]),w,e.createElementVNode("div",y,[e.createElementVNode("a",{onClick:n[1]||(n[1]=function(){return t.checkout&&t.checkout.apply(t,arguments)}),class:"button is-link"},e.toDisplayString(t.__("shop.cart.checkout")),1)]),e.createElementVNode("div",B,[e.renderSlot(t.$slots,"open",{open:t.open},(function(){return[e.createElementVNode("a",{onClick:n[2]||(n[2]=function(){return t.open&&t.open.apply(t,arguments)})},"Открыть корзину")]}))])])):(e.openBlock(),e.createElementBlock("div",C,[e.renderSlot(t.$slots,"empty",{},(function(){return[b]}))]))])]),t.isModal?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["modal",{"is-active":t.modal}])},[e.createElementVNode("div",{class:"modal-background",onClick:n[3]||(n[3]=function(){return t.close&&t.close.apply(t,arguments)})}),e.createElementVNode("div",x,[e.createElementVNode("button",{class:"modal-close is-large",onClick:n[4]||(n[4]=function(){return t.close&&t.close.apply(t,arguments)})},L),e.createElementVNode("div",T,[e.createElementVNode("div",M,[S,t.quantity?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.pluralize(t.quantity,t.__("shop.pluralize.products")))},null,8,H)):e.createCommentVNode("v-if",!0)]),t.items.length?(e.openBlock(),e.createElementBlock("div",$,[e.createElementVNode("div",q,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(function(t){return e.openBlock(),e.createBlock(yt,{key:t.id,item:t},null,8,["item"])})),128))]),e.createElementVNode("div",z,[e.createElementVNode("div",D,[e.createElementVNode("button",{class:"button continue",onClick:n[5]||(n[5]=function(){return t.close&&t.close.apply(t,arguments)})},"Продолжить покупки")]),e.createElementVNode("div",_,[e.createElementVNode("div",P,[e.createElementVNode("div",O,[F,e.createElementVNode("span",{innerHTML:t.$filters.price(t.total)},null,8,A)])])]),e.createElementVNode("div",j,[e.createElementVNode("a",{onClick:n[6]||(n[6]=function(){return t.checkout&&t.checkout.apply(t,arguments)}),class:"button is-link checkout"},"Оформить заказ")])]),t.cross.length?(e.openBlock(),e.createElementBlock("div",G,[J,e.createElementVNode("div",I,[e.createElementVNode("div",K,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.cross,(function(n){return e.openBlock(),e.createElementBlock("div",{class:"swiper-slide",key:n.id},[e.createElementVNode("div",Q,[e.createElementVNode("div",R,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!n.image}])},[n.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.image},null,8,W)):(e.openBlock(),e.createElementBlock("svg",X,Y))],2)],8,U)]),e.createElementVNode("div",Z,[e.createElementVNode("div",ee,[e.createElementVNode("div",te,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},e.toDisplayString(n.name),9,ne)]),e.createElementVNode("div",le,[e.createElementVNode("div",oe,[e.createElementVNode("div",ce,[n.priceOld?(e.openBlock(),e.createElementBlock("div",{key:0,class:"price-old",innerHTML:t.$filters.price(n.priceOld)},null,8,re)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price)},null,8,ae)])]),e.createElementVNode("div",se,[e.createVNode(Bt,{id:n.id,"is-simple":!0},{default:e.withCtx((function(){return[ie]})),_:2},1032,["id"])])])])])])])})),128))]),(e.openBlock(),e.createElementBlock("svg",de,me,512)),(e.openBlock(),e.createElementBlock("svg",ue,pe,512))],512)])):e.createCommentVNode("v-if",!0),t.bundles.length?(e.openBlock(),e.createElementBlock("div",ve,[Ee,e.createElementVNode("div",ke,[e.createElementVNode("div",Ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bundles,(function(n){return e.openBlock(),e.createElementBlock("div",{class:"swiper-slide",key:n.id},[e.createElementVNode("div",{class:e.normalizeClass(["columns is-gapless is-vcentered",{"is-third":n.third}])},[e.createElementVNode("div",Ve,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!n.image}])},[n.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.image},null,8,ge)):(e.openBlock(),e.createElementBlock("svg",he,we))],2)],8,fe)]),e.createElementVNode("div",ye,[e.createElementVNode("div",Be,[e.createElementVNode("div",Ce,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},e.toDisplayString(n.name),9,be)]),e.createElementVNode("div",xe,[e.createElementVNode("div",Le,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price)},null,8,Te)])])])]),Me,e.createElementVNode("div",Se,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.second.href)}},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!n.second.image}])},[n.second.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.second.image},null,8,$e)):(e.openBlock(),e.createElementBlock("svg",qe,ze))],2)],8,He)]),e.createElementVNode("div",De,[e.createElementVNode("div",_e,[e.createElementVNode("div",Pe,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.second.href)}},e.toDisplayString(n.second.name),9,Oe)]),e.createElementVNode("div",Fe,[e.createElementVNode("div",Ae,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.second.price)},null,8,je)])])])]),n.third?(e.openBlock(),e.createElementBlock("div",Ge,Je)):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.third.href)}},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!n.third.image}])},[n.third.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.third.image},null,8,Qe)):(e.openBlock(),e.createElementBlock("svg",Re,Ue))],2)],8,Ke)])):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("div",Xe,[e.createElementVNode("div",Ye,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.third.href)}},e.toDisplayString(n.third.name),9,Ze)]),e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.third.price)},null,8,nt)])])])])):e.createCommentVNode("v-if",!0)],2),e.createElementVNode("div",lt,[e.createElementVNode("div",ot,[e.createElementVNode("span",{class:"total-old",innerHTML:t.$filters.price(n.bundle.priceOld)},null,8,ct),e.createElementVNode("span",{class:"bundle-amount",innerHTML:"Выгода "+n.bundle.amount},null,8,rt)]),e.createElementVNode("div",at,[e.createElementVNode("div",st,[e.createElementVNode("span",{class:"total",innerHTML:t.$filters.price(n.bundle.price)},null,8,it),e.createVNode(Ct,{id:n.id,second:n.second.id,third:n.third?n.third.id:null},null,8,["id","second","third"])])])])])})),128))])],512),(e.openBlock(),e.createElementBlock("svg",dt,mt,512)),(e.openBlock(),e.createElementBlock("svg",ut,pt,512))])):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock("div",vt,[Et,e.createElementVNode("div",kt,[Nt,e.createElementVNode("a",{onClick:n[7]||(n[7]=function(e){return t.goto(t.$env.locale.url+"/")})},"главной странице"),Vt,ft,gt]),e.createElementVNode("button",{class:"button continue",onClick:n[8]||(n[8]=function(){return t.close&&t.close.apply(t,arguments)})},"Продолжить покупки"),e.createElementVNode("div",ht,[e.createVNode(bt,{slider:!0})])]))])])],2)):e.createCommentVNode("v-if",!0)])},module.exports=r;
1
+ "use strict";var e=require("vue"),t=require("vuex"),n=require("@perevorot/shop/dist/helpers"),l=require("swiper/core");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=o(l);c.default.use([l.Navigation]);var r=e.defineComponent({name:"cart",props:{isModal:{type:Boolean,default:!0}},setup:function(){var l=t.useStore(),o=e.ref(!1),r=e.computed((function(){return l.getters["cart/items"]})),a=e.computed((function(){return l.getters["cart/modal"]})),s=e.computed((function(){return l.getters["cart/total"]})),i=e.computed((function(){return l.getters["cart/quantity"]})),d=function(){l.commit("cart/modal",!1)};l.dispatch("cart/get",{finally:function(){}}),window.addEventListener("keyup",(function(e){a.value&&"Escape"===e.key&&d()}));var u,m,p=e.ref(null),v=e.ref(null),E=e.ref(null),k=e.computed((function(){var e=l.getters["cart/cross"];return p.value&&(u&&u.destroy(),e.length&&(u=new c.default(p.value,{slidesPerView:2,slidesPerGroup:2,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:v.value,prevEl:E.value}}))),e})),N=e.ref(null),V=e.ref(null),f=e.ref(null),g=e.computed((function(){var e=l.getters["cart/bundles"];return N.value&&(m&&m.destroy(),e.length&&(m=new c.default(N.value,{slidesPerView:1,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:V.value,prevEl:f.value}}))),e}));window.addEventListener("beforeunload",(function(){l.commit("cart/modal",null)})),window.addEventListener("pagehide",(function(){l.commit("cart/modal",null)}));return{loading:o,items:r,modal:a,total:s,quantity:i,open:function(){l.commit("cart/modal",!0)},close:d,clear:function(){o.value=!0,l.dispatch("cart/clear",{finally:function(){o.value=!1}})},pluralize:n.pluralize,goto:function(e){window.addEventListener("beforeunload",(function(){l.commit("cart/modal",!1)})),window.addEventListener("pagehide",(function(){l.commit("cart/modal",!1)})),window.location.href=e},cross:k,crossSlider:p,crossSliderPrev:E,crossSliderNext:v,bundles:g,bundlesSlider:N,bundlesSliderPrev:f,bundlesSliderNext:V,checkout:function(){try{var e=[];r.value.forEach((function(t){e.push({name:t.name,id:t.code,price:t.price,category:t.category?t.category.name:"",brand:t.brand?t.brand.name:"",quantity:t.quantity})}));var t={ecommerce:{checkout:{products:[e]}},event:"checkout",eventCallback:function(){window.location.href=$ziggy("shop.checkout")}};$env.debug.ecommerce&&console.log(JSON.stringify(t)),!$env.debug.ecommerce&&window.dataLayer?(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t)):window.location.href=$ziggy("shop.checkout")}catch(e){console.error(e),window.location.href=$ziggy("shop.checkout")}}}}}),a={class:"cart"},s={class:"dropdown is-right is-hoverable"},i={class:"dropdown-trigger"},d=e.createElementVNode("i",{class:"fas fa-shopping-cart"},null,-1),u=e.createElementVNode("span",{class:"icon is-small"},[e.createElementVNode("i",{class:"fas fa-angle-down","aria-hidden":"true"})],-1),m={class:"dropdown-menu",role:"menu"},p={key:0,class:"dropdown-content"},v={class:"cart-wrapper"},E={class:"cart-title"},k=["textContent"],N=["innerHTML"],V={class:"dropdown-item"},f={class:"columns"},g={class:"column"},h=["innerHTML"],w=e.createElementVNode("div",{class:"dropdown-divider"},null,-1),y={class:"dropdown-item has-text-centered"},B={class:"dropdown-item has-text-centered"},C={key:1,class:"dropdown-content"},b=e.createElementVNode("div",{class:"dropdown-item"},"Ваша корзина пуста",-1),x={class:"modal-content"},L=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],T={class:"box"},M={class:"cart-title"},S=e.createTextVNode("Корзина "),H=["textContent"],$={key:0,class:"items-wrapper"},q={class:"items"},z={class:"columns is-gapless is-vcentered main-actions"},D={class:"column"},_={class:"column has-text-right"},P={class:"totals"},O={class:"title"},F=e.createTextVNode("Итого: "),A=["innerHTML"],j={class:"column is-narrow"},G={key:0,class:"cross"},J=e.createElementVNode("div",{class:"title"},"С товарами из вашей корзины часто покупают",-1),I={class:"swiper-container",ref:"crossSlider"},K={class:"swiper-wrapper"},Q={class:"columns is-gapless"},R={class:"column is-narrow"},U=["onClick"],W=["src"],X={key:1},Y=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Z={class:"column"},ee={class:"product"},te={class:"name"},ne=["onClick"],le={class:"columns is-gapless is-vcentered"},oe={class:"column is-narrow"},ce={class:"prices"},re=["innerHTML"],ae=["innerHTML"],se={class:"column"},ie=e.createElementVNode("svg",null,[e.createElementVNode("use",{"xlink:href":"#cart-alternate"})],-1),de={class:"swiper-nav prev",ref:"crossSliderPrev"},ue=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],me={class:"swiper-nav next",ref:"crossSliderNext"},pe=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],ve={key:1,class:"bundles"},Ee=e.createElementVNode("div",{class:"title"},"Вместе дешевле",-1),ke={class:"swiper-container",ref:"bundlesSlider"},Ne={class:"swiper-wrapper"},Ve={class:"column is-narrow"},fe=["onClick"],ge=["src"],he={key:1},we=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],ye={class:"column"},Be={class:"product"},Ce={class:"name"},be=["onClick"],xe={class:"columns is-gapless is-vcentered"},Le={class:"prices"},Te=["innerHTML"],Me=e.createElementVNode("div",{class:"column is-narrow"},[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})])],-1),Se={class:"column is-narrow"},He=["onClick"],$e=["src"],qe={key:1},ze=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],De={class:"column"},_e={class:"product"},Pe={class:"name"},Oe=["onClick"],Fe={class:"columns is-gapless is-vcentered"},Ae={class:"prices"},je=["innerHTML"],Ge={key:0,class:"column is-narrow"},Je=[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})],-1)],Ie={key:1,class:"column is-narrow"},Ke=["onClick"],Qe=["src"],Re={key:1},Ue=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],We={key:2,class:"column"},Xe={class:"product"},Ye={class:"name"},Ze=["onClick"],et={class:"columns is-gapless is-vcentered"},tt={class:"prices"},nt=["innerHTML"],lt={class:"columns is-vcentered"},ot={class:"column"},ct=["innerHTML"],rt=["innerHTML"],at={class:"column"},st={class:"is-flex is-align-items-center"},it=["innerHTML"],dt={class:"swiper-nav prev",ref:"bundlesSliderPrev"},ut=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],mt={class:"swiper-nav next",ref:"bundlesSliderNext"},pt=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],vt={key:1,class:"empty"},Et=e.createElementVNode("div",{class:"title"},"В корзине пока что нет товаров",-1),kt={class:"message"},Nt=e.createTextVNode("Посмотрите предложения на "),Vt=e.createTextVNode(","),ft=e.createElementVNode("br",null,null,-1),gt=e.createTextVNode("воспользуйтесь каталогом или поиском"),ht={class:"viewed-wrapper"};r.render=function(t,n,l,o,c,r){var wt=e.resolveComponent("cart-inline"),yt=e.resolveComponent("cart-item"),Bt=e.resolveComponent("cart-add"),Ct=e.resolveComponent("bundle-add"),bt=e.resolveComponent("viewed");return e.openBlock(),e.createElementBlock("div",a,[e.createElementVNode("div",s,[e.createElementVNode("div",i,[e.renderSlot(t.$slots,"default",{total:t.quantity,open:t.open},(function(){return[e.createElementVNode("button",{class:"button",onClick:n[0]||(n[0]=function(){return t.open&&t.open.apply(t,arguments)}),"aria-label":"Open cart"},[e.createElementVNode("span",null,[d,e.createTextVNode(" "+e.toDisplayString(t.quantity),1)]),u])]}))]),e.createElementVNode("div",m,[t.items.length?(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",v,[e.createElementVNode("div",E,[t.quantity?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.pluralize(t.quantity,t.__("shop.pluralize.products")))},null,8,k)):e.createCommentVNode("v-if",!0),e.createElementVNode("span",{innerHTML:t.$filters.price(t.total)},null,8,N)]),e.createVNode(wt)]),e.createElementVNode("div",V,[e.createElementVNode("div",f,[e.createElementVNode("div",g,e.toDisplayString(t.__("shop.cart.total")),1),e.createElementVNode("div",{class:"column has-text-right",innerHTML:t.$filters.price(t.total)},null,8,h)])]),w,e.createElementVNode("div",y,[e.createElementVNode("a",{onClick:n[1]||(n[1]=function(){return t.checkout&&t.checkout.apply(t,arguments)}),class:"button is-link"},e.toDisplayString(t.__("shop.cart.checkout")),1)]),e.createElementVNode("div",B,[e.renderSlot(t.$slots,"open",{open:t.open},(function(){return[e.createElementVNode("a",{onClick:n[2]||(n[2]=function(){return t.open&&t.open.apply(t,arguments)})},"Открыть корзину")]}))])])):(e.openBlock(),e.createElementBlock("div",C,[e.renderSlot(t.$slots,"empty",{},(function(){return[b]}))]))])]),t.isModal?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["modal",{"is-active":t.modal}])},[e.createElementVNode("div",{class:"modal-background",onClick:n[3]||(n[3]=function(){return t.close&&t.close.apply(t,arguments)})}),e.createElementVNode("div",x,[e.createElementVNode("button",{class:"modal-close is-large",onClick:n[4]||(n[4]=function(){return t.close&&t.close.apply(t,arguments)}),"aria-label":"Close"},L),e.createElementVNode("div",T,[e.createElementVNode("div",M,[S,t.quantity?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.pluralize(t.quantity,t.__("shop.pluralize.products")))},null,8,H)):e.createCommentVNode("v-if",!0)]),t.items.length?(e.openBlock(),e.createElementBlock("div",$,[e.createElementVNode("div",q,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(function(t){return e.openBlock(),e.createBlock(yt,{key:t.id,item:t},null,8,["item"])})),128))]),e.createElementVNode("div",z,[e.createElementVNode("div",D,[e.createElementVNode("button",{class:"button continue",onClick:n[5]||(n[5]=function(){return t.close&&t.close.apply(t,arguments)}),"aria-label":"Continue"},"Продолжить покупки")]),e.createElementVNode("div",_,[e.createElementVNode("div",P,[e.createElementVNode("div",O,[F,e.createElementVNode("span",{innerHTML:t.$filters.price(t.total)},null,8,A)])])]),e.createElementVNode("div",j,[e.createElementVNode("a",{onClick:n[6]||(n[6]=function(){return t.checkout&&t.checkout.apply(t,arguments)}),class:"button is-link checkout"},"Оформить заказ")])]),t.cross.length?(e.openBlock(),e.createElementBlock("div",G,[J,e.createElementVNode("div",I,[e.createElementVNode("div",K,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.cross,(function(n){return e.openBlock(),e.createElementBlock("div",{class:"swiper-slide",key:n.id},[e.createElementVNode("div",Q,[e.createElementVNode("div",R,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!n.image}])},[n.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.image},null,8,W)):(e.openBlock(),e.createElementBlock("svg",X,Y))],2)],8,U)]),e.createElementVNode("div",Z,[e.createElementVNode("div",ee,[e.createElementVNode("div",te,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},e.toDisplayString(n.name),9,ne)]),e.createElementVNode("div",le,[e.createElementVNode("div",oe,[e.createElementVNode("div",ce,[n.priceOld?(e.openBlock(),e.createElementBlock("div",{key:0,class:"price-old",innerHTML:t.$filters.price(n.priceOld)},null,8,re)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price)},null,8,ae)])]),e.createElementVNode("div",se,[e.createVNode(Bt,{id:n.id,"is-simple":!0},{default:e.withCtx((function(){return[ie]})),_:2},1032,["id"])])])])])])])})),128))]),(e.openBlock(),e.createElementBlock("svg",de,ue,512)),(e.openBlock(),e.createElementBlock("svg",me,pe,512))],512)])):e.createCommentVNode("v-if",!0),t.bundles.length?(e.openBlock(),e.createElementBlock("div",ve,[Ee,e.createElementVNode("div",ke,[e.createElementVNode("div",Ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bundles,(function(n){return e.openBlock(),e.createElementBlock("div",{class:"swiper-slide",key:n.id},[e.createElementVNode("div",{class:e.normalizeClass(["columns is-gapless is-vcentered",{"is-third":n.third}])},[e.createElementVNode("div",Ve,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!n.image}])},[n.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.image},null,8,ge)):(e.openBlock(),e.createElementBlock("svg",he,we))],2)],8,fe)]),e.createElementVNode("div",ye,[e.createElementVNode("div",Be,[e.createElementVNode("div",Ce,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},e.toDisplayString(n.name),9,be)]),e.createElementVNode("div",xe,[e.createElementVNode("div",Le,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price)},null,8,Te)])])])]),Me,e.createElementVNode("div",Se,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.second.href)}},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!n.second.image}])},[n.second.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.second.image},null,8,$e)):(e.openBlock(),e.createElementBlock("svg",qe,ze))],2)],8,He)]),e.createElementVNode("div",De,[e.createElementVNode("div",_e,[e.createElementVNode("div",Pe,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.second.href)}},e.toDisplayString(n.second.name),9,Oe)]),e.createElementVNode("div",Fe,[e.createElementVNode("div",Ae,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.second.price)},null,8,je)])])])]),n.third?(e.openBlock(),e.createElementBlock("div",Ge,Je)):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.third.href)}},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!n.third.image}])},[n.third.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.third.image},null,8,Qe)):(e.openBlock(),e.createElementBlock("svg",Re,Ue))],2)],8,Ke)])):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("div",Xe,[e.createElementVNode("div",Ye,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.third.href)}},e.toDisplayString(n.third.name),9,Ze)]),e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.third.price)},null,8,nt)])])])])):e.createCommentVNode("v-if",!0)],2),e.createElementVNode("div",lt,[e.createElementVNode("div",ot,[e.createElementVNode("span",{class:"total-old",innerHTML:t.$filters.price(n.bundle.priceOld)},null,8,ct),e.createElementVNode("span",{class:"bundle-amount",innerHTML:"Выгода "+n.bundle.amount},null,8,rt)]),e.createElementVNode("div",at,[e.createElementVNode("div",st,[e.createElementVNode("span",{class:"total",innerHTML:t.$filters.price(n.bundle.price)},null,8,it),e.createVNode(Ct,{id:n.id,second:n.second.id,third:n.third?n.third.id:null},null,8,["id","second","third"])])])])])})),128))])],512),(e.openBlock(),e.createElementBlock("svg",dt,ut,512)),(e.openBlock(),e.createElementBlock("svg",mt,pt,512))])):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock("div",vt,[Et,e.createElementVNode("div",kt,[Nt,e.createElementVNode("a",{onClick:n[7]||(n[7]=function(e){return t.goto(t.$env.locale.url+"/")})},"главной странице"),Vt,ft,gt]),e.createElementVNode("button",{class:"button continue",onClick:n[8]||(n[8]=function(){return t.close&&t.close.apply(t,arguments)}),"aria-label":"Continue"},"Продолжить покупки"),e.createElementVNode("div",ht,[e.createVNode(bt,{slider:!0})])]))])])],2)):e.createCommentVNode("v-if",!0)])},module.exports=r;
2
2
  //# sourceMappingURL=Cart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cart.js","sources":["../../../../../src/js/components/shop/cart/Cart.vue","../../../../../src/js/components/shop/cart/Cart.vue?vue&type=template&id=8e6d83e4&lang.js"],"sourcesContent":["<template>\n <div class=\"cart\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <slot :total=\"quantity\" :open=\"open\">\n <button class=\"button\" @click=\"open\">\n <span> <i class=\"fas fa-shopping-cart\"></i> {{ quantity }} </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </slot>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\" v-if=\"items.length\">\n <div class=\"cart-wrapper\">\n <div class=\"cart-title\"><span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span><span v-html=\"$filters.price(total)\"></span></div>\n <cart-inline></cart-inline>\n </div>\n <div class=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">\n {{ __('shop.cart.total') }}\n </div>\n <div class=\"column has-text-right\" v-html=\"$filters.price(total)\"></div>\n </div>\n </div>\n <div class=\"dropdown-divider\"></div>\n <div class=\"dropdown-item has-text-centered\">\n <a @click=\"checkout\" class=\"button is-link\">{{ __('shop.cart.checkout') }}</a>\n </div>\n <div class=\"dropdown-item has-text-centered\">\n <slot name=\"open\" :open=\"open\">\n <a @click=\"open\">Открыть корзину</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">Ваша корзина пуста</div>\n </slot>\n </div>\n </div>\n </div>\n <div class=\"modal\" v-if=\"isModal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"cart-title\">Корзина <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span></div>\n <div class=\"items-wrapper\" v-if=\"items.length\">\n <div class=\"items\">\n <cart-item v-for=\"item in items\" v-bind:key=\"item.id\" :item=\"item\"></cart-item>\n </div>\n\n <div class=\"columns is-gapless is-vcentered main-actions\">\n <div class=\"column\">\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">Итого: <span v-html=\"$filters.price(total)\"></span></div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">Оформить заказ</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">С товарами из вашей корзины часто покупают</div>\n <div class=\"swiper-container\" ref=\"crossSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in cross\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"column is-narrow\">\n <div class=\"prices\">\n <div class=\"price-old\" v-if=\"item.priceOld\" v-html=\"$filters.price(item.priceOld)\"></div>\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n <div class=\"column\">\n <cart-add :id=\"item.id\" :is-simple=\"true\">\n <svg>\n <use xlink:href=\"#cart-alternate\" />\n </svg>\n </cart-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"crossSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"crossSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n\n <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">Вместе дешевле</div>\n <div class=\"swiper-container\" ref=\"bundlesSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in bundles\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless is-vcentered\" v-bind:class=\"{ 'is-third': item.third }\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.second.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.second.image }\">\n <img :src=\"item.second.image\" v-if=\"item.second.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.second.href)\">{{ item.second.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.second.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <a @click=\"goto(item.third.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.third.image }\">\n <img :src=\"item.third.image\" v-if=\"item.third.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\" v-if=\"item.third\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.third.href)\">{{ item.third.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.third.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <span class=\"total-old\" v-html=\"$filters.price(item.bundle.priceOld)\"></span>\n <span class=\"bundle-amount\" v-html=\"'Выгода ' + item.bundle.amount\"></span>\n </div>\n <div class=\"column\">\n <div class=\"is-flex is-align-items-center\">\n <span class=\"total\" v-html=\"$filters.price(item.bundle.price)\"></span>\n <bundle-add :id=\"item.id\" :second=\"item.second.id\" v-bind:third=\"item.third ? item.third.id : null\"></bundle-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"bundlesSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"bundlesSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n <div v-else class=\"empty\">\n <div class=\"title\">В корзине пока что нет товаров</div>\n <div class=\"message\">Посмотрите предложения на <a @click=\"goto($env.locale.url + '/')\">главной странице</a>,<br />воспользуйтесь каталогом или поиском</div>\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n <div class=\"viewed-wrapper\">\n <viewed :slider=\"true\"></viewed>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, defineComponent } from 'vue';\nimport { useStore } from 'vuex';\nimport { pluralize } from '@perevorot/shop/dist/helpers';\nimport SwiperCore, { Navigation } from 'swiper/core';\n\nSwiperCore.use([Navigation]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'cart',\n props: {\n isModal: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n\n const items = computed(() => store.getters['cart/items']);\n const modal = computed(() => store.getters['cart/modal']);\n const total = computed(() => store.getters['cart/total']);\n const quantity = computed(() => store.getters['cart/quantity']);\n\n const open = () => {\n store.commit('cart/modal', true);\n };\n\n const close = () => {\n store.commit('cart/modal', false);\n };\n\n const clear = () => {\n loading.value = true;\n\n store.dispatch('cart/clear', {\n finally: () => {\n loading.value = false;\n }\n });\n };\n\n store.dispatch(\"cart/get\", {\n finally: () => {\n },\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n const goto = (href) => {\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', false);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', false);\n });\n\n window.location.href = href;\n };\n\n let crossSwiper;\n const crossSlider = ref(null);\n const crossSliderNext = ref(null);\n const crossSliderPrev = ref(null);\n\n const cross = computed(() => {\n const cross = store.getters['cart/cross'];\n\n if (crossSlider.value) {\n if (crossSwiper) {\n crossSwiper.destroy();\n }\n\n if (cross.length) {\n crossSwiper = new SwiperCore(crossSlider.value, {\n slidesPerView: 2,\n slidesPerGroup: 2,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: crossSliderNext.value,\n prevEl: crossSliderPrev.value\n }\n });\n }\n }\n\n return cross;\n });\n\n let bundlesSwiper;\n const bundlesSlider = ref(null);\n const bundlesSliderNext = ref(null);\n const bundlesSliderPrev = ref(null);\n\n const bundles = computed(() => {\n const bundles = store.getters['cart/bundles'];\n\n if (bundlesSlider.value) {\n if (bundlesSwiper) {\n bundlesSwiper.destroy();\n }\n\n if (bundles.length) {\n bundlesSwiper = new SwiperCore(bundlesSlider.value, {\n slidesPerView: 1,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: bundlesSliderNext.value,\n prevEl: bundlesSliderPrev.value\n }\n });\n }\n }\n\n return bundles;\n });\n\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', null);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', null);\n });\n\n const checkout = () => {\n try {\n let products = [];\n\n items.value.forEach((item) => {\n products.push({\n name: item.name,\n id: item.code,\n price: item.price,\n category: item.category ? item.category.name : '',\n brand: item.brand ? item.brand.name : '',\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'checkout',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if ($env.debug.ecommerce) {\n console.log(JSON.stringify(object));\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n } else {\n window.location.href = $ziggy('shop.checkout');\n }\n } catch (error) {\n console.error(error);\n\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n return {\n loading,\n items,\n modal,\n total,\n quantity,\n open,\n close,\n clear,\n pluralize,\n goto,\n cross,\n crossSlider,\n crossSliderPrev,\n crossSliderNext,\n bundles,\n bundlesSlider,\n bundlesSliderPrev,\n bundlesSliderNext,\n checkout\n };\n }\n});\n</script>","<template>\n <div class=\"cart\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <slot :total=\"quantity\" :open=\"open\">\n <button class=\"button\" @click=\"open\">\n <span> <i class=\"fas fa-shopping-cart\"></i> {{ quantity }} </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </slot>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\" v-if=\"items.length\">\n <div class=\"cart-wrapper\">\n <div class=\"cart-title\"><span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span><span v-html=\"$filters.price(total)\"></span></div>\n <cart-inline></cart-inline>\n </div>\n <div class=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">\n {{ __('shop.cart.total') }}\n </div>\n <div class=\"column has-text-right\" v-html=\"$filters.price(total)\"></div>\n </div>\n </div>\n <div class=\"dropdown-divider\"></div>\n <div class=\"dropdown-item has-text-centered\">\n <a @click=\"checkout\" class=\"button is-link\">{{ __('shop.cart.checkout') }}</a>\n </div>\n <div class=\"dropdown-item has-text-centered\">\n <slot name=\"open\" :open=\"open\">\n <a @click=\"open\">Открыть корзину</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">Ваша корзина пуста</div>\n </slot>\n </div>\n </div>\n </div>\n <div class=\"modal\" v-if=\"isModal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"cart-title\">Корзина <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span></div>\n <div class=\"items-wrapper\" v-if=\"items.length\">\n <div class=\"items\">\n <cart-item v-for=\"item in items\" v-bind:key=\"item.id\" :item=\"item\"></cart-item>\n </div>\n\n <div class=\"columns is-gapless is-vcentered main-actions\">\n <div class=\"column\">\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">Итого: <span v-html=\"$filters.price(total)\"></span></div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">Оформить заказ</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">С товарами из вашей корзины часто покупают</div>\n <div class=\"swiper-container\" ref=\"crossSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in cross\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"column is-narrow\">\n <div class=\"prices\">\n <div class=\"price-old\" v-if=\"item.priceOld\" v-html=\"$filters.price(item.priceOld)\"></div>\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n <div class=\"column\">\n <cart-add :id=\"item.id\" :is-simple=\"true\">\n <svg>\n <use xlink:href=\"#cart-alternate\" />\n </svg>\n </cart-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"crossSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"crossSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n\n <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">Вместе дешевле</div>\n <div class=\"swiper-container\" ref=\"bundlesSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in bundles\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless is-vcentered\" v-bind:class=\"{ 'is-third': item.third }\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.second.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.second.image }\">\n <img :src=\"item.second.image\" v-if=\"item.second.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.second.href)\">{{ item.second.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.second.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <a @click=\"goto(item.third.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.third.image }\">\n <img :src=\"item.third.image\" v-if=\"item.third.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\" v-if=\"item.third\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.third.href)\">{{ item.third.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.third.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <span class=\"total-old\" v-html=\"$filters.price(item.bundle.priceOld)\"></span>\n <span class=\"bundle-amount\" v-html=\"'Выгода ' + item.bundle.amount\"></span>\n </div>\n <div class=\"column\">\n <div class=\"is-flex is-align-items-center\">\n <span class=\"total\" v-html=\"$filters.price(item.bundle.price)\"></span>\n <bundle-add :id=\"item.id\" :second=\"item.second.id\" v-bind:third=\"item.third ? item.third.id : null\"></bundle-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"bundlesSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"bundlesSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n <div v-else class=\"empty\">\n <div class=\"title\">В корзине пока что нет товаров</div>\n <div class=\"message\">Посмотрите предложения на <a @click=\"goto($env.locale.url + '/')\">главной странице</a>,<br />воспользуйтесь каталогом или поиском</div>\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n <div class=\"viewed-wrapper\">\n <viewed :slider=\"true\"></viewed>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, defineComponent } from 'vue';\nimport { useStore } from 'vuex';\nimport { pluralize } from '@perevorot/shop/dist/helpers';\nimport SwiperCore, { Navigation } from 'swiper/core';\n\nSwiperCore.use([Navigation]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'cart',\n props: {\n isModal: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n\n const items = computed(() => store.getters['cart/items']);\n const modal = computed(() => store.getters['cart/modal']);\n const total = computed(() => store.getters['cart/total']);\n const quantity = computed(() => store.getters['cart/quantity']);\n\n const open = () => {\n store.commit('cart/modal', true);\n };\n\n const close = () => {\n store.commit('cart/modal', false);\n };\n\n const clear = () => {\n loading.value = true;\n\n store.dispatch('cart/clear', {\n finally: () => {\n loading.value = false;\n }\n });\n };\n\n store.dispatch(\"cart/get\", {\n finally: () => {\n },\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n const goto = (href) => {\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', false);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', false);\n });\n\n window.location.href = href;\n };\n\n let crossSwiper;\n const crossSlider = ref(null);\n const crossSliderNext = ref(null);\n const crossSliderPrev = ref(null);\n\n const cross = computed(() => {\n const cross = store.getters['cart/cross'];\n\n if (crossSlider.value) {\n if (crossSwiper) {\n crossSwiper.destroy();\n }\n\n if (cross.length) {\n crossSwiper = new SwiperCore(crossSlider.value, {\n slidesPerView: 2,\n slidesPerGroup: 2,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: crossSliderNext.value,\n prevEl: crossSliderPrev.value\n }\n });\n }\n }\n\n return cross;\n });\n\n let bundlesSwiper;\n const bundlesSlider = ref(null);\n const bundlesSliderNext = ref(null);\n const bundlesSliderPrev = ref(null);\n\n const bundles = computed(() => {\n const bundles = store.getters['cart/bundles'];\n\n if (bundlesSlider.value) {\n if (bundlesSwiper) {\n bundlesSwiper.destroy();\n }\n\n if (bundles.length) {\n bundlesSwiper = new SwiperCore(bundlesSlider.value, {\n slidesPerView: 1,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: bundlesSliderNext.value,\n prevEl: bundlesSliderPrev.value\n }\n });\n }\n }\n\n return bundles;\n });\n\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', null);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', null);\n });\n\n const checkout = () => {\n try {\n let products = [];\n\n items.value.forEach((item) => {\n products.push({\n name: item.name,\n id: item.code,\n price: item.price,\n category: item.category ? item.category.name : '',\n brand: item.brand ? item.brand.name : '',\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'checkout',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if ($env.debug.ecommerce) {\n console.log(JSON.stringify(object));\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n } else {\n window.location.href = $ziggy('shop.checkout');\n }\n } catch (error) {\n console.error(error);\n\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n return {\n loading,\n items,\n modal,\n total,\n quantity,\n open,\n close,\n clear,\n pluralize,\n goto,\n cross,\n crossSlider,\n crossSliderPrev,\n crossSliderNext,\n bundles,\n bundlesSlider,\n bundlesSliderPrev,\n bundlesSliderNext,\n checkout\n };\n }\n});\n</script>"],"names":["SwiperCore","use","Navigation","script","defineComponent","name","props","isModal","type","Boolean","default","setup","store","useStore","loading","ref","items","computed","getters","modal","total","quantity","close","commit","dispatch","finally","window","addEventListener","e","value","key","crossSwiper","bundlesSwiper","crossSlider","crossSliderNext","crossSliderPrev","cross","destroy","length","slidesPerView","slidesPerGroup","spaceBetween","allowTouchMove","mousewheel","forceToAxis","navigation","nextEl","prevEl","bundlesSlider","bundlesSliderNext","bundlesSliderPrev","bundles","open","clear","pluralize","goto","href","location","checkout","products","forEach","item","push","id","code","price","category","brand","object","ecommerce","event","eventCallback","$ziggy","$env","debug","console","log","JSON","stringify","dataLayer","error","_hoisted_1","class","_hoisted_2","_hoisted_3","_createElementVNode","createElementVNode","aria-hidden","role","_hoisted_8","_hoisted_9","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_17","_hoisted_18","_hoisted_20","_hoisted_21","xlink:href","_hoisted_24","_hoisted_25","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_37","_hoisted_39","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_58","_hoisted_67","_hoisted_69","_hoisted_70","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_80","_hoisted_81","_hoisted_84","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_94","_hoisted_95","_hoisted_107","_hoisted_108","_hoisted_110","_hoisted_111","_hoisted_113","_hoisted_114","_hoisted_117","_hoisted_118","_hoisted_127","_hoisted_128","_hoisted_133","_openBlock","_createElementBlock","_renderSlot","renderSlot","_ctx","$slots","onClick","apply","arguments","_hoisted_4","_createTextVNode","_hoisted_5","_hoisted_6","_hoisted_7","textContent","_toDisplayString","__","innerHTML","$filters","_createVNode","createVNode","_component_cart_inline","_hoisted_16","createElementBlock","_hoisted_19","_normalizeClass","is-active","openBlock","_hoisted_28","_Fragment","Fragment","_renderList","renderList","_createBlock","createBlock","_component_cart_item","_hoisted_38","_hoisted_40","$event","no-thumb","image","src","_hoisted_46","_hoisted_48","_hoisted_52","priceOld","_component_cart_add","is-simple","_hoisted_59","_hoisted_60","_hoisted_62","_hoisted_63","_hoisted_65","_hoisted_66","_hoisted_68","is-third","third","_hoisted_73","_hoisted_75","_hoisted_79","_hoisted_83","second","_hoisted_87","_hoisted_89","_hoisted_93","_hoisted_97","_hoisted_99","_hoisted_100","_hoisted_103","_hoisted_105","_hoisted_106","_hoisted_109","bundle","amount","_component_bundle_add","_hoisted_120","_hoisted_122","_hoisted_123","_hoisted_125","_hoisted_126","locale","url","_hoisted_131","_component_viewed","slider"],"mappings":"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"}
1
+ {"version":3,"file":"Cart.js","sources":["../../../../../src/js/components/shop/cart/Cart.vue","../../../../../src/js/components/shop/cart/Cart.vue?vue&type=template&id=1678a1f0&lang.js"],"sourcesContent":["<template>\n <div class=\"cart\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <slot :total=\"quantity\" :open=\"open\">\n <button class=\"button\" @click=\"open\" aria-label=\"Open cart\">\n <span> <i class=\"fas fa-shopping-cart\"></i> {{ quantity }} </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </slot>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\" v-if=\"items.length\">\n <div class=\"cart-wrapper\">\n <div class=\"cart-title\"><span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span><span v-html=\"$filters.price(total)\"></span></div>\n <cart-inline></cart-inline>\n </div>\n <div class=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">\n {{ __('shop.cart.total') }}\n </div>\n <div class=\"column has-text-right\" v-html=\"$filters.price(total)\"></div>\n </div>\n </div>\n <div class=\"dropdown-divider\"></div>\n <div class=\"dropdown-item has-text-centered\">\n <a @click=\"checkout\" class=\"button is-link\">{{ __('shop.cart.checkout') }}</a>\n </div>\n <div class=\"dropdown-item has-text-centered\">\n <slot name=\"open\" :open=\"open\">\n <a @click=\"open\">Открыть корзину</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">Ваша корзина пуста</div>\n </slot>\n </div>\n </div>\n </div>\n <div class=\"modal\" v-if=\"isModal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\" aria-label=\"Close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"cart-title\">Корзина <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span></div>\n <div class=\"items-wrapper\" v-if=\"items.length\">\n <div class=\"items\">\n <cart-item v-for=\"item in items\" v-bind:key=\"item.id\" :item=\"item\"></cart-item>\n </div>\n\n <div class=\"columns is-gapless is-vcentered main-actions\">\n <div class=\"column\">\n <button class=\"button continue\" @click=\"close\" aria-label=\"Continue\">Продолжить покупки</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">Итого: <span v-html=\"$filters.price(total)\"></span></div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">Оформить заказ</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">С товарами из вашей корзины часто покупают</div>\n <div class=\"swiper-container\" ref=\"crossSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in cross\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"column is-narrow\">\n <div class=\"prices\">\n <div class=\"price-old\" v-if=\"item.priceOld\" v-html=\"$filters.price(item.priceOld)\"></div>\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n <div class=\"column\">\n <cart-add :id=\"item.id\" :is-simple=\"true\">\n <svg>\n <use xlink:href=\"#cart-alternate\" />\n </svg>\n </cart-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"crossSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"crossSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n\n <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">Вместе дешевле</div>\n <div class=\"swiper-container\" ref=\"bundlesSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in bundles\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless is-vcentered\" v-bind:class=\"{ 'is-third': item.third }\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.second.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.second.image }\">\n <img :src=\"item.second.image\" v-if=\"item.second.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.second.href)\">{{ item.second.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.second.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <a @click=\"goto(item.third.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.third.image }\">\n <img :src=\"item.third.image\" v-if=\"item.third.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\" v-if=\"item.third\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.third.href)\">{{ item.third.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.third.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <span class=\"total-old\" v-html=\"$filters.price(item.bundle.priceOld)\"></span>\n <span class=\"bundle-amount\" v-html=\"'Выгода ' + item.bundle.amount\"></span>\n </div>\n <div class=\"column\">\n <div class=\"is-flex is-align-items-center\">\n <span class=\"total\" v-html=\"$filters.price(item.bundle.price)\"></span>\n <bundle-add :id=\"item.id\" :second=\"item.second.id\" v-bind:third=\"item.third ? item.third.id : null\"></bundle-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"bundlesSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"bundlesSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n <div v-else class=\"empty\">\n <div class=\"title\">В корзине пока что нет товаров</div>\n <div class=\"message\">Посмотрите предложения на <a @click=\"goto($env.locale.url + '/')\">главной странице</a>,<br />воспользуйтесь каталогом или поиском</div>\n <button class=\"button continue\" @click=\"close\" aria-label=\"Continue\">Продолжить покупки</button>\n <div class=\"viewed-wrapper\">\n <viewed :slider=\"true\"></viewed>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, defineComponent } from 'vue';\nimport { useStore } from 'vuex';\nimport { pluralize } from '@perevorot/shop/dist/helpers';\nimport SwiperCore, { Navigation } from 'swiper/core';\n\nSwiperCore.use([Navigation]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'cart',\n props: {\n isModal: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n\n const items = computed(() => store.getters['cart/items']);\n const modal = computed(() => store.getters['cart/modal']);\n const total = computed(() => store.getters['cart/total']);\n const quantity = computed(() => store.getters['cart/quantity']);\n\n const open = () => {\n store.commit('cart/modal', true);\n };\n\n const close = () => {\n store.commit('cart/modal', false);\n };\n\n const clear = () => {\n loading.value = true;\n\n store.dispatch('cart/clear', {\n finally: () => {\n loading.value = false;\n }\n });\n };\n\n store.dispatch(\"cart/get\", {\n finally: () => {\n },\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n const goto = (href) => {\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', false);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', false);\n });\n\n window.location.href = href;\n };\n\n let crossSwiper;\n const crossSlider = ref(null);\n const crossSliderNext = ref(null);\n const crossSliderPrev = ref(null);\n\n const cross = computed(() => {\n const cross = store.getters['cart/cross'];\n\n if (crossSlider.value) {\n if (crossSwiper) {\n crossSwiper.destroy();\n }\n\n if (cross.length) {\n crossSwiper = new SwiperCore(crossSlider.value, {\n slidesPerView: 2,\n slidesPerGroup: 2,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: crossSliderNext.value,\n prevEl: crossSliderPrev.value\n }\n });\n }\n }\n\n return cross;\n });\n\n let bundlesSwiper;\n const bundlesSlider = ref(null);\n const bundlesSliderNext = ref(null);\n const bundlesSliderPrev = ref(null);\n\n const bundles = computed(() => {\n const bundles = store.getters['cart/bundles'];\n\n if (bundlesSlider.value) {\n if (bundlesSwiper) {\n bundlesSwiper.destroy();\n }\n\n if (bundles.length) {\n bundlesSwiper = new SwiperCore(bundlesSlider.value, {\n slidesPerView: 1,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: bundlesSliderNext.value,\n prevEl: bundlesSliderPrev.value\n }\n });\n }\n }\n\n return bundles;\n });\n\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', null);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', null);\n });\n\n const checkout = () => {\n try {\n let products = [];\n\n items.value.forEach((item) => {\n products.push({\n name: item.name,\n id: item.code,\n price: item.price,\n category: item.category ? item.category.name : '',\n brand: item.brand ? item.brand.name : '',\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'checkout',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if ($env.debug.ecommerce) {\n console.log(JSON.stringify(object));\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n } else {\n window.location.href = $ziggy('shop.checkout');\n }\n } catch (error) {\n console.error(error);\n\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n return {\n loading,\n items,\n modal,\n total,\n quantity,\n open,\n close,\n clear,\n pluralize,\n goto,\n cross,\n crossSlider,\n crossSliderPrev,\n crossSliderNext,\n bundles,\n bundlesSlider,\n bundlesSliderPrev,\n bundlesSliderNext,\n checkout\n };\n }\n});\n</script>","<template>\n <div class=\"cart\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <slot :total=\"quantity\" :open=\"open\">\n <button class=\"button\" @click=\"open\" aria-label=\"Open cart\">\n <span> <i class=\"fas fa-shopping-cart\"></i> {{ quantity }} </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </slot>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\" v-if=\"items.length\">\n <div class=\"cart-wrapper\">\n <div class=\"cart-title\"><span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span><span v-html=\"$filters.price(total)\"></span></div>\n <cart-inline></cart-inline>\n </div>\n <div class=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">\n {{ __('shop.cart.total') }}\n </div>\n <div class=\"column has-text-right\" v-html=\"$filters.price(total)\"></div>\n </div>\n </div>\n <div class=\"dropdown-divider\"></div>\n <div class=\"dropdown-item has-text-centered\">\n <a @click=\"checkout\" class=\"button is-link\">{{ __('shop.cart.checkout') }}</a>\n </div>\n <div class=\"dropdown-item has-text-centered\">\n <slot name=\"open\" :open=\"open\">\n <a @click=\"open\">Открыть корзину</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">Ваша корзина пуста</div>\n </slot>\n </div>\n </div>\n </div>\n <div class=\"modal\" v-if=\"isModal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\" aria-label=\"Close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"cart-title\">Корзина <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span></div>\n <div class=\"items-wrapper\" v-if=\"items.length\">\n <div class=\"items\">\n <cart-item v-for=\"item in items\" v-bind:key=\"item.id\" :item=\"item\"></cart-item>\n </div>\n\n <div class=\"columns is-gapless is-vcentered main-actions\">\n <div class=\"column\">\n <button class=\"button continue\" @click=\"close\" aria-label=\"Continue\">Продолжить покупки</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">Итого: <span v-html=\"$filters.price(total)\"></span></div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">Оформить заказ</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">С товарами из вашей корзины часто покупают</div>\n <div class=\"swiper-container\" ref=\"crossSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in cross\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"column is-narrow\">\n <div class=\"prices\">\n <div class=\"price-old\" v-if=\"item.priceOld\" v-html=\"$filters.price(item.priceOld)\"></div>\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n <div class=\"column\">\n <cart-add :id=\"item.id\" :is-simple=\"true\">\n <svg>\n <use xlink:href=\"#cart-alternate\" />\n </svg>\n </cart-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"crossSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"crossSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n\n <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">Вместе дешевле</div>\n <div class=\"swiper-container\" ref=\"bundlesSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in bundles\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless is-vcentered\" v-bind:class=\"{ 'is-third': item.third }\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.second.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.second.image }\">\n <img :src=\"item.second.image\" v-if=\"item.second.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.second.href)\">{{ item.second.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.second.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <a @click=\"goto(item.third.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.third.image }\">\n <img :src=\"item.third.image\" v-if=\"item.third.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\" v-if=\"item.third\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.third.href)\">{{ item.third.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.third.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <span class=\"total-old\" v-html=\"$filters.price(item.bundle.priceOld)\"></span>\n <span class=\"bundle-amount\" v-html=\"'Выгода ' + item.bundle.amount\"></span>\n </div>\n <div class=\"column\">\n <div class=\"is-flex is-align-items-center\">\n <span class=\"total\" v-html=\"$filters.price(item.bundle.price)\"></span>\n <bundle-add :id=\"item.id\" :second=\"item.second.id\" v-bind:third=\"item.third ? item.third.id : null\"></bundle-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"bundlesSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"bundlesSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n <div v-else class=\"empty\">\n <div class=\"title\">В корзине пока что нет товаров</div>\n <div class=\"message\">Посмотрите предложения на <a @click=\"goto($env.locale.url + '/')\">главной странице</a>,<br />воспользуйтесь каталогом или поиском</div>\n <button class=\"button continue\" @click=\"close\" aria-label=\"Continue\">Продолжить покупки</button>\n <div class=\"viewed-wrapper\">\n <viewed :slider=\"true\"></viewed>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, defineComponent } from 'vue';\nimport { useStore } from 'vuex';\nimport { pluralize } from '@perevorot/shop/dist/helpers';\nimport SwiperCore, { Navigation } from 'swiper/core';\n\nSwiperCore.use([Navigation]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'cart',\n props: {\n isModal: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n\n const items = computed(() => store.getters['cart/items']);\n const modal = computed(() => store.getters['cart/modal']);\n const total = computed(() => store.getters['cart/total']);\n const quantity = computed(() => store.getters['cart/quantity']);\n\n const open = () => {\n store.commit('cart/modal', true);\n };\n\n const close = () => {\n store.commit('cart/modal', false);\n };\n\n const clear = () => {\n loading.value = true;\n\n store.dispatch('cart/clear', {\n finally: () => {\n loading.value = false;\n }\n });\n };\n\n store.dispatch(\"cart/get\", {\n finally: () => {\n },\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n const goto = (href) => {\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', false);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', false);\n });\n\n window.location.href = href;\n };\n\n let crossSwiper;\n const crossSlider = ref(null);\n const crossSliderNext = ref(null);\n const crossSliderPrev = ref(null);\n\n const cross = computed(() => {\n const cross = store.getters['cart/cross'];\n\n if (crossSlider.value) {\n if (crossSwiper) {\n crossSwiper.destroy();\n }\n\n if (cross.length) {\n crossSwiper = new SwiperCore(crossSlider.value, {\n slidesPerView: 2,\n slidesPerGroup: 2,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: crossSliderNext.value,\n prevEl: crossSliderPrev.value\n }\n });\n }\n }\n\n return cross;\n });\n\n let bundlesSwiper;\n const bundlesSlider = ref(null);\n const bundlesSliderNext = ref(null);\n const bundlesSliderPrev = ref(null);\n\n const bundles = computed(() => {\n const bundles = store.getters['cart/bundles'];\n\n if (bundlesSlider.value) {\n if (bundlesSwiper) {\n bundlesSwiper.destroy();\n }\n\n if (bundles.length) {\n bundlesSwiper = new SwiperCore(bundlesSlider.value, {\n slidesPerView: 1,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: bundlesSliderNext.value,\n prevEl: bundlesSliderPrev.value\n }\n });\n }\n }\n\n return bundles;\n });\n\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', null);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', null);\n });\n\n const checkout = () => {\n try {\n let products = [];\n\n items.value.forEach((item) => {\n products.push({\n name: item.name,\n id: item.code,\n price: item.price,\n category: item.category ? item.category.name : '',\n brand: item.brand ? item.brand.name : '',\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'checkout',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if ($env.debug.ecommerce) {\n console.log(JSON.stringify(object));\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n } else {\n window.location.href = $ziggy('shop.checkout');\n }\n } catch (error) {\n console.error(error);\n\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n return {\n loading,\n items,\n modal,\n total,\n quantity,\n open,\n close,\n clear,\n pluralize,\n goto,\n cross,\n crossSlider,\n crossSliderPrev,\n crossSliderNext,\n bundles,\n bundlesSlider,\n bundlesSliderPrev,\n bundlesSliderNext,\n checkout\n };\n }\n});\n</script>"],"names":["SwiperCore","use","Navigation","script","defineComponent","name","props","isModal","type","Boolean","default","setup","store","useStore","loading","ref","items","computed","getters","modal","total","quantity","close","commit","dispatch","finally","window","addEventListener","e","value","key","crossSwiper","bundlesSwiper","crossSlider","crossSliderNext","crossSliderPrev","cross","destroy","length","slidesPerView","slidesPerGroup","spaceBetween","allowTouchMove","mousewheel","forceToAxis","navigation","nextEl","prevEl","bundlesSlider","bundlesSliderNext","bundlesSliderPrev","bundles","open","clear","pluralize","goto","href","location","checkout","products","forEach","item","push","id","code","price","category","brand","object","ecommerce","event","eventCallback","$ziggy","$env","debug","console","log","JSON","stringify","dataLayer","error","_hoisted_1","class","_hoisted_2","_hoisted_3","_createElementVNode","createElementVNode","aria-hidden","role","_hoisted_8","_hoisted_9","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_17","_hoisted_18","_hoisted_20","_hoisted_21","xlink:href","_hoisted_24","_hoisted_25","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_37","_hoisted_39","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_58","_hoisted_67","_hoisted_69","_hoisted_70","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_80","_hoisted_81","_hoisted_84","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_94","_hoisted_95","_hoisted_107","_hoisted_108","_hoisted_110","_hoisted_111","_hoisted_113","_hoisted_114","_hoisted_117","_hoisted_118","_hoisted_127","_hoisted_128","_hoisted_133","_openBlock","_createElementBlock","_renderSlot","renderSlot","_ctx","$slots","onClick","apply","arguments","aria-label","_hoisted_4","_createTextVNode","_hoisted_5","_hoisted_6","_hoisted_7","textContent","_toDisplayString","__","innerHTML","$filters","_createVNode","createVNode","_component_cart_inline","_hoisted_16","createElementBlock","_hoisted_19","_normalizeClass","is-active","openBlock","_hoisted_28","_Fragment","Fragment","_renderList","renderList","_createBlock","createBlock","_component_cart_item","_hoisted_38","_hoisted_40","$event","no-thumb","image","src","_hoisted_46","_hoisted_48","_hoisted_52","priceOld","_component_cart_add","is-simple","_hoisted_59","_hoisted_60","_hoisted_62","_hoisted_63","_hoisted_65","_hoisted_66","_hoisted_68","is-third","third","_hoisted_73","_hoisted_75","_hoisted_79","_hoisted_83","second","_hoisted_87","_hoisted_89","_hoisted_93","_hoisted_97","_hoisted_99","_hoisted_100","_hoisted_103","_hoisted_105","_hoisted_106","_hoisted_109","bundle","amount","_component_bundle_add","_hoisted_120","_hoisted_122","_hoisted_123","_hoisted_125","_hoisted_126","locale","url","_hoisted_131","_component_viewed","slider"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),a=require("vue-toastification"),n={setup:function(){return{translate:window.__}}},r={class:"shop-cart-success-message"};n.render=function(t,a,n,o,c,i){return e.openBlock(),e.createElementBlock("div",r,e.toDisplayString(o.translate("shop.cart.message")),1)};var o=a.useToast(),c={name:"cart-add",props:{id:Number,isChangeQuantity:{type:Boolean,default:!0},isAlreadyInCart:{type:Boolean,default:!0},isSimple:{type:Boolean,default:!1},isPlusMinus:{type:Boolean,default:!1},after:{type:String,default:"modal"},product:null},setup:function(a){var r=t.useStore(),c=e.ref(!1),i=e.ref(1),l=e.ref(null),d=e.computed((function(){return r.getters["cart/productQuantity"](a.id)})),s=e.computed((function(){return $env.shop.isAlreadyInCart&&u&&d.value>0?"#cart-add-already":"#cart-add"})),u=a.isAlreadyInCart,p=a.isChangeQuantity,m=a.isPlusMinus;a.isSimple&&(u=!1,p=!1,m=!1);return{button:l,loading:c,quantity:i,add:function(){c.value=!0;var e=[];l.value.closest(".product-main")&&document.querySelectorAll("#options input[type=checkbox]:checked").forEach((function(t){e.push(parseInt(t.value))}));var t=Math.max(1,i.value),d=l.value.closest("[shop-product]"),s=a.product?a.product.name:d.querySelector("[shop-product-name]").textContent,u=a.product?a.product.price_clean:d.querySelector("[shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""),p=a.product?a.product.code:d.dataset.code,m=a.product?a.product.category:d.dataset.category,y=a.product?a.product.brand:d.dataset.brand;r.dispatch("cart/add",{product:{id:a.id,quantity:t,options:e},finally:function(){(c.value=!1,i.value=1,"message"==a.after)&&o({component:n},{type:"success-cart"});var e={ecommerce:{currencyCode:"UAH",items:[{item_name:s,item_id:p,price:u,quantity:t,item_brand:y,item_category:m}]},event:"add_to_cart"};$env.debug.ecommerce&&console.log(JSON.stringify(e)),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},remove:function(){c.value=!0,r.dispatch("cart/remove",{id:a.id,finally:function(){c.value=!1;var e={ecommerce:{currencyCode:"UAH",items:[{item_name:name,item_id:code,price:price,quantity:q,item_brand:brand,item_category:category}]},event:"remove_from_cart"};$env.debug.ecommerce&&console.log(JSON.stringify(e)),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},cart:d,increase:function(){i.value++},decrease:function(){i.value>1&&i.value--},isAlreadyInCart:u,isChangeQuantity:p,isPlusMinus:m,cartIcon:s}}},i={class:"columns"},l={key:0,class:"column"},d={class:"cart-change-quantity"},s=["disabled"],u=["disabled"],p=["disabled"],m={class:"column is-narrow"},y=["disabled"],v={class:"icon cart"},f={class:"cart-add-button-label"},g={key:0},b=e.createElementVNode("br",null,null,-1),h=["disabled","textContent"];c.render=function(t,a,n,r,o,c){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["cart-add",{"is-already-in-cart":t.$env.shop.isAlreadyInCart&&r.isAlreadyInCart&&r.cart>0}]),ref:"button"},[e.createElementVNode("div",i,[t.$env.shop.isCustomQuantity&&r.isChangeQuantity?(e.openBlock(),e.createElementBlock("div",l,[e.createElementVNode("div",d,[r.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:0,class:"button is-small decrease",onClick:a[0]||(a[0]=function(){return r.decrease&&r.decrease.apply(r,arguments)}),disabled:r.loading||1==r.quantity},"-",8,s)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("input",{class:"input is-small",type:"number",min:"1","onUpdate:modelValue":a[1]||(a[1]=function(e){return r.quantity=e}),disabled:r.loading},null,8,u),[[e.vModelText,r.quantity]]),r.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:1,class:"button is-small increase",onClick:a[2]||(a[2]=function(){return r.increase&&r.increase.apply(r,arguments)}),disabled:r.loading},"+",8,p)):e.createCommentVNode("v-if",!0)])])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",m,[e.createElementVNode("button",{class:"button is-link is-small",onClick:a[3]||(a[3]=function(){return r.add&&r.add.apply(r,arguments)}),disabled:r.loading},[e.renderSlot(t.$slots,"default",{label:t.__("shop.cart.add")},(function(){return[(e.openBlock(),e.createElementBlock("svg",v,[e.createElementVNode("use",e.normalizeProps(e.guardReactiveProps({"xlink:href":r.cartIcon})),null,16)])),e.createElementVNode("span",f,e.toDisplayString(t.__("shop.cart.add")),1)]}))],8,y)])]),t.$env.shop.isAlreadyInCart&&r.isAlreadyInCart&&r.cart>0?(e.openBlock(),e.createElementBlock("div",g,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.already",{quantity:r.cart}))+" ",1),b,e.createElementVNode("a",{onClick:a[4]||(a[4]=e.withModifiers((function(){return r.remove&&r.remove.apply(r,arguments)}),["prevent"])),disabled:r.loading,textContent:e.toDisplayString(t.__("shop.cart.remove"))},null,8,h)])):e.createCommentVNode("v-if",!0)],2)},module.exports=c;
1
+ "use strict";var e=require("vue"),t=require("vuex"),a=require("vue-toastification"),n={setup:function(){return{translate:window.__}}},r={class:"shop-cart-success-message"};n.render=function(t,a,n,o,c,l){return e.openBlock(),e.createElementBlock("div",r,e.toDisplayString(o.translate("shop.cart.message")),1)};var o=a.useToast(),c={name:"cart-add",props:{id:Number,isChangeQuantity:{type:Boolean,default:!0},isAlreadyInCart:{type:Boolean,default:!0},isSimple:{type:Boolean,default:!1},isPlusMinus:{type:Boolean,default:!1},after:{type:String,default:"modal"},product:null},setup:function(a){var r=t.useStore(),c=e.ref(!1),l=e.ref(1),i=e.ref(null),d=e.computed((function(){return r.getters["cart/productQuantity"](a.id)})),s=e.computed((function(){return $env.shop.isAlreadyInCart&&u&&d.value>0?"#cart-add-already":"#cart-add"})),u=a.isAlreadyInCart,p=a.isChangeQuantity,m=a.isPlusMinus;a.isSimple&&(u=!1,p=!1,m=!1);return{button:i,loading:c,quantity:l,add:function(){c.value=!0;var e=[];i.value.closest(".product-main")&&document.querySelectorAll("#options input[type=checkbox]:checked").forEach((function(t){e.push(parseInt(t.value))}));var t=Math.max(1,l.value),d=i.value.closest("[shop-product]"),s=a.product?a.product.name:d.querySelector("[shop-product-name]").textContent,u=a.product?a.product.price_clean:d.querySelector("[shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""),p=a.product?a.product.code:d.dataset.code,m=a.product?a.product.category:d.dataset.category,y=a.product?a.product.brand:d.dataset.brand;r.dispatch("cart/add",{product:{id:a.id,quantity:t,options:e},finally:function(){(c.value=!1,l.value=1,"message"==a.after)&&o({component:n},{type:"success-cart"});var e={ecommerce:{currencyCode:"UAH",items:[{item_name:s,item_id:p,price:u,quantity:t,item_brand:y,item_category:m}]},event:"add_to_cart"};$env.debug.ecommerce&&console.log(JSON.stringify(e)),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},remove:function(){c.value=!0,r.dispatch("cart/remove",{id:a.id,finally:function(){c.value=!1;var e={ecommerce:{currencyCode:"UAH",items:[{item_name:name,item_id:code,price:price,quantity:q,item_brand:brand,item_category:category}]},event:"remove_from_cart"};$env.debug.ecommerce&&console.log(JSON.stringify(e)),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},cart:d,increase:function(){l.value++},decrease:function(){l.value>1&&l.value--},isAlreadyInCart:u,isChangeQuantity:p,isPlusMinus:m,cartIcon:s}}},l={class:"columns"},i={key:0,class:"column"},d={class:"cart-change-quantity"},s=["disabled"],u=["disabled"],p=["disabled"],m={class:"column is-narrow"},y=["disabled"],v={class:"icon cart"},f={class:"cart-add-button-label"},b={key:0},g=e.createElementVNode("br",null,null,-1),h=["disabled","textContent"];c.render=function(t,a,n,r,o,c){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["cart-add",{"is-already-in-cart":t.$env.shop.isAlreadyInCart&&r.isAlreadyInCart&&r.cart>0}]),ref:"button"},[e.createElementVNode("div",l,[t.$env.shop.isCustomQuantity&&r.isChangeQuantity?(e.openBlock(),e.createElementBlock("div",i,[e.createElementVNode("div",d,[r.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:0,class:"button is-small decrease",onClick:a[0]||(a[0]=function(){return r.decrease&&r.decrease.apply(r,arguments)}),disabled:r.loading||1==r.quantity,"aria-label":"Decrease"},"-",8,s)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("input",{class:"input is-small",type:"number",min:"1","onUpdate:modelValue":a[1]||(a[1]=function(e){return r.quantity=e}),disabled:r.loading},null,8,u),[[e.vModelText,r.quantity]]),r.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:1,class:"button is-small increase",onClick:a[2]||(a[2]=function(){return r.increase&&r.increase.apply(r,arguments)}),disabled:r.loading,"aria-label":"Increase"},"+",8,p)):e.createCommentVNode("v-if",!0)])])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",m,[e.createElementVNode("button",{class:"button is-link is-small",onClick:a[3]||(a[3]=function(){return r.add&&r.add.apply(r,arguments)}),disabled:r.loading,"aria-label":"Add to cart"},[e.renderSlot(t.$slots,"default",{label:t.__("shop.cart.add")},(function(){return[(e.openBlock(),e.createElementBlock("svg",v,[e.createElementVNode("use",e.normalizeProps(e.guardReactiveProps({"xlink:href":r.cartIcon})),null,16)])),e.createElementVNode("span",f,e.toDisplayString(t.__("shop.cart.add")),1)]}))],8,y)])]),t.$env.shop.isAlreadyInCart&&r.isAlreadyInCart&&r.cart>0?(e.openBlock(),e.createElementBlock("div",b,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.already",{quantity:r.cart}))+" ",1),g,e.createElementVNode("a",{onClick:a[4]||(a[4]=e.withModifiers((function(){return r.remove&&r.remove.apply(r,arguments)}),["prevent"])),disabled:r.loading,textContent:e.toDisplayString(t.__("shop.cart.remove"))},null,8,h)])):e.createCommentVNode("v-if",!0)],2)},module.exports=c;
2
2
  //# sourceMappingURL=CartAdd.js.map