@perevorot/shop 1.0.272 → 2.0.0

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 (119) hide show
  1. package/dist/components/account/Account.js +2 -0
  2. package/dist/components/account/Account.js.map +1 -0
  3. package/dist/components/account/OrderItem.js +2 -0
  4. package/dist/components/account/OrderItem.js.map +1 -0
  5. package/dist/components/account/Orders.js +2 -0
  6. package/dist/components/account/Orders.js.map +1 -0
  7. package/dist/components/account/User.js +2 -0
  8. package/dist/components/account/User.js.map +1 -0
  9. package/dist/components/account/Viewed.js +2 -0
  10. package/dist/components/account/Viewed.js.map +1 -0
  11. package/dist/components/account/Wish.js +2 -0
  12. package/dist/components/account/Wish.js.map +1 -0
  13. package/dist/components/auth/Forget.js +2 -0
  14. package/dist/components/auth/Forget.js.map +1 -0
  15. package/dist/components/auth/Login.js +2 -0
  16. package/dist/components/auth/Login.js.map +1 -0
  17. package/dist/components/auth/Registration.js +2 -0
  18. package/dist/components/auth/Registration.js.map +1 -0
  19. package/dist/components/auth/Reset.js +2 -0
  20. package/dist/components/auth/Reset.js.map +1 -0
  21. package/dist/components/auth/User.js +2 -0
  22. package/dist/components/auth/User.js.map +1 -0
  23. package/dist/components/shop/Catalog.js +2 -0
  24. package/dist/components/shop/Catalog.js.map +1 -0
  25. package/dist/components/shop/CodeCopy.js +2 -0
  26. package/dist/components/shop/CodeCopy.js.map +1 -0
  27. package/dist/components/shop/Cross.js +2 -0
  28. package/dist/components/shop/Cross.js.map +1 -0
  29. package/dist/components/shop/FilterToggle.js +2 -0
  30. package/dist/components/shop/FilterToggle.js.map +1 -0
  31. package/dist/components/shop/Gallery.js +2 -0
  32. package/dist/components/shop/Gallery.js.map +1 -0
  33. package/dist/components/shop/Pagination.js +2 -0
  34. package/dist/components/shop/Pagination.js.map +1 -0
  35. package/dist/components/shop/PromoProducts.js +2 -0
  36. package/dist/components/shop/PromoProducts.js.map +1 -0
  37. package/dist/components/shop/Search.js +2 -0
  38. package/dist/components/shop/Search.js.map +1 -0
  39. package/dist/components/shop/bundle/Bundle.js +2 -0
  40. package/dist/components/shop/bundle/Bundle.js.map +1 -0
  41. package/dist/components/shop/bundle/BundleAdd.js +2 -0
  42. package/dist/components/shop/bundle/BundleAdd.js.map +1 -0
  43. package/dist/components/shop/cart/Cart.js +2 -0
  44. package/dist/components/shop/cart/Cart.js.map +1 -0
  45. package/dist/components/shop/cart/CartAdd.js +2 -0
  46. package/dist/components/shop/cart/CartAdd.js.map +1 -0
  47. package/dist/components/shop/cart/CartItem.js +2 -0
  48. package/dist/components/shop/cart/CartItem.js.map +1 -0
  49. package/dist/components/shop/cart/CartTrigger.js +2 -0
  50. package/dist/components/shop/cart/CartTrigger.js.map +1 -0
  51. package/dist/components/shop/cart/SuccessMessage.js +2 -0
  52. package/dist/components/shop/cart/SuccessMessage.js.map +1 -0
  53. package/dist/components/shop/compare/Compare.js +2 -0
  54. package/dist/components/shop/compare/Compare.js.map +1 -0
  55. package/dist/components/shop/compare/CompareAdd.js +2 -0
  56. package/dist/components/shop/compare/CompareAdd.js.map +1 -0
  57. package/dist/components/shop/compare/CompareDelete.js +2 -0
  58. package/dist/components/shop/compare/CompareDelete.js.map +1 -0
  59. package/dist/components/shop/compare/Comparsion.js +2 -0
  60. package/dist/components/shop/compare/Comparsion.js.map +1 -0
  61. package/dist/components/shop/compare/SuccessMessage.js +2 -0
  62. package/dist/components/shop/compare/SuccessMessage.js.map +1 -0
  63. package/dist/components/shop/filters/FilterSearch.js +2 -0
  64. package/dist/components/shop/filters/FilterSearch.js.map +1 -0
  65. package/dist/components/shop/filters/Price.js +2 -0
  66. package/dist/components/shop/filters/Price.js.map +1 -0
  67. package/dist/components/shop/order/Checkout.js +2 -0
  68. package/dist/components/shop/order/Checkout.js.map +1 -0
  69. package/dist/components/shop/order/CheckoutItem.js +2 -0
  70. package/dist/components/shop/order/CheckoutItem.js.map +1 -0
  71. package/dist/components/shop/order/OneClick.js +2 -0
  72. package/dist/components/shop/order/OneClick.js.map +1 -0
  73. package/dist/components/shop/order/shipping/CheckoutShippingCourier.js +2 -0
  74. package/dist/components/shop/order/shipping/CheckoutShippingCourier.js.map +1 -0
  75. package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js +2 -0
  76. package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js.map +1 -0
  77. package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaWarehouse.js +2 -0
  78. package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaWarehouse.js.map +1 -0
  79. package/dist/components/shop/order/shipping/CheckoutShippingPickup.js +2 -0
  80. package/dist/components/shop/order/shipping/CheckoutShippingPickup.js.map +1 -0
  81. package/dist/components/shop/reviews/Review.js +2 -0
  82. package/dist/components/shop/reviews/Review.js.map +1 -0
  83. package/dist/components/shop/viewed/Viewed.js +2 -0
  84. package/dist/components/shop/viewed/Viewed.js.map +1 -0
  85. package/dist/components/shop/viewed/ViewedDelete.js +2 -0
  86. package/dist/components/shop/viewed/ViewedDelete.js.map +1 -0
  87. package/dist/components/shop/viewed/Viewer.js +2 -0
  88. package/dist/components/shop/viewed/Viewer.js.map +1 -0
  89. package/dist/components/shop/wishlist/SuccessMessage.js +2 -0
  90. package/dist/components/shop/wishlist/SuccessMessage.js.map +1 -0
  91. package/dist/components/shop/wishlist/Wishlist.js +2 -0
  92. package/dist/components/shop/wishlist/Wishlist.js.map +1 -0
  93. package/dist/components/shop/wishlist/WishlistAdd.js +2 -0
  94. package/dist/components/shop/wishlist/WishlistAdd.js.map +1 -0
  95. package/dist/components/shop/wishlist/WishlistDelete.js +2 -0
  96. package/dist/components/shop/wishlist/WishlistDelete.js.map +1 -0
  97. package/dist/forms/FormCheckbox.js +2 -0
  98. package/dist/forms/FormCheckbox.js.map +1 -0
  99. package/dist/forms/FormCheckboxes.js +2 -0
  100. package/dist/forms/FormCheckboxes.js.map +1 -0
  101. package/dist/forms/FormPassword.js +2 -0
  102. package/dist/forms/FormPassword.js.map +1 -0
  103. package/dist/forms/FormRadio.js +2 -0
  104. package/dist/forms/FormRadio.js.map +1 -0
  105. package/dist/forms/FormRating.js +2 -0
  106. package/dist/forms/FormRating.js.map +1 -0
  107. package/dist/forms/FormSection.js +2 -0
  108. package/dist/forms/FormSection.js.map +1 -0
  109. package/dist/forms/FormSelect.js +2 -0
  110. package/dist/forms/FormSelect.js.map +1 -0
  111. package/dist/forms/FormSwitch.js +2 -0
  112. package/dist/forms/FormSwitch.js.map +1 -0
  113. package/dist/forms/FormText.js +2 -0
  114. package/dist/forms/FormText.js.map +1 -0
  115. package/dist/forms/FormTextarea.js +2 -0
  116. package/dist/forms/FormTextarea.js.map +1 -0
  117. package/package.json +16 -41
  118. package/dist/app.js +0 -108
  119. package/dist/index.js +0 -110
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue"),t=require("vuex"),n={name:"account",setup:function(){var n=t.useStore(),l=e.computed((function(){return n.getters["auth/account"]})),o=e.computed((function(){return n.getters["auth/me"]})),r=e.computed((function(){return l.value.find((function(e){return e.path===window.location.href}))}));return{routes:l,logout:function(){n.dispatch("auth/logout")},current:r,user:o}}},l={class:"columns account"},o={class:"column is-3"},r={class:"user-wrapper"},c=e.createElementVNode("div",{class:"icon"},null,-1),a={class:"user"},u={class:"email"},s=e.createElementVNode("hr",null,null,-1),i={class:"menu"},m={class:"menu-list"},d=["href"],p={key:0,class:"icon"},k=["xlink:href"],E={key:1,class:"badge"},f={key:1},g=e.createElementVNode("hr",null,null,-1),N=e.createElementVNode("svg",{class:"icon"},[e.createElementVNode("use",{"xlink:href":"#icon-logout"})],-1),V={class:"column"};n.render=function(t,n,h,v,B,y){return e.openBlock(),e.createElementBlock("div",l,[e.createElementVNode("div",o,[e.renderSlot(t.$slots,"user",{user:v.user},(function(){return[e.createElementVNode("div",r,[c,e.createElementVNode("div",a,e.toDisplayString(v.user.name),1),e.createElementVNode("div",u,e.toDisplayString(v.user.email),1)]),s]})),e.createElementVNode("aside",i,[e.createElementVNode("ul",m,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.routes,(function(t,n){return e.openBlock(),e.createElementBlock("li",{key:n},[t.text?(e.openBlock(),e.createElementBlock("a",{key:0,href:t.path,class:e.normalizeClass({"is-active":v.current.path===t.path})},[t.icon?(e.openBlock(),e.createElementBlock("svg",p,[e.createElementVNode("use",{"xlink:href":"#"+t.icon},null,8,k)])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",null,e.toDisplayString(t.text),1),t.badge?(e.openBlock(),e.createElementBlock("span",E,e.toDisplayString(t.badge),1)):e.createCommentVNode("v-if",!0)],10,d)):(e.openBlock(),e.createElementBlock("hr",f))])})),128)),g,e.createElementVNode("li",null,[e.createElementVNode("a",{onClick:n[0]||(n[0]=function(){return v.logout&&v.logout.apply(v,arguments)})},[N,e.createElementVNode("span",null,e.toDisplayString(t.__("auth.user.menu.logout")),1)])])])])]),e.createElementVNode("div",V,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.current.component)))])])},module.exports=n;
2
+ //# sourceMappingURL=Account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Account.js","sources":["../../../src/components/account/Account.vue","../../../src/components/account/Account.vue?vue&type=template&id=4347f810&lang.js"],"sourcesContent":["<template>\n <div class=\"columns account\">\n <div class=\"column is-3\">\n <slot name=\"user\" :user=\"user\">\n <div class=\"user-wrapper\">\n <div class=\"icon\"></div>\n <div class=\"user\">{{ user.name }}</div>\n <div class=\"email\">{{ user.email }}</div>\n </div>\n <hr />\n </slot>\n <aside class=\"menu\">\n <ul class=\"menu-list\">\n <li v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" v-bind:class=\"{ 'is-active': current.path === item.path }\">\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 v-else />\n </li>\n <hr />\n <li>\n <a @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </li>\n </ul>\n </aside>\n </div>\n <div class=\"column\">\n <component :is=\"current.component\"></component>\n </div>\n </div>\n</template>\n<script>\nimport { computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'account',\n setup() {\n const store = useStore();\n const routes = computed(() => store.getters['auth/account']);\n const user = computed(() => store.getters['auth/me']);\n const current = computed(() => {\n return routes.value.find((route) => route.path === window.location.href);\n });\n\n const logout = () => {\n store.dispatch('auth/logout');\n };\n\n return {\n routes,\n logout,\n current,\n user\n };\n }\n};\n</script>","<template>\n <div class=\"columns account\">\n <div class=\"column is-3\">\n <slot name=\"user\" :user=\"user\">\n <div class=\"user-wrapper\">\n <div class=\"icon\"></div>\n <div class=\"user\">{{ user.name }}</div>\n <div class=\"email\">{{ user.email }}</div>\n </div>\n <hr />\n </slot>\n <aside class=\"menu\">\n <ul class=\"menu-list\">\n <li v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" v-bind:class=\"{ 'is-active': current.path === item.path }\">\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 v-else />\n </li>\n <hr />\n <li>\n <a @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </li>\n </ul>\n </aside>\n </div>\n <div class=\"column\">\n <component :is=\"current.component\"></component>\n </div>\n </div>\n</template>\n<script>\nimport { computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'account',\n setup() {\n const store = useStore();\n const routes = computed(() => store.getters['auth/account']);\n const user = computed(() => store.getters['auth/me']);\n const current = computed(() => {\n return routes.value.find((route) => route.path === window.location.href);\n });\n\n const logout = () => {\n store.dispatch('auth/logout');\n };\n\n return {\n routes,\n logout,\n current,\n user\n };\n }\n};\n</script>"],"names":["name","setup","store","useStore","routes","computed","getters","user","current","value","find","route","path","window","location","href","logout","dispatch","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_renderSlot","$setup","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","email","_hoisted_7","_hoisted_8","_hoisted_9","item","key","text","icon","_hoisted_11","badge","_hoisted_13","_hoisted_15","onClick","_hoisted_16","_ctx","_hoisted_17","_createBlock","component"],"mappings":"sDA4Ce,CACXA,KAAM,UACNC,qBACUC,EAAQC,aACRC,EAASC,YAAS,kBAAMH,EAAMI,QAAQ,mBACtCC,EAAOF,YAAS,kBAAMH,EAAMI,QAAQ,cACpCE,EAAUH,YAAS,kBACdD,EAAOK,MAAMC,MAAK,SAACC,UAAUA,EAAMC,OAASC,OAAOC,SAASC,iBAOhE,CACHX,OAAAA,EACAY,OANW,WACXd,EAAMe,SAAS,gBAMfT,QAAAA,EACAD,KAAAA,cC7DG,4BACI,wBAEQ,kBACPW,kCAAW,0BACA,iBACA,WAEfA,iDAES,iBACC,uCAGa,wCAIC,qBAIpBA,0CAGQA,kCAAW,SACPA,yCAAgB,+BAQ7B,8DAlCfC,2BAAAC,GACIF,2BAAAG,GACIC,8BAAmBf,KAAMgB,SAAzB,kBACIL,2BAAAM,GACIC,EACAP,2BAAAQ,oBAAqBH,OAAKvB,SAC1BkB,2BAAAS,oBAAsBJ,OAAKK,YAE/BC,MAEJX,6BAAAY,GACIZ,0BAAAa,oBACIZ,kDAA0BI,mBAAdS,EAAMC,wBAAlBd,2BAAyCc,IAAKA,IACfD,EAAKE,oBAAhCf,gCAAIJ,KAAMiB,EAAKpB,yCAAoDW,UAAQX,OAASoB,EAAKpB,SAC7DoB,EAAKG,oBAA7BhB,2BAAAiB,GACIlB,6CAAwBc,EAAKG,mDAEjCjB,mDAASc,EAAKE,SACYF,EAAKK,qBAA/BlB,4BAAAmB,oBAAyCN,EAAKK,kEAElDlB,yCAEJoB,EACArB,gCACIA,0BAAIsB,sCAAOjB,0CACPkB,EAGAvB,mDAASwB,4CAM7BxB,2BAAAyB,kBACIC,wCAAgBrB,UAAQsB"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue"),t=require("vue-toastification"),r=require("vuex"),n=e.defineComponent({props:{item:Object},setup:function(n){var i=r.useStore(),l=t.useToast(),o=n.item,a=e.ref(!1);return{item:o,isOpen:a,toggle:function(){a.value=!a.value},pluralize:function(e,t){return e+" "+t[e%100>4&&e%100<20?2:[2,0,1,1,1,2][Math.min(e%10,5)]]},addressName:function(e){return e?(e.shipping_postcode?e.shipping_postcode+", ":"")+(e.shipping_city?e.shipping_city:"")+(e.shipping_street?", "+e.shipping_street:"")+(e.shipping_house?" "+e.shipping_house:"")+(e.shipping_building?", "+__("shop.address.building")+" "+e.shipping_building:"")+(e.shipping_flat?", "+__("shop.address.apartment")+" "+e.shipping_flat:"")+(e.shipping_floor?", "+e.shipping_floor+__("shop.address.floor"):""):""},repeat:function(){$http.post($ziggy("account.forward.orders"),{action:"repeat",id:o.id}).then((function(e){l(__("shop.cart.repeated"),{type:"success"}),i.dispatch("cart/get",{finally:function(){}})})).catch((function(){l(__("shop.cart.repeated_error"),{type:"error"})}))}}}}),i={class:"history-order-title"},l=["innerHTML"],o={class:"history-order-body"},a={class:"history-order-table"},s={class:"product"},p={class:"product-photo"},c=["src"],d={key:1,src:"/images/blank.png"},m={class:"product-info"},u=["href"],y=["href"],h={class:"cell-title"},g=["innerHTML"],_={class:"cell-title"},N={class:"cell-title"},E=["innerHTML"],V={class:"history-order-summary"},v={key:0,class:"history-order-delivery-payment"},f={class:"delivery-group"},b=e.createElementVNode("br",null,null,-1),S=["innerHTML"],D=["innerHTML"],k=["innerHTML"],T=["innerHTML"],L={class:"payment-group"},M={class:"history-order-total"},H={class:"total-item products-amount"},B={class:"total-item summ-regular"},q=["innerHTML"];n.render=function(t,r,n,x,z,$){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["history-order",{"is-open":t.isOpen}])},[e.createElementVNode("div",{class:"history-order-head",onClick:r[0]||(r[0]=function(){return t.toggle&&t.toggle.apply(t,arguments)})},[e.createElementVNode("div",i,[e.createTextVNode(" №"+e.toDisplayString(t.item.id)+" "+e.toDisplayString(t.__("shop.cart.bydate"))+" "+e.toDisplayString(t.item.date)+" ",1),e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(t.pluralize(t.item.positions.length,t.__("shop.pluralize.products")))+" "+e.toDisplayString(t.__("shop.cart.bysum"))+" ",1),e.createElementVNode("span",{innerHTML:t.$filters.price(t.item.total)},null,8,l)])]),e.createElementVNode("div",{class:"history-order-status",style:e.normalizeStyle("color:"+t.item.status.color)},e.toDisplayString(t.item.status.name),5)]),e.createElementVNode("div",o,[e.createElementVNode("table",a,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,e.toDisplayString(t.__("shop.cart.table.product")),1),e.createElementVNode("th",null,e.toDisplayString(t.__("shop.cart.table.price")),1),e.createElementVNode("th",null,e.toDisplayString(t.__("shop.cart.table.quantity")),1),e.createElementVNode("th",null,e.toDisplayString(t.__("shop.cart.table.sum")),1)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.item.positions,(function(r,n){return e.openBlock(),e.createElementBlock("tr",{key:n},[e.createElementVNode("td",null,[e.createElementVNode("div",s,[e.createElementVNode("div",p,[r.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:r.image},null,8,c)):(e.openBlock(),e.createElementBlock("img",d))]),e.createElementVNode("div",m,[e.createElementVNode("a",{href:r.category.href,class:"product-category"},e.toDisplayString(r.category.name),9,u),e.createElementVNode("a",{href:r.href,class:"product-title"},e.toDisplayString(r.name),9,y)])])]),e.createElementVNode("td",null,[e.createElementVNode("div",h,e.toDisplayString(t.__("shop.cart.table.price")),1),e.createElementVNode("div",{innerHTML:t.$filters.price(r.price)},null,8,g)]),e.createElementVNode("td",null,[e.createElementVNode("div",_,e.toDisplayString(t.__("shop.cart.table.quantity")),1),e.createElementVNode("div",null,e.toDisplayString(r.quantity),1)]),e.createElementVNode("td",null,[e.createElementVNode("div",N,e.toDisplayString(t.__("shop.cart.table.sum")),1),e.createElementVNode("div",{innerHTML:t.$filters.price(r.quantity*r.price)},null,8,E)])])})),128))])]),e.createElementVNode("div",V,[t.item.delivery&&t.item.payment?(e.openBlock(),e.createElementBlock("div",v,[e.createElementVNode("div",f,[e.createElementVNode("div",null,e.toDisplayString(t.__("shop.cart.shipment_info")),1),e.createElementVNode("div",null,[e.createTextVNode(e.toDisplayString(t.item.delivery)+" ",1),b,e.createElementVNode("span",{innerHTML:t.item.property.pickup_name?t.item.property.pickup_name+"<br>":""},null,8,S),e.createElementVNode("span",{innerHTML:t.item.property.novaposhta_city?t.item.property.novaposhta_city+"<br>"+t.item.property.novaposhta_warehouse+"<br>":""},null,8,D),e.createElementVNode("span",{innerHTML:t.addressName(t.item.property)+"<br>"},null,8,k),e.createElementVNode("span",{innerHTML:t.item.property.shipping_time?t.item.property.shipping_time+"<br />":""},null,8,T)])]),e.createElementVNode("div",L,[e.createElementVNode("div",null,e.toDisplayString(t.__("shop.cart.payment_info")),1),e.createElementVNode("div",null,e.toDisplayString(t.item.payment),1)])])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",M,[e.createElementVNode("div",H,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.products"))+": ",1),e.createElementVNode("span",null,e.toDisplayString(t.item.positions.length),1)]),e.createElementVNode("div",B,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.table.sum"))+": ",1),e.createElementVNode("span",{innerHTML:t.$filters.price(t.item.total)},null,8,q)]),e.createElementVNode("a",{onClick:r[1]||(r[1]=function(){return t.repeat&&t.repeat.apply(t,arguments)}),class:"repeat-checkout-btn"},e.toDisplayString(t.__("shop.cart.repeat")),1)])])])],2)},module.exports=n;
2
+ //# sourceMappingURL=OrderItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderItem.js","sources":["../../../src/components/account/OrderItem.vue","../../../src/components/account/OrderItem.vue?vue&type=template&id=6346c9d4&lang.js"],"sourcesContent":["<template>\n <div class=\"history-order\" v-bind:class=\"{ 'is-open': isOpen }\">\n <div class=\"history-order-head\" @click=\"toggle\">\n <div class=\"history-order-title\">\n №{{ item.id }} {{ __('shop.cart.bydate') }} {{ item.date }} <span>{{ pluralize(item.positions.length, __('shop.pluralize.products')) }} {{ __('shop.cart.bysum') }} <span v-html=\"$filters.price(item.total)\"></span></span>\n </div>\n <div class=\"history-order-status\" v-bind:style=\"'color:' + item.status.color\">{{ item.status.name }}</div>\n </div>\n <div class=\"history-order-body\">\n <table class=\"history-order-table\">\n <thead>\n <tr>\n <th>{{ __('shop.cart.table.product') }}</th>\n <th>{{ __('shop.cart.table.price') }}</th>\n <th>{{ __('shop.cart.table.quantity') }}</th>\n <th>{{ __('shop.cart.table.sum') }}</th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"(p, key) in item.positions\" v-bind:key=\"key\">\n <td>\n <div class=\"product\">\n <div class=\"product-photo\">\n <img :src=\"p.image\" v-if=\"p.image\" />\n <img src=\"/images/blank.png\" v-else />\n </div>\n <div class=\"product-info\">\n <a :href=\"p.category.href\" class=\"product-category\">{{ p.category.name }}</a>\n <a :href=\"p.href\" class=\"product-title\">{{ p.name }}</a>\n </div>\n </div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.price') }}</div>\n <div v-html=\"$filters.price(p.price)\"></div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.quantity') }}</div>\n <div>{{ p.quantity }}</div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.sum') }}</div>\n <div v-html=\"$filters.price(p.quantity * p.price)\"></div>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"history-order-summary\">\n <div class=\"history-order-delivery-payment\" v-if=\"item.delivery && item.payment\">\n <div class=\"delivery-group\">\n <div>{{ __('shop.cart.shipment_info') }}</div>\n <div>\n {{ item.delivery }} <br />\n <span v-html=\"item.property.pickup_name ? item.property.pickup_name + '<br>' : ''\"></span>\n <span v-html=\"item.property.novaposhta_city ? item.property.novaposhta_city + '<br>' + item.property.novaposhta_warehouse + '<br>' : ''\"></span>\n <span v-html=\"addressName(item.property) + '<br>'\"></span>\n <span v-html=\"item.property.shipping_time ? item.property.shipping_time + '<br />' : ''\"></span>\n </div>\n </div>\n <div class=\"payment-group\">\n <div>{{ __('shop.cart.payment_info') }}</div>\n <div>{{ item.payment }}</div>\n </div>\n </div>\n <div class=\"history-order-total\">\n <div class=\"total-item products-amount\">\n {{ __('shop.cart.products') }}: <span>{{ item.positions.length }}</span>\n </div>\n <div class=\"total-item summ-regular\">{{ __('shop.cart.table.sum') }}: <span v-html=\"$filters.price(item.total)\"></span></div>\n <a @click=\"repeat\" class=\"repeat-checkout-btn\">{{ __('shop.cart.repeat') }}</a>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from 'vue';\nimport { useToast } from \"vue-toastification\";\nimport { useStore } from 'vuex';\n\nexport default defineComponent({\n props: {\n item: Object\n },\n setup(props) {\n const store = useStore();\n const toast = useToast();\n const item = props.item;\n const isOpen = ref(false);\n\n const toggle = () => {\n isOpen.value = !isOpen.value;\n };\n\n const pluralize = (count, words) => {\n let cases = [2, 0, 1, 1, 1, 2];\n\n return count + ' ' + words[count % 100 > 4 && count % 100 < 20 ? 2 : cases[Math.min(count % 10, 5)]];\n };\n\n const addressName = (item) => {\n if (!item) {\n return '';\n }\n\n return (item.shipping_postcode ? item.shipping_postcode + ', ' : '') + (item.shipping_city ? item.shipping_city : '') + (item.shipping_street ? ', ' + item.shipping_street : '') + (item.shipping_house ? ' ' + item.shipping_house : '') + (item.shipping_building ? ', ' + __('shop.address.building') + ' ' + item.shipping_building : '') + (item.shipping_flat ? ', ' + __('shop.address.apartment') + ' ' + item.shipping_flat : '') + (item.shipping_floor ? ', ' + item.shipping_floor + __('shop.address.floor') : '');\n };\n\n const repeat = () => {\n $http\n .post($ziggy('account.forward.orders'), {\n action: 'repeat',\n id: item.id\n })\n .then((response) => {\n toast(__('shop.cart.repeated'), {\n type: 'success'\n });\n\n store.dispatch('cart/get', {\n finally: () => {}\n });\n })\n .catch(() => {\n toast(__('shop.cart.repeated_error'), {\n type: 'error'\n });\n });\n };\n\n return {\n item,\n isOpen,\n toggle,\n pluralize,\n addressName,\n repeat\n };\n }\n});\n</script>\n","<template>\n <div class=\"history-order\" v-bind:class=\"{ 'is-open': isOpen }\">\n <div class=\"history-order-head\" @click=\"toggle\">\n <div class=\"history-order-title\">\n №{{ item.id }} {{ __('shop.cart.bydate') }} {{ item.date }} <span>{{ pluralize(item.positions.length, __('shop.pluralize.products')) }} {{ __('shop.cart.bysum') }} <span v-html=\"$filters.price(item.total)\"></span></span>\n </div>\n <div class=\"history-order-status\" v-bind:style=\"'color:' + item.status.color\">{{ item.status.name }}</div>\n </div>\n <div class=\"history-order-body\">\n <table class=\"history-order-table\">\n <thead>\n <tr>\n <th>{{ __('shop.cart.table.product') }}</th>\n <th>{{ __('shop.cart.table.price') }}</th>\n <th>{{ __('shop.cart.table.quantity') }}</th>\n <th>{{ __('shop.cart.table.sum') }}</th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"(p, key) in item.positions\" v-bind:key=\"key\">\n <td>\n <div class=\"product\">\n <div class=\"product-photo\">\n <img :src=\"p.image\" v-if=\"p.image\" />\n <img src=\"/images/blank.png\" v-else />\n </div>\n <div class=\"product-info\">\n <a :href=\"p.category.href\" class=\"product-category\">{{ p.category.name }}</a>\n <a :href=\"p.href\" class=\"product-title\">{{ p.name }}</a>\n </div>\n </div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.price') }}</div>\n <div v-html=\"$filters.price(p.price)\"></div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.quantity') }}</div>\n <div>{{ p.quantity }}</div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.sum') }}</div>\n <div v-html=\"$filters.price(p.quantity * p.price)\"></div>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"history-order-summary\">\n <div class=\"history-order-delivery-payment\" v-if=\"item.delivery && item.payment\">\n <div class=\"delivery-group\">\n <div>{{ __('shop.cart.shipment_info') }}</div>\n <div>\n {{ item.delivery }} <br />\n <span v-html=\"item.property.pickup_name ? item.property.pickup_name + '<br>' : ''\"></span>\n <span v-html=\"item.property.novaposhta_city ? item.property.novaposhta_city + '<br>' + item.property.novaposhta_warehouse + '<br>' : ''\"></span>\n <span v-html=\"addressName(item.property) + '<br>'\"></span>\n <span v-html=\"item.property.shipping_time ? item.property.shipping_time + '<br />' : ''\"></span>\n </div>\n </div>\n <div class=\"payment-group\">\n <div>{{ __('shop.cart.payment_info') }}</div>\n <div>{{ item.payment }}</div>\n </div>\n </div>\n <div class=\"history-order-total\">\n <div class=\"total-item products-amount\">\n {{ __('shop.cart.products') }}: <span>{{ item.positions.length }}</span>\n </div>\n <div class=\"total-item summ-regular\">{{ __('shop.cart.table.sum') }}: <span v-html=\"$filters.price(item.total)\"></span></div>\n <a @click=\"repeat\" class=\"repeat-checkout-btn\">{{ __('shop.cart.repeat') }}</a>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from 'vue';\nimport { useToast } from \"vue-toastification\";\nimport { useStore } from 'vuex';\n\nexport default defineComponent({\n props: {\n item: Object\n },\n setup(props) {\n const store = useStore();\n const toast = useToast();\n const item = props.item;\n const isOpen = ref(false);\n\n const toggle = () => {\n isOpen.value = !isOpen.value;\n };\n\n const pluralize = (count, words) => {\n let cases = [2, 0, 1, 1, 1, 2];\n\n return count + ' ' + words[count % 100 > 4 && count % 100 < 20 ? 2 : cases[Math.min(count % 10, 5)]];\n };\n\n const addressName = (item) => {\n if (!item) {\n return '';\n }\n\n return (item.shipping_postcode ? item.shipping_postcode + ', ' : '') + (item.shipping_city ? item.shipping_city : '') + (item.shipping_street ? ', ' + item.shipping_street : '') + (item.shipping_house ? ' ' + item.shipping_house : '') + (item.shipping_building ? ', ' + __('shop.address.building') + ' ' + item.shipping_building : '') + (item.shipping_flat ? ', ' + __('shop.address.apartment') + ' ' + item.shipping_flat : '') + (item.shipping_floor ? ', ' + item.shipping_floor + __('shop.address.floor') : '');\n };\n\n const repeat = () => {\n $http\n .post($ziggy('account.forward.orders'), {\n action: 'repeat',\n id: item.id\n })\n .then((response) => {\n toast(__('shop.cart.repeated'), {\n type: 'success'\n });\n\n store.dispatch('cart/get', {\n finally: () => {}\n });\n })\n .catch(() => {\n toast(__('shop.cart.repeated_error'), {\n type: 'error'\n });\n });\n };\n\n return {\n item,\n isOpen,\n toggle,\n pluralize,\n addressName,\n repeat\n };\n }\n});\n</script>\n"],"names":["defineComponent","props","item","Object","setup","store","useStore","toast","useToast","isOpen","ref","toggle","value","pluralize","count","words","Math","min","addressName","shipping_postcode","shipping_city","shipping_street","shipping_house","shipping_building","__","shipping_flat","shipping_floor","repeat","$http","post","$ziggy","action","id","then","response","type","dispatch","src","_createElementVNode","_createElementBlock","_ctx","onClick","_hoisted_1","date","positions","length","innerHTML","price","total","style","status","color","name","_hoisted_3","_hoisted_4","p","key","_hoisted_5","_hoisted_6","image","_hoisted_8","_hoisted_9","href","category","_hoisted_12","_hoisted_14","quantity","_hoisted_15","_hoisted_17","delivery","payment","_hoisted_18","_hoisted_19","_hoisted_20","property","pickup_name","novaposhta_city","novaposhta_warehouse","shipping_time","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28"],"mappings":"sFAgFeA,kBAAgB,CAC3BC,MAAO,CACHC,KAAMC,QAEVC,eAAMH,OACII,EAAQC,aACRC,EAAQC,aACRN,EAAOD,EAAMC,KACbO,EAASC,OAAI,SA0CZ,CACHR,KAAAA,EACAO,OAAAA,EACAE,OA3CW,WACXF,EAAOG,OAASH,EAAOG,OA2CvBC,UAxCc,SAACC,EAAOC,UAGfD,EAAQ,IAAMC,EAAMD,EAAQ,IAAM,GAAKA,EAAQ,IAAM,GAAK,EAFrD,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAE+CE,KAAKC,IAAIH,EAAQ,GAAI,MAsChGI,YAnCgB,SAAChB,UACZA,GAIGA,EAAKiB,kBAAoBjB,EAAKiB,kBAAoB,KAAO,KAAOjB,EAAKkB,cAAgBlB,EAAKkB,cAAgB,KAAOlB,EAAKmB,gBAAkB,KAAOnB,EAAKmB,gBAAkB,KAAOnB,EAAKoB,eAAiB,IAAMpB,EAAKoB,eAAiB,KAAOpB,EAAKqB,kBAAoB,KAAOC,GAAG,yBAA2B,IAAMtB,EAAKqB,kBAAoB,KAAOrB,EAAKuB,cAAgB,KAAOD,GAAG,0BAA4B,IAAMtB,EAAKuB,cAAgB,KAAOvB,EAAKwB,eAAiB,KAAOxB,EAAKwB,eAAiBF,GAAG,sBAAwB,IAHlf,IAkCXG,OA5BW,WACXC,MACKC,KAAKC,OAAO,0BAA2B,CACpCC,OAAQ,SACRC,GAAI9B,EAAK8B,KAEZC,MAAK,SAACC,GACH3B,EAAMiB,GAAG,sBAAuB,CAC5BW,KAAM,YAGV9B,EAAM+B,SAAS,WAAY,SACd,yBAGV,WACH7B,EAAMiB,GAAG,4BAA6B,CAClCW,KAAM,2BC1HP,gDAKJ,+BACM,gCAYc,oBACI,oCAEFE,IAAI,8BAEF,+CAOJ,uCAIA,uBAIA,uCAMhB,wCACI,2CACI,oBAGiBC,iHAOjB,0BAKJ,gCACI,uCAGA,+FAnE3BC,oDAAW,2BAA2CC,cAClDF,kCAAW,qBAAsBG,sCAAOD,0CACpCF,2BAAAI,4CACQF,OAAKR,0BAASQ,gDAA6BA,OAAKG,aAAQL,sEAASE,YAAUA,OAAKI,UAAUC,OAAQL,wDAAqCA,gCAAyBF,qBAAiD,QAA3CQ,UAAQN,WAASO,MAAMP,OAAKQ,sBAE1MV,kCAAW,uBAA8BW,gCAAkBT,OAAKU,OAAOC,0BAAUX,OAAKU,OAAOE,WAEjGd,2BAAAe,GACIf,6BAAAgB,GACIhB,mCACIA,gCACIA,iDAAOE,oCACPF,iDAAOE,kCACPF,iDAAOE,qCACPF,iDAAOE,oCAGfF,oDACIC,kDAAuBC,OAAKI,oBAAhBW,EAAGC,wBAAfjB,2BAA8CiB,IAAKA,IAC/ClB,gCACIA,2BAAAmB,GACInB,2BAAAoB,GAC8BH,EAAEI,qBAA5BpB,kCAAMF,IAAKkB,EAAEI,iCACbpB,2BAAAqB,MAEJtB,2BAAAuB,GACIvB,0BAAIwB,KAAMP,EAAEQ,SAASD,WAAY,sCAAsBP,EAAEQ,SAASX,WAClEd,0BAAIwB,KAAMP,EAAEO,WAAY,mCAAmBP,EAAEH,iBAIzDd,gCACIA,2BAAA0B,oBAA2BxB,kCAC3BF,4BAAKQ,UAAQN,WAASO,MAAMQ,EAAER,oBAElCT,gCACIA,2BAAA2B,oBAA2BzB,qCAC3BF,kDAAQiB,EAAEW,eAEd5B,gCACIA,2BAAA6B,oBAA2B3B,gCAC3BF,4BAAKQ,UAAQN,WAASO,MAAMQ,EAAEW,SAAWX,EAAER,mCAK3DT,2BAAA8B,GACsD5B,OAAK6B,UAAY7B,OAAK8B,uBAAxE/B,2BAAAgC,GACIjC,2BAAAkC,GACIlC,kDAAQE,oCACRF,qEACOE,OAAK6B,iBAAYI,EACpBnC,6BAAMQ,UAAQN,OAAKkC,SAASC,YAAcnC,OAAKkC,SAASC,iCACxDrC,6BAAMQ,UAAQN,OAAKkC,SAASE,gBAAkBpC,OAAKkC,SAASE,uBAA2BpC,OAAKkC,SAASG,0CACrGvC,6BAAMQ,UAAQN,cAAYA,OAAKkC,4BAC/BpC,6BAAMQ,UAAQN,OAAKkC,SAASI,cAAgBtC,OAAKkC,SAASI,yCAGlExC,2BAAAyC,GACIzC,kDAAQE,mCACRF,kDAAQE,OAAK8B,iDAGrBhC,2BAAA0C,GACI1C,2BAAA2C,uCACOzC,4BAA2B,QAAEF,mDAASE,OAAKI,UAAUC,aAE5DP,2BAAA4C,uCAAwC1C,6BAA4B,QAAEF,qBAAiD,QAA3CQ,UAAQN,WAASO,MAAMP,OAAKQ,oBACxGV,0BAAIG,sCAAOD,8CAAc,yCAAyBA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue"),t=require("v-calendar"),a=require("dayjs"),r=require("vue-toastification"),n=require("vuex"),l=require("secure-ls");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=o(a),s=o(l),c=e.defineComponent({props:{item:Object},setup:function(t){var a=n.useStore(),l=r.useToast(),o=t.item,i=e.ref(!1);return{item:o,isOpen:i,toggle:function(){i.value=!i.value},pluralize:function(e,t){return e+" "+t[e%100>4&&e%100<20?2:[2,0,1,1,1,2][Math.min(e%10,5)]]},addressName:function(e){return e?(e.shipping_postcode?e.shipping_postcode+", ":"")+(e.shipping_city?e.shipping_city:"")+(e.shipping_street?", "+e.shipping_street:"")+(e.shipping_house?" "+e.shipping_house:"")+(e.shipping_building?", "+__("shop.address.building")+" "+e.shipping_building:"")+(e.shipping_flat?", "+__("shop.address.apartment")+" "+e.shipping_flat:"")+(e.shipping_floor?", "+e.shipping_floor+__("shop.address.floor"):""):""},repeat:function(){$http.post($ziggy("account.forward.orders"),{action:"repeat",id:o.id}).then((function(e){l(__("shop.cart.repeated"),{type:"success"}),a.dispatch("cart/get",{finally:function(){}})})).catch((function(){l(__("shop.cart.repeated_error"),{type:"error"})}))}}}}),d={class:"history-order-title"},p=["innerHTML"],u={class:"history-order-body"},m={class:"history-order-table"},y={class:"product"},g={class:"product-photo"},h=["src"],f={key:1,src:"/images/blank.png"},v={class:"product-info"},_=["href"],E=["href"],V={class:"cell-title"},N=["innerHTML"],k={class:"cell-title"},D={class:"cell-title"},b=["innerHTML"],S={class:"history-order-summary"},B={key:0,class:"history-order-delivery-payment"},M={class:"delivery-group"},T=e.createElementVNode("br",null,null,-1),C=["innerHTML"],x=["innerHTML"],L=["innerHTML"],H=["innerHTML"],Y={class:"payment-group"},R={class:"history-order-total"},q={class:"total-item products-amount"},$={class:"total-item summ-regular"},z=["innerHTML"];c.render=function(t,a,r,n,l,o){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["history-order",{"is-open":t.isOpen}])},[e.createElementVNode("div",{class:"history-order-head",onClick:a[0]||(a[0]=function(){return t.toggle&&t.toggle.apply(t,arguments)})},[e.createElementVNode("div",d,[e.createTextVNode(" №"+e.toDisplayString(t.item.id)+" "+e.toDisplayString(t.__("shop.cart.bydate"))+" "+e.toDisplayString(t.item.date)+" ",1),e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(t.pluralize(t.item.positions.length,t.__("shop.pluralize.products")))+" "+e.toDisplayString(t.__("shop.cart.bysum"))+" ",1),e.createElementVNode("span",{innerHTML:t.$filters.price(t.item.total)},null,8,p)])]),e.createElementVNode("div",{class:"history-order-status",style:e.normalizeStyle("color:"+t.item.status.color)},e.toDisplayString(t.item.status.name),5)]),e.createElementVNode("div",u,[e.createElementVNode("table",m,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,e.toDisplayString(t.__("shop.cart.table.product")),1),e.createElementVNode("th",null,e.toDisplayString(t.__("shop.cart.table.price")),1),e.createElementVNode("th",null,e.toDisplayString(t.__("shop.cart.table.quantity")),1),e.createElementVNode("th",null,e.toDisplayString(t.__("shop.cart.table.sum")),1)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.item.positions,(function(a,r){return e.openBlock(),e.createElementBlock("tr",{key:r},[e.createElementVNode("td",null,[e.createElementVNode("div",y,[e.createElementVNode("div",g,[a.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:a.image},null,8,h)):(e.openBlock(),e.createElementBlock("img",f))]),e.createElementVNode("div",v,[e.createElementVNode("a",{href:a.category.href,class:"product-category"},e.toDisplayString(a.category.name),9,_),e.createElementVNode("a",{href:a.href,class:"product-title"},e.toDisplayString(a.name),9,E)])])]),e.createElementVNode("td",null,[e.createElementVNode("div",V,e.toDisplayString(t.__("shop.cart.table.price")),1),e.createElementVNode("div",{innerHTML:t.$filters.price(a.price)},null,8,N)]),e.createElementVNode("td",null,[e.createElementVNode("div",k,e.toDisplayString(t.__("shop.cart.table.quantity")),1),e.createElementVNode("div",null,e.toDisplayString(a.quantity),1)]),e.createElementVNode("td",null,[e.createElementVNode("div",D,e.toDisplayString(t.__("shop.cart.table.sum")),1),e.createElementVNode("div",{innerHTML:t.$filters.price(a.quantity*a.price)},null,8,b)])])})),128))])]),e.createElementVNode("div",S,[t.item.delivery&&t.item.payment?(e.openBlock(),e.createElementBlock("div",B,[e.createElementVNode("div",M,[e.createElementVNode("div",null,e.toDisplayString(t.__("shop.cart.shipment_info")),1),e.createElementVNode("div",null,[e.createTextVNode(e.toDisplayString(t.item.delivery)+" ",1),T,e.createElementVNode("span",{innerHTML:t.item.property.pickup_name?t.item.property.pickup_name+"<br>":""},null,8,C),e.createElementVNode("span",{innerHTML:t.item.property.novaposhta_city?t.item.property.novaposhta_city+"<br>"+t.item.property.novaposhta_warehouse+"<br>":""},null,8,x),e.createElementVNode("span",{innerHTML:t.addressName(t.item.property)+"<br>"},null,8,L),e.createElementVNode("span",{innerHTML:t.item.property.shipping_time?t.item.property.shipping_time+"<br />":""},null,8,H)])]),e.createElementVNode("div",Y,[e.createElementVNode("div",null,e.toDisplayString(t.__("shop.cart.payment_info")),1),e.createElementVNode("div",null,e.toDisplayString(t.item.payment),1)])])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",R,[e.createElementVNode("div",q,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.products"))+": ",1),e.createElementVNode("span",null,e.toDisplayString(t.item.positions.length),1)]),e.createElementVNode("div",$,[e.createTextVNode(e.toDisplayString(t.__("shop.cart.table.sum"))+": ",1),e.createElementVNode("span",{innerHTML:t.$filters.price(t.item.total)},null,8,z)]),e.createElementVNode("a",{onClick:a[1]||(a[1]=function(){return t.repeat&&t.repeat.apply(t,arguments)}),class:"repeat-checkout-btn"},e.toDisplayString(t.__("shop.cart.repeat")),1)])])])],2)};var O=e.defineComponent({components:{"date-picker":t.DatePicker,item:c},setup:function(){var t=new s.default({isCompression:!1}),a=t.get("order-history");(!a||i.default().diff(a.expires,"day")>1)&&(a={start:i.default().startOf("month").toDate(),end:i.default().toDate(),expires:i.default().add(1,"day").toDate()},t.set("order-history",a));var r="ua"==$env.locale.current?"uk":$env.locale.current,n=e.ref(null),l=e.ref(""),o=e.ref({start:a.start,end:a.end}),c=e.ref(2),d=e.ref(!1),p=e.ref(null),u=[{text:"today",range:{start:i.default().toDate(),end:i.default().toDate()}},{text:"yesterday",range:{start:i.default().subtract(1,"day").toDate(),end:i.default().subtract(1,"day").toDate()}},{text:"currentmonth",range:{start:i.default().startOf("month").toDate(),end:i.default().toDate()}},{text:"lastmonth",range:{start:i.default().subtract(1,"month").startOf("month").toDate(),end:i.default().subtract(1,"month").endOf("month").toDate()}},{text:"lastyear",range:{start:i.default().startOf("year").toDate(),end:i.default().toDate()}}],m=e.ref([i.default(o.value.start).format("DD.MM.YYYY"),i.default(o.value.end).format("DD.MM.YYYY")]),y=function(){$http.post($ziggy("account.orders"),{start:o.value.start,end:o.value.end}).then((function(e){p.value=e.data.orders}))};return y(),{date:l,range:o,rangeReadable:m,onDayClick:function(){c.value=null},locale:r,calendar:n,setRange:function(e,t){c.value=t,o.value=e,n.value.move(o.value.start)},activeRange:c,presets:u,calendarToggled:d,applyRange:function(){m.value=[i.default(o.value.start).format("DD.MM.YYYY"),i.default(o.value.end).format("DD.MM.YYYY")],d.value=!1,t.set("order-history",{start:o.value.start,end:o.value.end,expires:i.default().add(1,"day").toDate()}),e.nextTick(y)},toggleCalendar:function(){d.value=!d.value},orders:p}}}),w={class:"account-content"},j={class:"block-head"},F={class:"block-title"},P={class:"selector-item"},U={class:"selector-item-label"},A={class:"selector-item-inner"},G={class:"calendar-dropdown-head"},I={class:"presets"},J=["textContent","onClick"],K={class:"calendar-dropdown-body"},Q={class:"content-blocks orders-blocks"},W={class:"content-column"},X={key:0,class:"content-block group-orders"},Z={key:0,class:"content-block-list"},ee={key:1};O.render=function(t,a,r,n,l,o){var i=e.resolveComponent("date-picker"),s=e.resolveComponent("item");return e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("div",j,[e.createElementVNode("h1",F,e.toDisplayString(t.__("shop.account.orders.title")),1),e.createElementVNode("div",P,[e.createElementVNode("div",U,e.toDisplayString(t.__("shop.account.orders.period"))+":",1),e.createElementVNode("div",A,[e.createElementVNode("div",{class:"select-placeholder",onClick:a[0]||(a[0]=function(){return t.toggleCalendar&&t.toggleCalendar.apply(t,arguments)})},e.toDisplayString(t.rangeReadable[0])+e.toDisplayString(t.rangeReadable[1]!=t.rangeReadable[0]?" — "+t.rangeReadable[1]:""),1),e.createElementVNode("div",{class:e.normalizeClass(["calendar-dropdown",{"is-hidden":!t.calendarToggled}]),onMouseleave:a[3]||(a[3]=function(e){return t.calendarToggled=!1})},[e.createElementVNode("div",G,[e.createElementVNode("div",I,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.presets,(function(a,r){return e.openBlock(),e.createElementBlock("a",{key:r,textContent:e.toDisplayString(t.__("shop.account.calendar.preset."+a.text)),class:e.normalizeClass({"is-active":t.activeRange==r}),onClick:function(e){return t.setRange(a.range,r)}},null,10,J)})),128))])]),e.createElementVNode("div",K,[e.createVNode(i,{ref:"calendar",modelValue:t.range,"onUpdate:modelValue":a[1]||(a[1]=function(e){return t.range=e}),"title-position":"left",columns:2,mode:"date","max-date":new Date,locale:t.locale,onDayclick:t.onDayClick,"is-range":""},null,8,["modelValue","max-date","locale","onDayclick"]),e.createElementVNode("button",{class:"calendar-submit",onClick:a[2]||(a[2]=function(){return t.applyRange&&t.applyRange.apply(t,arguments)})},e.toDisplayString(t.__("shop.account.calendar.choose")),1)])],34)])])]),e.createElementVNode("div",Q,[e.createElementVNode("div",W,[t.orders?(e.openBlock(),e.createElementBlock("div",X,[t.orders.length?(e.openBlock(),e.createElementBlock("div",Z,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.orders,(function(t){return e.openBlock(),e.createBlock(s,{item:t,key:t.id},null,8,["item"])})),128))])):(e.openBlock(),e.createElementBlock("div",ee,e.toDisplayString(t.__("shop.account.orders.no")),1))])):e.createCommentVNode("v-if",!0)])])])},module.exports=O;
2
+ //# sourceMappingURL=Orders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Orders.js","sources":["../../../src/components/account/OrderItem.vue","../../../src/components/account/OrderItem.vue?vue&type=template&id=6346c9d4&lang.js","../../../src/components/account/Orders.vue","../../../src/components/account/Orders.vue?vue&type=template&id=2c8a4bd4&lang.js"],"sourcesContent":["<template>\n <div class=\"history-order\" v-bind:class=\"{ 'is-open': isOpen }\">\n <div class=\"history-order-head\" @click=\"toggle\">\n <div class=\"history-order-title\">\n №{{ item.id }} {{ __('shop.cart.bydate') }} {{ item.date }} <span>{{ pluralize(item.positions.length, __('shop.pluralize.products')) }} {{ __('shop.cart.bysum') }} <span v-html=\"$filters.price(item.total)\"></span></span>\n </div>\n <div class=\"history-order-status\" v-bind:style=\"'color:' + item.status.color\">{{ item.status.name }}</div>\n </div>\n <div class=\"history-order-body\">\n <table class=\"history-order-table\">\n <thead>\n <tr>\n <th>{{ __('shop.cart.table.product') }}</th>\n <th>{{ __('shop.cart.table.price') }}</th>\n <th>{{ __('shop.cart.table.quantity') }}</th>\n <th>{{ __('shop.cart.table.sum') }}</th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"(p, key) in item.positions\" v-bind:key=\"key\">\n <td>\n <div class=\"product\">\n <div class=\"product-photo\">\n <img :src=\"p.image\" v-if=\"p.image\" />\n <img src=\"/images/blank.png\" v-else />\n </div>\n <div class=\"product-info\">\n <a :href=\"p.category.href\" class=\"product-category\">{{ p.category.name }}</a>\n <a :href=\"p.href\" class=\"product-title\">{{ p.name }}</a>\n </div>\n </div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.price') }}</div>\n <div v-html=\"$filters.price(p.price)\"></div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.quantity') }}</div>\n <div>{{ p.quantity }}</div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.sum') }}</div>\n <div v-html=\"$filters.price(p.quantity * p.price)\"></div>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"history-order-summary\">\n <div class=\"history-order-delivery-payment\" v-if=\"item.delivery && item.payment\">\n <div class=\"delivery-group\">\n <div>{{ __('shop.cart.shipment_info') }}</div>\n <div>\n {{ item.delivery }} <br />\n <span v-html=\"item.property.pickup_name ? item.property.pickup_name + '<br>' : ''\"></span>\n <span v-html=\"item.property.novaposhta_city ? item.property.novaposhta_city + '<br>' + item.property.novaposhta_warehouse + '<br>' : ''\"></span>\n <span v-html=\"addressName(item.property) + '<br>'\"></span>\n <span v-html=\"item.property.shipping_time ? item.property.shipping_time + '<br />' : ''\"></span>\n </div>\n </div>\n <div class=\"payment-group\">\n <div>{{ __('shop.cart.payment_info') }}</div>\n <div>{{ item.payment }}</div>\n </div>\n </div>\n <div class=\"history-order-total\">\n <div class=\"total-item products-amount\">\n {{ __('shop.cart.products') }}: <span>{{ item.positions.length }}</span>\n </div>\n <div class=\"total-item summ-regular\">{{ __('shop.cart.table.sum') }}: <span v-html=\"$filters.price(item.total)\"></span></div>\n <a @click=\"repeat\" class=\"repeat-checkout-btn\">{{ __('shop.cart.repeat') }}</a>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from 'vue';\nimport { useToast } from \"vue-toastification\";\nimport { useStore } from 'vuex';\n\nexport default defineComponent({\n props: {\n item: Object\n },\n setup(props) {\n const store = useStore();\n const toast = useToast();\n const item = props.item;\n const isOpen = ref(false);\n\n const toggle = () => {\n isOpen.value = !isOpen.value;\n };\n\n const pluralize = (count, words) => {\n let cases = [2, 0, 1, 1, 1, 2];\n\n return count + ' ' + words[count % 100 > 4 && count % 100 < 20 ? 2 : cases[Math.min(count % 10, 5)]];\n };\n\n const addressName = (item) => {\n if (!item) {\n return '';\n }\n\n return (item.shipping_postcode ? item.shipping_postcode + ', ' : '') + (item.shipping_city ? item.shipping_city : '') + (item.shipping_street ? ', ' + item.shipping_street : '') + (item.shipping_house ? ' ' + item.shipping_house : '') + (item.shipping_building ? ', ' + __('shop.address.building') + ' ' + item.shipping_building : '') + (item.shipping_flat ? ', ' + __('shop.address.apartment') + ' ' + item.shipping_flat : '') + (item.shipping_floor ? ', ' + item.shipping_floor + __('shop.address.floor') : '');\n };\n\n const repeat = () => {\n $http\n .post($ziggy('account.forward.orders'), {\n action: 'repeat',\n id: item.id\n })\n .then((response) => {\n toast(__('shop.cart.repeated'), {\n type: 'success'\n });\n\n store.dispatch('cart/get', {\n finally: () => {}\n });\n })\n .catch(() => {\n toast(__('shop.cart.repeated_error'), {\n type: 'error'\n });\n });\n };\n\n return {\n item,\n isOpen,\n toggle,\n pluralize,\n addressName,\n repeat\n };\n }\n});\n</script>\n","<template>\n <div class=\"history-order\" v-bind:class=\"{ 'is-open': isOpen }\">\n <div class=\"history-order-head\" @click=\"toggle\">\n <div class=\"history-order-title\">\n №{{ item.id }} {{ __('shop.cart.bydate') }} {{ item.date }} <span>{{ pluralize(item.positions.length, __('shop.pluralize.products')) }} {{ __('shop.cart.bysum') }} <span v-html=\"$filters.price(item.total)\"></span></span>\n </div>\n <div class=\"history-order-status\" v-bind:style=\"'color:' + item.status.color\">{{ item.status.name }}</div>\n </div>\n <div class=\"history-order-body\">\n <table class=\"history-order-table\">\n <thead>\n <tr>\n <th>{{ __('shop.cart.table.product') }}</th>\n <th>{{ __('shop.cart.table.price') }}</th>\n <th>{{ __('shop.cart.table.quantity') }}</th>\n <th>{{ __('shop.cart.table.sum') }}</th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"(p, key) in item.positions\" v-bind:key=\"key\">\n <td>\n <div class=\"product\">\n <div class=\"product-photo\">\n <img :src=\"p.image\" v-if=\"p.image\" />\n <img src=\"/images/blank.png\" v-else />\n </div>\n <div class=\"product-info\">\n <a :href=\"p.category.href\" class=\"product-category\">{{ p.category.name }}</a>\n <a :href=\"p.href\" class=\"product-title\">{{ p.name }}</a>\n </div>\n </div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.price') }}</div>\n <div v-html=\"$filters.price(p.price)\"></div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.quantity') }}</div>\n <div>{{ p.quantity }}</div>\n </td>\n <td>\n <div class=\"cell-title\">{{ __('shop.cart.table.sum') }}</div>\n <div v-html=\"$filters.price(p.quantity * p.price)\"></div>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"history-order-summary\">\n <div class=\"history-order-delivery-payment\" v-if=\"item.delivery && item.payment\">\n <div class=\"delivery-group\">\n <div>{{ __('shop.cart.shipment_info') }}</div>\n <div>\n {{ item.delivery }} <br />\n <span v-html=\"item.property.pickup_name ? item.property.pickup_name + '<br>' : ''\"></span>\n <span v-html=\"item.property.novaposhta_city ? item.property.novaposhta_city + '<br>' + item.property.novaposhta_warehouse + '<br>' : ''\"></span>\n <span v-html=\"addressName(item.property) + '<br>'\"></span>\n <span v-html=\"item.property.shipping_time ? item.property.shipping_time + '<br />' : ''\"></span>\n </div>\n </div>\n <div class=\"payment-group\">\n <div>{{ __('shop.cart.payment_info') }}</div>\n <div>{{ item.payment }}</div>\n </div>\n </div>\n <div class=\"history-order-total\">\n <div class=\"total-item products-amount\">\n {{ __('shop.cart.products') }}: <span>{{ item.positions.length }}</span>\n </div>\n <div class=\"total-item summ-regular\">{{ __('shop.cart.table.sum') }}: <span v-html=\"$filters.price(item.total)\"></span></div>\n <a @click=\"repeat\" class=\"repeat-checkout-btn\">{{ __('shop.cart.repeat') }}</a>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, defineComponent } from 'vue';\nimport { useToast } from \"vue-toastification\";\nimport { useStore } from 'vuex';\n\nexport default defineComponent({\n props: {\n item: Object\n },\n setup(props) {\n const store = useStore();\n const toast = useToast();\n const item = props.item;\n const isOpen = ref(false);\n\n const toggle = () => {\n isOpen.value = !isOpen.value;\n };\n\n const pluralize = (count, words) => {\n let cases = [2, 0, 1, 1, 1, 2];\n\n return count + ' ' + words[count % 100 > 4 && count % 100 < 20 ? 2 : cases[Math.min(count % 10, 5)]];\n };\n\n const addressName = (item) => {\n if (!item) {\n return '';\n }\n\n return (item.shipping_postcode ? item.shipping_postcode + ', ' : '') + (item.shipping_city ? item.shipping_city : '') + (item.shipping_street ? ', ' + item.shipping_street : '') + (item.shipping_house ? ' ' + item.shipping_house : '') + (item.shipping_building ? ', ' + __('shop.address.building') + ' ' + item.shipping_building : '') + (item.shipping_flat ? ', ' + __('shop.address.apartment') + ' ' + item.shipping_flat : '') + (item.shipping_floor ? ', ' + item.shipping_floor + __('shop.address.floor') : '');\n };\n\n const repeat = () => {\n $http\n .post($ziggy('account.forward.orders'), {\n action: 'repeat',\n id: item.id\n })\n .then((response) => {\n toast(__('shop.cart.repeated'), {\n type: 'success'\n });\n\n store.dispatch('cart/get', {\n finally: () => {}\n });\n })\n .catch(() => {\n toast(__('shop.cart.repeated_error'), {\n type: 'error'\n });\n });\n };\n\n return {\n item,\n isOpen,\n toggle,\n pluralize,\n addressName,\n repeat\n };\n }\n});\n</script>\n","<template>\n <div class=\"account-content\">\n <div class=\"block-head\">\n <h1 class=\"block-title\">{{ __('shop.account.orders.title') }}</h1>\n <div class=\"selector-item\">\n <div class=\"selector-item-label\">{{ __('shop.account.orders.period') }}:</div>\n <div class=\"selector-item-inner\">\n <div class=\"select-placeholder\" @click=\"toggleCalendar\">{{ rangeReadable[0] }}{{ rangeReadable[1] != rangeReadable[0] ? ' — ' + rangeReadable[1] : '' }}</div>\n\n <div class=\"calendar-dropdown\" v-bind:class=\"{ 'is-hidden': !calendarToggled }\" @mouseleave=\"calendarToggled = false\">\n <div class=\"calendar-dropdown-head\">\n <div class=\"presets\">\n <a\n v-for=\"(item, key) in presets\"\n :key=\"key\"\n v-text=\"__('shop.account.calendar.preset.' + item.text)\"\n :class=\"{\n 'is-active': activeRange == key\n }\"\n @click=\"setRange(item.range, key)\"\n ></a>\n </div>\n </div>\n <div class=\"calendar-dropdown-body\">\n <date-picker ref=\"calendar\" v-model=\"range\" :title-position=\"'left'\" :columns=\"2\" :mode=\"'date'\" :max-date=\"new Date()\" :locale=\"locale\" @dayclick=\"onDayClick\" is-range> </date-picker>\n <button class=\"calendar-submit\" @click=\"applyRange\">{{ __('shop.account.calendar.choose') }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"content-blocks orders-blocks\">\n <div class=\"content-column\">\n <div class=\"content-block group-orders\" v-if=\"orders\">\n <div class=\"content-block-list\" v-if=\"orders.length\">\n <item v-for=\"item in orders\" :item=\"item\" v-bind:key=\"item.id\"></item>\n </div>\n <div v-else>{{ __('shop.account.orders.no') }}</div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\nimport { DatePicker } from 'v-calendar';\nimport dayjs from 'dayjs';\nimport OrderItem from './OrderItem.vue';\nimport SecureLS from 'secure-ls';\n\nexport default defineComponent({\n components: {\n 'date-picker': DatePicker,\n item: OrderItem\n },\n setup() {\n let ls = new SecureLS({\n isCompression: false\n });\n\n let dates = ls.get('order-history');\n\n if (!dates || dayjs().diff(dates.expires, 'day') > 1) {\n dates = {\n start: dayjs().startOf('month').toDate(),\n end: dayjs().toDate(),\n expires: dayjs().add(1, 'day').toDate()\n };\n\n ls.set('order-history', dates);\n }\n\n const locale = $env.locale.current == 'ua' ? 'uk' : $env.locale.current;\n const calendar = ref(null);\n const date = ref('');\n const range = ref({\n start: dates.start,\n end: dates.end\n });\n const activeRange = ref(2);\n const calendarToggled = ref(false);\n const orders = ref(null);\n\n const presets = [\n {\n text: 'today',\n range: {\n start: dayjs().toDate(),\n end: dayjs().toDate()\n }\n },\n {\n text: 'yesterday',\n range: {\n start: dayjs().subtract(1, 'day').toDate(),\n end: dayjs().subtract(1, 'day').toDate()\n }\n },\n {\n text: 'currentmonth',\n range: {\n start: dayjs().startOf('month').toDate(),\n end: dayjs().toDate()\n }\n },\n {\n text: 'lastmonth',\n range: {\n start: dayjs().subtract(1, 'month').startOf('month').toDate(),\n end: dayjs().subtract(1, 'month').endOf('month').toDate()\n }\n },\n {\n text: 'lastyear',\n range: {\n start: dayjs().startOf('year').toDate(),\n end: dayjs().toDate()\n }\n }\n ];\n\n const rangeReadable = ref([dayjs(range.value.start).format('DD.MM.YYYY'), dayjs(range.value.end).format('DD.MM.YYYY')]);\n\n const onDayClick = () => {\n activeRange.value = null;\n };\n\n const setRange = (newRange, key) => {\n activeRange.value = key;\n range.value = newRange;\n\n calendar.value.move(range.value.start);\n };\n\n const applyRange = () => {\n rangeReadable.value = [dayjs(range.value.start).format('DD.MM.YYYY'), dayjs(range.value.end).format('DD.MM.YYYY')];\n\n calendarToggled.value = false;\n\n ls.set('order-history', {\n start: range.value.start,\n end: range.value.end,\n expires: dayjs().add(1, 'day').toDate()\n });\n\n nextTick(get);\n };\n\n const toggleCalendar = () => {\n calendarToggled.value = !calendarToggled.value;\n };\n\n const get = () => {\n $http\n .post($ziggy('account.orders'), {\n start: range.value.start,\n end: range.value.end\n })\n .then((response) => {\n orders.value = response.data.orders;\n });\n };\n get();\n\n return {\n date,\n range,\n rangeReadable,\n onDayClick,\n locale,\n calendar,\n setRange,\n activeRange,\n presets,\n calendarToggled,\n applyRange,\n toggleCalendar,\n orders\n };\n }\n});\n</script>","<template>\n <div class=\"account-content\">\n <div class=\"block-head\">\n <h1 class=\"block-title\">{{ __('shop.account.orders.title') }}</h1>\n <div class=\"selector-item\">\n <div class=\"selector-item-label\">{{ __('shop.account.orders.period') }}:</div>\n <div class=\"selector-item-inner\">\n <div class=\"select-placeholder\" @click=\"toggleCalendar\">{{ rangeReadable[0] }}{{ rangeReadable[1] != rangeReadable[0] ? ' — ' + rangeReadable[1] : '' }}</div>\n\n <div class=\"calendar-dropdown\" v-bind:class=\"{ 'is-hidden': !calendarToggled }\" @mouseleave=\"calendarToggled = false\">\n <div class=\"calendar-dropdown-head\">\n <div class=\"presets\">\n <a\n v-for=\"(item, key) in presets\"\n :key=\"key\"\n v-text=\"__('shop.account.calendar.preset.' + item.text)\"\n :class=\"{\n 'is-active': activeRange == key\n }\"\n @click=\"setRange(item.range, key)\"\n ></a>\n </div>\n </div>\n <div class=\"calendar-dropdown-body\">\n <date-picker ref=\"calendar\" v-model=\"range\" :title-position=\"'left'\" :columns=\"2\" :mode=\"'date'\" :max-date=\"new Date()\" :locale=\"locale\" @dayclick=\"onDayClick\" is-range> </date-picker>\n <button class=\"calendar-submit\" @click=\"applyRange\">{{ __('shop.account.calendar.choose') }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"content-blocks orders-blocks\">\n <div class=\"content-column\">\n <div class=\"content-block group-orders\" v-if=\"orders\">\n <div class=\"content-block-list\" v-if=\"orders.length\">\n <item v-for=\"item in orders\" :item=\"item\" v-bind:key=\"item.id\"></item>\n </div>\n <div v-else>{{ __('shop.account.orders.no') }}</div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, defineComponent, nextTick } from 'vue';\nimport { DatePicker } from 'v-calendar';\nimport dayjs from 'dayjs';\nimport OrderItem from './OrderItem.vue';\nimport SecureLS from 'secure-ls';\n\nexport default defineComponent({\n components: {\n 'date-picker': DatePicker,\n item: OrderItem\n },\n setup() {\n let ls = new SecureLS({\n isCompression: false\n });\n\n let dates = ls.get('order-history');\n\n if (!dates || dayjs().diff(dates.expires, 'day') > 1) {\n dates = {\n start: dayjs().startOf('month').toDate(),\n end: dayjs().toDate(),\n expires: dayjs().add(1, 'day').toDate()\n };\n\n ls.set('order-history', dates);\n }\n\n const locale = $env.locale.current == 'ua' ? 'uk' : $env.locale.current;\n const calendar = ref(null);\n const date = ref('');\n const range = ref({\n start: dates.start,\n end: dates.end\n });\n const activeRange = ref(2);\n const calendarToggled = ref(false);\n const orders = ref(null);\n\n const presets = [\n {\n text: 'today',\n range: {\n start: dayjs().toDate(),\n end: dayjs().toDate()\n }\n },\n {\n text: 'yesterday',\n range: {\n start: dayjs().subtract(1, 'day').toDate(),\n end: dayjs().subtract(1, 'day').toDate()\n }\n },\n {\n text: 'currentmonth',\n range: {\n start: dayjs().startOf('month').toDate(),\n end: dayjs().toDate()\n }\n },\n {\n text: 'lastmonth',\n range: {\n start: dayjs().subtract(1, 'month').startOf('month').toDate(),\n end: dayjs().subtract(1, 'month').endOf('month').toDate()\n }\n },\n {\n text: 'lastyear',\n range: {\n start: dayjs().startOf('year').toDate(),\n end: dayjs().toDate()\n }\n }\n ];\n\n const rangeReadable = ref([dayjs(range.value.start).format('DD.MM.YYYY'), dayjs(range.value.end).format('DD.MM.YYYY')]);\n\n const onDayClick = () => {\n activeRange.value = null;\n };\n\n const setRange = (newRange, key) => {\n activeRange.value = key;\n range.value = newRange;\n\n calendar.value.move(range.value.start);\n };\n\n const applyRange = () => {\n rangeReadable.value = [dayjs(range.value.start).format('DD.MM.YYYY'), dayjs(range.value.end).format('DD.MM.YYYY')];\n\n calendarToggled.value = false;\n\n ls.set('order-history', {\n start: range.value.start,\n end: range.value.end,\n expires: dayjs().add(1, 'day').toDate()\n });\n\n nextTick(get);\n };\n\n const toggleCalendar = () => {\n calendarToggled.value = !calendarToggled.value;\n };\n\n const get = () => {\n $http\n .post($ziggy('account.orders'), {\n start: range.value.start,\n end: range.value.end\n })\n .then((response) => {\n orders.value = response.data.orders;\n });\n };\n get();\n\n return {\n date,\n range,\n rangeReadable,\n onDayClick,\n locale,\n calendar,\n setRange,\n activeRange,\n presets,\n calendarToggled,\n applyRange,\n toggleCalendar,\n orders\n };\n }\n});\n</script>"],"names":["defineComponent","props","item","Object","setup","store","useStore","toast","useToast","isOpen","ref","toggle","value","pluralize","count","words","Math","min","addressName","shipping_postcode","shipping_city","shipping_street","shipping_house","shipping_building","__","shipping_flat","shipping_floor","repeat","$http","post","$ziggy","action","id","then","response","type","dispatch","src","_createElementVNode","_createElementBlock","_ctx","onClick","_hoisted_1","date","positions","length","innerHTML","price","total","style","status","color","name","_hoisted_3","_hoisted_4","p","key","_hoisted_5","_hoisted_6","image","_hoisted_8","_hoisted_9","href","category","_hoisted_12","_hoisted_14","quantity","_hoisted_15","_hoisted_17","delivery","payment","_hoisted_18","_hoisted_19","_hoisted_20","property","pickup_name","novaposhta_city","novaposhta_warehouse","shipping_time","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","components","DatePicker","OrderItem","ls","SecureLS","isCompression","dates","get","dayjs","diff","expires","start","startOf","toDate","end","add","set","locale","$env","current","calendar","range","activeRange","calendarToggled","orders","presets","text","subtract","endOf","rangeReadable","format","data","onDayClick","setRange","newRange","move","applyRange","nextTick","toggleCalendar","_hoisted_2","onMouseleave","_hoisted_7","_toDisplayString","_hoisted_10","_createVNode","columns","mode","Date","onDayclick","_hoisted_11","_hoisted_13","_createBlock"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue"),r=require("vuex"),t=require("formvuelate"),a=require("vue-toastification"),n=require("@formvuelate/plugin-vee-validate"),o=require("@perevorot/shop/dist/api"),i=require("@perevorot/shop/dist/helpers");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=l(n);function s(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==t)return;var a,n,o=[],i=!0,l=!1;try{for(t=t.call(e);!(i=(a=t.next()).done)&&(o.push(a.value),!r||o.length!==r);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==t.return||t.return()}finally{if(l)throw n}}return o}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return c(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return c(e,r)}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,a=new Array(r);t<r;t++)a[t]=e[t];return a}var m={name:"user",components:{SchemaForm:t.SchemaFormFactory([u.default({})])},setup:function(){var n=r.useStore(),l=e.ref(!1),u=e.ref(!0),c=e.ref({}),m=e.ref({}),f=e.ref({}),d=e.ref({}),v=a.useToast(),h=e.ref(0);t.useSchemaForm(d);return o.auth.registerForm().then((function(e){var r=i.formParse(e.data);m.value=r.schema,d.value=Object.assign({},r.model,e.data.model),f.value=r.validation})).finally((function(){u.value=!1})),{loading:l,loadingForm:u,errors:c,schema:m,validation:f,onSubmit:function(){l.value=!0,n.dispatch("auth/update",{credentials:d.value,finally:function(){l.value=!1},callback:function(){v(__("auth.registration.form.saved"),{type:"success"}),n.dispatch("auth/me")},catch:function(e){if(e.response&&e.response.data&&e.response.data.errors)for(var r=0,t=Object.entries(e.response.data.errors);r<t.length;r++){var a=s(t[r],2),n=a[0],o=a[1];o[0]&&(c.value[n]=o[0])}else console.error(e);h.value++}})},model:d,key:h}}},f={key:0},d={class:"field"},v={class:"columns is-vcentered"},h={class:"column"};m.render=function(r,t,a,n,o,i){var l=e.resolveComponent("SchemaForm");return n.loadingForm?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",f,[(e.openBlock(),e.createBlock(l,{schemaRowClasses:"field",schema:n.schema,"validation-schema":n.validation,"initial-errors":n.errors,key:n.key,onSubmit:n.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",d,[e.createElementVNode("div",v,[e.createElementVNode("div",h,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":n.loading}]),type:"submit"},e.toDisplayString(r.__("auth.registration.form.save")),3)])])])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))]))},module.exports=m;
2
+ //# sourceMappingURL=User.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.js","sources":["../../../src/components/account/User.vue","../../../src/components/account/User.vue?vue&type=template&id=1a068db2&lang.js"],"sourcesContent":["<template>\n <div v-if=\"!loadingForm\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :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.registration.form.save') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport { useToast } from \"vue-toastification\";\n\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'user',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const errors = ref({});\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n const toast = useToast();\n const key = ref(0);\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/update', {\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\n toast(__('auth.registration.form.saved'), {\n type: 'success'\n });\n\n store.dispatch('auth/me');\n },\n catch: (error) => {\n if (error.response && error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n } else {\n console.error(error);\n }\n\n key.value++;\n }\n });\n };\n\n api.registerForm()\n .then((response) => {\n const form = formParse(response.data);\n\n schema.value = form.schema;\n model.value = { ...form.model, ...response.data.model };\n validation.value = form.validation;\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n errors,\n schema,\n validation,\n onSubmit,\n model,\n key\n };\n }\n};\n</script>","<template>\n <div v-if=\"!loadingForm\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :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.registration.form.save') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport { useToast } from \"vue-toastification\";\n\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'user',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const errors = ref({});\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n const toast = useToast();\n const key = ref(0);\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/update', {\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\n toast(__('auth.registration.form.saved'), {\n type: 'success'\n });\n\n store.dispatch('auth/me');\n },\n catch: (error) => {\n if (error.response && error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n } else {\n console.error(error);\n }\n\n key.value++;\n }\n });\n };\n\n api.registerForm()\n .then((response) => {\n const form = formParse(response.data);\n\n schema.value = form.schema;\n model.value = { ...form.model, ...response.data.model };\n validation.value = form.validation;\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n errors,\n schema,\n validation,\n onSubmit,\n model,\n key\n };\n }\n};\n</script>"],"names":["name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","store","useStore","loading","ref","loadingForm","errors","schema","validation","model","toast","useToast","key","useSchemaForm","api","registerForm","then","response","form","formParse","data","value","onSubmit","dispatch","credentials","callback","__","type","error","Object","entries","field","messages","console","$setup","_createElementBlock","_createBlock","schemaRowClasses","afterForm","_createElementVNode","_hoisted_2","_hoisted_3","_hoisted_4","_ctx"],"mappings":"8wCA2BA,MAEe,CACXA,KAAM,OACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBACUC,EAAQC,aACRC,EAAUC,OAAI,GACdC,EAAcD,OAAI,GAClBE,EAASF,MAAI,IACbG,EAASH,MAAI,IACbI,EAAaJ,MAAI,IACjBK,EAAQL,MAAI,IACZM,EAAQC,aACRC,EAAMR,MAAI,GAEhBS,gBAAcJ,UAiCdK,OAAIC,eACCC,MAAK,SAACC,OACGC,EAAOC,YAAUF,EAASG,MAEhCb,EAAOc,MAAQH,EAAKX,OACpBE,EAAMY,uBAAaH,EAAKT,MAAUQ,EAASG,KAAKX,OAChDD,EAAWa,MAAQH,EAAKV,uBAEnB,WACLH,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,OAAAA,EACAC,OAAAA,EACAC,WAAAA,EACAc,SAjDa,WACbnB,EAAQkB,OAAQ,EAEhBpB,EAAMsB,SAAS,cAAe,CAC1BC,YAAaf,EAAMY,cACV,WACLlB,EAAQkB,OAAQ,GAEpBI,SAAU,WACNf,EAAMgB,GAAG,gCAAiC,CACtCC,KAAM,YAGV1B,EAAMsB,SAAS,kBAEZ,SAACK,MACAA,EAAMX,UAAYW,EAAMX,SAASG,MAAQQ,EAAMX,SAASG,KAAKd,qBAC7BuB,OAAOC,QAAQF,EAAMX,SAASG,KAAKd,uBAAS,iBAAhEyB,OAAOC,OACXA,EAAS,KACT1B,EAAOe,MAAMU,GAASC,EAAS,SAIvCC,QAAQL,MAAMA,GAGlBhB,EAAIS,YAwBZZ,MAAAA,EACAG,IAAAA,wBC9Fe,kBACI,iCACI,uFALnBsB,6DAAZC,6CACIC,iBAAYC,iBAAiB,QAAS9B,OAAQ2B,6BAA4BA,8BAA6BA,SAAStB,IAAKsB,MAAMZ,SAAQY,aACpHI,qBACP,kBAAAC,2BAAAC,GACID,2BAAAE,GACIF,2BAAAG,GACIH,uDAAc,+BAA6DL,aAA5CP,KAAK,4BAC7BgB"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue");var r={render:function(r,o){var n=e.resolveComponent("viewed",!0);return e.openBlock(),e.createBlock(n)}};module.exports=r;
2
+ //# sourceMappingURL=Viewed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Viewed.js","sources":["../../../src/components/account/Viewed.vue?vue&type=template&id=72cb6588&lang.js"],"sourcesContent":["<template>\n <viewed></viewed>\n</template>\n"],"names":["_createBlock"],"mappings":"yHACIA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("vue").defineAsyncComponent((function(){return new Promise((function(t,e){$http.post($ziggy("api.wishlist"),{action:"list"}).then((function(e){t({template:e.data,mounted:function(){window.lazyImages.update()}})}))}))}));module.exports=t;
2
+ //# sourceMappingURL=Wish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Wish.js","sources":["../../../src/components/account/Wish.vue"],"sourcesContent":["<script>\nimport { defineAsyncComponent } from \"vue\";\n\nexport default defineAsyncComponent(\n () =>\n new Promise((resolve, reject) => {\n $http\n .post($ziggy(\"api.wishlist\"), {\n action: \"list\",\n })\n .then((response) => {\n resolve({\n template: response.data,\n mounted() {\n window.lazyImages.update();\n },\n });\n });\n })\n);\n</script>\n"],"names":["Promise","resolve","reject","$http","post","$ziggy","action","then","response","template","data","mounted","window","lazyImages","update"],"mappings":"wDAII,kBACI,IAAIA,SAAQ,SAACC,EAASC,GAClBC,MACKC,KAAKC,OAAO,gBAAiB,CAC1BC,OAAQ,SAEXC,MAAK,SAACC,GACHP,EAAQ,CACJQ,SAAUD,EAASE,KACnBC,mBACIC,OAAOC,WAAWC"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),r=require("@formvuelate/plugin-vee-validate"),l=require("@perevorot/shop/dist/forms/FormText"),n=require("yup");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var u=o(r),c=o(l),m=i(n);e.markRaw(c.default);var s={name:"forget",components:{SchemaForm:a.SchemaFormFactory([u.default({})])},props:{email:{type:String,default:""}},setup:function(r){var l=e.ref(!1),n=t.useStore(),o=e.ref(0),i=e.ref(""),u=e.ref(""),s=e.ref(!1),d=e.ref({email:{component:c.default,label:__("auth.login.form.email")}}),f=m.object().shape({email:m.string().email(__("auth.validation.email")).required(__("auth.validation.required"))}),v=e.ref({email:r.email});a.useSchemaForm(v);return{loading:l,key:o,schema:d,validation:f,remembered:function(){n.commit("auth/modal","login")},onSubmit:function(){l.value=!0,i.value="",u.value="",n.dispatch("auth/reset",{credentials:v.value,callback:function(e,t){t?u.value=e:i.value=e},finally:function(){v.value={},l.value=!1,s.value=!0,o.value++}})},again:function(){s.value=!1},sent:s,message:i,error:u,close:function(){n.commit("auth/modal",null)}}}},d={class:"form auth-forget"},f={class:"title"},v={class:"field"},h={class:"columns is-vcentered"},p={class:"column"},g={class:"mt-2"},b={class:"mt-2"},y={class:"mt-2"};s.render=function(t,a,r,l,n,o){var i=e.resolveComponent("SchemaForm");return e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",f,e.toDisplayString(t.__("auth.forget.title")),1),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:l.schema,"validation-schema":l.validation,key:l.key,onSubmit:l.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",v,[e.createElementVNode("div",h,[e.createElementVNode("div",p,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":l.loading}]),type:"submit"},e.toDisplayString(t.__("auth.forget.form.submit")),3)])])])]})),_:1},8,["schema","validation-schema","onSubmit"])),e.createElementVNode("div",g,[e.createElementVNode("a",{onClick:a[0]||(a[0]=function(){return l.remembered&&l.remembered.apply(l,arguments)})},e.toDisplayString(t.__("auth.forget.remembered")),1)])],512),[[e.vShow,!l.sent]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(l.message),1),e.createElementVNode("div",b,[e.createElementVNode("a",{onClick:a[1]||(a[1]=function(){return l.close&&l.close.apply(l,arguments)})},e.toDisplayString(t.__("auth.forget.close")),1)])],512),[[e.vShow,l.sent&&l.message]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(l.error),1),e.createElementVNode("div",y,[e.createElementVNode("a",{onClick:a[2]||(a[2]=function(){return l.again&&l.again.apply(l,arguments)})},e.toDisplayString(t.__("auth.forget.send")),1)])],512),[[e.vShow,l.sent&&l.error]])])},module.exports=s;
2
+ //# sourceMappingURL=Forget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Forget.js","sources":["../../../src/components/auth/Forget.vue","../../../src/components/auth/Forget.vue?vue&type=template&id=128fc09e&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\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.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message\">\n <div>{{ message }}</div>\n <div class=\"mt-2\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && error\">\n <div>{{ error }}</div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw } 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 * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: props.email\n });\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError) => {\n if (!isError) {\n message.value = m;\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\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.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message\">\n <div>{{ message }}</div>\n <div class=\"mt-2\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && error\">\n <div>{{ error }}</div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw } 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 * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: props.email\n });\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError) => {\n if (!isError) {\n message.value = m;\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close\n };\n }\n};\n</script>"],"names":["markRaw","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","email","type","String","setup","loading","ref","store","useStore","key","message","error","sent","schema","component","label","__","validation","yup","object","shape","string","required","model","useSchemaForm","remembered","commit","onSubmit","value","dispatch","credentials","callback","m","isError","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_7","_hoisted_8"],"mappings":"6jBA4CAA,UAAQC,WAER,MAEe,CACXC,KAAM,SACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,MAAO,CACHC,MAAO,CACHC,KAAMC,eACG,KAGjBC,eAAMJ,OACIK,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAQL,MAAI,IACZM,EAAON,OAAI,GAEXO,EAASP,MAAI,CACfL,MAAO,CACHa,UAAWpB,UACXqB,MAAOC,GAAG,4BAIZC,EAAaC,EAAIC,SAASC,MAAM,CAClCnB,MAAOiB,EAAIG,SAASpB,MAAMe,GAAG,0BAA0BM,SAASN,GAAG,+BAGjEO,EAAQjB,MAAI,CACdL,MAAOD,EAAMC,QAGjBuB,gBAAcD,SAqCP,CACHlB,QAAAA,EACAI,IAAAA,EACAI,OAAAA,EACAI,WAAAA,EACAQ,WAxCe,WACflB,EAAMmB,OAAO,aAAc,UAwC3BC,SAjCa,WACbtB,EAAQuB,OAAQ,EAChBlB,EAAQkB,MAAQ,GAChBjB,EAAMiB,MAAQ,GAEdrB,EAAMsB,SAAS,aAAc,CACzBC,YAAaP,EAAMK,MACnBG,SAAU,SAACC,EAAGC,GACLA,EAGDtB,EAAMiB,MAAQI,EAFdtB,EAAQkB,MAAQI,WAKf,WACLT,EAAMK,MAAQ,GACdvB,EAAQuB,OAAQ,EAChBhB,EAAKgB,OAAQ,EACbnB,EAAImB,YAgBZM,MAtCU,WACVtB,EAAKgB,OAAQ,GAsCbhB,KAAAA,EACAF,QAAAA,EACAC,MAAAA,EACAwB,MAfU,WACV5B,EAAMmB,OAAO,aAAc,mBCnHxB,6BACI,kBAIY,kBACI,iCACI,mBAUhB,iBAMA,iBAMA,mGA7BnBU,2BAAAC,GACIC,2BAAAC,oBAAsBC,+CACtBF,gDACIG,iBAAYC,iBAAiB,QAAS7B,OAAQ8B,6BAA4BA,aAAalC,IAAKkC,MAAMhB,SAAQgB,aAC3FC,qBACP,kBAAAN,2BAAAO,GACIP,2BAAAQ,GACIR,2BAAAS,GACIT,uDAAc,+BAA6DK,aAA5CzC,KAAK,4BAC7BsC,iGAQ3BF,2BAAAU,GACIV,0BAAIW,sCAAON,mEAAeH,sDAhBpBG,2BAmBdL,iCACIA,kDAAQK,cACRL,2BAAAY,GACIZ,0BAAIW,sCAAON,yDAAUH,gDAHhBG,QAAQA,8BAMrBL,iCACIA,kDAAQK,YACRL,2BAAAa,GACIb,0BAAIW,sCAAON,yDAAUH,+CAHhBG,QAAQA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),n=require("@perevorot/shop/dist/forms/FormText"),a=require("@perevorot/shop/dist/forms/FormPassword"),l=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=i(o),s=i(n),d=i(a),m=c(l);function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,n,a=[],l=!0,i=!1;try{for(r=r.call(e);!(l=(o=r.next()).done)&&(a.push(o.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(i)throw n}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return p(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}e.markRaw(s.default);var v=r.SchemaFormFactory([u.default({})]),h={props:{loginCallback:Function,default:function(){}},name:"login",components:{SchemaForm:v},setup:function(o){var n,a=e.ref(!1),l=t.useStore(),i=e.ref(0),c=e.ref({}),u=e.computed((function(){return l.getters["auth/modal"]})),p=e.ref({email:{component:s.default,label:__("auth.login.form.email"),store:"login",model:"email"},password:{component:d.default,label:__("auth.login.form.password")}}),v=m.object().shape({email:m.string().email(__("auth.validation.email")).required(__("auth.validation.required")),password:m.string().required(__("auth.validation.required"))}),h=e.ref({email:"",password:""});r.useSchemaForm(h);return f(n={loading:a,modal:u,schema:p,validation:v,reset:function(){l.commit("auth/modal","forget")},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})}},"schema",p),f(n,"onSubmit",(function(){a.value=!0,l.dispatch("auth/login",{credentials:h.value,callback:function(){o.loginCallback&&o.loginCallback()},finally:function(){a.value=!1},catch:function(e){if(e.response.data&&e.response.data.errors){for(var t=0,r=Object.entries(e.response.data.errors);t<r.length;t++){var o=g(r[t],2),n=o[0],a=o[1];a[0]&&(c.value[n]=a[0])}h.value.password="",i.value++}}})})),f(n,"errors",c),f(n,"key",i),f(n,"model",h),f(n,"register",(function(){l.commit("auth/modal","registration")})),n}},b={class:"auth-login"},y={class:"title"},k={class:"href-forget-password"},_={class:"field"},w={class:"socials"},E={class:"description has-text-centered"},N={class:"buttons"},S=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],V=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],C={class:"href-register"};h.render=function(t,r,o,n,a,l){var i=e.resolveComponent("SchemaForm"),c=e.resolveComponent("forget");return e.openBlock(),e.createElementBlock("div",b,[e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",y,e.toDisplayString(t.__("auth.login.title")),1),(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:n.schema,"validation-schema":n.validation,"initial-errors":n.errors,key:n.key,onSubmit:n.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",k,[e.createElementVNode("a",{onClick:r[0]||(r[0]=function(){return n.reset&&n.reset.apply(n,arguments)})},e.toDisplayString(t.__("auth.login.forget_password")),1)]),e.createElementVNode("div",_,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":n.loading}]),type:"submit"},e.toDisplayString(t.__("auth.login.form.submit")),3)]),e.createElementVNode("div",w,[e.createElementVNode("div",E,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",N,[e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return n.facebook&&n.facebook.apply(n,arguments)})},S),e.createElementVNode("a",{class:"button",onClick:r[2]||(r[2]=function(){return n.google&&n.google.apply(n,arguments)})},V)])]),e.createElementVNode("div",C,[e.createElementVNode("a",{onClick:r[3]||(r[3]=function(){return n.register&&n.register.apply(n,arguments)})},e.toDisplayString(t.__("auth.login.signup")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],512),[[e.vShow,"login"==n.modal]]),"forget"==n.modal?(e.openBlock(),e.createBlock(c,{key:0,email:n.model.email},null,8,["email"])):e.createCommentVNode("v-if",!0)])},module.exports=h;
2
+ //# sourceMappingURL=Login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Login.js","sources":["../../../src/components/auth/Login.vue","../../../src/components/auth/Login.vue?vue&type=template&id=7e1f4c0e&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.login.form.submit') }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"\n ><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } 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(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: Function,\n default: () => {}\n },\n name: 'login',\n components: {\n SchemaForm\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['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email'\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: ()=>{\n if (props.loginCallback) {\n props.loginCallback();\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register\n };\n }\n};\n</script>","<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.login.form.submit') }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"\n ><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } 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(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: Function,\n default: () => {}\n },\n name: 'login',\n components: {\n SchemaForm\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['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email'\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: ()=>{\n if (props.loginCallback) {\n props.loginCallback();\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register\n };\n }\n};\n</script>"],"names":["markRaw","FormText","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","loginCallback","Function","name","components","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","schema","email","component","label","__","model","password","FormPassword","validation","yup","object","shape","string","required","useSchemaForm","reset","commit","facebook","window","location","href","$ziggy","provider","google","value","dispatch","credentials","callback","error","response","data","Object","entries","field","messages","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","onSubmit","afterForm","_hoisted_3","onClick","_hoisted_4","type","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_14"],"mappings":"isDAoDAA,UAAQC,WAER,IAAMC,EAAaC,oBAAkB,CAACC,UAAkB,QAEzC,CACXC,MAAO,CACHC,cAAeC,iBACN,cAEbC,KAAM,QACNC,WAAY,CACRP,WAAAA,GAEJQ,eAAML,SACIM,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAASJ,MAAI,IACbK,EAAQC,YAAS,kBAAML,EAAMM,QAAQ,iBAErCC,EAASR,MAAI,CACfS,MAAO,CACHC,UAAWrB,UACXsB,MAAOC,GAAG,yBACVX,MAAO,QACPY,MAAO,SAEXC,SAAU,CACNJ,UAAWK,UACXJ,MAAOC,GAAG,+BAIZI,EAAaC,EAAIC,SAASC,MAAM,CAClCV,MAAOQ,EAAIG,SAASX,MAAMG,GAAG,0BAA0BS,SAAST,GAAG,6BACnEE,SAAUG,EAAIG,SAASC,SAAST,GAAG,+BAGjCC,EAAQb,MAAI,CACdS,MAAO,GACPK,SAAU,KAGdQ,gBAAcT,eAoDVd,QAAAA,EACAM,MAAAA,EACAG,OAAAA,EACAQ,WAAAA,EACAO,MAtDU,WACVtB,EAAMuB,OAAO,aAAc,WAsD3BC,SA/Ca,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cA8CdC,OA1CW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,sBAyCdtB,mBArCa,WACbT,EAAQiC,OAAQ,EAEhB/B,EAAMgC,SAAS,aAAc,CACzBC,YAAarB,EAAMmB,MACnBG,SAAU,WACF1C,EAAMC,eACND,EAAMC,yBAGL,WACLK,EAAQiC,OAAQ,SAEb,SAACI,MACAA,EAAMC,SAASC,MAAQF,EAAMC,SAASC,KAAKlC,OAAQ,eACnBmC,OAAOC,QAAQJ,EAAMC,SAASC,KAAKlC,uBAAS,iBAAhEqC,OAAOC,OACXA,EAAS,KACTtC,EAAO4B,MAAMS,GAASC,EAAS,IAIvC7B,EAAMmB,MAAMlB,SAAW,GAEvBX,EAAI6B,4BAgBhB5B,aACAD,eACAU,mBAzDa,WACbZ,EAAMuB,OAAO,aAAc,gCCrGxB,uBAEQ,kBAGQ,iCAGA,kBAKA,oBACI,0CAGA,cAEHmB,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGLA,kCAAW,oBACRA,yCAAgB,2BAEpBA,iCAAM,uBAIP,2IAhC3BC,2BAAAC,oBACIF,iCACIA,2BAAAG,oBAAsBC,4CACtBC,iBAAYC,iBAAiB,QAASzC,OAAQ0C,6BAA4BA,8BAA6BA,SAAS/C,IAAK+C,MAAMC,SAAQD,aACpHE,qBACP,kBAAAT,2BAAAU,GACIV,0BAAIW,sCAAOJ,yDAAUH,yCAEzBJ,2BAAAY,GACIZ,uDAAc,+BAA6DO,aAA5CM,KAAK,4BAC7BT,qCAGXJ,2BAAAc,GACId,2BAAAe,oBACOX,+BAEPJ,2BAAAgB,GACIhB,gCAAS,SAAUW,sCAAOJ,gDAM1BP,gCAAS,SAAUW,sCAAOJ,gDAQlCP,2BAAAiB,GACIjB,0BAAIW,sCAAOJ,+DAAaH,iIAhC3BG,qBAsCCA,uBAAdF,uBAAkCvC,MAAOyC,QAAMzC"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),n=require("@perevorot/shop/dist/api"),a=require("@perevorot/shop/dist/helpers"),i=require("secure-ls");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=l(o),c=l(i);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,n,a=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(o=r.next()).done)&&(a.push(o.value),!t||a.length!==t);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw n}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return m(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}var d={name:"registration",components:{SchemaForm:r.SchemaFormFactory([s.default({})])},setup:function(){var o,i=t.useStore(),l=e.ref(!1),s=e.ref(!0),m=e.ref(0),d=e.ref({}),f=e.ref(!1),v=e.ref(""),h=e.ref({}),g=e.ref({}),p=e.ref({});r.useSchemaForm(p);return n.auth.registerForm().then((function(e){var t=a.formParse(e.data);o=t.model,h.value=t.schema,p.value=t.model,g.value=t.validation,v.value=e.data.type})).finally((function(){s.value=!1})),{loading:l,loadingForm:s,key:m,errors:d,schema:h,validation:g,onSubmit:function(){l.value=!0,i.dispatch("auth/register",{type:v.value.charAt(0).toUpperCase()+v.value.slice(1),credentials:p.value,finally:function(){l.value=!1},callback:function(){f.value=!0,p.value=o,m.value++;var e=new c.default({isCompression:!1}),t=e.get("forms");t.registration&&(t.registration={}),e.set("forms",t)},catch:function(e){if(e.response.data&&e.response.data.errors){for(var t=0,r=Object.entries(e.response.data.errors);t<r.length;t++){var o=u(r[t],2),n=o[0],a=o[1];a[0]&&(d.value[n]=a[0])}m.value++}}})},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})},thanks:f,model:p,close:function(){i.commit("auth/modal",null),i.dispatch("auth/me")},type:v,login:function(){i.commit("auth/modal","login")}}}},f={key:0,class:"auth-registration"},v={class:"title"},h={class:"field"},g={class:"socials"},p={class:"description has-text-centered"},y={class:"buttons"},b=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],k=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],E={class:"href-already-register"},N={class:"mt-3"};d.render=function(t,r,o,n,a,i){var l=e.resolveComponent("SchemaForm");return n.loadingForm?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.registration.title")),1),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(),e.createBlock(l,{schemaRowClasses:"field",schema:n.schema,"validation-schema":n.validation,"initial-errors":n.errors,key:n.key,onSubmit:n.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",h,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":n.loading}]),type:"submit"},e.toDisplayString(t.__("auth.registration.form.submit"+("short"==n.type?"_short":""))),3)]),e.createElementVNode("div",g,[e.createElementVNode("div",p,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",y,[e.createElementVNode("a",{class:"button",onClick:r[0]||(r[0]=function(){return n.facebook&&n.facebook.apply(n,arguments)})},b),e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return n.google&&n.google.apply(n,arguments)})},k)])]),e.createElementVNode("div",E,[e.createElementVNode("a",{onClick:r[2]||(r[2]=function(){return n.login&&n.login.apply(n,arguments)})},e.toDisplayString(t.__("auth.registration.already")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],512),[[e.vShow,!n.thanks]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(t.__("auth.registration.thanks"+("short"==n.type?"_short":""),{email:n.model.email})),1),e.createElementVNode("div",N,[e.createElementVNode("button",{class:"button",onClick:r[3]||(r[3]=function(){return n.close&&n.close.apply(n,arguments)})},e.toDisplayString(t.__("auth.registration.continue")),1)])],512),[[e.vShow,n.thanks]])]))},module.exports=d;
2
+ //# sourceMappingURL=Registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Registration.js","sources":["../../../src/components/auth/Registration.vue","../../../src/components/auth/Registration.vue?vue&type=template&id=23c4e6c6&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"\n ><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value.charAt(0).toUpperCase() + type.value.slice(1),\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>","<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"\n ><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value.charAt(0).toUpperCase() + type.value.slice(1),\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>"],"names":["name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","emptyModel","store","useStore","loading","ref","loadingForm","key","errors","thanks","type","schema","validation","model","useSchemaForm","api","registerForm","then","response","form","formParse","data","value","onSubmit","dispatch","charAt","toUpperCase","slice","credentials","callback","ls","SecureLS","isCompression","forms","get","registration","set","error","Object","entries","field","messages","facebook","window","location","href","$ziggy","provider","google","close","commit","login","_createElementVNode","$setup","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createBlock","schemaRowClasses","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_13","_hoisted_14"],"mappings":"4wCA6DA,MAEe,CACXA,KAAM,eACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBAYQC,EAXEC,EAAQC,aACRC,EAAUC,OAAI,GACdC,EAAcD,OAAI,GAClBE,EAAMF,MAAI,GACVG,EAASH,MAAI,IACbI,EAASJ,OAAI,GACbK,EAAOL,MAAI,IACXM,EAASN,MAAI,IACbO,EAAaP,MAAI,IACjBQ,EAAQR,MAAI,IAIlBS,gBAAcD,UAiEdE,OAAIC,eACCC,MAAK,SAACC,OACGC,EAAOC,YAAUF,EAASG,MAEhCpB,EAAakB,EAAKN,MAElBF,EAAOW,MAAQH,EAAKR,OACpBE,EAAMS,MAAQH,EAAKN,MACnBD,EAAWU,MAAQH,EAAKP,WAExBF,EAAKY,MAAQJ,EAASG,KAAKX,iBAEtB,WACLJ,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAG,OAAAA,EACAC,WAAAA,EACAW,SAtFa,WACbnB,EAAQkB,OAAQ,EAEhBpB,EAAMsB,SAAS,gBAAiB,CAC5Bd,KAAMA,EAAKY,MAAMG,OAAO,GAAGC,cAAgBhB,EAAKY,MAAMK,MAAM,GAC5DC,YAAaf,EAAMS,cACV,WACLlB,EAAQkB,OAAQ,GAEpBO,SAAU,WACNpB,EAAOa,OAAQ,EAEfT,EAAMS,MAAQrB,EAEdM,EAAIe,YAEAQ,EAAK,IAAIC,UAAS,CAClBC,eAAe,IAGfC,EAAQH,EAAGI,IAAI,SAEfD,EAAME,eACNF,EAAME,aAAe,IAGzBL,EAAGM,IAAI,QAASH,UAEb,SAACI,MACAA,EAAMnB,SAASG,MAAQgB,EAAMnB,SAASG,KAAKb,OAAQ,eACnB8B,OAAOC,QAAQF,EAAMnB,SAASG,KAAKb,uBAAS,iBAAhEgC,OAAOC,OACXA,EAAS,KACTjC,EAAOc,MAAMkB,GAASC,EAAS,IAIvClC,EAAIe,aAmDhBoB,SAxCa,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cAuCdC,OAnCW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,YAkCdtC,OAAAA,EACAI,MAAAA,EACAoC,MAjDU,WACV/C,EAAMgD,OAAO,aAAc,MAC3BhD,EAAMsB,SAAS,YAgDfd,KAAAA,EACAyC,MAlCU,WACVjD,EAAMgD,OAAO,aAAc,4BC/IxB,8BACI,kBAIY,kBAKA,oBACI,0CAGA,cAEHE,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGLA,kCAAW,oBACRA,yCAAgB,2BAEpBA,iCAAM,uBAIP,kCAcR,qFA3CmBC,6DAAtCC,2BAAAC,GACIH,2BAAAI,oBAAsBC,qDACtBL,gDACIM,iBAAYC,iBAAiB,QAAShD,OAAQ0C,6BAA4BA,8BAA6BA,SAAS9C,IAAK8C,MAAM9B,SAAQ8B,aACpHO,qBACP,kBAAAR,2BAAAS,GACIT,uDAAc,+BAA6DC,aAA5C3C,KAAK,4BAC7B+C,+CAAsCJ,2BAGjDD,2BAAAU,GACIV,2BAAAW,oBACON,+BAEPL,2BAAAY,GACIZ,gCAAS,SAAUa,sCAAOZ,gDAM1BD,gCAAS,SAAUa,sCAAOZ,gDAQlCD,2BAAAc,GACId,0BAAIa,sCAAOZ,yDAAUI,iIA5BvBJ,6BAiCdD,iCACIA,kDAEQK,0CAAiCJ,+CAKzCD,2BAAAe,GACIf,qCAAc,SAAUa,sCAAOZ,yDACxBI,yDAVFJ"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),r=require("@perevorot/shop/dist/forms/FormText"),n=require("@perevorot/shop/dist/forms/FormPassword"),i=require("yup");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,o.get?o:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var c=l(o),u=l(r),m=l(n),d=s(i);e.markRaw(m.default),e.markRaw(u.default);var p={name:"reset",components:{SchemaForm:a.SchemaFormFactory([c.default({})])},setup:function(){var o=e.ref(!1),r=t.useStore(),n=e.ref(0),i=e.ref(""),l=e.ref(!1),s=e.getCurrentInstance(),c=e.ref({password:{component:m.default,label:__("auth.login.form.password"),type:"password"},password_confirmation:{component:u.default,label:__("auth.login.form.password_confirmation"),type:"password"}}),p=d.object().shape({password:d.string().min(6,__("auth.validation.min")).required(__("auth.validation.required")),password_confirmation:d.string().oneOf([d.ref("password"),null],__("auth.validation.password_confirmation"))}),f=e.ref({password:"",password_confirmation:"",token:s.parent.props.resetToken,email:s.parent.props.resetEmail});a.useSchemaForm(f);return{loading:o,key:n,schema:c,validation:p,onSubmit:function(){o.value=!0,r.dispatch("auth/passwordUpdate",{credentials:f.value,callback:function(e,t){i.value=e},finally:function(){f.value={},o.value=!1,l.value=!0,n.value++}})},reseted:l,message:i,cancel:function(){r.commit("auth/modal","login")},again:function(){r.commit("auth/modal","forget")},close:function(){r.commit("auth/modal",null),r.dispatch("auth/me")}}}},f={class:"form auth-reset"},v={class:"title"},h={key:0},_={class:"mb-3"},g={class:"field"},b={class:"columns is-vcentered"},y={class:"column"},k={class:"mt-3"},w={key:1},E={class:"mt-3"},S={class:"mt-3"};p.render=function(t,a,o,r,n,i){var l=e.resolveComponent("SchemaForm");return e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.reset.title")),1),e.withDirectives(e.createElementVNode("div",null,[t.$parent.tokenValid?(e.openBlock(),e.createElementBlock("div",h,[e.createElementVNode("div",_,e.toDisplayString(t.__("auth.reset.info",{email:t.$parent.resetEmail})),1),(e.openBlock(),e.createBlock(l,{schemaRowClasses:"field",schema:r.schema,"validation-schema":r.validation,key:r.key,onSubmit:r.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",g,[e.createElementVNode("div",b,[e.createElementVNode("div",y,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":r.loading}]),type:"submit"},e.toDisplayString(t.__("auth.reset.form.submit")),3)])])])]})),_:1},8,["schema","validation-schema","onSubmit"])),e.createElementVNode("div",k,[e.createElementVNode("button",{class:"button",onClick:a[0]||(a[0]=function(){return r.cancel&&r.cancel.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.cancel")),1)])])):(e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("p",null,e.toDisplayString(t.__("auth.reset.token-not-valid")),1),e.createElementVNode("div",E,[e.createElementVNode("button",{class:"button",onClick:a[1]||(a[1]=function(){return r.again&&r.again.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.again")),1)])]))],512),[[e.vShow,!r.reseted]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(r.message),1),e.createElementVNode("div",S,[e.createElementVNode("button",{class:"button",onClick:a[2]||(a[2]=function(){return r.close&&r.close.apply(r,arguments)})},e.toDisplayString(t.__("auth.reset.close")),1)])],512),[[e.vShow,r.reseted]])])},module.exports=p;
2
+ //# sourceMappingURL=Reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reset.js","sources":["../../../src/components/auth/Reset.vue","../../../src/components/auth/Reset.vue?vue&type=template&id=e1e7a78c&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\">\n <div class=\"mb-3\">\n {{\n __('auth.reset.info', {\n email: $parent.resetEmail\n })\n }}\n </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 } 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 components: {\n SchemaForm\n },\n setup() {\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\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\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 };\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\">\n <div class=\"mb-3\">\n {{\n __('auth.reset.info', {\n email: $parent.resetEmail\n })\n }}\n </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 } 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 components: {\n SchemaForm\n },\n setup() {\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\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\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 };\n }\n};\n</script>"],"names":["markRaw","FormPassword","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","loading","ref","store","useStore","key","message","reseted","instance","getCurrentInstance","schema","password","component","label","__","type","password_confirmation","validation","yup","object","shape","string","min","required","oneOf","model","token","parent","props","resetToken","email","resetEmail","useSchemaForm","onSubmit","value","dispatch","credentials","callback","m","isError","cancel","commit","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","tokenValid","_hoisted_4","_createBlock","schemaRowClasses","$setup","afterForm","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","onClick","_hoisted_10","_hoisted_11"],"mappings":"ynBA2DAA,UAAQC,WACRD,UAAQE,WAER,MAEe,CACXC,KAAM,QACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBACUC,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAUL,OAAI,GACdM,EAAWC,uBAEXC,EAASR,MAAI,CACfS,SAAU,CACNC,UAAWnB,UACXoB,MAAOC,GAAG,4BACVC,KAAM,YAEVC,sBAAuB,CACnBJ,UAAWlB,UACXmB,MAAOC,GAAG,yCACVC,KAAM,cAIRE,EAAaC,EAAIC,SAASC,MAAM,CAClCT,SAAUO,EAAIG,SAASC,IAAI,EAAGR,GAAG,wBAAwBS,SAAST,GAAG,6BACrEE,sBAAuBE,EAAIG,SAASG,MAAM,CAACN,EAAIhB,IAAI,YAAa,MAAOY,GAAG,4CAGxEW,EAAQvB,MAAI,CACdS,SAAU,GACVK,sBAAuB,GACvBU,MAAOlB,EAASmB,OAAOC,MAAMC,WAC7BC,MAAOtB,EAASmB,OAAOC,MAAMG,aAGjCC,gBAAcP,SAgCP,CACHxB,QAAAA,EACAI,IAAAA,EACAK,OAAAA,EACAO,WAAAA,EACAgB,SA3Ba,WACbhC,EAAQiC,OAAQ,EAEhB/B,EAAMgC,SAAS,sBAAuB,CAClCC,YAAaX,EAAMS,MACnBG,SAAU,SAACC,EAAGC,GACVjC,EAAQ4B,MAAQI,WAEX,WACLb,EAAMS,MAAQ,GACdjC,EAAQiC,OAAQ,EAChB3B,EAAQ2B,OAAQ,EAChB7B,EAAI6B,YAgBZ3B,QAAAA,EACAD,QAAAA,EACAkC,OAtCW,WACXrC,EAAMsC,OAAO,aAAc,UAsC3BC,MAnCU,WACVvC,EAAMsC,OAAO,aAAc,WAmC3BE,MAfU,WACVxC,EAAMsC,OAAO,aAAc,MAC3BtC,EAAMgC,SAAS,wBClIZ,4BACI,4BAGQ,iBASQ,kBACI,iCACI,mBAShB,2BAQA,iBASJ,mGAzCnBS,2BAAAC,GACIC,2BAAAC,oBAAsBC,8CACtBF,iCACeE,UAAQC,0BAAnBL,8BACIE,2BAAAI,oBAEQF,wEAKRG,iBAAYC,iBAAiB,QAAS1C,OAAQ2C,6BAA4BA,aAAahD,IAAKgD,MAAMpB,SAAQoB,aAC3FC,qBACP,kBAAAR,2BAAAS,GACIT,2BAAAU,GACIV,2BAAAW,GACIX,uDAAc,+BAA6DO,aAA5CtC,KAAK,4BAC7BiC,gGAO3BF,2BAAAY,GACIZ,qCAAc,SAAUa,sCAAON,2DACxBL,kDAIfJ,8BACIE,gDAAME,uCACNF,2BAAAc,GACId,qCAAc,SAAUa,sCAAON,yDACxBL,mDAhCLK,8BAqCdP,iCACIA,kDAAQO,cACRP,2BAAAe,GACIf,qCAAc,SAAUa,sCAAON,yDACxBL,+CAJFK"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("vue"),t=require("vuex"),o={name:"user",props:{resetToken:{type:String,default:""},resetEmail:{type:String,default:""},tokenValid:{type:Boolean,default:!1}},setup:function(o){var n=t.useStore(),l=e.computed((function(){return n.getters["auth/me"]})),a=e.computed((function(){return n.getters["auth/modal"]})),r=e.computed((function(){return Object.keys(l.value).length>0})),c=e.ref(!1),s=e.computed((function(){return n.getters["auth/account"]})),i=function(){n.commit("auth/modal",null),n.dispatch("auth/me")};return n.dispatch("auth/me",{finally:function(){c.value=!0}}),window.addEventListener("keyup",(function(e){a.value&&"Escape"===e.key&&i()})),o.resetToken&&n.commit("auth/modal","reset"),{mounted:c,user:l,logged:r,modal:a,open:function(){n.commit("auth/modal","login")},close:i,register:function(){n.commit("auth/modal","registration")},logout:function(){n.dispatch("auth/logout")},routes:s}}},n={key:0,class:"auth-user"},l={class:"modal-content"},a=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],r={class:"box"},c={class:"tabs"},s={key:1,class:"auth-user"},i={class:"dropdown is-right is-hoverable"},u={class:"dropdown-trigger"},d=["href"],m=e.createElementVNode("i",{class:"fas fa-user"},null,-1),p=e.createElementVNode("span",{class:"icon is-small"},[e.createElementVNode("i",{class:"fas fa-angle-down","aria-hidden":"true"})],-1),g={class:"dropdown-menu",role:"menu"},k={class:"dropdown-content"},f=["href"],v={key:0,class:"icon"},E=["xlink:href"],h={key:1,class:"badge"},V={key:1,class:"dropdown-divider"},N=e.createElementVNode("hr",{class:"dropdown-divider"},null,-1),y=e.createElementVNode("svg",{class:"icon"},[e.createElementVNode("use",{"xlink:href":"#icon-logout"})],-1);o.render=function(t,o,B,C,w,S){var b=e.resolveComponent("login"),x=e.resolveComponent("registration"),_=e.resolveComponent("reset");return C.mounted&&!C.logged?(e.openBlock(),e.createElementBlock("div",n,[e.renderSlot(t.$slots,"login",{open:C.open,label:t.__("auth.login.login")},(function(){return[e.createElementVNode("a",{class:"button",onClick:o[0]||(o[0]=function(){return C.open&&C.open.apply(C,arguments)})},e.toDisplayString(t.__("auth.login.login")),1)]})),e.createElementVNode("div",{class:e.normalizeClass(["modal",{"is-active":C.modal}])},[e.createElementVNode("div",{class:"modal-background",onClick:o[1]||(o[1]=function(){return C.close&&C.close.apply(C,arguments)})}),e.createElementVNode("div",l,[e.createElementVNode("button",{class:"modal-close is-large",onClick:o[2]||(o[2]=function(){return C.close&&C.close.apply(C,arguments)})},a),e.createElementVNode("div",r,[e.createElementVNode("div",c,[e.createElementVNode("ul",null,[e.createElementVNode("li",{class:e.normalizeClass({"is-active":"login"==C.modal||"forget"==C.modal})},[e.createElementVNode("a",{onClick:o[3]||(o[3]=function(){return C.open&&C.open.apply(C,arguments)})},e.toDisplayString(t.__("auth.login.login")),1)],2),e.createElementVNode("li",{class:e.normalizeClass({"is-active":"registration"==C.modal}),onClick:o[4]||(o[4]=function(){return C.register&&C.register.apply(C,arguments)})},[e.createElementVNode("a",null,e.toDisplayString(t.__("auth.login.signup")),1)],2)])]),(e.openBlock(),e.createBlock(e.KeepAlive,null,["login"==C.modal||"forget"==C.modal?(e.openBlock(),e.createBlock(b,{key:0})):e.createCommentVNode("v-if",!0)],1024)),(e.openBlock(),e.createBlock(e.KeepAlive,null,["registration"==C.modal?(e.openBlock(),e.createBlock(x,{key:0})):e.createCommentVNode("v-if",!0)],1024)),e.withDirectives(e.createVNode(_,null,null,512),[[e.vShow,"reset"==C.modal]])])])],2)])):C.mounted?(e.openBlock(),e.createElementBlock("div",s,[e.createElementVNode("div",i,[e.createElementVNode("div",u,[e.createElementVNode("a",{class:"button",href:C.routes[0].path},[e.renderSlot(t.$slots,"user",{user:C.user.name?C.user.name:C.user.email},(function(){return[e.createElementVNode("span",null,[m,e.createTextVNode(" "+e.toDisplayString(C.user.name?C.user.name:C.user.email),1)]),p]}))],8,d)]),e.createElementVNode("div",g,[e.createElementVNode("div",k,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.routes,(function(t,o){return e.openBlock(),e.createElementBlock("div",{key:o},[t.text?(e.openBlock(),e.createElementBlock("a",{key:0,href:t.path,class:"dropdown-item"},[t.icon?(e.openBlock(),e.createElementBlock("svg",v,[e.createElementVNode("use",{"xlink:href":"#"+t.icon},null,8,E)])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",null,e.toDisplayString(t.text),1),t.badge?(e.openBlock(),e.createElementBlock("span",h,e.toDisplayString(t.badge),1)):e.createCommentVNode("v-if",!0)],8,f)):(e.openBlock(),e.createElementBlock("hr",V))])})),128)),N,e.createElementVNode("a",{class:"dropdown-item",onClick:o[5]||(o[5]=function(){return C.logout&&C.logout.apply(C,arguments)})},[y,e.createElementVNode("span",null,e.toDisplayString(t.__("auth.user.menu.logout")),1)])])])])])):e.createCommentVNode("v-if",!0)},module.exports=o;
2
+ //# sourceMappingURL=User.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.js","sources":["../../../src/components/auth/User.vue","../../../src/components/auth/User.vue?vue&type=template&id=d3f9c2e6&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 class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"tabs\">\n <ul>\n <li\n v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\"\n >\n <a @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li\n v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\"\n @click=\"register\"\n >\n <a>{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user\" 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 { ref, computed } 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 },\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\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\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\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 class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <div class=\"tabs\">\n <ul>\n <li\n v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\"\n >\n <a @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li\n v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\"\n @click=\"register\"\n >\n <a>{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user\" 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 { ref, computed } 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 },\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\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\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\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":["name","props","resetToken","type","String","resetEmail","tokenValid","Boolean","setup","store","useStore","user","computed","getters","modal","logged","Object","keys","value","length","mounted","ref","routes","close","commit","dispatch","window","addEventListener","e","key","open","register","logout","_createElementVNode","role","$setup","_createElementBlock","_hoisted_1","_renderSlot","label","_ctx","onClick","_hoisted_2","_hoisted_5","_hoisted_6","_createBlock","_createVNode","_hoisted_7","_hoisted_8","_hoisted_9","href","path","email","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","item","text","icon","_hoisted_16","badge","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21"],"mappings":"sDAwFe,CACXA,KAAM,OACNC,MAAO,CACHC,WAAY,CACRC,KAAMC,eACG,IAEbC,WAAY,CACRF,KAAMC,eACG,IAEbE,WAAY,CACRH,KAAMI,iBACG,IAGjBC,eAAMP,OACIQ,EAAQC,aACRC,EAAOC,YAAS,kBAAMH,EAAMI,QAAQ,cACpCC,EAAQF,YAAS,kBAAMH,EAAMI,QAAQ,iBACrCE,EAASH,YAAS,kBAAMI,OAAOC,KAAKN,EAAKO,OAAOC,OAAS,KACzDC,EAAUC,OAAI,GACdC,EAASV,YAAS,kBAAMH,EAAMI,QAAQ,mBAMtCU,EAAQ,WACVd,EAAMe,OAAO,aAAc,MAC3Bf,EAAMgB,SAAS,mBAWnBhB,EAAMgB,SAAS,UAAW,SACb,WACLL,EAAQF,OAAQ,KAIxBQ,OAAOC,iBAAiB,SAAS,SAACC,GAC1Bd,EAAMI,OAAmB,WAAVU,EAAEC,KACjBN,OAIJtB,EAAMC,YACNO,EAAMe,OAAO,aAAc,SAGxB,CACHJ,QAAAA,EACAT,KAAAA,EACAI,OAAAA,EACAD,MAAAA,EACAgB,KAtCS,WACTrB,EAAMe,OAAO,aAAc,UAsC3BD,MAAAA,EACAQ,SA3Ba,WACbtB,EAAMe,OAAO,aAAc,iBA2B3BQ,OAhCW,WACXvB,EAAMgB,SAAS,gBAgCfH,OAAAA,oBCzJG,sBAMQ,oBAEHW,kCAAW,eACPA,yCAAgB,0BAGb,gBACI,uBA8BhB,sBACI,2CACI,iCAIKA,gCAAS,0BAGbA,mCAAY,kBACRA,gCAAS,kCAAgC,uBAK9C,gBAAgBC,KAAK,iBACjB,8CAGY,wCAIC,wBAEN,sBAEdD,iCAAU,+BAENA,kCAAW,SACPA,yCAAgB,iKAzEXE,YAAYA,wBAAzCC,2BAAAC,GACIC,+BAAoBR,KAAMK,OAAOI,MAAOC,2BAAxC,kBACIP,gCAAS,SAAUQ,sCAAON,uDAASK,iCAEvCP,oDAAW,qBAAqCE,aAC5CF,kCAAW,mBAAoBQ,sCAAON,wCACtCF,2BAAAS,GACIT,qCAAc,uBAAwBQ,sCAAON,0CAK7CF,2BAAAU,GACIV,2BAAAW,GACIX,gCACIA,uGAKIA,0BAAIQ,sCAAON,uDAASK,iCAExBP,yFAIKQ,sCAAON,8CAERF,gDAAMO,qDAIlBK,yCACiBV,mBAAoBA,uBAAjCU,iFAEJA,gDACwBV,uBAApBU,mFAEJC,kDAAeX,sBAKGA,yBAAlCC,2BAAAW,GACId,2BAAAe,GACIf,2BAAAgB,GACIhB,gCAAS,SAAUiB,KAAMf,YAAUgB,OAC/Bb,8BAAmB3B,KAAMwB,OAAKnC,KAAOmC,OAAKnC,KAAOmC,OAAKiB,QAAtD,kBACInB,kCACIoB,0CACGlB,OAAKnC,KAAOmC,OAAKnC,KAAOmC,OAAKiB,YAEpCE,cAMZrB,2BAAAsB,GACItB,2BAAAuB,oBACIpB,kDAA2BD,mBAAdsB,EAAM5B,wBAAnBO,4BAA0CP,IAAKA,IAChB4B,EAAKC,oBAAhCtB,gCAAIc,KAAMO,EAAKN,WAA6B,kBAChBM,EAAKE,oBAA7BvB,2BAAAwB,GACI3B,6CAAwBwB,EAAKE,mDAEjC1B,mDAASwB,EAAKC,SACYD,EAAKI,qBAA/BzB,4BAAA0B,oBAAyCL,EAAKI,iEAElDzB,0BAAA2B,eAEJC,EACA/B,gCAAS,gBAAiBQ,sCAAON,0CAC7B8B,EAGAhC,mDAASO"}