@perevorot/shop 2.0.151 → 2.0.152

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/dist/components/account/OrderItem.js +1 -1
  2. package/dist/components/account/OrderItem.js.map +1 -1
  3. package/dist/components/account/User.js +1 -1
  4. package/dist/components/account/User.js.map +1 -1
  5. package/dist/components/auth/Forget.js +1 -1
  6. package/dist/components/auth/Forget.js.map +1 -1
  7. package/dist/components/auth/Login.js +1 -1
  8. package/dist/components/auth/Login.js.map +1 -1
  9. package/dist/components/auth/Registration.js +1 -1
  10. package/dist/components/auth/Registration.js.map +1 -1
  11. package/dist/components/auth/Reset.js +1 -1
  12. package/dist/components/auth/Reset.js.map +1 -1
  13. package/dist/components/shop/Catalog.js +1 -1
  14. package/dist/components/shop/Catalog.js.map +1 -1
  15. package/dist/components/shop/PromoProducts.js +1 -1
  16. package/dist/components/shop/PromoProducts.js.map +1 -1
  17. package/dist/components/shop/Search.js +1 -1
  18. package/dist/components/shop/Search.js.map +1 -1
  19. package/dist/components/shop/cart/Cart.js +1 -1
  20. package/dist/components/shop/cart/Cart.js.map +1 -1
  21. package/dist/components/shop/cart/CartItem.js +1 -1
  22. package/dist/components/shop/cart/CartItem.js.map +1 -1
  23. package/dist/components/shop/filters/Price.js +1 -1
  24. package/dist/components/shop/filters/Price.js.map +1 -1
  25. package/dist/components/shop/order/Checkout.js +1 -1
  26. package/dist/components/shop/order/Checkout.js.map +1 -1
  27. package/dist/components/shop/order/CheckoutItem.js +1 -1
  28. package/dist/components/shop/order/CheckoutItem.js.map +1 -1
  29. package/dist/components/shop/order/OneClick.js +1 -1
  30. package/dist/components/shop/order/OneClick.js.map +1 -1
  31. package/dist/components/shop/reviews/Question.js +1 -1
  32. package/dist/components/shop/reviews/Question.js.map +1 -1
  33. package/dist/components/shop/reviews/Review.js +1 -1
  34. package/dist/components/shop/reviews/Review.js.map +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Review.js","sources":["../../../../src/components/shop/reviews/Review.vue","../../../../src/components/shop/reviews/Review.vue?vue&type=template&id=3317de44&lang.js"],"sourcesContent":["<template>\n <div class=\"shop-reviews\">\n <button class=\"button review-add\" @click=\"add\">{{ __(\"shop.review.add\") }}</button>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"cancel\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"cancel\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"title\">{{ __(\"shop.review.title\") }}</div>\n <div class=\"shop-reviews-form\" v-show=\"!thanks\">\n <SchemaForm\n schemaRowClasses=\"field\"\n :schema=\"schema\"\n :validation-schema=\"validation\"\n :initial-errors=\"errors\"\n :key=\"key\"\n @submit=\"onSubmit\"\n >\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button\n class=\"button is-link\"\n type=\"submit\"\n v-bind:class=\"{\n 'is-loading': loading,\n }\"\n >{{ __(\"shop.review.save\") }}</button>\n </div>\n <div class=\"column has-text-right\">\n <button\n class=\"button\"\n @click=\"cancel\"\n >{{ __(\"shop.review.cancel\") }}</button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div class=\"shop-reviews-thanks\" v-show=\"thanks\">\n <div class=\"message\" v-html=\"__('shop.review.thanks')\"></div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">{{ __(\"shop.review.continue\") }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed, defineComponent } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { SchemaFormFactory, useSchemaForm } from \"formvuelate\";\nimport VeeValidatePlugin from \"@formvuelate/plugin-vee-validate\";\nimport FormTextarea from \"@perevorot/shop/dist/forms/FormTextarea\";\nimport FormText from \"@perevorot/shop/dist/forms/FormText\";\nimport FormRating from \"@perevorot/shop/dist/forms/FormRating\";\nimport * as yup from \"yup\";\n\nmarkRaw(FormRating);\nmarkRaw(FormTextarea);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"review\",\n components: {\n SchemaForm,\n },\n props: {\n id: Number,\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters[\"review/modal\"]);\n const auth = computed(() => store.getters[\"auth/is\"]);\n const user = computed(() => store.getters[\"auth/me\"]);\n const thanks = ref(false);\n\n const schema = ref({\n rating: {\n component: FormRating,\n model: \"rating\",\n },\n review: {\n component: FormTextarea,\n label: __(\"shop.review.review\"),\n model: \"review\",\n },\n name: {\n component: FormText,\n label: __(\"shop.review.name\"),\n model: \"name\",\n },\n });\n\n const validation = yup.object().shape({\n review: yup.string().required(__(\"auth.validation.required\")),\n rating: yup\n .number()\n .min(1, __(\"auth.validation.required\"))\n .required(__(\"auth.validation.required\")),\n name: yup.string().required(__(\"auth.validation.required\")),\n });\n\n const model = ref({\n review: \"\",\n rating: 0,\n name: user.value.name,\n id: props.id,\n });\n\n useSchemaForm(model);\n\n const add = () => {\n if (!auth.value) {\n store.commit(\"auth/modal\", \"login\");\n } else {\n store.commit(\"review/modal\", true);\n }\n };\n\n const cancel = () => {\n store.commit(\"review/modal\", false);\n thanks.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n $http\n .post($ziggy(\"api.review\"), model.value)\n .then(() => {\n thanks.value = true;\n\n model.value = {\n review: \"\",\n rating: 0,\n name: user.value.name,\n id: props.id,\n };\n })\n .catch((error) => {\n errors.value = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(\n error.response.data.errors\n )) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n })\n .finally(() => {\n loading.value = false;\n });\n };\n\n window.addEventListener(\"keyup\", (e) => {\n if (modal.value && e.key === \"Escape\") {\n cancel();\n }\n });\n\n document.addEventListener(\"DOMContentLoaded\", () => {\n if (modal.value) {\n document.documentElement.classList.add('is-modal-open');\n }\n\n const showMore = document.getElementById('reviews-show-more');\n\n if (showMore) {\n showMore.addEventListener('click', () => {\n document.getElementById('reviews-list').querySelectorAll('.review.is-hidden').forEach(review => {\n review.classList.remove('is-hidden');\n showMore.remove();\n });\n });\n }\n }, false);\n\n return {\n loading,\n modal,\n schema,\n validation,\n add,\n cancel,\n schema,\n onSubmit,\n errors,\n key,\n model,\n thanks,\n };\n },\n});\n</script>","<template>\n <div class=\"shop-reviews\">\n <button class=\"button review-add\" @click=\"add\">{{ __(\"shop.review.add\") }}</button>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"cancel\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"cancel\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"title\">{{ __(\"shop.review.title\") }}</div>\n <div class=\"shop-reviews-form\" v-show=\"!thanks\">\n <SchemaForm\n schemaRowClasses=\"field\"\n :schema=\"schema\"\n :validation-schema=\"validation\"\n :initial-errors=\"errors\"\n :key=\"key\"\n @submit=\"onSubmit\"\n >\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button\n class=\"button is-link\"\n type=\"submit\"\n v-bind:class=\"{\n 'is-loading': loading,\n }\"\n >{{ __(\"shop.review.save\") }}</button>\n </div>\n <div class=\"column has-text-right\">\n <button\n class=\"button\"\n @click=\"cancel\"\n >{{ __(\"shop.review.cancel\") }}</button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div class=\"shop-reviews-thanks\" v-show=\"thanks\">\n <div class=\"message\" v-html=\"__('shop.review.thanks')\"></div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">{{ __(\"shop.review.continue\") }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed, defineComponent } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { SchemaFormFactory, useSchemaForm } from \"formvuelate\";\nimport VeeValidatePlugin from \"@formvuelate/plugin-vee-validate\";\nimport FormTextarea from \"@perevorot/shop/dist/forms/FormTextarea\";\nimport FormText from \"@perevorot/shop/dist/forms/FormText\";\nimport FormRating from \"@perevorot/shop/dist/forms/FormRating\";\nimport * as yup from \"yup\";\n\nmarkRaw(FormRating);\nmarkRaw(FormTextarea);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"review\",\n components: {\n SchemaForm,\n },\n props: {\n id: Number,\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters[\"review/modal\"]);\n const auth = computed(() => store.getters[\"auth/is\"]);\n const user = computed(() => store.getters[\"auth/me\"]);\n const thanks = ref(false);\n\n const schema = ref({\n rating: {\n component: FormRating,\n model: \"rating\",\n },\n review: {\n component: FormTextarea,\n label: __(\"shop.review.review\"),\n model: \"review\",\n },\n name: {\n component: FormText,\n label: __(\"shop.review.name\"),\n model: \"name\",\n },\n });\n\n const validation = yup.object().shape({\n review: yup.string().required(__(\"auth.validation.required\")),\n rating: yup\n .number()\n .min(1, __(\"auth.validation.required\"))\n .required(__(\"auth.validation.required\")),\n name: yup.string().required(__(\"auth.validation.required\")),\n });\n\n const model = ref({\n review: \"\",\n rating: 0,\n name: user.value.name,\n id: props.id,\n });\n\n useSchemaForm(model);\n\n const add = () => {\n if (!auth.value) {\n store.commit(\"auth/modal\", \"login\");\n } else {\n store.commit(\"review/modal\", true);\n }\n };\n\n const cancel = () => {\n store.commit(\"review/modal\", false);\n thanks.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n $http\n .post($ziggy(\"api.review\"), model.value)\n .then(() => {\n thanks.value = true;\n\n model.value = {\n review: \"\",\n rating: 0,\n name: user.value.name,\n id: props.id,\n };\n })\n .catch((error) => {\n errors.value = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(\n error.response.data.errors\n )) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n })\n .finally(() => {\n loading.value = false;\n });\n };\n\n window.addEventListener(\"keyup\", (e) => {\n if (modal.value && e.key === \"Escape\") {\n cancel();\n }\n });\n\n document.addEventListener(\"DOMContentLoaded\", () => {\n if (modal.value) {\n document.documentElement.classList.add('is-modal-open');\n }\n\n const showMore = document.getElementById('reviews-show-more');\n\n if (showMore) {\n showMore.addEventListener('click', () => {\n document.getElementById('reviews-list').querySelectorAll('.review.is-hidden').forEach(review => {\n review.classList.remove('is-hidden');\n showMore.remove();\n });\n });\n }\n }, false);\n\n return {\n loading,\n modal,\n schema,\n validation,\n add,\n cancel,\n schema,\n onSubmit,\n errors,\n key,\n model,\n thanks,\n };\n },\n});\n</script>"],"names":["markRaw","FormRating","FormTextarea","FormText","SchemaForm","SchemaFormFactory","VeeValidatePlugin","defineComponent","name","components","props","id","Number","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","auth","user","thanks","schema","rating","component","model","review","label","__","validation","yup","object","shape","string","required","number","min","value","useSchemaForm","cancel","commit","window","addEventListener","e","document","documentElement","classList","add","showMore","getElementById","querySelectorAll","forEach","remove","$http","post","$ziggy","then","error","response","data","Object","entries","field","messages","_createElementVNode","_createElementBlock","_hoisted_1","onClick","_ctx","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_7","_createBlock","schemaRowClasses","onSubmit","afterForm","_hoisted_8","_hoisted_9","_hoisted_10","type","_hoisted_11","_hoisted_12","innerHTML","_hoisted_14"],"mappings":"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"}
1
+ {"version":3,"file":"Review.js","sources":["../../../../src/components/shop/reviews/Review.vue","../../../../src/components/shop/reviews/Review.vue?vue&type=template&id=3317de44&lang.js"],"sourcesContent":["<template>\n <div class=\"shop-reviews\">\n <button class=\"button review-add\" @click=\"add\">{{ __(\"shop.review.add\") }}</button>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"cancel\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"cancel\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"title\">{{ __(\"shop.review.title\") }}</div>\n <div class=\"shop-reviews-form\" v-show=\"!thanks\">\n <SchemaForm\n schemaRowClasses=\"field\"\n :schema=\"schema\"\n :validation-schema=\"validation\"\n :initial-errors=\"errors\"\n :key=\"key\"\n @submit=\"onSubmit\"\n >\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button\n class=\"button is-link\"\n type=\"submit\"\n v-bind:class=\"{\n 'is-loading': loading,\n }\"\n >{{ __(\"shop.review.save\") }}</button>\n </div>\n <div class=\"column has-text-right\">\n <button\n class=\"button\"\n @click=\"cancel\"\n >{{ __(\"shop.review.cancel\") }}</button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div class=\"shop-reviews-thanks\" v-show=\"thanks\">\n <div class=\"message\" v-html=\"__('shop.review.thanks')\"></div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">{{ __(\"shop.review.continue\") }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed, defineComponent } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { SchemaFormFactory, useSchemaForm } from \"formvuelate\";\nimport VeeValidatePlugin from \"@formvuelate/plugin-vee-validate\";\nimport FormTextarea from \"@perevorot/shop/dist/forms/FormTextarea\";\nimport FormText from \"@perevorot/shop/dist/forms/FormText\";\nimport FormRating from \"@perevorot/shop/dist/forms/FormRating\";\nimport * as yup from \"yup\";\n\nmarkRaw(FormRating);\nmarkRaw(FormTextarea);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"review\",\n components: {\n SchemaForm,\n },\n props: {\n id: Number,\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters[\"review/modal\"]);\n const auth = computed(() => store.getters[\"auth/is\"]);\n const user = computed(() => store.getters[\"auth/me\"]);\n const thanks = ref(false);\n\n const schema = ref({\n rating: {\n component: FormRating,\n model: \"rating\",\n },\n review: {\n component: FormTextarea,\n label: __(\"shop.review.review\"),\n model: \"review\",\n },\n name: {\n component: FormText,\n label: __(\"shop.review.name\"),\n model: \"name\",\n },\n });\n\n const validation = yup.object().shape({\n review: yup.string().required(__(\"auth.validation.required\")),\n rating: yup\n .number()\n .min(1, __(\"auth.validation.required\"))\n .required(__(\"auth.validation.required\")),\n name: yup.string().required(__(\"auth.validation.required\")),\n });\n\n const model = ref({\n review: \"\",\n rating: 0,\n name: user.value.name,\n id: props.id,\n });\n\n useSchemaForm(model);\n\n const add = () => {\n if (!auth.value) {\n store.commit(\"auth/modal\", \"login\");\n } else {\n store.commit(\"review/modal\", true);\n }\n };\n\n const cancel = () => {\n store.commit(\"review/modal\", false);\n thanks.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n $http\n .post($ziggy(\"api.review\"), model.value)\n .then(() => {\n thanks.value = true;\n\n model.value = {\n review: \"\",\n rating: 0,\n name: user.value.name,\n id: props.id,\n };\n })\n .catch((error) => {\n errors.value = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(\n error.response.data.errors\n )) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n })\n .finally(() => {\n loading.value = false;\n });\n };\n\n window.addEventListener(\"keyup\", (e) => {\n if (modal.value && e.key === \"Escape\") {\n cancel();\n }\n });\n\n document.addEventListener(\"DOMContentLoaded\", () => {\n if (modal.value) {\n document.documentElement.classList.add('is-modal-open');\n }\n\n const showMore = document.getElementById('reviews-show-more');\n\n if (showMore) {\n showMore.addEventListener('click', () => {\n document.getElementById('reviews-list').querySelectorAll('.review.is-hidden').forEach(review => {\n review.classList.remove('is-hidden');\n showMore.remove();\n });\n });\n }\n }, false);\n\n return {\n loading,\n modal,\n schema,\n validation,\n add,\n cancel,\n schema,\n onSubmit,\n errors,\n key,\n model,\n thanks,\n };\n },\n});\n</script>","<template>\n <div class=\"shop-reviews\">\n <button class=\"button review-add\" @click=\"add\">{{ __(\"shop.review.add\") }}</button>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"cancel\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"cancel\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"title\">{{ __(\"shop.review.title\") }}</div>\n <div class=\"shop-reviews-form\" v-show=\"!thanks\">\n <SchemaForm\n schemaRowClasses=\"field\"\n :schema=\"schema\"\n :validation-schema=\"validation\"\n :initial-errors=\"errors\"\n :key=\"key\"\n @submit=\"onSubmit\"\n >\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button\n class=\"button is-link\"\n type=\"submit\"\n v-bind:class=\"{\n 'is-loading': loading,\n }\"\n >{{ __(\"shop.review.save\") }}</button>\n </div>\n <div class=\"column has-text-right\">\n <button\n class=\"button\"\n @click=\"cancel\"\n >{{ __(\"shop.review.cancel\") }}</button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div class=\"shop-reviews-thanks\" v-show=\"thanks\">\n <div class=\"message\" v-html=\"__('shop.review.thanks')\"></div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">{{ __(\"shop.review.continue\") }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed, defineComponent } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { SchemaFormFactory, useSchemaForm } from \"formvuelate\";\nimport VeeValidatePlugin from \"@formvuelate/plugin-vee-validate\";\nimport FormTextarea from \"@perevorot/shop/dist/forms/FormTextarea\";\nimport FormText from \"@perevorot/shop/dist/forms/FormText\";\nimport FormRating from \"@perevorot/shop/dist/forms/FormRating\";\nimport * as yup from \"yup\";\n\nmarkRaw(FormRating);\nmarkRaw(FormTextarea);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default /*#__PURE__*/ defineComponent({\n name: \"review\",\n components: {\n SchemaForm,\n },\n props: {\n id: Number,\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters[\"review/modal\"]);\n const auth = computed(() => store.getters[\"auth/is\"]);\n const user = computed(() => store.getters[\"auth/me\"]);\n const thanks = ref(false);\n\n const schema = ref({\n rating: {\n component: FormRating,\n model: \"rating\",\n },\n review: {\n component: FormTextarea,\n label: __(\"shop.review.review\"),\n model: \"review\",\n },\n name: {\n component: FormText,\n label: __(\"shop.review.name\"),\n model: \"name\",\n },\n });\n\n const validation = yup.object().shape({\n review: yup.string().required(__(\"auth.validation.required\")),\n rating: yup\n .number()\n .min(1, __(\"auth.validation.required\"))\n .required(__(\"auth.validation.required\")),\n name: yup.string().required(__(\"auth.validation.required\")),\n });\n\n const model = ref({\n review: \"\",\n rating: 0,\n name: user.value.name,\n id: props.id,\n });\n\n useSchemaForm(model);\n\n const add = () => {\n if (!auth.value) {\n store.commit(\"auth/modal\", \"login\");\n } else {\n store.commit(\"review/modal\", true);\n }\n };\n\n const cancel = () => {\n store.commit(\"review/modal\", false);\n thanks.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n $http\n .post($ziggy(\"api.review\"), model.value)\n .then(() => {\n thanks.value = true;\n\n model.value = {\n review: \"\",\n rating: 0,\n name: user.value.name,\n id: props.id,\n };\n })\n .catch((error) => {\n errors.value = {};\n\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(\n error.response.data.errors\n )) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n })\n .finally(() => {\n loading.value = false;\n });\n };\n\n window.addEventListener(\"keyup\", (e) => {\n if (modal.value && e.key === \"Escape\") {\n cancel();\n }\n });\n\n document.addEventListener(\"DOMContentLoaded\", () => {\n if (modal.value) {\n document.documentElement.classList.add('is-modal-open');\n }\n\n const showMore = document.getElementById('reviews-show-more');\n\n if (showMore) {\n showMore.addEventListener('click', () => {\n document.getElementById('reviews-list').querySelectorAll('.review.is-hidden').forEach(review => {\n review.classList.remove('is-hidden');\n showMore.remove();\n });\n });\n }\n }, false);\n\n return {\n loading,\n modal,\n schema,\n validation,\n add,\n cancel,\n schema,\n onSubmit,\n errors,\n key,\n model,\n thanks,\n };\n },\n});\n</script>"],"names":["markRaw","FormRating","FormTextarea","FormText","SchemaForm","SchemaFormFactory","VeeValidatePlugin","defineComponent","name","components","props","id","Number","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","auth","user","thanks","schema","rating","component","model","review","label","__","validation","yup","object","shape","string","required","number","min","value","useSchemaForm","cancel","commit","window","addEventListener","e","document","documentElement","classList","add","showMore","getElementById","querySelectorAll","forEach","remove","$http","post","$ziggy","then","error","response","data","Object","entries","field","messages","_createElementVNode","_createElementBlock","_hoisted_1","onClick","_ctx","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_7","_createVNode","schemaRowClasses","onSubmit","afterForm","_hoisted_8","_hoisted_9","_hoisted_10","type","_hoisted_11","_hoisted_12","innerHTML","_hoisted_14"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perevorot/shop",
3
- "version": "2.0.151",
3
+ "version": "2.0.152",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist/*"