@perevorot/shop 2.0.159 → 2.0.161

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/api.js.map +1 -1
  2. package/dist/components/account/OrderItem.js.map +1 -1
  3. package/dist/components/account/User.js.map +1 -1
  4. package/dist/components/auth/Forget.js.map +1 -1
  5. package/dist/components/auth/Login.js.map +1 -1
  6. package/dist/components/auth/Reset.js.map +1 -1
  7. package/dist/components/auth/User.js.map +1 -1
  8. package/dist/components/shop/CodeCopy.js.map +1 -1
  9. package/dist/components/shop/Gallery.js.map +1 -1
  10. package/dist/components/shop/Notice.js.map +1 -1
  11. package/dist/components/shop/PromoProducts.js.map +1 -1
  12. package/dist/components/shop/Search.js.map +1 -1
  13. package/dist/components/shop/bundle/Bundle.js.map +1 -1
  14. package/dist/components/shop/bundle/BundleAdd.js.map +1 -1
  15. package/dist/components/shop/cart/Cart.js.map +1 -1
  16. package/dist/components/shop/cart/CartAdd.js +1 -1
  17. package/dist/components/shop/cart/CartAdd.js.map +1 -1
  18. package/dist/components/shop/cart/CartItem.js +1 -1
  19. package/dist/components/shop/cart/CartItem.js.map +1 -1
  20. package/dist/components/shop/cart/CartTrigger.js.map +1 -1
  21. package/dist/components/shop/compare/CompareAdd.js.map +1 -1
  22. package/dist/components/shop/compare/CompareDelete.js.map +1 -1
  23. package/dist/components/shop/compare/CompareDeleteAll.js.map +1 -1
  24. package/dist/components/shop/filters/FilterSearch.js.map +1 -1
  25. package/dist/components/shop/filters/Price.js.map +1 -1
  26. package/dist/components/shop/order/Checkout.js +1 -1
  27. package/dist/components/shop/order/Checkout.js.map +1 -1
  28. package/dist/components/shop/order/CheckoutItem.js.map +1 -1
  29. package/dist/components/shop/order/OneClick.js.map +1 -1
  30. package/dist/components/shop/order/shipping/CheckoutShippingCourier.js.map +1 -1
  31. package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js.map +1 -1
  32. package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaWarehouse.js.map +1 -1
  33. package/dist/components/shop/order/shipping/CheckoutShippingPickup.js +1 -1
  34. package/dist/components/shop/order/shipping/CheckoutShippingPickup.js.map +1 -1
  35. package/dist/components/shop/order/shipping/CheckoutShippingUkrposhtaWarehouse.js.map +1 -1
  36. package/dist/components/shop/reviews/Question.js.map +1 -1
  37. package/dist/components/shop/reviews/Review.js.map +1 -1
  38. package/dist/components/shop/viewed/Viewed.js.map +1 -1
  39. package/dist/components/shop/viewed/ViewedDelete.js.map +1 -1
  40. package/dist/components/shop/viewed/Viewer.js +1 -1
  41. package/dist/components/shop/viewed/Viewer.js.map +1 -1
  42. package/dist/components/shop/wishlist/WishlistAdd.js +1 -1
  43. package/dist/components/shop/wishlist/WishlistAdd.js.map +1 -1
  44. package/dist/components/shop/wishlist/WishlistDelete.js.map +1 -1
  45. package/dist/forms/FormCheckbox.js.map +1 -1
  46. package/dist/forms/FormCheckboxes.js.map +1 -1
  47. package/dist/forms/FormPassword.js.map +1 -1
  48. package/dist/forms/FormRadio.js.map +1 -1
  49. package/dist/forms/FormRating.js.map +1 -1
  50. package/dist/forms/FormSelect.js.map +1 -1
  51. package/dist/forms/FormSwitch.js.map +1 -1
  52. package/dist/forms/FormText.js.map +1 -1
  53. package/dist/forms/FormTextarea.js.map +1 -1
  54. package/dist/global.js.map +1 -1
  55. package/dist/store.js.map +1 -1
  56. package/package.json +2 -2
@@ -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","script","name","props","showPlaceholders","type","Boolean","default","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","finally","cancel","commit","again","close","_hoisted_1","class","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_10","_hoisted_11","_openBlock","_createElementBlock","createElementBlock","_createElementVNode","_toDisplayString","_ctx","$parent","tokenValid","$setup","_hoisted_3","createElementVNode","innerHTML","_createBlock","createBlock","_component_SchemaForm","schemaRowClasses","validation-schema","afterForm","_normalizeClass","is-loading","onClick","apply","arguments","_hoisted_9"],"mappings":"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"}
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","script","name","props","showPlaceholders","type","Boolean","default","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","finally","cancel","commit","again","close","_hoisted_1","class","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_10","_hoisted_11","_openBlock","_createElementBlock","createElementBlock","_createElementVNode","_toDisplayString","_ctx","$parent","tokenValid","$setup","_hoisted_3","createElementVNode","innerHTML","_createBlock","createBlock","_component_SchemaForm","schemaRowClasses","validation-schema","afterForm","_normalizeClass","is-loading","onClick","apply","arguments","_hoisted_9"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sources":["../../../src/components/auth/User.vue","../../../src/components/auth/User.vue?vue&type=template&id=5079c4fc&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a href=\"#login\" class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\" v-if=\"modal\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a href=\"#login\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a href=\"#register\">{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\" :show-placeholders=\"showPlaceholders\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Cookies from 'js-cookie';\nimport { ref, computed, provide } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n\n if (window.authUserLogoutCallback) {\n window.authUserLogoutCallback();\n }\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n\n if (logged.value) {\n if (!user.value.is_social_registration_tracked) {\n let object = {\n event: 'sign_up',\n user_id: user.value.id,\n method: user.value.social_provider\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 } else if (!user.value.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: user.value.id,\n method: user.value.social_provider ? user.value.social_provider : '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 Cookies.set('user_id', user.value.id);\n }\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>","<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a href=\"#login\" class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\" v-if=\"modal\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a href=\"#login\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a href=\"#register\">{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\" :show-placeholders=\"showPlaceholders\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Cookies from 'js-cookie';\nimport { ref, computed, provide } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n\n if (window.authUserLogoutCallback) {\n window.authUserLogoutCallback();\n }\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n\n if (logged.value) {\n if (!user.value.is_social_registration_tracked) {\n let object = {\n event: 'sign_up',\n user_id: user.value.id,\n method: user.value.social_provider\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 } else if (!user.value.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: user.value.id,\n method: user.value.social_provider ? user.value.social_provider : '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 Cookies.set('user_id', user.value.id);\n }\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>"],"names":["script","name","props","resetToken","type","String","default","resetEmail","tokenValid","Boolean","forgetType","showPlaceholders","setup","store","useStore","user","computed","getters","modal","logged","Object","keys","value","length","mounted","ref","routes","presetedResetToken","presetedResetEmail","provide","close","commit","dispatch","finally","is_social_registration_tracked","is_login_tracked","object","event","user_id","id","method","social_provider","$env","debug","ecommerce","console","log","window","dataLayer","push","Cookies","set","addEventListener","e","key","open","register","logout","authUserLogoutCallback","class","_hoisted_2","_createElementVNode","createElementVNode","xlink:href","_hoisted_5","_hoisted_6","_hoisted_7","href","_hoisted_9","_hoisted_10","aria-hidden","role","_hoisted_15","$setup","_openBlock","_createElementBlock","createElementBlock","_hoisted_1","_renderSlot","_ctx","$slots","label","__","onClick","apply","arguments","_normalizeClass","is-active","renderSlot","_toDisplayString","_createBlock","_KeepAlive","_component_login","forget-type","$props","show-placeholders","createBlock","_component_registration","_createVNode","createVNode","_component_reset","openBlock","_hoisted_8","path","email","_hoisted_12","_hoisted_13","_hoisted_14","_Fragment","_renderList","renderList","item","text","icon","_hoisted_17","badge","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22"],"mappings":"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"}
1
+ {"version":3,"file":"User.js","sources":["../../../src/components/auth/User.vue","../../../src/components/auth/User.vue?vue&type=template&id=5079c4fc&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a href=\"#login\" class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\" v-if=\"modal\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a href=\"#login\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a href=\"#register\">{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\" :show-placeholders=\"showPlaceholders\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Cookies from 'js-cookie';\nimport { ref, computed, provide } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n\n if (window.authUserLogoutCallback) {\n window.authUserLogoutCallback();\n }\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n\n if (logged.value) {\n if (!user.value.is_social_registration_tracked) {\n let object = {\n event: 'sign_up',\n user_id: user.value.id,\n method: user.value.social_provider\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 } else if (!user.value.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: user.value.id,\n method: user.value.social_provider ? user.value.social_provider : '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 Cookies.set('user_id', user.value.id);\n }\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>","<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a href=\"#login\" class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\" v-if=\"modal\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a href=\"#login\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a href=\"#register\">{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\" :show-placeholders=\"showPlaceholders\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\" :show-placeholders=\"showPlaceholders\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Cookies from 'js-cookie';\nimport { ref, computed, provide } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n },\n showPlaceholders: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n\n if (window.authUserLogoutCallback) {\n window.authUserLogoutCallback();\n }\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n\n if (logged.value) {\n if (!user.value.is_social_registration_tracked) {\n let object = {\n event: 'sign_up',\n user_id: user.value.id,\n method: user.value.social_provider\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 } else if (!user.value.is_login_tracked) {\n let object = {\n event: 'login',\n user_id: user.value.id,\n method: user.value.social_provider ? user.value.social_provider : '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 Cookies.set('user_id', user.value.id);\n }\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>"],"names":["script","name","props","resetToken","type","String","default","resetEmail","tokenValid","Boolean","forgetType","showPlaceholders","setup","store","useStore","user","computed","getters","modal","logged","Object","keys","value","length","mounted","ref","routes","presetedResetToken","presetedResetEmail","provide","close","commit","dispatch","finally","is_social_registration_tracked","is_login_tracked","object","event","user_id","id","method","social_provider","$env","debug","ecommerce","console","log","window","dataLayer","push","Cookies","set","addEventListener","e","key","open","register","logout","authUserLogoutCallback","class","_hoisted_2","_createElementVNode","createElementVNode","xlink:href","_hoisted_5","_hoisted_6","_hoisted_7","href","_hoisted_9","_hoisted_10","aria-hidden","role","_hoisted_15","$setup","_openBlock","_createElementBlock","createElementBlock","_hoisted_1","_renderSlot","_ctx","$slots","label","__","onClick","apply","arguments","_normalizeClass","is-active","renderSlot","_toDisplayString","_createBlock","_KeepAlive","_component_login","forget-type","$props","show-placeholders","createBlock","_component_registration","_createVNode","createVNode","_component_reset","openBlock","_hoisted_8","path","email","_hoisted_12","_hoisted_13","_hoisted_14","_Fragment","_renderList","renderList","item","text","icon","_hoisted_17","badge","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeCopy.js","sources":["../../../src/components/shop/CodeCopy.vue","../../../src/components/shop/CodeCopy.vue?vue&type=template&id=b4125d18&lang.js"],"sourcesContent":["<template>\n <div\n class=\"shop-code\"\n v-bind:class=\"className\"\n v-on:mouseenter=\"enter\"\n v-on:mouseleave=\"leave\"\n v-on:click=\"copyToClipboard\"\n v-bind:style=\"style\"\n ref=\"wrapper\"\n >\n <span v-if=\"isHovered\">{{ copyLabel }}</span>\n <slot :code=\"code\" v-else>\n {{ code }}\n </slot>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport { useToast } from \"vue-toastification\";\nimport copy from \"copy-to-clipboard\";\n\nconst toast = useToast();\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"code-copy\",\n props: {\n code: {\n type: String,\n default: \"\",\n },\n className: {\n type: String,\n default: \"\",\n },\n },\n setup(props) {\n const code = props.code;\n const className = props.className;\n const isHovered = ref(false);\n const copyLabel = __(\"shop.copy\");\n const style = ref(false);\n const wrapper = ref(null);\n\n const copyToClipboard = () => {\n copy(code);\n\n toast(__(\"shop.copied\", { code: code }), {\n type: \"success\",\n });\n };\n\n const enter = () => {\n style.value = {\n width: wrapper.value.offsetWidth + \"px\",\n };\n\n isHovered.value = true;\n };\n\n const leave = () => {\n isHovered.value = false;\n };\n\n return {\n code,\n copyLabel,\n isHovered,\n className,\n isHovered,\n style,\n enter,\n leave,\n copyToClipboard,\n wrapper,\n };\n },\n});\n</script>","<template>\n <div\n class=\"shop-code\"\n v-bind:class=\"className\"\n v-on:mouseenter=\"enter\"\n v-on:mouseleave=\"leave\"\n v-on:click=\"copyToClipboard\"\n v-bind:style=\"style\"\n ref=\"wrapper\"\n >\n <span v-if=\"isHovered\">{{ copyLabel }}</span>\n <slot :code=\"code\" v-else>\n {{ code }}\n </slot>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport { useToast } from \"vue-toastification\";\nimport copy from \"copy-to-clipboard\";\n\nconst toast = useToast();\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"code-copy\",\n props: {\n code: {\n type: String,\n default: \"\",\n },\n className: {\n type: String,\n default: \"\",\n },\n },\n setup(props) {\n const code = props.code;\n const className = props.className;\n const isHovered = ref(false);\n const copyLabel = __(\"shop.copy\");\n const style = ref(false);\n const wrapper = ref(null);\n\n const copyToClipboard = () => {\n copy(code);\n\n toast(__(\"shop.copied\", { code: code }), {\n type: \"success\",\n });\n };\n\n const enter = () => {\n style.value = {\n width: wrapper.value.offsetWidth + \"px\",\n };\n\n isHovered.value = true;\n };\n\n const leave = () => {\n isHovered.value = false;\n };\n\n return {\n code,\n copyLabel,\n isHovered,\n className,\n isHovered,\n style,\n enter,\n leave,\n copyToClipboard,\n wrapper,\n };\n },\n});\n</script>"],"names":["toast","useToast","script","defineComponent","name","props","code","type","String","default","className","setup","isHovered","ref","copyLabel","__","style","wrapper","_defineProperty","enter","value","width","offsetWidth","copy","_createElementBlock","createElementBlock","class","_normalizeClass","_ctx","onMouseenter","apply","arguments","onMouseleave","leave","onClick","copyToClipboard","_openBlock","_renderSlot","renderSlot","$slots"],"mappings":"6mBAqBA,IAAMA,EAAQC,EAAQA,WAEPC,EAAcC,kBAAgB,CACzCC,KAAM,YACNC,MAAO,CACHC,KAAM,CACFC,KAAMC,OACNC,QAAS,IAEbC,UAAW,CACPH,KAAMC,OACNC,QAAS,KAGjBE,MAAK,SAACN,GACF,IAAMC,EAAOD,EAAMC,KACbI,EAAYL,EAAMK,UAClBE,EAAYC,OAAI,GAChBC,EAAYC,GAAG,aACfC,EAAQH,OAAI,GACZI,EAAUJ,MAAI,MAsBpB,OAAAK,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,CACIZ,KAAAA,EACAQ,UAAAA,EACAF,UAAAA,EACAF,UAAAA,GACAE,YAAAA,GACAI,QAAAA,GACAG,SAnBU,WACVH,EAAMI,MAAQ,CACVC,MAAOJ,EAAQG,MAAME,YAAc,MAGvCV,EAAUQ,OAAQ,cAGR,WACVR,EAAUQ,OAAQ,KAWb,mBA5Be,WACpBG,EAAI,QAACjB,GAELN,EAAMe,GAAG,cAAe,CAAET,KAAMA,IAAS,CACrCC,KAAM,eAyBK,UACfU,oECxERO,EAaKC,mBAAA,MAAA,CAZDC,MAAKC,EAAAA,eAAA,CAAC,YACQC,EAASlB,YAClBmB,2CAAYD,EAAKT,OAAAS,EAAAT,MAAAW,MAAAF,EAAAG,aACjBC,2CAAYJ,EAAKK,OAAAL,EAAAK,MAAAH,MAAAF,EAAAG,aACjBG,sCAAON,EAAeO,iBAAAP,EAAAO,gBAAAL,MAAAF,EAAAG,aACpBf,uBAAOY,EAAKZ,OACnBH,IAAI,YAEQe,EAAShB,WAArBwB,EAAAA,YAAAZ,EAAAC,mBAA4C,2BAAlBG,EAAQd,WAAA,IAClCuB,EAEMC,WAAAV,EAAAW,OAAA,UAAA,OAFCjC,KAAMsB,EAAItB,OAAjB,WAAA,MAEM,qCADCsB"}
1
+ {"version":3,"file":"CodeCopy.js","sources":["../../../src/components/shop/CodeCopy.vue","../../../src/components/shop/CodeCopy.vue?vue&type=template&id=b4125d18&lang.js"],"sourcesContent":["<template>\n <div\n class=\"shop-code\"\n v-bind:class=\"className\"\n v-on:mouseenter=\"enter\"\n v-on:mouseleave=\"leave\"\n v-on:click=\"copyToClipboard\"\n v-bind:style=\"style\"\n ref=\"wrapper\"\n >\n <span v-if=\"isHovered\">{{ copyLabel }}</span>\n <slot :code=\"code\" v-else>\n {{ code }}\n </slot>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport { useToast } from \"vue-toastification\";\nimport copy from \"copy-to-clipboard\";\n\nconst toast = useToast();\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"code-copy\",\n props: {\n code: {\n type: String,\n default: \"\",\n },\n className: {\n type: String,\n default: \"\",\n },\n },\n setup(props) {\n const code = props.code;\n const className = props.className;\n const isHovered = ref(false);\n const copyLabel = __(\"shop.copy\");\n const style = ref(false);\n const wrapper = ref(null);\n\n const copyToClipboard = () => {\n copy(code);\n\n toast(__(\"shop.copied\", { code: code }), {\n type: \"success\",\n });\n };\n\n const enter = () => {\n style.value = {\n width: wrapper.value.offsetWidth + \"px\",\n };\n\n isHovered.value = true;\n };\n\n const leave = () => {\n isHovered.value = false;\n };\n\n return {\n code,\n copyLabel,\n isHovered,\n className,\n isHovered,\n style,\n enter,\n leave,\n copyToClipboard,\n wrapper,\n };\n },\n});\n</script>","<template>\n <div\n class=\"shop-code\"\n v-bind:class=\"className\"\n v-on:mouseenter=\"enter\"\n v-on:mouseleave=\"leave\"\n v-on:click=\"copyToClipboard\"\n v-bind:style=\"style\"\n ref=\"wrapper\"\n >\n <span v-if=\"isHovered\">{{ copyLabel }}</span>\n <slot :code=\"code\" v-else>\n {{ code }}\n </slot>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport { useToast } from \"vue-toastification\";\nimport copy from \"copy-to-clipboard\";\n\nconst toast = useToast();\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"code-copy\",\n props: {\n code: {\n type: String,\n default: \"\",\n },\n className: {\n type: String,\n default: \"\",\n },\n },\n setup(props) {\n const code = props.code;\n const className = props.className;\n const isHovered = ref(false);\n const copyLabel = __(\"shop.copy\");\n const style = ref(false);\n const wrapper = ref(null);\n\n const copyToClipboard = () => {\n copy(code);\n\n toast(__(\"shop.copied\", { code: code }), {\n type: \"success\",\n });\n };\n\n const enter = () => {\n style.value = {\n width: wrapper.value.offsetWidth + \"px\",\n };\n\n isHovered.value = true;\n };\n\n const leave = () => {\n isHovered.value = false;\n };\n\n return {\n code,\n copyLabel,\n isHovered,\n className,\n isHovered,\n style,\n enter,\n leave,\n copyToClipboard,\n wrapper,\n };\n },\n});\n</script>"],"names":["toast","useToast","script","defineComponent","name","props","code","type","String","default","className","setup","isHovered","ref","copyLabel","__","style","wrapper","_defineProperty","enter","value","width","offsetWidth","copy","_createElementBlock","createElementBlock","class","_normalizeClass","_ctx","onMouseenter","apply","arguments","onMouseleave","leave","onClick","copyToClipboard","_openBlock","_renderSlot","renderSlot","$slots"],"mappings":"6mBAqBA,IAAMA,EAAQC,EAAQA,WAEPC,EAAcC,kBAAgB,CACzCC,KAAM,YACNC,MAAO,CACHC,KAAM,CACFC,KAAMC,OACNC,QAAS,IAEbC,UAAW,CACPH,KAAMC,OACNC,QAAS,KAGjBE,MAAAA,SAAMN,GACF,IAAMC,EAAOD,EAAMC,KACbI,EAAYL,EAAMK,UAClBE,EAAYC,OAAI,GAChBC,EAAYC,GAAG,aACfC,EAAQH,OAAI,GACZI,EAAUJ,MAAI,MAsBpB,OAAAK,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,CACIZ,KAAAA,EACAQ,UAAAA,EACAF,UAAAA,EACAF,UAAAA,GACAE,YAAAA,GACAI,QAAAA,GACAG,SAnBU,WACVH,EAAMI,MAAQ,CACVC,MAAOJ,EAAQG,MAAME,YAAc,MAGvCV,EAAUQ,OAAQ,cAGR,WACVR,EAAUQ,OAAQ,KAWb,mBA5Be,WACpBG,EAAI,QAACjB,GAELN,EAAMe,GAAG,cAAe,CAAET,KAAMA,IAAS,CACrCC,KAAM,eAyBK,UACfU,oECxERO,EAaKC,mBAAA,MAAA,CAZDC,MAAKC,EAAAA,eAAA,CAAC,YACQC,EAASlB,YAClBmB,2CAAYD,EAAKT,OAAAS,EAAAT,MAAAW,MAAAF,EAAAG,aACjBC,2CAAYJ,EAAKK,OAAAL,EAAAK,MAAAH,MAAAF,EAAAG,aACjBG,sCAAON,EAAeO,iBAAAP,EAAAO,gBAAAL,MAAAF,EAAAG,aACpBf,uBAAOY,EAAKZ,OACnBH,IAAI,YAEQe,EAAShB,WAArBwB,EAAAA,YAAAZ,EAAAC,mBAA4C,2BAAlBG,EAAQd,WAAA,IAClCuB,EAEMC,WAAAV,EAAAW,OAAA,UAAA,OAFCjC,KAAMsB,EAAItB,OAAjB,WAAA,MAEM,qCADCsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.js","sources":["../../../src/components/shop/Gallery.vue","../../../src/components/shop/Gallery.vue?vue&type=template&id=216a5c41&lang.js"],"sourcesContent":["<template>\n <button class=\"delete is-large\" @click=\"close\" v-if=\"fullscreen\" v-bind:class=\"{ 'is-hidden': !modal }\"></button>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport Swiper from 'swiper';\nimport { Navigation, Mousewheel, Thumbs, FreeMode } from 'swiper/modules';\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"gallery\",\n props: {\n thumbsDirection: {\n type: String,\n default: \"horizontal\",\n },\n fullscreenThumbsDirection: {\n type: String,\n default: \"horizontal\",\n },\n prev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n next: {\n type: String,\n default: \".swiper-button-next\",\n },\n thumbPrev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n thumbNext: {\n type: String,\n default: \".swiper-button-next\",\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n isResizeThumbs: {\n type: Boolean,\n default: false,\n },\n thumbsSpaceBetween: {\n type: Number,\n default: 10,\n },\n },\n setup(props) {\n const modal = ref(false);\n let resizeTimeout;\n let thumbs;\n let slider;\n let thumbsSwiper;\n let sliderSwiper;\n\n const close = () => {\n document.body.classList.remove(\"product-gallery-modal-open\");\n modal.value = false;\n\n update(\"close\");\n\n if (props.isResizeThumbs) {\n resizeThumbsSwiper();\n }\n };\n\n const open = () => {\n document.body.classList.add(\"product-gallery-modal-open\");\n modal.value = true;\n\n update(\"open\");\n };\n\n const update = (action) => {\n if (thumbs) {\n if (props.thumbsDirection != props.fullscreenThumbsDirection) {\n thumbsSwiper.changeDirection(\n action == \"open\"\n ? props.fullscreenThumbsDirection\n : props.thumbsDirection\n );\n } else {\n thumbsSwiper.update();\n }\n }\n\n sliderSwiper.update();\n };\n\n window.addEventListener(\"keyup\", (e) => {\n if (modal.value && e.key === \"Escape\") {\n close();\n }\n });\n\n const resizeThumbsSwiper = () => {\n thumbs.style.height = parseInt(slider.offsetHeight) + \"px\";\n thumbsSwiper.update();\n };\n\n const resizeBounced = () => {\n clearTimeout(resizeTimeout);\n\n resizeTimeout = setTimeout(() => {\n resizeThumbsSwiper();\n }, 500);\n };\n\n const init = () => {\n thumbs = document.getElementById(\"product-gallery-thumbs\");\n slider = document.getElementById(\"product-gallery\");\n\n if (thumbs) {\n thumbsSwiper = new Swiper(thumbs, {\n spaceBetween: props.thumbsSpaceBetween,\n slidesPerView: \"auto\",\n mousewheel: {\n forceToAxis: true,\n },\n freeMode: {\n enabled: true\n },\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n direction: props.thumbsDirection,\n navigation: {\n nextEl: props.thumbNext,\n prevEl: props.thumbPrev,\n },\n modules: [Navigation, Mousewheel, FreeMode, Thumbs]\n });\n\n if (props.isResizeThumbs) {\n window.addEventListener(\"resize\", resizeBounced, { passive: true });\n resizeThumbsSwiper();\n }\n\n thumbs.classList.remove(\"not-inited\");\n }\n\n if (props.fullscreen) {\n slider.addEventListener(\"click\", open);\n }\n\n if (slider) {\n let options = {\n spaceBetween: 10,\n mousewheel: {\n forceToAxis: true,\n },\n centeredSlides: true,\n navigation: {\n nextEl: props.next,\n prevEl: props.prev,\n },\n };\n\n if (thumbsSwiper) {\n options.thumbs = {\n swiper: thumbsSwiper,\n };\n }\n\n options.modules = [Navigation, Mousewheel, FreeMode, Thumbs];\n\n sliderSwiper = new Swiper(slider, options);\n }\n\n update(\"close\");\n };\n\n document.addEventListener(\"DOMContentLoaded\", init, false);\n\n return {\n modal,\n close,\n };\n },\n});\n</script>","<template>\n <button class=\"delete is-large\" @click=\"close\" v-if=\"fullscreen\" v-bind:class=\"{ 'is-hidden': !modal }\"></button>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport Swiper from 'swiper';\nimport { Navigation, Mousewheel, Thumbs, FreeMode } from 'swiper/modules';\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"gallery\",\n props: {\n thumbsDirection: {\n type: String,\n default: \"horizontal\",\n },\n fullscreenThumbsDirection: {\n type: String,\n default: \"horizontal\",\n },\n prev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n next: {\n type: String,\n default: \".swiper-button-next\",\n },\n thumbPrev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n thumbNext: {\n type: String,\n default: \".swiper-button-next\",\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n isResizeThumbs: {\n type: Boolean,\n default: false,\n },\n thumbsSpaceBetween: {\n type: Number,\n default: 10,\n },\n },\n setup(props) {\n const modal = ref(false);\n let resizeTimeout;\n let thumbs;\n let slider;\n let thumbsSwiper;\n let sliderSwiper;\n\n const close = () => {\n document.body.classList.remove(\"product-gallery-modal-open\");\n modal.value = false;\n\n update(\"close\");\n\n if (props.isResizeThumbs) {\n resizeThumbsSwiper();\n }\n };\n\n const open = () => {\n document.body.classList.add(\"product-gallery-modal-open\");\n modal.value = true;\n\n update(\"open\");\n };\n\n const update = (action) => {\n if (thumbs) {\n if (props.thumbsDirection != props.fullscreenThumbsDirection) {\n thumbsSwiper.changeDirection(\n action == \"open\"\n ? props.fullscreenThumbsDirection\n : props.thumbsDirection\n );\n } else {\n thumbsSwiper.update();\n }\n }\n\n sliderSwiper.update();\n };\n\n window.addEventListener(\"keyup\", (e) => {\n if (modal.value && e.key === \"Escape\") {\n close();\n }\n });\n\n const resizeThumbsSwiper = () => {\n thumbs.style.height = parseInt(slider.offsetHeight) + \"px\";\n thumbsSwiper.update();\n };\n\n const resizeBounced = () => {\n clearTimeout(resizeTimeout);\n\n resizeTimeout = setTimeout(() => {\n resizeThumbsSwiper();\n }, 500);\n };\n\n const init = () => {\n thumbs = document.getElementById(\"product-gallery-thumbs\");\n slider = document.getElementById(\"product-gallery\");\n\n if (thumbs) {\n thumbsSwiper = new Swiper(thumbs, {\n spaceBetween: props.thumbsSpaceBetween,\n slidesPerView: \"auto\",\n mousewheel: {\n forceToAxis: true,\n },\n freeMode: {\n enabled: true\n },\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n direction: props.thumbsDirection,\n navigation: {\n nextEl: props.thumbNext,\n prevEl: props.thumbPrev,\n },\n modules: [Navigation, Mousewheel, FreeMode, Thumbs]\n });\n\n if (props.isResizeThumbs) {\n window.addEventListener(\"resize\", resizeBounced, { passive: true });\n resizeThumbsSwiper();\n }\n\n thumbs.classList.remove(\"not-inited\");\n }\n\n if (props.fullscreen) {\n slider.addEventListener(\"click\", open);\n }\n\n if (slider) {\n let options = {\n spaceBetween: 10,\n mousewheel: {\n forceToAxis: true,\n },\n centeredSlides: true,\n navigation: {\n nextEl: props.next,\n prevEl: props.prev,\n },\n };\n\n if (thumbsSwiper) {\n options.thumbs = {\n swiper: thumbsSwiper,\n };\n }\n\n options.modules = [Navigation, Mousewheel, FreeMode, Thumbs];\n\n sliderSwiper = new Swiper(slider, options);\n }\n\n update(\"close\");\n };\n\n document.addEventListener(\"DOMContentLoaded\", init, false);\n\n return {\n modal,\n close,\n };\n },\n});\n</script>"],"names":["script","defineComponent","name","props","thumbsDirection","type","String","default","fullscreenThumbsDirection","prev","next","thumbPrev","thumbNext","fullscreen","Boolean","isResizeThumbs","thumbsSpaceBetween","Number","setup","resizeTimeout","thumbs","slider","thumbsSwiper","sliderSwiper","modal","ref","close","document","body","classList","remove","value","update","resizeThumbsSwiper","open","add","action","changeDirection","window","addEventListener","e","key","style","height","parseInt","offsetHeight","resizeBounced","clearTimeout","setTimeout","getElementById","Swiper","spaceBetween","slidesPerView","mousewheel","forceToAxis","freeMode","enabled","watchSlidesVisibility","watchSlidesProgress","direction","navigation","nextEl","prevEl","modules","Navigation","Mousewheel","FreeMode","Thumbs","passive","options","centeredSlides","swiper","_ctx","_createElementBlock","class","_normalizeClass","onClick","apply","arguments"],"mappings":"qKAQeA,EAAcC,kBAAgB,CACzCC,KAAM,UACNC,MAAO,CACHC,gBAAiB,CACbC,KAAMC,OACNC,QAAS,cAEbC,0BAA2B,CACvBH,KAAMC,OACNC,QAAS,cAEbE,KAAM,CACFJ,KAAMC,OACNC,QAAS,uBAEbG,KAAM,CACFL,KAAMC,OACNC,QAAS,uBAEbI,UAAW,CACPN,KAAMC,OACNC,QAAS,uBAEbK,UAAW,CACPP,KAAMC,OACNC,QAAS,uBAEbM,WAAY,CACRR,KAAMS,QACNP,SAAS,GAEbQ,eAAgB,CACZV,KAAMS,QACNP,SAAS,GAEbS,mBAAoB,CAChBX,KAAMY,OACNV,QAAS,KAGjBW,MAAK,SAACf,GACF,IACIgB,EACAC,EACAC,EACAC,EACAC,EALEC,EAAQC,OAAI,GAOZC,EAAQ,WACVC,SAASC,KAAKC,UAAUC,OAAO,8BAC/BN,EAAMO,OAAQ,EAEdC,EAAO,SAEH7B,EAAMY,gBACNkB,KAIFC,EAAO,WACTP,SAASC,KAAKC,UAAUM,IAAI,8BAC5BX,EAAMO,OAAQ,EAEdC,EAAO,SAGLA,EAAS,SAACI,GACRhB,IACIjB,EAAMC,iBAAmBD,EAAMK,0BAC/Bc,EAAae,gBACC,QAAVD,EACMjC,EAAMK,0BACNL,EAAMC,iBAGhBkB,EAAaU,UAIrBT,EAAaS,UAGjBM,OAAOC,iBAAiB,SAAS,SAACC,GAC1BhB,EAAMO,OAAmB,WAAVS,EAAEC,KACjBf,OAIR,IAAMO,EAAqB,WACvBb,EAAOsB,MAAMC,OAASC,SAASvB,EAAOwB,cAAgB,KACtDvB,EAAaU,UAGXc,EAAgB,WAClBC,aAAa5B,GAEbA,EAAgB6B,YAAW,WACvBf,MACD,MAoEP,OAFAN,SAASY,iBAAiB,oBA/Db,WAoCT,GAnCAnB,EAASO,SAASsB,eAAe,0BACjC5B,EAASM,SAASsB,eAAe,mBAE7B7B,IACAE,EAAe,IAAI4B,EAAM,QAAC9B,EAAQ,CAC9B+B,aAAchD,EAAMa,mBACpBoC,cAAe,OACfC,WAAY,CACRC,aAAa,GAEjBC,SAAU,CACNC,SAAS,GAEbC,uBAAuB,EACvBC,qBAAqB,EACrBC,UAAWxD,EAAMC,gBACjBwD,WAAY,CACRC,OAAQ1D,EAAMS,UACdkD,OAAQ3D,EAAMQ,WAElBoD,QAAS,CAACC,EAAUA,WAAEC,aAAYC,EAAAA,SAAUC,EAAAA,UAG5ChE,EAAMY,iBACNuB,OAAOC,iBAAiB,SAAUO,EAAe,CAAEsB,SAAS,IAC5DnC,KAGJb,EAAOS,UAAUC,OAAO,eAGxB3B,EAAMU,YACNQ,EAAOkB,iBAAiB,QAASL,GAGjCb,EAAQ,CACR,IAAIgD,EAAU,CACVlB,aAAc,GACdE,WAAY,CACRC,aAAa,GAEjBgB,gBAAgB,EAChBV,WAAY,CACRC,OAAQ1D,EAAMO,KACdoD,OAAQ3D,EAAMM,OAIlBa,IACA+C,EAAQjD,OAAS,CACbmD,OAAQjD,IAIhB+C,EAAQN,QAAU,CAACC,EAAAA,WAAYC,EAAAA,WAAYC,EAAAA,SAAUC,EAAAA,QAErD5C,EAAe,IAAI2B,EAAAA,QAAO7B,EAAQgD,GAGtCrC,EAAO,YAGyC,GAE7C,CACHR,MAAAA,EACAE,MAAAA,4CC/K6C8C,EAAU3D,0BAA/D4D,EAAAA,mBAAgH,SAAA,OAAxGC,MAAKC,EAAAA,eAAA,CAAC,gCAAiFH,EAAMhD,SAApEoD,sCAAOJ,EAAK9C,OAAA8C,EAAA9C,MAAAmD,MAAAL,EAAAM"}
1
+ {"version":3,"file":"Gallery.js","sources":["../../../src/components/shop/Gallery.vue","../../../src/components/shop/Gallery.vue?vue&type=template&id=216a5c41&lang.js"],"sourcesContent":["<template>\n <button class=\"delete is-large\" @click=\"close\" v-if=\"fullscreen\" v-bind:class=\"{ 'is-hidden': !modal }\"></button>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport Swiper from 'swiper';\nimport { Navigation, Mousewheel, Thumbs, FreeMode } from 'swiper/modules';\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"gallery\",\n props: {\n thumbsDirection: {\n type: String,\n default: \"horizontal\",\n },\n fullscreenThumbsDirection: {\n type: String,\n default: \"horizontal\",\n },\n prev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n next: {\n type: String,\n default: \".swiper-button-next\",\n },\n thumbPrev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n thumbNext: {\n type: String,\n default: \".swiper-button-next\",\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n isResizeThumbs: {\n type: Boolean,\n default: false,\n },\n thumbsSpaceBetween: {\n type: Number,\n default: 10,\n },\n },\n setup(props) {\n const modal = ref(false);\n let resizeTimeout;\n let thumbs;\n let slider;\n let thumbsSwiper;\n let sliderSwiper;\n\n const close = () => {\n document.body.classList.remove(\"product-gallery-modal-open\");\n modal.value = false;\n\n update(\"close\");\n\n if (props.isResizeThumbs) {\n resizeThumbsSwiper();\n }\n };\n\n const open = () => {\n document.body.classList.add(\"product-gallery-modal-open\");\n modal.value = true;\n\n update(\"open\");\n };\n\n const update = (action) => {\n if (thumbs) {\n if (props.thumbsDirection != props.fullscreenThumbsDirection) {\n thumbsSwiper.changeDirection(\n action == \"open\"\n ? props.fullscreenThumbsDirection\n : props.thumbsDirection\n );\n } else {\n thumbsSwiper.update();\n }\n }\n\n sliderSwiper.update();\n };\n\n window.addEventListener(\"keyup\", (e) => {\n if (modal.value && e.key === \"Escape\") {\n close();\n }\n });\n\n const resizeThumbsSwiper = () => {\n thumbs.style.height = parseInt(slider.offsetHeight) + \"px\";\n thumbsSwiper.update();\n };\n\n const resizeBounced = () => {\n clearTimeout(resizeTimeout);\n\n resizeTimeout = setTimeout(() => {\n resizeThumbsSwiper();\n }, 500);\n };\n\n const init = () => {\n thumbs = document.getElementById(\"product-gallery-thumbs\");\n slider = document.getElementById(\"product-gallery\");\n\n if (thumbs) {\n thumbsSwiper = new Swiper(thumbs, {\n spaceBetween: props.thumbsSpaceBetween,\n slidesPerView: \"auto\",\n mousewheel: {\n forceToAxis: true,\n },\n freeMode: {\n enabled: true\n },\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n direction: props.thumbsDirection,\n navigation: {\n nextEl: props.thumbNext,\n prevEl: props.thumbPrev,\n },\n modules: [Navigation, Mousewheel, FreeMode, Thumbs]\n });\n\n if (props.isResizeThumbs) {\n window.addEventListener(\"resize\", resizeBounced, { passive: true });\n resizeThumbsSwiper();\n }\n\n thumbs.classList.remove(\"not-inited\");\n }\n\n if (props.fullscreen) {\n slider.addEventListener(\"click\", open);\n }\n\n if (slider) {\n let options = {\n spaceBetween: 10,\n mousewheel: {\n forceToAxis: true,\n },\n centeredSlides: true,\n navigation: {\n nextEl: props.next,\n prevEl: props.prev,\n },\n };\n\n if (thumbsSwiper) {\n options.thumbs = {\n swiper: thumbsSwiper,\n };\n }\n\n options.modules = [Navigation, Mousewheel, FreeMode, Thumbs];\n\n sliderSwiper = new Swiper(slider, options);\n }\n\n update(\"close\");\n };\n\n document.addEventListener(\"DOMContentLoaded\", init, false);\n\n return {\n modal,\n close,\n };\n },\n});\n</script>","<template>\n <button class=\"delete is-large\" @click=\"close\" v-if=\"fullscreen\" v-bind:class=\"{ 'is-hidden': !modal }\"></button>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport Swiper from 'swiper';\nimport { Navigation, Mousewheel, Thumbs, FreeMode } from 'swiper/modules';\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"gallery\",\n props: {\n thumbsDirection: {\n type: String,\n default: \"horizontal\",\n },\n fullscreenThumbsDirection: {\n type: String,\n default: \"horizontal\",\n },\n prev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n next: {\n type: String,\n default: \".swiper-button-next\",\n },\n thumbPrev: {\n type: String,\n default: \".swiper-button-prev\",\n },\n thumbNext: {\n type: String,\n default: \".swiper-button-next\",\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n isResizeThumbs: {\n type: Boolean,\n default: false,\n },\n thumbsSpaceBetween: {\n type: Number,\n default: 10,\n },\n },\n setup(props) {\n const modal = ref(false);\n let resizeTimeout;\n let thumbs;\n let slider;\n let thumbsSwiper;\n let sliderSwiper;\n\n const close = () => {\n document.body.classList.remove(\"product-gallery-modal-open\");\n modal.value = false;\n\n update(\"close\");\n\n if (props.isResizeThumbs) {\n resizeThumbsSwiper();\n }\n };\n\n const open = () => {\n document.body.classList.add(\"product-gallery-modal-open\");\n modal.value = true;\n\n update(\"open\");\n };\n\n const update = (action) => {\n if (thumbs) {\n if (props.thumbsDirection != props.fullscreenThumbsDirection) {\n thumbsSwiper.changeDirection(\n action == \"open\"\n ? props.fullscreenThumbsDirection\n : props.thumbsDirection\n );\n } else {\n thumbsSwiper.update();\n }\n }\n\n sliderSwiper.update();\n };\n\n window.addEventListener(\"keyup\", (e) => {\n if (modal.value && e.key === \"Escape\") {\n close();\n }\n });\n\n const resizeThumbsSwiper = () => {\n thumbs.style.height = parseInt(slider.offsetHeight) + \"px\";\n thumbsSwiper.update();\n };\n\n const resizeBounced = () => {\n clearTimeout(resizeTimeout);\n\n resizeTimeout = setTimeout(() => {\n resizeThumbsSwiper();\n }, 500);\n };\n\n const init = () => {\n thumbs = document.getElementById(\"product-gallery-thumbs\");\n slider = document.getElementById(\"product-gallery\");\n\n if (thumbs) {\n thumbsSwiper = new Swiper(thumbs, {\n spaceBetween: props.thumbsSpaceBetween,\n slidesPerView: \"auto\",\n mousewheel: {\n forceToAxis: true,\n },\n freeMode: {\n enabled: true\n },\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n direction: props.thumbsDirection,\n navigation: {\n nextEl: props.thumbNext,\n prevEl: props.thumbPrev,\n },\n modules: [Navigation, Mousewheel, FreeMode, Thumbs]\n });\n\n if (props.isResizeThumbs) {\n window.addEventListener(\"resize\", resizeBounced, { passive: true });\n resizeThumbsSwiper();\n }\n\n thumbs.classList.remove(\"not-inited\");\n }\n\n if (props.fullscreen) {\n slider.addEventListener(\"click\", open);\n }\n\n if (slider) {\n let options = {\n spaceBetween: 10,\n mousewheel: {\n forceToAxis: true,\n },\n centeredSlides: true,\n navigation: {\n nextEl: props.next,\n prevEl: props.prev,\n },\n };\n\n if (thumbsSwiper) {\n options.thumbs = {\n swiper: thumbsSwiper,\n };\n }\n\n options.modules = [Navigation, Mousewheel, FreeMode, Thumbs];\n\n sliderSwiper = new Swiper(slider, options);\n }\n\n update(\"close\");\n };\n\n document.addEventListener(\"DOMContentLoaded\", init, false);\n\n return {\n modal,\n close,\n };\n },\n});\n</script>"],"names":["script","defineComponent","name","props","thumbsDirection","type","String","default","fullscreenThumbsDirection","prev","next","thumbPrev","thumbNext","fullscreen","Boolean","isResizeThumbs","thumbsSpaceBetween","Number","setup","resizeTimeout","thumbs","slider","thumbsSwiper","sliderSwiper","modal","ref","close","document","body","classList","remove","value","update","resizeThumbsSwiper","open","add","action","changeDirection","window","addEventListener","e","key","style","height","parseInt","offsetHeight","resizeBounced","clearTimeout","setTimeout","getElementById","Swiper","spaceBetween","slidesPerView","mousewheel","forceToAxis","freeMode","enabled","watchSlidesVisibility","watchSlidesProgress","direction","navigation","nextEl","prevEl","modules","Navigation","Mousewheel","FreeMode","Thumbs","passive","options","centeredSlides","swiper","_ctx","_createElementBlock","class","_normalizeClass","onClick","apply","arguments"],"mappings":"qKAQeA,EAAcC,kBAAgB,CACzCC,KAAM,UACNC,MAAO,CACHC,gBAAiB,CACbC,KAAMC,OACNC,QAAS,cAEbC,0BAA2B,CACvBH,KAAMC,OACNC,QAAS,cAEbE,KAAM,CACFJ,KAAMC,OACNC,QAAS,uBAEbG,KAAM,CACFL,KAAMC,OACNC,QAAS,uBAEbI,UAAW,CACPN,KAAMC,OACNC,QAAS,uBAEbK,UAAW,CACPP,KAAMC,OACNC,QAAS,uBAEbM,WAAY,CACRR,KAAMS,QACNP,SAAS,GAEbQ,eAAgB,CACZV,KAAMS,QACNP,SAAS,GAEbS,mBAAoB,CAChBX,KAAMY,OACNV,QAAS,KAGjBW,MAAAA,SAAMf,GACF,IACIgB,EACAC,EACAC,EACAC,EACAC,EALEC,EAAQC,OAAI,GAOZC,EAAQ,WACVC,SAASC,KAAKC,UAAUC,OAAO,8BAC/BN,EAAMO,OAAQ,EAEdC,EAAO,SAEH7B,EAAMY,gBACNkB,KAIFC,EAAO,WACTP,SAASC,KAAKC,UAAUM,IAAI,8BAC5BX,EAAMO,OAAQ,EAEdC,EAAO,SAGLA,EAAS,SAACI,GACRhB,IACIjB,EAAMC,iBAAmBD,EAAMK,0BAC/Bc,EAAae,gBACC,QAAVD,EACMjC,EAAMK,0BACNL,EAAMC,iBAGhBkB,EAAaU,UAIrBT,EAAaS,UAGjBM,OAAOC,iBAAiB,SAAS,SAACC,GAC1BhB,EAAMO,OAAmB,WAAVS,EAAEC,KACjBf,OAIR,IAAMO,EAAqB,WACvBb,EAAOsB,MAAMC,OAASC,SAASvB,EAAOwB,cAAgB,KACtDvB,EAAaU,UAGXc,EAAgB,WAClBC,aAAa5B,GAEbA,EAAgB6B,YAAW,WACvBf,MACD,MAoEP,OAFAN,SAASY,iBAAiB,oBA/Db,WAoCT,GAnCAnB,EAASO,SAASsB,eAAe,0BACjC5B,EAASM,SAASsB,eAAe,mBAE7B7B,IACAE,EAAe,IAAI4B,EAAM,QAAC9B,EAAQ,CAC9B+B,aAAchD,EAAMa,mBACpBoC,cAAe,OACfC,WAAY,CACRC,aAAa,GAEjBC,SAAU,CACNC,SAAS,GAEbC,uBAAuB,EACvBC,qBAAqB,EACrBC,UAAWxD,EAAMC,gBACjBwD,WAAY,CACRC,OAAQ1D,EAAMS,UACdkD,OAAQ3D,EAAMQ,WAElBoD,QAAS,CAACC,EAAUA,WAAEC,aAAYC,EAAAA,SAAUC,EAAAA,UAG5ChE,EAAMY,iBACNuB,OAAOC,iBAAiB,SAAUO,EAAe,CAAEsB,SAAS,IAC5DnC,KAGJb,EAAOS,UAAUC,OAAO,eAGxB3B,EAAMU,YACNQ,EAAOkB,iBAAiB,QAASL,GAGjCb,EAAQ,CACR,IAAIgD,EAAU,CACVlB,aAAc,GACdE,WAAY,CACRC,aAAa,GAEjBgB,gBAAgB,EAChBV,WAAY,CACRC,OAAQ1D,EAAMO,KACdoD,OAAQ3D,EAAMM,OAIlBa,IACA+C,EAAQjD,OAAS,CACbmD,OAAQjD,IAIhB+C,EAAQN,QAAU,CAACC,EAAAA,WAAYC,EAAAA,WAAYC,EAAAA,SAAUC,EAAAA,QAErD5C,EAAe,IAAI2B,EAAAA,QAAO7B,EAAQgD,GAGtCrC,EAAO,YAGyC,GAE7C,CACHR,MAAAA,EACAE,MAAAA,4CC/K6C8C,EAAU3D,0BAA/D4D,EAAAA,mBAAgH,SAAA,OAAxGC,MAAKC,EAAAA,eAAA,CAAC,gCAAiFH,EAAMhD,SAApEoD,sCAAOJ,EAAK9C,OAAA8C,EAAA9C,MAAAmD,MAAAL,EAAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"Notice.js","sources":["../../../src/components/shop/Notice.vue","../../../src/components/shop/Notice.vue?vue&type=template&id=65d632e0&lang.js"],"sourcesContent":["<template>\n <div class=\"container is-fluid extra-notice\" v-bind:class=\"{ 'is-light-text': isLight, 'is-visible': !hidden }\" v-bind:style=\"{ 'background-color': background }\">\n <slot :close=\"close\"></slot>\n <slot name=\"close\" :close=\"close\">\n <svg class=\"icon close\" @click=\"close\">\n <use xlink:href=\"#close\" />\n </svg>\n </slot>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport SecureLS from 'secure-ls';\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"notice\",\n props: {\n hash: String,\n isLight: Boolean,\n background: String\n },\n setup(props) {\n const ls = new SecureLS({\n isCompression: false\n });\n\n const hidden = ref(ls.get('notice') === props.hash);\n\n const close = () => {\n ls.set('notice', props.hash);\n hidden.value = true;\n };\n\n return {\n hidden,\n close,\n };\n }\n});\n</script>","<template>\n <div class=\"container is-fluid extra-notice\" v-bind:class=\"{ 'is-light-text': isLight, 'is-visible': !hidden }\" v-bind:style=\"{ 'background-color': background }\">\n <slot :close=\"close\"></slot>\n <slot name=\"close\" :close=\"close\">\n <svg class=\"icon close\" @click=\"close\">\n <use xlink:href=\"#close\" />\n </svg>\n </slot>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport SecureLS from 'secure-ls';\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"notice\",\n props: {\n hash: String,\n isLight: Boolean,\n background: String\n },\n setup(props) {\n const ls = new SecureLS({\n isCompression: false\n });\n\n const hidden = ref(ls.get('notice') === props.hash);\n\n const close = () => {\n ls.set('notice', props.hash);\n hidden.value = true;\n };\n\n return {\n hidden,\n close,\n };\n }\n});\n</script>"],"names":["script","defineComponent","name","props","hash","String","isLight","Boolean","background","setup","ls","SecureLS","isCompression","hidden","ref","get","close","set","value","_createElementVNode","createElementVNode","xlink:href","_createElementBlock","createElementBlock","class","_normalizeClass","is-light-text","_ctx","style","_renderSlot","renderSlot","$slots","onClick","apply","arguments"],"mappings":"wIAceA,EAAcC,kBAAgB,CACzCC,KAAM,SACNC,MAAO,CACHC,KAAMC,OACNC,QAASC,QACTC,WAAYH,QAEhBI,MAAK,SAACN,GACF,IAAMO,EAAK,IAAIC,UAAS,CACpBC,eAAe,IAGbC,EAASC,EAAGA,IAACJ,EAAGK,IAAI,YAAcZ,EAAMC,MAO9C,MAAO,CACHS,OAAAA,EACAG,MAPU,WACVN,EAAGO,IAAI,SAAUd,EAAMC,MACvBS,EAAOK,OAAQ,UCzBXC,EAA0BC,mBAAA,MAAA,CAArBC,aAAW,UAAO,MAAA,wDAJnCC,EAOKC,mBAAA,MAAA,CAPAC,MAAMC,EAAAA,eAAA,CAAA,kCAAmE,CAAAC,gBAAAC,EAAArB,sBAAwBqB,EAAOd,UAAUe,2CAA6BD,EAASnB,eACzJqB,EAA2BC,WAAAH,EAAAI,OAAA,UAAA,CAApBf,MAAOW,EAAKX,QACnBa,EAAAC,WAIMH,EAJcI,OAAA,QAAA,CAAAf,MAAOW,EAAAX,QAA3B,WAAA,MAIM,gBAHFM,EAEKC,mBAAA,MAAA,CAFAC,MAAM,aAAcQ,sCAAOL,EAAKX,OAAAW,EAAAX,MAAAiB,MAAAN,EAAAO"}
1
+ {"version":3,"file":"Notice.js","sources":["../../../src/components/shop/Notice.vue","../../../src/components/shop/Notice.vue?vue&type=template&id=65d632e0&lang.js"],"sourcesContent":["<template>\n <div class=\"container is-fluid extra-notice\" v-bind:class=\"{ 'is-light-text': isLight, 'is-visible': !hidden }\" v-bind:style=\"{ 'background-color': background }\">\n <slot :close=\"close\"></slot>\n <slot name=\"close\" :close=\"close\">\n <svg class=\"icon close\" @click=\"close\">\n <use xlink:href=\"#close\" />\n </svg>\n </slot>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport SecureLS from 'secure-ls';\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"notice\",\n props: {\n hash: String,\n isLight: Boolean,\n background: String\n },\n setup(props) {\n const ls = new SecureLS({\n isCompression: false\n });\n\n const hidden = ref(ls.get('notice') === props.hash);\n\n const close = () => {\n ls.set('notice', props.hash);\n hidden.value = true;\n };\n\n return {\n hidden,\n close,\n };\n }\n});\n</script>","<template>\n <div class=\"container is-fluid extra-notice\" v-bind:class=\"{ 'is-light-text': isLight, 'is-visible': !hidden }\" v-bind:style=\"{ 'background-color': background }\">\n <slot :close=\"close\"></slot>\n <slot name=\"close\" :close=\"close\">\n <svg class=\"icon close\" @click=\"close\">\n <use xlink:href=\"#close\" />\n </svg>\n </slot>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\nimport SecureLS from 'secure-ls';\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"notice\",\n props: {\n hash: String,\n isLight: Boolean,\n background: String\n },\n setup(props) {\n const ls = new SecureLS({\n isCompression: false\n });\n\n const hidden = ref(ls.get('notice') === props.hash);\n\n const close = () => {\n ls.set('notice', props.hash);\n hidden.value = true;\n };\n\n return {\n hidden,\n close,\n };\n }\n});\n</script>"],"names":["script","defineComponent","name","props","hash","String","isLight","Boolean","background","setup","ls","SecureLS","isCompression","hidden","ref","get","close","set","value","_createElementVNode","createElementVNode","xlink:href","_createElementBlock","createElementBlock","class","_normalizeClass","is-light-text","_ctx","style","_renderSlot","renderSlot","$slots","onClick","apply","arguments"],"mappings":"wIAceA,EAAcC,kBAAgB,CACzCC,KAAM,SACNC,MAAO,CACHC,KAAMC,OACNC,QAASC,QACTC,WAAYH,QAEhBI,MAAAA,SAAMN,GACF,IAAMO,EAAK,IAAIC,UAAS,CACpBC,eAAe,IAGbC,EAASC,EAAGA,IAACJ,EAAGK,IAAI,YAAcZ,EAAMC,MAO9C,MAAO,CACHS,OAAAA,EACAG,MAPU,WACVN,EAAGO,IAAI,SAAUd,EAAMC,MACvBS,EAAOK,OAAQ,UCzBXC,EAA0BC,mBAAA,MAAA,CAArBC,aAAW,UAAO,MAAA,wDAJnCC,EAOKC,mBAAA,MAAA,CAPAC,MAAMC,EAAAA,eAAA,CAAA,kCAAmE,CAAAC,gBAAAC,EAAArB,sBAAwBqB,EAAOd,UAAUe,2CAA6BD,EAASnB,eACzJqB,EAA2BC,WAAAH,EAAAI,OAAA,UAAA,CAApBf,MAAOW,EAAKX,QACnBa,EAAAC,WAIMH,EAJcI,OAAA,QAAA,CAAAf,MAAOW,EAAAX,QAA3B,WAAA,MAIM,gBAHFM,EAEKC,mBAAA,MAAA,CAFAC,MAAM,aAAcQ,sCAAOL,EAAKX,OAAAW,EAAAX,MAAAiB,MAAAN,EAAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"PromoProducts.js","sources":["../../../src/components/shop/PromoProducts.vue","../../../src/components/shop/PromoProducts.vue?vue&type=template&id=84eddc4a&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 from 'swiper';\nimport { Navigation, Mousewheel, FreeMode } from 'swiper/modules';\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 from 'swiper';\nimport { Navigation, Mousewheel, FreeMode } from 'swiper/modules';\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":["script","defineComponent","props","id","Number","type","String","default","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","_hoisted_1","class","_hoisted_6","_hoisted_7","_openBlock","openBlock","_createElementBlock","createElementBlock","_renderSlot","_ctx","$slots","_hoisted_2","_hoisted_3","_createElementVNode","_Fragment","Fragment","_renderList","key","_createBlock","_resolveDynamicComponent"],"mappings":"qKAwCAA,EAAeC,kBAAgB,CAC3BC,MAAO,CACHC,GAAIC,OACJC,KAAM,CACFA,KAAMC,OACNC,QAAS,mBAGjBC,MAAK,SAACN,GACF,IAAIO,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,KAAMrB,EAAMG,OAAS,CAC7CF,GAAID,EAAMC,KAEbqB,MAAK,SAACC,GACH,IAAMC,EAAgB,wBAA0BxB,EAAMC,GAEtDwB,OAAOC,IAAIf,UAAUa,EAAe,CAChCG,SAAUJ,EAASK,KAAOL,EAASK,KAAO,YAG9CjB,EAAUkB,MAAQL,EAClBhB,EAAOqB,OAAQ,EAEfC,EAAAA,UAAS,WACL,IAAMC,EAAYrB,EAAUmB,MAAMG,iBAAiB,kBAE/CD,EAAUE,QACVF,EAAUjB,SAAQ,SAACoB,GACf,IAAIC,UAAOD,EAAIE,cAAc,WAAY,CACrCC,cAAe,OACfC,SAAU,CACNC,SAAS,GAEbC,WAAY,CACRC,aAAa,GAEjBC,QAAS,CAACC,EAAAA,WAAYC,EAAUA,WAAEC,iBAK9C,IAAMC,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,GACb,IAAIjB,UAAOiB,EAAQ3B,OAAO6B,wBAI9B7B,OAAO8B,YACP9B,OAAO8B,WAAWC,SAGlB/B,OAAOgC,mBAAyD,mBAA7BhC,OAAOgC,mBAC1ChC,OAAOgC,kBAAkB/C,EAAUmB,cAYvD,OANAJ,OAAOwB,iBAAiB,oBAAoB,WACxC,IAAIS,qBAAqB9C,EAAU,CAC/B+C,UAAW,KACZC,QAAQlD,EAAUmB,UAGlB,CACHnB,UAAAA,EACAC,UAAAA,EACAH,OAAAA,MC/IHqD,EAAA,CAAApD,IAAI,sBAEQqD,MAAM,mRASNC,EAAA,CAAAD,MAAM,UACFE,EAAA,CAAAF,MAAM,uXAZ3B,OAAAG,EAAAC,YAAAC,EAAAC,mBAgCK,MAhCLP,EAgCK,CA/BDQ,aA6BMC,EA7BCC,OAAA,UAAA,CAAA/D,OAAQ8D,EAAA9D,SAAf,WAAA,MA6BM,CA5ByE8D,EAAM9D,wCAAjFyD,EAAAC,YAAAC,EAAAA,mBA2BS,UA3BTK,EA2BS,CA1BLC,EAQAC,EAAAA,mBAiBK,MAjBLX,EAiBK,CAhBDW,EAAAA,mBAeK,MAfLV,EAeK,gBAdDG,EAAAA,mBAaKQ,EAAAC,SAAA,KAAAC,EAAAA,WAbgC,GAAC,SAAV7B,UAA5B0B,EAAAA,mBAaK,MAAA,CAbAZ,MAAM,UAA8BgB,IAAK9B,yBAkB7BsB,EAAM9D,QAAvCyD,EAAAC,YAAAa,EAAAA,YAAoDC,0BAApCV,EAAS3D,WAAA,CAAAmE,IAAA"}
1
+ {"version":3,"file":"PromoProducts.js","sources":["../../../src/components/shop/PromoProducts.vue","../../../src/components/shop/PromoProducts.vue?vue&type=template&id=84eddc4a&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 from 'swiper';\nimport { Navigation, Mousewheel, FreeMode } from 'swiper/modules';\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 from 'swiper';\nimport { Navigation, Mousewheel, FreeMode } from 'swiper/modules';\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":["script","defineComponent","props","id","Number","type","String","default","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","_hoisted_1","class","_hoisted_6","_hoisted_7","_openBlock","openBlock","_createElementBlock","createElementBlock","_renderSlot","_ctx","$slots","_hoisted_2","_hoisted_3","_createElementVNode","_Fragment","Fragment","_renderList","key","_createBlock","_resolveDynamicComponent"],"mappings":"qKAwCAA,EAAeC,kBAAgB,CAC3BC,MAAO,CACHC,GAAIC,OACJC,KAAM,CACFA,KAAMC,OACNC,QAAS,mBAGjBC,MAAAA,SAAMN,GACF,IAAIO,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,KAAMrB,EAAMG,OAAS,CAC7CF,GAAID,EAAMC,KAEbqB,MAAK,SAACC,GACH,IAAMC,EAAgB,wBAA0BxB,EAAMC,GAEtDwB,OAAOC,IAAIf,UAAUa,EAAe,CAChCG,SAAUJ,EAASK,KAAOL,EAASK,KAAO,YAG9CjB,EAAUkB,MAAQL,EAClBhB,EAAOqB,OAAQ,EAEfC,EAAAA,UAAS,WACL,IAAMC,EAAYrB,EAAUmB,MAAMG,iBAAiB,kBAE/CD,EAAUE,QACVF,EAAUjB,SAAQ,SAACoB,GACf,IAAIC,UAAOD,EAAIE,cAAc,WAAY,CACrCC,cAAe,OACfC,SAAU,CACNC,SAAS,GAEbC,WAAY,CACRC,aAAa,GAEjBC,QAAS,CAACC,EAAAA,WAAYC,EAAUA,WAAEC,iBAK9C,IAAMC,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,GACb,IAAIjB,UAAOiB,EAAQ3B,OAAO6B,wBAI9B7B,OAAO8B,YACP9B,OAAO8B,WAAWC,SAGlB/B,OAAOgC,mBAAyD,mBAA7BhC,OAAOgC,mBAC1ChC,OAAOgC,kBAAkB/C,EAAUmB,cAYvD,OANAJ,OAAOwB,iBAAiB,oBAAoB,WACxC,IAAIS,qBAAqB9C,EAAU,CAC/B+C,UAAW,KACZC,QAAQlD,EAAUmB,UAGlB,CACHnB,UAAAA,EACAC,UAAAA,EACAH,OAAAA,MC/IHqD,EAAA,CAAApD,IAAI,sBAEQqD,MAAM,mRASNC,EAAA,CAAAD,MAAM,UACFE,EAAA,CAAAF,MAAM,uXAZ3B,OAAAG,EAAAC,YAAAC,EAAAC,mBAgCK,MAhCLP,EAgCK,CA/BDQ,aA6BMC,EA7BCC,OAAA,UAAA,CAAA/D,OAAQ8D,EAAA9D,SAAf,WAAA,MA6BM,CA5ByE8D,EAAM9D,wCAAjFyD,EAAAC,YAAAC,EAAAA,mBA2BS,UA3BTK,EA2BS,CA1BLC,EAQAC,EAAAA,mBAiBK,MAjBLX,EAiBK,CAhBDW,EAAAA,mBAeK,MAfLV,EAeK,gBAdDG,EAAAA,mBAaKQ,EAAAC,SAAA,KAAAC,EAAAA,WAbgC,GAAC,SAAV7B,UAA5B0B,EAAAA,mBAaK,MAAA,CAbAZ,MAAM,UAA8BgB,IAAK9B,yBAkB7BsB,EAAM9D,QAAvCyD,EAAAC,YAAAa,EAAAA,YAAoDC,0BAApCV,EAAS3D,WAAA,CAAAmE,IAAA"}