@perevorot/shop 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/api.js +1 -1
  2. package/dist/api.js.map +1 -1
  3. package/dist/app.js +1 -1
  4. package/dist/app.js.map +1 -1
  5. package/dist/global.js +1 -1
  6. package/dist/global.js.map +1 -1
  7. package/dist/helpers.js +1 -1
  8. package/dist/helpers.js.map +1 -1
  9. package/dist/js/components/account/Account.js +1 -1
  10. package/dist/js/components/account/Account.js.map +1 -1
  11. package/dist/js/components/account/OrderItem.js +1 -1
  12. package/dist/js/components/account/OrderItem.js.map +1 -1
  13. package/dist/js/components/account/Orders.js +1 -1
  14. package/dist/js/components/account/Orders.js.map +1 -1
  15. package/dist/js/components/account/User.js +1 -1
  16. package/dist/js/components/account/User.js.map +1 -1
  17. package/dist/js/components/account/Wish.js +1 -1
  18. package/dist/js/components/account/Wish.js.map +1 -1
  19. package/dist/js/components/auth/Forget.js +1 -1
  20. package/dist/js/components/auth/Forget.js.map +1 -1
  21. package/dist/js/components/auth/Login.js +1 -1
  22. package/dist/js/components/auth/Login.js.map +1 -1
  23. package/dist/js/components/auth/Registration.js +1 -1
  24. package/dist/js/components/auth/Registration.js.map +1 -1
  25. package/dist/js/components/auth/Reset.js +1 -1
  26. package/dist/js/components/auth/Reset.js.map +1 -1
  27. package/dist/js/components/auth/User.js +1 -1
  28. package/dist/js/components/auth/User.js.map +1 -1
  29. package/dist/js/components/shop/Catalog.js +1 -1
  30. package/dist/js/components/shop/Catalog.js.map +1 -1
  31. package/dist/js/components/shop/CodeCopy.js +1 -1
  32. package/dist/js/components/shop/CodeCopy.js.map +1 -1
  33. package/dist/js/components/shop/Cross.js +1 -1
  34. package/dist/js/components/shop/Cross.js.map +1 -1
  35. package/dist/js/components/shop/FilterToggle.js +1 -1
  36. package/dist/js/components/shop/FilterToggle.js.map +1 -1
  37. package/dist/js/components/shop/Gallery.js +1 -1
  38. package/dist/js/components/shop/Gallery.js.map +1 -1
  39. package/dist/js/components/shop/Pagination.js +1 -1
  40. package/dist/js/components/shop/Pagination.js.map +1 -1
  41. package/dist/js/components/shop/PromoProducts.js +1 -1
  42. package/dist/js/components/shop/PromoProducts.js.map +1 -1
  43. package/dist/js/components/shop/Search.js +1 -1
  44. package/dist/js/components/shop/Search.js.map +1 -1
  45. package/dist/js/components/shop/bundle/Bundle.js +1 -1
  46. package/dist/js/components/shop/bundle/Bundle.js.map +1 -1
  47. package/dist/js/components/shop/bundle/BundleAdd.js +1 -1
  48. package/dist/js/components/shop/bundle/BundleAdd.js.map +1 -1
  49. package/dist/js/components/shop/cart/Cart.js +1 -1
  50. package/dist/js/components/shop/cart/Cart.js.map +1 -1
  51. package/dist/js/components/shop/cart/CartAdd.js +1 -1
  52. package/dist/js/components/shop/cart/CartAdd.js.map +1 -1
  53. package/dist/js/components/shop/cart/CartItem.js +1 -1
  54. package/dist/js/components/shop/cart/CartItem.js.map +1 -1
  55. package/dist/js/components/shop/cart/CartTrigger.js +1 -1
  56. package/dist/js/components/shop/cart/CartTrigger.js.map +1 -1
  57. package/dist/js/components/shop/cart/SuccessMessage.js +1 -1
  58. package/dist/js/components/shop/cart/SuccessMessage.js.map +1 -1
  59. package/dist/js/components/shop/compare/Compare.js +1 -1
  60. package/dist/js/components/shop/compare/Compare.js.map +1 -1
  61. package/dist/js/components/shop/compare/CompareAdd.js +1 -1
  62. package/dist/js/components/shop/compare/CompareAdd.js.map +1 -1
  63. package/dist/js/components/shop/compare/CompareDelete.js +1 -1
  64. package/dist/js/components/shop/compare/CompareDelete.js.map +1 -1
  65. package/dist/js/components/shop/compare/Comparsion.js +1 -1
  66. package/dist/js/components/shop/compare/Comparsion.js.map +1 -1
  67. package/dist/js/components/shop/compare/SuccessMessage.js +1 -1
  68. package/dist/js/components/shop/compare/SuccessMessage.js.map +1 -1
  69. package/dist/js/components/shop/filters/FilterSearch.js +1 -1
  70. package/dist/js/components/shop/filters/FilterSearch.js.map +1 -1
  71. package/dist/js/components/shop/filters/Price.js +1 -1
  72. package/dist/js/components/shop/filters/Price.js.map +1 -1
  73. package/dist/js/components/shop/order/Checkout.js +1 -1
  74. package/dist/js/components/shop/order/Checkout.js.map +1 -1
  75. package/dist/js/components/shop/order/CheckoutItem.js +1 -1
  76. package/dist/js/components/shop/order/CheckoutItem.js.map +1 -1
  77. package/dist/js/components/shop/order/OneClick.js +1 -1
  78. package/dist/js/components/shop/order/OneClick.js.map +1 -1
  79. package/dist/js/components/shop/order/shipping/CheckoutShippingCourier.js +1 -1
  80. package/dist/js/components/shop/order/shipping/CheckoutShippingCourier.js.map +1 -1
  81. package/dist/js/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js +1 -1
  82. package/dist/js/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js.map +1 -1
  83. package/dist/js/components/shop/order/shipping/CheckoutShippingNovaposhtaWarehouse.js +1 -1
  84. package/dist/js/components/shop/order/shipping/CheckoutShippingNovaposhtaWarehouse.js.map +1 -1
  85. package/dist/js/components/shop/order/shipping/CheckoutShippingPickup.js +1 -1
  86. package/dist/js/components/shop/order/shipping/CheckoutShippingPickup.js.map +1 -1
  87. package/dist/js/components/shop/reviews/Review.js +1 -1
  88. package/dist/js/components/shop/reviews/Review.js.map +1 -1
  89. package/dist/js/components/shop/viewed/Viewed.js +1 -1
  90. package/dist/js/components/shop/viewed/Viewed.js.map +1 -1
  91. package/dist/js/components/shop/viewed/ViewedDelete.js +1 -1
  92. package/dist/js/components/shop/viewed/ViewedDelete.js.map +1 -1
  93. package/dist/js/components/shop/viewed/Viewer.js +1 -1
  94. package/dist/js/components/shop/viewed/Viewer.js.map +1 -1
  95. package/dist/js/components/shop/wishlist/SuccessMessage.js +1 -1
  96. package/dist/js/components/shop/wishlist/SuccessMessage.js.map +1 -1
  97. package/dist/js/components/shop/wishlist/Wishlist.js +1 -1
  98. package/dist/js/components/shop/wishlist/Wishlist.js.map +1 -1
  99. package/dist/js/components/shop/wishlist/WishlistAdd.js +1 -1
  100. package/dist/js/components/shop/wishlist/WishlistAdd.js.map +1 -1
  101. package/dist/js/components/shop/wishlist/WishlistDelete.js +1 -1
  102. package/dist/js/components/shop/wishlist/WishlistDelete.js.map +1 -1
  103. package/dist/js/forms/FormCheckbox.js +1 -1
  104. package/dist/js/forms/FormCheckbox.js.map +1 -1
  105. package/dist/js/forms/FormCheckboxes.js +1 -1
  106. package/dist/js/forms/FormCheckboxes.js.map +1 -1
  107. package/dist/js/forms/FormPassword.js +1 -1
  108. package/dist/js/forms/FormPassword.js.map +1 -1
  109. package/dist/js/forms/FormRadio.js +1 -1
  110. package/dist/js/forms/FormRadio.js.map +1 -1
  111. package/dist/js/forms/FormRating.js +1 -1
  112. package/dist/js/forms/FormRating.js.map +1 -1
  113. package/dist/js/forms/FormSelect.js +1 -1
  114. package/dist/js/forms/FormSelect.js.map +1 -1
  115. package/dist/js/forms/FormSwitch.js +1 -1
  116. package/dist/js/forms/FormSwitch.js.map +1 -1
  117. package/dist/js/forms/FormText.js +1 -1
  118. package/dist/js/forms/FormText.js.map +1 -1
  119. package/dist/js/forms/FormTextarea.js +1 -1
  120. package/dist/js/forms/FormTextarea.js.map +1 -1
  121. package/dist/store.js +1 -1
  122. package/dist/store.js.map +1 -1
  123. package/dist/vuex.js +1 -1
  124. package/dist/vuex.js.map +1 -1
  125. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Bundle.js","sources":["../../../../../src/js/components/shop/bundle/Bundle.vue"],"sourcesContent":["<template></template>\n<script>\nimport SwiperCore, { Navigation, Pagination } from \"swiper/core\";\nimport countdown from \"countdown.to\";\n\nSwiperCore.use([Navigation, Pagination]);\n\nexport default {\n name: \"bundle\",\n props: {\n prev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n next: {\n type: String,\n default: \".swiper-button-next\",\n },\n thumbPrev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n thumbNext: {\n type: String,\n default: \".swiper-button-next\",\n },\n },\n setup(props) {\n const pluralize = (count, words) => {\n let cases = [2, 0, 1, 1, 1, 2];\n\n return (\n count +\n \" \" +\n words[\n count % 100 > 4 && count % 100 < 20\n ? 2\n : cases[Math.min(count % 10, 5)]\n ]\n );\n };\n\n window.addEventListener(\"DOMContentLoaded\", () => {\n const container = document.getElementById(\"bundles-root\");\n\n new SwiperCore(container, {\n slidesPerView: 1,\n spaceBetween: 24,\n allowTouchMove: false,\n mousewheel: {\n forceToAxis: true,\n },\n navigation: {\n nextEl: props.next,\n prevEl: props.prev,\n },\n });\n\n const bundles = container.querySelectorAll(\n \"#bundles-root > .swiper-wrapper > .swiper-slide\"\n );\n\n bundles.forEach((bundle, bundleIndex) => {\n let active = [];\n let swipers = [];\n\n const infos = bundle.querySelectorAll(\".bundle-info\");\n const sliders = bundle.querySelectorAll(\".bundles-subproduct\");\n\n if (bundle.dataset.finish) {\n const timer = bundle.querySelector(\".countdown\");\n\n new countdown(bundle.dataset.finish, {\n onCalculateRemainingTime: function () {\n const months = this.timeRemaining[1];\n const days = this.timeRemaining[2];\n\n if (months > 0) {\n timer.innerHTML = pluralize(\n months,\n __(\"shop.pluralize.monthes\")\n );\n } else if (days > 0) {\n timer.innerHTML = pluralize(\n days,\n __(\"shop.pluralize.days\")\n );\n } else {\n const hours = this.timeRemaining[3];\n const minutes = this.timeRemaining[4];\n const seconds = this.timeRemaining[5];\n\n timer.innerHTML =\n hours + \":\" + minutes + \":\" + seconds;\n }\n },\n });\n }\n\n sliders.forEach((slider, index) => {\n const next = slider.querySelector(props.thumbNext);\n const prev = slider.querySelector(props.thumbPrev);\n const pagination =\n slider.querySelector(\".swiper-pagination\");\n\n active[index] = 0;\n\n if (pagination) {\n swipers[index] = new SwiperCore(\n slider.querySelector(\".swiper-container\"),\n {\n slidesPerView: 1,\n spaceBetween: 24,\n navigation: {\n nextEl: next,\n prevEl: prev,\n },\n pagination: {\n el: pagination,\n clickable: true,\n },\n on: {\n slideChange: function (el) {\n active[index] = el.activeIndex;\n\n infos.forEach((info) => {\n info.classList.add(\"is-hidden\");\n });\n\n const id =\n \"bundle\" +\n bundleIndex +\n \"-info-\" +\n active.join(\"-\");\n\n document\n .getElementById(id)\n .classList.remove(\"is-hidden\");\n },\n },\n }\n );\n }\n });\n });\n });\n },\n};\n</script>"],"names":["SwiperCore","use","Navigation","Pagination","name","props","prev","type","String","default","next","thumbPrev","thumbNext","setup","pluralize","count","words","Math","min","window","addEventListener","container","document","getElementById","slidesPerView","spaceBetween","allowTouchMove","mousewheel","forceToAxis","navigation","nextEl","prevEl","querySelectorAll","forEach","bundle","bundleIndex","active","swipers","infos","sliders","dataset","finish","timer","querySelector","countdown","onCalculateRemainingTime","months","this","timeRemaining","days","innerHTML","__","hours","minutes","seconds","slider","index","pagination","el","clickable","on","slideChange","activeIndex","info","classList","add","id","join","remove"],"mappings":"8JAKAA,UAAWC,IAAI,CAACC,aAAYC,eAE5B,MAAe,CACXC,KAAM,SACNC,MAAO,CACHC,KAAM,CACFC,KAAMC,OACNC,QAAS,uBAEbC,KAAM,CACFH,KAAMC,OACNC,QAAS,uBAEbE,UAAW,CACPJ,KAAMC,OACNC,QAAS,uBAEbG,UAAW,CACPL,KAAMC,OACNC,QAAS,wBAGjBI,MAAMR,OACIS,EAAY,CAACC,EAAOC,IAIlBD,EACA,IACAC,EACID,EAAQ,IAAM,GAAKA,EAAQ,IAAM,GAC3B,EAPF,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAQRE,KAAKC,IAAIH,EAAQ,GAAI,KAK7CI,OAAOC,iBAAiB,mBAAoB,SAClCC,EAAYC,SAASC,eAAe,oBAEtCvB,UAAWqB,EAAW,CACtBG,cAAe,EACfC,aAAc,GACdC,gBAAgB,EAChBC,WAAY,CACRC,aAAa,GAEjBC,WAAY,CACRC,OAAQzB,EAAMK,KACdqB,OAAQ1B,EAAMC,QAINe,EAAUW,iBACtB,mDAGIC,QAAQ,CAACC,EAAQC,SACjBC,EAAS,GACTC,EAAU,GAERC,EAAQJ,EAAOF,iBAAiB,gBAChCO,EAAUL,EAAOF,iBAAiB,0BAEpCE,EAAOM,QAAQC,OAAQ,KACjBC,EAAQR,EAAOS,cAAc,kBAE/BC,UAAUV,EAAOM,QAAQC,OAAQ,CACjCI,yBAA0B,eAChBC,EAASC,KAAKC,cAAc,GAC5BC,EAAOF,KAAKC,cAAc,MAE5BF,EAAS,EACTJ,EAAMQ,UAAYpC,EACdgC,EACAK,GAAG,gCAEJ,GAAIF,EAAO,EACdP,EAAMQ,UAAYpC,EACdmC,EACAE,GAAG,4BAEJ,KACGC,EAAQL,KAAKC,cAAc,GAC3BK,EAAUN,KAAKC,cAAc,GAC7BM,EAAUP,KAAKC,cAAc,GAEnCN,EAAMQ,UACFE,EAAQ,IAAMC,EAAU,IAAMC,MAMlDf,EAAQN,QAAQ,CAACsB,EAAQC,SACf9C,EAAO6C,EAAOZ,cAActC,EAAMO,WAClCN,EAAOiD,EAAOZ,cAActC,EAAMM,WAClC8C,EACFF,EAAOZ,cAAc,sBAEzBP,EAAOoB,GAAS,EAEZC,IACApB,EAAQmB,GAAS,IAAIxD,UACjBuD,EAAOZ,cAAc,qBACrB,CACInB,cAAe,EACfC,aAAc,GACdI,WAAY,CACRC,OAAQpB,EACRqB,OAAQzB,GAEZmD,WAAY,CACRC,GAAID,EACJE,WAAW,GAEfC,GAAI,CACAC,YAAa,SAAUH,GACnBtB,EAAOoB,GAASE,EAAGI,YAEnBxB,EAAML,QAAS8B,IACXA,EAAKC,UAAUC,IAAI,mBAGjBC,EACF,SACA/B,EACA,SACAC,EAAO+B,KAAK,KAEhB7C,SACKC,eAAe2C,GACfF,UAAUI,OAAO"}
1
+ {"version":3,"file":"Bundle.js","sources":["../../../../../src/js/components/shop/bundle/Bundle.vue"],"sourcesContent":["<template></template>\n<script>\nimport SwiperCore, { Navigation, Pagination } from \"swiper/core\";\nimport countdown from \"countdown.to\";\n\nSwiperCore.use([Navigation, Pagination]);\n\nexport default {\n name: \"bundle\",\n props: {\n prev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n next: {\n type: String,\n default: \".swiper-button-next\",\n },\n thumbPrev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n thumbNext: {\n type: String,\n default: \".swiper-button-next\",\n },\n },\n setup(props) {\n const pluralize = (count, words) => {\n let cases = [2, 0, 1, 1, 1, 2];\n\n return (\n count +\n \" \" +\n words[\n count % 100 > 4 && count % 100 < 20\n ? 2\n : cases[Math.min(count % 10, 5)]\n ]\n );\n };\n\n window.addEventListener(\"DOMContentLoaded\", () => {\n const container = document.getElementById(\"bundles-root\");\n\n new SwiperCore(container, {\n slidesPerView: 1,\n spaceBetween: 24,\n allowTouchMove: false,\n mousewheel: {\n forceToAxis: true,\n },\n navigation: {\n nextEl: props.next,\n prevEl: props.prev,\n },\n });\n\n const bundles = container.querySelectorAll(\n \"#bundles-root > .swiper-wrapper > .swiper-slide\"\n );\n\n bundles.forEach((bundle, bundleIndex) => {\n let active = [];\n let swipers = [];\n\n const infos = bundle.querySelectorAll(\".bundle-info\");\n const sliders = bundle.querySelectorAll(\".bundles-subproduct\");\n\n if (bundle.dataset.finish) {\n const timer = bundle.querySelector(\".countdown\");\n\n new countdown(bundle.dataset.finish, {\n onCalculateRemainingTime: function () {\n const months = this.timeRemaining[1];\n const days = this.timeRemaining[2];\n\n if (months > 0) {\n timer.innerHTML = pluralize(\n months,\n __(\"shop.pluralize.monthes\")\n );\n } else if (days > 0) {\n timer.innerHTML = pluralize(\n days,\n __(\"shop.pluralize.days\")\n );\n } else {\n const hours = this.timeRemaining[3];\n const minutes = this.timeRemaining[4];\n const seconds = this.timeRemaining[5];\n\n timer.innerHTML =\n hours + \":\" + minutes + \":\" + seconds;\n }\n },\n });\n }\n\n sliders.forEach((slider, index) => {\n const next = slider.querySelector(props.thumbNext);\n const prev = slider.querySelector(props.thumbPrev);\n const pagination =\n slider.querySelector(\".swiper-pagination\");\n\n active[index] = 0;\n\n if (pagination) {\n swipers[index] = new SwiperCore(\n slider.querySelector(\".swiper-container\"),\n {\n slidesPerView: 1,\n spaceBetween: 24,\n navigation: {\n nextEl: next,\n prevEl: prev,\n },\n pagination: {\n el: pagination,\n clickable: true,\n },\n on: {\n slideChange: function (el) {\n active[index] = el.activeIndex;\n\n infos.forEach((info) => {\n info.classList.add(\"is-hidden\");\n });\n\n const id =\n \"bundle\" +\n bundleIndex +\n \"-info-\" +\n active.join(\"-\");\n\n document\n .getElementById(id)\n .classList.remove(\"is-hidden\");\n },\n },\n }\n );\n }\n });\n });\n });\n },\n};\n</script>"],"names":["SwiperCore","use","Navigation","Pagination","name","props","prev","type","String","default","next","thumbPrev","thumbNext","setup","pluralize","count","words","Math","min","window","addEventListener","container","document","getElementById","slidesPerView","spaceBetween","allowTouchMove","mousewheel","forceToAxis","navigation","nextEl","prevEl","querySelectorAll","forEach","bundle","bundleIndex","active","swipers","infos","sliders","dataset","finish","timer","querySelector","countdown","onCalculateRemainingTime","months","this","timeRemaining","days","innerHTML","__","hours","minutes","seconds","slider","index","pagination","el","clickable","on","slideChange","activeIndex","info","classList","add","id","join","remove"],"mappings":"8JAKAA,UAAWC,IAAI,CAACC,aAAYC,eAE5B,MAAe,CACXC,KAAM,SACNC,MAAO,CACHC,KAAM,CACFC,KAAMC,OACNC,QAAS,uBAEbC,KAAM,CACFH,KAAMC,OACNC,QAAS,uBAEbE,UAAW,CACPJ,KAAMC,OACNC,QAAS,uBAEbG,UAAW,CACPL,KAAMC,OACNC,QAAS,wBAGjBI,eAAMR,OACIS,EAAY,SAACC,EAAOC,UAIlBD,EACA,IACAC,EACID,EAAQ,IAAM,GAAKA,EAAQ,IAAM,GAC3B,EAPF,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAQRE,KAAKC,IAAIH,EAAQ,GAAI,MAK7CI,OAAOC,iBAAiB,oBAAoB,eAClCC,EAAYC,SAASC,eAAe,oBAEtCvB,UAAWqB,EAAW,CACtBG,cAAe,EACfC,aAAc,GACdC,gBAAgB,EAChBC,WAAY,CACRC,aAAa,GAEjBC,WAAY,CACRC,OAAQzB,EAAMK,KACdqB,OAAQ1B,EAAMC,QAINe,EAAUW,iBACtB,mDAGIC,SAAQ,SAACC,EAAQC,OACjBC,EAAS,GACTC,EAAU,GAERC,EAAQJ,EAAOF,iBAAiB,gBAChCO,EAAUL,EAAOF,iBAAiB,0BAEpCE,EAAOM,QAAQC,OAAQ,KACjBC,EAAQR,EAAOS,cAAc,kBAE/BC,UAAUV,EAAOM,QAAQC,OAAQ,CACjCI,yBAA0B,eAChBC,EAASC,KAAKC,cAAc,GAC5BC,EAAOF,KAAKC,cAAc,MAE5BF,EAAS,EACTJ,EAAMQ,UAAYpC,EACdgC,EACAK,GAAG,gCAEJ,GAAIF,EAAO,EACdP,EAAMQ,UAAYpC,EACdmC,EACAE,GAAG,4BAEJ,KACGC,EAAQL,KAAKC,cAAc,GAC3BK,EAAUN,KAAKC,cAAc,GAC7BM,EAAUP,KAAKC,cAAc,GAEnCN,EAAMQ,UACFE,EAAQ,IAAMC,EAAU,IAAMC,MAMlDf,EAAQN,SAAQ,SAACsB,EAAQC,OACf9C,EAAO6C,EAAOZ,cAActC,EAAMO,WAClCN,EAAOiD,EAAOZ,cAActC,EAAMM,WAClC8C,EACFF,EAAOZ,cAAc,sBAEzBP,EAAOoB,GAAS,EAEZC,IACApB,EAAQmB,GAAS,IAAIxD,UACjBuD,EAAOZ,cAAc,qBACrB,CACInB,cAAe,EACfC,aAAc,GACdI,WAAY,CACRC,OAAQpB,EACRqB,OAAQzB,GAEZmD,WAAY,CACRC,GAAID,EACJE,WAAW,GAEfC,GAAI,CACAC,YAAa,SAAUH,GACnBtB,EAAOoB,GAASE,EAAGI,YAEnBxB,EAAML,SAAQ,SAAC8B,GACXA,EAAKC,UAAUC,IAAI,oBAGjBC,EACF,SACA/B,EACA,SACAC,EAAO+B,KAAK,KAEhB7C,SACKC,eAAe2C,GACfF,UAAUI,OAAO"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),r={name:"BundleAdd",props:{id:Number,second:Number,third:Number},setup(r){var n=e.ref(!1),a=t.useStore(),d=r.id+"-"+r.second+(r.third?"-"+r.third:""),l=e.computed(()=>a.getters["cart/productQuantity"](d)),o=r.isAlreadyInCart;return{loading:n,add:()=>{n.value=!0,a.dispatch("cart/add",{product:{id:d,quantity:1},finally:()=>{n.value=!1}})},remove:()=>{n.value=!0,a.dispatch("cart/remove",{id:d,finally:()=>{n.value=!1}})},cart:l,isAlreadyInCart:o}}},n={class:"shop-bundle-add"},a=["disabled","textContent"],d={key:0},l=e.createElementVNode("br",null,null,-1),o=["disabled","textContent"];r.render=function(t,r,i,u,c,s){return e.openBlock(),e.createElementBlock("div",n,[e.createElementVNode("button",{class:"button is-link is-small",onClick:r[0]||(r[0]=function(){return u.add&&u.add(...arguments)}),disabled:u.loading,textContent:e.toDisplayString(t.__("shop.bundle.add"))},null,8,a),t.$env.shop.isAlreadyInCart&&u.cart>0?(e.openBlock(),e.createElementBlock("div",d,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.already",{quantity:u.cart}))+" ",1),l,e.createElementVNode("a",{onClick:r[1]||(r[1]=e.withModifiers((function(){return u.remove&&u.remove(...arguments)}),["prevent"])),disabled:u.loading,textContent:e.toDisplayString(t.__("shop.cart.remove"))},null,8,o)])):e.createCommentVNode("v-if",!0)])},module.exports=r;
1
+ "use strict";var e=require("vue"),t=require("vuex"),n={name:"BundleAdd",props:{id:Number,second:Number,third:Number},setup:function(n){var r=e.ref(!1),a=t.useStore(),d=n.id+"-"+n.second+(n.third?"-"+n.third:""),o=e.computed((function(){return a.getters["cart/productQuantity"](d)})),i=n.isAlreadyInCart;return{loading:r,add:function(){r.value=!0,a.dispatch("cart/add",{product:{id:d,quantity:1},finally:function(){r.value=!1}})},remove:function(){r.value=!0,a.dispatch("cart/remove",{id:d,finally:function(){r.value=!1}})},cart:o,isAlreadyInCart:i}}},r={class:"shop-bundle-add"},a=["disabled","textContent"],d={key:0},o=e.createElementVNode("br",null,null,-1),i=["disabled","textContent"];n.render=function(t,n,l,u,c,s){return e.openBlock(),e.createElementBlock("div",r,[e.createElementVNode("button",{class:"button is-link is-small",onClick:n[0]||(n[0]=function(){return u.add&&u.add.apply(u,arguments)}),disabled:u.loading,textContent:e.toDisplayString(t.__("shop.bundle.add"))},null,8,a),t.$env.shop.isAlreadyInCart&&u.cart>0?(e.openBlock(),e.createElementBlock("div",d,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.already",{quantity:u.cart}))+" ",1),o,e.createElementVNode("a",{onClick:n[1]||(n[1]=e.withModifiers((function(){return u.remove&&u.remove.apply(u,arguments)}),["prevent"])),disabled:u.loading,textContent:e.toDisplayString(t.__("shop.cart.remove"))},null,8,i)])):e.createCommentVNode("v-if",!0)])},module.exports=n;
2
2
  //# sourceMappingURL=BundleAdd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BundleAdd.js","sources":["../../../../../src/js/components/shop/bundle/BundleAdd.vue","../../../../../src/js/components/shop/bundle/BundleAdd.vue?vue&type=template&id=4e0e07c8&lang.js"],"sourcesContent":["<template>\n <div class=\"shop-bundle-add\">\n <button\n class=\"button is-link is-small\"\n v-on:click=\"add\"\n :disabled=\"loading\"\n v-text=\"__('shop.bundle.add')\"\n ></button>\n <div v-if=\"$env.shop.isAlreadyInCart && cart > 0\">\n {{ __(\"shop.cart.already\", { quantity: cart }) }}\n <br />\n <a\n v-on:click.prevent=\"remove\"\n :disabled=\"loading\"\n v-text=\"__('shop.cart.remove')\"\n ></a>\n </div>\n </div>\n</template>\n<script>\nimport { ref, computed } from \"vue\";\nimport { useStore } from \"vuex\";\n\nexport default {\n name: \"BundleAdd\",\n props: {\n id: Number,\n second: Number,\n third: Number,\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const bundleId =\n props.id +\n \"-\" +\n props.second +\n (props.third ? \"-\" + props.third : \"\");\n\n const cart = computed(() =>\n store.getters[\"cart/productQuantity\"](bundleId)\n );\n\n let isAlreadyInCart = props.isAlreadyInCart;\n\n const add = () => {\n loading.value = true;\n\n store.dispatch(\"cart/add\", {\n product: {\n id: bundleId,\n quantity: 1,\n },\n finally: () => {\n loading.value = false;\n },\n });\n };\n\n const remove = () => {\n loading.value = true;\n\n store.dispatch(\"cart/remove\", {\n id: bundleId,\n finally: () => {\n loading.value = false;\n },\n });\n };\n\n return {\n loading,\n add,\n remove,\n cart,\n isAlreadyInCart,\n };\n },\n};\n</script>","<template>\n <div class=\"shop-bundle-add\">\n <button\n class=\"button is-link is-small\"\n v-on:click=\"add\"\n :disabled=\"loading\"\n v-text=\"__('shop.bundle.add')\"\n ></button>\n <div v-if=\"$env.shop.isAlreadyInCart && cart > 0\">\n {{ __(\"shop.cart.already\", { quantity: cart }) }}\n <br />\n <a\n v-on:click.prevent=\"remove\"\n :disabled=\"loading\"\n v-text=\"__('shop.cart.remove')\"\n ></a>\n </div>\n </div>\n</template>\n<script>\nimport { ref, computed } from \"vue\";\nimport { useStore } from \"vuex\";\n\nexport default {\n name: \"BundleAdd\",\n props: {\n id: Number,\n second: Number,\n third: Number,\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const bundleId =\n props.id +\n \"-\" +\n props.second +\n (props.third ? \"-\" + props.third : \"\");\n\n const cart = computed(() =>\n store.getters[\"cart/productQuantity\"](bundleId)\n );\n\n let isAlreadyInCart = props.isAlreadyInCart;\n\n const add = () => {\n loading.value = true;\n\n store.dispatch(\"cart/add\", {\n product: {\n id: bundleId,\n quantity: 1,\n },\n finally: () => {\n loading.value = false;\n },\n });\n };\n\n const remove = () => {\n loading.value = true;\n\n store.dispatch(\"cart/remove\", {\n id: bundleId,\n finally: () => {\n loading.value = false;\n },\n });\n };\n\n return {\n loading,\n add,\n remove,\n cart,\n isAlreadyInCart,\n };\n },\n};\n</script>"],"names":["name","props","id","Number","second","third","setup","loading","ref","store","useStore","bundleId","cart","computed","getters","isAlreadyInCart","add","value","dispatch","product","quantity","finally","remove","class","_createElementVNode","_createElementBlock","_hoisted_1","onClick","$setup","disabled","_toDisplayString","_ctx","shop","_hoisted_4"],"mappings":"sDAuBe,CACXA,KAAM,YACNC,MAAO,CACHC,GAAIC,OACJC,OAAQD,OACRE,MAAOF,QAEXG,MAAML,OACIM,EAAUC,OAAI,GACdC,EAAQC,aACRC,EACFV,EAAMC,GACN,IACAD,EAAMG,QACLH,EAAMI,MAAQ,IAAMJ,EAAMI,MAAQ,IAEjCO,EAAOC,WAAS,IAClBJ,EAAMK,QAAQ,wBAAwBH,IAGtCI,EAAkBd,EAAMc,sBA2BrB,CACHR,QAAAA,EACAS,IA3BQ,KACRT,EAAQU,OAAQ,EAEhBR,EAAMS,SAAS,WAAY,CACvBC,QAAS,CACLjB,GAAIS,EACJS,SAAU,GAEdC,QAAS,KACLd,EAAQU,OAAQ,MAmBxBK,OAdW,KACXf,EAAQU,OAAQ,EAEhBR,EAAMS,SAAS,cAAe,CAC1BhB,GAAIS,EACJU,QAAS,KACLd,EAAQU,OAAQ,MASxBL,KAAAA,EACAG,gBAAAA,QC1EHQ,MAAM,4DASHC,yHATRC,2BAAAC,GACIF,+BACID,MAAM,0BACDI,sCAAOC,6BACXC,SAAUD,sBACXE,kBAAQC,oCAEDA,OAAKC,KAAKjB,iBAAmBa,wBAAxCH,kEACOM,mCAAoCH,iBACvCK,EACAT,0BACSG,uDAAeC,iDACnBC,SAAUD,sBACXE,kBAAQC"}
1
+ {"version":3,"file":"BundleAdd.js","sources":["../../../../../src/js/components/shop/bundle/BundleAdd.vue","../../../../../src/js/components/shop/bundle/BundleAdd.vue?vue&type=template&id=4e0e07c8&lang.js"],"sourcesContent":["<template>\n <div class=\"shop-bundle-add\">\n <button\n class=\"button is-link is-small\"\n v-on:click=\"add\"\n :disabled=\"loading\"\n v-text=\"__('shop.bundle.add')\"\n ></button>\n <div v-if=\"$env.shop.isAlreadyInCart && cart > 0\">\n {{ __(\"shop.cart.already\", { quantity: cart }) }}\n <br />\n <a\n v-on:click.prevent=\"remove\"\n :disabled=\"loading\"\n v-text=\"__('shop.cart.remove')\"\n ></a>\n </div>\n </div>\n</template>\n<script>\nimport { ref, computed } from \"vue\";\nimport { useStore } from \"vuex\";\n\nexport default {\n name: \"BundleAdd\",\n props: {\n id: Number,\n second: Number,\n third: Number,\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const bundleId =\n props.id +\n \"-\" +\n props.second +\n (props.third ? \"-\" + props.third : \"\");\n\n const cart = computed(() =>\n store.getters[\"cart/productQuantity\"](bundleId)\n );\n\n let isAlreadyInCart = props.isAlreadyInCart;\n\n const add = () => {\n loading.value = true;\n\n store.dispatch(\"cart/add\", {\n product: {\n id: bundleId,\n quantity: 1,\n },\n finally: () => {\n loading.value = false;\n },\n });\n };\n\n const remove = () => {\n loading.value = true;\n\n store.dispatch(\"cart/remove\", {\n id: bundleId,\n finally: () => {\n loading.value = false;\n },\n });\n };\n\n return {\n loading,\n add,\n remove,\n cart,\n isAlreadyInCart,\n };\n },\n};\n</script>","<template>\n <div class=\"shop-bundle-add\">\n <button\n class=\"button is-link is-small\"\n v-on:click=\"add\"\n :disabled=\"loading\"\n v-text=\"__('shop.bundle.add')\"\n ></button>\n <div v-if=\"$env.shop.isAlreadyInCart && cart > 0\">\n {{ __(\"shop.cart.already\", { quantity: cart }) }}\n <br />\n <a\n v-on:click.prevent=\"remove\"\n :disabled=\"loading\"\n v-text=\"__('shop.cart.remove')\"\n ></a>\n </div>\n </div>\n</template>\n<script>\nimport { ref, computed } from \"vue\";\nimport { useStore } from \"vuex\";\n\nexport default {\n name: \"BundleAdd\",\n props: {\n id: Number,\n second: Number,\n third: Number,\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const bundleId =\n props.id +\n \"-\" +\n props.second +\n (props.third ? \"-\" + props.third : \"\");\n\n const cart = computed(() =>\n store.getters[\"cart/productQuantity\"](bundleId)\n );\n\n let isAlreadyInCart = props.isAlreadyInCart;\n\n const add = () => {\n loading.value = true;\n\n store.dispatch(\"cart/add\", {\n product: {\n id: bundleId,\n quantity: 1,\n },\n finally: () => {\n loading.value = false;\n },\n });\n };\n\n const remove = () => {\n loading.value = true;\n\n store.dispatch(\"cart/remove\", {\n id: bundleId,\n finally: () => {\n loading.value = false;\n },\n });\n };\n\n return {\n loading,\n add,\n remove,\n cart,\n isAlreadyInCart,\n };\n },\n};\n</script>"],"names":["name","props","id","Number","second","third","setup","loading","ref","store","useStore","bundleId","cart","computed","getters","isAlreadyInCart","add","value","dispatch","product","quantity","finally","remove","class","_createElementVNode","_createElementBlock","_hoisted_1","onClick","$setup","disabled","_toDisplayString","_ctx","shop","_hoisted_4"],"mappings":"sDAuBe,CACXA,KAAM,YACNC,MAAO,CACHC,GAAIC,OACJC,OAAQD,OACRE,MAAOF,QAEXG,eAAML,OACIM,EAAUC,OAAI,GACdC,EAAQC,aACRC,EACFV,EAAMC,GACN,IACAD,EAAMG,QACLH,EAAMI,MAAQ,IAAMJ,EAAMI,MAAQ,IAEjCO,EAAOC,YAAS,kBAClBJ,EAAMK,QAAQ,wBAAwBH,MAGtCI,EAAkBd,EAAMc,sBA2BrB,CACHR,QAAAA,EACAS,IA3BQ,WACRT,EAAQU,OAAQ,EAEhBR,EAAMS,SAAS,WAAY,CACvBC,QAAS,CACLjB,GAAIS,EACJS,SAAU,GAEdC,QAAS,WACLd,EAAQU,OAAQ,MAmBxBK,OAdW,WACXf,EAAQU,OAAQ,EAEhBR,EAAMS,SAAS,cAAe,CAC1BhB,GAAIS,EACJU,QAAS,WACLd,EAAQU,OAAQ,MASxBL,KAAAA,EACAG,gBAAAA,QC1EHQ,MAAM,4DASHC,yHATRC,2BAAAC,GACIF,+BACID,MAAM,0BACDI,sCAAOC,kCACXC,SAAUD,sBACXE,kBAAQC,oCAEDA,OAAKC,KAAKjB,iBAAmBa,wBAAxCH,kEACOM,mCAAoCH,iBACvCK,EACAT,0BACSG,uDAAeC,sDACnBC,SAAUD,sBACXE,kBAAQC"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),l=require("vuex"),t=require("@perevorot/shop/dist/helpers"),n=require("swiper/core");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=o(n);c.default.use([n.Navigation]);var r=e.defineComponent({name:"cart",props:{isModal:{type:Boolean,default:!0}},setup(){var n=l.useStore(),o=e.ref(!1),r=e.computed(()=>n.getters["cart/items"]),a=e.computed(()=>n.getters["cart/modal"]),s=e.computed(()=>n.getters["cart/total"]),i=e.computed(()=>n.getters["cart/quantity"]),d=()=>{n.commit("cart/modal",!1)};n.dispatch("cart/get",{finally:()=>{}}),window.addEventListener("keyup",e=>{a.value&&"Escape"===e.key&&d()});var m,u,p=e.ref(null),v=e.ref(null),E=e.ref(null),k=e.computed(()=>{var e=n.getters["cart/cross"];return p.value&&(m&&m.destroy(),e.length&&(m=new c.default(p.value,{slidesPerView:2,slidesPerGroup:2,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:v.value,prevEl:E.value}}))),e}),N=e.ref(null),V=e.ref(null),g=e.ref(null),h=e.computed(()=>{var e=n.getters["cart/bundles"];return N.value&&(u&&u.destroy(),e.length&&(u=new c.default(N.value,{slidesPerView:1,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:V.value,prevEl:g.value}}))),e});window.addEventListener("beforeunload",()=>{n.commit("cart/modal",null)}),window.addEventListener("pagehide",()=>{n.commit("cart/modal",null)});return{loading:o,items:r,modal:a,total:s,quantity:i,open:()=>{n.commit("cart/modal",!0)},close:d,clear:()=>{o.value=!0,n.dispatch("cart/clear",{finally:()=>{o.value=!1}})},pluralize:t.pluralize,goto:e=>{window.addEventListener("beforeunload",()=>{n.commit("cart/modal",!1)}),window.addEventListener("pagehide",()=>{n.commit("cart/modal",!1)}),window.location.href=e},cross:k,crossSlider:p,crossSliderPrev:E,crossSliderNext:v,bundles:h,bundlesSlider:N,bundlesSliderPrev:g,bundlesSliderNext:V,checkout:()=>{try{var e=[];r.value.forEach(l=>{e.push({name:l.name,id:l.code,price:l.price,category:l.category?l.category.name:"",brand:l.brand?l.brand.name:"",quantity:l.quantity})});var l={ecommerce:{checkout:{products:[e]}},event:"checkout",eventCallback:function(){window.location.href=$ziggy("shop.checkout")}};$env.debug.ecommerce&&console.log(JSON.stringify(l)),!$env.debug.ecommerce&&window.dataLayer?(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(l)):window.location.href=$ziggy("shop.checkout")}catch(e){console.error(e),window.location.href=$ziggy("shop.checkout")}}}}}),a={class:"cart"},s={class:"dropdown is-right is-hoverable"},i={class:"dropdown-trigger"},d=e.createElementVNode("i",{class:"fas fa-shopping-cart"},null,-1),m=e.createElementVNode("span",{class:"icon is-small"},[e.createElementVNode("i",{class:"fas fa-angle-down","aria-hidden":"true"})],-1),u={class:"dropdown-menu",role:"menu"},p={key:0,class:"dropdown-content"},v={class:"dropdown-item"},E={class:"columns"},k={class:"column"},N=["innerHTML"],V=e.createElementVNode("div",{class:"dropdown-divider"},null,-1),g={class:"dropdown-item has-text-centered"},h={class:"dropdown-item has-text-centered"},f={key:1,class:"dropdown-content"},w=e.createElementVNode("div",{class:"dropdown-item"},"Ваша корзина пуста",-1),B={class:"modal-content"},y=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],b={class:"box"},C={class:"cart-title"},x=e.createTextVNode("Корзина "),L=["textContent"],T={key:0,class:"items-wrapper"},S={class:"items"},M={class:"columns is-gapless is-vcentered main-actions"},H={class:"column"},$={class:"column has-text-right"},q={class:"totals"},z={class:"title"},D=e.createTextVNode("Итого: "),P=["innerHTML"],_={class:"column is-narrow"},O={key:0,class:"cross"},F=e.createElementVNode("div",{class:"title"},"С товарами из вашей корзины часто покупают",-1),A={class:"swiper-container",ref:"crossSlider"},j={class:"swiper-wrapper"},G={class:"columns is-gapless"},J={class:"column is-narrow"},I=["onClick"],K=["src"],Q={key:1},R=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],U={class:"column"},W={class:"product"},X={class:"name"},Y=["onClick"],Z={class:"columns is-gapless is-vcentered"},ee={class:"column is-narrow"},le={class:"prices"},te=["innerHTML"],ne=["innerHTML"],oe={class:"column"},ce=e.createElementVNode("svg",null,[e.createElementVNode("use",{"xlink:href":"#cart-alternate"})],-1),re={class:"swiper-nav prev",ref:"crossSliderPrev"},ae=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],se={class:"swiper-nav next",ref:"crossSliderNext"},ie=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],de={key:1,class:"bundles"},me=e.createElementVNode("div",{class:"title"},"Вместе дешевле",-1),ue={class:"swiper-container",ref:"bundlesSlider"},pe={class:"swiper-wrapper"},ve={class:"column is-narrow"},Ee=["onClick"],ke=["src"],Ne={key:1},Ve=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],ge={class:"column"},he={class:"product"},fe={class:"name"},we=["onClick"],Be={class:"columns is-gapless is-vcentered"},ye={class:"prices"},be=["innerHTML"],Ce=e.createElementVNode("div",{class:"column is-narrow"},[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})])],-1),xe={class:"column is-narrow"},Le=["onClick"],Te=["src"],Se={key:1},Me=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],He={class:"column"},$e={class:"product"},qe={class:"name"},ze=["onClick"],De={class:"columns is-gapless is-vcentered"},Pe={class:"prices"},_e=["innerHTML"],Oe={key:0,class:"column is-narrow"},Fe=[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})],-1)],Ae={key:1,class:"column is-narrow"},je=["onClick"],Ge=["src"],Je={key:1},Ie=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Ke={key:2,class:"column"},Qe={class:"product"},Re={class:"name"},Ue=["onClick"],We={class:"columns is-gapless is-vcentered"},Xe={class:"prices"},Ye=["innerHTML"],Ze={class:"columns is-vcentered"},el={class:"column"},ll=["innerHTML"],tl=["innerHTML"],nl={class:"column"},ol={class:"is-flex is-align-items-center"},cl=["innerHTML"],rl={class:"swiper-nav prev",ref:"bundlesSliderPrev"},al=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],sl={class:"swiper-nav next",ref:"bundlesSliderNext"},il=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],dl={key:1,class:"empty"},ml=e.createElementVNode("div",{class:"title"},"В корзине пока что нет товаров",-1),ul={class:"message"},pl=e.createTextVNode("Посмотрите предложения на "),vl=e.createTextVNode(","),El=e.createElementVNode("br",null,null,-1),kl=e.createTextVNode("воспользуйтесь каталогом или поиском"),Nl={class:"viewed-wrapper"};r.render=function(l,t,n,o,c,r){var Vl=e.resolveComponent("cart-item"),gl=e.resolveComponent("cart-add"),hl=e.resolveComponent("bundle-add"),fl=e.resolveComponent("viewed");return e.openBlock(),e.createElementBlock("div",a,[e.createElementVNode("div",s,[e.createElementVNode("div",i,[e.renderSlot(l.$slots,"default",{total:l.quantity,open:l.open},()=>[e.createElementVNode("button",{class:"button",onClick:t[0]||(t[0]=function(){return l.open&&l.open(...arguments)})},[e.createElementVNode("span",null,[d,e.createTextVNode(" "+e.toDisplayString(l.quantity),1)]),m])])]),e.createElementVNode("div",u,[l.items.length?(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",v,[e.createElementVNode("div",E,[e.createElementVNode("div",k,e.toDisplayString(l.__("shop.cart.total")),1),e.createElementVNode("div",{class:"column has-text-right",innerHTML:l.$filters.price(l.total)},null,8,N)])]),V,e.createElementVNode("div",g,[e.createElementVNode("a",{onClick:t[1]||(t[1]=function(){return l.checkout&&l.checkout(...arguments)}),class:"button is-link"},e.toDisplayString(l.__("shop.cart.checkout")),1)]),e.createElementVNode("div",h,[e.renderSlot(l.$slots,"open",{open:l.open},()=>[e.createElementVNode("a",{onClick:t[2]||(t[2]=function(){return l.open&&l.open(...arguments)})},"Открыть корзину")])])])):(e.openBlock(),e.createElementBlock("div",f,[e.renderSlot(l.$slots,"empty",{},()=>[w])]))])]),l.isModal?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["modal",{"is-active":l.modal}])},[e.createElementVNode("div",{class:"modal-background",onClick:t[3]||(t[3]=function(){return l.close&&l.close(...arguments)})}),e.createElementVNode("div",B,[e.createElementVNode("button",{class:"modal-close is-large",onClick:t[4]||(t[4]=function(){return l.close&&l.close(...arguments)})},y),e.createElementVNode("div",b,[e.createElementVNode("div",C,[x,l.quantity?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(l.pluralize(l.quantity,l.__("shop.pluralize.products")))},null,8,L)):e.createCommentVNode("v-if",!0)]),l.items.length?(e.openBlock(),e.createElementBlock("div",T,[e.createElementVNode("div",S,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,l=>(e.openBlock(),e.createBlock(Vl,{key:l.id,item:l},null,8,["item"]))),128))]),e.createElementVNode("div",M,[e.createElementVNode("div",H,[e.createElementVNode("button",{class:"button continue",onClick:t[5]||(t[5]=function(){return l.close&&l.close(...arguments)})},"Продолжить покупки")]),e.createElementVNode("div",$,[e.createElementVNode("div",q,[e.createElementVNode("div",z,[D,e.createElementVNode("span",{innerHTML:l.$filters.price(l.total)},null,8,P)])])]),e.createElementVNode("div",_,[e.createElementVNode("a",{onClick:t[6]||(t[6]=function(){return l.checkout&&l.checkout(...arguments)}),class:"button is-link checkout"},"Оформить заказ")])]),l.cross.length?(e.openBlock(),e.createElementBlock("div",O,[F,e.createElementVNode("div",A,[e.createElementVNode("div",j,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.cross,t=>(e.openBlock(),e.createElementBlock("div",{class:"swiper-slide",key:t.id},[e.createElementVNode("div",G,[e.createElementVNode("div",J,[e.createElementVNode("a",{onClick:e=>l.goto(t.href)},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!t.image}])},[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image},null,8,K)):(e.openBlock(),e.createElementBlock("svg",Q,R))],2)],8,I)]),e.createElementVNode("div",U,[e.createElementVNode("div",W,[e.createElementVNode("div",X,[e.createElementVNode("a",{onClick:e=>l.goto(t.href)},e.toDisplayString(t.name),9,Y)]),e.createElementVNode("div",Z,[e.createElementVNode("div",ee,[e.createElementVNode("div",le,[t.priceOld?(e.openBlock(),e.createElementBlock("div",{key:0,class:"price-old",innerHTML:l.$filters.price(t.priceOld)},null,8,te)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{class:"price",innerHTML:l.$filters.price(t.price)},null,8,ne)])]),e.createElementVNode("div",oe,[e.createVNode(gl,{id:t.id,"is-simple":!0},{default:e.withCtx(()=>[ce]),_:2},1032,["id"])])])])])])]))),128))]),(e.openBlock(),e.createElementBlock("svg",re,ae,512)),(e.openBlock(),e.createElementBlock("svg",se,ie,512))],512)])):e.createCommentVNode("v-if",!0),l.bundles.length?(e.openBlock(),e.createElementBlock("div",de,[me,e.createElementVNode("div",ue,[e.createElementVNode("div",pe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.bundles,t=>(e.openBlock(),e.createElementBlock("div",{class:"swiper-slide",key:t.id},[e.createElementVNode("div",{class:e.normalizeClass(["columns is-gapless is-vcentered",{"is-third":t.third}])},[e.createElementVNode("div",ve,[e.createElementVNode("a",{onClick:e=>l.goto(t.href)},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!t.image}])},[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image},null,8,ke)):(e.openBlock(),e.createElementBlock("svg",Ne,Ve))],2)],8,Ee)]),e.createElementVNode("div",ge,[e.createElementVNode("div",he,[e.createElementVNode("div",fe,[e.createElementVNode("a",{onClick:e=>l.goto(t.href)},e.toDisplayString(t.name),9,we)]),e.createElementVNode("div",Be,[e.createElementVNode("div",ye,[e.createElementVNode("div",{class:"price",innerHTML:l.$filters.price(t.price)},null,8,be)])])])]),Ce,e.createElementVNode("div",xe,[e.createElementVNode("a",{onClick:e=>l.goto(t.second.href)},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!t.second.image}])},[t.second.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.second.image},null,8,Te)):(e.openBlock(),e.createElementBlock("svg",Se,Me))],2)],8,Le)]),e.createElementVNode("div",He,[e.createElementVNode("div",$e,[e.createElementVNode("div",qe,[e.createElementVNode("a",{onClick:e=>l.goto(t.second.href)},e.toDisplayString(t.second.name),9,ze)]),e.createElementVNode("div",De,[e.createElementVNode("div",Pe,[e.createElementVNode("div",{class:"price",innerHTML:l.$filters.price(t.second.price)},null,8,_e)])])])]),t.third?(e.openBlock(),e.createElementBlock("div",Oe,Fe)):e.createCommentVNode("v-if",!0),t.third?(e.openBlock(),e.createElementBlock("div",Ae,[e.createElementVNode("a",{onClick:e=>l.goto(t.third.href)},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!t.third.image}])},[t.third.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.third.image},null,8,Ge)):(e.openBlock(),e.createElementBlock("svg",Je,Ie))],2)],8,je)])):e.createCommentVNode("v-if",!0),t.third?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("div",Qe,[e.createElementVNode("div",Re,[e.createElementVNode("a",{onClick:e=>l.goto(t.third.href)},e.toDisplayString(t.third.name),9,Ue)]),e.createElementVNode("div",We,[e.createElementVNode("div",Xe,[e.createElementVNode("div",{class:"price",innerHTML:l.$filters.price(t.third.price)},null,8,Ye)])])])])):e.createCommentVNode("v-if",!0)],2),e.createElementVNode("div",Ze,[e.createElementVNode("div",el,[e.createElementVNode("span",{class:"total-old",innerHTML:l.$filters.price(t.bundle.priceOld)},null,8,ll),e.createElementVNode("span",{class:"bundle-amount",innerHTML:"Выгода "+t.bundle.amount},null,8,tl)]),e.createElementVNode("div",nl,[e.createElementVNode("div",ol,[e.createElementVNode("span",{class:"total",innerHTML:l.$filters.price(t.bundle.price)},null,8,cl),e.createVNode(hl,{id:t.id,second:t.second.id,third:t.third?t.third.id:null},null,8,["id","second","third"])])])])]))),128))])],512),(e.openBlock(),e.createElementBlock("svg",rl,al,512)),(e.openBlock(),e.createElementBlock("svg",sl,il,512))])):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock("div",dl,[ml,e.createElementVNode("div",ul,[pl,e.createElementVNode("a",{onClick:t[7]||(t[7]=e=>l.goto(l.$env.locale.url+"/"))},"главной странице"),vl,El,kl]),e.createElementVNode("button",{class:"button continue",onClick:t[8]||(t[8]=function(){return l.close&&l.close(...arguments)})},"Продолжить покупки"),e.createElementVNode("div",Nl,[e.createVNode(fl,{slider:!0})])]))])])],2)):e.createCommentVNode("v-if",!0)])},module.exports=r;
1
+ "use strict";var e=require("vue"),t=require("vuex"),n=require("@perevorot/shop/dist/helpers"),l=require("swiper/core");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=o(l);c.default.use([l.Navigation]);var r=e.defineComponent({name:"cart",props:{isModal:{type:Boolean,default:!0}},setup:function(){var l=t.useStore(),o=e.ref(!1),r=e.computed((function(){return l.getters["cart/items"]})),a=e.computed((function(){return l.getters["cart/modal"]})),s=e.computed((function(){return l.getters["cart/total"]})),i=e.computed((function(){return l.getters["cart/quantity"]})),d=function(){l.commit("cart/modal",!1)};l.dispatch("cart/get",{finally:function(){}}),window.addEventListener("keyup",(function(e){a.value&&"Escape"===e.key&&d()}));var m,u,p=e.ref(null),v=e.ref(null),E=e.ref(null),k=e.computed((function(){var e=l.getters["cart/cross"];return p.value&&(m&&m.destroy(),e.length&&(m=new c.default(p.value,{slidesPerView:2,slidesPerGroup:2,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:v.value,prevEl:E.value}}))),e})),N=e.ref(null),V=e.ref(null),f=e.ref(null),g=e.computed((function(){var e=l.getters["cart/bundles"];return N.value&&(u&&u.destroy(),e.length&&(u=new c.default(N.value,{slidesPerView:1,spaceBetween:0,allowTouchMove:!0,mousewheel:{forceToAxis:!0},navigation:{nextEl:V.value,prevEl:f.value}}))),e}));window.addEventListener("beforeunload",(function(){l.commit("cart/modal",null)})),window.addEventListener("pagehide",(function(){l.commit("cart/modal",null)}));return{loading:o,items:r,modal:a,total:s,quantity:i,open:function(){l.commit("cart/modal",!0)},close:d,clear:function(){o.value=!0,l.dispatch("cart/clear",{finally:function(){o.value=!1}})},pluralize:n.pluralize,goto:function(e){window.addEventListener("beforeunload",(function(){l.commit("cart/modal",!1)})),window.addEventListener("pagehide",(function(){l.commit("cart/modal",!1)})),window.location.href=e},cross:k,crossSlider:p,crossSliderPrev:E,crossSliderNext:v,bundles:g,bundlesSlider:N,bundlesSliderPrev:f,bundlesSliderNext:V,checkout:function(){try{var e=[];r.value.forEach((function(t){e.push({name:t.name,id:t.code,price:t.price,category:t.category?t.category.name:"",brand:t.brand?t.brand.name:"",quantity:t.quantity})}));var t={ecommerce:{checkout:{products:[e]}},event:"checkout",eventCallback:function(){window.location.href=$ziggy("shop.checkout")}};$env.debug.ecommerce&&console.log(JSON.stringify(t)),!$env.debug.ecommerce&&window.dataLayer?(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t)):window.location.href=$ziggy("shop.checkout")}catch(e){console.error(e),window.location.href=$ziggy("shop.checkout")}}}}}),a={class:"cart"},s={class:"dropdown is-right is-hoverable"},i={class:"dropdown-trigger"},d=e.createElementVNode("i",{class:"fas fa-shopping-cart"},null,-1),m=e.createElementVNode("span",{class:"icon is-small"},[e.createElementVNode("i",{class:"fas fa-angle-down","aria-hidden":"true"})],-1),u={class:"dropdown-menu",role:"menu"},p={key:0,class:"dropdown-content"},v={class:"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"},w=e.createElementVNode("div",{class:"dropdown-item"},"Ваша корзина пуста",-1),y={class:"modal-content"},B=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],b={class:"box"},C={class:"cart-title"},x=e.createTextVNode("Корзина "),L=["textContent"],T={key:0,class:"items-wrapper"},S={class:"items"},M={class:"columns is-gapless is-vcentered main-actions"},H={class:"column"},$={class:"column has-text-right"},q={class:"totals"},z={class:"title"},D=e.createTextVNode("Итого: "),P=["innerHTML"],_={class:"column is-narrow"},O={key:0,class:"cross"},F=e.createElementVNode("div",{class:"title"},"С товарами из вашей корзины часто покупают",-1),A={class:"swiper-container",ref:"crossSlider"},j={class:"swiper-wrapper"},G={class:"columns is-gapless"},J={class:"column is-narrow"},I=["onClick"],K=["src"],Q={key:1},R=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],U={class:"column"},W={class:"product"},X={class:"name"},Y=["onClick"],Z={class:"columns is-gapless is-vcentered"},ee={class:"column is-narrow"},te={class:"prices"},ne=["innerHTML"],le=["innerHTML"],oe={class:"column"},ce=e.createElementVNode("svg",null,[e.createElementVNode("use",{"xlink:href":"#cart-alternate"})],-1),re={class:"swiper-nav prev",ref:"crossSliderPrev"},ae=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],se={class:"swiper-nav next",ref:"crossSliderNext"},ie=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],de={key:1,class:"bundles"},me=e.createElementVNode("div",{class:"title"},"Вместе дешевле",-1),ue={class:"swiper-container",ref:"bundlesSlider"},pe={class:"swiper-wrapper"},ve={class:"column is-narrow"},Ee=["onClick"],ke=["src"],Ne={key:1},Ve=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],fe={class:"column"},ge={class:"product"},he={class:"name"},we=["onClick"],ye={class:"columns is-gapless is-vcentered"},Be={class:"prices"},be=["innerHTML"],Ce=e.createElementVNode("div",{class:"column is-narrow"},[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})])],-1),xe={class:"column is-narrow"},Le=["onClick"],Te=["src"],Se={key:1},Me=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],He={class:"column"},$e={class:"product"},qe={class:"name"},ze=["onClick"],De={class:"columns is-gapless is-vcentered"},Pe={class:"prices"},_e=["innerHTML"],Oe={key:0,class:"column is-narrow"},Fe=[e.createElementVNode("svg",{class:"bundle-icon plus"},[e.createElementVNode("use",{"xlink:href":"#bundle-plus"})],-1)],Ae={key:1,class:"column is-narrow"},je=["onClick"],Ge=["src"],Je={key:1},Ie=[e.createElementVNode("use",{"xlink:href":"#logo"},null,-1)],Ke={key:2,class:"column"},Qe={class:"product"},Re={class:"name"},Ue=["onClick"],We={class:"columns is-gapless is-vcentered"},Xe={class:"prices"},Ye=["innerHTML"],Ze={class:"columns is-vcentered"},et={class:"column"},tt=["innerHTML"],nt=["innerHTML"],lt={class:"column"},ot={class:"is-flex is-align-items-center"},ct=["innerHTML"],rt={class:"swiper-nav prev",ref:"bundlesSliderPrev"},at=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],st={class:"swiper-nav next",ref:"bundlesSliderNext"},it=[e.createElementVNode("use",{"xlink:href":"#arrow-submenu"},null,-1)],dt={key:1,class:"empty"},mt=e.createElementVNode("div",{class:"title"},"В корзине пока что нет товаров",-1),ut={class:"message"},pt=e.createTextVNode("Посмотрите предложения на "),vt=e.createTextVNode(","),Et=e.createElementVNode("br",null,null,-1),kt=e.createTextVNode("воспользуйтесь каталогом или поиском"),Nt={class:"viewed-wrapper"};r.render=function(t,n,l,o,c,r){var Vt=e.resolveComponent("cart-item"),ft=e.resolveComponent("cart-add"),gt=e.resolveComponent("bundle-add"),ht=e.resolveComponent("viewed");return e.openBlock(),e.createElementBlock("div",a,[e.createElementVNode("div",s,[e.createElementVNode("div",i,[e.renderSlot(t.$slots,"default",{total:t.quantity,open:t.open},(function(){return[e.createElementVNode("button",{class:"button",onClick:n[0]||(n[0]=function(){return t.open&&t.open.apply(t,arguments)})},[e.createElementVNode("span",null,[d,e.createTextVNode(" "+e.toDisplayString(t.quantity),1)]),m])]}))]),e.createElementVNode("div",u,[t.items.length?(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",v,[e.createElementVNode("div",E,[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.openBlock(),e.createElementBlock("div",h,[e.renderSlot(t.$slots,"empty",{},(function(){return[w]}))]))])]),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",y,[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,[x,t.quantity?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.pluralize(t.quantity,t.__("shop.pluralize.products")))},null,8,L)):e.createCommentVNode("v-if",!0)]),t.items.length?(e.openBlock(),e.createElementBlock("div",T,[e.createElementVNode("div",S,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(function(t){return e.openBlock(),e.createBlock(Vt,{key:t.id,item:t},null,8,["item"])})),128))]),e.createElementVNode("div",M,[e.createElementVNode("div",H,[e.createElementVNode("button",{class:"button continue",onClick:n[5]||(n[5]=function(){return t.close&&t.close.apply(t,arguments)})},"Продолжить покупки")]),e.createElementVNode("div",$,[e.createElementVNode("div",q,[e.createElementVNode("div",z,[D,e.createElementVNode("span",{innerHTML:t.$filters.price(t.total)},null,8,P)])])]),e.createElementVNode("div",_,[e.createElementVNode("a",{onClick:n[6]||(n[6]=function(){return t.checkout&&t.checkout.apply(t,arguments)}),class:"button is-link checkout"},"Оформить заказ")])]),t.cross.length?(e.openBlock(),e.createElementBlock("div",O,[F,e.createElementVNode("div",A,[e.createElementVNode("div",j,[(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",G,[e.createElementVNode("div",J,[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,K)):(e.openBlock(),e.createElementBlock("svg",Q,R))],2)],8,I)]),e.createElementVNode("div",U,[e.createElementVNode("div",W,[e.createElementVNode("div",X,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},e.toDisplayString(n.name),9,Y)]),e.createElementVNode("div",Z,[e.createElementVNode("div",ee,[e.createElementVNode("div",te,[n.priceOld?(e.openBlock(),e.createElementBlock("div",{key:0,class:"price-old",innerHTML:t.$filters.price(n.priceOld)},null,8,ne)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price)},null,8,le)])]),e.createElementVNode("div",oe,[e.createVNode(ft,{id:n.id,"is-simple":!0},{default:e.withCtx((function(){return[ce]})),_:2},1032,["id"])])])])])])])})),128))]),(e.openBlock(),e.createElementBlock("svg",re,ae,512)),(e.openBlock(),e.createElementBlock("svg",se,ie,512))],512)])):e.createCommentVNode("v-if",!0),t.bundles.length?(e.openBlock(),e.createElementBlock("div",de,[me,e.createElementVNode("div",ue,[e.createElementVNode("div",pe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bundles,(function(n){return e.openBlock(),e.createElementBlock("div",{class:"swiper-slide",key:n.id},[e.createElementVNode("div",{class:e.normalizeClass(["columns is-gapless is-vcentered",{"is-third":n.third}])},[e.createElementVNode("div",ve,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},[e.createElementVNode("figure",{class:e.normalizeClass(["image is-square",{"no-thumb":!n.image}])},[n.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.image},null,8,ke)):(e.openBlock(),e.createElementBlock("svg",Ne,Ve))],2)],8,Ee)]),e.createElementVNode("div",fe,[e.createElementVNode("div",ge,[e.createElementVNode("div",he,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.href)}},e.toDisplayString(n.name),9,we)]),e.createElementVNode("div",ye,[e.createElementVNode("div",Be,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.price)},null,8,be)])])])]),Ce,e.createElementVNode("div",xe,[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,Te)):(e.openBlock(),e.createElementBlock("svg",Se,Me))],2)],8,Le)]),e.createElementVNode("div",He,[e.createElementVNode("div",$e,[e.createElementVNode("div",qe,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.second.href)}},e.toDisplayString(n.second.name),9,ze)]),e.createElementVNode("div",De,[e.createElementVNode("div",Pe,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.second.price)},null,8,_e)])])])]),n.third?(e.openBlock(),e.createElementBlock("div",Oe,Fe)):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",Ae,[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,Ge)):(e.openBlock(),e.createElementBlock("svg",Je,Ie))],2)],8,je)])):e.createCommentVNode("v-if",!0),n.third?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("div",Qe,[e.createElementVNode("div",Re,[e.createElementVNode("a",{onClick:function(e){return t.goto(n.third.href)}},e.toDisplayString(n.third.name),9,Ue)]),e.createElementVNode("div",We,[e.createElementVNode("div",Xe,[e.createElementVNode("div",{class:"price",innerHTML:t.$filters.price(n.third.price)},null,8,Ye)])])])])):e.createCommentVNode("v-if",!0)],2),e.createElementVNode("div",Ze,[e.createElementVNode("div",et,[e.createElementVNode("span",{class:"total-old",innerHTML:t.$filters.price(n.bundle.priceOld)},null,8,tt),e.createElementVNode("span",{class:"bundle-amount",innerHTML:"Выгода "+n.bundle.amount},null,8,nt)]),e.createElementVNode("div",lt,[e.createElementVNode("div",ot,[e.createElementVNode("span",{class:"total",innerHTML:t.$filters.price(n.bundle.price)},null,8,ct),e.createVNode(gt,{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",rt,at,512)),(e.openBlock(),e.createElementBlock("svg",st,it,512))])):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock("div",dt,[mt,e.createElementVNode("div",ut,[pt,e.createElementVNode("a",{onClick:n[7]||(n[7]=function(e){return t.goto(t.$env.locale.url+"/")})},"главной странице"),vt,Et,kt]),e.createElementVNode("button",{class:"button continue",onClick:n[8]||(n[8]=function(){return t.close&&t.close.apply(t,arguments)})},"Продолжить покупки"),e.createElementVNode("div",Nt,[e.createVNode(ht,{slider:!0})])]))])])],2)):e.createCommentVNode("v-if",!0)])},module.exports=r;
2
2
  //# sourceMappingURL=Cart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cart.js","sources":["../../../../../src/js/components/shop/cart/Cart.vue","../../../../../src/js/components/shop/cart/Cart.vue?vue&type=template&id=1a857680&lang.js"],"sourcesContent":["<template>\n <div class=\"cart\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <slot :total=\"quantity\" :open=\"open\">\n <button class=\"button\" @click=\"open\">\n <span> <i class=\"fas fa-shopping-cart\"></i> {{ quantity }} </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </slot>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\" v-if=\"items.length\">\n <div class=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">\n {{ __('shop.cart.total') }}\n </div>\n <div class=\"column has-text-right\" v-html=\"$filters.price(total)\"></div>\n </div>\n </div>\n <div class=\"dropdown-divider\"></div>\n <div class=\"dropdown-item has-text-centered\">\n <a @click=\"checkout\" class=\"button is-link\">{{ __('shop.cart.checkout') }}</a>\n </div>\n <div class=\"dropdown-item has-text-centered\">\n <slot name=\"open\" :open=\"open\">\n <a @click=\"open\">Открыть корзину</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">Ваша корзина пуста</div>\n </slot>\n </div>\n </div>\n </div>\n <div class=\"modal\" v-if=\"isModal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"cart-title\">Корзина <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span></div>\n <div class=\"items-wrapper\" v-if=\"items.length\">\n <div class=\"items\">\n <cart-item v-for=\"item in items\" v-bind:key=\"item.id\" :item=\"item\"></cart-item>\n </div>\n\n <div class=\"columns is-gapless is-vcentered main-actions\">\n <div class=\"column\">\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">Итого: <span v-html=\"$filters.price(total)\"></span></div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">Оформить заказ</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">С товарами из вашей корзины часто покупают</div>\n <div class=\"swiper-container\" ref=\"crossSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in cross\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"column is-narrow\">\n <div class=\"prices\">\n <div class=\"price-old\" v-if=\"item.priceOld\" v-html=\"$filters.price(item.priceOld)\"></div>\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n <div class=\"column\">\n <cart-add :id=\"item.id\" :is-simple=\"true\">\n <svg>\n <use xlink:href=\"#cart-alternate\" />\n </svg>\n </cart-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"crossSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"crossSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n\n <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">Вместе дешевле</div>\n <div class=\"swiper-container\" ref=\"bundlesSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in bundles\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless is-vcentered\" v-bind:class=\"{ 'is-third': item.third }\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.second.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.second.image }\">\n <img :src=\"item.second.image\" v-if=\"item.second.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.second.href)\">{{ item.second.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.second.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <a @click=\"goto(item.third.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.third.image }\">\n <img :src=\"item.third.image\" v-if=\"item.third.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\" v-if=\"item.third\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.third.href)\">{{ item.third.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.third.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <span class=\"total-old\" v-html=\"$filters.price(item.bundle.priceOld)\"></span>\n <span class=\"bundle-amount\" v-html=\"'Выгода ' + item.bundle.amount\"></span>\n </div>\n <div class=\"column\">\n <div class=\"is-flex is-align-items-center\">\n <span class=\"total\" v-html=\"$filters.price(item.bundle.price)\"></span>\n <bundle-add :id=\"item.id\" :second=\"item.second.id\" v-bind:third=\"item.third ? item.third.id : null\"></bundle-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"bundlesSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"bundlesSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n <div v-else class=\"empty\">\n <div class=\"title\">В корзине пока что нет товаров</div>\n <div class=\"message\">Посмотрите предложения на <a @click=\"goto($env.locale.url + '/')\">главной странице</a>,<br />воспользуйтесь каталогом или поиском</div>\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n <div class=\"viewed-wrapper\">\n <viewed :slider=\"true\"></viewed>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, defineComponent } from 'vue';\nimport { useStore } from 'vuex';\nimport { pluralize } from '@perevorot/shop/dist/helpers';\nimport SwiperCore, { Navigation } from 'swiper/core';\n\nSwiperCore.use([Navigation]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'cart',\n props: {\n isModal: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n\n const items = computed(() => store.getters['cart/items']);\n const modal = computed(() => store.getters['cart/modal']);\n const total = computed(() => store.getters['cart/total']);\n const quantity = computed(() => store.getters['cart/quantity']);\n\n const open = () => {\n store.commit('cart/modal', true);\n };\n\n const close = () => {\n store.commit('cart/modal', false);\n };\n\n const clear = () => {\n loading.value = true;\n\n store.dispatch('cart/clear', {\n finally: () => {\n loading.value = false;\n }\n });\n };\n\n store.dispatch(\"cart/get\", {\n finally: () => {\n },\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n const goto = (href) => {\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', false);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', false);\n });\n\n window.location.href = href;\n };\n\n let crossSwiper;\n const crossSlider = ref(null);\n const crossSliderNext = ref(null);\n const crossSliderPrev = ref(null);\n\n const cross = computed(() => {\n const cross = store.getters['cart/cross'];\n\n if (crossSlider.value) {\n if (crossSwiper) {\n crossSwiper.destroy();\n }\n\n if (cross.length) {\n crossSwiper = new SwiperCore(crossSlider.value, {\n slidesPerView: 2,\n slidesPerGroup: 2,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: crossSliderNext.value,\n prevEl: crossSliderPrev.value\n }\n });\n }\n }\n\n return cross;\n });\n\n let bundlesSwiper;\n const bundlesSlider = ref(null);\n const bundlesSliderNext = ref(null);\n const bundlesSliderPrev = ref(null);\n\n const bundles = computed(() => {\n const bundles = store.getters['cart/bundles'];\n\n if (bundlesSlider.value) {\n if (bundlesSwiper) {\n bundlesSwiper.destroy();\n }\n\n if (bundles.length) {\n bundlesSwiper = new SwiperCore(bundlesSlider.value, {\n slidesPerView: 1,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: bundlesSliderNext.value,\n prevEl: bundlesSliderPrev.value\n }\n });\n }\n }\n\n return bundles;\n });\n\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', null);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', null);\n });\n\n const checkout = () => {\n try {\n let products = [];\n\n items.value.forEach((item) => {\n products.push({\n name: item.name,\n id: item.code,\n price: item.price,\n category: item.category ? item.category.name : '',\n brand: item.brand ? item.brand.name : '',\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'checkout',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if ($env.debug.ecommerce) {\n console.log(JSON.stringify(object));\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n } else {\n window.location.href = $ziggy('shop.checkout');\n }\n } catch (error) {\n console.error(error);\n\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n return {\n loading,\n items,\n modal,\n total,\n quantity,\n open,\n close,\n clear,\n pluralize,\n goto,\n cross,\n crossSlider,\n crossSliderPrev,\n crossSliderNext,\n bundles,\n bundlesSlider,\n bundlesSliderPrev,\n bundlesSliderNext,\n checkout\n };\n }\n});\n</script>","<template>\n <div class=\"cart\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <slot :total=\"quantity\" :open=\"open\">\n <button class=\"button\" @click=\"open\">\n <span> <i class=\"fas fa-shopping-cart\"></i> {{ quantity }} </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </slot>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\" v-if=\"items.length\">\n <div class=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">\n {{ __('shop.cart.total') }}\n </div>\n <div class=\"column has-text-right\" v-html=\"$filters.price(total)\"></div>\n </div>\n </div>\n <div class=\"dropdown-divider\"></div>\n <div class=\"dropdown-item has-text-centered\">\n <a @click=\"checkout\" class=\"button is-link\">{{ __('shop.cart.checkout') }}</a>\n </div>\n <div class=\"dropdown-item has-text-centered\">\n <slot name=\"open\" :open=\"open\">\n <a @click=\"open\">Открыть корзину</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">Ваша корзина пуста</div>\n </slot>\n </div>\n </div>\n </div>\n <div class=\"modal\" v-if=\"isModal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"cart-title\">Корзина <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span></div>\n <div class=\"items-wrapper\" v-if=\"items.length\">\n <div class=\"items\">\n <cart-item v-for=\"item in items\" v-bind:key=\"item.id\" :item=\"item\"></cart-item>\n </div>\n\n <div class=\"columns is-gapless is-vcentered main-actions\">\n <div class=\"column\">\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">Итого: <span v-html=\"$filters.price(total)\"></span></div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">Оформить заказ</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">С товарами из вашей корзины часто покупают</div>\n <div class=\"swiper-container\" ref=\"crossSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in cross\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"column is-narrow\">\n <div class=\"prices\">\n <div class=\"price-old\" v-if=\"item.priceOld\" v-html=\"$filters.price(item.priceOld)\"></div>\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n <div class=\"column\">\n <cart-add :id=\"item.id\" :is-simple=\"true\">\n <svg>\n <use xlink:href=\"#cart-alternate\" />\n </svg>\n </cart-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"crossSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"crossSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n\n <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">Вместе дешевле</div>\n <div class=\"swiper-container\" ref=\"bundlesSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in bundles\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless is-vcentered\" v-bind:class=\"{ 'is-third': item.third }\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.second.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.second.image }\">\n <img :src=\"item.second.image\" v-if=\"item.second.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.second.href)\">{{ item.second.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.second.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <a @click=\"goto(item.third.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.third.image }\">\n <img :src=\"item.third.image\" v-if=\"item.third.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\" v-if=\"item.third\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.third.href)\">{{ item.third.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.third.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <span class=\"total-old\" v-html=\"$filters.price(item.bundle.priceOld)\"></span>\n <span class=\"bundle-amount\" v-html=\"'Выгода ' + item.bundle.amount\"></span>\n </div>\n <div class=\"column\">\n <div class=\"is-flex is-align-items-center\">\n <span class=\"total\" v-html=\"$filters.price(item.bundle.price)\"></span>\n <bundle-add :id=\"item.id\" :second=\"item.second.id\" v-bind:third=\"item.third ? item.third.id : null\"></bundle-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"bundlesSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"bundlesSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n <div v-else class=\"empty\">\n <div class=\"title\">В корзине пока что нет товаров</div>\n <div class=\"message\">Посмотрите предложения на <a @click=\"goto($env.locale.url + '/')\">главной странице</a>,<br />воспользуйтесь каталогом или поиском</div>\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n <div class=\"viewed-wrapper\">\n <viewed :slider=\"true\"></viewed>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, defineComponent } from 'vue';\nimport { useStore } from 'vuex';\nimport { pluralize } from '@perevorot/shop/dist/helpers';\nimport SwiperCore, { Navigation } from 'swiper/core';\n\nSwiperCore.use([Navigation]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'cart',\n props: {\n isModal: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n\n const items = computed(() => store.getters['cart/items']);\n const modal = computed(() => store.getters['cart/modal']);\n const total = computed(() => store.getters['cart/total']);\n const quantity = computed(() => store.getters['cart/quantity']);\n\n const open = () => {\n store.commit('cart/modal', true);\n };\n\n const close = () => {\n store.commit('cart/modal', false);\n };\n\n const clear = () => {\n loading.value = true;\n\n store.dispatch('cart/clear', {\n finally: () => {\n loading.value = false;\n }\n });\n };\n\n store.dispatch(\"cart/get\", {\n finally: () => {\n },\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n const goto = (href) => {\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', false);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', false);\n });\n\n window.location.href = href;\n };\n\n let crossSwiper;\n const crossSlider = ref(null);\n const crossSliderNext = ref(null);\n const crossSliderPrev = ref(null);\n\n const cross = computed(() => {\n const cross = store.getters['cart/cross'];\n\n if (crossSlider.value) {\n if (crossSwiper) {\n crossSwiper.destroy();\n }\n\n if (cross.length) {\n crossSwiper = new SwiperCore(crossSlider.value, {\n slidesPerView: 2,\n slidesPerGroup: 2,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: crossSliderNext.value,\n prevEl: crossSliderPrev.value\n }\n });\n }\n }\n\n return cross;\n });\n\n let bundlesSwiper;\n const bundlesSlider = ref(null);\n const bundlesSliderNext = ref(null);\n const bundlesSliderPrev = ref(null);\n\n const bundles = computed(() => {\n const bundles = store.getters['cart/bundles'];\n\n if (bundlesSlider.value) {\n if (bundlesSwiper) {\n bundlesSwiper.destroy();\n }\n\n if (bundles.length) {\n bundlesSwiper = new SwiperCore(bundlesSlider.value, {\n slidesPerView: 1,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: bundlesSliderNext.value,\n prevEl: bundlesSliderPrev.value\n }\n });\n }\n }\n\n return bundles;\n });\n\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', null);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', null);\n });\n\n const checkout = () => {\n try {\n let products = [];\n\n items.value.forEach((item) => {\n products.push({\n name: item.name,\n id: item.code,\n price: item.price,\n category: item.category ? item.category.name : '',\n brand: item.brand ? item.brand.name : '',\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'checkout',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if ($env.debug.ecommerce) {\n console.log(JSON.stringify(object));\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n } else {\n window.location.href = $ziggy('shop.checkout');\n }\n } catch (error) {\n console.error(error);\n\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n return {\n loading,\n items,\n modal,\n total,\n quantity,\n open,\n close,\n clear,\n pluralize,\n goto,\n cross,\n crossSlider,\n crossSliderPrev,\n crossSliderNext,\n bundles,\n bundlesSlider,\n bundlesSliderPrev,\n bundlesSliderNext,\n checkout\n };\n }\n});\n</script>"],"names":["SwiperCore","use","Navigation","defineComponent","name","props","isModal","type","Boolean","default","setup","store","useStore","loading","ref","items","computed","getters","modal","total","quantity","close","commit","dispatch","finally","window","addEventListener","e","value","key","crossSwiper","bundlesSwiper","crossSlider","crossSliderNext","crossSliderPrev","cross","destroy","length","slidesPerView","slidesPerGroup","spaceBetween","allowTouchMove","mousewheel","forceToAxis","navigation","nextEl","prevEl","bundlesSlider","bundlesSliderNext","bundlesSliderPrev","bundles","open","clear","pluralize","goto","href","location","checkout","products","forEach","item","push","id","code","price","category","brand","object","ecommerce","event","eventCallback","$ziggy","$env","debug","console","log","JSON","stringify","dataLayer","error","class","_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_24","_hoisted_25","_createBlock","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","image","src","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_49","_hoisted_50","_hoisted_51","priceOld","_hoisted_54","_createVNode","_hoisted_55","_hoisted_56","_hoisted_59","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","third","_hoisted_66","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_76","_hoisted_77","_hoisted_79","_hoisted_80","second","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_90","_hoisted_91","_hoisted_93","_hoisted_96","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_106","_hoisted_107","_hoisted_109","_hoisted_110","bundle","amount","_hoisted_113","_hoisted_114","_hoisted_116","_hoisted_119","_hoisted_122","_hoisted_123","_hoisted_124","locale","url","_hoisted_127","_hoisted_129","slider"],"mappings":"0MAqPAA,UAAWC,IAAI,CAACC,eAEhB,MAA6BC,kBAAgB,CACzCC,KAAM,OACNC,MAAO,CACHC,QAAS,CACLC,KAAMC,QACNC,SAAS,IAGjBC,YACUC,EAAQC,aACRC,EAAUC,OAAI,GAEdC,EAAQC,WAAS,IAAML,EAAMM,QAAQ,eACrCC,EAAQF,WAAS,IAAML,EAAMM,QAAQ,eACrCE,EAAQH,WAAS,IAAML,EAAMM,QAAQ,eACrCG,EAAWJ,WAAS,IAAML,EAAMM,QAAQ,kBAMxCI,EAAQ,KACVV,EAAMW,OAAO,cAAc,IAa/BX,EAAMY,SAAS,WAAY,CACvBC,QAAS,SAIbC,OAAOC,iBAAiB,QAAUC,IAC1BT,EAAMU,OAAmB,WAAVD,EAAEE,KACjBR,UAgBJS,EAiCAC,EAhCEC,EAAclB,MAAI,MAClBmB,EAAkBnB,MAAI,MACtBoB,EAAkBpB,MAAI,MAEtBqB,EAAQnB,WAAS,SACbmB,EAAQxB,EAAMM,QAAQ,qBAExBe,EAAYJ,QACRE,GACAA,EAAYM,UAGZD,EAAME,SACNP,EAAc,IAAI9B,UAAWgC,EAAYJ,MAAO,CAC5CU,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,gBAAgB,EAChBC,WAAY,CACRC,aAAa,GAEjBC,WAAY,CACRC,OAAQZ,EAAgBL,MACxBkB,OAAQZ,EAAgBN,WAMjCO,IAILY,EAAgBjC,MAAI,MACpBkC,EAAoBlC,MAAI,MACxBmC,EAAoBnC,MAAI,MAExBoC,EAAUlC,WAAS,SACfkC,EAAUvC,EAAMM,QAAQ,uBAE1B8B,EAAcnB,QACVG,GACAA,EAAcK,UAGdc,EAAQb,SACRN,EAAgB,IAAI/B,UAAW+C,EAAcnB,MAAO,CAChDU,cAAe,EACfE,aAAc,EACdC,gBAAgB,EAChBC,WAAY,CACRC,aAAa,GAEjBC,WAAY,CACRC,OAAQG,EAAkBpB,MAC1BkB,OAAQG,EAAkBrB,WAMnCsB,IAGXzB,OAAOC,iBAAiB,eAAgB,KACpCf,EAAMW,OAAO,aAAc,QAG/BG,OAAOC,iBAAiB,WAAY,KAChCf,EAAMW,OAAO,aAAc,cAkDxB,CACHT,QAAAA,EACAE,MAAAA,EACAG,MAAAA,EACAC,MAAAA,EACAC,SAAAA,EACA+B,KAvKS,KACTxC,EAAMW,OAAO,cAAc,IAuK3BD,MAAAA,EACA+B,MAjKU,KACVvC,EAAQe,OAAQ,EAEhBjB,EAAMY,SAAS,aAAc,CACzBC,QAAS,KACLX,EAAQe,OAAQ,gBA6JxByB,YACAC,KA9IUC,IACV9B,OAAOC,iBAAiB,eAAgB,KACpCf,EAAMW,OAAO,cAAc,KAG/BG,OAAOC,iBAAiB,WAAY,KAChCf,EAAMW,OAAO,cAAc,KAG/BG,OAAO+B,SAASD,KAAOA,GAsIvBpB,MAAAA,EACAH,YAAAA,EACAE,gBAAAA,EACAD,gBAAAA,EACAiB,QAAAA,EACAH,cAAAA,EACAE,kBAAAA,EACAD,kBAAAA,EACAS,SAlEa,aAELC,EAAW,GAEf3C,EAAMa,MAAM+B,QAASC,IACjBF,EAASG,KAAK,CACVzD,KAAMwD,EAAKxD,KACX0D,GAAIF,EAAKG,KACTC,MAAOJ,EAAKI,MACZC,SAAUL,EAAKK,SAAWL,EAAKK,SAAS7D,KAAO,GAC/C8D,MAAON,EAAKM,MAAQN,EAAKM,MAAM9D,KAAO,GACtCgB,SAAUwC,EAAKxC,iBAIjB+C,EAAS,CACXC,UAAW,CACPX,SAAU,CACNC,SAAU,CAACA,KAGnBW,MAAO,WACPC,cAAe,WACX7C,OAAO+B,SAASD,KAAOgB,OAAO,mBAIlCC,KAAKC,MAAML,WACXM,QAAQC,IAAIC,KAAKC,UAAUV,KAG1BK,KAAKC,MAAML,WAAa3C,OAAOqD,WAChCrD,OAAOqD,UAAUjB,KAAK,CAClBO,UAAW,OAGf3C,OAAOqD,UAAUjB,KAAKM,IAEtB1C,OAAO+B,SAASD,KAAOgB,OAAO,iBAEpC,MAAOQ,GACLL,QAAQK,MAAMA,GAEdtD,OAAO+B,SAASD,KAAOgB,OAAO,0BCparCS,MAAM,WACFA,MAAM,qCACFA,MAAM,sBAGQC,0BAAGD,MAAM,mCAChBC,6BAAMD,MAAM,kBACRC,0BAAGD,MAAM,kCAAgC,iBAKpDA,MAAM,gBAAgBE,KAAK,iBACvBF,MAAM,uBACFA,MAAM,oBACFA,MAAM,cACFA,MAAM,4BAMnBC,4BAAKD,MAAM,gCACNA,MAAM,sCAGNA,MAAM,4CAMVA,MAAM,sBAEHC,4BAAKD,MAAM,iBAAgB,4BAOlCA,MAAM,oBAEHC,4BAAKD,MAAM,eACPC,yCAAgB,oBAGnBD,MAAM,UACFA,MAAM,kCAAa,uCACnBA,MAAM,oBACFA,MAAM,YAINA,MAAM,mDACFA,MAAM,aAGNA,MAAM,4BACFA,MAAM,aACFA,MAAM,6BAAQ,8BAGtBA,MAAM,6BAKVA,MAAM,WACPC,4BAAKD,MAAM,SAAQ,oDACdA,MAAM,mBAAmBlE,IAAI,kBACzBkE,MAAM,qBAEEA,MAAM,yBACFA,MAAM,yDAKKC,yCAAgB,sBAK3BD,MAAM,aACFA,MAAM,cACFA,MAAM,yBAGNA,MAAM,uCACFA,MAAM,wBACFA,MAAM,gDAKVA,MAAM,aAEHC,iCACIA,yCAAgB,6BAU/CD,MAAM,kBAAkBlE,IAAI,uBAC7BmE,yCAAgB,gCAEfD,MAAM,kBAAkBlE,IAAI,uBAC7BmE,yCAAgB,sCAKvBD,MAAM,cACPC,4BAAKD,MAAM,SAAQ,yBACdA,MAAM,mBAAmBlE,IAAI,qBACzBkE,MAAM,sBAGMA,MAAM,6DAKKC,yCAAgB,uBAK3BD,MAAM,cACFA,MAAM,eACFA,MAAM,2BAGNA,MAAM,uCACFA,MAAM,8BAMvBC,4BAAKD,MAAM,qBACPC,4BAAKD,MAAM,qBACPC,yCAAgB,4BAGnBD,MAAM,6DAKKC,yCAAgB,uBAK3BD,MAAM,cACFA,MAAM,eACFA,MAAM,2BAGNA,MAAM,uCACFA,MAAM,qCAMlBA,MAAM,wBACPC,4BAAKD,MAAM,qBACPC,yCAAgB,iCAGnBD,MAAM,6DAKKC,yCAAgB,6BAK3BD,MAAM,cACFA,MAAM,eACFA,MAAM,2BAGNA,MAAM,uCACFA,MAAM,+BAOtBA,MAAM,4BACFA,MAAM,gDAINA,MAAM,cACFA,MAAM,sDAS1BA,MAAM,kBAAkBlE,IAAI,yBAC7BmE,yCAAgB,gCAEfD,MAAM,kBAAkBlE,IAAI,yBAC7BmE,yCAAgB,sCAIhBD,MAAM,YACdC,4BAAKD,MAAM,SAAQ,yCACdA,MAAM,gCAAU,mDAAsF,QAACC,qBAAM,wCAAA,4CAE7GD,MAAM,mNApO/BG,2BAAAC,GACIH,2BAAAI,GACIJ,2BAAAK,GACIC,iCAAOpE,MAAOqE,WAAWrC,KAAMqC,QAA/B,KACIP,+BAAQD,MAAM,SAAUS,sCAAOD,iCAC3BP,kCAAOS,0CAAwCF,iBAC/CG,QAMZV,2BAAAW,GACwCJ,QAAMnD,sBAA1C8C,2BAAAU,GACIZ,2BAAAa,GACIb,2BAAAc,GACId,2BAAAe,oBACOR,4BAEPP,4BAAKD,MAAM,wBAAwBiB,UAAQT,WAASxB,MAAMwB,wBAGlEU,EACAjB,2BAAAkB,GACIlB,0BAAIQ,sCAAOD,uCAAUR,MAAM,oCAAoBQ,iCAEnDP,2BAAAmB,GACIb,8BAAmBpC,KAAMqC,QAAzB,KACIP,0BAAIQ,sCAAOD,gCAAM,yCAI7BL,2BAAAkB,GACId,iCAAA,KACIe,WAKSd,yBAAzBL,kCAAKH,wBAAM,qBAAoDQ,aAC3DP,4BAAKD,MAAM,mBAAoBS,sCAAOD,mCACtCP,2BAAAsB,GACItB,+BAAQD,MAAM,uBAAwBS,sCAAOD,qCAK7CP,2BAAAuB,GACIvB,2BAAAwB,KAA4CjB,0BAAZL,qBAAyF,0BAAnEuB,kBAAQlB,YAAUA,WAAUA,gFACjDA,QAAMnD,sBAAvC8C,2BAAAwB,GACI1B,2BAAA2B,oBACIzB,kDAA0BK,QAAR5B,kBAAlBiD,kBAAwChF,IAAK+B,EAAKE,GAAKF,KAAMA,8BAGjEqB,2BAAA6B,GACI7B,2BAAA8B,GACI9B,+BAAQD,MAAM,kBAAmBS,sCAAOD,kCAAO,wBAEnDP,2BAAA+B,GACI/B,2BAAAgC,GACIhC,2BAAAiC,KAA0BjC,qBAA4C,QAAtCgB,UAAQT,WAASxB,MAAMwB,0BAG/DP,2BAAAkC,GACIlC,0BAAIQ,sCAAOD,uCAAUR,MAAM,2BAA0B,sBAIpCQ,QAAMnD,sBAA/B8C,2BAAAiC,GACIC,EACApC,2BAAAqC,GACIrC,2BAAAsC,oBACIpC,kDAAyCK,QAAR5B,kBAAjCuB,4BAAKH,MAAM,eAA4CnD,IAAK+B,EAAKE,KAC7DmB,2BAAAuC,GACIvC,2BAAAwC,GACIxC,0BAAIQ,WAAOD,OAAK5B,EAAKL,QACjB0B,+BAAQD,wBAAM,+BAA+CpB,EAAK8D,WACjC9D,EAAK8D,qBAAlCvC,kCAAMwC,IAAK/D,EAAK8D,iCAChBvC,6CAMZF,2BAAA2C,GACI3C,2BAAA4C,GACI5C,2BAAA6C,GACI7C,0BAAIQ,WAAOD,OAAK5B,EAAKL,yBAAUK,EAAKxD,aAExC6E,2BAAA8C,GACI9C,2BAAA+C,IACI/C,2BAAAgD,IACiCrE,EAAKsE,wBAAlC/C,kCAAKH,MAAM,YAAiCiB,UAAQT,WAASxB,MAAMJ,EAAKsE,uDACxEjD,4BAAKD,MAAM,QAAQiB,UAAQT,WAASxB,MAAMJ,EAAKI,uBAGvDiB,2BAAAkD,IACIC,kBAAWtE,GAAIF,EAAKE,gBAAgB,sBAChC,KAAAuE,4DAWhClD,2BAAAmD,2BAGAnD,2BAAAoD,qDAMmB/C,UAAQnD,sBAAnC8C,2BAAAqD,IACIC,GACAxD,2BAAAyD,IACIzD,2BAAA0D,qBACIxD,kDAAyCK,UAAR5B,kBAAjCuB,4BAAKH,MAAM,eAA8CnD,IAAK+B,EAAKE,KAC/DmB,4BAAKD,wBAAM,8CAA8DpB,EAAKgF,WAC1E3D,2BAAA4D,IACI5D,0BAAIQ,WAAOD,OAAK5B,EAAKL,QACjB0B,+BAAQD,wBAAM,+BAA+CpB,EAAK8D,WACjC9D,EAAK8D,qBAAlCvC,kCAAMwC,IAAK/D,EAAK8D,kCAChBvC,gDAMZF,2BAAA6D,IACI7D,2BAAA8D,IACI9D,2BAAA+D,IACI/D,0BAAIQ,WAAOD,OAAK5B,EAAKL,yBAAUK,EAAKxD,cAExC6E,2BAAAgE,IACIhE,2BAAAiE,IACIjE,4BAAKD,MAAM,QAAQiB,UAAQT,WAASxB,MAAMJ,EAAKI,2BAK/DmF,GAKAlE,2BAAAmE,IACInE,0BAAIQ,WAAOD,OAAK5B,EAAKyF,OAAO9F,QACxB0B,+BAAQD,wBAAM,+BAA+CpB,EAAKyF,OAAO3B,WACjC9D,EAAKyF,OAAO3B,qBAAhDvC,kCAAMwC,IAAK/D,EAAKyF,OAAO3B,kCACvBvC,gDAMZF,2BAAAqE,IACIrE,2BAAAsE,IACItE,2BAAAuE,IACIvE,0BAAIQ,WAAOD,OAAK5B,EAAKyF,OAAO9F,yBAAUK,EAAKyF,OAAOjJ,cAEtD6E,2BAAAwE,IACIxE,2BAAAyE,IACIzE,4BAAKD,MAAM,QAAQiB,UAAQT,WAASxB,MAAMJ,EAAKyF,OAAOrF,2BAKlCJ,EAAKgF,qBAAzCzD,2BAAAwE,wCAKoC/F,EAAKgF,qBAAzCzD,2BAAAyE,IACI3E,0BAAIQ,WAAOD,OAAK5B,EAAKgF,MAAMrF,QACvB0B,+BAAQD,wBAAM,+BAA+CpB,EAAKgF,MAAMlB,WACjC9D,EAAKgF,MAAMlB,qBAA9CvC,kCAAMwC,IAAK/D,EAAKgF,MAAMlB,kCACtBvC,iFAMcvB,EAAKgF,qBAA/BzD,2BAAA0E,IACI5E,2BAAA6E,IACI7E,2BAAA8E,IACI9E,0BAAIQ,WAAOD,OAAK5B,EAAKgF,MAAMrF,yBAAUK,EAAKgF,MAAMxI,cAEpD6E,2BAAA+E,IACI/E,2BAAAgF,IACIhF,4BAAKD,MAAM,QAAQiB,UAAQT,WAASxB,MAAMJ,EAAKgF,MAAM5E,gEAMzEiB,2BAAAiF,IACIjF,2BAAAkF,IACIlF,6BAAMD,MAAM,YAAYiB,UAAQT,WAASxB,MAAMJ,EAAKwG,OAAOlC,sBAC3DjD,6BAAMD,MAAM,gBAAgBiB,oBAAoBrC,EAAKwG,OAAOC,qBAEhEpF,2BAAAqF,IACIrF,2BAAAsF,IACItF,6BAAMD,MAAM,QAAQiB,UAAQT,WAASxB,MAAMJ,EAAKwG,OAAOpG,mBACvDoE,kBAAatE,GAAIF,EAAKE,GAAKuF,OAAQzF,EAAKyF,OAAOvF,GAAW8E,MAAOhF,EAAKgF,MAAQhF,EAAKgF,MAAM9E,gFAOjHqB,2BAAAqF,2BAGArF,2BAAAsF,iEAKRtF,2BAAAuF,IACIC,GACA1F,2BAAA2F,OAA+C3F,qBAA4D,KAAxDQ,uBAAOD,OAAKA,OAAKqF,OAAOC,WAAY,uBAAqBC,QAC5G9F,+BAAQD,MAAM,kBAAmBS,sCAAOD,kCAAO,sBAC/CP,2BAAA+F,IACI5C,kBAAS6C,QAAQ"}
1
+ {"version":3,"file":"Cart.js","sources":["../../../../../src/js/components/shop/cart/Cart.vue","../../../../../src/js/components/shop/cart/Cart.vue?vue&type=template&id=1a857680&lang.js"],"sourcesContent":["<template>\n <div class=\"cart\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <slot :total=\"quantity\" :open=\"open\">\n <button class=\"button\" @click=\"open\">\n <span> <i class=\"fas fa-shopping-cart\"></i> {{ quantity }} </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </slot>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\" v-if=\"items.length\">\n <div class=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">\n {{ __('shop.cart.total') }}\n </div>\n <div class=\"column has-text-right\" v-html=\"$filters.price(total)\"></div>\n </div>\n </div>\n <div class=\"dropdown-divider\"></div>\n <div class=\"dropdown-item has-text-centered\">\n <a @click=\"checkout\" class=\"button is-link\">{{ __('shop.cart.checkout') }}</a>\n </div>\n <div class=\"dropdown-item has-text-centered\">\n <slot name=\"open\" :open=\"open\">\n <a @click=\"open\">Открыть корзину</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">Ваша корзина пуста</div>\n </slot>\n </div>\n </div>\n </div>\n <div class=\"modal\" v-if=\"isModal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"cart-title\">Корзина <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span></div>\n <div class=\"items-wrapper\" v-if=\"items.length\">\n <div class=\"items\">\n <cart-item v-for=\"item in items\" v-bind:key=\"item.id\" :item=\"item\"></cart-item>\n </div>\n\n <div class=\"columns is-gapless is-vcentered main-actions\">\n <div class=\"column\">\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">Итого: <span v-html=\"$filters.price(total)\"></span></div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">Оформить заказ</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">С товарами из вашей корзины часто покупают</div>\n <div class=\"swiper-container\" ref=\"crossSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in cross\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"column is-narrow\">\n <div class=\"prices\">\n <div class=\"price-old\" v-if=\"item.priceOld\" v-html=\"$filters.price(item.priceOld)\"></div>\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n <div class=\"column\">\n <cart-add :id=\"item.id\" :is-simple=\"true\">\n <svg>\n <use xlink:href=\"#cart-alternate\" />\n </svg>\n </cart-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"crossSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"crossSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n\n <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">Вместе дешевле</div>\n <div class=\"swiper-container\" ref=\"bundlesSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in bundles\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless is-vcentered\" v-bind:class=\"{ 'is-third': item.third }\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.second.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.second.image }\">\n <img :src=\"item.second.image\" v-if=\"item.second.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.second.href)\">{{ item.second.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.second.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <a @click=\"goto(item.third.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.third.image }\">\n <img :src=\"item.third.image\" v-if=\"item.third.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\" v-if=\"item.third\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.third.href)\">{{ item.third.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.third.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <span class=\"total-old\" v-html=\"$filters.price(item.bundle.priceOld)\"></span>\n <span class=\"bundle-amount\" v-html=\"'Выгода ' + item.bundle.amount\"></span>\n </div>\n <div class=\"column\">\n <div class=\"is-flex is-align-items-center\">\n <span class=\"total\" v-html=\"$filters.price(item.bundle.price)\"></span>\n <bundle-add :id=\"item.id\" :second=\"item.second.id\" v-bind:third=\"item.third ? item.third.id : null\"></bundle-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"bundlesSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"bundlesSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n <div v-else class=\"empty\">\n <div class=\"title\">В корзине пока что нет товаров</div>\n <div class=\"message\">Посмотрите предложения на <a @click=\"goto($env.locale.url + '/')\">главной странице</a>,<br />воспользуйтесь каталогом или поиском</div>\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n <div class=\"viewed-wrapper\">\n <viewed :slider=\"true\"></viewed>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, defineComponent } from 'vue';\nimport { useStore } from 'vuex';\nimport { pluralize } from '@perevorot/shop/dist/helpers';\nimport SwiperCore, { Navigation } from 'swiper/core';\n\nSwiperCore.use([Navigation]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'cart',\n props: {\n isModal: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n\n const items = computed(() => store.getters['cart/items']);\n const modal = computed(() => store.getters['cart/modal']);\n const total = computed(() => store.getters['cart/total']);\n const quantity = computed(() => store.getters['cart/quantity']);\n\n const open = () => {\n store.commit('cart/modal', true);\n };\n\n const close = () => {\n store.commit('cart/modal', false);\n };\n\n const clear = () => {\n loading.value = true;\n\n store.dispatch('cart/clear', {\n finally: () => {\n loading.value = false;\n }\n });\n };\n\n store.dispatch(\"cart/get\", {\n finally: () => {\n },\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n const goto = (href) => {\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', false);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', false);\n });\n\n window.location.href = href;\n };\n\n let crossSwiper;\n const crossSlider = ref(null);\n const crossSliderNext = ref(null);\n const crossSliderPrev = ref(null);\n\n const cross = computed(() => {\n const cross = store.getters['cart/cross'];\n\n if (crossSlider.value) {\n if (crossSwiper) {\n crossSwiper.destroy();\n }\n\n if (cross.length) {\n crossSwiper = new SwiperCore(crossSlider.value, {\n slidesPerView: 2,\n slidesPerGroup: 2,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: crossSliderNext.value,\n prevEl: crossSliderPrev.value\n }\n });\n }\n }\n\n return cross;\n });\n\n let bundlesSwiper;\n const bundlesSlider = ref(null);\n const bundlesSliderNext = ref(null);\n const bundlesSliderPrev = ref(null);\n\n const bundles = computed(() => {\n const bundles = store.getters['cart/bundles'];\n\n if (bundlesSlider.value) {\n if (bundlesSwiper) {\n bundlesSwiper.destroy();\n }\n\n if (bundles.length) {\n bundlesSwiper = new SwiperCore(bundlesSlider.value, {\n slidesPerView: 1,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: bundlesSliderNext.value,\n prevEl: bundlesSliderPrev.value\n }\n });\n }\n }\n\n return bundles;\n });\n\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', null);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', null);\n });\n\n const checkout = () => {\n try {\n let products = [];\n\n items.value.forEach((item) => {\n products.push({\n name: item.name,\n id: item.code,\n price: item.price,\n category: item.category ? item.category.name : '',\n brand: item.brand ? item.brand.name : '',\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'checkout',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if ($env.debug.ecommerce) {\n console.log(JSON.stringify(object));\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n } else {\n window.location.href = $ziggy('shop.checkout');\n }\n } catch (error) {\n console.error(error);\n\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n return {\n loading,\n items,\n modal,\n total,\n quantity,\n open,\n close,\n clear,\n pluralize,\n goto,\n cross,\n crossSlider,\n crossSliderPrev,\n crossSliderNext,\n bundles,\n bundlesSlider,\n bundlesSliderPrev,\n bundlesSliderNext,\n checkout\n };\n }\n});\n</script>","<template>\n <div class=\"cart\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <slot :total=\"quantity\" :open=\"open\">\n <button class=\"button\" @click=\"open\">\n <span> <i class=\"fas fa-shopping-cart\"></i> {{ quantity }} </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </slot>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\" v-if=\"items.length\">\n <div class=\"dropdown-item\">\n <div class=\"columns\">\n <div class=\"column\">\n {{ __('shop.cart.total') }}\n </div>\n <div class=\"column has-text-right\" v-html=\"$filters.price(total)\"></div>\n </div>\n </div>\n <div class=\"dropdown-divider\"></div>\n <div class=\"dropdown-item has-text-centered\">\n <a @click=\"checkout\" class=\"button is-link\">{{ __('shop.cart.checkout') }}</a>\n </div>\n <div class=\"dropdown-item has-text-centered\">\n <slot name=\"open\" :open=\"open\">\n <a @click=\"open\">Открыть корзину</a>\n </slot>\n </div>\n </div>\n <div class=\"dropdown-content\" v-else>\n <slot name=\"empty\">\n <div class=\"dropdown-item\">Ваша корзина пуста</div>\n </slot>\n </div>\n </div>\n </div>\n <div class=\"modal\" v-if=\"isModal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"cart-title\">Корзина <span v-if=\"quantity\" v-text=\"pluralize(quantity, __('shop.pluralize.products'))\"></span></div>\n <div class=\"items-wrapper\" v-if=\"items.length\">\n <div class=\"items\">\n <cart-item v-for=\"item in items\" v-bind:key=\"item.id\" :item=\"item\"></cart-item>\n </div>\n\n <div class=\"columns is-gapless is-vcentered main-actions\">\n <div class=\"column\">\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n </div>\n <div class=\"column has-text-right\">\n <div class=\"totals\">\n <div class=\"title\">Итого: <span v-html=\"$filters.price(total)\"></span></div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"checkout\" class=\"button is-link checkout\">Оформить заказ</a>\n </div>\n </div>\n\n <div class=\"cross\" v-if=\"cross.length\">\n <div class=\"title\">С товарами из вашей корзины часто покупают</div>\n <div class=\"swiper-container\" ref=\"crossSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in cross\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"column is-narrow\">\n <div class=\"prices\">\n <div class=\"price-old\" v-if=\"item.priceOld\" v-html=\"$filters.price(item.priceOld)\"></div>\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n <div class=\"column\">\n <cart-add :id=\"item.id\" :is-simple=\"true\">\n <svg>\n <use xlink:href=\"#cart-alternate\" />\n </svg>\n </cart-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"crossSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"crossSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n\n <div class=\"bundles\" v-if=\"bundles.length\">\n <div class=\"title\">Вместе дешевле</div>\n <div class=\"swiper-container\" ref=\"bundlesSlider\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\" v-for=\"item in bundles\" v-bind:key=\"item.id\">\n <div class=\"columns is-gapless is-vcentered\" v-bind:class=\"{ 'is-third': item.third }\">\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.image }\">\n <img :src=\"item.image\" v-if=\"item.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.href)\">{{ item.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\">\n <a @click=\"goto(item.second.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.second.image }\">\n <img :src=\"item.second.image\" v-if=\"item.second.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.second.href)\">{{ item.second.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.second.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <svg class=\"bundle-icon plus\">\n <use xlink:href=\"#bundle-plus\" />\n </svg>\n </div>\n <div class=\"column is-narrow\" v-if=\"item.third\">\n <a @click=\"goto(item.third.href)\">\n <figure class=\"image is-square\" v-bind:class=\"{ 'no-thumb': !item.third.image }\">\n <img :src=\"item.third.image\" v-if=\"item.third.image\" />\n <svg v-else>\n <use xlink:href=\"#logo\" />\n </svg>\n </figure>\n </a>\n </div>\n <div class=\"column\" v-if=\"item.third\">\n <div class=\"product\">\n <div class=\"name\">\n <a @click=\"goto(item.third.href)\">{{ item.third.name }}</a>\n </div>\n <div class=\"columns is-gapless is-vcentered\">\n <div class=\"prices\">\n <div class=\"price\" v-html=\"$filters.price(item.third.price)\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <span class=\"total-old\" v-html=\"$filters.price(item.bundle.priceOld)\"></span>\n <span class=\"bundle-amount\" v-html=\"'Выгода ' + item.bundle.amount\"></span>\n </div>\n <div class=\"column\">\n <div class=\"is-flex is-align-items-center\">\n <span class=\"total\" v-html=\"$filters.price(item.bundle.price)\"></span>\n <bundle-add :id=\"item.id\" :second=\"item.second.id\" v-bind:third=\"item.third ? item.third.id : null\"></bundle-add>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <svg class=\"swiper-nav prev\" ref=\"bundlesSliderPrev\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n <svg class=\"swiper-nav next\" ref=\"bundlesSliderNext\">\n <use xlink:href=\"#arrow-submenu\" />\n </svg>\n </div>\n </div>\n <div v-else class=\"empty\">\n <div class=\"title\">В корзине пока что нет товаров</div>\n <div class=\"message\">Посмотрите предложения на <a @click=\"goto($env.locale.url + '/')\">главной странице</a>,<br />воспользуйтесь каталогом или поиском</div>\n <button class=\"button continue\" @click=\"close\">Продолжить покупки</button>\n <div class=\"viewed-wrapper\">\n <viewed :slider=\"true\"></viewed>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, defineComponent } from 'vue';\nimport { useStore } from 'vuex';\nimport { pluralize } from '@perevorot/shop/dist/helpers';\nimport SwiperCore, { Navigation } from 'swiper/core';\n\nSwiperCore.use([Navigation]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'cart',\n props: {\n isModal: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n\n const items = computed(() => store.getters['cart/items']);\n const modal = computed(() => store.getters['cart/modal']);\n const total = computed(() => store.getters['cart/total']);\n const quantity = computed(() => store.getters['cart/quantity']);\n\n const open = () => {\n store.commit('cart/modal', true);\n };\n\n const close = () => {\n store.commit('cart/modal', false);\n };\n\n const clear = () => {\n loading.value = true;\n\n store.dispatch('cart/clear', {\n finally: () => {\n loading.value = false;\n }\n });\n };\n\n store.dispatch(\"cart/get\", {\n finally: () => {\n },\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n const goto = (href) => {\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', false);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', false);\n });\n\n window.location.href = href;\n };\n\n let crossSwiper;\n const crossSlider = ref(null);\n const crossSliderNext = ref(null);\n const crossSliderPrev = ref(null);\n\n const cross = computed(() => {\n const cross = store.getters['cart/cross'];\n\n if (crossSlider.value) {\n if (crossSwiper) {\n crossSwiper.destroy();\n }\n\n if (cross.length) {\n crossSwiper = new SwiperCore(crossSlider.value, {\n slidesPerView: 2,\n slidesPerGroup: 2,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: crossSliderNext.value,\n prevEl: crossSliderPrev.value\n }\n });\n }\n }\n\n return cross;\n });\n\n let bundlesSwiper;\n const bundlesSlider = ref(null);\n const bundlesSliderNext = ref(null);\n const bundlesSliderPrev = ref(null);\n\n const bundles = computed(() => {\n const bundles = store.getters['cart/bundles'];\n\n if (bundlesSlider.value) {\n if (bundlesSwiper) {\n bundlesSwiper.destroy();\n }\n\n if (bundles.length) {\n bundlesSwiper = new SwiperCore(bundlesSlider.value, {\n slidesPerView: 1,\n spaceBetween: 0,\n allowTouchMove: true,\n mousewheel: {\n forceToAxis: true\n },\n navigation: {\n nextEl: bundlesSliderNext.value,\n prevEl: bundlesSliderPrev.value\n }\n });\n }\n }\n\n return bundles;\n });\n\n window.addEventListener('beforeunload', () => {\n store.commit('cart/modal', null);\n });\n\n window.addEventListener('pagehide', () => {\n store.commit('cart/modal', null);\n });\n\n const checkout = () => {\n try {\n let products = [];\n\n items.value.forEach((item) => {\n products.push({\n name: item.name,\n id: item.code,\n price: item.price,\n category: item.category ? item.category.name : '',\n brand: item.brand ? item.brand.name : '',\n quantity: item.quantity\n });\n });\n\n const object = {\n ecommerce: {\n checkout: {\n products: [products]\n }\n },\n event: 'checkout',\n eventCallback: function () {\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n if ($env.debug.ecommerce) {\n console.log(JSON.stringify(object));\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n } else {\n window.location.href = $ziggy('shop.checkout');\n }\n } catch (error) {\n console.error(error);\n\n window.location.href = $ziggy('shop.checkout');\n }\n };\n\n return {\n loading,\n items,\n modal,\n total,\n quantity,\n open,\n close,\n clear,\n pluralize,\n goto,\n cross,\n crossSlider,\n crossSliderPrev,\n crossSliderNext,\n bundles,\n bundlesSlider,\n bundlesSliderPrev,\n bundlesSliderNext,\n checkout\n };\n }\n});\n</script>"],"names":["SwiperCore","use","Navigation","defineComponent","name","props","isModal","type","Boolean","default","setup","store","useStore","loading","ref","items","computed","getters","modal","total","quantity","close","commit","dispatch","finally","window","addEventListener","e","value","key","crossSwiper","bundlesSwiper","crossSlider","crossSliderNext","crossSliderPrev","cross","destroy","length","slidesPerView","slidesPerGroup","spaceBetween","allowTouchMove","mousewheel","forceToAxis","navigation","nextEl","prevEl","bundlesSlider","bundlesSliderNext","bundlesSliderPrev","bundles","open","clear","pluralize","goto","href","location","checkout","products","forEach","item","push","id","code","price","category","brand","object","ecommerce","event","eventCallback","$ziggy","$env","debug","console","log","JSON","stringify","dataLayer","error","class","_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_24","_hoisted_25","_createBlock","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","image","src","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_49","_hoisted_50","_hoisted_51","priceOld","_hoisted_54","_createVNode","_hoisted_55","_hoisted_56","_hoisted_59","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","third","_hoisted_66","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_76","_hoisted_77","_hoisted_79","_hoisted_80","second","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_90","_hoisted_91","_hoisted_93","_hoisted_96","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_106","_hoisted_107","_hoisted_109","_hoisted_110","bundle","amount","_hoisted_113","_hoisted_114","_hoisted_116","_hoisted_119","_hoisted_122","_hoisted_123","_hoisted_124","locale","url","_hoisted_127","_hoisted_129","slider"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),a=require("vue-toastification"),r={setup:()=>({translate:window.__})},n={class:"shop-cart-success-message"};r.render=function(t,a,r,o,c,l){return e.openBlock(),e.createElementBlock("div",n,e.toDisplayString(o.translate("shop.cart.message")),1)};var o=a.useToast(),c={name:"cart-add",props:{id:Number,isChangeQuantity:{type:Boolean,default:!0},isAlreadyInCart:{type:Boolean,default:!0},isSimple:{type:Boolean,default:!1},isPlusMinus:{type:Boolean,default:!1},after:{type:String,default:"modal"},product:null},setup(a){var n=t.useStore(),c=e.ref(!1),l=e.ref(1),d=e.ref(null),i=e.computed(()=>n.getters["cart/productQuantity"](a.id)),s=e.computed(()=>$env.shop.isAlreadyInCart&&u&&i.value>0?"#cart-add-already":"#cart-add"),u=a.isAlreadyInCart,m=a.isChangeQuantity,p=a.isPlusMinus;a.isSimple&&(u=!1,m=!1,p=!1);return{button:d,loading:c,quantity:l,add:()=>{c.value=!0;var e=[];d.value.closest(".product-main")&&document.querySelectorAll("#options input[type=checkbox]:checked").forEach(t=>{e.push(parseInt(t.value))});var t=Math.max(1,l.value),i=d.value.closest("[shop-product]"),s=a.product?a.product.name:i.querySelector("[shop-product-name]").textContent,u=a.product?a.product.price_clean:i.querySelector("[shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""),m=a.product?a.product.code:i.dataset.code,p=a.product?a.product.category:i.dataset.category,y=a.product?a.product.brand:i.dataset.brand;n.dispatch("cart/add",{product:{id:a.id,quantity:t,options:e},finally:()=>{(c.value=!1,l.value=1,"message"==a.after)&&o({component:r},{type:"success-cart"});var e={ecommerce:{currencyCode:"UAH",items:[{item_name:s,item_id:m,price:u,quantity:t,item_brand:y,item_category:p}]},event:"add_to_cart"};$env.debug.ecommerce&&console.log(JSON.stringify(e)),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},remove:()=>{c.value=!0,n.dispatch("cart/remove",{id:a.id,finally:()=>{c.value=!1;var e={ecommerce:{currencyCode:"UAH",items:[{item_name:name,item_id:code,price:price,quantity:q,item_brand:brand,item_category:category}]},event:"remove_from_cart"};$env.debug.ecommerce&&console.log(JSON.stringify(e)),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},cart:i,increase:()=>{l.value++},decrease:()=>{l.value>1&&l.value--},isAlreadyInCart:u,isChangeQuantity:m,isPlusMinus:p,cartIcon:s}}},l={class:"columns"},d={key:0,class:"column"},i={class:"cart-change-quantity"},s=["disabled"],u=["disabled"],m=["disabled"],p={class:"column is-narrow"},y=["disabled"],v={class:"icon cart"},g={class:"cart-add-button-label"},b={key:0},h=e.createElementVNode("br",null,null,-1),f=["disabled","textContent"];c.render=function(t,a,r,n,o,c){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["cart-add",{"is-already-in-cart":t.$env.shop.isAlreadyInCart&&n.isAlreadyInCart&&n.cart>0}]),ref:"button"},[e.createElementVNode("div",l,[t.$env.shop.isCustomQuantity&&n.isChangeQuantity?(e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",i,[n.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:0,class:"button is-small decrease",onClick:a[0]||(a[0]=function(){return n.decrease&&n.decrease(...arguments)}),disabled:n.loading||1==n.quantity},"-",8,s)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("input",{class:"input is-small",type:"number",min:"1","onUpdate:modelValue":a[1]||(a[1]=e=>n.quantity=e),disabled:n.loading},null,8,u),[[e.vModelText,n.quantity]]),n.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:1,class:"button is-small increase",onClick:a[2]||(a[2]=function(){return n.increase&&n.increase(...arguments)}),disabled:n.loading},"+",8,m)):e.createCommentVNode("v-if",!0)])])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",p,[e.createElementVNode("button",{class:"button is-link is-small",onClick:a[3]||(a[3]=function(){return n.add&&n.add(...arguments)}),disabled:n.loading},[e.renderSlot(t.$slots,"default",{label:t.__("shop.cart.add")},()=>[(e.openBlock(),e.createElementBlock("svg",v,[e.createElementVNode("use",e.normalizeProps(e.guardReactiveProps({"xlink:href":n.cartIcon})),null,16)])),e.createElementVNode("span",g,e.toDisplayString(t.__("shop.cart.add")),1)])],8,y)])]),t.$env.shop.isAlreadyInCart&&n.isAlreadyInCart&&n.cart>0?(e.openBlock(),e.createElementBlock("div",b,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.already",{quantity:n.cart}))+" ",1),h,e.createElementVNode("a",{onClick:a[4]||(a[4]=e.withModifiers((function(){return n.remove&&n.remove(...arguments)}),["prevent"])),disabled:n.loading,textContent:e.toDisplayString(t.__("shop.cart.remove"))},null,8,f)])):e.createCommentVNode("v-if",!0)],2)},module.exports=c;
1
+ "use strict";var e=require("vue"),t=require("vuex"),a=require("vue-toastification"),n={setup:function(){return{translate:window.__}}},r={class:"shop-cart-success-message"};n.render=function(t,a,n,o,c,i){return e.openBlock(),e.createElementBlock("div",r,e.toDisplayString(o.translate("shop.cart.message")),1)};var o=a.useToast(),c={name:"cart-add",props:{id:Number,isChangeQuantity:{type:Boolean,default:!0},isAlreadyInCart:{type:Boolean,default:!0},isSimple:{type:Boolean,default:!1},isPlusMinus:{type:Boolean,default:!1},after:{type:String,default:"modal"},product:null},setup:function(a){var r=t.useStore(),c=e.ref(!1),i=e.ref(1),l=e.ref(null),d=e.computed((function(){return r.getters["cart/productQuantity"](a.id)})),s=e.computed((function(){return $env.shop.isAlreadyInCart&&u&&d.value>0?"#cart-add-already":"#cart-add"})),u=a.isAlreadyInCart,p=a.isChangeQuantity,m=a.isPlusMinus;a.isSimple&&(u=!1,p=!1,m=!1);return{button:l,loading:c,quantity:i,add:function(){c.value=!0;var e=[];l.value.closest(".product-main")&&document.querySelectorAll("#options input[type=checkbox]:checked").forEach((function(t){e.push(parseInt(t.value))}));var t=Math.max(1,i.value),d=l.value.closest("[shop-product]"),s=a.product?a.product.name:d.querySelector("[shop-product-name]").textContent,u=a.product?a.product.price_clean:d.querySelector("[shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""),p=a.product?a.product.code:d.dataset.code,m=a.product?a.product.category:d.dataset.category,y=a.product?a.product.brand:d.dataset.brand;r.dispatch("cart/add",{product:{id:a.id,quantity:t,options:e},finally:function(){(c.value=!1,i.value=1,"message"==a.after)&&o({component:n},{type:"success-cart"});var e={ecommerce:{currencyCode:"UAH",items:[{item_name:s,item_id:p,price:u,quantity:t,item_brand:y,item_category:m}]},event:"add_to_cart"};$env.debug.ecommerce&&console.log(JSON.stringify(e)),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},remove:function(){c.value=!0,r.dispatch("cart/remove",{id:a.id,finally:function(){c.value=!1;var e={ecommerce:{currencyCode:"UAH",items:[{item_name:name,item_id:code,price:price,quantity:q,item_brand:brand,item_category:category}]},event:"remove_from_cart"};$env.debug.ecommerce&&console.log(JSON.stringify(e)),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))}})},cart:d,increase:function(){i.value++},decrease:function(){i.value>1&&i.value--},isAlreadyInCart:u,isChangeQuantity:p,isPlusMinus:m,cartIcon:s}}},i={class:"columns"},l={key:0,class:"column"},d={class:"cart-change-quantity"},s=["disabled"],u=["disabled"],p=["disabled"],m={class:"column is-narrow"},y=["disabled"],v={class:"icon cart"},f={class:"cart-add-button-label"},g={key:0},b=e.createElementVNode("br",null,null,-1),h=["disabled","textContent"];c.render=function(t,a,n,r,o,c){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["cart-add",{"is-already-in-cart":t.$env.shop.isAlreadyInCart&&r.isAlreadyInCart&&r.cart>0}]),ref:"button"},[e.createElementVNode("div",i,[t.$env.shop.isCustomQuantity&&r.isChangeQuantity?(e.openBlock(),e.createElementBlock("div",l,[e.createElementVNode("div",d,[r.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:0,class:"button is-small decrease",onClick:a[0]||(a[0]=function(){return r.decrease&&r.decrease.apply(r,arguments)}),disabled:r.loading||1==r.quantity},"-",8,s)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("input",{class:"input is-small",type:"number",min:"1","onUpdate:modelValue":a[1]||(a[1]=function(e){return r.quantity=e}),disabled:r.loading},null,8,u),[[e.vModelText,r.quantity]]),r.isPlusMinus?(e.openBlock(),e.createElementBlock("button",{key:1,class:"button is-small increase",onClick:a[2]||(a[2]=function(){return r.increase&&r.increase.apply(r,arguments)}),disabled:r.loading},"+",8,p)):e.createCommentVNode("v-if",!0)])])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",m,[e.createElementVNode("button",{class:"button is-link is-small",onClick:a[3]||(a[3]=function(){return r.add&&r.add.apply(r,arguments)}),disabled:r.loading},[e.renderSlot(t.$slots,"default",{label:t.__("shop.cart.add")},(function(){return[(e.openBlock(),e.createElementBlock("svg",v,[e.createElementVNode("use",e.normalizeProps(e.guardReactiveProps({"xlink:href":r.cartIcon})),null,16)])),e.createElementVNode("span",f,e.toDisplayString(t.__("shop.cart.add")),1)]}))],8,y)])]),t.$env.shop.isAlreadyInCart&&r.isAlreadyInCart&&r.cart>0?(e.openBlock(),e.createElementBlock("div",g,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.already",{quantity:r.cart}))+" ",1),b,e.createElementVNode("a",{onClick:a[4]||(a[4]=e.withModifiers((function(){return r.remove&&r.remove.apply(r,arguments)}),["prevent"])),disabled:r.loading,textContent:e.toDisplayString(t.__("shop.cart.remove"))},null,8,h)])):e.createCommentVNode("v-if",!0)],2)},module.exports=c;
2
2
  //# sourceMappingURL=CartAdd.js.map