@perevorot/shop 2.0.56 → 2.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/shop/Catalog.js +1 -1
- package/dist/components/shop/Catalog.js.map +1 -1
- package/dist/components/shop/cart/Cart.js +1 -1
- package/dist/components/shop/cart/Cart.js.map +1 -1
- package/dist/components/shop/cart/CartAdd.js +1 -1
- package/dist/components/shop/cart/CartAdd.js.map +1 -1
- package/dist/components/shop/order/Checkout.js +1 -1
- package/dist/components/shop/order/Checkout.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=e.defineComponent({name:"catalog",setup:function(){var t=e.ref(null),n=[],o=function(){document.querySelectorAll("#subcategory > div").forEach((function(e){e.remove()}))},a=function(){window.scrollTo({top:0,left:0,behavior:"smooth"}),window.lazyImages&&window.lazyImages.update(),window.catalogFilterCallback&&window.catalogFilterCallback(),document.documentElement.classList.remove("is-catalog-loading"),r()},c=function(c,r){var i=function(e){var t=e.hash?e.hash.substring(1):"",n=e.pathname.replace(/\/$/,"");return n=t?-1!==e.pathname.indexOf(":")?n+";"+t:n+"/"+t:n,$env.shop.isTrailingSlash&&(n+="/"),e.origin+n+(e.search?e.search+"&filter":"?filter")}(c),l=function(e){return e.replace(/[^a-z0-9]/g,"")}(i);-1===n.indexOf(l)?(document.documentElement.classList.add("is-catalog-loading"),$http.get(i).then((function(i){var u=document.createElement("html");u.innerHTML=i.data.page,window.app.component(l,{template:u.querySelector("#subcategory").innerHTML}),o(),n.push(l),t.value=l,r||history.pushState({urlPath:c.href,source:"catalog"},document.title,c.href),e.nextTick(a)})).catch((function(e){console.error(e)})).finally((function(){document.documentElement.classList.remove("is-catalog-loading")}))):(o(),t.value=l,r||history.pushState({urlPath:c.href,source:"catalog"},document.title,c.href),e.nextTick(a))},r=function(){document.querySelectorAll("[shop-filter] a").forEach((function(e){e.addEventListener("click",(function(t){t.preventDefault(),c(e)}))}))},i=function(){var e=document.createElement("a");e.href=window.location.href,c(e,!0)};return window.addEventListener("DOMContentLoaded",(function(){r(),window.addEventListener("popstate",(function(e){e.state&&"catalog"==e.state.source&&i()})),window.location.hash&&i()})),{page:t}}});t.render=function(t,n,o,a,c,r){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.page))},module.exports=t;
|
|
1
|
+
"use strict";var e=require("vue"),t=e.defineComponent({name:"catalog",setup:function(){var t=e.ref(null),n=[],o=function(){document.querySelectorAll("#subcategory > div").forEach((function(e){e.remove()}))},a=function(){window.scrollTo({top:0,left:0,behavior:"smooth"}),window.lazyImages&&window.lazyImages.update(),window.catalogFilterCallback&&window.catalogFilterCallback(),document.documentElement.classList.remove("is-catalog-loading"),r()},c=function(c,r){var i=function(e){var t=e.hash?e.hash.substring(1):"",n=e.pathname.replace(/\/$/,"");return n=t?-1!==e.pathname.indexOf(":")?n+";"+t:n+"/"+t:n,$env.shop.isTrailingSlash&&(n+="/"),e.origin+n+(e.search?e.search+"&filter":"?filter")}(c),l=function(e){return e.replace(/[^a-z0-9]/g,"")}(i);-1===n.indexOf(l)?(document.documentElement.classList.add("is-catalog-loading"),$http.get(i).then((function(i){var u=document.createElement("html");u.innerHTML=i.data.page,window.app.component(l,{template:u.querySelector("#subcategory").innerHTML}),o(),n.push(l),t.value=l,r||history.pushState({urlPath:c.href,source:"catalog"},document.title,c.href),e.nextTick(a)})).catch((function(e){console.error(e)})).finally((function(){document.documentElement.classList.remove("is-catalog-loading")}))):(o(),t.value=l,r||history.pushState({urlPath:c.href,source:"catalog"},document.title,c.href),e.nextTick(a))},r=function(){document.querySelectorAll("[shop-filter] a").forEach((function(e){e.addEventListener("click",(function(t){t.preventDefault(),c(e)}))}))},i=function(){var e=document.createElement("a");e.href=window.location.href,c(e,!0)};return window.onpageshow=function(e){e.persisted&&window.location.reload()},window.addEventListener("DOMContentLoaded",(function(){r(),window.addEventListener("popstate",(function(e){e.state&&"catalog"==e.state.source&&i()})),window.location.hash&&i()})),{page:t}}});t.render=function(t,n,o,a,c,r){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.page))},module.exports=t;
|
|
2
2
|
//# sourceMappingURL=Catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Catalog.js","sources":["../../../src/components/shop/Catalog.vue","../../../src/components/shop/Catalog.vue?vue&type=template&id=b73ad6ce&lang.js"],"sourcesContent":["<template>\n <component :is=\"page\"></component>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n name: 'catalog',\n setup() {\n const page = ref(null);\n const pages = [];\n\n const getPageName = (href) => {\n return href.replace(/[^a-z0-9]/g, '');\n };\n\n const clearContainer = () => {\n document.querySelectorAll('#subcategory > div').forEach((element) => {\n element.remove();\n });\n };\n\n const after = () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.catalogFilterCallback) {\n window.catalogFilterCallback();\n }\n\n document.documentElement.classList.remove('is-catalog-loading');\n\n init();\n };\n\n const parseFilterHref = (a) => {\n const hash = a.hash ? a.hash.substring(1) : '';\n\n let pathname = a.pathname.replace(/\\/$/, '');\n\n pathname = hash ? (a.pathname.indexOf(':') !== -1 ? pathname + ';' + hash : pathname + '/' + hash) : pathname;\n\n if ($env.shop.isTrailingSlash) {\n pathname = pathname + '/';\n }\n\n const href = a.origin + pathname + (a.search ? a.search + '&filter' : '?filter');\n\n return href;\n };\n\n const get = (a, ignoreHistory) => {\n const href = parseFilterHref(a);\n\n const componentName = getPageName(href);\n\n if (pages.indexOf(componentName) === -1) {\n document.documentElement.classList.add('is-catalog-loading');\n\n $http\n .get(href)\n .then((response) => {\n let html = document.createElement('html');\n\n html.innerHTML = response.data.page;\n\n window.app.component(componentName, {\n template: html.querySelector('#subcategory').innerHTML\n });\n\n clearContainer();\n\n pages.push(componentName);\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n })\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n document.documentElement.classList.remove('is-catalog-loading');\n });\n } else {\n clearContainer();\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n }\n };\n\n const init = () => {\n document.querySelectorAll('[shop-filter] a').forEach((a) => {\n a.addEventListener('click', (e) => {\n e.preventDefault();\n\n get(a);\n });\n });\n };\n\n const refresh = () => {\n const a = document.createElement('a');\n a.href = window.location.href;\n\n get(a, true);\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n init();\n\n window.addEventListener('popstate', (e) => {\n if (e.state && e.state.source == 'catalog') {\n refresh();\n }\n });\n\n if (window.location.hash) {\n refresh();\n }\n });\n\n return {\n page\n };\n }\n});\n</script>","<template>\n <component :is=\"page\"></component>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n name: 'catalog',\n setup() {\n const page = ref(null);\n const pages = [];\n\n const getPageName = (href) => {\n return href.replace(/[^a-z0-9]/g, '');\n };\n\n const clearContainer = () => {\n document.querySelectorAll('#subcategory > div').forEach((element) => {\n element.remove();\n });\n };\n\n const after = () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.catalogFilterCallback) {\n window.catalogFilterCallback();\n }\n\n document.documentElement.classList.remove('is-catalog-loading');\n\n init();\n };\n\n const parseFilterHref = (a) => {\n const hash = a.hash ? a.hash.substring(1) : '';\n\n let pathname = a.pathname.replace(/\\/$/, '');\n\n pathname = hash ? (a.pathname.indexOf(':') !== -1 ? pathname + ';' + hash : pathname + '/' + hash) : pathname;\n\n if ($env.shop.isTrailingSlash) {\n pathname = pathname + '/';\n }\n\n const href = a.origin + pathname + (a.search ? a.search + '&filter' : '?filter');\n\n return href;\n };\n\n const get = (a, ignoreHistory) => {\n const href = parseFilterHref(a);\n\n const componentName = getPageName(href);\n\n if (pages.indexOf(componentName) === -1) {\n document.documentElement.classList.add('is-catalog-loading');\n\n $http\n .get(href)\n .then((response) => {\n let html = document.createElement('html');\n\n html.innerHTML = response.data.page;\n\n window.app.component(componentName, {\n template: html.querySelector('#subcategory').innerHTML\n });\n\n clearContainer();\n\n pages.push(componentName);\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n })\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n document.documentElement.classList.remove('is-catalog-loading');\n });\n } else {\n clearContainer();\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n }\n };\n\n const init = () => {\n document.querySelectorAll('[shop-filter] a').forEach((a) => {\n a.addEventListener('click', (e) => {\n e.preventDefault();\n\n get(a);\n });\n });\n };\n\n const refresh = () => {\n const a = document.createElement('a');\n a.href = window.location.href;\n\n get(a, true);\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n init();\n\n window.addEventListener('popstate', (e) => {\n if (e.state && e.state.source == 'catalog') {\n refresh();\n }\n });\n\n if (window.location.hash) {\n refresh();\n }\n });\n\n return {\n page\n };\n }\n});\n</script>"],"names":["defineComponent","name","setup","page","ref","pages","clearContainer","document","querySelectorAll","forEach","element","remove","after","window","scrollTo","top","left","behavior","lazyImages","update","catalogFilterCallback","documentElement","classList","init","get","a","ignoreHistory","href","hash","substring","pathname","replace","indexOf","$env","shop","isTrailingSlash","origin","search","parseFilterHref","componentName","getPageName","add","$http","then","response","html","createElement","innerHTML","data","app","component","template","querySelector","push","value","history","pushState","urlPath","source","title","nextTick","error","console","addEventListener","e","preventDefault","refresh","location","state","_createBlock","_ctx"],"mappings":"oCAMeA,kBAAgB,CAC3BC,KAAM,UACNC,qBACUC,EAAOC,MAAI,MACXC,EAAQ,GAMRC,EAAiB,WACnBC,SAASC,iBAAiB,sBAAsBC,SAAQ,SAACC,GACrDA,EAAQC,aAIVC,EAAQ,WACVC,OAAOC,SAAS,CACZC,IAAK,EACLC,KAAM,EACNC,SAAU,WAGVJ,OAAOK,YACPL,OAAOK,WAAWC,SAGlBN,OAAOO,uBACPP,OAAOO,wBAGXb,SAASc,gBAAgBC,UAAUX,OAAO,sBAE1CY,KAmBEC,EAAM,SAACC,EAAGC,OACNC,EAjBc,SAACF,OACfG,EAAOH,EAAEG,KAAOH,EAAEG,KAAKC,UAAU,GAAK,GAExCC,EAAWL,EAAEK,SAASC,QAAQ,MAAO,WAEzCD,EAAWF,GAAqC,IAA7BH,EAAEK,SAASE,QAAQ,KAAcF,EAAW,IAAMF,EAAOE,EAAW,IAAMF,EAAQE,EAEjGG,KAAKC,KAAKC,kBACVL,GAAsB,KAGbL,EAAEW,OAASN,GAAYL,EAAEY,OAASZ,EAAEY,OAAS,UAAY,WAMzDC,CAAgBb,GAEvBc,EAjDU,SAACZ,UACVA,EAAKI,QAAQ,aAAc,IAgDZS,CAAYb,IAEI,IAAlCtB,EAAM2B,QAAQO,IACdhC,SAASc,gBAAgBC,UAAUmB,IAAI,sBAEvCC,MACKlB,IAAIG,GACJgB,MAAK,SAACC,OACCC,EAAOtC,SAASuC,cAAc,QAElCD,EAAKE,UAAYH,EAASI,KAAK7C,KAE/BU,OAAOoC,IAAIC,UAAUX,EAAe,CAChCY,SAAUN,EAAKO,cAAc,gBAAgBL,YAGjDzC,IAEAD,EAAMgD,KAAKd,GAEXpC,EAAKmD,MAAQf,EAERb,GACD6B,QAAQC,UAAU,CAAEC,QAAShC,EAAEE,KAAM+B,OAAQ,WAAanD,SAASoD,MAAOlC,EAAEE,MAGhFiC,WAAShD,aAEN,SAACiD,GACJC,QAAQD,MAAMA,eAET,WACLtD,SAASc,gBAAgBC,UAAUX,OAAO,2BAGlDL,IAEAH,EAAKmD,MAAQf,EAERb,GACD6B,QAAQC,UAAU,CAAEC,QAAShC,EAAEE,KAAM+B,OAAQ,WAAanD,SAASoD,MAAOlC,EAAEE,MAGhFiC,WAAShD,KAIXW,EAAO,WACThB,SAASC,iBAAiB,mBAAmBC,SAAQ,SAACgB,GAClDA,EAAEsC,iBAAiB,SAAS,SAACC,GACzBA,EAAEC,iBAEFzC,EAAIC,UAKVyC,EAAU,eACNzC,EAAIlB,SAASuC,cAAc,KACjCrB,EAAEE,KAAOd,OAAOsD,SAASxC,KAEzBH,EAAIC,GAAG,WAGXZ,OAAOkD,iBAAiB,oBAAoB,WACxCxC,IAEAV,OAAOkD,iBAAiB,YAAY,SAACC,GAC7BA,EAAEI,OAA2B,WAAlBJ,EAAEI,MAAMV,QACnBQ,OAIJrD,OAAOsD,SAASvC,MAChBsC,OAID,CACH/D,KAAAA,0DC3IRkE,wCAAgBC"}
|
|
1
|
+
{"version":3,"file":"Catalog.js","sources":["../../../src/components/shop/Catalog.vue","../../../src/components/shop/Catalog.vue?vue&type=template&id=7e3dae42&lang.js"],"sourcesContent":["<template>\n <component :is=\"page\"></component>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n name: 'catalog',\n setup() {\n const page = ref(null);\n const pages = [];\n\n const getPageName = (href) => {\n return href.replace(/[^a-z0-9]/g, '');\n };\n\n const clearContainer = () => {\n document.querySelectorAll('#subcategory > div').forEach((element) => {\n element.remove();\n });\n };\n\n const after = () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.catalogFilterCallback) {\n window.catalogFilterCallback();\n }\n\n document.documentElement.classList.remove('is-catalog-loading');\n\n init();\n };\n\n const parseFilterHref = (a) => {\n const hash = a.hash ? a.hash.substring(1) : '';\n\n let pathname = a.pathname.replace(/\\/$/, '');\n\n pathname = hash ? (a.pathname.indexOf(':') !== -1 ? pathname + ';' + hash : pathname + '/' + hash) : pathname;\n\n if ($env.shop.isTrailingSlash) {\n pathname = pathname + '/';\n }\n\n const href = a.origin + pathname + (a.search ? a.search + '&filter' : '?filter');\n\n return href;\n };\n\n const get = (a, ignoreHistory) => {\n const href = parseFilterHref(a);\n\n const componentName = getPageName(href);\n\n if (pages.indexOf(componentName) === -1) {\n document.documentElement.classList.add('is-catalog-loading');\n\n $http\n .get(href)\n .then((response) => {\n let html = document.createElement('html');\n\n html.innerHTML = response.data.page;\n\n window.app.component(componentName, {\n template: html.querySelector('#subcategory').innerHTML\n });\n\n clearContainer();\n\n pages.push(componentName);\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n })\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n document.documentElement.classList.remove('is-catalog-loading');\n });\n } else {\n clearContainer();\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n }\n };\n\n const init = () => {\n document.querySelectorAll('[shop-filter] a').forEach((a) => {\n a.addEventListener('click', (e) => {\n e.preventDefault();\n\n get(a);\n });\n });\n };\n\n const refresh = () => {\n const a = document.createElement('a');\n a.href = window.location.href;\n\n get(a, true);\n };\n\n window.onpageshow = function (event) {\n if (event.persisted) {\n window.location.reload();\n }\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n init();\n\n window.addEventListener('popstate', (e) => {\n if (e.state && e.state.source == 'catalog') {\n refresh();\n }\n });\n\n if (window.location.hash) {\n refresh();\n }\n });\n\n return {\n page\n };\n }\n});\n</script>","<template>\n <component :is=\"page\"></component>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n name: 'catalog',\n setup() {\n const page = ref(null);\n const pages = [];\n\n const getPageName = (href) => {\n return href.replace(/[^a-z0-9]/g, '');\n };\n\n const clearContainer = () => {\n document.querySelectorAll('#subcategory > div').forEach((element) => {\n element.remove();\n });\n };\n\n const after = () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.catalogFilterCallback) {\n window.catalogFilterCallback();\n }\n\n document.documentElement.classList.remove('is-catalog-loading');\n\n init();\n };\n\n const parseFilterHref = (a) => {\n const hash = a.hash ? a.hash.substring(1) : '';\n\n let pathname = a.pathname.replace(/\\/$/, '');\n\n pathname = hash ? (a.pathname.indexOf(':') !== -1 ? pathname + ';' + hash : pathname + '/' + hash) : pathname;\n\n if ($env.shop.isTrailingSlash) {\n pathname = pathname + '/';\n }\n\n const href = a.origin + pathname + (a.search ? a.search + '&filter' : '?filter');\n\n return href;\n };\n\n const get = (a, ignoreHistory) => {\n const href = parseFilterHref(a);\n\n const componentName = getPageName(href);\n\n if (pages.indexOf(componentName) === -1) {\n document.documentElement.classList.add('is-catalog-loading');\n\n $http\n .get(href)\n .then((response) => {\n let html = document.createElement('html');\n\n html.innerHTML = response.data.page;\n\n window.app.component(componentName, {\n template: html.querySelector('#subcategory').innerHTML\n });\n\n clearContainer();\n\n pages.push(componentName);\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n })\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n document.documentElement.classList.remove('is-catalog-loading');\n });\n } else {\n clearContainer();\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n }\n };\n\n const init = () => {\n document.querySelectorAll('[shop-filter] a').forEach((a) => {\n a.addEventListener('click', (e) => {\n e.preventDefault();\n\n get(a);\n });\n });\n };\n\n const refresh = () => {\n const a = document.createElement('a');\n a.href = window.location.href;\n\n get(a, true);\n };\n\n window.onpageshow = function (event) {\n if (event.persisted) {\n window.location.reload();\n }\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n init();\n\n window.addEventListener('popstate', (e) => {\n if (e.state && e.state.source == 'catalog') {\n refresh();\n }\n });\n\n if (window.location.hash) {\n refresh();\n }\n });\n\n return {\n page\n };\n }\n});\n</script>"],"names":["defineComponent","name","setup","page","ref","pages","clearContainer","document","querySelectorAll","forEach","element","remove","after","window","scrollTo","top","left","behavior","lazyImages","update","catalogFilterCallback","documentElement","classList","init","get","a","ignoreHistory","href","hash","substring","pathname","replace","indexOf","$env","shop","isTrailingSlash","origin","search","parseFilterHref","componentName","getPageName","add","$http","then","response","html","createElement","innerHTML","data","app","component","template","querySelector","push","value","history","pushState","urlPath","source","title","nextTick","error","console","addEventListener","e","preventDefault","refresh","location","onpageshow","event","persisted","reload","state","_createBlock","_ctx"],"mappings":"oCAMeA,kBAAgB,CAC3BC,KAAM,UACNC,qBACUC,EAAOC,MAAI,MACXC,EAAQ,GAMRC,EAAiB,WACnBC,SAASC,iBAAiB,sBAAsBC,SAAQ,SAACC,GACrDA,EAAQC,aAIVC,EAAQ,WACVC,OAAOC,SAAS,CACZC,IAAK,EACLC,KAAM,EACNC,SAAU,WAGVJ,OAAOK,YACPL,OAAOK,WAAWC,SAGlBN,OAAOO,uBACPP,OAAOO,wBAGXb,SAASc,gBAAgBC,UAAUX,OAAO,sBAE1CY,KAmBEC,EAAM,SAACC,EAAGC,OACNC,EAjBc,SAACF,OACfG,EAAOH,EAAEG,KAAOH,EAAEG,KAAKC,UAAU,GAAK,GAExCC,EAAWL,EAAEK,SAASC,QAAQ,MAAO,WAEzCD,EAAWF,GAAqC,IAA7BH,EAAEK,SAASE,QAAQ,KAAcF,EAAW,IAAMF,EAAOE,EAAW,IAAMF,EAAQE,EAEjGG,KAAKC,KAAKC,kBACVL,GAAsB,KAGbL,EAAEW,OAASN,GAAYL,EAAEY,OAASZ,EAAEY,OAAS,UAAY,WAMzDC,CAAgBb,GAEvBc,EAjDU,SAACZ,UACVA,EAAKI,QAAQ,aAAc,IAgDZS,CAAYb,IAEI,IAAlCtB,EAAM2B,QAAQO,IACdhC,SAASc,gBAAgBC,UAAUmB,IAAI,sBAEvCC,MACKlB,IAAIG,GACJgB,MAAK,SAACC,OACCC,EAAOtC,SAASuC,cAAc,QAElCD,EAAKE,UAAYH,EAASI,KAAK7C,KAE/BU,OAAOoC,IAAIC,UAAUX,EAAe,CAChCY,SAAUN,EAAKO,cAAc,gBAAgBL,YAGjDzC,IAEAD,EAAMgD,KAAKd,GAEXpC,EAAKmD,MAAQf,EAERb,GACD6B,QAAQC,UAAU,CAAEC,QAAShC,EAAEE,KAAM+B,OAAQ,WAAanD,SAASoD,MAAOlC,EAAEE,MAGhFiC,WAAShD,aAEN,SAACiD,GACJC,QAAQD,MAAMA,eAET,WACLtD,SAASc,gBAAgBC,UAAUX,OAAO,2BAGlDL,IAEAH,EAAKmD,MAAQf,EAERb,GACD6B,QAAQC,UAAU,CAAEC,QAAShC,EAAEE,KAAM+B,OAAQ,WAAanD,SAASoD,MAAOlC,EAAEE,MAGhFiC,WAAShD,KAIXW,EAAO,WACThB,SAASC,iBAAiB,mBAAmBC,SAAQ,SAACgB,GAClDA,EAAEsC,iBAAiB,SAAS,SAACC,GACzBA,EAAEC,iBAEFzC,EAAIC,UAKVyC,EAAU,eACNzC,EAAIlB,SAASuC,cAAc,KACjCrB,EAAEE,KAAOd,OAAOsD,SAASxC,KAEzBH,EAAIC,GAAG,WAGXZ,OAAOuD,WAAa,SAAUC,GACtBA,EAAMC,WACNzD,OAAOsD,SAASI,UAIxB1D,OAAOkD,iBAAiB,oBAAoB,WACxCxC,IAEAV,OAAOkD,iBAAiB,YAAY,SAACC,GAC7BA,EAAEQ,OAA2B,WAAlBR,EAAEQ,MAAMd,QACnBQ,OAIJrD,OAAOsD,SAASvC,MAChBsC,OAID,CACH/D,KAAAA,0DCjJRsE,wCAAgBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),n=require("@perevorot/shop/dist/helpers"),l=require("swiper");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=o(l),r=e.defineComponent({name:"cart",props:{isModal:{type:Boolean,default:!0}},setup:function(){var o=t.useStore(),r=e.ref(!1),a=e.computed((function(){return o.getters["cart/items"]})),s=e.computed((function(){return o.getters["cart/modal"]})),i=e.computed((function(){return o.getters["cart/total"]})),d=e.computed((function(){return o.getters["cart/quantity"]})),u=function(){o.commit("cart/modal",!1)};o.dispatch("cart/get",{finally:function(){}}),window.addEventListener("keyup",(function(e){s.value&&"Escape"===e.key&&u()}));var m,p,v=e.ref(null),E=e.ref(null),k=e.ref(null),N=e.computed((function(){var e=o.getters["cart/cross"];return v.value&&(m&&m.destroy(),e.length&&(m=new c.default(v.value,{slidesPerView:1,slidesPerGroup:1,breakpoints:{768:{slidesPerView:2,slidesPerGroup:2}},spaceBetween:0,allowTouchMove:!0,modules:[l.Navigation],mousewheel:{forceToAxis:!0},navigation:{nextEl:E.value,prevEl:k.value}}))),e})),V=e.ref(null),f=e.ref(null),g=e.ref(null),h=e.computed((function(){var e=o.getters["cart/bundles"];return V.value&&(p&&p.destroy(),e.length&&(p=new c.default(V.value,{slidesPerView:1,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:f.value,prevEl:g.value}}))),e}));window.addEventListener("beforeunload",(function(){o.commit("cart/modal",null)})),window.addEventListener("pagehide",(function(){o.commit("cart/modal",null)}));return{loading:r,items:a,modal:s,total:i,quantity:d,open:function(){o.commit("cart/modal",!0)},close:u,clear:function(){r.value=!0,o.dispatch("cart/clear",{finally:function(){r.value=!1}})},pluralize:n.pluralize,goto:function(e){window.addEventListener("beforeunload",(function(){o.commit("cart/modal",!1)})),window.addEventListener("pagehide",(function(){o.commit("cart/modal",!1)})),window.location.href=e},cross:N,crossSlider:v,crossSliderPrev:k,crossSliderNext:E,bundles:h,bundlesSlider:V,bundlesSliderPrev:g,bundlesSliderNext:f,checkout:function(){try{var e=[];a.value.forEach((function(t){e.push({name:t.name,id:t.attributes.code,price:t.attributes.price,brand:t.attributes.brand,category:t.attributes.category,quantity:t.quantity})}));var t={ecommerce:{checkout:{products:[e]}},event:"gtm-ee-event","gtm-ee-event-category":"Ecommerce","gtm-ee-event-action":"Checkout","gtm-ee-event-non-interaction":"False",eventCallback:function(){window.location.href=$ziggy("shop.checkout")}};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:"dropdown-item"},E={class:"columns"},k={class:"column"},N=["innerHTML"],V=e.createElementVNode("div",{class:"dropdown-divider"},null,-1),f={class:"dropdown-item has-text-centered"},g={class:"dropdown-item has-text-centered"},h={key:1,class:"dropdown-content"},y={class:"dropdown-item"},w={class:"modal-content"},B=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],b={class:"box"},C={class:"cart-title"},_=["textContent"],x={key:0,class:"items-wrapper"},S={class:"items"},L={class:"columns is-gapless is-vcentered main-actions"},T={class:"column"},M={class:"column has-text-right"},D={class:"totals"},H={class:"title"},$=["innerHTML"],q={class:"column is-narrow"},z={key:0,class:"cross"},P={class:"title"},F={class:"swiper",ref:"crossSlider"},O={class:"swiper-wrapper"},A={class:"columns is-gapless"},G={class:"column is-narrow"},j=["onClick"],I=["src"],J={key:1},K=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Q={class:"column"},R=["data-code"],U={class:"name"},W=["onClick"],X={class:"columns is-gapless is-vcentered"},Y={class:"column is-narrow"},Z={class:"prices"},ee=["innerHTML"],te=["innerHTML"],ne={class:"column"},le=e.createElementVNode("svg",null,[e.createElementVNode("use",{"xlink:href":"#cart-alternate"})],-1),oe={class:"swiper-nav prev",ref:"crossSliderPrev"},ce=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],re={class:"swiper-nav next",ref:"crossSliderNext"},ae=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],se={key:1,class:"bundles"},ie={class:"title"},de={class:"swiper",ref:"bundlesSlider"},ue={class:"swiper-wrapper"},me={class:"column is-narrow"},pe=["onClick"],ve=["src"],Ee={key:1},ke=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Ne={class:"column"},Ve={class:"product"},fe={class:"name"},ge=["onClick"],he={class:"columns is-gapless is-vcentered"},ye={class:"prices"},we=["innerHTML"],Be=e.createElementVNode("div",{class:"column is-narrow"},[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})])],-1),be={class:"column is-narrow"},Ce=["onClick"],_e=["src"],xe={key:1},Se=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Le={class:"column"},Te={class:"product"},Me={class:"name"},De=["onClick"],He={class:"columns is-gapless is-vcentered"},$e={class:"prices"},qe=["innerHTML"],ze={key:0,class:"column is-narrow"},Pe=[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})],-1)],Fe={key:1,class:"column is-narrow"},Oe=["onClick"],Ae=["src"],Ge={key:1},je=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Ie={key:2,class:"column"},Je={class:"product"},Ke={class:"name"},Qe=["onClick"],Re={class:"columns is-gapless is-vcentered"},Ue={class:"prices"},We=["innerHTML"],Xe={class:"columns is-vcentered"},Ye={class:"column"},Ze=["innerHTML"],et=["innerHTML"],tt={class:"column"},nt={class:"is-flex is-align-items-center"},lt=["innerHTML"],ot={class:"swiper-nav prev",ref:"bundlesSliderPrev"},ct=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],rt={class:"swiper-nav next",ref:"bundlesSliderNext"},at=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],st={key:1,class:"empty"},it={class:"title"},dt={class:"message"},ut=["href"],mt=e.createTextVNode(", "),pt=e.createElementVNode("br",null,null,-1),vt={class:"viewed-wrapper"};r.render=function(t,n,l,o,c,r){var Et=e.resolveComponent("cart-item"),kt=e.resolveComponent("cart-add"),Nt=e.resolveComponent("bundle-add"),Vt=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)]),u])]}))]),e.createElementVNode("div",m,[t.items.length?(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",v,[e.createElementVNode("div",E,[e.createElementVNode("div",k,e.toDisplayString(t.__("shop.cart.total")),1),e.createElementVNode("div",{class:"column has-text-right",innerHTML:t.$filters.price(t.total)},null,8,N)])]),V,e.createElementVNode("div",f,[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",g,[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.toDisplayString(t.__("shop.cart.open")),1)]}))])])):(e.openBlock(),e.createElementBlock("div",h,[e.renderSlot(t.$slots,"empty",{},(function(){return[e.createElementVNode("div",y,e.toDisplayString(t.__("shop.cart.empty")),1)]}))]))])]),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",w,[e.createElementVNode("button",{class:"modal-close is-large",onClick:n[4]||(n[4]=function(){return t.close&&t.close.apply(t,arguments)})},B),e.createElementVNode("div",b,[e.createElementVNode("div",C,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.title"))+" ",1),t.quantity?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.pluralize(t.quantity,t.__("shop.pluralize.products")))},null,8,_)):e.createCommentVNode("v-if",!0)]),t.items.length?(e.openBlock(),e.createElementBlock("div",x,[e.createElementVNode("div",S,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(function(t){return e.openBlock(),e.createBlock(Et,{key:t.id,item:t},null,8,["item"])})),128))]),e.createElementVNode("div",L,[e.createElementVNode("div",T,[e.createElementVNode("button",{class:"button continue",onClick:n[5]||(n[5]=function(){return t.close&&t.close.apply(t,arguments)})},e.toDisplayString(t.__("shop.cart.continue")),1)]),e.createElementVNode("div",M,[e.createElementVNode("div",D,[e.createElementVNode("div",H,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.total"))+" ",1),e.createElementVNode("span",{innerHTML:t.$filters.price(t.total)},null,8,$)])])]),e.createElementVNode("div",q,[e.createElementVNode("a",{onClick:n[6]||(n[6]=function(){return t.checkout&&t.checkout.apply(t,arguments)}),class:"button is-link checkout"},e.toDisplayString(t.__("shop.cart.go_checkout")),1)])]),t.cross.length?(e.openBlock(),e.createElementBlock("div",z,[e.createElementVNode("div",P,e.toDisplayString(t.__("shop.cart.cross")),1),e.createElementVNode("div",F,[e.createElementVNode("div",O,[(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",A,[e.createElementVNode("div",G,[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,I)):(e.openBlock(),e.createElementBlock("svg",J,K))],2)],8,j)]),e.createElementVNode("div",Q,[e.createElementVNode("div",{class:"product","data-code":n.code,"shop-product":""},[e.createElementVNode("div",U,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)},"shop-product-name":""},e.toDisplayString(n.name),9,W)]),e.createElementVNode("div",X,[e.createElementVNode("div",Y,[e.createElementVNode("div",Z,[n.priceOld?(e.openBlock(),e.createElementBlock("div",{key:0,class:"price-old",innerHTML:t.$filters.price(n.priceOld)},null,8,ee)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price),"shop-product-price":""},null,8,te)])]),e.createElementVNode("div",ne,[e.createVNode(kt,{id:n.id,"is-simple":!0},{default:e.withCtx((function(){return[le]})),_:2},1032,["id"])])])],8,R)])])])})),128))]),(e.openBlock(),e.createElementBlock("svg",oe,ce,512)),(e.openBlock(),e.createElementBlock("svg",re,ae,512))],512)])):e.createCommentVNode("v-if",!0),t.bundles.length?(e.openBlock(),e.createElementBlock("div",se,[e.createElementVNode("div",ie,e.toDisplayString(t.__("shop.cart.bundle")),1),e.createElementVNode("div",de,[e.createElementVNode("div",ue,[(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",me,[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,ve)):(e.openBlock(),e.createElementBlock("svg",Ee,ke))],2)],8,pe)]),e.createElementVNode("div",Ne,[e.createElementVNode("div",Ve,[e.createElementVNode("div",fe,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},e.toDisplayString(n.name),9,ge)]),e.createElementVNode("div",he,[e.createElementVNode("div",ye,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price)},null,8,we)])])])]),Be,e.createElementVNode("div",be,[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",xe,Se))],2)],8,Ce)]),e.createElementVNode("div",Le,[e.createElementVNode("div",Te,[e.createElementVNode("div",Me,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.second.href)}},e.toDisplayString(n.second.name),9,De)]),e.createElementVNode("div",He,[e.createElementVNode("div",$e,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.second.price)},null,8,qe)])])])]),n.third?(e.openBlock(),e.createElementBlock("div",ze,Pe)):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",Fe,[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,Ae)):(e.openBlock(),e.createElementBlock("svg",Ge,je))],2)],8,Oe)])):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("div",Je,[e.createElementVNode("div",Ke,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.third.href)}},e.toDisplayString(n.third.name),9,Qe)]),e.createElementVNode("div",Re,[e.createElementVNode("div",Ue,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.third.price)},null,8,We)])])])])):e.createCommentVNode("v-if",!0)],2),e.createElementVNode("div",Xe,[e.createElementVNode("div",Ye,[e.createElementVNode("span",{class:"total-old",innerHTML:t.$filters.price(n.bundle.priceOld)},null,8,Ze),e.createElementVNode("span",{class:"bundle-amount",innerHTML:t.__("shop.cart.bundle_amount")+n.bundle.amount},null,8,et)]),e.createElementVNode("div",tt,[e.createElementVNode("div",nt,[e.createElementVNode("span",{class:"total",innerHTML:t.$filters.price(n.bundle.price)},null,8,lt),e.createVNode(Nt,{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",ot,ct,512)),(e.openBlock(),e.createElementBlock("svg",rt,at,512))])):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("div",it,e.toDisplayString(t.__("shop.cart.no_no")),1),e.createElementVNode("div",dt,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.no_prop"))+" ",1),e.createElementVNode("a",{href:t.$env.locale.url?t.$env.locale.url:"/"},e.toDisplayString(t.__("shop.cart.no_home")),9,ut),mt,pt,e.createTextVNode(e.toDisplayString(t.__("shop.cart.no_search")),1)]),e.createElementVNode("button",{class:"button continue",onClick:n[7]||(n[7]=function(){return t.close&&t.close.apply(t,arguments)})},e.toDisplayString(t.__("shop.cart.continue")),1),e.createElementVNode("div",vt,[e.createVNode(Vt,{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");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=o(l),r=e.defineComponent({name:"cart",props:{isModal:{type:Boolean,default:!0}},setup:function(){var o=t.useStore(),r=e.ref(!1),a=e.computed((function(){return o.getters["cart/items"]})),s=e.computed((function(){return o.getters["cart/modal"]})),i=e.computed((function(){return o.getters["cart/total"]})),d=e.computed((function(){return o.getters["cart/quantity"]})),u=function(){o.commit("cart/modal",!1)};o.dispatch("cart/get",{finally:function(){}}),window.addEventListener("keyup",(function(e){s.value&&"Escape"===e.key&&u()}));var m,p,v=e.ref(null),E=e.ref(null),k=e.ref(null),N=e.computed((function(){var e=o.getters["cart/cross"];return v.value&&(m&&m.destroy(),e.length&&(m=new c.default(v.value,{slidesPerView:1,slidesPerGroup:1,breakpoints:{768:{slidesPerView:2,slidesPerGroup:2}},spaceBetween:0,allowTouchMove:!0,modules:[l.Navigation],mousewheel:{forceToAxis:!0},navigation:{nextEl:E.value,prevEl:k.value}}))),e})),V=e.ref(null),f=e.ref(null),g=e.ref(null),h=e.computed((function(){var e=o.getters["cart/bundles"];return V.value&&(p&&p.destroy(),e.length&&(p=new c.default(V.value,{slidesPerView:1,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:f.value,prevEl:g.value}}))),e}));window.addEventListener("beforeunload",(function(){o.commit("cart/modal",null)})),window.addEventListener("pagehide",(function(){o.commit("cart/modal",null)}));return{loading:r,items:a,modal:s,total:i,quantity:d,open:function(){o.commit("cart/modal",!0)},close:u,clear:function(){r.value=!0,o.dispatch("cart/clear",{finally:function(){r.value=!1}})},pluralize:n.pluralize,goto:function(e){window.addEventListener("beforeunload",(function(){o.commit("cart/modal",!1)})),window.addEventListener("pagehide",(function(){o.commit("cart/modal",!1)})),window.location.href=e},cross:N,crossSlider:v,crossSliderPrev:k,crossSliderNext:E,bundles:h,bundlesSlider:V,bundlesSliderPrev:g,bundlesSliderNext:f,checkout:function(){try{var e=[];a.value.forEach((function(t){e.push({name:t.name,id:t.attributes.code,price:t.attributes.price,brand:t.attributes.brand,category:t.attributes.category,quantity:t.quantity})}));var t={ecommerce:{checkout:{products:[e]}},event:"gtm-ee-event","gtm-ee-event-category":"Ecommerce","gtm-ee-event-action":"Checkout","gtm-ee-event-non-interaction":"False",eventCallback:function(){window.location.href=$ziggy("shop.checkout")},eventTimeout:2e3};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:"dropdown-item"},E={class:"columns"},k={class:"column"},N=["innerHTML"],V=e.createElementVNode("div",{class:"dropdown-divider"},null,-1),f={class:"dropdown-item has-text-centered"},g={class:"dropdown-item has-text-centered"},h={key:1,class:"dropdown-content"},y={class:"dropdown-item"},w={class:"modal-content"},B=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],b={class:"box"},C={class:"cart-title"},_=["textContent"],x={key:0,class:"items-wrapper"},S={class:"items"},L={class:"columns is-gapless is-vcentered main-actions"},T={class:"column"},M={class:"column has-text-right"},D={class:"totals"},H={class:"title"},$=["innerHTML"],q={class:"column is-narrow"},z={key:0,class:"cross"},P={class:"title"},F={class:"swiper",ref:"crossSlider"},O={class:"swiper-wrapper"},A={class:"columns is-gapless"},G={class:"column is-narrow"},j=["onClick"],I=["src"],J={key:1},K=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Q={class:"column"},R=["data-code"],U={class:"name"},W=["onClick"],X={class:"columns is-gapless is-vcentered"},Y={class:"column is-narrow"},Z={class:"prices"},ee=["innerHTML"],te=["innerHTML"],ne={class:"column"},le=e.createElementVNode("svg",null,[e.createElementVNode("use",{"xlink:href":"#cart-alternate"})],-1),oe={class:"swiper-nav prev",ref:"crossSliderPrev"},ce=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],re={class:"swiper-nav next",ref:"crossSliderNext"},ae=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],se={key:1,class:"bundles"},ie={class:"title"},de={class:"swiper",ref:"bundlesSlider"},ue={class:"swiper-wrapper"},me={class:"column is-narrow"},pe=["onClick"],ve=["src"],Ee={key:1},ke=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Ne={class:"column"},Ve={class:"product"},fe={class:"name"},ge=["onClick"],he={class:"columns is-gapless is-vcentered"},ye={class:"prices"},we=["innerHTML"],Be=e.createElementVNode("div",{class:"column is-narrow"},[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})])],-1),be={class:"column is-narrow"},Ce=["onClick"],_e=["src"],xe={key:1},Se=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Le={class:"column"},Te={class:"product"},Me={class:"name"},De=["onClick"],He={class:"columns is-gapless is-vcentered"},$e={class:"prices"},qe=["innerHTML"],ze={key:0,class:"column is-narrow"},Pe=[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})],-1)],Fe={key:1,class:"column is-narrow"},Oe=["onClick"],Ae=["src"],Ge={key:1},je=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Ie={key:2,class:"column"},Je={class:"product"},Ke={class:"name"},Qe=["onClick"],Re={class:"columns is-gapless is-vcentered"},Ue={class:"prices"},We=["innerHTML"],Xe={class:"columns is-vcentered"},Ye={class:"column"},Ze=["innerHTML"],et=["innerHTML"],tt={class:"column"},nt={class:"is-flex is-align-items-center"},lt=["innerHTML"],ot={class:"swiper-nav prev",ref:"bundlesSliderPrev"},ct=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],rt={class:"swiper-nav next",ref:"bundlesSliderNext"},at=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],st={key:1,class:"empty"},it={class:"title"},dt={class:"message"},ut=["href"],mt=e.createTextVNode(", "),pt=e.createElementVNode("br",null,null,-1),vt={class:"viewed-wrapper"};r.render=function(t,n,l,o,c,r){var Et=e.resolveComponent("cart-item"),kt=e.resolveComponent("cart-add"),Nt=e.resolveComponent("bundle-add"),Vt=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)]),u])]}))]),e.createElementVNode("div",m,[t.items.length?(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",v,[e.createElementVNode("div",E,[e.createElementVNode("div",k,e.toDisplayString(t.__("shop.cart.total")),1),e.createElementVNode("div",{class:"column has-text-right",innerHTML:t.$filters.price(t.total)},null,8,N)])]),V,e.createElementVNode("div",f,[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",g,[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.toDisplayString(t.__("shop.cart.open")),1)]}))])])):(e.openBlock(),e.createElementBlock("div",h,[e.renderSlot(t.$slots,"empty",{},(function(){return[e.createElementVNode("div",y,e.toDisplayString(t.__("shop.cart.empty")),1)]}))]))])]),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",w,[e.createElementVNode("button",{class:"modal-close is-large",onClick:n[4]||(n[4]=function(){return t.close&&t.close.apply(t,arguments)})},B),e.createElementVNode("div",b,[e.createElementVNode("div",C,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.title"))+" ",1),t.quantity?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.pluralize(t.quantity,t.__("shop.pluralize.products")))},null,8,_)):e.createCommentVNode("v-if",!0)]),t.items.length?(e.openBlock(),e.createElementBlock("div",x,[e.createElementVNode("div",S,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(function(t){return e.openBlock(),e.createBlock(Et,{key:t.id,item:t},null,8,["item"])})),128))]),e.createElementVNode("div",L,[e.createElementVNode("div",T,[e.createElementVNode("button",{class:"button continue",onClick:n[5]||(n[5]=function(){return t.close&&t.close.apply(t,arguments)})},e.toDisplayString(t.__("shop.cart.continue")),1)]),e.createElementVNode("div",M,[e.createElementVNode("div",D,[e.createElementVNode("div",H,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.total"))+" ",1),e.createElementVNode("span",{innerHTML:t.$filters.price(t.total)},null,8,$)])])]),e.createElementVNode("div",q,[e.createElementVNode("a",{onClick:n[6]||(n[6]=function(){return t.checkout&&t.checkout.apply(t,arguments)}),class:"button is-link checkout"},e.toDisplayString(t.__("shop.cart.go_checkout")),1)])]),t.cross.length?(e.openBlock(),e.createElementBlock("div",z,[e.createElementVNode("div",P,e.toDisplayString(t.__("shop.cart.cross")),1),e.createElementVNode("div",F,[e.createElementVNode("div",O,[(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",A,[e.createElementVNode("div",G,[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,I)):(e.openBlock(),e.createElementBlock("svg",J,K))],2)],8,j)]),e.createElementVNode("div",Q,[e.createElementVNode("div",{class:"product","data-code":n.code,"shop-product":""},[e.createElementVNode("div",U,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)},"shop-product-name":""},e.toDisplayString(n.name),9,W)]),e.createElementVNode("div",X,[e.createElementVNode("div",Y,[e.createElementVNode("div",Z,[n.priceOld?(e.openBlock(),e.createElementBlock("div",{key:0,class:"price-old",innerHTML:t.$filters.price(n.priceOld)},null,8,ee)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price),"shop-product-price":""},null,8,te)])]),e.createElementVNode("div",ne,[e.createVNode(kt,{id:n.id,"is-simple":!0},{default:e.withCtx((function(){return[le]})),_:2},1032,["id"])])])],8,R)])])])})),128))]),(e.openBlock(),e.createElementBlock("svg",oe,ce,512)),(e.openBlock(),e.createElementBlock("svg",re,ae,512))],512)])):e.createCommentVNode("v-if",!0),t.bundles.length?(e.openBlock(),e.createElementBlock("div",se,[e.createElementVNode("div",ie,e.toDisplayString(t.__("shop.cart.bundle")),1),e.createElementVNode("div",de,[e.createElementVNode("div",ue,[(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",me,[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,ve)):(e.openBlock(),e.createElementBlock("svg",Ee,ke))],2)],8,pe)]),e.createElementVNode("div",Ne,[e.createElementVNode("div",Ve,[e.createElementVNode("div",fe,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},e.toDisplayString(n.name),9,ge)]),e.createElementVNode("div",he,[e.createElementVNode("div",ye,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price)},null,8,we)])])])]),Be,e.createElementVNode("div",be,[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",xe,Se))],2)],8,Ce)]),e.createElementVNode("div",Le,[e.createElementVNode("div",Te,[e.createElementVNode("div",Me,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.second.href)}},e.toDisplayString(n.second.name),9,De)]),e.createElementVNode("div",He,[e.createElementVNode("div",$e,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.second.price)},null,8,qe)])])])]),n.third?(e.openBlock(),e.createElementBlock("div",ze,Pe)):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",Fe,[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,Ae)):(e.openBlock(),e.createElementBlock("svg",Ge,je))],2)],8,Oe)])):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("div",Je,[e.createElementVNode("div",Ke,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.third.href)}},e.toDisplayString(n.third.name),9,Qe)]),e.createElementVNode("div",Re,[e.createElementVNode("div",Ue,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.third.price)},null,8,We)])])])])):e.createCommentVNode("v-if",!0)],2),e.createElementVNode("div",Xe,[e.createElementVNode("div",Ye,[e.createElementVNode("span",{class:"total-old",innerHTML:t.$filters.price(n.bundle.priceOld)},null,8,Ze),e.createElementVNode("span",{class:"bundle-amount",innerHTML:t.__("shop.cart.bundle_amount")+n.bundle.amount},null,8,et)]),e.createElementVNode("div",tt,[e.createElementVNode("div",nt,[e.createElementVNode("span",{class:"total",innerHTML:t.$filters.price(n.bundle.price)},null,8,lt),e.createVNode(Nt,{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",ot,ct,512)),(e.openBlock(),e.createElementBlock("svg",rt,at,512))])):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("div",it,e.toDisplayString(t.__("shop.cart.no_no")),1),e.createElementVNode("div",dt,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.no_prop"))+" ",1),e.createElementVNode("a",{href:t.$env.locale.url?t.$env.locale.url:"/"},e.toDisplayString(t.__("shop.cart.no_home")),9,ut),mt,pt,e.createTextVNode(e.toDisplayString(t.__("shop.cart.no_search")),1)]),e.createElementVNode("button",{class:"button continue",onClick:n[7]||(n[7]=function(){return t.close&&t.close.apply(t,arguments)})},e.toDisplayString(t.__("shop.cart.continue")),1),e.createElementVNode("div",vt,[e.createVNode(Vt,{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/components/shop/cart/Cart.vue","../../../../src/components/shop/cart/Cart.vue?vue&type=template&id=97e04c12&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>\n <i class=\"fas fa-shopping-cart\"></i>\n {{ quantity }}\n </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=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">{{ __('shop.cart.total') }}</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\">{{ __('shop.cart.open') }}</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">{{ __('shop.cart.empty') }}</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\">\n {{ __('shop.cart.title') }}\n <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span>\n </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\">{{ __('shop.cart.continue') }}</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">\n {{ __('shop.cart.total') }}\n <span v-html=\"$filters.price(total)\"></span>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">{{ __('shop.cart.go_checkout') }}</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">{{ __('shop.cart.cross') }}</div>\n <div class=\"swiper\" 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\" :data-code=\"item.code\" shop-product>\n <div class=\"name\">\n <a @click=\"goto(item.href)\" shop-product-name>{{ 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)\" shop-product-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 <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">{{ __('shop.cart.bundle') }}</div>\n <div class=\"swiper\" 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=\"__('shop.cart.bundle_amount') + 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\">{{ __('shop.cart.no_no') }}</div>\n <div class=\"message\">\n {{ __('shop.cart.no_prop') }}\n <a :href=\"$env.locale.url ? $env.locale.url : '/'\">{{ __('shop.cart.no_home') }}</a\n >, <br />{{ __('shop.cart.no_search') }}\n </div>\n <button class=\"button continue\" @click=\"close\">{{ __('shop.cart.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 Swiper, { Navigation } from 'swiper';\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 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 Swiper(crossSlider.value, {\n slidesPerView: 1,\n slidesPerGroup: 1,\n breakpoints: {\n 768: {\n slidesPerView: 2,\n slidesPerGroup: 2\n }\n },\n spaceBetween: 0,\n allowTouchMove: true,\n modules: [Navigation],\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 Swiper(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.attributes.code,\n price: item.attributes.price,\n brand: item.attributes.brand,\n category: item.attributes.category,\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'gtm-ee-event',\n 'gtm-ee-event-category': 'Ecommerce',\n 'gtm-ee-event-action': 'Checkout',\n 'gtm-ee-event-non-interaction': 'False',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if (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>\n <i class=\"fas fa-shopping-cart\"></i>\n {{ quantity }}\n </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=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">{{ __('shop.cart.total') }}</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\">{{ __('shop.cart.open') }}</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">{{ __('shop.cart.empty') }}</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\">\n {{ __('shop.cart.title') }}\n <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span>\n </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\">{{ __('shop.cart.continue') }}</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">\n {{ __('shop.cart.total') }}\n <span v-html=\"$filters.price(total)\"></span>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">{{ __('shop.cart.go_checkout') }}</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">{{ __('shop.cart.cross') }}</div>\n <div class=\"swiper\" 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\" :data-code=\"item.code\" shop-product>\n <div class=\"name\">\n <a @click=\"goto(item.href)\" shop-product-name>{{ 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)\" shop-product-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 <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">{{ __('shop.cart.bundle') }}</div>\n <div class=\"swiper\" 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=\"__('shop.cart.bundle_amount') + 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\">{{ __('shop.cart.no_no') }}</div>\n <div class=\"message\">\n {{ __('shop.cart.no_prop') }}\n <a :href=\"$env.locale.url ? $env.locale.url : '/'\">{{ __('shop.cart.no_home') }}</a\n >, <br />{{ __('shop.cart.no_search') }}\n </div>\n <button class=\"button continue\" @click=\"close\">{{ __('shop.cart.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 Swiper, { Navigation } from 'swiper';\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 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 Swiper(crossSlider.value, {\n slidesPerView: 1,\n slidesPerGroup: 1,\n breakpoints: {\n 768: {\n slidesPerView: 2,\n slidesPerGroup: 2\n }\n },\n spaceBetween: 0,\n allowTouchMove: true,\n modules: [Navigation],\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 Swiper(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.attributes.code,\n price: item.attributes.price,\n brand: item.attributes.brand,\n category: item.attributes.category,\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'gtm-ee-event',\n 'gtm-ee-event-category': 'Ecommerce',\n 'gtm-ee-event-action': 'Checkout',\n 'gtm-ee-event-non-interaction': 'False',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if (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":["defineComponent","name","props","isModal","type","Boolean","setup","store","useStore","loading","ref","items","computed","getters","modal","total","quantity","close","commit","dispatch","window","addEventListener","e","value","key","crossSwiper","bundlesSwiper","crossSlider","crossSliderNext","crossSliderPrev","cross","destroy","length","Swiper","slidesPerView","slidesPerGroup","breakpoints","spaceBetween","allowTouchMove","modules","Navigation","mousewheel","forceToAxis","navigation","nextEl","prevEl","bundlesSlider","bundlesSliderNext","bundlesSliderPrev","bundles","open","clear","pluralize","href","location","checkout","products","forEach","item","push","id","attributes","code","price","brand","category","object","ecommerce","event","eventCallback","$ziggy","dataLayer","error","console","_createElementVNode","role","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_renderSlot","_ctx","onClick","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","innerHTML","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_20","_hoisted_21","_toDisplayString","_hoisted_23","_hoisted_24","_createBlock","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","image","src","_hoisted_43","_hoisted_45","_hoisted_47","_hoisted_48","_hoisted_49","priceOld","_hoisted_52","_createVNode","_hoisted_53","_hoisted_54","_hoisted_57","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","third","_hoisted_64","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_74","_hoisted_75","_hoisted_77","_hoisted_78","second","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_88","_hoisted_89","_hoisted_91","_hoisted_94","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_104","_hoisted_105","_hoisted_107","_hoisted_108","bundle","amount","_hoisted_111","_hoisted_112","_hoisted_114","_hoisted_117","_hoisted_120","_hoisted_121","_hoisted_122","locale","url","_hoisted_125","_hoisted_126","slider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Cart.js","sources":["../../../../src/components/shop/cart/Cart.vue","../../../../src/components/shop/cart/Cart.vue?vue&type=template&id=3630a7cc&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>\n <i class=\"fas fa-shopping-cart\"></i>\n {{ quantity }}\n </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=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">{{ __('shop.cart.total') }}</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\">{{ __('shop.cart.open') }}</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">{{ __('shop.cart.empty') }}</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\">\n {{ __('shop.cart.title') }}\n <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span>\n </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\">{{ __('shop.cart.continue') }}</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">\n {{ __('shop.cart.total') }}\n <span v-html=\"$filters.price(total)\"></span>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">{{ __('shop.cart.go_checkout') }}</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">{{ __('shop.cart.cross') }}</div>\n <div class=\"swiper\" 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\" :data-code=\"item.code\" shop-product>\n <div class=\"name\">\n <a @click=\"goto(item.href)\" shop-product-name>{{ 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)\" shop-product-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 <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">{{ __('shop.cart.bundle') }}</div>\n <div class=\"swiper\" 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=\"__('shop.cart.bundle_amount') + 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\">{{ __('shop.cart.no_no') }}</div>\n <div class=\"message\">\n {{ __('shop.cart.no_prop') }}\n <a :href=\"$env.locale.url ? $env.locale.url : '/'\">{{ __('shop.cart.no_home') }}</a>, <br />{{ __('shop.cart.no_search') }}\n </div>\n <button class=\"button continue\" @click=\"close\">{{ __('shop.cart.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 Swiper, { Navigation } from 'swiper';\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 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 Swiper(crossSlider.value, {\n slidesPerView: 1,\n slidesPerGroup: 1,\n breakpoints: {\n 768: {\n slidesPerView: 2,\n slidesPerGroup: 2\n }\n },\n spaceBetween: 0,\n allowTouchMove: true,\n modules: [Navigation],\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 Swiper(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.attributes.code,\n price: item.attributes.price,\n brand: item.attributes.brand,\n category: item.attributes.category,\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'gtm-ee-event',\n 'gtm-ee-event-category': 'Ecommerce',\n 'gtm-ee-event-action': 'Checkout',\n 'gtm-ee-event-non-interaction': 'False',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n },\n eventTimeout: 2000,\n };\n\n if (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>\n <i class=\"fas fa-shopping-cart\"></i>\n {{ quantity }}\n </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=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">{{ __('shop.cart.total') }}</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\">{{ __('shop.cart.open') }}</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">{{ __('shop.cart.empty') }}</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\">\n {{ __('shop.cart.title') }}\n <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span>\n </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\">{{ __('shop.cart.continue') }}</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">\n {{ __('shop.cart.total') }}\n <span v-html=\"$filters.price(total)\"></span>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">{{ __('shop.cart.go_checkout') }}</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">{{ __('shop.cart.cross') }}</div>\n <div class=\"swiper\" 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\" :data-code=\"item.code\" shop-product>\n <div class=\"name\">\n <a @click=\"goto(item.href)\" shop-product-name>{{ 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)\" shop-product-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 <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">{{ __('shop.cart.bundle') }}</div>\n <div class=\"swiper\" 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=\"__('shop.cart.bundle_amount') + 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\">{{ __('shop.cart.no_no') }}</div>\n <div class=\"message\">\n {{ __('shop.cart.no_prop') }}\n <a :href=\"$env.locale.url ? $env.locale.url : '/'\">{{ __('shop.cart.no_home') }}</a>, <br />{{ __('shop.cart.no_search') }}\n </div>\n <button class=\"button continue\" @click=\"close\">{{ __('shop.cart.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 Swiper, { Navigation } from 'swiper';\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 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 Swiper(crossSlider.value, {\n slidesPerView: 1,\n slidesPerGroup: 1,\n breakpoints: {\n 768: {\n slidesPerView: 2,\n slidesPerGroup: 2\n }\n },\n spaceBetween: 0,\n allowTouchMove: true,\n modules: [Navigation],\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 Swiper(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.attributes.code,\n price: item.attributes.price,\n brand: item.attributes.brand,\n category: item.attributes.category,\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'gtm-ee-event',\n 'gtm-ee-event-category': 'Ecommerce',\n 'gtm-ee-event-action': 'Checkout',\n 'gtm-ee-event-non-interaction': 'False',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n },\n eventTimeout: 2000,\n };\n\n if (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":["defineComponent","name","props","isModal","type","Boolean","setup","store","useStore","loading","ref","items","computed","getters","modal","total","quantity","close","commit","dispatch","window","addEventListener","e","value","key","crossSwiper","bundlesSwiper","crossSlider","crossSliderNext","crossSliderPrev","cross","destroy","length","Swiper","slidesPerView","slidesPerGroup","breakpoints","spaceBetween","allowTouchMove","modules","Navigation","mousewheel","forceToAxis","navigation","nextEl","prevEl","bundlesSlider","bundlesSliderNext","bundlesSliderPrev","bundles","open","clear","pluralize","href","location","checkout","products","forEach","item","push","id","attributes","code","price","brand","category","object","ecommerce","event","eventCallback","$ziggy","eventTimeout","dataLayer","error","console","_createElementVNode","role","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_renderSlot","_ctx","onClick","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","innerHTML","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_20","_hoisted_21","_toDisplayString","_hoisted_23","_hoisted_24","_createBlock","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","image","src","_hoisted_43","_hoisted_45","_hoisted_47","_hoisted_48","_hoisted_49","priceOld","_hoisted_52","_createVNode","_hoisted_53","_hoisted_54","_hoisted_57","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","third","_hoisted_64","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_74","_hoisted_75","_hoisted_77","_hoisted_78","second","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_88","_hoisted_89","_hoisted_91","_hoisted_94","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_104","_hoisted_105","_hoisted_107","_hoisted_108","bundle","amount","_hoisted_111","_hoisted_112","_hoisted_114","_hoisted_117","_hoisted_120","_hoisted_121","_hoisted_122","locale","url","_hoisted_125","_hoisted_126","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.__}}},o={class:"shop-cart-success-message"};n.render=function(t,a,n,r,l,i){return e.openBlock(),e.createElementBlock("div",o,e.toDisplayString(r.translate("shop.cart.message")),1)};var r=a.useToast(),l={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"}},setup:function(a){var o=t.useStore(),l=e.ref(!1),i=e.ref(1),c=e.ref(null),s=e.computed((function(){return o.getters["cart/productQuantity"](a.id)})),d=a.isAlreadyInCart,u=a.isChangeQuantity,p=a.isPlusMinus;a.isSimple&&(d=!1,u=!1,p=!1);return{button:c,loading:l,quantity:i,add:function(){l.value=!0;var e=[];c.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),s=c.value.closest("[shop-product]"),d=s.querySelector("[shop-product-name]").textContent,u=s.querySelector("[shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""),p=s.dataset.code;o.dispatch("cart/add",{product:{id:a.id,quantity:t,options:e},finally:function(){(l.value=!1,i.value=1,"message"==a.after)&&r({component:n},{type:"success-cart"});var e={ecommerce:{currencyCode:"UAH",add:{products:[{name:d,id:p,price:u,quantity:t}]}},event:"gtm-ee-event","gtm-ee-event-category":"Ecommerce","gtm-ee-event-action":"Add to Cart","gtm-ee-event-non-interaction":"False"};window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},remove:function(){l.value=!0,o.dispatch("cart/remove",{id:a.id,finally:function(){l.value=!1}})},cart:s,increase:function(){i.value++},decrease:function(){i.value>1&&i.value--},isAlreadyInCart:d,isChangeQuantity:u,isPlusMinus:p}}},i={class:"cart-add",ref:"button"},c={class:"columns"},s={key:0,class:"column"},d={class:"cart-change-quantity"},u=["disabled"],p=["disabled"],m=["disabled"],y={class:"column is-narrow"},v=["disabled"],f=e.createElementVNode("svg",{class:"icon cart"},[e.createElementVNode("use",{"xlink:href":"#cart-add"})],-1),h={class:"cart-add-button-label"},g={key:0},b=e.createElementVNode("br",null,null,-1),k=["disabled","textContent"];l.render=function(t,a,n,o,r,l){return e.openBlock(),e.createElementBlock("div",i,[e.createElementVNode("div",c,[t.$env.shop.isCustomQuantity&&o.isChangeQuantity?(e.openBlock(),e.createElementBlock("div",s,[e.createElementVNode("div",d,[o.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:0,class:"button is-small decrease",onClick:a[0]||(a[0]=function(){return o.decrease&&o.decrease.apply(o,arguments)}),disabled:o.loading||1==o.quantity},"-",8,u)):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 o.quantity=e}),disabled:o.loading},null,8,p),[[e.vModelText,o.quantity]]),o.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:1,class:"button is-small increase",onClick:a[2]||(a[2]=function(){return o.increase&&o.increase.apply(o,arguments)}),disabled:o.loading},"+",8,m)):e.createCommentVNode("v-if",!0)])])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",y,[e.createElementVNode("button",{class:"button is-link is-small",onClick:a[3]||(a[3]=function(){return o.add&&o.add.apply(o,arguments)}),disabled:o.loading},[e.renderSlot(t.$slots,"default",{label:t.__("shop.cart.add")},(function(){return[f,e.createElementVNode("span",h,e.toDisplayString(t.__("shop.cart.add")),1)]}))],8,v)])]),t.$env.shop.isAlreadyInCart&&o.isAlreadyInCart&&o.cart>0?(e.openBlock(),e.createElementBlock("div",g,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.already",{quantity:o.cart}))+" ",1),b,e.createElementVNode("a",{onClick:a[4]||(a[4]=e.withModifiers((function(){return o.remove&&o.remove.apply(o,arguments)}),["prevent"])),disabled:o.loading,textContent:e.toDisplayString(t.__("shop.cart.remove"))},null,8,k)])):e.createCommentVNode("v-if",!0)],512)},module.exports=l;
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),a=require("vue-toastification"),n={setup:function(){return{translate:window.__}}},o={class:"shop-cart-success-message"};n.render=function(t,a,n,r,l,i){return e.openBlock(),e.createElementBlock("div",o,e.toDisplayString(r.translate("shop.cart.message")),1)};var r=a.useToast(),l={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"}},setup:function(a){var o=t.useStore(),l=e.ref(!1),i=e.ref(1),c=e.ref(null),s=e.computed((function(){return o.getters["cart/productQuantity"](a.id)})),d=a.isAlreadyInCart,u=a.isChangeQuantity,p=a.isPlusMinus;a.isSimple&&(d=!1,u=!1,p=!1);return{button:c,loading:l,quantity:i,add:function(){l.value=!0;var e=[];c.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),s=c.value.closest("[shop-product]"),d=s.querySelector("[shop-product-name]").textContent,u=s.querySelector("[shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""),p=s.dataset.code;o.dispatch("cart/add",{product:{id:a.id,quantity:t,options:e},finally:function(){(l.value=!1,i.value=1,"message"==a.after)&&r({component:n},{type:"success-cart"});var e={ecommerce:{currencyCode:"UAH",add:{products:[{name:d,id:p,price:u,quantity:t}]}},event:"gtm-ee-event","gtm-ee-event-category":"Ecommerce","gtm-ee-event-action":"Add to Cart","gtm-ee-event-non-interaction":"False",eventTimeout:2e3};window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},remove:function(){l.value=!0,o.dispatch("cart/remove",{id:a.id,finally:function(){l.value=!1}})},cart:s,increase:function(){i.value++},decrease:function(){i.value>1&&i.value--},isAlreadyInCart:d,isChangeQuantity:u,isPlusMinus:p}}},i={class:"cart-add",ref:"button"},c={class:"columns"},s={key:0,class:"column"},d={class:"cart-change-quantity"},u=["disabled"],p=["disabled"],m=["disabled"],y={class:"column is-narrow"},v=["disabled"],f=e.createElementVNode("svg",{class:"icon cart"},[e.createElementVNode("use",{"xlink:href":"#cart-add"})],-1),h={class:"cart-add-button-label"},g={key:0},b=e.createElementVNode("br",null,null,-1),k=["disabled","textContent"];l.render=function(t,a,n,o,r,l){return e.openBlock(),e.createElementBlock("div",i,[e.createElementVNode("div",c,[t.$env.shop.isCustomQuantity&&o.isChangeQuantity?(e.openBlock(),e.createElementBlock("div",s,[e.createElementVNode("div",d,[o.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:0,class:"button is-small decrease",onClick:a[0]||(a[0]=function(){return o.decrease&&o.decrease.apply(o,arguments)}),disabled:o.loading||1==o.quantity},"-",8,u)):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 o.quantity=e}),disabled:o.loading},null,8,p),[[e.vModelText,o.quantity]]),o.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:1,class:"button is-small increase",onClick:a[2]||(a[2]=function(){return o.increase&&o.increase.apply(o,arguments)}),disabled:o.loading},"+",8,m)):e.createCommentVNode("v-if",!0)])])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",y,[e.createElementVNode("button",{class:"button is-link is-small",onClick:a[3]||(a[3]=function(){return o.add&&o.add.apply(o,arguments)}),disabled:o.loading},[e.renderSlot(t.$slots,"default",{label:t.__("shop.cart.add")},(function(){return[f,e.createElementVNode("span",h,e.toDisplayString(t.__("shop.cart.add")),1)]}))],8,v)])]),t.$env.shop.isAlreadyInCart&&o.isAlreadyInCart&&o.cart>0?(e.openBlock(),e.createElementBlock("div",g,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.already",{quantity:o.cart}))+" ",1),b,e.createElementVNode("a",{onClick:a[4]||(a[4]=e.withModifiers((function(){return o.remove&&o.remove.apply(o,arguments)}),["prevent"])),disabled:o.loading,textContent:e.toDisplayString(t.__("shop.cart.remove"))},null,8,k)])):e.createCommentVNode("v-if",!0)],512)},module.exports=l;
|
|
2
2
|
//# sourceMappingURL=CartAdd.js.map
|