@perevorot/shop 2.0.151 → 2.0.153

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/dist/components/account/OrderItem.js +1 -1
  2. package/dist/components/account/OrderItem.js.map +1 -1
  3. package/dist/components/account/User.js +1 -1
  4. package/dist/components/account/User.js.map +1 -1
  5. package/dist/components/auth/Forget.js +1 -1
  6. package/dist/components/auth/Forget.js.map +1 -1
  7. package/dist/components/auth/Login.js +1 -1
  8. package/dist/components/auth/Login.js.map +1 -1
  9. package/dist/components/auth/Registration.js +1 -1
  10. package/dist/components/auth/Registration.js.map +1 -1
  11. package/dist/components/auth/Reset.js +1 -1
  12. package/dist/components/auth/Reset.js.map +1 -1
  13. package/dist/components/shop/Catalog.js +1 -1
  14. package/dist/components/shop/Catalog.js.map +1 -1
  15. package/dist/components/shop/PromoProducts.js +1 -1
  16. package/dist/components/shop/PromoProducts.js.map +1 -1
  17. package/dist/components/shop/Search.js +1 -1
  18. package/dist/components/shop/Search.js.map +1 -1
  19. package/dist/components/shop/cart/Cart.js +1 -1
  20. package/dist/components/shop/cart/Cart.js.map +1 -1
  21. package/dist/components/shop/cart/CartItem.js +1 -1
  22. package/dist/components/shop/cart/CartItem.js.map +1 -1
  23. package/dist/components/shop/filters/Price.js +1 -1
  24. package/dist/components/shop/filters/Price.js.map +1 -1
  25. package/dist/components/shop/order/Checkout.js +1 -1
  26. package/dist/components/shop/order/Checkout.js.map +1 -1
  27. package/dist/components/shop/order/CheckoutItem.js +1 -1
  28. package/dist/components/shop/order/CheckoutItem.js.map +1 -1
  29. package/dist/components/shop/order/OneClick.js +1 -1
  30. package/dist/components/shop/order/OneClick.js.map +1 -1
  31. package/dist/components/shop/reviews/Question.js +1 -1
  32. package/dist/components/shop/reviews/Question.js.map +1 -1
  33. package/dist/components/shop/reviews/Review.js +1 -1
  34. package/dist/components/shop/reviews/Review.js.map +1 -1
  35. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),a=require("@perevorot/shop/dist/api"),n=require("@perevorot/shop/dist/helpers"),i=require("secure-ls");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=l(o),c=l(i);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,a,n=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(o=r.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}var m={name:"registration",components:{SchemaForm:r.SchemaFormFactory([s.default({})])},setup:function(){var o,i=t.useStore(),l=e.ref(!1),s=e.ref(!0),d=e.ref(0),m=e.ref({}),f=e.ref(!1),v=e.ref(""),h=e.ref({}),g=e.ref({}),p=e.ref({});r.useSchemaForm(p);return a.auth.registerForm().then((function(e){if(e.data){var t=n.formParse(e.data);o=t.model,h.value=t.schema,p.value=t.model,g.value=t.validation,v.value=e.data.type}})).finally((function(){s.value=!1})),{loading:l,loadingForm:s,key:d,errors:m,schema:h,validation:g,onSubmit:function(){l.value=!0,i.dispatch("auth/register",{type:v.value?v.value.charAt(0).toUpperCase()+v.value.slice(1):"",credentials:p.value,finally:function(){l.value=!1},callback:function(e){if(e.data&&e.data.user_id){var t={event:"sign_up",user_id:e.data.user_id,method:"site"};$env.debug.ecommerce&&console.log(t),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t))}f.value=!0,p.value=o,d.value++;var r=new c.default({isCompression:!1}),a=r.get("forms");a.registration&&(a.registration={}),r.set("forms",a)},catch:function(e){var t={};if(e.response.data&&e.response.data.errors){for(var r=0,o=Object.entries(e.response.data.errors);r<o.length;r++){var a=u(o[r],2),n=a[0],i=a[1];i[0]&&(t[n]=i[0])}d.value++}m.value=t}})},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})},thanks:f,model:p,close:function(){i.commit("auth/modal",null),i.dispatch("auth/me")},type:v,login:function(){i.commit("auth/modal","login")}}}},f={key:0,class:"auth-registration"},v={class:"title"},h={class:"field"},g={class:"socials"},p={class:"description has-text-centered"},y={class:"buttons"},b=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],k=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],E={class:"href-already-register"},N={class:"mt-3"};m.render=function(t,r,o,a,n,i){var l=e.resolveComponent("SchemaForm");return a.loadingForm?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.registration.title")),1),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(a.model.user_type?"is-user-type-"+a.model.user_type.replaceAll("_","-"):null)},[(e.openBlock(),e.createBlock(l,{schemaRowClasses:"field",schema:a.schema,"validation-schema":a.validation,"initial-errors":a.errors,key:a.key,onSubmit:a.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",h,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":a.loading}]),type:"submit"},e.toDisplayString(t.__("auth.registration.form.submit"+("short"==a.type?"_short":""))),3)]),e.createElementVNode("div",g,[e.createElementVNode("div",p,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",y,[e.createElementVNode("a",{class:"button",onClick:r[0]||(r[0]=function(){return a.facebook&&a.facebook.apply(a,arguments)})},b),e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return a.google&&a.google.apply(a,arguments)})},k)])]),e.createElementVNode("div",E,[e.createElementVNode("a",{onClick:r[2]||(r[2]=function(){return a.login&&a.login.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.already")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],2),[[e.vShow,!a.thanks]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(t.__("auth.registration.thanks"+("short"==a.type?"_short":""),{email:a.model.email})),1),e.createElementVNode("div",N,[e.createElementVNode("button",{class:"button",onClick:r[3]||(r[3]=function(){return a.close&&a.close.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.continue")),1)])],512),[[e.vShow,a.thanks]])]))},module.exports=m;
1
+ "use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),a=require("@perevorot/shop/dist/api"),n=require("@perevorot/shop/dist/helpers"),i=require("secure-ls");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=l(o),c=l(i);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,a,n=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(o=r.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}var m={name:"registration",components:{SchemaForm:r.SchemaFormFactory([s.default({})])},setup:function(){var o,i=t.useStore(),l=e.ref(!1),s=e.ref(!0),d=e.ref(0),m=e.ref({}),f=e.ref(!1),v=e.ref(""),h=e.ref({}),g=e.ref({}),p=e.ref({});r.useSchemaForm(p);return a.auth.registerForm().then((function(e){if(e.data){var t=n.formParse(e.data);o=t.model,h.value=t.schema,p.value=t.model,g.value=t.validation,v.value=e.data.type}})).finally((function(){s.value=!1})),{loading:l,loadingForm:s,key:d,errors:m,schema:h,validation:g,onSubmit:function(){l.value=!0,i.dispatch("auth/register",{type:v.value?v.value.charAt(0).toUpperCase()+v.value.slice(1):"",credentials:p.value,finally:function(){l.value=!1},callback:function(e){if(e.data&&e.data.user_id){var t={event:"sign_up",user_id:e.data.user_id,method:"site"};$env.debug.ecommerce&&console.log(t),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t))}f.value=!0,p.value=o,d.value++;var r=new c.default({isCompression:!1}),a=r.get("forms");a.registration&&(a.registration={}),r.set("forms",a)},catch:function(e){var t={};if(e.response.data&&e.response.data.errors){for(var r=0,o=Object.entries(e.response.data.errors);r<o.length;r++){var a=u(o[r],2),n=a[0],i=a[1];i[0]&&(t[n]=i[0])}d.value++}m.value=t}})},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})},thanks:f,model:p,close:function(){i.commit("auth/modal",null),i.dispatch("auth/me")},type:v,login:function(){i.commit("auth/modal","login")}}}},f={key:0,class:"auth-registration"},v={class:"title"},h={class:"field"},g={class:"socials"},p={class:"description has-text-centered"},y={class:"buttons"},b=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],k=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],E={class:"href-already-register"},N={class:"mt-3"};m.render=function(t,r,o,a,n,i){var l=e.resolveComponent("SchemaForm");return a.loadingForm?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.registration.title")),1),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(a.model.user_type?"is-user-type-"+a.model.user_type.replaceAll("_","-"):null)},[e.createVNode(l,{schemaRowClasses:"field",schema:a.schema,"validation-schema":a.validation,"initial-errors":a.errors,key:a.key,onSubmit:a.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",h,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":a.loading}]),type:"submit"},e.toDisplayString(t.__("auth.registration.form.submit"+("short"==a.type?"_short":""))),3)]),e.createElementVNode("div",g,[e.createElementVNode("div",p,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",y,[e.createElementVNode("a",{class:"button",onClick:r[0]||(r[0]=function(){return a.facebook&&a.facebook.apply(a,arguments)})},b),e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return a.google&&a.google.apply(a,arguments)})},k)])]),e.createElementVNode("div",E,[e.createElementVNode("a",{onClick:r[2]||(r[2]=function(){return a.login&&a.login.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.already")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"])],2),[[e.vShow,!a.thanks]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(t.__("auth.registration.thanks"+("short"==a.type?"_short":""),{email:a.model.email})),1),e.createElementVNode("div",N,[e.createElementVNode("button",{class:"button",onClick:r[3]||(r[3]=function(){return a.close&&a.close.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.continue")),1)])],512),[[e.vShow,a.thanks]])]))},module.exports=m;
2
2
  //# sourceMappingURL=Registration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Registration.js","sources":["../../../src/components/auth/Registration.vue","../../../src/components/auth/Registration.vue?vue&type=template&id=5718b73a&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: (response) => {\n if (response.data && response.data.user_id) {\n let object = {\n event: 'sign_up',\n user_id: response.data.user_id,\n method: 'site',\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 thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n let incomingErrors = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n incomingErrors[field] = messages[0];\n }\n }\n\n key.value++;\n }\n\n errors.value = incomingErrors;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>","<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: (response) => {\n if (response.data && response.data.user_id) {\n let object = {\n event: 'sign_up',\n user_id: response.data.user_id,\n method: 'site',\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 thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n let incomingErrors = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n incomingErrors[field] = messages[0];\n }\n }\n\n key.value++;\n }\n\n errors.value = incomingErrors;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>"],"names":["name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","emptyModel","store","useStore","loading","ref","loadingForm","key","errors","thanks","type","schema","validation","model","useSchemaForm","api","registerForm","then","response","data","form","formParse","value","onSubmit","dispatch","charAt","toUpperCase","slice","credentials","callback","user_id","object","event","method","$env","debug","ecommerce","console","log","window","dataLayer","push","ls","SecureLS","isCompression","forms","get","registration","set","error","incomingErrors","Object","entries","field","messages","facebook","location","href","$ziggy","provider","google","close","commit","login","_createElementVNode","$setup","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","user_type","replaceAll","_createBlock","schemaRowClasses","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_13","_hoisted_14"],"mappings":"4wCA4DA,MAEe,CACXA,KAAM,eACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBAYQC,EAXEC,EAAQC,aACRC,EAAUC,OAAI,GACdC,EAAcD,OAAI,GAClBE,EAAMF,MAAI,GACVG,EAASH,MAAI,IACbI,EAASJ,OAAI,GACbK,EAAOL,MAAI,IACXM,EAASN,MAAI,IACbO,EAAaP,MAAI,IACjBQ,EAAQR,MAAI,IAIlBS,gBAAcD,UAyFdE,OAAIC,eACCC,MAAK,SAACC,MACCA,EAASC,KAAM,KACTC,EAAOC,YAAUH,EAASC,MAEhClB,EAAamB,EAAKP,MAElBF,EAAOW,MAAQF,EAAKT,OACpBE,EAAMS,MAAQF,EAAKP,MACnBD,EAAWU,MAAQF,EAAKR,WAExBF,EAAKY,MAAQJ,EAASC,KAAKT,kBAG1B,WACLJ,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAG,OAAAA,EACAC,WAAAA,EACAW,SAhHa,WACbnB,EAAQkB,OAAQ,EAEhBpB,EAAMsB,SAAS,gBAAiB,CAC5Bd,KAAMA,EAAKY,MAAQZ,EAAKY,MAAMG,OAAO,GAAGC,cAAgBhB,EAAKY,MAAMK,MAAM,GAAK,GAC9EC,YAAaf,EAAMS,cACV,WACLlB,EAAQkB,OAAQ,GAEpBO,SAAU,SAACX,MACHA,EAASC,MAAQD,EAASC,KAAKW,QAAS,KACpCC,EAAS,CACTC,MAAO,UACPF,QAASZ,EAASC,KAAKW,QACvBG,OAAQ,QAGRC,KAAKC,MAAMC,WACXC,QAAQC,IAAIP,IAGXG,KAAKC,MAAMC,WAAaG,OAAOC,YAChCD,OAAOC,UAAUC,KAAK,CAClBL,UAAW,OAGfG,OAAOC,UAAUC,KAAKV,IAI9BtB,EAAOa,OAAQ,EAEfT,EAAMS,MAAQrB,EAEdM,EAAIe,YAEAoB,EAAK,IAAIC,UAAS,CAClBC,eAAe,IAGfC,EAAQH,EAAGI,IAAI,SAEfD,EAAME,eACNF,EAAME,aAAe,IAGzBL,EAAGM,IAAI,QAASH,UAEb,SAACI,OACAC,EAAiB,MAEjBD,EAAM/B,SAASC,MAAQ8B,EAAM/B,SAASC,KAAKX,OAAQ,eACnB2C,OAAOC,QAAQH,EAAM/B,SAASC,KAAKX,uBAAS,iBAAhE6C,OAAOC,OACXA,EAAS,KACTJ,EAAeG,GAASC,EAAS,IAIzC/C,EAAIe,QAGRd,EAAOc,MAAQ4B,MAoDvBK,SA1Ca,WACbhB,OAAOiB,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cAyCdC,OArCW,WACXrB,OAAOiB,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,YAoCdlD,OAAAA,EACAI,MAAAA,EACAgD,MAnDU,WACV3D,EAAM4D,OAAO,aAAc,MAC3B5D,EAAMsB,SAAS,YAkDfd,KAAAA,EACAqD,MApCU,WACV7D,EAAM4D,OAAO,aAAc,4BCtKxB,8BACI,kBAIY,kBAKA,oBACI,0CAGA,cAEHE,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAEwBA,kCAAW,oBACrCA,yCAAgB,2BAEpBA,iCAAM,uBAIP,kCAcR,qFA1CmBC,6DAAtCC,2BAAAC,GACIH,2BAAAI,oBAAsBC,qDACtBL,mDAAoCC,QAAMK,0BAA8BL,QAAMK,UAAUC,2CACpFC,iBAAYC,iBAAiB,QAAS9D,OAAQsD,6BAA4BA,8BAA6BA,SAAS1D,IAAK0D,MAAM1C,SAAQ0C,aACpHS,qBACP,kBAAAV,2BAAAW,GACIX,uDAAc,+BAA6DC,aAA5CvD,KAAK,4BAC7B2D,+CAAsCJ,2BAGjDD,2BAAAY,GACIZ,2BAAAa,oBACOR,+BAEPL,2BAAAc,GACId,gCAAS,SAAUe,sCAAOd,gDAM1BD,gCAAS,SAAUe,sCAAOd,gDAOlCD,2BAAAgB,GACIhB,0BAAIe,sCAAOd,yDAAUI,+HA3BvBJ,6BAgCdD,iCACIA,kDAEIK,0CAAiCJ,+CAKrCD,2BAAAiB,GACIjB,qCAAc,SAAUe,sCAAOd,yDACxBI,yDAVFJ"}
1
+ {"version":3,"file":"Registration.js","sources":["../../../src/components/auth/Registration.vue","../../../src/components/auth/Registration.vue?vue&type=template&id=5718b73a&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: (response) => {\n if (response.data && response.data.user_id) {\n let object = {\n event: 'sign_up',\n user_id: response.data.user_id,\n method: 'site',\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 thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n let incomingErrors = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n incomingErrors[field] = messages[0];\n }\n }\n\n key.value++;\n }\n\n errors.value = incomingErrors;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>","<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: (response) => {\n if (response.data && response.data.user_id) {\n let object = {\n event: 'sign_up',\n user_id: response.data.user_id,\n method: 'site',\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 thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n let incomingErrors = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n incomingErrors[field] = messages[0];\n }\n }\n\n key.value++;\n }\n\n errors.value = incomingErrors;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>"],"names":["name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","emptyModel","store","useStore","loading","ref","loadingForm","key","errors","thanks","type","schema","validation","model","useSchemaForm","api","registerForm","then","response","data","form","formParse","value","onSubmit","dispatch","charAt","toUpperCase","slice","credentials","callback","user_id","object","event","method","$env","debug","ecommerce","console","log","window","dataLayer","push","ls","SecureLS","isCompression","forms","get","registration","set","error","incomingErrors","Object","entries","field","messages","facebook","location","href","$ziggy","provider","google","close","commit","login","_createElementVNode","$setup","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","user_type","replaceAll","_createVNode","schemaRowClasses","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_13","_hoisted_14"],"mappings":"4wCA4DA,MAEe,CACXA,KAAM,eACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBAYQC,EAXEC,EAAQC,aACRC,EAAUC,OAAI,GACdC,EAAcD,OAAI,GAClBE,EAAMF,MAAI,GACVG,EAASH,MAAI,IACbI,EAASJ,OAAI,GACbK,EAAOL,MAAI,IACXM,EAASN,MAAI,IACbO,EAAaP,MAAI,IACjBQ,EAAQR,MAAI,IAIlBS,gBAAcD,UAyFdE,OAAIC,eACCC,MAAK,SAACC,MACCA,EAASC,KAAM,KACTC,EAAOC,YAAUH,EAASC,MAEhClB,EAAamB,EAAKP,MAElBF,EAAOW,MAAQF,EAAKT,OACpBE,EAAMS,MAAQF,EAAKP,MACnBD,EAAWU,MAAQF,EAAKR,WAExBF,EAAKY,MAAQJ,EAASC,KAAKT,kBAG1B,WACLJ,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAG,OAAAA,EACAC,WAAAA,EACAW,SAhHa,WACbnB,EAAQkB,OAAQ,EAEhBpB,EAAMsB,SAAS,gBAAiB,CAC5Bd,KAAMA,EAAKY,MAAQZ,EAAKY,MAAMG,OAAO,GAAGC,cAAgBhB,EAAKY,MAAMK,MAAM,GAAK,GAC9EC,YAAaf,EAAMS,cACV,WACLlB,EAAQkB,OAAQ,GAEpBO,SAAU,SAACX,MACHA,EAASC,MAAQD,EAASC,KAAKW,QAAS,KACpCC,EAAS,CACTC,MAAO,UACPF,QAASZ,EAASC,KAAKW,QACvBG,OAAQ,QAGRC,KAAKC,MAAMC,WACXC,QAAQC,IAAIP,IAGXG,KAAKC,MAAMC,WAAaG,OAAOC,YAChCD,OAAOC,UAAUC,KAAK,CAClBL,UAAW,OAGfG,OAAOC,UAAUC,KAAKV,IAI9BtB,EAAOa,OAAQ,EAEfT,EAAMS,MAAQrB,EAEdM,EAAIe,YAEAoB,EAAK,IAAIC,UAAS,CAClBC,eAAe,IAGfC,EAAQH,EAAGI,IAAI,SAEfD,EAAME,eACNF,EAAME,aAAe,IAGzBL,EAAGM,IAAI,QAASH,UAEb,SAACI,OACAC,EAAiB,MAEjBD,EAAM/B,SAASC,MAAQ8B,EAAM/B,SAASC,KAAKX,OAAQ,eACnB2C,OAAOC,QAAQH,EAAM/B,SAASC,KAAKX,uBAAS,iBAAhE6C,OAAOC,OACXA,EAAS,KACTJ,EAAeG,GAASC,EAAS,IAIzC/C,EAAIe,QAGRd,EAAOc,MAAQ4B,MAoDvBK,SA1Ca,WACbhB,OAAOiB,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cAyCdC,OArCW,WACXrB,OAAOiB,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,YAoCdlD,OAAAA,EACAI,MAAAA,EACAgD,MAnDU,WACV3D,EAAM4D,OAAO,aAAc,MAC3B5D,EAAMsB,SAAS,YAkDfd,KAAAA,EACAqD,MApCU,WACV7D,EAAM4D,OAAO,aAAc,4BCtKxB,8BACI,kBAIY,kBAKA,oBACI,0CAGA,cAEHE,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAEwBA,kCAAW,oBACrCA,yCAAgB,2BAEpBA,iCAAM,uBAIP,kCAcR,qFA1CmBC,6DAAtCC,2BAAAC,GACIH,2BAAAI,oBAAsBC,qDACtBL,mDAAoCC,QAAMK,0BAA8BL,QAAMK,UAAUC,4BACpFC,iBAAYC,iBAAiB,QAAS9D,OAAQsD,6BAA4BA,8BAA6BA,SAAS1D,IAAK0D,MAAM1C,SAAQ0C,aACpHS,qBACP,kBAAAV,2BAAAW,GACIX,uDAAc,+BAA6DC,aAA5CvD,KAAK,4BAC7B2D,+CAAsCJ,2BAGjDD,2BAAAY,GACIZ,2BAAAa,oBACOR,+BAEPL,2BAAAc,GACId,gCAAS,SAAUe,sCAAOd,gDAM1BD,gCAAS,SAAUe,sCAAOd,gDAOlCD,2BAAAgB,GACIhB,0BAAIe,sCAAOd,yDAAUI,8HA3BvBJ,6BAgCdD,iCACIA,kDAEIK,0CAAiCJ,+CAKrCD,2BAAAiB,GACIjB,qCAAc,SAAUe,sCAAOd,yDACxBI,yDAVFJ"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),r=require("@perevorot/shop/dist/forms/FormText"),n=require("@perevorot/shop/dist/forms/FormPassword"),l=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,o.get?o:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var c=i(o),u=i(r),d=i(n),m=s(l);e.markRaw(d.default),e.markRaw(u.default);var p=a.SchemaFormFactory([c.default({})]),f={name:"reset",props:{showPlaceholders:{type:Boolean,default:!1}},components:{SchemaForm:p},setup:function(o){var r=e.ref(!1),n=t.useStore(),l=e.ref(0),i=e.ref(""),s=e.ref(!1),c=e.getCurrentInstance(),p=e.inject("presetedResetToken"),f=e.inject("presetedResetEmail");e.watch(p,(function(e){e&&(_.value.token=e)})),e.watch(f,(function(e){e&&(_.value.email=e)}));var v=e.ref({password:{component:d.default,label:__("auth.login.form.password"),type:"password",placeholder:o.showPlaceholders?__("auth.login.form.password"):""},password_confirmation:{component:u.default,label:__("auth.login.form.password_confirmation"),type:"password",placeholder:o.showPlaceholders?__("auth.login.form.password_confirmation"):""}}),h=m.object().shape({password:m.string().min(6,__("auth.validation.min")).required(__("auth.validation.required")),password_confirmation:m.string().oneOf([m.ref("password"),null],__("auth.validation.password_confirmation"))}),_=e.ref({password:"",password_confirmation:"",token:c.parent.props.resetToken,email:c.parent.props.resetEmail});a.useSchemaForm(_);return{loading:r,key:l,schema:v,validation:h,onSubmit:function(){r.value=!0,n.dispatch("auth/passwordUpdate",{credentials:_.value,callback:function(e,t){i.value=e},finally:function(){_.value={},r.value=!1,s.value=!0,l.value++}})},reseted:s,message:i,cancel:function(){n.commit("auth/modal","login")},again:function(){n.commit("auth/modal","forget")},close:function(){n.commit("auth/modal",null),n.dispatch("auth/me")},presetedResetToken:p,presetedResetEmail:f}}},v={class:"form auth-reset"},h={class:"title"},_={key:0},w=["innerHTML"],g={class:"field"},k={class:"columns is-vcentered"},b={class:"column"},y={class:"mt-3"},E={key:1},S={class:"mt-3"},V={class:"mt-3"};f.render=function(t,a,o,r,n,l){var i=e.resolveComponent("SchemaForm");return e.openBlock(),e.createElementBlock("div",v,[e.createElementVNode("div",h,e.toDisplayString(t.__("auth.reset.title")),1),e.withDirectives(e.createElementVNode("div",null,[t.$parent.tokenValid||r.presetedResetToken?(e.openBlock(),e.createElementBlock("div",_,[e.createElementVNode("div",{class:"mb-3",innerHTML:t.__("auth.reset.info",{email:t.$parent.resetEmail||r.presetedResetEmail})},null,8,w),(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:r.schema,"validation-schema":r.validation,key:r.key,onSubmit:r.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",g,[e.createElementVNode("div",k,[e.createElementVNode("div",b,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":r.loading}]),type:"submit"},e.toDisplayString(t.__("auth.reset.form.submit")),3)])])])]})),_:1},8,["schema","validation-schema","onSubmit"])),e.createElementVNode("div",y,[e.createElementVNode("button",{class:"button",onClick:a[0]||(a[0]=function(){return r.cancel&&r.cancel.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.cancel")),1)])])):(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("p",null,e.toDisplayString(t.__("auth.reset.token-not-valid")),1),e.createElementVNode("div",S,[e.createElementVNode("button",{class:"button",onClick:a[1]||(a[1]=function(){return r.again&&r.again.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.again")),1)])]))],512),[[e.vShow,!r.reseted]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(r.message),1),e.createElementVNode("div",V,[e.createElementVNode("button",{class:"button",onClick:a[2]||(a[2]=function(){return r.close&&r.close.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.close")),1)])],512),[[e.vShow,r.reseted]])])},module.exports=f;
1
+ "use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),r=require("@perevorot/shop/dist/forms/FormText"),n=require("@perevorot/shop/dist/forms/FormPassword"),l=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,o.get?o:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var c=i(o),u=i(r),d=i(n),m=s(l);e.markRaw(d.default),e.markRaw(u.default);var p=a.SchemaFormFactory([c.default({})]),f={name:"reset",props:{showPlaceholders:{type:Boolean,default:!1}},components:{SchemaForm:p},setup:function(o){var r=e.ref(!1),n=t.useStore(),l=e.ref(0),i=e.ref(""),s=e.ref(!1),c=e.getCurrentInstance(),p=e.inject("presetedResetToken"),f=e.inject("presetedResetEmail");e.watch(p,(function(e){e&&(_.value.token=e)})),e.watch(f,(function(e){e&&(_.value.email=e)}));var v=e.ref({password:{component:d.default,label:__("auth.login.form.password"),type:"password",placeholder:o.showPlaceholders?__("auth.login.form.password"):""},password_confirmation:{component:u.default,label:__("auth.login.form.password_confirmation"),type:"password",placeholder:o.showPlaceholders?__("auth.login.form.password_confirmation"):""}}),h=m.object().shape({password:m.string().min(6,__("auth.validation.min")).required(__("auth.validation.required")),password_confirmation:m.string().oneOf([m.ref("password"),null],__("auth.validation.password_confirmation"))}),_=e.ref({password:"",password_confirmation:"",token:c.parent.props.resetToken,email:c.parent.props.resetEmail});a.useSchemaForm(_);return{loading:r,key:l,schema:v,validation:h,onSubmit:function(){r.value=!0,n.dispatch("auth/passwordUpdate",{credentials:_.value,callback:function(e,t){i.value=e},finally:function(){_.value={},r.value=!1,s.value=!0,l.value++}})},reseted:s,message:i,cancel:function(){n.commit("auth/modal","login")},again:function(){n.commit("auth/modal","forget")},close:function(){n.commit("auth/modal",null),n.dispatch("auth/me")},presetedResetToken:p,presetedResetEmail:f}}},v={class:"form auth-reset"},h={class:"title"},_={key:0},w=["innerHTML"],g={class:"field"},k={class:"columns is-vcentered"},b={class:"column"},y={class:"mt-3"},E={key:1},S={class:"mt-3"},V={class:"mt-3"};f.render=function(t,a,o,r,n,l){var i=e.resolveComponent("SchemaForm");return e.openBlock(),e.createElementBlock("div",v,[e.createElementVNode("div",h,e.toDisplayString(t.__("auth.reset.title")),1),e.withDirectives(e.createElementVNode("div",null,[t.$parent.tokenValid||r.presetedResetToken?(e.openBlock(),e.createElementBlock("div",_,[e.createElementVNode("div",{class:"mb-3",innerHTML:t.__("auth.reset.info",{email:t.$parent.resetEmail||r.presetedResetEmail})},null,8,w),e.createVNode(i,{schemaRowClasses:"field",schema:r.schema,"validation-schema":r.validation,key:r.key,onSubmit:r.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",g,[e.createElementVNode("div",k,[e.createElementVNode("div",b,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":r.loading}]),type:"submit"},e.toDisplayString(t.__("auth.reset.form.submit")),3)])])])]})),_:1},8,["schema","validation-schema","onSubmit"]),e.createElementVNode("div",y,[e.createElementVNode("button",{class:"button",onClick:a[0]||(a[0]=function(){return r.cancel&&r.cancel.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.cancel")),1)])])):(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("p",null,e.toDisplayString(t.__("auth.reset.token-not-valid")),1),e.createElementVNode("div",S,[e.createElementVNode("button",{class:"button",onClick:a[1]||(a[1]=function(){return r.again&&r.again.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.again")),1)])]))],512),[[e.vShow,!r.reseted]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(r.message),1),e.createElementVNode("div",V,[e.createElementVNode("button",{class:"button",onClick:a[2]||(a[2]=function(){return r.close&&r.close.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.close")),1)])],512),[[e.vShow,r.reseted]])])},module.exports=f;
2
2
  //# sourceMappingURL=Reset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Reset.js","sources":["../../../src/components/auth/Reset.vue","../../../src/components/auth/Reset.vue?vue&type=template&id=7cbc8208&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid || presetedResetToken\">\n <div class=\"mb-3\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject, watch } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n props: {\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n watch(presetedResetToken, (value) => {\n if (value) {\n model.value.token = value;\n }\n });\n\n watch(presetedResetEmail, (value) => {\n if (value) {\n model.value.email = value;\n }\n });\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password_confirmation') : '',\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close,\n presetedResetToken,\n presetedResetEmail\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid || presetedResetToken\">\n <div class=\"mb-3\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject, watch } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n props: {\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n watch(presetedResetToken, (value) => {\n if (value) {\n model.value.token = value;\n }\n });\n\n watch(presetedResetEmail, (value) => {\n if (value) {\n model.value.email = value;\n }\n });\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password_confirmation') : '',\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close,\n presetedResetToken,\n presetedResetEmail\n };\n }\n};\n</script>"],"names":["markRaw","FormPassword","FormText","SchemaForm","SchemaFormFactory","VeeValidatePlugin","name","props","showPlaceholders","type","Boolean","components","setup","loading","ref","store","useStore","key","message","reseted","instance","getCurrentInstance","presetedResetToken","inject","presetedResetEmail","watch","value","model","token","email","schema","password","component","label","__","placeholder","password_confirmation","validation","yup","object","shape","string","min","required","oneOf","parent","resetToken","resetEmail","useSchemaForm","onSubmit","dispatch","credentials","callback","m","isError","cancel","commit","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","tokenValid","$setup","innerHTML","_createBlock","schemaRowClasses","afterForm","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","onClick","_hoisted_10","_hoisted_11"],"mappings":"ynBAqDAA,UAAQC,WACRD,UAAQE,WAER,IAAMC,EAAaC,oBAAkB,CAACC,UAAkB,QAEzC,CACXC,KAAM,QACNC,MAAO,CACHC,iBAAkB,CACdC,KAAMC,iBACG,IAGjBC,WAAY,CACRR,WAAAA,GAEJS,eAAML,OACIM,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAUL,OAAI,GACdM,EAAWC,uBACXC,EAAqBC,SAAO,sBAC5BC,EAAqBD,SAAO,sBAElCE,QAAMH,GAAoB,SAACI,GACnBA,IACAC,EAAMD,MAAME,MAAQF,MAI5BD,QAAMD,GAAoB,SAACE,GACnBA,IACAC,EAAMD,MAAMG,MAAQH,UAItBI,EAAShB,MAAI,CACfiB,SAAU,CACNC,UAAW/B,UACXgC,MAAOC,GAAG,4BACVzB,KAAM,WACN0B,YAAa5B,EAAMC,iBAAmB0B,GAAG,4BAA8B,IAE3EE,sBAAuB,CACnBJ,UAAW9B,UACX+B,MAAOC,GAAG,yCACVzB,KAAM,WACN0B,YAAa5B,EAAMC,iBAAmB0B,GAAG,yCAA2C,MAItFG,EAAaC,EAAIC,SAASC,MAAM,CAClCT,SAAUO,EAAIG,SAASC,IAAI,EAAGR,GAAG,wBAAwBS,SAAST,GAAG,6BACrEE,sBAAuBE,EAAIG,SAASG,MAAM,CAACN,EAAIxB,IAAI,YAAa,MAAOoB,GAAG,4CAGxEP,EAAQb,MAAI,CACdiB,SAAU,GACVK,sBAAuB,GACvBR,MAAOR,EAASyB,OAAOtC,MAAMuC,WAC7BjB,MAAOT,EAASyB,OAAOtC,MAAMwC,aAGjCC,gBAAcrB,SAgCP,CACHd,QAAAA,EACAI,IAAAA,EACAa,OAAAA,EACAO,WAAAA,EACAY,SA3Ba,WACbpC,EAAQa,OAAQ,EAEhBX,EAAMmC,SAAS,sBAAuB,CAClCC,YAAaxB,EAAMD,MACnB0B,SAAU,SAACC,EAAGC,GACVpC,EAAQQ,MAAQ2B,WAEX,WACL1B,EAAMD,MAAQ,GACdb,EAAQa,OAAQ,EAChBP,EAAQO,OAAQ,EAChBT,EAAIS,YAgBZP,QAAAA,EACAD,QAAAA,EACAqC,OAtCW,WACXxC,EAAMyC,OAAO,aAAc,UAsC3BC,MAnCU,WACV1C,EAAMyC,OAAO,aAAc,WAmC3BE,MAfU,WACV3C,EAAMyC,OAAO,aAAc,MAC3BzC,EAAMmC,SAAS,YAcf5B,mBAAAA,EACAE,mBAAAA,cCjKG,4BACI,4CAMgB,kBACI,iCACI,mBAShB,2BAQA,iBASJ,mGAnCnBmC,2BAAAC,GACIC,2BAAAC,oBAAsBC,8CACtBF,iCACeE,UAAQC,YAAcC,oCAAjCN,8BACIE,kCAAW,OAAOK,UAAQH,8BAA+BA,UAAQhB,YAAckB,iDAC/EE,iBAAYC,iBAAiB,QAAStC,OAAQmC,6BAA4BA,aAAahD,IAAKgD,MAAMhB,SAAQgB,aAC3FI,qBACP,kBAAAR,2BAAAS,GACIT,2BAAAU,GACIV,2BAAAW,GACIX,uDAAc,+BAA6DI,aAA5CxD,KAAK,4BAC7BsD,gGAO3BF,2BAAAY,GACIZ,qCAAc,SAAUa,sCAAOT,2DACxBF,kDAIfJ,8BACIE,gDAAME,uCACNF,2BAAAc,GACId,qCAAc,SAAUa,sCAAOT,yDACxBF,mDA1BLE,8BA+BdJ,iCACIA,kDAAQI,cACRJ,2BAAAe,GACIf,qCAAc,SAAUa,sCAAOT,yDACxBF,+CAJFE"}
1
+ {"version":3,"file":"Reset.js","sources":["../../../src/components/auth/Reset.vue","../../../src/components/auth/Reset.vue?vue&type=template&id=7cbc8208&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid || presetedResetToken\">\n <div class=\"mb-3\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject, watch } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n props: {\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n watch(presetedResetToken, (value) => {\n if (value) {\n model.value.token = value;\n }\n });\n\n watch(presetedResetEmail, (value) => {\n if (value) {\n model.value.email = value;\n }\n });\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password_confirmation') : '',\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close,\n presetedResetToken,\n presetedResetEmail\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid || presetedResetToken\">\n <div class=\"mb-3\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject, watch } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n props: {\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n watch(presetedResetToken, (value) => {\n if (value) {\n model.value.token = value;\n }\n });\n\n watch(presetedResetEmail, (value) => {\n if (value) {\n model.value.email = value;\n }\n });\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password') : '',\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password',\n placeholder: props.showPlaceholders ? __('auth.login.form.password_confirmation') : '',\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close,\n presetedResetToken,\n presetedResetEmail\n };\n }\n};\n</script>"],"names":["markRaw","FormPassword","FormText","SchemaForm","SchemaFormFactory","VeeValidatePlugin","name","props","showPlaceholders","type","Boolean","components","setup","loading","ref","store","useStore","key","message","reseted","instance","getCurrentInstance","presetedResetToken","inject","presetedResetEmail","watch","value","model","token","email","schema","password","component","label","__","placeholder","password_confirmation","validation","yup","object","shape","string","min","required","oneOf","parent","resetToken","resetEmail","useSchemaForm","onSubmit","dispatch","credentials","callback","m","isError","cancel","commit","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","tokenValid","$setup","innerHTML","_createVNode","schemaRowClasses","afterForm","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","onClick","_hoisted_10","_hoisted_11"],"mappings":"ynBAqDAA,UAAQC,WACRD,UAAQE,WAER,IAAMC,EAAaC,oBAAkB,CAACC,UAAkB,QAEzC,CACXC,KAAM,QACNC,MAAO,CACHC,iBAAkB,CACdC,KAAMC,iBACG,IAGjBC,WAAY,CACRR,WAAAA,GAEJS,eAAML,OACIM,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAUL,OAAI,GACdM,EAAWC,uBACXC,EAAqBC,SAAO,sBAC5BC,EAAqBD,SAAO,sBAElCE,QAAMH,GAAoB,SAACI,GACnBA,IACAC,EAAMD,MAAME,MAAQF,MAI5BD,QAAMD,GAAoB,SAACE,GACnBA,IACAC,EAAMD,MAAMG,MAAQH,UAItBI,EAAShB,MAAI,CACfiB,SAAU,CACNC,UAAW/B,UACXgC,MAAOC,GAAG,4BACVzB,KAAM,WACN0B,YAAa5B,EAAMC,iBAAmB0B,GAAG,4BAA8B,IAE3EE,sBAAuB,CACnBJ,UAAW9B,UACX+B,MAAOC,GAAG,yCACVzB,KAAM,WACN0B,YAAa5B,EAAMC,iBAAmB0B,GAAG,yCAA2C,MAItFG,EAAaC,EAAIC,SAASC,MAAM,CAClCT,SAAUO,EAAIG,SAASC,IAAI,EAAGR,GAAG,wBAAwBS,SAAST,GAAG,6BACrEE,sBAAuBE,EAAIG,SAASG,MAAM,CAACN,EAAIxB,IAAI,YAAa,MAAOoB,GAAG,4CAGxEP,EAAQb,MAAI,CACdiB,SAAU,GACVK,sBAAuB,GACvBR,MAAOR,EAASyB,OAAOtC,MAAMuC,WAC7BjB,MAAOT,EAASyB,OAAOtC,MAAMwC,aAGjCC,gBAAcrB,SAgCP,CACHd,QAAAA,EACAI,IAAAA,EACAa,OAAAA,EACAO,WAAAA,EACAY,SA3Ba,WACbpC,EAAQa,OAAQ,EAEhBX,EAAMmC,SAAS,sBAAuB,CAClCC,YAAaxB,EAAMD,MACnB0B,SAAU,SAACC,EAAGC,GACVpC,EAAQQ,MAAQ2B,WAEX,WACL1B,EAAMD,MAAQ,GACdb,EAAQa,OAAQ,EAChBP,EAAQO,OAAQ,EAChBT,EAAIS,YAgBZP,QAAAA,EACAD,QAAAA,EACAqC,OAtCW,WACXxC,EAAMyC,OAAO,aAAc,UAsC3BC,MAnCU,WACV1C,EAAMyC,OAAO,aAAc,WAmC3BE,MAfU,WACV3C,EAAMyC,OAAO,aAAc,MAC3BzC,EAAMmC,SAAS,YAcf5B,mBAAAA,EACAE,mBAAAA,cCjKG,4BACI,4CAMgB,kBACI,iCACI,mBAShB,2BAQA,iBASJ,mGAnCnBmC,2BAAAC,GACIC,2BAAAC,oBAAsBC,8CACtBF,iCACeE,UAAQC,YAAcC,oCAAjCN,8BACIE,kCAAW,OAAOK,UAAQH,8BAA+BA,UAAQhB,YAAckB,kCAC/EE,iBAAYC,iBAAiB,QAAStC,OAAQmC,6BAA4BA,aAAahD,IAAKgD,MAAMhB,SAAQgB,aAC3FI,qBACP,kBAAAR,2BAAAS,GACIT,2BAAAU,GACIV,2BAAAW,GACIX,uDAAc,+BAA6DI,aAA5CxD,KAAK,4BAC7BsD,+FAO3BF,2BAAAY,GACIZ,qCAAc,SAAUa,sCAAOT,2DACxBF,kDAIfJ,8BACIE,gDAAME,uCACNF,2BAAAc,GACId,qCAAc,SAAUa,sCAAOT,yDACxBF,mDA1BLE,8BA+BdJ,iCACIA,kDAAQI,cACRJ,2BAAAe,GACIf,qCAAc,SAAUa,sCAAOT,yDACxBF,+CAJFE"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=e.defineComponent({name:"catalog",setup:function(){var t=e.ref(null),n=[],o=function(){document.querySelectorAll("#subcategory > div").forEach((function(e){e.remove()}))},a=function(){window.disableScrollTopAfterCatalogLoad||window.scrollTo({top:0,left:0,behavior:"smooth"}),window.lazyImages&&window.lazyImages.update(),window.catalogFilterCallback&&window.catalogFilterCallback(),document.documentElement.classList.remove("is-catalog-loading"),r()},c=function(c,r){var i=function(e){var t=e.hash?e.hash.substring(1):"",n=e.pathname.replace(/\/$/,"");return n=t?-1!==e.pathname.indexOf(":")?n+";"+t:n+"/"+t:n,$env.shop.isTrailingSlash&&(n+="/"),e.origin+n+(e.search?e.search+"&filter":"?filter")}(c),l=function(e){return e.replace(/[^a-z0-9]/g,"")}(i);-1===n.indexOf(l)?(document.documentElement.classList.add("is-catalog-loading"),$http.get(i).then((function(i){var u=document.createElement("html");if(u.innerHTML=i.data.page,window.app.component(l,{template:u.querySelector("#subcategory").innerHTML}),o(),n.push(l),t.value=l,!window.prevent_applied_filter_track){var d={event:"applied_filter"};window.custom_page_type&&(d.custom_page_type=window.custom_page_type),$env.debug.ecommerce&&console.log(d),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(d))}r||history.pushState({urlPath:c.href,source:"catalog"},document.title,c.href),e.nextTick(a)})).catch((function(e){console.error(e)})).finally((function(){document.documentElement.classList.remove("is-catalog-loading")}))):(o(),t.value=l,r||history.pushState({urlPath:c.href,source:"catalog"},document.title,c.href),e.nextTick(a))},r=function(){document.querySelectorAll("[shop-filter] a").forEach((function(e){e.addEventListener("click",(function(t){t.preventDefault(),c(e)}))}))},i=function(){var e=document.createElement("a");e.href=window.location.href,c(e,!0)};return window.onpageshow=function(e){e.persisted&&window.location.reload()},window.addEventListener("DOMContentLoaded",(function(){r(),window.addEventListener("popstate",(function(e){e.state&&"catalog"==e.state.source&&i()})),window.location.hash&&i()})),{page:t}}});t.render=function(t,n,o,a,c,r){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.page))},module.exports=t;
1
+ "use strict";var e=require("vue"),t=e.defineComponent({name:"catalog",setup:function(){var t=e.ref(null),n=[],o=function(){document.querySelectorAll("#subcategory > div").forEach((function(e){e.remove()}))},a=function(){window.disableScrollTopAfterCatalogLoad||window.scrollTo({top:0,left:0,behavior:"smooth"}),window.lazyImages&&window.lazyImages.update(),window.catalogFilterCallback&&window.catalogFilterCallback(),document.documentElement.classList.remove("is-catalog-loading"),r()},c=function(c,r){var i=function(e){var t=e.hash?e.hash.substring(1):"",n=e.pathname.replace(/\/$/,"");return n=t?-1!==e.pathname.indexOf(":")?n+";"+t:n+"/"+t:n,$env.shop.isTrailingSlash&&(n+="/"),e.origin+n+(e.search?e.search+"&filter":"?filter")}(c),l=function(e){return e.replace(/[^a-z0-9]/g,"")}(i);-1===n.indexOf(l)?(document.documentElement.classList.add("is-catalog-loading"),$http.get(i).then((function(i){var u=document.createElement("html");u.innerHTML=i.data.page,window.app.component(l,{template:u.querySelector("#subcategory").innerHTML}),o(),n.push(l),t.value=l;var d={event:"applied_filter"};window.custom_page_type&&(d.custom_page_type=window.custom_page_type),$env.debug.ecommerce&&console.log(d),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(d)),r||history.pushState({urlPath:c.href,source:"catalog"},document.title,c.href),e.nextTick(a)})).catch((function(e){console.error(e)})).finally((function(){document.documentElement.classList.remove("is-catalog-loading")}))):(o(),t.value=l,r||history.pushState({urlPath:c.href,source:"catalog"},document.title,c.href),e.nextTick(a))},r=function(){document.querySelectorAll("[shop-filter] a").forEach((function(e){e.addEventListener("click",(function(t){t.preventDefault(),c(e)}))}))},i=function(){var e=document.createElement("a");e.href=window.location.href,c(e,!0)};return window.onpageshow=function(e){e.persisted&&window.location.reload()},window.addEventListener("DOMContentLoaded",(function(){r(),window.addEventListener("popstate",(function(e){e.state&&"catalog"==e.state.source&&i()})),window.location.hash&&i()})),{page:t}}});t.render=function(t,n,o,a,c,r){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.page))},module.exports=t;
2
2
  //# sourceMappingURL=Catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Catalog.js","sources":["../../../src/components/shop/Catalog.vue","../../../src/components/shop/Catalog.vue?vue&type=template&id=7b55c54e&lang.js"],"sourcesContent":["<template>\n <component :is=\"page\"></component>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n name: 'catalog',\n setup() {\n const page = ref(null);\n const pages = [];\n\n const getPageName = (href) => {\n return href.replace(/[^a-z0-9]/g, '');\n };\n\n const clearContainer = () => {\n document.querySelectorAll('#subcategory > div').forEach((element) => {\n element.remove();\n });\n };\n\n const after = () => {\n if (!window.disableScrollTopAfterCatalogLoad) {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.catalogFilterCallback) {\n window.catalogFilterCallback();\n }\n\n document.documentElement.classList.remove('is-catalog-loading');\n\n init();\n };\n\n const parseFilterHref = (a) => {\n const hash = a.hash ? a.hash.substring(1) : '';\n\n let pathname = a.pathname.replace(/\\/$/, '');\n\n pathname = hash ? (a.pathname.indexOf(':') !== -1 ? pathname + ';' + hash : pathname + '/' + hash) : pathname;\n\n if ($env.shop.isTrailingSlash) {\n pathname = pathname + '/';\n }\n\n const href = a.origin + pathname + (a.search ? a.search + '&filter' : '?filter');\n\n return href;\n };\n\n const get = (a, ignoreHistory) => {\n const href = parseFilterHref(a);\n\n const componentName = getPageName(href);\n\n if (pages.indexOf(componentName) === -1) {\n document.documentElement.classList.add('is-catalog-loading');\n\n $http\n .get(href)\n .then((response) => {\n let html = document.createElement('html');\n\n html.innerHTML = response.data.page;\n\n window.app.component(componentName, {\n template: html.querySelector('#subcategory').innerHTML\n });\n\n clearContainer();\n\n pages.push(componentName);\n\n page.value = componentName;\n\n if (!window.prevent_applied_filter_track) {\n let object = {\n 'event': 'applied_filter',\n };\n\n if (window.custom_page_type) {\n object.custom_page_type = window.custom_page_type;\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 if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n })\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n document.documentElement.classList.remove('is-catalog-loading');\n });\n } else {\n clearContainer();\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n }\n };\n\n const init = () => {\n document.querySelectorAll('[shop-filter] a').forEach((a) => {\n a.addEventListener('click', (e) => {\n e.preventDefault();\n\n get(a);\n });\n });\n };\n\n const refresh = () => {\n const a = document.createElement('a');\n a.href = window.location.href;\n\n get(a, true);\n };\n\n window.onpageshow = function (event) {\n if (event.persisted) {\n window.location.reload();\n }\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n init();\n\n window.addEventListener('popstate', (e) => {\n if (e.state && e.state.source == 'catalog') {\n refresh();\n }\n });\n\n if (window.location.hash) {\n refresh();\n }\n });\n\n return {\n page\n };\n }\n});\n</script>","<template>\n <component :is=\"page\"></component>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n name: 'catalog',\n setup() {\n const page = ref(null);\n const pages = [];\n\n const getPageName = (href) => {\n return href.replace(/[^a-z0-9]/g, '');\n };\n\n const clearContainer = () => {\n document.querySelectorAll('#subcategory > div').forEach((element) => {\n element.remove();\n });\n };\n\n const after = () => {\n if (!window.disableScrollTopAfterCatalogLoad) {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.catalogFilterCallback) {\n window.catalogFilterCallback();\n }\n\n document.documentElement.classList.remove('is-catalog-loading');\n\n init();\n };\n\n const parseFilterHref = (a) => {\n const hash = a.hash ? a.hash.substring(1) : '';\n\n let pathname = a.pathname.replace(/\\/$/, '');\n\n pathname = hash ? (a.pathname.indexOf(':') !== -1 ? pathname + ';' + hash : pathname + '/' + hash) : pathname;\n\n if ($env.shop.isTrailingSlash) {\n pathname = pathname + '/';\n }\n\n const href = a.origin + pathname + (a.search ? a.search + '&filter' : '?filter');\n\n return href;\n };\n\n const get = (a, ignoreHistory) => {\n const href = parseFilterHref(a);\n\n const componentName = getPageName(href);\n\n if (pages.indexOf(componentName) === -1) {\n document.documentElement.classList.add('is-catalog-loading');\n\n $http\n .get(href)\n .then((response) => {\n let html = document.createElement('html');\n\n html.innerHTML = response.data.page;\n\n window.app.component(componentName, {\n template: html.querySelector('#subcategory').innerHTML\n });\n\n clearContainer();\n\n pages.push(componentName);\n\n page.value = componentName;\n\n if (!window.prevent_applied_filter_track) {\n let object = {\n 'event': 'applied_filter',\n };\n\n if (window.custom_page_type) {\n object.custom_page_type = window.custom_page_type;\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 if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n })\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n document.documentElement.classList.remove('is-catalog-loading');\n });\n } else {\n clearContainer();\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n }\n };\n\n const init = () => {\n document.querySelectorAll('[shop-filter] a').forEach((a) => {\n a.addEventListener('click', (e) => {\n e.preventDefault();\n\n get(a);\n });\n });\n };\n\n const refresh = () => {\n const a = document.createElement('a');\n a.href = window.location.href;\n\n get(a, true);\n };\n\n window.onpageshow = function (event) {\n if (event.persisted) {\n window.location.reload();\n }\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n init();\n\n window.addEventListener('popstate', (e) => {\n if (e.state && e.state.source == 'catalog') {\n refresh();\n }\n });\n\n if (window.location.hash) {\n refresh();\n }\n });\n\n return {\n page\n };\n }\n});\n</script>"],"names":["defineComponent","name","setup","page","ref","pages","clearContainer","document","querySelectorAll","forEach","element","remove","after","window","disableScrollTopAfterCatalogLoad","scrollTo","top","left","behavior","lazyImages","update","catalogFilterCallback","documentElement","classList","init","get","a","ignoreHistory","href","hash","substring","pathname","replace","indexOf","$env","shop","isTrailingSlash","origin","search","parseFilterHref","componentName","getPageName","add","$http","then","response","html","createElement","innerHTML","data","app","component","template","querySelector","push","value","prevent_applied_filter_track","object","custom_page_type","debug","ecommerce","console","log","dataLayer","history","pushState","urlPath","source","title","nextTick","error","addEventListener","e","preventDefault","refresh","location","onpageshow","event","persisted","reload","state","_createBlock","_ctx"],"mappings":"oCAMeA,kBAAgB,CAC3BC,KAAM,UACNC,qBACUC,EAAOC,MAAI,MACXC,EAAQ,GAMRC,EAAiB,WACnBC,SAASC,iBAAiB,sBAAsBC,SAAQ,SAACC,GACrDA,EAAQC,aAIVC,EAAQ,WACLC,OAAOC,kCACRD,OAAOE,SAAS,CACZC,IAAK,EACLC,KAAM,EACNC,SAAU,WAIdL,OAAOM,YACPN,OAAOM,WAAWC,SAGlBP,OAAOQ,uBACPR,OAAOQ,wBAGXd,SAASe,gBAAgBC,UAAUZ,OAAO,sBAE1Ca,KAmBEC,EAAM,SAACC,EAAGC,OACNC,EAjBc,SAACF,OACfG,EAAOH,EAAEG,KAAOH,EAAEG,KAAKC,UAAU,GAAK,GAExCC,EAAWL,EAAEK,SAASC,QAAQ,MAAO,WAEzCD,EAAWF,GAAqC,IAA7BH,EAAEK,SAASE,QAAQ,KAAcF,EAAW,IAAMF,EAAOE,EAAW,IAAMF,EAAQE,EAEjGG,KAAKC,KAAKC,kBACVL,GAAsB,KAGbL,EAAEW,OAASN,GAAYL,EAAEY,OAASZ,EAAEY,OAAS,UAAY,WAMzDC,CAAgBb,GAEvBc,EAnDU,SAACZ,UACVA,EAAKI,QAAQ,aAAc,IAkDZS,CAAYb,IAEI,IAAlCvB,EAAM4B,QAAQO,IACdjC,SAASe,gBAAgBC,UAAUmB,IAAI,sBAEvCC,MACKlB,IAAIG,GACJgB,MAAK,SAACC,OACCC,EAAOvC,SAASwC,cAAc,WAElCD,EAAKE,UAAYH,EAASI,KAAK9C,KAE/BU,OAAOqC,IAAIC,UAAUX,EAAe,CAChCY,SAAUN,EAAKO,cAAc,gBAAgBL,YAGjD1C,IAEAD,EAAMiD,KAAKd,GAEXrC,EAAKoD,MAAQf,GAER3B,OAAO2C,6BAA8B,KAClCC,EAAS,OACA,kBAGT5C,OAAO6C,mBACPD,EAAOC,iBAAmB7C,OAAO6C,kBAGjCxB,KAAKyB,MAAMC,WACXC,QAAQC,IAAIL,IAGXvB,KAAKyB,MAAMC,WAAa/C,OAAOkD,YAChClD,OAAOkD,UAAUT,KAAK,CAClBM,UAAW,OAGf/C,OAAOkD,UAAUT,KAAKG,IAIzB9B,GACDqC,QAAQC,UAAU,CAAEC,QAASxC,EAAEE,KAAMuC,OAAQ,WAAa5D,SAAS6D,MAAO1C,EAAEE,MAGhFyC,WAASzD,aAEN,SAAC0D,GACJT,QAAQS,MAAMA,eAET,WACL/D,SAASe,gBAAgBC,UAAUZ,OAAO,2BAGlDL,IAEAH,EAAKoD,MAAQf,EAERb,GACDqC,QAAQC,UAAU,CAAEC,QAASxC,EAAEE,KAAMuC,OAAQ,WAAa5D,SAAS6D,MAAO1C,EAAEE,MAGhFyC,WAASzD,KAIXY,EAAO,WACTjB,SAASC,iBAAiB,mBAAmBC,SAAQ,SAACiB,GAClDA,EAAE6C,iBAAiB,SAAS,SAACC,GACzBA,EAAEC,iBAEFhD,EAAIC,UAKVgD,EAAU,eACNhD,EAAInB,SAASwC,cAAc,KACjCrB,EAAEE,KAAOf,OAAO8D,SAAS/C,KAEzBH,EAAIC,GAAG,WAGXb,OAAO+D,WAAa,SAAUC,GACtBA,EAAMC,WACNjE,OAAO8D,SAASI,UAIxBlE,OAAO0D,iBAAiB,oBAAoB,WACxC/C,IAEAX,OAAO0D,iBAAiB,YAAY,SAACC,GAC7BA,EAAEQ,OAA2B,WAAlBR,EAAEQ,MAAMb,QACnBO,OAIJ7D,OAAO8D,SAAS9C,MAChB6C,OAID,CACHvE,KAAAA,0DCzKR8E,wCAAgBC"}
1
+ {"version":3,"file":"Catalog.js","sources":["../../../src/components/shop/Catalog.vue","../../../src/components/shop/Catalog.vue?vue&type=template&id=e2a58212&lang.js"],"sourcesContent":["<template>\n <component :is=\"page\"></component>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n name: 'catalog',\n setup() {\n const page = ref(null);\n const pages = [];\n\n const getPageName = (href) => {\n return href.replace(/[^a-z0-9]/g, '');\n };\n\n const clearContainer = () => {\n document.querySelectorAll('#subcategory > div').forEach((element) => {\n element.remove();\n });\n };\n\n const after = () => {\n if (!window.disableScrollTopAfterCatalogLoad) {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.catalogFilterCallback) {\n window.catalogFilterCallback();\n }\n\n document.documentElement.classList.remove('is-catalog-loading');\n\n init();\n };\n\n const parseFilterHref = (a) => {\n const hash = a.hash ? a.hash.substring(1) : '';\n\n let pathname = a.pathname.replace(/\\/$/, '');\n\n pathname = hash ? (a.pathname.indexOf(':') !== -1 ? pathname + ';' + hash : pathname + '/' + hash) : pathname;\n\n if ($env.shop.isTrailingSlash) {\n pathname = pathname + '/';\n }\n\n const href = a.origin + pathname + (a.search ? a.search + '&filter' : '?filter');\n\n return href;\n };\n\n const get = (a, ignoreHistory) => {\n const href = parseFilterHref(a);\n\n const componentName = getPageName(href);\n\n if (pages.indexOf(componentName) === -1) {\n document.documentElement.classList.add('is-catalog-loading');\n\n $http\n .get(href)\n .then((response) => {\n let html = document.createElement('html');\n\n html.innerHTML = response.data.page;\n\n window.app.component(componentName, {\n template: html.querySelector('#subcategory').innerHTML\n });\n\n clearContainer();\n\n pages.push(componentName);\n\n page.value = componentName;\n\n let object = {\n 'event': 'applied_filter',\n };\n\n if (window.custom_page_type) {\n object.custom_page_type = window.custom_page_type;\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 if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n })\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n document.documentElement.classList.remove('is-catalog-loading');\n });\n } else {\n clearContainer();\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n }\n };\n\n const init = () => {\n document.querySelectorAll('[shop-filter] a').forEach((a) => {\n a.addEventListener('click', (e) => {\n e.preventDefault();\n\n get(a);\n });\n });\n };\n\n const refresh = () => {\n const a = document.createElement('a');\n a.href = window.location.href;\n\n get(a, true);\n };\n\n window.onpageshow = function (event) {\n if (event.persisted) {\n window.location.reload();\n }\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n init();\n\n window.addEventListener('popstate', (e) => {\n if (e.state && e.state.source == 'catalog') {\n refresh();\n }\n });\n\n if (window.location.hash) {\n refresh();\n }\n });\n\n return {\n page\n };\n }\n});\n</script>","<template>\n <component :is=\"page\"></component>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\n\nexport default defineComponent({\n name: 'catalog',\n setup() {\n const page = ref(null);\n const pages = [];\n\n const getPageName = (href) => {\n return href.replace(/[^a-z0-9]/g, '');\n };\n\n const clearContainer = () => {\n document.querySelectorAll('#subcategory > div').forEach((element) => {\n element.remove();\n });\n };\n\n const after = () => {\n if (!window.disableScrollTopAfterCatalogLoad) {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.catalogFilterCallback) {\n window.catalogFilterCallback();\n }\n\n document.documentElement.classList.remove('is-catalog-loading');\n\n init();\n };\n\n const parseFilterHref = (a) => {\n const hash = a.hash ? a.hash.substring(1) : '';\n\n let pathname = a.pathname.replace(/\\/$/, '');\n\n pathname = hash ? (a.pathname.indexOf(':') !== -1 ? pathname + ';' + hash : pathname + '/' + hash) : pathname;\n\n if ($env.shop.isTrailingSlash) {\n pathname = pathname + '/';\n }\n\n const href = a.origin + pathname + (a.search ? a.search + '&filter' : '?filter');\n\n return href;\n };\n\n const get = (a, ignoreHistory) => {\n const href = parseFilterHref(a);\n\n const componentName = getPageName(href);\n\n if (pages.indexOf(componentName) === -1) {\n document.documentElement.classList.add('is-catalog-loading');\n\n $http\n .get(href)\n .then((response) => {\n let html = document.createElement('html');\n\n html.innerHTML = response.data.page;\n\n window.app.component(componentName, {\n template: html.querySelector('#subcategory').innerHTML\n });\n\n clearContainer();\n\n pages.push(componentName);\n\n page.value = componentName;\n\n let object = {\n 'event': 'applied_filter',\n };\n\n if (window.custom_page_type) {\n object.custom_page_type = window.custom_page_type;\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 if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n })\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n document.documentElement.classList.remove('is-catalog-loading');\n });\n } else {\n clearContainer();\n\n page.value = componentName;\n\n if (!ignoreHistory) {\n history.pushState({ urlPath: a.href, source: 'catalog' }, document.title, a.href);\n }\n\n nextTick(after);\n }\n };\n\n const init = () => {\n document.querySelectorAll('[shop-filter] a').forEach((a) => {\n a.addEventListener('click', (e) => {\n e.preventDefault();\n\n get(a);\n });\n });\n };\n\n const refresh = () => {\n const a = document.createElement('a');\n a.href = window.location.href;\n\n get(a, true);\n };\n\n window.onpageshow = function (event) {\n if (event.persisted) {\n window.location.reload();\n }\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n init();\n\n window.addEventListener('popstate', (e) => {\n if (e.state && e.state.source == 'catalog') {\n refresh();\n }\n });\n\n if (window.location.hash) {\n refresh();\n }\n });\n\n return {\n page\n };\n }\n});\n</script>"],"names":["defineComponent","name","setup","page","ref","pages","clearContainer","document","querySelectorAll","forEach","element","remove","after","window","disableScrollTopAfterCatalogLoad","scrollTo","top","left","behavior","lazyImages","update","catalogFilterCallback","documentElement","classList","init","get","a","ignoreHistory","href","hash","substring","pathname","replace","indexOf","$env","shop","isTrailingSlash","origin","search","parseFilterHref","componentName","getPageName","add","$http","then","response","html","createElement","innerHTML","data","app","component","template","querySelector","push","value","object","custom_page_type","debug","ecommerce","console","log","dataLayer","history","pushState","urlPath","source","title","nextTick","error","addEventListener","e","preventDefault","refresh","location","onpageshow","event","persisted","reload","state","_createBlock","_ctx"],"mappings":"oCAMeA,kBAAgB,CAC3BC,KAAM,UACNC,qBACUC,EAAOC,MAAI,MACXC,EAAQ,GAMRC,EAAiB,WACnBC,SAASC,iBAAiB,sBAAsBC,SAAQ,SAACC,GACrDA,EAAQC,aAIVC,EAAQ,WACLC,OAAOC,kCACRD,OAAOE,SAAS,CACZC,IAAK,EACLC,KAAM,EACNC,SAAU,WAIdL,OAAOM,YACPN,OAAOM,WAAWC,SAGlBP,OAAOQ,uBACPR,OAAOQ,wBAGXd,SAASe,gBAAgBC,UAAUZ,OAAO,sBAE1Ca,KAmBEC,EAAM,SAACC,EAAGC,OACNC,EAjBc,SAACF,OACfG,EAAOH,EAAEG,KAAOH,EAAEG,KAAKC,UAAU,GAAK,GAExCC,EAAWL,EAAEK,SAASC,QAAQ,MAAO,WAEzCD,EAAWF,GAAqC,IAA7BH,EAAEK,SAASE,QAAQ,KAAcF,EAAW,IAAMF,EAAOE,EAAW,IAAMF,EAAQE,EAEjGG,KAAKC,KAAKC,kBACVL,GAAsB,KAGbL,EAAEW,OAASN,GAAYL,EAAEY,OAASZ,EAAEY,OAAS,UAAY,WAMzDC,CAAgBb,GAEvBc,EAnDU,SAACZ,UACVA,EAAKI,QAAQ,aAAc,IAkDZS,CAAYb,IAEI,IAAlCvB,EAAM4B,QAAQO,IACdjC,SAASe,gBAAgBC,UAAUmB,IAAI,sBAEvCC,MACKlB,IAAIG,GACJgB,MAAK,SAACC,OACCC,EAAOvC,SAASwC,cAAc,QAElCD,EAAKE,UAAYH,EAASI,KAAK9C,KAE/BU,OAAOqC,IAAIC,UAAUX,EAAe,CAChCY,SAAUN,EAAKO,cAAc,gBAAgBL,YAGjD1C,IAEAD,EAAMiD,KAAKd,GAEXrC,EAAKoD,MAAQf,MAETgB,EAAS,OACA,kBAGT3C,OAAO4C,mBACPD,EAAOC,iBAAmB5C,OAAO4C,kBAGjCvB,KAAKwB,MAAMC,WACXC,QAAQC,IAAIL,IAGXtB,KAAKwB,MAAMC,WAAa9C,OAAOiD,YAChCjD,OAAOiD,UAAUR,KAAK,CAClBK,UAAW,OAGf9C,OAAOiD,UAAUR,KAAKE,IAGrB7B,GACDoC,QAAQC,UAAU,CAAEC,QAASvC,EAAEE,KAAMsC,OAAQ,WAAa3D,SAAS4D,MAAOzC,EAAEE,MAGhFwC,WAASxD,aAEN,SAACyD,GACJT,QAAQS,MAAMA,eAET,WACL9D,SAASe,gBAAgBC,UAAUZ,OAAO,2BAGlDL,IAEAH,EAAKoD,MAAQf,EAERb,GACDoC,QAAQC,UAAU,CAAEC,QAASvC,EAAEE,KAAMsC,OAAQ,WAAa3D,SAAS4D,MAAOzC,EAAEE,MAGhFwC,WAASxD,KAIXY,EAAO,WACTjB,SAASC,iBAAiB,mBAAmBC,SAAQ,SAACiB,GAClDA,EAAE4C,iBAAiB,SAAS,SAACC,GACzBA,EAAEC,iBAEF/C,EAAIC,UAKV+C,EAAU,eACN/C,EAAInB,SAASwC,cAAc,KACjCrB,EAAEE,KAAOf,OAAO6D,SAAS9C,KAEzBH,EAAIC,GAAG,WAGXb,OAAO8D,WAAa,SAAUC,GACtBA,EAAMC,WACNhE,OAAO6D,SAASI,UAIxBjE,OAAOyD,iBAAiB,oBAAoB,WACxC9C,IAEAX,OAAOyD,iBAAiB,YAAY,SAACC,GAC7BA,EAAEQ,OAA2B,WAAlBR,EAAEQ,MAAMb,QACnBO,OAIJ5D,OAAO6D,SAAS7C,MAChB4C,OAID,CACHtE,KAAAA,0DCvKR6E,wCAAgBC"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),i=require("swiper");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(i),d=e.defineComponent({props:{id:Number,type:{type:String,default:"promo-products"}},setup:function(t){var d=!1,a=e.ref(!1),n=e.ref(null),r=e.ref(null),l=function(e){e.forEach((function(e){e.isIntersecting&&(d||(d=!0,s()))}))},s=function(){$http.post($ziggy("api.piece",{slug:t.type}),{id:t.id}).then((function(d){var l="piece-promo-products-"+t.id;window.app.component(l,{template:d.data?d.data:"<i></i>"}),r.value=l,a.value=!0,e.nextTick((function(){var e=n.value.querySelectorAll(".is-faded-tabs");e.length&&e.forEach((function(e){new o.default(e.querySelector(".swiper"),{slidesPerView:"auto",freeMode:{enabled:!0},mousewheel:{forceToAxis:!0},modules:[i.Navigation,i.Mousewheel,i.FreeMode]})}));var t=n.value.querySelectorAll(".is-faded-tabs .swiper-slide"),d=n.value.querySelectorAll("[products-slider]");t.forEach((function(e,i){e.addEventListener("click",(function(){t.forEach((function(e){e.classList.remove("is-active")})),d.forEach((function(e){e.classList.add("is-hidden")})),d[i].classList.remove("is-hidden"),e.classList.add("is-active")}))})),d.length&&d.forEach((function(e){new o.default(e,window.viewedSwiperOptions)})),window.lazyImages&&window.lazyImages.update(),window.promoCodeCallback&&"function"==typeof window.promoCodeCallback&&window.promoCodeCallback(n.value)}))}))};return window.addEventListener("DOMContentLoaded",(function(){new IntersectionObserver(l,{threshold:.1}).observe(n.value)})),{container:n,component:r,loaded:a}}}),a={ref:"container"},n={key:0,class:"product-promo-block container is-fluid is-skeleton"},r=e.createStaticVNode('<div class="gradient"></div><div class="title slider-title"> </div><div class="is-faded-tabs"><div class="is-flex"><div class="swiper-slide"> </div><div class="swiper-slide"> </div></div></div>',3),l={class:"swiper"},s={class:"swiper-wrapper products is-slider"},c=[e.createStaticVNode('<div class="border"><div class="wrapper"><picture class="is-lazy-loaded"><img class="lazy entered loaded" src="/images/blank.png"></picture><div class="availability"> </div><div class="title"> </div><div class="prices"><div class="price"></div></div></div></div>',1)];d.render=function(i,t,o,d,u,p){return e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(i.$slots,"default",{loaded:i.loaded},(function(){return[i.loaded?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("section",n,[r,e.createElementVNode("div",l,[e.createElementVNode("div",s,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,(function(i){return e.createElementVNode("div",{class:"product",key:i},c)})),64))])])]))]})),i.loaded?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.component),{key:0})):e.createCommentVNode("v-if",!0)],512)},module.exports=d;
1
+ "use strict";var e=require("vue"),i=require("swiper");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(i),d=e.defineComponent({props:{id:Number,type:{type:String,default:"promo-products"}},setup:function(t){var d=!1,a=e.ref(!1),n=e.ref(null),l=e.ref(null),r=function(e){e.forEach((function(e){e.isIntersecting&&(d||(d=!0,s()))}))},s=function(){$http.post($ziggy("api.piece",{slug:t.type}),{id:t.id}).then((function(d){var r="piece-promo-products-"+t.id;window.app.component(r,{template:d.data?d.data:"<i></i>"}),l.value=r,a.value=!0,e.nextTick((function(){var e=n.value.querySelectorAll(".is-faded-tabs");e.length&&e.forEach((function(e){new o.default(e.querySelector(".swiper"),{slidesPerView:"auto",freeMode:{enabled:!0},mousewheel:{forceToAxis:!0},modules:[i.Navigation,i.Mousewheel,i.FreeMode]})}));var t=n.value.querySelectorAll(".is-faded-tabs .swiper-slide"),d=n.value.querySelectorAll("[products-slider]");t.forEach((function(e,i){e.addEventListener("click",(function(){t.forEach((function(e){e.classList.remove("is-active")})),d.forEach((function(e){e.classList.add("is-hidden")})),d[i].classList.remove("is-hidden"),e.classList.add("is-active")}))})),d.length&&d.forEach((function(e){new o.default(e,window.viewedSwiperOptions)})),window.lazyImages&&window.lazyImages.update(),window.promoCodeCallback&&"function"==typeof window.promoCodeCallback&&window.promoCodeCallback(n.value)}))}))};return window.addEventListener("DOMContentLoaded",(function(){new IntersectionObserver(r,{threshold:.1}).observe(n.value)})),{container:n,component:l,loaded:a}}}),a={ref:"container"},n={key:0,class:"product-promo-block container is-fluid is-skeleton"},l=e.createStaticVNode('<div class="gradient"></div><div class="title slider-title"> </div><div class="is-faded-tabs"><div class="is-flex"><div class="swiper-slide"> </div><div class="swiper-slide"> </div></div></div>',3),r={class:"swiper"},s={class:"swiper-wrapper products is-slider"},c=[e.createStaticVNode('<div class="border"><div class="wrapper"><picture class="is-lazy-loaded"><img class="lazy entered loaded" src="/images/blank.png" alt="skeleton"></picture><div class="availability"> </div><div class="title"> </div><div class="prices"><div class="price"></div></div></div></div>',1)];d.render=function(i,t,o,d,u,p){return e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(i.$slots,"default",{loaded:i.loaded},(function(){return[i.loaded?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("section",n,[l,e.createElementVNode("div",r,[e.createElementVNode("div",s,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,(function(i){return e.createElementVNode("div",{class:"product",key:i},c)})),64))])])]))]})),i.loaded?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.component),{key:0})):e.createCommentVNode("v-if",!0)],512)},module.exports=d;
2
2
  //# sourceMappingURL=PromoProducts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PromoProducts.js","sources":["../../../src/components/shop/PromoProducts.vue","../../../src/components/shop/PromoProducts.vue?vue&type=template&id=19b8d6dc&lang.js"],"sourcesContent":["<template>\n <div ref=\"container\">\n <slot :loaded=\"loaded\">\n <section class=\"product-promo-block container is-fluid is-skeleton\" v-if=\"!loaded\">\n <div class=\"gradient\"></div>\n <div class=\"title slider-title\">&nbsp;</div>\n <div class=\"is-faded-tabs\">\n <div class=\"is-flex\">\n <div class=\"swiper-slide\">&nbsp;</div>\n <div class=\"swiper-slide\">&nbsp;</div>\n </div>\n </div>\n <div class=\"swiper\">\n <div class=\"swiper-wrapper products is-slider\">\n <div class=\"product\" v-for=\"index in 5\" :key=\"index\">\n <div class=\"border\">\n <div class=\"wrapper\">\n <picture class=\"is-lazy-loaded\">\n <img class=\"lazy entered loaded\" src=\"/images/blank.png\" />\n </picture>\n <div class=\"availability\">&nbsp;</div>\n <div class=\"title\">&nbsp;</div>\n <div class=\"prices\">\n <div class=\"price\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n </slot>\n <component :is=\"component\" v-if=\"loaded\"></component>\n </div>\n</template>\n<script>\nimport { ref, nextTick, defineComponent } from 'vue';\nimport Swiper, { Navigation, Mousewheel, FreeMode } from 'swiper';\n\nexport default defineComponent({\n props: {\n id: Number,\n type: {\n type: String,\n default: 'promo-products'\n }\n },\n setup(props) {\n let inited = false;\n\n const loaded = ref(false);\n const container = ref(null);\n const component = ref(null);\n\n const callback = (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!inited) {\n inited = true;\n\n load();\n }\n }\n });\n };\n\n const load = () => {\n $http\n .post($ziggy('api.piece', { slug: props.type }), {\n id: props.id\n })\n .then((response) => {\n const componentName = 'piece-promo-products-' + props.id;\n\n window.app.component(componentName, {\n template: response.data ? response.data : '<i></i>'\n });\n\n component.value = componentName;\n loaded.value = true;\n\n nextTick(() => {\n const fadedTabs = container.value.querySelectorAll('.is-faded-tabs');\n\n if (fadedTabs.length) {\n fadedTabs.forEach((tab) => {\n new Swiper(tab.querySelector('.swiper'), {\n slidesPerView: 'auto',\n freeMode: {\n enabled: true\n },\n mousewheel: {\n forceToAxis: true\n },\n modules: [Navigation, Mousewheel, FreeMode]\n });\n });\n }\n\n const tabs = container.value.querySelectorAll('.is-faded-tabs .swiper-slide');\n const sliders = container.value.querySelectorAll('[products-slider]');\n\n tabs.forEach((tab, index) => {\n tab.addEventListener('click', () => {\n tabs.forEach((tab) => {\n tab.classList.remove('is-active');\n });\n\n sliders.forEach((slider) => {\n slider.classList.add('is-hidden');\n });\n\n sliders[index].classList.remove('is-hidden');\n tab.classList.add('is-active');\n });\n });\n\n if (sliders.length) {\n sliders.forEach((slider) => {\n new Swiper(slider, window.viewedSwiperOptions);\n });\n }\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.promoCodeCallback && typeof window.promoCodeCallback === 'function') {\n window.promoCodeCallback(container.value);\n }\n });\n });\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n new IntersectionObserver(callback, {\n threshold: 0.1\n }).observe(container.value);\n });\n\n return {\n container,\n component,\n loaded\n };\n }\n});\n</script>\n","<template>\n <div ref=\"container\">\n <slot :loaded=\"loaded\">\n <section class=\"product-promo-block container is-fluid is-skeleton\" v-if=\"!loaded\">\n <div class=\"gradient\"></div>\n <div class=\"title slider-title\">&nbsp;</div>\n <div class=\"is-faded-tabs\">\n <div class=\"is-flex\">\n <div class=\"swiper-slide\">&nbsp;</div>\n <div class=\"swiper-slide\">&nbsp;</div>\n </div>\n </div>\n <div class=\"swiper\">\n <div class=\"swiper-wrapper products is-slider\">\n <div class=\"product\" v-for=\"index in 5\" :key=\"index\">\n <div class=\"border\">\n <div class=\"wrapper\">\n <picture class=\"is-lazy-loaded\">\n <img class=\"lazy entered loaded\" src=\"/images/blank.png\" />\n </picture>\n <div class=\"availability\">&nbsp;</div>\n <div class=\"title\">&nbsp;</div>\n <div class=\"prices\">\n <div class=\"price\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n </slot>\n <component :is=\"component\" v-if=\"loaded\"></component>\n </div>\n</template>\n<script>\nimport { ref, nextTick, defineComponent } from 'vue';\nimport Swiper, { Navigation, Mousewheel, FreeMode } from 'swiper';\n\nexport default defineComponent({\n props: {\n id: Number,\n type: {\n type: String,\n default: 'promo-products'\n }\n },\n setup(props) {\n let inited = false;\n\n const loaded = ref(false);\n const container = ref(null);\n const component = ref(null);\n\n const callback = (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!inited) {\n inited = true;\n\n load();\n }\n }\n });\n };\n\n const load = () => {\n $http\n .post($ziggy('api.piece', { slug: props.type }), {\n id: props.id\n })\n .then((response) => {\n const componentName = 'piece-promo-products-' + props.id;\n\n window.app.component(componentName, {\n template: response.data ? response.data : '<i></i>'\n });\n\n component.value = componentName;\n loaded.value = true;\n\n nextTick(() => {\n const fadedTabs = container.value.querySelectorAll('.is-faded-tabs');\n\n if (fadedTabs.length) {\n fadedTabs.forEach((tab) => {\n new Swiper(tab.querySelector('.swiper'), {\n slidesPerView: 'auto',\n freeMode: {\n enabled: true\n },\n mousewheel: {\n forceToAxis: true\n },\n modules: [Navigation, Mousewheel, FreeMode]\n });\n });\n }\n\n const tabs = container.value.querySelectorAll('.is-faded-tabs .swiper-slide');\n const sliders = container.value.querySelectorAll('[products-slider]');\n\n tabs.forEach((tab, index) => {\n tab.addEventListener('click', () => {\n tabs.forEach((tab) => {\n tab.classList.remove('is-active');\n });\n\n sliders.forEach((slider) => {\n slider.classList.add('is-hidden');\n });\n\n sliders[index].classList.remove('is-hidden');\n tab.classList.add('is-active');\n });\n });\n\n if (sliders.length) {\n sliders.forEach((slider) => {\n new Swiper(slider, window.viewedSwiperOptions);\n });\n }\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.promoCodeCallback && typeof window.promoCodeCallback === 'function') {\n window.promoCodeCallback(container.value);\n }\n });\n });\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n new IntersectionObserver(callback, {\n threshold: 0.1\n }).observe(container.value);\n });\n\n return {\n container,\n component,\n loaded\n };\n }\n});\n</script>\n"],"names":["defineComponent","props","id","Number","type","String","setup","inited","loaded","ref","container","component","callback","entries","forEach","entry","isIntersecting","load","$http","post","$ziggy","slug","then","response","componentName","window","app","template","data","value","nextTick","fadedTabs","querySelectorAll","length","tab","Swiper","querySelector","slidesPerView","freeMode","enabled","mousewheel","forceToAxis","modules","Navigation","Mousewheel","FreeMode","tabs","sliders","index","addEventListener","classList","remove","slider","add","viewedSwiperOptions","lazyImages","update","promoCodeCallback","IntersectionObserver","threshold","observe","_createElementBlock","_hoisted_1","_renderSlot","_ctx","_hoisted_2","_hoisted_3","_createElementVNode","_hoisted_6","_hoisted_7","key","_createBlock"],"mappings":"2IAuCeA,kBAAgB,CAC3BC,MAAO,CACHC,GAAIC,OACJC,KAAM,CACFA,KAAMC,eACG,mBAGjBC,eAAML,OACEM,GAAS,EAEPC,EAASC,OAAI,GACbC,EAAYD,MAAI,MAChBE,EAAYF,MAAI,MAEhBG,EAAW,SAACC,GACdA,EAAQC,SAAQ,SAACC,GACTA,EAAMC,iBACDT,IACDA,GAAS,EAETU,UAMVA,EAAO,WACTC,MACKC,KAAKC,OAAO,YAAa,CAAEC,KAAMpB,EAAMG,OAAS,CAC7CF,GAAID,EAAMC,KAEboB,MAAK,SAACC,OACGC,EAAgB,wBAA0BvB,EAAMC,GAEtDuB,OAAOC,IAAIf,UAAUa,EAAe,CAChCG,SAAUJ,EAASK,KAAOL,EAASK,KAAO,YAG9CjB,EAAUkB,MAAQL,EAClBhB,EAAOqB,OAAQ,EAEfC,YAAS,eACCC,EAAYrB,EAAUmB,MAAMG,iBAAiB,kBAE/CD,EAAUE,QACVF,EAAUjB,SAAQ,SAACoB,OACXC,UAAOD,EAAIE,cAAc,WAAY,CACrCC,cAAe,OACfC,SAAU,CACNC,SAAS,GAEbC,WAAY,CACRC,aAAa,GAEjBC,QAAS,CAACC,aAAYC,aAAYC,qBAKxCC,EAAOpC,EAAUmB,MAAMG,iBAAiB,gCACxCe,EAAUrC,EAAUmB,MAAMG,iBAAiB,qBAEjDc,EAAKhC,SAAQ,SAACoB,EAAKc,GACfd,EAAIe,iBAAiB,SAAS,WAC1BH,EAAKhC,SAAQ,SAACoB,GACVA,EAAIgB,UAAUC,OAAO,gBAGzBJ,EAAQjC,SAAQ,SAACsC,GACbA,EAAOF,UAAUG,IAAI,gBAGzBN,EAAQC,GAAOE,UAAUC,OAAO,aAChCjB,EAAIgB,UAAUG,IAAI,mBAItBN,EAAQd,QACRc,EAAQjC,SAAQ,SAACsC,OACTjB,UAAOiB,EAAQ3B,OAAO6B,wBAI9B7B,OAAO8B,YACP9B,OAAO8B,WAAWC,SAGlB/B,OAAOgC,mBAAyD,mBAA7BhC,OAAOgC,mBAC1ChC,OAAOgC,kBAAkB/C,EAAUmB,qBAMvDJ,OAAOwB,iBAAiB,oBAAoB,eACpCS,qBAAqB9C,EAAU,CAC/B+C,UAAW,KACZC,QAAQlD,EAAUmB,UAGlB,CACHnB,UAAAA,EACAC,UAAAA,EACAH,OAAAA,SC9IHC,IAAI,4BAEc,4RASA,mBACI,6XAZ3BoD,2BAAAC,GACIC,iCAAOvD,OAAQwD,WAAf,kBAC+EA,wDAA3EH,+BAAAI,GACIC,EAQAC,2BAAAC,GACID,2BAAAE,kBACIR,kDAAqC,YAATb,UAA5BmB,kCAAW,UAA8BG,IAAKtB,yBAkB7BgB,wBAAjCO,wCAAgBP"}
1
+ {"version":3,"file":"PromoProducts.js","sources":["../../../src/components/shop/PromoProducts.vue","../../../src/components/shop/PromoProducts.vue?vue&type=template&id=bbd09982&lang.js"],"sourcesContent":["<template>\n <div ref=\"container\">\n <slot :loaded=\"loaded\">\n <section class=\"product-promo-block container is-fluid is-skeleton\" v-if=\"!loaded\">\n <div class=\"gradient\"></div>\n <div class=\"title slider-title\">&nbsp;</div>\n <div class=\"is-faded-tabs\">\n <div class=\"is-flex\">\n <div class=\"swiper-slide\">&nbsp;</div>\n <div class=\"swiper-slide\">&nbsp;</div>\n </div>\n </div>\n <div class=\"swiper\">\n <div class=\"swiper-wrapper products is-slider\">\n <div class=\"product\" v-for=\"index in 5\" :key=\"index\">\n <div class=\"border\">\n <div class=\"wrapper\">\n <picture class=\"is-lazy-loaded\">\n <img class=\"lazy entered loaded\" src=\"/images/blank.png\" alt=\"skeleton\" />\n </picture>\n <div class=\"availability\">&nbsp;</div>\n <div class=\"title\">&nbsp;</div>\n <div class=\"prices\">\n <div class=\"price\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n </slot>\n <component :is=\"component\" v-if=\"loaded\"></component>\n </div>\n</template>\n<script>\nimport { ref, nextTick, defineComponent } from 'vue';\nimport Swiper, { Navigation, Mousewheel, FreeMode } from 'swiper';\n\nexport default defineComponent({\n props: {\n id: Number,\n type: {\n type: String,\n default: 'promo-products'\n }\n },\n setup(props) {\n let inited = false;\n\n const loaded = ref(false);\n const container = ref(null);\n const component = ref(null);\n\n const callback = (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!inited) {\n inited = true;\n\n load();\n }\n }\n });\n };\n\n const load = () => {\n $http\n .post($ziggy('api.piece', { slug: props.type }), {\n id: props.id\n })\n .then((response) => {\n const componentName = 'piece-promo-products-' + props.id;\n\n window.app.component(componentName, {\n template: response.data ? response.data : '<i></i>'\n });\n\n component.value = componentName;\n loaded.value = true;\n\n nextTick(() => {\n const fadedTabs = container.value.querySelectorAll('.is-faded-tabs');\n\n if (fadedTabs.length) {\n fadedTabs.forEach((tab) => {\n new Swiper(tab.querySelector('.swiper'), {\n slidesPerView: 'auto',\n freeMode: {\n enabled: true\n },\n mousewheel: {\n forceToAxis: true\n },\n modules: [Navigation, Mousewheel, FreeMode]\n });\n });\n }\n\n const tabs = container.value.querySelectorAll('.is-faded-tabs .swiper-slide');\n const sliders = container.value.querySelectorAll('[products-slider]');\n\n tabs.forEach((tab, index) => {\n tab.addEventListener('click', () => {\n tabs.forEach((tab) => {\n tab.classList.remove('is-active');\n });\n\n sliders.forEach((slider) => {\n slider.classList.add('is-hidden');\n });\n\n sliders[index].classList.remove('is-hidden');\n tab.classList.add('is-active');\n });\n });\n\n if (sliders.length) {\n sliders.forEach((slider) => {\n new Swiper(slider, window.viewedSwiperOptions);\n });\n }\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.promoCodeCallback && typeof window.promoCodeCallback === 'function') {\n window.promoCodeCallback(container.value);\n }\n });\n });\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n new IntersectionObserver(callback, {\n threshold: 0.1\n }).observe(container.value);\n });\n\n return {\n container,\n component,\n loaded\n };\n }\n});\n</script>\n","<template>\n <div ref=\"container\">\n <slot :loaded=\"loaded\">\n <section class=\"product-promo-block container is-fluid is-skeleton\" v-if=\"!loaded\">\n <div class=\"gradient\"></div>\n <div class=\"title slider-title\">&nbsp;</div>\n <div class=\"is-faded-tabs\">\n <div class=\"is-flex\">\n <div class=\"swiper-slide\">&nbsp;</div>\n <div class=\"swiper-slide\">&nbsp;</div>\n </div>\n </div>\n <div class=\"swiper\">\n <div class=\"swiper-wrapper products is-slider\">\n <div class=\"product\" v-for=\"index in 5\" :key=\"index\">\n <div class=\"border\">\n <div class=\"wrapper\">\n <picture class=\"is-lazy-loaded\">\n <img class=\"lazy entered loaded\" src=\"/images/blank.png\" alt=\"skeleton\" />\n </picture>\n <div class=\"availability\">&nbsp;</div>\n <div class=\"title\">&nbsp;</div>\n <div class=\"prices\">\n <div class=\"price\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n </slot>\n <component :is=\"component\" v-if=\"loaded\"></component>\n </div>\n</template>\n<script>\nimport { ref, nextTick, defineComponent } from 'vue';\nimport Swiper, { Navigation, Mousewheel, FreeMode } from 'swiper';\n\nexport default defineComponent({\n props: {\n id: Number,\n type: {\n type: String,\n default: 'promo-products'\n }\n },\n setup(props) {\n let inited = false;\n\n const loaded = ref(false);\n const container = ref(null);\n const component = ref(null);\n\n const callback = (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!inited) {\n inited = true;\n\n load();\n }\n }\n });\n };\n\n const load = () => {\n $http\n .post($ziggy('api.piece', { slug: props.type }), {\n id: props.id\n })\n .then((response) => {\n const componentName = 'piece-promo-products-' + props.id;\n\n window.app.component(componentName, {\n template: response.data ? response.data : '<i></i>'\n });\n\n component.value = componentName;\n loaded.value = true;\n\n nextTick(() => {\n const fadedTabs = container.value.querySelectorAll('.is-faded-tabs');\n\n if (fadedTabs.length) {\n fadedTabs.forEach((tab) => {\n new Swiper(tab.querySelector('.swiper'), {\n slidesPerView: 'auto',\n freeMode: {\n enabled: true\n },\n mousewheel: {\n forceToAxis: true\n },\n modules: [Navigation, Mousewheel, FreeMode]\n });\n });\n }\n\n const tabs = container.value.querySelectorAll('.is-faded-tabs .swiper-slide');\n const sliders = container.value.querySelectorAll('[products-slider]');\n\n tabs.forEach((tab, index) => {\n tab.addEventListener('click', () => {\n tabs.forEach((tab) => {\n tab.classList.remove('is-active');\n });\n\n sliders.forEach((slider) => {\n slider.classList.add('is-hidden');\n });\n\n sliders[index].classList.remove('is-hidden');\n tab.classList.add('is-active');\n });\n });\n\n if (sliders.length) {\n sliders.forEach((slider) => {\n new Swiper(slider, window.viewedSwiperOptions);\n });\n }\n\n if (window.lazyImages) {\n window.lazyImages.update();\n }\n\n if (window.promoCodeCallback && typeof window.promoCodeCallback === 'function') {\n window.promoCodeCallback(container.value);\n }\n });\n });\n };\n\n window.addEventListener('DOMContentLoaded', () => {\n new IntersectionObserver(callback, {\n threshold: 0.1\n }).observe(container.value);\n });\n\n return {\n container,\n component,\n loaded\n };\n }\n});\n</script>\n"],"names":["defineComponent","props","id","Number","type","String","setup","inited","loaded","ref","container","component","callback","entries","forEach","entry","isIntersecting","load","$http","post","$ziggy","slug","then","response","componentName","window","app","template","data","value","nextTick","fadedTabs","querySelectorAll","length","tab","Swiper","querySelector","slidesPerView","freeMode","enabled","mousewheel","forceToAxis","modules","Navigation","Mousewheel","FreeMode","tabs","sliders","index","addEventListener","classList","remove","slider","add","viewedSwiperOptions","lazyImages","update","promoCodeCallback","IntersectionObserver","threshold","observe","_createElementBlock","_hoisted_1","_renderSlot","_ctx","_hoisted_2","_hoisted_3","_createElementVNode","_hoisted_6","_hoisted_7","key","_createBlock"],"mappings":"2IAuCeA,kBAAgB,CAC3BC,MAAO,CACHC,GAAIC,OACJC,KAAM,CACFA,KAAMC,eACG,mBAGjBC,eAAML,OACEM,GAAS,EAEPC,EAASC,OAAI,GACbC,EAAYD,MAAI,MAChBE,EAAYF,MAAI,MAEhBG,EAAW,SAACC,GACdA,EAAQC,SAAQ,SAACC,GACTA,EAAMC,iBACDT,IACDA,GAAS,EAETU,UAMVA,EAAO,WACTC,MACKC,KAAKC,OAAO,YAAa,CAAEC,KAAMpB,EAAMG,OAAS,CAC7CF,GAAID,EAAMC,KAEboB,MAAK,SAACC,OACGC,EAAgB,wBAA0BvB,EAAMC,GAEtDuB,OAAOC,IAAIf,UAAUa,EAAe,CAChCG,SAAUJ,EAASK,KAAOL,EAASK,KAAO,YAG9CjB,EAAUkB,MAAQL,EAClBhB,EAAOqB,OAAQ,EAEfC,YAAS,eACCC,EAAYrB,EAAUmB,MAAMG,iBAAiB,kBAE/CD,EAAUE,QACVF,EAAUjB,SAAQ,SAACoB,OACXC,UAAOD,EAAIE,cAAc,WAAY,CACrCC,cAAe,OACfC,SAAU,CACNC,SAAS,GAEbC,WAAY,CACRC,aAAa,GAEjBC,QAAS,CAACC,aAAYC,aAAYC,qBAKxCC,EAAOpC,EAAUmB,MAAMG,iBAAiB,gCACxCe,EAAUrC,EAAUmB,MAAMG,iBAAiB,qBAEjDc,EAAKhC,SAAQ,SAACoB,EAAKc,GACfd,EAAIe,iBAAiB,SAAS,WAC1BH,EAAKhC,SAAQ,SAACoB,GACVA,EAAIgB,UAAUC,OAAO,gBAGzBJ,EAAQjC,SAAQ,SAACsC,GACbA,EAAOF,UAAUG,IAAI,gBAGzBN,EAAQC,GAAOE,UAAUC,OAAO,aAChCjB,EAAIgB,UAAUG,IAAI,mBAItBN,EAAQd,QACRc,EAAQjC,SAAQ,SAACsC,OACTjB,UAAOiB,EAAQ3B,OAAO6B,wBAI9B7B,OAAO8B,YACP9B,OAAO8B,WAAWC,SAGlB/B,OAAOgC,mBAAyD,mBAA7BhC,OAAOgC,mBAC1ChC,OAAOgC,kBAAkB/C,EAAUmB,qBAMvDJ,OAAOwB,iBAAiB,oBAAoB,eACpCS,qBAAqB9C,EAAU,CAC/B+C,UAAW,KACZC,QAAQlD,EAAUmB,UAGlB,CACHnB,UAAAA,EACAC,UAAAA,EACAH,OAAAA,SC9IHC,IAAI,4BAEc,4RASA,mBACI,4YAZ3BoD,2BAAAC,GACIC,iCAAOvD,OAAQwD,WAAf,kBAC+EA,wDAA3EH,+BAAAI,GACIC,EAQAC,2BAAAC,GACID,2BAAAE,kBACIR,kDAAqC,YAATb,UAA5BmB,kCAAW,UAA8BG,IAAKtB,yBAkB7BgB,wBAAjCO,wCAAgBP"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("vuex"),r=require("@perevorot/shop/dist/api"),o=require("simplebar"),n=require("secure-ls");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=a(o),c=a(n);var i=e.defineComponent({name:"search",props:{q:{type:String,default:""},placeholder:{type:String,default:""},placeholderMobile:{type:String,default:""},parameter:{type:String,default:"/q{separator}"},isHistory:{type:Boolean,default:!0},isToggleDropdownOnClose:{type:Boolean,default:!0},htmlClass:{type:String,default:""}},setup:function(o){var n=new c.default({isCompression:!1}),a=o.q;if(a){var i=document.createElement("textarea");i.innerHTML=a,a=i.value}var s,u=e.ref(!1),d=e.ref(a),p=e.ref([]),m=e.ref([]),h=e.ref(0),v=e.ref(-1),f=e.ref(!1),y=e.ref(),g=e.ref(""),w=e.ref(),k=e.ref(n.get("search")),E=e.ref([]),C=t.useStore(),B=e.computed((function(){return C.getters["auth/me"]})),V=e.ref(null),N=[],_=!1,L=function(){clearTimeout(s),v.value=-1,d.value.trim()?(u.value=!0,s=setTimeout((function(){d.value.trim()&&r.shop.search(d.value).then((function(t){if(t.data){if(D(),p.value=t.data.products,h.value=t.data.total,g.value=t.data.separator,m.value=t.data.byCategory,new l.default(w.value),!_&&f.value){_=!0;var r={event:"search_start"};$env.debug.ecommerce&&console.log(r),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(r))}if(!p.value.length&&!H.value.length&&f.value){var o={event:"search_no_results",search_query:d.value};$env.debug.ecommerce&&console.log(o),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(o))}e.nextTick((function(){window.promoCodeCallback&&"function"==typeof window.promoCodeCallback&&window.promoCodeCallback(V.value,".dropdown-item:not(.products-list-title)")}))}})).finally((function(){u.value=!1}))}),300)):(p.value=[],u.value=!1)},S=function(){var e={event:"catalog",location:"search"};$env.debug.ecommerce&&console.log(e),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))},D=function(){if(d.value.length>1){var e=n.get("search")?n.get("search"):[];-1!==e.indexOf(d.value)&&(e=e.filter((function(e){return e!==d.value}))),e.length>4&&(e=e.slice(0,4)),e.unshift(d.value),n.set("search",e),k.value=e}};e.onBeforeUpdate((function(){N=[]})),e.watch((function(){return d.value}),(function(){f.value=!0,v.value=-1,L()}));var b=e.computed((function(){return d.value?$env.locale.url+"/search"+q.value:$env.locale.url+"/search"})),q=e.computed((function(){return(o.parameter.replace("{separator}",g.value)+d.value.toLowerCase()).replace(/\//g,"-")})),M=function(e){e.target.closest(".cart")||(o.isToggleDropdownOnClose&&(f.value=!1,o.htmlClass&&document.querySelector("html").classList.remove(o.htmlClass)),v.value=-1)};window.addEventListener("click",M);var x,H=e.computed((function(){return d.value.length>3?E.value.filter((function(e){return-1!==e.search.indexOf(d.value)})):[]})),$=(x=function(){var e,t,r,n=document.getElementById("menu");return n&&n.querySelectorAll("[data-search]").forEach((function(e){var t=e.textContent.trim(),r=e.dataset.search;E.value.push({name:(r?r+" / ":"")+t,search:t.toLowerCase(),href:e.closest("a").href})})),o.q&&L(),r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)},function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(x.apply(this,e))}catch(e){return Promise.reject(e)}});document.addEventListener("DOMContentLoaded",$,!1);var T=e.ref(o.placeholder);if(o.placeholderMobile){var P=function(){var e=window.matchMedia("(max-width: 768px)").matches;T.value=e?o.placeholderMobile:o.placeholder};window.addEventListener("resize",P,{passive:!0}),P()}return{isLoading:u,term:d,results:p,next:function(){v.value<p.value.length-1&&v.value++},prev:function(){v.value>=0&&v.value--},current:v,add:function(e){v.value>=0&&(e.preventDefault(),N[v.value].add())},cartRefs:function(e){e&&N.push(e)},isDropdown:f,preventCaret:function(e){(38==e.which||40==e.which||32==e.which&&v.value>=0)&&e.preventDefault()},esc:function(e){y.value.blur(),M(e)},input:y,dropdown:function(){f.value=!0,v.value=-1,o.htmlClass&&document.querySelector("html").classList.add(o.htmlClass)},total:h,searchUrl:b,searchHrefWithParameter:q,open:function(){v.value>=0?window.location.href=p.value[v.value].href:window.location.href=b.value},categories:H,byCategory:m,dropdownContent:w,history:k,clearSearchHistory:function(e){n.remove("search"),k.value=[],y.value.focus()},setSearchHistory:function(e){e.value=e},user:B,clear:function(){d.value="",y.value.focus()},placeholderMobilized:T,opener:function(e,t,r){!function(e){var t={event:p.value.length||H.value.length?"search_success":"search_no_results",search_query:d.value,search_type:e};$env.debug.ecommerce&&console.log(t),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t)),"category"==e&&S()}(t),"function"==typeof r&&r()},productsListElement:V}}}),s={class:"dropdown-trigger"},u=["placeholder"],d={class:"icon is-small is-right"},p=[e.createElementVNode("i",{class:"fas fa-search"},null,-1)],m={key:1,class:"dropdown-menu"},h={class:"dropdown-content"},v={class:"history-list"},f={class:"dropdown-item history-list-title"},y=["onClick"],g={class:"dropdown-item history-list-clear"},w={class:"dropdown-menu"},k={class:"dropdown-content",style:{"max-height":"600px",overflow:"auto"},ref:"dropdownContent"},E={key:0,class:"results-list"},C=["href","onClick"],B={key:0,class:"dropdown-divider"},V={key:1,class:"results-list-category"},N={class:"dropdown-item categories-list-title"},_=["href","onClick"],L={key:2,class:"results-list-total"},S={class:"dropdown-item mb-3 mt-2"},D=e.createElementVNode("br",null,null,-1),b=["href"],q={key:3,class:"products-list",ref:"productsListElement"},M={class:"dropdown-item products-list-title"},x={class:"columns"},H={class:"column"},$={class:"title"},T=["href","onClick"],P=["innerHTML"],K={key:0,class:"price_old"},z=["innerHTML"],O={class:"code"},W={key:1,class:"quantity"},F={key:2,class:"no-quantity"},R={key:0,class:"column is-narrow"},U={key:1,class:"column is-eol"},j={key:0,class:"dropdown-content"},A={class:"dropdown-item"},I=["innerHTML"];i.render=function(t,r,o,n,a,l){var c=e.resolveComponent("cart-add");return e.openBlock(),e.createElementBlock("div",{class:"shop-search",onClick:r[10]||(r[10]=function(e){return e.stopPropagation()})},[e.createElementVNode("div",{class:e.normalizeClass(["dropdown",{"is-active":t.isDropdown,"is-dropdown-visible":t.isDropdown&&(t.history.length&&!t.term||t.results.length||t.categories.length||t.term&&!t.isLoading&&!t.results.length&&!t.categories.length)}])},[t.htmlClass?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"overlay search-overlay",onClick:r[0]||(r[0]=function(e){return t.esc(e)})})),e.createElementVNode("div",s,[e.createElementVNode("div",{class:e.normalizeClass(["control has-icons-right",{"is-loading":t.isLoading}])},[e.withDirectives(e.createElementVNode("input",{class:"input",type:"text","onUpdate:modelValue":r[1]||(r[1]=function(e){return t.term=e}),ref:"input",placeholder:t.placeholderMobilized,onKeyup:[r[2]||(r[2]=e.withKeys((function(){return t.next&&t.next.apply(t,arguments)}),["arrow-down"])),r[3]||(r[3]=e.withKeys((function(){return t.prev&&t.prev.apply(t,arguments)}),["arrow-up"])),r[4]||(r[4]=e.withKeys((function(e){return t.add(e)}),["space"])),r[5]||(r[5]=e.withKeys((function(e){return t.opener(null,"results_page",t.open)}),["enter"])),r[6]||(r[6]=e.withKeys((function(e){return t.esc(e)}),["esc"]))],onClick:r[7]||(r[7]=function(){return t.dropdown&&t.dropdown.apply(t,arguments)}),onKeydown:r[8]||(r[8]=function(e){return t.preventCaret(e)})},null,40,u),[[e.vModelText,t.term]]),e.renderSlot(t.$slots,"clear",{clear:t.clear,term:t.term}),e.renderSlot(t.$slots,"icon",{isLoading:t.isLoading},(function(){return[e.withDirectives(e.createElementVNode("span",d,p,512),[[e.vShow,!t.isLoading]])]}))],2)]),t.isHistory&&t.isDropdown&&t.history.length&&!t.term?(e.openBlock(),e.createElementBlock("div",m,[e.createElementVNode("div",h,[e.createElementVNode("div",v,[e.createElementVNode("div",f,[e.createElementVNode("p",null,e.toDisplayString(t.__("shop.search.history")),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.history,(function(r,o){return e.openBlock(),e.createElementBlock("div",{class:"dropdown-item",key:o},[e.createElementVNode("a",{onClick:function(e){return t.term=r}},e.toDisplayString(r),9,y)])})),128)),e.createElementVNode("div",g,[e.createElementVNode("a",{onClick:r[9]||(r[9]=function(e){return t.clearSearchHistory(e)})},e.toDisplayString(t.__("shop.search.history_clear")),1)])])])])):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("div",w,[e.withDirectives(e.createElementVNode("div",k,[e.renderSlot(t.$slots,"results-header"),t.categories.length?(e.openBlock(),e.createElementBlock("div",E,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.categories,(function(r,o){return e.openBlock(),e.createElementBlock("div",{class:"dropdown-item",key:o},[e.createElementVNode("div",null,[e.createElementVNode("a",{href:r.href,onClick:e.withModifiers((function(e){return t.opener(r.href,"category")}),["prevent"])},e.toDisplayString(r.name),9,C)])])})),128)),t.byCategory.length?(e.openBlock(),e.createElementBlock("hr",B)):e.createCommentVNode("v-if",!0)])):e.createCommentVNode("v-if",!0),t.byCategory.length?(e.openBlock(),e.createElementBlock("div",V,[e.createElementVNode("div",N,e.toDisplayString(t.__("shop.search.categories")),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.byCategory,(function(r,o){return e.openBlock(),e.createElementBlock("div",{class:"dropdown-item",key:o},[e.renderSlot(t.$slots,"item-category",{item:r,searchHrefWithParameter:t.searchHrefWithParameter,opener:t.opener},(function(){return[e.createElementVNode("div",null,[e.createElementVNode("a",{href:r.href+t.searchHrefWithParameter,onClick:e.withModifiers((function(e){return t.opener(r.href+t.searchHrefWithParameter,"category")}),["prevent"])},e.toDisplayString(r.name),9,_)]),e.createElementVNode("div",null,e.toDisplayString(t.__("shop.search.category_found",{count:r.count})),1)]}))])})),128))])):e.createCommentVNode("v-if",!0),t.total?(e.openBlock(),e.createElementBlock("div",L,[e.createElementVNode("p",S,[e.createTextVNode(e.toDisplayString(t.__("shop.search.total_found",{total:t.total}))+" ",1),D,e.createElementVNode("a",{href:t.searchUrl},e.toDisplayString(t.__("shop.search.open_results")),9,b)])])):e.createCommentVNode("v-if",!0),t.results.length?(e.openBlock(),e.createElementBlock("div",q,[e.createElementVNode("div",M,e.toDisplayString(t.__("shop.search.products")),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(function(r,o){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dropdown-item",{"is-active":t.current==o}]),key:r.id},[e.renderSlot(t.$slots,"item",{user:t.user,item:r,cartRefs:t.cartRefs,opener:t.opener},(function(){return[e.createElementVNode("div",x,[e.createElementVNode("div",H,[e.createElementVNode("div",$,[e.createElementVNode("a",{href:r.href,onClick:e.withModifiers((function(e){return t.opener(r.href,"product")}),["prevent"])},e.toDisplayString(r.name),9,T)]),e.createElementVNode("div",{class:"price",innerHTML:r.price},null,8,P),r.price_old?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("span",{innerHTML:r.price_old},null,8,z)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",O,e.toDisplayString(r.code),1),r.quantity?(e.openBlock(),e.createElementBlock("div",W,e.toDisplayString(t.__("shop.search.in_stock")),1)):(e.openBlock(),e.createElementBlock("span",F,e.toDisplayString(t.__("shop.search.out_stock")),1))]),r.is_eol?(e.openBlock(),e.createElementBlock("div",U,e.toDisplayString(t.__("shop.search.eol")),1)):(e.openBlock(),e.createElementBlock("div",R,[e.createVNode(c,{id:r.id,"is-change-quantity":!1,"is-already-in-cart":!1,ref_for:!0,ref:t.cartRefs},null,8,["id"])]))])]}))],2)})),128))],512)):e.createCommentVNode("v-if",!0)],512),[[e.vShow,t.results.length||t.categories.length]]),t.isLoading||t.results.length||t.categories.length?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",j,[e.createElementVNode("div",A,[e.createElementVNode("div",{class:"no-results",innerHTML:t.__("shop.search.no_results")},null,8,I)])]))],512),[[e.vShow,t.results.length||t.term]])],2)])},module.exports=i;
1
+ "use strict";var e=require("vue"),t=require("vuex"),r=require("@perevorot/shop/dist/api"),o=require("simplebar"),n=require("secure-ls");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=a(o),c=a(n);var i=e.defineComponent({name:"search",props:{q:{type:String,default:""},placeholder:{type:String,default:""},placeholderMobile:{type:String,default:""},parameter:{type:String,default:"/q{separator}"},isHistory:{type:Boolean,default:!0},isToggleDropdownOnClose:{type:Boolean,default:!0},htmlClass:{type:String,default:""}},setup:function(o){var n=new c.default({isCompression:!1}),a=o.q;if(a){var i=document.createElement("textarea");i.innerHTML=a,a=i.value}var s,u=e.ref(!1),d=e.ref(a),p=e.ref([]),m=e.ref([]),h=e.ref(0),v=e.ref(-1),f=e.ref(!1),y=e.ref(),g=e.ref(""),w=e.ref(),k=e.ref(n.get("search")),E=e.ref([]),C=t.useStore(),B=e.computed((function(){return C.getters["auth/me"]})),V=e.ref(null),N=[],_=!1,L=function(){clearTimeout(s),v.value=-1,d.value.trim()?(u.value=!0,s=setTimeout((function(){d.value.trim()&&r.shop.search(d.value).then((function(t){if(t.data){if(D(),p.value=t.data.products,h.value=t.data.total,g.value=t.data.separator,m.value=t.data.byCategory,new l.default(w.value),!_&&f.value){_=!0;var r={event:"search_start"};$env.debug.ecommerce&&console.log(r),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(r))}if(!p.value.length&&!H.value.length&&f.value){var o={event:"search_no_results",search_query:d.value};$env.debug.ecommerce&&console.log(o),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(o))}e.nextTick((function(){window.promoCodeCallback&&"function"==typeof window.promoCodeCallback&&window.promoCodeCallback(V.value,".dropdown-item:not(.products-list-title)")}))}})).finally((function(){u.value=!1}))}),300)):(p.value=[],u.value=!1)},S=function(){var e={event:"catalog",location:"search"};$env.debug.ecommerce&&console.log(e),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(e))},D=function(){if(d.value.length>1){var e=n.get("search")?n.get("search"):[];-1!==e.indexOf(d.value)&&(e=e.filter((function(e){return e!==d.value}))),e.length>4&&(e=e.slice(0,4)),e.unshift(d.value),n.set("search",e),k.value=e}};e.onBeforeUpdate((function(){N=[]})),e.watch((function(){return d.value}),(function(){f.value=!0,v.value=-1,L()}));var b=e.computed((function(){return d.value?$env.locale.url+"/search"+q.value:$env.locale.url+"/search"})),q=e.computed((function(){return(o.parameter.replace("{separator}",g.value)+d.value.toLowerCase()).replace(/\//g,"-")})),M=function(e){e.target.closest(".cart")||(o.isToggleDropdownOnClose&&(f.value=!1,o.htmlClass&&document.querySelector("html").classList.remove(o.htmlClass)),v.value=-1)};window.addEventListener("click",M);var x,H=e.computed((function(){return d.value.length>3?E.value.filter((function(e){return-1!==e.search.indexOf(d.value)})):[]})),$=(x=function(){var e,t,r,n=document.getElementById("menu");return n&&n.querySelectorAll("[data-search]").forEach((function(e){var t=e.textContent.trim(),r=e.dataset.search;E.value.push({name:(r?r+" / ":"")+t,search:t.toLowerCase(),href:e.closest("a").href})})),o.q&&L(),r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)},function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(x.apply(this,e))}catch(e){return Promise.reject(e)}});document.addEventListener("DOMContentLoaded",$,!1);var T=e.ref(o.placeholder);if(o.placeholderMobile){var P=function(){var e=window.matchMedia("(max-width: 768px)").matches;T.value=e?o.placeholderMobile:o.placeholder};window.addEventListener("resize",P,{passive:!0}),P()}return{isLoading:u,term:d,results:p,next:function(){v.value<p.value.length-1&&v.value++},prev:function(){v.value>=0&&v.value--},current:v,add:function(e){v.value>=0&&(e.preventDefault(),N[v.value].add())},cartRefs:function(e){e&&N.push(e)},isDropdown:f,preventCaret:function(e){(38==e.which||40==e.which||32==e.which&&v.value>=0)&&e.preventDefault()},esc:function(e){y.value.blur(),M(e)},input:y,dropdown:function(){f.value=!0,v.value=-1,o.htmlClass&&document.querySelector("html").classList.add(o.htmlClass)},total:h,searchUrl:b,searchHrefWithParameter:q,open:function(e){e?window.location.href=e:v.value>=0?window.location.href=p.value[v.value].href:window.location.href=b.value},categories:H,byCategory:m,dropdownContent:w,history:k,clearSearchHistory:function(e){n.remove("search"),k.value=[],y.value.focus()},setSearchHistory:function(e){e.value=e},user:B,clear:function(){d.value="",y.value.focus()},placeholderMobilized:T,opener:function(e,t,r){!function(e){var t={event:p.value.length||H.value.length?"search_success":"search_no_results",search_query:d.value,search_type:e};$env.debug.ecommerce&&console.log(t),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(t)),"category"==e&&S()}(t),"function"==typeof r&&r(e)},productsListElement:V}}}),s={class:"dropdown-trigger"},u=["placeholder"],d={class:"icon is-small is-right"},p=[e.createElementVNode("i",{class:"fas fa-search"},null,-1)],m={key:1,class:"dropdown-menu"},h={class:"dropdown-content"},v={class:"history-list"},f={class:"dropdown-item history-list-title"},y=["onClick"],g={class:"dropdown-item history-list-clear"},w={class:"dropdown-menu"},k={class:"dropdown-content",style:{"max-height":"600px",overflow:"auto"},ref:"dropdownContent"},E={key:0,class:"results-list"},C=["href","onClick"],B={key:0,class:"dropdown-divider"},V={key:1,class:"results-list-category"},N={class:"dropdown-item categories-list-title"},_=["href","onClick"],L={key:2,class:"results-list-total"},S={class:"dropdown-item mb-3 mt-2"},D=e.createElementVNode("br",null,null,-1),b=["href"],q={key:3,class:"products-list",ref:"productsListElement"},M={class:"dropdown-item products-list-title"},x={class:"columns"},H={class:"column"},$={class:"title"},T=["href","onClick"],P=["innerHTML"],K={key:0,class:"price_old"},z=["innerHTML"],O={class:"code"},W={key:1,class:"quantity"},F={key:2,class:"no-quantity"},R={key:0,class:"column is-narrow"},U={key:1,class:"column is-eol"},j={key:0,class:"dropdown-content"},A={class:"dropdown-item"},I=["innerHTML"];i.render=function(t,r,o,n,a,l){var c=e.resolveComponent("cart-add");return e.openBlock(),e.createElementBlock("div",{class:"shop-search",onClick:r[10]||(r[10]=function(e){return e.stopPropagation()})},[e.createElementVNode("div",{class:e.normalizeClass(["dropdown",{"is-active":t.isDropdown,"is-dropdown-visible":t.isDropdown&&(t.history.length&&!t.term||t.results.length||t.categories.length||t.term&&!t.isLoading&&!t.results.length&&!t.categories.length)}])},[t.htmlClass?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"overlay search-overlay",onClick:r[0]||(r[0]=function(e){return t.esc(e)})})),e.createElementVNode("div",s,[e.createElementVNode("div",{class:e.normalizeClass(["control has-icons-right",{"is-loading":t.isLoading}])},[e.withDirectives(e.createElementVNode("input",{class:"input",type:"text","onUpdate:modelValue":r[1]||(r[1]=function(e){return t.term=e}),ref:"input",placeholder:t.placeholderMobilized,onKeyup:[r[2]||(r[2]=e.withKeys((function(){return t.next&&t.next.apply(t,arguments)}),["arrow-down"])),r[3]||(r[3]=e.withKeys((function(){return t.prev&&t.prev.apply(t,arguments)}),["arrow-up"])),r[4]||(r[4]=e.withKeys((function(e){return t.add(e)}),["space"])),r[5]||(r[5]=e.withKeys((function(e){return t.opener(null,"results_page",t.open)}),["enter"])),r[6]||(r[6]=e.withKeys((function(e){return t.esc(e)}),["esc"]))],onClick:r[7]||(r[7]=function(){return t.dropdown&&t.dropdown.apply(t,arguments)}),onKeydown:r[8]||(r[8]=function(e){return t.preventCaret(e)})},null,40,u),[[e.vModelText,t.term]]),e.renderSlot(t.$slots,"clear",{clear:t.clear,term:t.term}),e.renderSlot(t.$slots,"icon",{isLoading:t.isLoading},(function(){return[e.withDirectives(e.createElementVNode("span",d,p,512),[[e.vShow,!t.isLoading]])]}))],2)]),t.isHistory&&t.isDropdown&&t.history.length&&!t.term?(e.openBlock(),e.createElementBlock("div",m,[e.createElementVNode("div",h,[e.createElementVNode("div",v,[e.createElementVNode("div",f,[e.createElementVNode("p",null,e.toDisplayString(t.__("shop.search.history")),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.history,(function(r,o){return e.openBlock(),e.createElementBlock("div",{class:"dropdown-item",key:o},[e.createElementVNode("a",{onClick:function(e){return t.term=r}},e.toDisplayString(r),9,y)])})),128)),e.createElementVNode("div",g,[e.createElementVNode("a",{onClick:r[9]||(r[9]=function(e){return t.clearSearchHistory(e)})},e.toDisplayString(t.__("shop.search.history_clear")),1)])])])])):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("div",w,[e.withDirectives(e.createElementVNode("div",k,[e.renderSlot(t.$slots,"results-header"),t.categories.length?(e.openBlock(),e.createElementBlock("div",E,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.categories,(function(r,o){return e.openBlock(),e.createElementBlock("div",{class:"dropdown-item",key:o},[e.createElementVNode("div",null,[e.createElementVNode("a",{href:r.href,onClick:e.withModifiers((function(e){return t.opener(r.href,"category",t.open)}),["prevent"])},e.toDisplayString(r.name),9,C)])])})),128)),t.byCategory.length?(e.openBlock(),e.createElementBlock("hr",B)):e.createCommentVNode("v-if",!0)])):e.createCommentVNode("v-if",!0),t.byCategory.length?(e.openBlock(),e.createElementBlock("div",V,[e.createElementVNode("div",N,e.toDisplayString(t.__("shop.search.categories")),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.byCategory,(function(r,o){return e.openBlock(),e.createElementBlock("div",{class:"dropdown-item",key:o},[e.renderSlot(t.$slots,"item-category",{item:r,searchHrefWithParameter:t.searchHrefWithParameter,opener:t.opener,open:t.open},(function(){return[e.createElementVNode("div",null,[e.createElementVNode("a",{href:r.href+t.searchHrefWithParameter,onClick:e.withModifiers((function(e){return t.opener(r.href+t.searchHrefWithParameter,"category",t.open)}),["prevent"])},e.toDisplayString(r.name),9,_)]),e.createElementVNode("div",null,e.toDisplayString(t.__("shop.search.category_found",{count:r.count})),1)]}))])})),128))])):e.createCommentVNode("v-if",!0),t.total?(e.openBlock(),e.createElementBlock("div",L,[e.createElementVNode("p",S,[e.createTextVNode(e.toDisplayString(t.__("shop.search.total_found",{total:t.total}))+" ",1),D,e.createElementVNode("a",{href:t.searchUrl},e.toDisplayString(t.__("shop.search.open_results")),9,b)])])):e.createCommentVNode("v-if",!0),t.results.length?(e.openBlock(),e.createElementBlock("div",q,[e.createElementVNode("div",M,e.toDisplayString(t.__("shop.search.products")),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(function(r,o){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dropdown-item",{"is-active":t.current==o}]),key:r.id},[e.renderSlot(t.$slots,"item",{user:t.user,item:r,cartRefs:t.cartRefs,opener:t.opener,open:t.open},(function(){return[e.createElementVNode("div",x,[e.createElementVNode("div",H,[e.createElementVNode("div",$,[e.createElementVNode("a",{href:r.href,onClick:e.withModifiers((function(e){return t.opener(r.href,"product",t.open)}),["prevent"])},e.toDisplayString(r.name),9,T)]),e.createElementVNode("div",{class:"price",innerHTML:r.price},null,8,P),r.price_old?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("span",{innerHTML:r.price_old},null,8,z)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",O,e.toDisplayString(r.code),1),r.quantity?(e.openBlock(),e.createElementBlock("div",W,e.toDisplayString(t.__("shop.search.in_stock")),1)):(e.openBlock(),e.createElementBlock("span",F,e.toDisplayString(t.__("shop.search.out_stock")),1))]),r.is_eol?(e.openBlock(),e.createElementBlock("div",U,e.toDisplayString(t.__("shop.search.eol")),1)):(e.openBlock(),e.createElementBlock("div",R,[e.createVNode(c,{id:r.id,"is-change-quantity":!1,"is-already-in-cart":!1,ref:t.cartRefs},null,8,["id"])]))])]}))],2)})),128))],512)):e.createCommentVNode("v-if",!0)],512),[[e.vShow,t.results.length||t.categories.length]]),t.isLoading||t.results.length||t.categories.length?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",j,[e.createElementVNode("div",A,[e.createElementVNode("div",{class:"no-results",innerHTML:t.__("shop.search.no_results")},null,8,I)])]))],512),[[e.vShow,t.results.length||t.term]])],2)])},module.exports=i;
2
2
  //# sourceMappingURL=Search.js.map