@perevorot/shop 2.0.101 → 2.0.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/shop/cart/Cart.js +1 -1
- package/dist/components/shop/cart/Cart.js.map +1 -1
- package/dist/components/shop/cart/CartAdd.js +1 -1
- package/dist/components/shop/cart/CartAdd.js.map +1 -1
- package/dist/components/shop/cart/CartItem.js +1 -1
- package/dist/components/shop/cart/CartItem.js.map +1 -1
- package/dist/components/shop/order/Checkout.js +1 -1
- package/dist/components/shop/order/Checkout.js.map +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingCourier.js +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingCourier.js.map +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js.map +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingPickup.js +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingPickup.js.map +1 -1
- package/dist/components/shop/viewed/Viewer.js +1 -1
- package/dist/components/shop/viewed/Viewer.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue")
|
|
1
|
+
"use strict";var e=require("vue");var t=e.defineComponent({props:{data:Object,item:Object,commit:Function},setup:function(t){var n=e.inject("shippingComponentValid");e.onMounted((function(){var e;n.value=(e=function(){return new Promise((function(e){e(!!r.value&&!!i.value)}))},function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}})}));var r=e.computed({get:function(){return t.data[t.item.code]?t.data[t.item.code].address:""},set:function(e){var n={address:e,time:i.value};return t.commit(t.item.code,n,o(n)),e}}),i=e.computed({get:function(){return t.data[t.item.code]?t.data[t.item.code].time:""},set:function(e){var n={address:r.value,time:e};return t.commit(t.item.code,n,o(n)),e}}),o=function(e){return""!=e.address.trim()&&(!t.item.data.length||t.item.data.length&&""!==e.time.trim())};return{address:r,time:i}}}),n={class:"component"},r={class:"user-form"},i={class:"control"},o=["id"],a=["for"],c={class:"time"},d=["onClick"];t.render=function(t,l,s,m,u,p){return e.openBlock(),e.createElementBlock("div",n,[e.createElementVNode("div",r,[e.createElementVNode("div",i,[e.withDirectives(e.createElementVNode("input",{type:"input",class:"input","onUpdate:modelValue":l[0]||(l[0]=function(e){return t.address=e}),id:"shipping-courier-"+t.item.id,placeholder:" ",autocomplete:"chrome-off"},null,8,o),[[e.vModelText,t.address]]),e.createElementVNode("label",{class:"label",for:"shipping-courier-"+t.item.id},e.toDisplayString(t.__("shop.order.delivery_address")),9,a)])]),e.createElementVNode("div",c,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.item.data,(function(n){return e.openBlock(),e.createElementBlock("div",{key:n.id,class:e.normalizeClass({"is-selected":t.time==n.name}),onClick:function(e){return t.time=n.name}},e.toDisplayString(n.name),11,d)})),128))])])},module.exports=t;
|
|
2
2
|
//# sourceMappingURL=CheckoutShippingCourier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutShippingCourier.js","sources":["../../../../../src/components/shop/order/shipping/CheckoutShippingCourier.vue","../../../../../src/components/shop/order/shipping/CheckoutShippingCourier.vue?vue&type=template&id=
|
|
1
|
+
{"version":3,"file":"CheckoutShippingCourier.js","sources":["../../../../../src/components/shop/order/shipping/CheckoutShippingCourier.vue","../../../../../src/components/shop/order/shipping/CheckoutShippingCourier.vue?vue&type=template&id=f900af54&lang.js"],"sourcesContent":["<template>\n <div class=\"component\">\n <div class=\"user-form\">\n <div class=\"control\">\n <input type=\"input\" class=\"input\" v-model=\"address\" :id=\"'shipping-courier-' + item.id\" placeholder=\" \" autocomplete=\"chrome-off\" />\n <label class=\"label\" :for=\"'shipping-courier-' + item.id\">{{ __('shop.order.delivery_address') }}</label>\n </div>\n </div>\n <div class=\"time\">\n <div v-for=\"item in item.data\" v-bind:key=\"item.id\" v-bind:class=\"{ 'is-selected': time == item.name }\" @click=\"time = item.name\">{{ item.name }}</div>\n </div>\n </div>\n</template>\n<script>\nimport { computed, defineComponent, inject, onMounted } from 'vue';\n\nexport default defineComponent({\n props: {\n data: Object,\n item: Object,\n commit: Function\n },\n setup(props) {\n const shippingComponentValid = inject('shippingComponentValid');\n\n onMounted(() => {\n shippingComponentValid.value = async () => {\n return new Promise(resolve => {\n resolve(!!(address.value) && !!(time.value));\n });\n };\n });\n\n const address = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].address : '';\n },\n set(address) {\n const data = {\n address: address,\n time: time.value\n };\n\n props.commit(props.item.code, data, isValid(data));\n\n return address;\n }\n });\n\n const time = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].time : '';\n },\n set(time) {\n const data = {\n address: address.value,\n time: time\n };\n\n props.commit(props.item.code, data, isValid(data));\n\n return time;\n }\n });\n\n const isValid = (data) => {\n return data.address.trim() != '' && (!props.item.data.length || (props.item.data.length && data.time.trim() !== ''));\n };\n\n return {\n address,\n time\n };\n }\n});\n</script>\n","<template>\n <div class=\"component\">\n <div class=\"user-form\">\n <div class=\"control\">\n <input type=\"input\" class=\"input\" v-model=\"address\" :id=\"'shipping-courier-' + item.id\" placeholder=\" \" autocomplete=\"chrome-off\" />\n <label class=\"label\" :for=\"'shipping-courier-' + item.id\">{{ __('shop.order.delivery_address') }}</label>\n </div>\n </div>\n <div class=\"time\">\n <div v-for=\"item in item.data\" v-bind:key=\"item.id\" v-bind:class=\"{ 'is-selected': time == item.name }\" @click=\"time = item.name\">{{ item.name }}</div>\n </div>\n </div>\n</template>\n<script>\nimport { computed, defineComponent, inject, onMounted } from 'vue';\n\nexport default defineComponent({\n props: {\n data: Object,\n item: Object,\n commit: Function\n },\n setup(props) {\n const shippingComponentValid = inject('shippingComponentValid');\n\n onMounted(() => {\n shippingComponentValid.value = async () => {\n return new Promise(resolve => {\n resolve(!!(address.value) && !!(time.value));\n });\n };\n });\n\n const address = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].address : '';\n },\n set(address) {\n const data = {\n address: address,\n time: time.value\n };\n\n props.commit(props.item.code, data, isValid(data));\n\n return address;\n }\n });\n\n const time = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].time : '';\n },\n set(time) {\n const data = {\n address: address.value,\n time: time\n };\n\n props.commit(props.item.code, data, isValid(data));\n\n return time;\n }\n });\n\n const isValid = (data) => {\n return data.address.trim() != '' && (!props.item.data.length || (props.item.data.length && data.time.trim() !== ''));\n };\n\n return {\n address,\n time\n };\n }\n});\n</script>\n"],"names":["defineComponent","props","data","Object","item","commit","Function","setup","shippingComponentValid","inject","onMounted","value","Promise","resolve","address","time","computed","get","code","set","isValid","trim","length","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","type","_ctx","id","placeholder","autocomplete","_hoisted_6","key","name","onClick"],"mappings":"kCAgBA,MAAeA,kBAAgB,CAC3BC,MAAO,CACHC,KAAMC,OACNC,KAAMD,OACNE,OAAQC,UAEZC,eAAMN,OACIO,EAAyBC,SAAO,0BAEtCC,aAAU,iBACNF,EAAuBG,2BACZ,IAAIC,SAAQ,SAAAC,GACfA,IAAWC,EAAQH,SAAaI,EAAKJ,wKAK3CG,EAAUE,WAAS,CACrBC,sBACWhB,EAAMC,KAAKD,EAAMG,KAAKc,MAAQjB,EAAMC,KAAKD,EAAMG,KAAKc,MAAMJ,QAAU,IAE/EK,aAAIL,OACMZ,EAAO,CACTY,QAASA,EACTC,KAAMA,EAAKJ,cAGfV,EAAMI,OAAOJ,EAAMG,KAAKc,KAAMhB,EAAMkB,EAAQlB,IAErCY,KAITC,EAAOC,WAAS,CAClBC,sBACWhB,EAAMC,KAAKD,EAAMG,KAAKc,MAAQjB,EAAMC,KAAKD,EAAMG,KAAKc,MAAMH,KAAO,IAE5EI,aAAIJ,OACMb,EAAO,CACTY,QAASA,EAAQH,MACjBI,KAAMA,UAGVd,EAAMI,OAAOJ,EAAMG,KAAKc,KAAMhB,EAAMkB,EAAQlB,IAErCa,KAITK,EAAU,SAAClB,SACiB,IAAvBA,EAAKY,QAAQO,UAAkBpB,EAAMG,KAAKF,KAAKoB,QAAWrB,EAAMG,KAAKF,KAAKoB,QAA+B,KAArBpB,EAAKa,KAAKM,eAGlG,CACHP,QAAAA,EACAC,KAAAA,eCtEG,sBACI,sBACI,uCAKJ,0EAPfQ,2BAAAC,GACIC,2BAAAC,GACID,2BAAAE,oBACIF,8BAAOG,KAAK,cAAc,6DAAiBC,cAAUC,uBAA0BD,OAAKC,GAAIC,YAAY,IAAIC,aAAa,uCAA1EH,aAC3CJ,oCAAa,gCAAoCI,OAAKC,sBAAOD,8CAGrEJ,2BAAAQ,oBACIV,kDAAoBM,OAAK3B,eAAbE,wBAAZmB,4BAAsCW,IAAK9B,EAAK0B,yCAAmCD,QAAQzB,EAAK+B,OAASC,2BAAOP,OAAOzB,EAAK+B,yBAAS/B,EAAK+B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue")
|
|
1
|
+
"use strict";var e=require("vue");var t=e.defineComponent({props:{data:Object,item:Object,commit:Function},setup:function(t){var r=e.inject("shippingComponentValid");e.onMounted((function(){var e;r.value=(e=function(){return new Promise((function(e){e(!!n.value)}))},function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}})}));var n=e.computed({get:function(){return t.data[t.item.code]?t.data[t.item.code].address:""},set:function(e){var r={address:e};return t.commit(t.item.code,r,""!==e.trim()),e}});return{address:n}}}),r={class:"component"},n={class:"user-form"},o={class:"control"},i=["id"],c=["for"];t.render=function(t,a,d,s,u,l){return e.openBlock(),e.createElementBlock("div",r,[e.createElementVNode("div",n,[e.createElementVNode("div",o,[e.withDirectives(e.createElementVNode("input",{type:"input",class:"input","onUpdate:modelValue":a[0]||(a[0]=function(e){return t.address=e}),id:"shipping-courier-"+t.item.id,placeholder:" ",autocomplete:"chrome-off"},null,8,i),[[e.vModelText,t.address]]),e.createElementVNode("label",{class:"label",for:"shipping-courier-"+t.item.id},e.toDisplayString(t.__("shop.order.delivery_address")),9,c)])])])},module.exports=t;
|
|
2
2
|
//# sourceMappingURL=CheckoutShippingNovaposhtaAddress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutShippingNovaposhtaAddress.js","sources":["../../../../../src/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.vue","../../../../../src/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.vue?vue&type=template&id=
|
|
1
|
+
{"version":3,"file":"CheckoutShippingNovaposhtaAddress.js","sources":["../../../../../src/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.vue","../../../../../src/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.vue?vue&type=template&id=ea140918&lang.js"],"sourcesContent":["<template>\n <div class=\"component\">\n <div class=\"user-form\">\n <div class=\"control\">\n <input type=\"input\" class=\"input\" v-model=\"address\" :id=\"'shipping-courier-' + item.id\" placeholder=\" \" autocomplete=\"chrome-off\" />\n <label class=\"label\" :for=\"'shipping-courier-' + item.id\">{{ __('shop.order.delivery_address') }}</label>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { computed, defineComponent, inject, onMounted } from 'vue';\n\nexport default defineComponent({\n props: {\n data: Object,\n item: Object,\n commit: Function\n },\n setup(props) {\n const shippingComponentValid = inject('shippingComponentValid');\n\n onMounted(() => {\n shippingComponentValid.value = async () => {\n return new Promise(resolve => {\n resolve(!!(address.value));\n });\n };\n });\n\n const address = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].address : '';\n },\n set(address) {\n const data = {\n address: address\n };\n\n props.commit(props.item.code, data, address.trim() !== '');\n\n return address;\n }\n });\n\n return {\n address\n };\n }\n});\n</script>\n","<template>\n <div class=\"component\">\n <div class=\"user-form\">\n <div class=\"control\">\n <input type=\"input\" class=\"input\" v-model=\"address\" :id=\"'shipping-courier-' + item.id\" placeholder=\" \" autocomplete=\"chrome-off\" />\n <label class=\"label\" :for=\"'shipping-courier-' + item.id\">{{ __('shop.order.delivery_address') }}</label>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { computed, defineComponent, inject, onMounted } from 'vue';\n\nexport default defineComponent({\n props: {\n data: Object,\n item: Object,\n commit: Function\n },\n setup(props) {\n const shippingComponentValid = inject('shippingComponentValid');\n\n onMounted(() => {\n shippingComponentValid.value = async () => {\n return new Promise(resolve => {\n resolve(!!(address.value));\n });\n };\n });\n\n const address = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].address : '';\n },\n set(address) {\n const data = {\n address: address\n };\n\n props.commit(props.item.code, data, address.trim() !== '');\n\n return address;\n }\n });\n\n return {\n address\n };\n }\n});\n</script>\n"],"names":["defineComponent","props","data","Object","item","commit","Function","setup","shippingComponentValid","inject","onMounted","value","Promise","resolve","address","computed","get","code","set","trim","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","type","_ctx","id","placeholder","autocomplete"],"mappings":"kCAaA,MAAeA,kBAAgB,CAC3BC,MAAO,CACHC,KAAMC,OACNC,KAAMD,OACNE,OAAQC,UAEZC,eAAMN,OACIO,EAAyBC,SAAO,0BAEtCC,aAAU,iBACNF,EAAuBG,2BACZ,IAAIC,SAAQ,SAAAC,GACfA,IAAWC,EAAQH,wKAKzBG,EAAUC,WAAS,CACrBC,sBACWf,EAAMC,KAAKD,EAAMG,KAAKa,MAAQhB,EAAMC,KAAKD,EAAMG,KAAKa,MAAMH,QAAU,IAE/EI,aAAIJ,OACMZ,EAAO,CACTY,QAASA,UAGbb,EAAMI,OAAOJ,EAAMG,KAAKa,KAAMf,EAAyB,KAAnBY,EAAQK,QAErCL,WAIR,CACHA,QAAAA,eC7CG,sBACI,sBACI,kFAFnBM,2BAAAC,GACIC,2BAAAC,GACID,2BAAAE,oBACIF,8BAAOG,KAAK,cAAc,6DAAiBC,cAAUC,uBAA0BD,OAAKC,GAAIC,YAAY,IAAIC,aAAa,uCAA1EH,aAC3CJ,oCAAa,gCAAoCI,OAAKC,sBAAOD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@perevorot/shop/dist/helpers"),t=require("vue");var n=t.defineComponent({props:{data:Object,item:Object,commit:Function},setup:function(n){var o=t.computed((function(){return n.item.data.find((function(e){return e.id==i.value}))})),c=function(e){return!n.item.data.length||!!e},l=t.inject("shippingComponentValid"),r=t.inject("shippingComponentUserData");t.onMounted((function(){var e;l.value=(e=function(){return!!
|
|
1
|
+
"use strict";var e=require("@perevorot/shop/dist/helpers"),t=require("vue");var n=t.defineComponent({props:{data:Object,item:Object,commit:Function},setup:function(n){var o=t.computed((function(){return n.item.data.find((function(e){return e.id==i.value}))})),c=function(e){return!n.item.data.length||!!e},l=t.inject("shippingComponentValid"),r=t.inject("shippingComponentUserData");t.onMounted((function(){var e;l.value=(e=function(){return new Promise((function(e){e(!!o.value)}))},function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}),r.value={},o.value||n.commit(n.item.code,{},c())}));var i=t.computed({get:function(){return n.data[n.item.code]?n.data[n.item.code].id:null},set:function(e){n.commit(n.item.code,{id:e},c(e))}}),a=t.ref(!1),s=function(){a.value=!1};return window.addEventListener("keyup",(function(e){a.value&&"Escape"===e.key&&s()})),window.addEventListener("click",(function(e){e.target.closest(".pickup-wrapper")||s()})),{selected:o,isOpened:a,open:function(){a.value=!0},choose:function(e,t){e.stopPropagation(),setTimeout((function(){i.value=t.id}),200),s()},close:s,pickup:i,nl2p:e.nl2p}}}),o={key:0,class:"component pickup-wrapper"},c={key:0,class:"label"},l=["textContent"],r=t.createElementVNode("svg",null,[t.createElementVNode("use",{"xlink:href":"#arrow-down"})],-1),i={class:"dropdown-menu"},a={class:"dropdown-content"},s=["onClick"],d={key:1,class:"data"},p={class:"columns is-gapless"},m={class:"column"},u={class:"data-wrapper"},v={key:0,class:"hours"},k=t.createElementVNode("svg",null,[t.createElementVNode("use",{"xlink:href":"#hours"})],-1),f=["innerHTML"],E={key:1,class:"map"},h=["href"],g=["innerHTML"],V={key:0,class:"column is-4"},N={class:"image"},y=["src"];n.render=function(e,n,B,C,w,_){return e.item.data.length?(t.openBlock(),t.createElementBlock("div",o,[e.__("shop.order.pickup_label")?(t.openBlock(),t.createElementBlock("div",c,t.toDisplayString(e.__("shop.order.pickup_label")),1)):t.createCommentVNode("v-if",!0),t.createElementVNode("div",{class:t.normalizeClass(["dropdown",{"is-active":e.isOpened}]),onMouseleave:n[1]||(n[1]=function(){return e.close&&e.close.apply(e,arguments)})},[t.createElementVNode("div",{class:"input dropdown-trigger",onClick:n[0]||(n[0]=function(){return e.open&&e.open.apply(e,arguments)})},[t.createElementVNode("span",{class:t.normalizeClass({"is-placeholder":!e.selected}),textContent:t.toDisplayString(e.selected?e.selected.name:e.__("shop.order.pickup"))},null,10,l),r]),t.createElementVNode("div",i,[t.createElementVNode("div",a,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.item.data,(function(n){return t.openBlock(),t.createElementBlock("a",{class:t.normalizeClass(["dropdown-item",{"is-active":e.selected&&n.id==e.selected.id}]),key:n.id,onClick:function(t){return e.choose(t,n)}},t.toDisplayString(n.name),11,s)})),128))])])],34),e.selected&&(e.selected.hours||e.selected.map_url||e.selected.description||e.selected.image)?(t.openBlock(),t.createElementBlock("div",d,[t.createElementVNode("div",p,[t.createElementVNode("div",m,[t.createElementVNode("div",u,[e.selected.hours?(t.openBlock(),t.createElementBlock("div",v,[k,t.createElementVNode("span",{innerHTML:e.selected.hours},null,8,f)])):t.createCommentVNode("v-if",!0),e.selected.map_url?(t.openBlock(),t.createElementBlock("div",E,[t.createElementVNode("a",{href:e.selected.map_url,target:"_blank",rel:"noopener"},t.toDisplayString(e.__("shop.order.map")),9,h)])):t.createCommentVNode("v-if",!0),e.selected.description?(t.openBlock(),t.createElementBlock("div",{key:2,class:"info",innerHTML:e.nl2p(e.selected.description)},null,8,g)):t.createCommentVNode("v-if",!0)])]),e.selected.image?(t.openBlock(),t.createElementBlock("div",V,[t.createElementVNode("div",N,[t.createElementVNode("img",{src:e.selected.image},null,8,y)])])):t.createCommentVNode("v-if",!0)])])):t.createCommentVNode("v-if",!0)])):t.createCommentVNode("v-if",!0)},module.exports=n;
|
|
2
2
|
//# sourceMappingURL=CheckoutShippingPickup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutShippingPickup.js","sources":["../../../../../src/components/shop/order/shipping/CheckoutShippingPickup.vue","../../../../../src/components/shop/order/shipping/CheckoutShippingPickup.vue?vue&type=template&id=4c66cc4f&lang.js"],"sourcesContent":["<template>\n <div class=\"component pickup-wrapper\" v-if=\"item.data.length\">\n <div class=\"label\" v-if=\"__('shop.order.pickup_label')\">{{ __('shop.order.pickup_label') }}</div>\n <div class=\"dropdown\" v-bind:class=\"{ 'is-active': isOpened }\" @mouseleave=\"close\">\n <div class=\"input dropdown-trigger\" @click=\"open\">\n <span v-bind:class=\"{ 'is-placeholder': !selected }\" v-text=\"selected ? selected.name : __('shop.order.pickup')\"></span>\n <svg>\n <use xlink:href=\"#arrow-down\"></use>\n </svg>\n </div>\n <div class=\"dropdown-menu\">\n <div class=\"dropdown-content\">\n <a class=\"dropdown-item\" v-for=\"option in item.data\" v-bind:key=\"option.id\" @click=\"choose($event, option)\" v-bind:class=\"{ 'is-active': selected && option.id == selected.id }\">{{ option.name }}</a>\n </div>\n </div>\n </div>\n <div class=\"data\" v-if=\"selected && (selected.hours || selected.map_url || selected.description || selected.image)\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"data-wrapper\">\n <div v-if=\"selected.hours\" class=\"hours\">\n <svg>\n <use xlink:href=\"#hours\"></use>\n </svg>\n <span v-html=\"selected.hours\"></span>\n </div>\n <div v-if=\"selected.map_url\" class=\"map\">\n <a :href=\"selected.map_url\" target=\"_blank\" rel=\"noopener\">{{ __('shop.order.map') }}</a>\n </div>\n <div v-if=\"selected.description\" class=\"info\" v-html=\"nl2p(selected.description)\"></div>\n </div>\n </div>\n <div class=\"column is-4\" v-if=\"selected.image\">\n <div class=\"image\">\n <img :src=\"selected.image\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { nl2p } from '@perevorot/shop/dist/helpers';\nimport { ref, computed, defineComponent, onMounted, inject } from 'vue';\n\nexport default defineComponent({\n props: {\n data: Object,\n item: Object,\n commit: Function\n },\n setup(props) {\n const selected = computed(() => {\n return props.item.data.find((item) => item.id == pickup.value);\n });\n\n const isValid = (id) => {\n if (!props.item.data.length) {\n return true;\n } else {\n return !!id;\n }\n };\n\n const shippingComponentValid = inject('shippingComponentValid');\n const shippingComponentUserData = inject('shippingComponentUserData');\n\n onMounted(() => {\n shippingComponentValid.value = async () => {\n return !!(pickup.value);\n };\n\n shippingComponentUserData.value = {};\n\n if (!selected.value) {\n props.commit(props.item.code, {}, isValid());\n }\n });\n\n const pickup = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].id : null;\n },\n set(id) {\n props.commit(\n props.item.code,\n {\n id: id\n },\n isValid(id)\n );\n }\n });\n\n const isOpened = ref(false);\n\n const open = () => {\n isOpened.value = true;\n };\n\n const close = () => {\n isOpened.value = false;\n };\n\n const choose = (e, option) => {\n e.stopPropagation();\n\n setTimeout(() => {\n pickup.value = option.id;\n }, 200);\n\n close();\n };\n\n window.addEventListener('keyup', (e) => {\n if (isOpened.value && e.key === 'Escape') {\n close();\n }\n });\n\n window.addEventListener('click', (e) => {\n if (!e.target.closest('.pickup-wrapper')) {\n close();\n }\n });\n\n return {\n selected,\n isOpened,\n open,\n choose,\n close,\n pickup,\n nl2p\n };\n }\n});\n</script>\n","<template>\n <div class=\"component pickup-wrapper\" v-if=\"item.data.length\">\n <div class=\"label\" v-if=\"__('shop.order.pickup_label')\">{{ __('shop.order.pickup_label') }}</div>\n <div class=\"dropdown\" v-bind:class=\"{ 'is-active': isOpened }\" @mouseleave=\"close\">\n <div class=\"input dropdown-trigger\" @click=\"open\">\n <span v-bind:class=\"{ 'is-placeholder': !selected }\" v-text=\"selected ? selected.name : __('shop.order.pickup')\"></span>\n <svg>\n <use xlink:href=\"#arrow-down\"></use>\n </svg>\n </div>\n <div class=\"dropdown-menu\">\n <div class=\"dropdown-content\">\n <a class=\"dropdown-item\" v-for=\"option in item.data\" v-bind:key=\"option.id\" @click=\"choose($event, option)\" v-bind:class=\"{ 'is-active': selected && option.id == selected.id }\">{{ option.name }}</a>\n </div>\n </div>\n </div>\n <div class=\"data\" v-if=\"selected && (selected.hours || selected.map_url || selected.description || selected.image)\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"data-wrapper\">\n <div v-if=\"selected.hours\" class=\"hours\">\n <svg>\n <use xlink:href=\"#hours\"></use>\n </svg>\n <span v-html=\"selected.hours\"></span>\n </div>\n <div v-if=\"selected.map_url\" class=\"map\">\n <a :href=\"selected.map_url\" target=\"_blank\" rel=\"noopener\">{{ __('shop.order.map') }}</a>\n </div>\n <div v-if=\"selected.description\" class=\"info\" v-html=\"nl2p(selected.description)\"></div>\n </div>\n </div>\n <div class=\"column is-4\" v-if=\"selected.image\">\n <div class=\"image\">\n <img :src=\"selected.image\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { nl2p } from '@perevorot/shop/dist/helpers';\nimport { ref, computed, defineComponent, onMounted, inject } from 'vue';\n\nexport default defineComponent({\n props: {\n data: Object,\n item: Object,\n commit: Function\n },\n setup(props) {\n const selected = computed(() => {\n return props.item.data.find((item) => item.id == pickup.value);\n });\n\n const isValid = (id) => {\n if (!props.item.data.length) {\n return true;\n } else {\n return !!id;\n }\n };\n\n const shippingComponentValid = inject('shippingComponentValid');\n const shippingComponentUserData = inject('shippingComponentUserData');\n\n onMounted(() => {\n shippingComponentValid.value = async () => {\n return !!(pickup.value);\n };\n\n shippingComponentUserData.value = {};\n\n if (!selected.value) {\n props.commit(props.item.code, {}, isValid());\n }\n });\n\n const pickup = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].id : null;\n },\n set(id) {\n props.commit(\n props.item.code,\n {\n id: id\n },\n isValid(id)\n );\n }\n });\n\n const isOpened = ref(false);\n\n const open = () => {\n isOpened.value = true;\n };\n\n const close = () => {\n isOpened.value = false;\n };\n\n const choose = (e, option) => {\n e.stopPropagation();\n\n setTimeout(() => {\n pickup.value = option.id;\n }, 200);\n\n close();\n };\n\n window.addEventListener('keyup', (e) => {\n if (isOpened.value && e.key === 'Escape') {\n close();\n }\n });\n\n window.addEventListener('click', (e) => {\n if (!e.target.closest('.pickup-wrapper')) {\n close();\n }\n });\n\n return {\n selected,\n isOpened,\n open,\n choose,\n close,\n pickup,\n nl2p\n };\n }\n});\n</script>\n"],"names":["defineComponent","props","data","Object","item","commit","Function","setup","selected","computed","find","id","pickup","value","isValid","length","shippingComponentValid","inject","shippingComponentUserData","onMounted","i","arguments","e","code","get","set","isOpened","ref","close","window","addEventListener","key","target","closest","open","choose","option","stopPropagation","setTimeout","nl2p","_createElementVNode","_ctx","_createElementBlock","_hoisted_1","_hoisted_2","onMouseleave","onClick","_toDisplayString","name","_hoisted_4","_hoisted_5","_hoisted_6","$event","hours","map_url","description","image","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","innerHTML","_hoisted_15","href","rel","_hoisted_18","_hoisted_19","src"],"mappings":"4EA6CA,MAAeA,kBAAgB,CAC3BC,MAAO,CACHC,KAAMC,OACNC,KAAMD,OACNE,OAAQC,UAEZC,eAAMN,OACIO,EAAWC,YAAS,kBACfR,EAAMG,KAAKF,KAAKQ,MAAK,SAACN,UAASA,EAAKO,IAAMC,EAAOC,YAGtDC,EAAU,SAACH,UACRV,EAAMG,KAAKF,KAAKa,UAGRJ,GAIXK,EAAyBC,SAAO,0BAChCC,EAA4BD,SAAO,6BAEzCE,aAAU,iBACNH,EAAuBH,4BACTD,EAAOC,OA2CzB,qDAEAO,GAAKC,UAAUD,qDAIbE,+BA9CEJ,EAA0BL,MAAQ,GAE7BL,EAASK,OACVZ,EAAMI,OAAOJ,EAAMG,KAAKmB,KAAM,GAAIT,YAIpCF,EAASH,WAAS,CACpBe,sBACWvB,EAAMC,KAAKD,EAAMG,KAAKmB,MAAQtB,EAAMC,KAAKD,EAAMG,KAAKmB,MAAMZ,GAAK,MAE1Ec,aAAId,GACAV,EAAMI,OACFJ,EAAMG,KAAKmB,KACX,CACIZ,GAAIA,GAERG,EAAQH,OAKde,EAAWC,OAAI,GAMfC,EAAQ,WACVF,EAASb,OAAQ,UAarBgB,OAAOC,iBAAiB,SAAS,SAACR,GAC1BI,EAASb,OAAmB,WAAVS,EAAES,KACpBH,OAIRC,OAAOC,iBAAiB,SAAS,SAACR,GACzBA,EAAEU,OAAOC,QAAQ,oBAClBL,OAID,CACHpB,SAAAA,EACAkB,SAAAA,EACAQ,KAjCS,WACTR,EAASb,OAAQ,GAiCjBsB,OA1BW,SAACb,EAAGc,GACfd,EAAEe,kBAEFC,YAAW,WACP1B,EAAOC,MAAQuB,EAAOzB,KACvB,KAEHiB,KAoBAA,MAAAA,EACAhB,OAAAA,EACA2B,KAAAA,0BCpIG,2CACI,6BAIHC,iCACIA,yCAAgB,8BAGb,0BACI,iDAKR,iBACI,+BACI,mBACI,+BAC0B,WAC7BA,iCACIA,yCAAgB,+CAIW,iDAMhC,wBACI,yDAhCiBC,OAAKvC,KAAKa,sBAAtD2B,2BAAAC,GAC6BF,+CAAzBC,2BAAAE,oBAA2DH,qEAC3DD,oDAAW,wBAAwCC,cAAaI,2CAAYJ,wCACxED,kCAAW,yBAA0BM,sCAAOL,sCACxCD,uEAAyCC,yBAAYM,kBAAQN,WAAWA,WAASO,KAAOP,uCACxFQ,IAIJT,2BAAAU,GACIV,2BAAAW,oBACIT,kDAA0CD,OAAKvC,eAAfkC,wBAAhCM,kDAAS,6BAAgID,YAAYL,EAAOzB,IAAM8B,WAAS9B,MAA/GoB,IAAKK,EAAOzB,GAAKmC,2BAAOL,SAAOW,EAAQhB,uBAAiFA,EAAOY,8BAI/KP,aAAaA,WAASY,OAASZ,WAASa,SAAWb,WAASc,aAAed,WAASe,sBAA5Gd,2BAAAe,GACIjB,2BAAAkB,GACIlB,2BAAAmB,GACInB,2BAAAoB,GACenB,WAASY,qBAApBX,2BAAAmB,GACIC,EAGAtB,6BAAMuB,UAAQtB,WAASY,oDAEhBZ,WAASa,uBAApBZ,2BAAAsB,GACIxB,0BAAIyB,KAAMxB,WAASa,QAAStB,OAAO,SAASkC,IAAI,8BAAczB,gEAEvDA,WAASc,2BAApBb,wCAAuC,OAAOqB,UAAQtB,OAAKA,WAASc,6DAG7Cd,WAASe,qBAAxCd,2BAAAyB,GACI3B,2BAAA4B,GACI5B,4BAAM6B,IAAK5B,WAASe"}
|
|
1
|
+
{"version":3,"file":"CheckoutShippingPickup.js","sources":["../../../../../src/components/shop/order/shipping/CheckoutShippingPickup.vue","../../../../../src/components/shop/order/shipping/CheckoutShippingPickup.vue?vue&type=template&id=7c50ac4e&lang.js"],"sourcesContent":["<template>\n <div class=\"component pickup-wrapper\" v-if=\"item.data.length\">\n <div class=\"label\" v-if=\"__('shop.order.pickup_label')\">{{ __('shop.order.pickup_label') }}</div>\n <div class=\"dropdown\" v-bind:class=\"{ 'is-active': isOpened }\" @mouseleave=\"close\">\n <div class=\"input dropdown-trigger\" @click=\"open\">\n <span v-bind:class=\"{ 'is-placeholder': !selected }\" v-text=\"selected ? selected.name : __('shop.order.pickup')\"></span>\n <svg>\n <use xlink:href=\"#arrow-down\"></use>\n </svg>\n </div>\n <div class=\"dropdown-menu\">\n <div class=\"dropdown-content\">\n <a class=\"dropdown-item\" v-for=\"option in item.data\" v-bind:key=\"option.id\" @click=\"choose($event, option)\" v-bind:class=\"{ 'is-active': selected && option.id == selected.id }\">{{ option.name }}</a>\n </div>\n </div>\n </div>\n <div class=\"data\" v-if=\"selected && (selected.hours || selected.map_url || selected.description || selected.image)\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"data-wrapper\">\n <div v-if=\"selected.hours\" class=\"hours\">\n <svg>\n <use xlink:href=\"#hours\"></use>\n </svg>\n <span v-html=\"selected.hours\"></span>\n </div>\n <div v-if=\"selected.map_url\" class=\"map\">\n <a :href=\"selected.map_url\" target=\"_blank\" rel=\"noopener\">{{ __('shop.order.map') }}</a>\n </div>\n <div v-if=\"selected.description\" class=\"info\" v-html=\"nl2p(selected.description)\"></div>\n </div>\n </div>\n <div class=\"column is-4\" v-if=\"selected.image\">\n <div class=\"image\">\n <img :src=\"selected.image\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { nl2p } from '@perevorot/shop/dist/helpers';\nimport { ref, computed, defineComponent, onMounted, inject } from 'vue';\n\nexport default defineComponent({\n props: {\n data: Object,\n item: Object,\n commit: Function\n },\n setup(props) {\n const selected = computed(() => {\n return props.item.data.find((item) => item.id == pickup.value);\n });\n\n const isValid = (id) => {\n if (!props.item.data.length) {\n return true;\n } else {\n return !!id;\n }\n };\n\n const shippingComponentValid = inject('shippingComponentValid');\n const shippingComponentUserData = inject('shippingComponentUserData');\n\n onMounted(() => {\n shippingComponentValid.value = async () => {\n return new Promise(resolve => {\n resolve(!!(selected.value));\n });\n };\n\n shippingComponentUserData.value = {};\n\n if (!selected.value) {\n props.commit(props.item.code, {}, isValid());\n }\n });\n\n const pickup = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].id : null;\n },\n set(id) {\n props.commit(\n props.item.code,\n {\n id: id\n },\n isValid(id)\n );\n }\n });\n\n const isOpened = ref(false);\n\n const open = () => {\n isOpened.value = true;\n };\n\n const close = () => {\n isOpened.value = false;\n };\n\n const choose = (e, option) => {\n e.stopPropagation();\n\n setTimeout(() => {\n pickup.value = option.id;\n }, 200);\n\n close();\n };\n\n window.addEventListener('keyup', (e) => {\n if (isOpened.value && e.key === 'Escape') {\n close();\n }\n });\n\n window.addEventListener('click', (e) => {\n if (!e.target.closest('.pickup-wrapper')) {\n close();\n }\n });\n\n return {\n selected,\n isOpened,\n open,\n choose,\n close,\n pickup,\n nl2p\n };\n }\n});\n</script>\n","<template>\n <div class=\"component pickup-wrapper\" v-if=\"item.data.length\">\n <div class=\"label\" v-if=\"__('shop.order.pickup_label')\">{{ __('shop.order.pickup_label') }}</div>\n <div class=\"dropdown\" v-bind:class=\"{ 'is-active': isOpened }\" @mouseleave=\"close\">\n <div class=\"input dropdown-trigger\" @click=\"open\">\n <span v-bind:class=\"{ 'is-placeholder': !selected }\" v-text=\"selected ? selected.name : __('shop.order.pickup')\"></span>\n <svg>\n <use xlink:href=\"#arrow-down\"></use>\n </svg>\n </div>\n <div class=\"dropdown-menu\">\n <div class=\"dropdown-content\">\n <a class=\"dropdown-item\" v-for=\"option in item.data\" v-bind:key=\"option.id\" @click=\"choose($event, option)\" v-bind:class=\"{ 'is-active': selected && option.id == selected.id }\">{{ option.name }}</a>\n </div>\n </div>\n </div>\n <div class=\"data\" v-if=\"selected && (selected.hours || selected.map_url || selected.description || selected.image)\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"data-wrapper\">\n <div v-if=\"selected.hours\" class=\"hours\">\n <svg>\n <use xlink:href=\"#hours\"></use>\n </svg>\n <span v-html=\"selected.hours\"></span>\n </div>\n <div v-if=\"selected.map_url\" class=\"map\">\n <a :href=\"selected.map_url\" target=\"_blank\" rel=\"noopener\">{{ __('shop.order.map') }}</a>\n </div>\n <div v-if=\"selected.description\" class=\"info\" v-html=\"nl2p(selected.description)\"></div>\n </div>\n </div>\n <div class=\"column is-4\" v-if=\"selected.image\">\n <div class=\"image\">\n <img :src=\"selected.image\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { nl2p } from '@perevorot/shop/dist/helpers';\nimport { ref, computed, defineComponent, onMounted, inject } from 'vue';\n\nexport default defineComponent({\n props: {\n data: Object,\n item: Object,\n commit: Function\n },\n setup(props) {\n const selected = computed(() => {\n return props.item.data.find((item) => item.id == pickup.value);\n });\n\n const isValid = (id) => {\n if (!props.item.data.length) {\n return true;\n } else {\n return !!id;\n }\n };\n\n const shippingComponentValid = inject('shippingComponentValid');\n const shippingComponentUserData = inject('shippingComponentUserData');\n\n onMounted(() => {\n shippingComponentValid.value = async () => {\n return new Promise(resolve => {\n resolve(!!(selected.value));\n });\n };\n\n shippingComponentUserData.value = {};\n\n if (!selected.value) {\n props.commit(props.item.code, {}, isValid());\n }\n });\n\n const pickup = computed({\n get() {\n return props.data[props.item.code] ? props.data[props.item.code].id : null;\n },\n set(id) {\n props.commit(\n props.item.code,\n {\n id: id\n },\n isValid(id)\n );\n }\n });\n\n const isOpened = ref(false);\n\n const open = () => {\n isOpened.value = true;\n };\n\n const close = () => {\n isOpened.value = false;\n };\n\n const choose = (e, option) => {\n e.stopPropagation();\n\n setTimeout(() => {\n pickup.value = option.id;\n }, 200);\n\n close();\n };\n\n window.addEventListener('keyup', (e) => {\n if (isOpened.value && e.key === 'Escape') {\n close();\n }\n });\n\n window.addEventListener('click', (e) => {\n if (!e.target.closest('.pickup-wrapper')) {\n close();\n }\n });\n\n return {\n selected,\n isOpened,\n open,\n choose,\n close,\n pickup,\n nl2p\n };\n }\n});\n</script>\n"],"names":["defineComponent","props","data","Object","item","commit","Function","setup","selected","computed","find","id","pickup","value","isValid","length","shippingComponentValid","inject","shippingComponentUserData","onMounted","Promise","resolve","i","f","apply","this","args","code","get","set","isOpened","ref","close","window","addEventListener","e","key","target","closest","open","choose","option","stopPropagation","setTimeout","nl2p","_createElementVNode","_ctx","_createElementBlock","_hoisted_1","_hoisted_2","onMouseleave","onClick","_toDisplayString","name","_hoisted_4","_hoisted_5","_hoisted_6","$event","hours","map_url","description","image","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","innerHTML","_hoisted_15","href","rel","_hoisted_18","_hoisted_19","src"],"mappings":"4EA6CA,MAAeA,kBAAgB,CAC3BC,MAAO,CACHC,KAAMC,OACNC,KAAMD,OACNE,OAAQC,UAEZC,eAAMN,OACIO,EAAWC,YAAS,kBACfR,EAAMG,KAAKF,KAAKQ,MAAK,SAACN,UAASA,EAAKO,IAAMC,EAAOC,YAGtDC,EAAU,SAACH,UACRV,EAAMG,KAAKF,KAAKa,UAGRJ,GAIXK,EAAyBC,SAAO,0BAChCC,EAA4BD,SAAO,6BAEzCE,aAAU,iBACNH,EAAuBH,2BACZ,IAAIO,SAAQ,SAAAC,GACfA,IAAWb,EAASK,gCA2CtB,gCACVS,mCAGUD,QAAQE,EAAEC,MAAMC,KAAMC,yCA3C5BR,EAA0BL,MAAQ,GAE7BL,EAASK,OACVZ,EAAMI,OAAOJ,EAAMG,KAAKuB,KAAM,GAAIb,YAIpCF,EAASH,WAAS,CACpBmB,sBACW3B,EAAMC,KAAKD,EAAMG,KAAKuB,MAAQ1B,EAAMC,KAAKD,EAAMG,KAAKuB,MAAMhB,GAAK,MAE1EkB,aAAIlB,GACAV,EAAMI,OACFJ,EAAMG,KAAKuB,KACX,CACIhB,GAAIA,GAERG,EAAQH,OAKdmB,EAAWC,OAAI,GAMfC,EAAQ,WACVF,EAASjB,OAAQ,UAarBoB,OAAOC,iBAAiB,SAAS,SAACC,GAC1BL,EAASjB,OAAmB,WAAVsB,EAAEC,KACpBJ,OAIRC,OAAOC,iBAAiB,SAAS,SAACC,GACzBA,EAAEE,OAAOC,QAAQ,oBAClBN,OAID,CACHxB,SAAAA,EACAsB,SAAAA,EACAS,KAjCS,WACTT,EAASjB,OAAQ,GAiCjB2B,OA1BW,SAACL,EAAGM,GACfN,EAAEO,kBAEFC,YAAW,WACP/B,EAAOC,MAAQ4B,EAAO9B,KACvB,KAEHqB,KAoBAA,MAAAA,EACApB,OAAAA,EACAgC,KAAAA,0BCtIG,2CACI,6BAIHC,iCACIA,yCAAgB,8BAGb,0BACI,iDAKR,iBACI,+BACI,mBACI,+BAC0B,WAC7BA,iCACIA,yCAAgB,+CAIW,iDAMhC,wBACI,yDAhCiBC,OAAK5C,KAAKa,sBAAtDgC,2BAAAC,GAC6BF,+CAAzBC,2BAAAE,oBAA2DH,qEAC3DD,oDAAW,wBAAwCC,cAAaI,2CAAYJ,wCACxED,kCAAW,yBAA0BM,sCAAOL,sCACxCD,uEAAyCC,yBAAYM,kBAAQN,WAAWA,WAASO,KAAOP,uCACxFQ,IAIJT,2BAAAU,GACIV,2BAAAW,oBACIT,kDAA0CD,OAAK5C,eAAfuC,wBAAhCM,kDAAS,6BAAgID,YAAYL,EAAO9B,IAAMmC,WAASnC,MAA/GyB,IAAKK,EAAO9B,GAAKwC,2BAAOL,SAAOW,EAAQhB,uBAAiFA,EAAOY,8BAI/KP,aAAaA,WAASY,OAASZ,WAASa,SAAWb,WAASc,aAAed,WAASe,sBAA5Gd,2BAAAe,GACIjB,2BAAAkB,GACIlB,2BAAAmB,GACInB,2BAAAoB,GACenB,WAASY,qBAApBX,2BAAAmB,GACIC,EAGAtB,6BAAMuB,UAAQtB,WAASY,oDAEhBZ,WAASa,uBAApBZ,2BAAAsB,GACIxB,0BAAIyB,KAAMxB,WAASa,QAAStB,OAAO,SAASkC,IAAI,8BAAczB,gEAEvDA,WAASc,2BAApBb,wCAAuC,OAAOqB,UAAQtB,OAAKA,WAASc,6DAG7Cd,WAASe,qBAAxCd,2BAAAyB,GACI3B,2BAAA4B,GACI5B,4BAAM6B,IAAK5B,WAASe"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),r=e.defineComponent({name:"viewer",props:{slug:String,code:String,brand:String,category:String},setup:function(r){var
|
|
1
|
+
"use strict";var e=require("vue"),r=e.defineComponent({name:"viewer",props:{slug:String,code:String,brand:String,category:String},setup:function(r){var o=e.ref(null);return $http.post($ziggy("api.viewed"),{action:"view",slug:r.slug}),e.onMounted((function(){var e=o.value.closest("[shop-product]"),t=e.querySelector("[shop-product-name]").textContent,c=e.querySelector("[shop-product-price]")?e.querySelector("[shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""):null,n={ecommerce:{currencyCode:"UAH",value:c,items:[{item_name:t,item_id:r.code}]},event:"view_item"};c&&(n.ecommerce.items[0].price=parseFloat(c)),r.brand&&(n.ecommerce.items[0].item_brand=r.brand),r.category&&(n.ecommerce.items[0].item_category=r.category),$env.debug.ecommerce&&console.log(n),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(n))})),{viewer:o}}}),o={class:"is-hidden",ref:"viewer"};r.render=function(r,t,c,n,i,a){return e.openBlock(),e.createElementBlock("span",o,null,512)},module.exports=r;
|
|
2
2
|
//# sourceMappingURL=Viewer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewer.js","sources":["../../../../src/components/shop/viewed/Viewer.vue","../../../../src/components/shop/viewed/Viewer.vue?vue&type=template&id=
|
|
1
|
+
{"version":3,"file":"Viewer.js","sources":["../../../../src/components/shop/viewed/Viewer.vue","../../../../src/components/shop/viewed/Viewer.vue?vue&type=template&id=5908da16&lang.js"],"sourcesContent":["<template>\n <span class=\"is-hidden\" ref=\"viewer\"></span>\n</template>\n<script>\nimport { ref, onMounted, defineComponent } from 'vue';\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'viewer',\n props: {\n slug: String,\n code: String,\n brand: String,\n category: String\n },\n setup(props) {\n const viewer = ref(null);\n\n $http.post($ziggy('api.viewed'), {\n action: 'view',\n slug: props.slug\n });\n\n onMounted(() => {\n const product = viewer.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]').textContent;\n const price = product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const code = props.code;\n\n let object = {\n ecommerce: {\n currencyCode: 'UAH',\n value: price,\n items: [\n {\n item_name: name,\n item_id: code,\n }\n ]\n },\n event: 'view_item'\n };\n\n if (price) {\n object.ecommerce.items[0].price = parseFloat(price);\n }\n\n if (props.brand) {\n object.ecommerce.items[0].item_brand = props.brand;\n }\n\n if (props.category) {\n object.ecommerce.items[0].item_category = props.category;\n }\n\n if ($env.debug.ecommerce) {\n console.log(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 }\n });\n\n return {\n viewer\n };\n }\n});\n</script>","<template>\n <span class=\"is-hidden\" ref=\"viewer\"></span>\n</template>\n<script>\nimport { ref, onMounted, defineComponent } from 'vue';\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'viewer',\n props: {\n slug: String,\n code: String,\n brand: String,\n category: String\n },\n setup(props) {\n const viewer = ref(null);\n\n $http.post($ziggy('api.viewed'), {\n action: 'view',\n slug: props.slug\n });\n\n onMounted(() => {\n const product = viewer.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]').textContent;\n const price = product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const code = props.code;\n\n let object = {\n ecommerce: {\n currencyCode: 'UAH',\n value: price,\n items: [\n {\n item_name: name,\n item_id: code,\n }\n ]\n },\n event: 'view_item'\n };\n\n if (price) {\n object.ecommerce.items[0].price = parseFloat(price);\n }\n\n if (props.brand) {\n object.ecommerce.items[0].item_brand = props.brand;\n }\n\n if (props.category) {\n object.ecommerce.items[0].item_category = props.category;\n }\n\n if ($env.debug.ecommerce) {\n console.log(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 }\n });\n\n return {\n viewer\n };\n }\n});\n</script>"],"names":["defineComponent","name","props","slug","String","code","brand","category","setup","viewer","ref","$http","post","$ziggy","action","onMounted","product","value","closest","querySelector","textContent","price","childNodes","nodeValue","replace","object","ecommerce","currencyCode","items","item_name","item_id","event","parseFloat","item_brand","item_category","$env","debug","console","log","window","dataLayer","push","_createElementBlock","_hoisted_1"],"mappings":"oCAM6BA,kBAAgB,CACzCC,KAAM,SACNC,MAAO,CACHC,KAAMC,OACNC,KAAMD,OACNE,MAAOF,OACPG,SAAUH,QAEdI,eAAMN,OACIO,EAASC,MAAI,aAEnBC,MAAMC,KAAKC,OAAO,cAAe,CAC7BC,OAAQ,OACRX,KAAMD,EAAMC,OAGhBY,aAAU,eACAC,EAAUP,EAAOQ,MAAMC,QAAQ,kBAC/BjB,EAAOe,EAAQG,cAAc,uBAAuBC,YACpDC,EAAQL,EAAQG,cAAc,wBAA0BH,EAAQG,cAAc,wBAAwBG,WAAW,GAAGC,UAAUC,QAAQ,KAAM,IAAM,KAGpJC,EAAS,CACTC,UAAW,CACPC,aAAc,MACdV,MAAOI,EACPO,MAAO,CACH,CACIC,UAAW5B,EACX6B,QATH5B,EAAMG,QAaf0B,MAAO,aAGPV,IACAI,EAAOC,UAAUE,MAAM,GAAGP,MAAQW,WAAWX,IAG7CnB,EAAMI,QACNmB,EAAOC,UAAUE,MAAM,GAAGK,WAAa/B,EAAMI,OAG7CJ,EAAMK,WACNkB,EAAOC,UAAUE,MAAM,GAAGM,cAAgBhC,EAAMK,UAGhD4B,KAAKC,MAAMV,WACXW,QAAQC,IAAIb,IAGXU,KAAKC,MAAMV,WAAaa,OAAOC,YAChCD,OAAOC,UAAUC,KAAK,CAClBf,UAAW,OAGfa,OAAOC,UAAUC,KAAKhB,OAIvB,CACHhB,OAAAA,eCnEI,YAAYC,IAAI,8DAA5BgC,4BAAAC"}
|