@perevorot/shop 1.0.300 → 1.1.2

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 (130) hide show
  1. package/dist/api.js +2 -0
  2. package/dist/api.js.map +1 -0
  3. package/dist/app.js +2 -108
  4. package/dist/app.js.map +1 -0
  5. package/dist/global.js +2 -0
  6. package/dist/global.js.map +1 -0
  7. package/dist/helpers.js +2 -0
  8. package/dist/helpers.js.map +1 -0
  9. package/dist/js/components/account/Account.js +2 -0
  10. package/dist/js/components/account/Account.js.map +1 -0
  11. package/dist/js/components/account/OrderItem.js +2 -0
  12. package/dist/js/components/account/OrderItem.js.map +1 -0
  13. package/dist/js/components/account/Orders.js +2 -0
  14. package/dist/js/components/account/Orders.js.map +1 -0
  15. package/dist/js/components/account/User.js +2 -0
  16. package/dist/js/components/account/User.js.map +1 -0
  17. package/dist/js/components/account/Viewed.js +2 -0
  18. package/dist/js/components/account/Viewed.js.map +1 -0
  19. package/dist/js/components/account/Wish.js +2 -0
  20. package/dist/js/components/account/Wish.js.map +1 -0
  21. package/dist/js/components/auth/Forget.js +2 -0
  22. package/dist/js/components/auth/Forget.js.map +1 -0
  23. package/dist/js/components/auth/Login.js +2 -0
  24. package/dist/js/components/auth/Login.js.map +1 -0
  25. package/dist/js/components/auth/Registration.js +2 -0
  26. package/dist/js/components/auth/Registration.js.map +1 -0
  27. package/dist/js/components/auth/Reset.js +2 -0
  28. package/dist/js/components/auth/Reset.js.map +1 -0
  29. package/dist/js/components/auth/User.js +2 -0
  30. package/dist/js/components/auth/User.js.map +1 -0
  31. package/dist/js/components/shop/Catalog.js +2 -0
  32. package/dist/js/components/shop/Catalog.js.map +1 -0
  33. package/dist/js/components/shop/CodeCopy.js +2 -0
  34. package/dist/js/components/shop/CodeCopy.js.map +1 -0
  35. package/dist/js/components/shop/Cross.js +2 -0
  36. package/dist/js/components/shop/Cross.js.map +1 -0
  37. package/dist/js/components/shop/FilterToggle.js +2 -0
  38. package/dist/js/components/shop/FilterToggle.js.map +1 -0
  39. package/dist/js/components/shop/Gallery.js +2 -0
  40. package/dist/js/components/shop/Gallery.js.map +1 -0
  41. package/dist/js/components/shop/Pagination.js +2 -0
  42. package/dist/js/components/shop/Pagination.js.map +1 -0
  43. package/dist/js/components/shop/PromoProducts.js +2 -0
  44. package/dist/js/components/shop/PromoProducts.js.map +1 -0
  45. package/dist/js/components/shop/Search.js +2 -0
  46. package/dist/js/components/shop/Search.js.map +1 -0
  47. package/dist/js/components/shop/bundle/Bundle.js +2 -0
  48. package/dist/js/components/shop/bundle/Bundle.js.map +1 -0
  49. package/dist/js/components/shop/bundle/BundleAdd.js +2 -0
  50. package/dist/js/components/shop/bundle/BundleAdd.js.map +1 -0
  51. package/dist/js/components/shop/cart/Cart.js +2 -0
  52. package/dist/js/components/shop/cart/Cart.js.map +1 -0
  53. package/dist/js/components/shop/cart/CartAdd.js +2 -0
  54. package/dist/js/components/shop/cart/CartAdd.js.map +1 -0
  55. package/dist/js/components/shop/cart/CartItem.js +2 -0
  56. package/dist/js/components/shop/cart/CartItem.js.map +1 -0
  57. package/dist/js/components/shop/cart/CartTrigger.js +2 -0
  58. package/dist/js/components/shop/cart/CartTrigger.js.map +1 -0
  59. package/dist/js/components/shop/cart/SuccessMessage.js +2 -0
  60. package/dist/js/components/shop/cart/SuccessMessage.js.map +1 -0
  61. package/dist/js/components/shop/compare/Compare.js +2 -0
  62. package/dist/js/components/shop/compare/Compare.js.map +1 -0
  63. package/dist/js/components/shop/compare/CompareAdd.js +2 -0
  64. package/dist/js/components/shop/compare/CompareAdd.js.map +1 -0
  65. package/dist/js/components/shop/compare/CompareDelete.js +2 -0
  66. package/dist/js/components/shop/compare/CompareDelete.js.map +1 -0
  67. package/dist/js/components/shop/compare/Comparsion.js +2 -0
  68. package/dist/js/components/shop/compare/Comparsion.js.map +1 -0
  69. package/dist/js/components/shop/compare/SuccessMessage.js +2 -0
  70. package/dist/js/components/shop/compare/SuccessMessage.js.map +1 -0
  71. package/dist/js/components/shop/filters/FilterSearch.js +2 -0
  72. package/dist/js/components/shop/filters/FilterSearch.js.map +1 -0
  73. package/dist/js/components/shop/filters/Price.js +2 -0
  74. package/dist/js/components/shop/filters/Price.js.map +1 -0
  75. package/dist/js/components/shop/order/Checkout.js +2 -0
  76. package/dist/js/components/shop/order/Checkout.js.map +1 -0
  77. package/dist/js/components/shop/order/CheckoutItem.js +2 -0
  78. package/dist/js/components/shop/order/CheckoutItem.js.map +1 -0
  79. package/dist/js/components/shop/order/OneClick.js +2 -0
  80. package/dist/js/components/shop/order/OneClick.js.map +1 -0
  81. package/dist/js/components/shop/order/shipping/CheckoutShippingCourier.js +2 -0
  82. package/dist/js/components/shop/order/shipping/CheckoutShippingCourier.js.map +1 -0
  83. package/dist/js/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js +2 -0
  84. package/dist/js/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js.map +1 -0
  85. package/dist/js/components/shop/order/shipping/CheckoutShippingNovaposhtaWarehouse.js +2 -0
  86. package/dist/js/components/shop/order/shipping/CheckoutShippingNovaposhtaWarehouse.js.map +1 -0
  87. package/dist/js/components/shop/order/shipping/CheckoutShippingPickup.js +2 -0
  88. package/dist/js/components/shop/order/shipping/CheckoutShippingPickup.js.map +1 -0
  89. package/dist/js/components/shop/reviews/Review.js +2 -0
  90. package/dist/js/components/shop/reviews/Review.js.map +1 -0
  91. package/dist/js/components/shop/viewed/Viewed.js +2 -0
  92. package/dist/js/components/shop/viewed/Viewed.js.map +1 -0
  93. package/dist/js/components/shop/viewed/ViewedDelete.js +2 -0
  94. package/dist/js/components/shop/viewed/ViewedDelete.js.map +1 -0
  95. package/dist/js/components/shop/viewed/Viewer.js +2 -0
  96. package/dist/js/components/shop/viewed/Viewer.js.map +1 -0
  97. package/dist/js/components/shop/wishlist/SuccessMessage.js +2 -0
  98. package/dist/js/components/shop/wishlist/SuccessMessage.js.map +1 -0
  99. package/dist/js/components/shop/wishlist/Wishlist.js +2 -0
  100. package/dist/js/components/shop/wishlist/Wishlist.js.map +1 -0
  101. package/dist/js/components/shop/wishlist/WishlistAdd.js +2 -0
  102. package/dist/js/components/shop/wishlist/WishlistAdd.js.map +1 -0
  103. package/dist/js/components/shop/wishlist/WishlistDelete.js +2 -0
  104. package/dist/js/components/shop/wishlist/WishlistDelete.js.map +1 -0
  105. package/dist/js/forms/FormCheckbox.js +2 -0
  106. package/dist/js/forms/FormCheckbox.js.map +1 -0
  107. package/dist/js/forms/FormCheckboxes.js +2 -0
  108. package/dist/js/forms/FormCheckboxes.js.map +1 -0
  109. package/dist/js/forms/FormPassword.js +2 -0
  110. package/dist/js/forms/FormPassword.js.map +1 -0
  111. package/dist/js/forms/FormRadio.js +2 -0
  112. package/dist/js/forms/FormRadio.js.map +1 -0
  113. package/dist/js/forms/FormRating.js +2 -0
  114. package/dist/js/forms/FormRating.js.map +1 -0
  115. package/dist/js/forms/FormSection.js +2 -0
  116. package/dist/js/forms/FormSection.js.map +1 -0
  117. package/dist/js/forms/FormSelect.js +2 -0
  118. package/dist/js/forms/FormSelect.js.map +1 -0
  119. package/dist/js/forms/FormSwitch.js +2 -0
  120. package/dist/js/forms/FormSwitch.js.map +1 -0
  121. package/dist/js/forms/FormText.js +2 -0
  122. package/dist/js/forms/FormText.js.map +1 -0
  123. package/dist/js/forms/FormTextarea.js +2 -0
  124. package/dist/js/forms/FormTextarea.js.map +1 -0
  125. package/dist/store.js +2 -0
  126. package/dist/store.js.map +1 -0
  127. package/dist/vuex.js +2 -0
  128. package/dist/vuex.js.map +1 -0
  129. package/package.json +2 -3
  130. package/dist/index.js +0 -110
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sources":["../src/js/app.js"],"sourcesContent":["import { createApp } from 'vue';\n\nimport LazyLoad from 'vanilla-lazyload';\nimport Maska from 'maska';\nimport { http, filters, logger } from '@perevorot/shop/dist/global';\n\nimport Toast from 'vue-toastification';\n\nconst app = createApp({});\n\napp.use(Maska);\n\napp.use(Toast, {\n transition: 'Vue-Toastification__fade',\n icon: false,\n position: 'top-center',\n hideProgressBar: true,\n showCloseButtonOnHover: false,\n});\n\nwindow.$http = http;\n\napp.config.globalProperties.$filters = filters;\napp.config.globalProperties.$env = $env;\n\nif (window.location.hash === '#_=_') {\n history.replaceState ? history.replaceState(null, null, window.location.href.split('#')[0]) : (window.location.hash = '');\n\n if (window.localStorage) {\n window.localStorage.clear();\n }\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n window.lazyImages = new LazyLoad({\n unobserve_entered: true,\n callback_enter: (element) => {\n element.parentElement.classList.add('is-lazy-loaded');\n },\n });\n});\n\nif ($env.loggerUrl) {\n logger($env.loggerUrl);\n}\n\nexport default app;\n"],"names":["app","createApp","use","Maska","Toast","transition","icon","position","hideProgressBar","showCloseButtonOnHover","window","$http","http","config","globalProperties","$filters","filters","$env","location","hash","history","replaceState","href","split","localStorage","clear","addEventListener","lazyImages","LazyLoad","unobserve_entered","callback_enter","element","parentElement","classList","add","loggerUrl","logger"],"mappings":"6PAQMA,EAAMC,YAAU,IAEtBD,EAAIE,IAAIC,WAERH,EAAIE,IAAIE,UAAO,CACXC,WAAY,2BACZC,MAAM,EACNC,SAAU,aACVC,iBAAiB,EACjBC,wBAAwB,IAG5BC,OAAOC,MAAQC,OAEfZ,EAAIa,OAAOC,iBAAiBC,SAAWC,UACvChB,EAAIa,OAAOC,iBAAiBG,KAAOA,KAEN,SAAzBP,OAAOQ,SAASC,OAChBC,QAAQC,aAAeD,QAAQC,aAAa,KAAM,KAAMX,OAAOQ,SAASI,KAAKC,MAAM,KAAK,IAAOb,OAAOQ,SAASC,KAAO,GAElHT,OAAOc,cACPd,OAAOc,aAAaC,SAI5Bf,OAAOgB,iBAAiB,oBAAoB,WACxChB,OAAOiB,WAAa,IAAIC,UAAS,CAC7BC,mBAAmB,EACnBC,eAAgB,SAACC,GACbA,EAAQC,cAAcC,UAAUC,IAAI,wBAK5CjB,KAAKkB,WACLC,SAAOnB,KAAKkB"}
package/dist/global.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r={filters:{price:function(e){var n=0==$env.format.price.decimals?Math.round(e):(e/1).toFixed(2).replace(".",$env.format.price.decPoint);return $env.format.price.symbol.replace("#",n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,$env.format.price.thousandsSep))}},http:e(require("axios")).default.create({withCredentials:!0}),logger:function(e,r){if(!e||"string"!=typeof e||e instanceof String)throw new Error("[logPostURL] is required param. It must be a String.");var t=e,o=r;function i(e,n){if(!t)throw new Error("[url] is not defined. You need to initialise logger first.");var r={},i=e+"\n\nClient info:\nURL: "+window.location+"\nCLN: "+window.navigator.userAgent+"\nX*Y: "+window.innerWidth+"x"+window.innerHeight;n?r=Object.assign({},o,{errlevel:n,message:i}):r.message=i,$http.post(t,r)}window.onerror=function(e,r,t,o,a){var s;"ResizeObserver loop limit exceeded"!==e&&(s=e&&r&&t&&o?"ERROR: \n: "+e+" \n\nat file: "+r+" \nat line:"+t+" \nat col: "+o:null!==e&&"object"===n(e)?"EventError: \n"+(e.message?e.message:" -- ")+" \n\nat file: "+(e.filename?e.filename:" -- ")+" \nat line: "+(e.lineno?e.lineno:" -- ")+" \nat col: "+(e.colno?e.colno:" -- ")+" \n\nstack: "+(e.error&&e.error.stack?e.error.stack:" -- "):e+" \n\nlocation: "+r+(o?" \nposition: "+o:"")+" \n\nerrorObj: "+(null!==e&&"object"===n(e)?JSON.stringify(a):a),a&&a.stack&&(s+=" \n\nStack: "+a.stack),s&&i(s,"error"))},window.addEventListener("unhandledrejection",(function(e){e&&e.reason&&i("Promise unhandled error \nmessage: "+e.reason.message+" \n\nstack: "+e.reason.stack,"error")}))}};module.exports=r;
2
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sources":["../src/js/global/index.js","../src/js/global/filters.js","../src/js/global/http.js","../src/js/global/logger.js"],"sourcesContent":["import filters from './filters';\nimport http from './http';\nimport logger from './logger';\n\nexport default {\n filters,\n http,\n logger,\n};\n","export default {\n price(value) {\n let val = $env.format.price.decimals == 0 ? Math.round(value) : (value / 1).toFixed(2).replace('.', $env.format.price.decPoint);\n\n return $env.format.price.symbol.replace('#', val.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, $env.format.price.thousandsSep))\n }\n}","import axios from 'axios';\n\nlet http = axios.create({\n withCredentials: true\n});\n\n// http.interceptors.response.use(response => response,\n// function (error) {\n// if (error.config.hasOwnProperty('errorHandle') && error.config.errorHandle === false) {\n// return Promise.reject(error);\n// }\n\n// if (error.response) {\n// console.error(error.response.data.message);\n// }\n// }\n// )\n\n// http.defaults.headers.common = {\n// 'X-Requested-With': 'XMLHttpRequest',\n// 'X-CSRF-TOKEN': document.querySelector('meta[name=\"csrf-token\"]').getAttribute('content')\n// }\n\nexport default http;","export default function logger(logPostURL, logDefaults) {\n if (!logPostURL || typeof logPostURL !== 'string' || logPostURL instanceof String) {\n throw new Error('[logPostURL] is required param. It must be a String.');\n }\n\n let url = logPostURL;\n let defaults = logDefaults;\n\n function sendMessage(errorText, errLevel) {\n if (!url) {\n throw new Error('[url] is not defined. You need to initialise logger first.');\n }\n\n let requestData = {};\n let message = errorText + getClientInfo();\n\n if (errLevel) {\n requestData = Object.assign({}, defaults, {\n errlevel: errLevel,\n message: message,\n });\n } else {\n requestData.message = message;\n }\n\n $http.post(url, requestData);\n }\n\n function getClientInfo() {\n return '\\n\\nClient info:' + '\\nURL: ' + window.location + '\\nCLN: ' + window.navigator.userAgent + '\\nX*Y: ' + window.innerWidth + 'x' + window.innerHeight;\n }\n\n window.onerror = function (type, location, line, position, errorObj) {\n let message;\n\n if (type === 'ResizeObserver loop limit exceeded') {\n return;\n }\n\n if (type && location && line && position) {\n message = 'ERROR:' + ' \\n: ' + type + ' \\n\\nat file: ' + location + ' ' + ' \\nat line:' + line + ' \\nat col: ' + position;\n } else if (type !== null && typeof type === 'object') {\n message = 'EventError:' + ' \\n' + (type.message ? type.message : ' -- ') + ' \\n\\nat file: ' + (type.filename ? type.filename : ' -- ') + ' \\nat line: ' + (type.lineno ? type.lineno : ' -- ') + ' \\nat col: ' + (type.colno ? type.colno : ' -- ') + ' \\n\\nstack: ' + (type.error && type.error.stack ? type.error.stack : ' -- ');\n } else {\n message = type + ' \\n\\nlocation: ' + location + (position ? ' \\nposition: ' + position : '') + ' \\n\\nerrorObj: ' + (type !== null && typeof type === 'object' ? JSON.stringify(errorObj) : errorObj);\n }\n\n if (errorObj && errorObj.stack) {\n message += ' \\n\\nStack: ' + errorObj.stack;\n }\n\n if (message) {\n sendMessage(message, 'error');\n }\n };\n\n window.addEventListener('unhandledrejection', function (err) {\n if (err && err.reason) {\n let message = 'Promise unhandled error' + ' \\nmessage: ' + err.reason.message + ' \\n\\nstack: ' + err.reason.stack;\n\n sendMessage(message, 'error');\n }\n });\n}\n"],"names":["filters","price","value","val","$env","format","decimals","Math","round","toFixed","replace","decPoint","symbol","toString","thousandsSep","http","create","withCredentials","logger","logPostURL","logDefaults","String","Error","url","defaults","sendMessage","errorText","errLevel","requestData","message","window","location","navigator","userAgent","innerWidth","innerHeight","Object","assign","errlevel","$http","post","onerror","type","line","position","errorObj","_typeof","filename","lineno","colno","error","stack","JSON","stringify","addEventListener","err","reason"],"mappings":"0TAIA,MAAe,CACXA,QCLW,CACXC,eAAMC,OACEC,EAAoC,GAA9BC,KAAKC,OAAOJ,MAAMK,SAAgBC,KAAKC,MAAMN,IAAUA,EAAQ,GAAGO,QAAQ,GAAGC,QAAQ,IAAKN,KAAKC,OAAOJ,MAAMU,iBAE/GP,KAAKC,OAAOJ,MAAMW,OAAOF,QAAQ,IAAKP,EAAIU,WAAWH,QAAQ,wBAAyBN,KAAKC,OAAOJ,MAAMa,iBDEnHC,iCEJaC,OAAO,CACpBC,iBAAiB,IFIjBC,OGPW,SAAgBC,EAAYC,OAClCD,GAAoC,iBAAfA,GAA2BA,aAAsBE,aACjE,IAAIC,MAAM,4DAGhBC,EAAMJ,EACNK,EAAWJ,WAENK,EAAYC,EAAWC,OACvBJ,QACK,IAAID,MAAM,kEAGhBM,EAAc,GACdC,EAAUH,EAeP,0BAAiCI,OAAOC,SAAW,UAAYD,OAAOE,UAAUC,UAAY,UAAYH,OAAOI,WAAa,IAAMJ,OAAOK,YAb5IR,EACAC,EAAcQ,OAAOC,OAAO,GAAIb,EAAU,CACtCc,SAAUX,EACVE,QAASA,IAGbD,EAAYC,QAAUA,EAG1BU,MAAMC,KAAKjB,EAAKK,GAOpBE,OAAOW,QAAU,SAAUC,EAAMX,EAAUY,EAAMC,EAAUC,OACnDhB,EAES,uCAATa,IAKAb,EADAa,GAAQX,GAAYY,GAAQC,EAClB,cAAqBF,EAAO,iBAAmBX,EAA/C,eAAgFY,EAAO,cAAgBC,EACjG,OAATF,GAAiC,WAAhBI,EAAOJ,GACrB,kBAAyBA,EAAKb,QAAUa,EAAKb,QAAU,QAAU,kBAAoBa,EAAKK,SAAWL,EAAKK,SAAW,QAAU,gBAAkBL,EAAKM,OAASN,EAAKM,OAAS,QAAU,eAAiBN,EAAKO,MAAQP,EAAKO,MAAQ,QAAU,gBAAkBP,EAAKQ,OAASR,EAAKQ,MAAMC,MAAQT,EAAKQ,MAAMC,MAAQ,QAElTT,EAAO,kBAAoBX,GAAYa,EAAW,gBAAkBA,EAAW,IAAM,mBAA8B,OAATF,GAAiC,WAAhBI,EAAOJ,GAAoBU,KAAKC,UAAUR,GAAYA,GAG3LA,GAAYA,EAASM,QACrBtB,GAAW,eAAiBgB,EAASM,OAGrCtB,GACAJ,EAAYI,EAAS,WAI7BC,OAAOwB,iBAAiB,sBAAsB,SAAUC,GAChDA,GAAOA,EAAIC,QAGX/B,EAFc,sCAA6C8B,EAAIC,OAAO3B,QAAU,eAAiB0B,EAAIC,OAAOL,MAEvF"}
@@ -0,0 +1,2 @@
1
+ "use strict";var r=require("vue"),e=require("yup"),t=require("@perevorot/shop/dist/js/forms/FormCheckbox"),o=require("@perevorot/shop/dist/js/forms/FormCheckboxes"),n=require("@perevorot/shop/dist/js/forms/FormPassword"),a=require("@perevorot/shop/dist/js/forms/FormRadio"),i=require("@perevorot/shop/dist/js/forms/FormRating"),u=require("@perevorot/shop/dist/js/forms/FormSection"),s=require("@perevorot/shop/dist/js/forms/FormSelect"),l=require("@perevorot/shop/dist/js/forms/FormSwitch"),f=require("@perevorot/shop/dist/js/forms/FormText"),c=require("@perevorot/shop/dist/js/forms/FormTextarea");function m(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}function d(r){if(r&&r.__esModule)return r;var e=Object.create(null);return r&&Object.keys(r).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return r[t]}})}})),e.default=r,Object.freeze(e)}var p=d(e),h=m(t),v=m(o),y=m(n),b=m(a),F=m(i),j=m(u),g=m(s),S=m(l),q=m(f),w=m(c);function x(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null==t)return;var o,n,a=[],i=!0,u=!1;try{for(t=t.call(r);!(i=(o=t.next()).done)&&(a.push(o.value),!e||a.length!==e);i=!0);}catch(r){u=!0,n=r}finally{try{i||null==t.return||t.return()}finally{if(u)throw n}}return a}(r,e)||k(r,e)||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 O(r){return function(r){if(Array.isArray(r))return A(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||k(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(r,e){if(r){if("string"==typeof r)return A(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A(r,e):void 0}}function A(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,o=new Array(e);t<e;t++)o[t]=r[t];return o}p.addMethod(p.string,"minOrEmpty",(function(r,e){return this.test({name:"minOrEmpty",exclusive:!0,message:e,params:{min:r},test:function(e){return""==e||e.length>=r}})}));var C={pluralize:function(r,e){return r+" "+e[r%100>4&&r%100<20?2:[2,0,1,1,1,2][Math.min(r%10,5)]]},formParse:function(e){var t={FormCheckbox:h.default,FormCheckboxes:v.default,FormPassword:y.default,FormRadio:b.default,FormRating:F.default,FormSection:j.default,FormSelect:g.default,FormSwitch:S.default,FormText:q.default,FormTextarea:w.default},o={},n={},a={};if(e.form)for(var i=function(){var e=x(s[u],2),i=e[0],l=e[1];if("_"!=i.charAt(0)){var f;switch(l.component){case"FormCheckbox":case"FormSwitch":f=!1;break;case"FormCheckboxes":f=[];break;default:f=""}o[i]=f}var c=t[l.component];r.markRaw(c);var m={component:c,label:l.label,validations:{}};if(l.validation){var d=p;l.validation.forEach((function(r){var e=[],t=r;if(t.split(":").length>1){var o=r.split(":");t=o.shift(),e=JSON.parse(o)}if("required"==t&&(m.validations.required=!0),"phone"==t&&m.validations.required){t="matches",e=[/^\(\d{3}\) \d{3}\-\d{2}\-\d{2}$/,__("auth.validation.phone")]}"array"!=t&&e.push(__("auth.validation."+t));try{var n;d=(n=d)[t].apply(n,O(e))}catch(r){}})),["mask","placeholder","description","type","list","model","store"].forEach((function(r){l[r]&&(m[r]=l[r])})),a[i]=d}n[i]=m},u=0,s=Object.entries(e.form);u<s.length;u++)i();return{schema:n,model:o,validation:p.object().shape(a)}}};module.exports=C;
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../src/js/helpers/formParse.js","../src/js/helpers/index.js","../src/js/helpers/pluralize.js"],"sourcesContent":["import { markRaw } from 'vue';\nimport * as yup from 'yup';\n\nimport FormCheckbox from '@perevorot/shop/dist/js/forms/FormCheckbox';\nimport FormCheckboxes from '@perevorot/shop/dist/js/forms/FormCheckboxes';\nimport FormPassword from '@perevorot/shop/dist/js/forms/FormPassword';\nimport FormRadio from '@perevorot/shop/dist/js/forms/FormRadio';\nimport FormRating from '@perevorot/shop/dist/js/forms/FormRating';\nimport FormSection from '@perevorot/shop/dist/js/forms/FormSection';\nimport FormSelect from '@perevorot/shop/dist/js/forms/FormSelect';\nimport FormSwitch from '@perevorot/shop/dist/js/forms/FormSwitch';\nimport FormText from '@perevorot/shop/dist/js/forms/FormText';\nimport FormTextarea from '@perevorot/shop/dist/js/forms/FormTextarea';\n\nyup.addMethod(yup.string, 'minOrEmpty', function (min, msg) {\n return this.test({\n name: 'minOrEmpty',\n exclusive: true,\n message: msg,\n params: {\n min: min,\n },\n test: (value) => value == '' || value.length >= min,\n });\n});\n\nexport default function formParse(json) {\n let components = {\n FormCheckbox: FormCheckbox,\n FormCheckboxes: FormCheckboxes,\n FormPassword: FormPassword,\n FormRadio: FormRadio,\n FormRating: FormRating,\n FormSection: FormSection,\n FormSelect: FormSelect,\n FormSwitch: FormSwitch,\n FormText: FormText,\n FormTextarea: FormTextarea,\n };\n\n let model = {};\n let schema = {};\n let validation = {};\n\n if (json.form) {\n for (const [field, element] of Object.entries(json.form)) {\n if (field.charAt(0) != '_') {\n let value;\n\n switch (element.component) {\n case 'FormCheckbox':\n case 'FormSwitch':\n value = false;\n break;\n\n case 'FormCheckboxes':\n value = [];\n break;\n default:\n value = '';\n }\n\n model[field] = value;\n }\n\n const component = components[element.component];\n\n markRaw(component);\n\n let s = {\n component: component,\n label: element.label,\n validations: {},\n };\n\n if (element.validation) {\n let v = yup;\n\n const validations = element.validation;\n\n validations.forEach((rule) => {\n let attributes = [];\n let method = rule;\n\n if (method.split(':').length > 1) {\n let ruleWithAttributes = rule.split(':');\n method = ruleWithAttributes.shift();\n\n attributes = JSON.parse(ruleWithAttributes);\n }\n\n if (method == 'required') {\n s.validations.required = true;\n }\n\n if (method == 'phone' && s.validations.required) {\n const phoneRegExp = /^\\(\\d{3}\\) \\d{3}\\-\\d{2}\\-\\d{2}$/;\n\n method = 'matches';\n\n attributes = [phoneRegExp, __('auth.validation.phone')];\n }\n\n if (method != 'array') {\n attributes.push(__('auth.validation.' + method));\n }\n\n try {\n v = v[method](...attributes);\n } catch (error) {}\n });\n\n ['mask', 'placeholder', 'description', 'type', 'list', 'model', 'store'].forEach((field) => {\n if (element[field]) {\n s[field] = element[field];\n }\n });\n\n validation[field] = v;\n }\n\n schema[field] = s;\n }\n }\n\n return {\n schema: schema,\n model: model,\n validation: yup.object().shape(validation),\n };\n}\n","import pluralize from './pluralize';\nimport formParse from './formParse';\n\nexport default {\n pluralize,\n formParse,\n};\n","export default function 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};"],"names":["yup","addMethod","string","min","msg","this","test","name","exclusive","message","params","value","length","pluralize","count","words","Math","formParse","json","components","FormCheckbox","FormCheckboxes","FormPassword","FormRadio","FormRating","FormSection","FormSelect","FormSwitch","FormText","FormTextarea","model","schema","validation","form","field","element","charAt","component","markRaw","s","label","validations","v","forEach","rule","attributes","method","split","ruleWithAttributes","shift","JSON","parse","required","__","push","error","Object","entries","object","shape"],"mappings":"g0EAcAA,EAAIC,UAAUD,EAAIE,OAAQ,cAAc,SAAUC,EAAKC,UAC5CC,KAAKC,KAAK,CACbC,KAAM,aACNC,WAAW,EACXC,QAASL,EACTM,OAAQ,CACJP,IAAKA,GAETG,KAAM,SAACK,SAAmB,IAATA,GAAeA,EAAMC,QAAUT,QCnBxD,MAAe,CACXU,UCJW,SAAmBC,EAAOC,UAG9BD,EAAQ,IAAMC,EAAMD,EAAQ,IAAM,GAAKA,EAAQ,IAAM,GAAK,EAFrD,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAE+CE,KAAKb,IAAIW,EAAQ,GAAI,MDEhGG,UDqBW,SAAmBC,OAC1BC,EAAa,CACbC,aAAcA,UACdC,eAAgBA,UAChBC,aAAcA,UACdC,UAAWA,UACXC,WAAYA,UACZC,YAAaA,UACbC,WAAYA,UACZC,WAAYA,UACZC,SAAUA,UACVC,aAAcA,WAGdC,EAAQ,GACRC,EAAS,GACTC,EAAa,MAEbd,EAAKe,0CACOC,OAAOC,UACQ,KAAnBD,EAAME,OAAO,GAAW,KACpBzB,SAEIwB,EAAQE,eACP,mBACA,aACD1B,GAAQ,YAGP,iBACDA,EAAQ,iBAGRA,EAAQ,GAGhBmB,EAAMI,GAASvB,MAGb0B,EAAYlB,EAAWgB,EAAQE,WAErCC,UAAQD,OAEJE,EAAI,CACJF,UAAWA,EACXG,MAAOL,EAAQK,MACfC,YAAa,OAGbN,EAAQH,WAAY,KAChBU,EAAI1C,EAEYmC,EAAQH,WAEhBW,SAAQ,SAACC,OACbC,EAAa,GACbC,EAASF,KAETE,EAAOC,MAAM,KAAKnC,OAAS,EAAG,KAC1BoC,EAAqBJ,EAAKG,MAAM,KACpCD,EAASE,EAAmBC,QAE5BJ,EAAaK,KAAKC,MAAMH,MAGd,YAAVF,IACAP,EAAEE,YAAYW,UAAW,GAGf,SAAVN,GAAqBP,EAAEE,YAAYW,SAAU,CAG7CN,EAAS,UAETD,EAAa,CAJO,kCAIOQ,GAAG,0BAGpB,SAAVP,GACAD,EAAWS,KAAKD,GAAG,mBAAqBP,cAIxCJ,KAAIA,GAAEI,aAAWD,IACnB,MAAOU,SAGZ,OAAQ,cAAe,cAAe,OAAQ,OAAQ,QAAS,SAASZ,SAAQ,SAACT,GAC1EC,EAAQD,KACRK,EAAEL,GAASC,EAAQD,OAI3BF,EAAWE,GAASQ,EAGxBX,EAAOG,GAASK,SA5EWiB,OAAOC,QAAQvC,EAAKe,+BAgFhD,CACHF,OAAQA,EACRD,MAAOA,EACPE,WAAYhC,EAAI0D,SAASC,MAAM3B"}
@@ -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/js/components/account/Account.vue","../../../../src/js/components/account/Account.vue?vue&type=template&id=ed9baa48&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","class","_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,QC7DHW,MAAM,sBACFA,MAAM,kBAEEA,MAAM,kBACPC,4BAAKD,MAAM,oBACNA,MAAM,WACNA,MAAM,WAEfC,2CAEGD,MAAM,WACLA,MAAM,iCAGOA,MAAM,kCAILA,MAAM,qBAIpBC,0CAGQA,4BAAKD,MAAM,SACPC,yCAAgB,yBAQnCD,MAAM,8DAlCfE,2BAAAC,GACIF,2BAAAG,GACIC,8BAAmBhB,KAAMiB,SAAzB,kBACIL,2BAAAM,GACIC,EACAP,2BAAAQ,oBAAqBH,OAAKxB,SAC1BmB,2BAAAS,oBAAsBJ,OAAKK,YAE/BC,MAEJX,6BAAAY,GACIZ,0BAAAa,oBACIZ,kDAA0BI,mBAAdS,EAAMC,wBAAlBd,2BAAyCc,IAAKA,IACfD,EAAKE,oBAAhCf,gCAAIL,KAAMkB,EAAKrB,KAA8BM,oCAAsBM,UAAQZ,OAASqB,EAAKrB,SAC7DqB,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/js/components/account/OrderItem.vue","../../../../src/js/components/account/OrderItem.vue?vue&type=template&id=5981189e&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","finally","catch","class","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":"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"}
@@ -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/js/components/account/OrderItem.vue","../../../../src/js/components/account/OrderItem.vue?vue&type=template&id=5981189e&lang.js","../../../../src/js/components/account/Orders.vue","../../../../src/js/components/account/Orders.vue?vue&type=template&id=6c15a270&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","finally","catch","class","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.createVNode(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/js/components/account/User.vue","../../../../src/js/components/account/User.vue?vue&type=template&id=18193776&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","finally","onSubmit","dispatch","credentials","callback","__","type","catch","error","Object","entries","field","messages","console","class","$setup","_createElementBlock","_createVNode","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,cAE3Bc,SAAQ,WACLjB,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,OAAAA,EACAC,OAAAA,EACAC,WAAAA,EACAe,SAjDa,WACbpB,EAAQkB,OAAQ,EAEhBpB,EAAMuB,SAAS,cAAe,CAC1BC,YAAahB,EAAMY,MACnBC,QAAS,WACLnB,EAAQkB,OAAQ,GAEpBK,SAAU,WACNhB,EAAMiB,GAAG,gCAAiC,CACtCC,KAAM,YAGV3B,EAAMuB,SAAS,YAEnBK,MAAO,SAACC,MACAA,EAAMb,UAAYa,EAAMb,SAASG,MAAQU,EAAMb,SAASG,KAAKd,qBAC7ByB,OAAOC,QAAQF,EAAMb,SAASG,KAAKd,uBAAS,iBAAhE2B,OAAOC,OACXA,EAAS,KACT5B,EAAOe,MAAMY,GAASC,EAAS,SAIvCC,QAAQL,MAAMA,GAGlBlB,EAAIS,YAwBZZ,MAAAA,EACAG,IAAAA,kBC9FSwB,MAAM,YACFA,MAAM,2BACFA,MAAM,uFALnBC,6DAAZC,8BACIC,iBAAYC,iBAAiB,QAASjC,OAAQ8B,6BAA4BA,8BAA6BA,SAASzB,IAAKyB,MAAMd,SAAQc,aACpHI,qBACP,kBAAAC,2BAAAC,GACID,2BAAAE,GACIF,2BAAAG,GACIH,+BAAQN,wBAAM,+BAA6DC,aAA5CT,KAAK,4BAC7BkB"}
@@ -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/js/components/account/Viewed.vue?vue&type=template&id=df81d3b8&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/js/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/js/forms/FormText"),n=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(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=i(r),c=i(l),m=o(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(),i=e.ref(0),o=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:i,schema:d,validation:f,remembered:function(){n.commit("auth/modal","login")},onSubmit:function(){l.value=!0,o.value="",u.value="",n.dispatch("auth/reset",{credentials:v.value,callback:function(e,t){t?u.value=e:o.value=e},finally:function(){v.value={},l.value=!1,s.value=!0,i.value++}})},again:function(){s.value=!1},sent:s,message:o,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,i){var o=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.createVNode(o,{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/js/components/auth/Forget.vue","../../../../src/js/components/auth/Forget.vue?vue&type=template&id=bdb2fe34&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/js/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/js/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","default","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","finally","again","close","class","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","_createVNode","schemaRowClasses","$setup","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_7","_hoisted_8"],"mappings":"gkBA4CAA,UAAQC,WAER,MAEe,CACXC,KAAM,SACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,MAAO,CACHC,MAAO,CACHC,KAAMC,OACNC,QAAS,KAGjBC,eAAML,OACIM,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAQL,MAAI,IACZM,EAAON,OAAI,GAEXO,EAASP,MAAI,CACfN,MAAO,CACHc,UAAWrB,UACXsB,MAAOC,GAAG,4BAIZC,EAAaC,EAAIC,SAASC,MAAM,CAClCpB,MAAOkB,EAAIG,SAASrB,MAAMgB,GAAG,0BAA0BM,SAASN,GAAG,+BAGjEO,EAAQjB,MAAI,CACdN,MAAOD,EAAMC,QAGjBwB,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,GAKxBE,QAAS,WACLX,EAAMK,MAAQ,GACdvB,EAAQuB,OAAQ,EAChBhB,EAAKgB,OAAQ,EACbnB,EAAImB,YAgBZO,MAtCU,WACVvB,EAAKgB,OAAQ,GAsCbhB,KAAAA,EACAF,QAAAA,EACAC,MAAAA,EACAyB,MAfU,WACV7B,EAAMmB,OAAO,aAAc,aCnH9BW,MAAM,uBACFA,MAAM,YAIMA,MAAM,YACFA,MAAM,2BACFA,MAAM,aAUtBA,MAAM,WAMNA,MAAM,WAMNA,MAAM,mGA7BnBC,2BAAAC,GACIC,2BAAAC,oBAAsBC,+CACtBF,iCACIG,iBAAYC,iBAAiB,QAAS/B,OAAQgC,6BAA4BA,aAAapC,IAAKoC,MAAMlB,SAAQkB,aAC3FC,qBACP,kBAAAN,2BAAAO,GACIP,2BAAAQ,GACIR,2BAAAS,GACIT,+BAAQH,wBAAM,+BAA6DQ,aAA5C5C,KAAK,4BAC7ByC,gGAQ3BF,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/js/forms/FormText"),a=require("@perevorot/shop/dist/js/forms/FormPassword"),l=require("@perevorot/shop/dist/js/components/auth/Forget"),i=require("yup");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(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 s=c(o),d=c(n),m=c(a),f=c(l),g=u(i);function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(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 v(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 v(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 v(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(d.default);var b=r.SchemaFormFactory([s.default({})]),y={props:{loginCallback:Function,default:function(){}},name:"login",components:{SchemaForm:b,Forget:f.default},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"]})),s=e.ref({email:{component:d.default,label:__("auth.login.form.email"),store:"login",model:"email"},password:{component:m.default,label:__("auth.login.form.password")}}),f=g.object().shape({email:g.string().email(__("auth.validation.email")).required(__("auth.validation.required")),password:g.string().required(__("auth.validation.required"))}),v=e.ref({email:"",password:""});r.useSchemaForm(v);return p(n={loading:a,modal:u,schema:s,validation:f,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",s),p(n,"onSubmit",(function(){a.value=!0,l.dispatch("auth/login",{credentials:v.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=h(r[t],2),n=o[0],a=o[1];a[0]&&(c.value[n]=a[0])}v.value.password="",i.value++}}})})),p(n,"errors",c),p(n,"key",i),p(n,"model",v),p(n,"register",(function(){l.commit("auth/modal","registration")})),n}},k={class:"auth-login"},_={class:"title"},w={class:"href-forget-password"},E={class:"field"},N={class:"socials"},V={class:"description has-text-centered"},S={class:"buttons"},j=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],C=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],q={class:"href-register"};y.render=function(t,r,o,n,a,l){var i=e.resolveComponent("SchemaForm"),c=e.resolveComponent("forget");return e.openBlock(),e.createElementBlock("div",k,[e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",_,e.toDisplayString(t.__("auth.login.title")),1),e.createVNode(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",w,[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,[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",N,[e.createElementVNode("div",V,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",S,[e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return n.facebook&&n.facebook.apply(n,arguments)})},j),e.createElementVNode("a",{class:"button",onClick:r[2]||(r[2]=function(){return n.google&&n.google.apply(n,arguments)})},C)])]),e.createElementVNode("div",q,[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=y;
2
+ //# sourceMappingURL=Login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Login.js","sources":["../../../../src/js/components/auth/Login.vue","../../../../src/js/components/auth/Login.vue?vue&type=template&id=4373a806&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\"><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/js/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/js/forms/FormPassword';\nimport Forget from '@perevorot/shop/dist/js/components/auth/Forget';\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 Forget\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\"><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/js/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/js/forms/FormPassword';\nimport Forget from '@perevorot/shop/dist/js/components/auth/Forget';\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 Forget\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","default","name","components","Forget","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","finally","catch","error","response","data","Object","entries","field","messages","class","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createVNode","schemaRowClasses","$setup","onSubmit","afterForm","_hoisted_3","onClick","_hoisted_4","type","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_14","_createBlock"],"mappings":"0wDAoDAA,UAAQC,WAER,IAAMC,EAAaC,oBAAkB,CAACC,UAAkB,QAEzC,CACXC,MAAO,CACHC,cAAeC,SACfC,QAAS,cAEbC,KAAM,QACNC,WAAY,CACRR,WAAAA,EACAS,OAAAA,WAEJC,eAAMP,SACIQ,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAASJ,MAAI,IACbK,EAAQC,YAAS,kBAAML,EAAMM,QAAQ,iBAErCC,EAASR,MAAI,CACfS,MAAO,CACHC,UAAWvB,UACXwB,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,WACF5C,EAAMC,eACND,EAAMC,iBAGd4C,QAAS,WACLrC,EAAQiC,OAAQ,GAEpBK,MAAO,SAACC,MACAA,EAAMC,SAASC,MAAQF,EAAMC,SAASC,KAAKpC,OAAQ,eACnBqC,OAAOC,QAAQJ,EAAMC,SAASC,KAAKpC,uBAAS,iBAAhEuC,OAAOC,OACXA,EAAS,KACTxC,EAAO4B,MAAMW,GAASC,EAAS,IAIvC/B,EAAMmB,MAAMlB,SAAW,GAEvBX,EAAI6B,4BAgBhB5B,aACAD,eACAU,mBAzDa,WACbZ,EAAMuB,OAAO,aAAc,0BCtG9BqB,MAAM,iBAEEA,MAAM,YAGEA,MAAM,2BAGNA,MAAM,YAKNA,MAAM,cACFA,MAAM,oCAGNA,MAAM,cAEHC,4BAAKD,MAAM,gBACPC,yCAAgB,6BAEpBA,iCAAM,mBAEwBA,4BAAKD,MAAM,oBACrCC,yCAAgB,2BAEpBA,iCAAM,iBAIbD,MAAM,2IA/B3BE,2BAAAC,oBACIF,iCACIA,2BAAAG,oBAAsBC,6BACtBC,iBAAYC,iBAAiB,QAAS5C,OAAQ6C,6BAA4BA,8BAA6BA,SAASlD,IAAKkD,MAAMC,SAAQD,aACpHE,qBACP,kBAAAT,2BAAAU,GACIV,0BAAIW,sCAAOJ,yDAAUH,yCAEzBJ,2BAAAY,GACIZ,+BAAQD,wBAAM,+BAA6DQ,aAA5CM,KAAK,4BAC7BT,qCAGXJ,2BAAAc,GACId,2BAAAe,oBACOX,+BAEPJ,2BAAAgB,GACIhB,0BAAGD,MAAM,SAAUY,sCAAOJ,gDAM1BP,0BAAGD,MAAM,SAAUY,sCAAOJ,gDAOlCP,2BAAAiB,GACIjB,0BAAIW,sCAAOJ,+DAAaH,gIA/B3BG,qBAqCCA,uBAAdW,uBAAkCvD,MAAO4C,QAAM5C"}
@@ -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.createVNode(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/js/components/auth/Registration.vue","../../../../src/js/components/auth/Registration.vue?vue&type=template&id=47b68e84&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\"><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\"><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","finally","onSubmit","dispatch","charAt","toUpperCase","slice","credentials","callback","ls","SecureLS","isCompression","forms","get","registration","set","catch","error","Object","entries","field","messages","facebook","window","location","href","$ziggy","provider","google","close","commit","login","class","_createElementVNode","$setup","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createVNode","schemaRowClasses","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_13","_hoisted_14"],"mappings":"4wCA4DA,MAEe,CACXA,KAAM,eACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBAYQC,EAXEC,EAAQC,aACRC,EAAUC,OAAI,GACdC,EAAcD,OAAI,GAClBE,EAAMF,MAAI,GACVG,EAASH,MAAI,IACbI,EAASJ,OAAI,GACbK,EAAOL,MAAI,IACXM,EAASN,MAAI,IACbO,EAAaP,MAAI,IACjBQ,EAAQR,MAAI,IAIlBS,gBAAcD,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,QAE9Ba,SAAQ,WACLjB,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAG,OAAAA,EACAC,WAAAA,EACAY,SAtFa,WACbpB,EAAQkB,OAAQ,EAEhBpB,EAAMuB,SAAS,gBAAiB,CAC5Bf,KAAMA,EAAKY,MAAMI,OAAO,GAAGC,cAAgBjB,EAAKY,MAAMM,MAAM,GAC5DC,YAAahB,EAAMS,MACnBC,QAAS,WACLnB,EAAQkB,OAAQ,GAEpBQ,SAAU,WACNrB,EAAOa,OAAQ,EAEfT,EAAMS,MAAQrB,EAEdM,EAAIe,YAEAS,EAAK,IAAIC,UAAS,CAClBC,eAAe,IAGfC,EAAQH,EAAGI,IAAI,SAEfD,EAAME,eACNF,EAAME,aAAe,IAGzBL,EAAGM,IAAI,QAASH,IAEpBI,MAAO,SAACC,MACAA,EAAMrB,SAASG,MAAQkB,EAAMrB,SAASG,KAAKb,OAAQ,eACnBgC,OAAOC,QAAQF,EAAMrB,SAASG,KAAKb,uBAAS,iBAAhEkC,OAAOC,OACXA,EAAS,KACTnC,EAAOc,MAAMoB,GAASC,EAAS,IAIvCpC,EAAIe,aAmDhBsB,SAxCa,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cAuCdC,OAnCW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,YAkCdxC,OAAAA,EACAI,MAAAA,EACAsC,MAjDU,WACVjD,EAAMkD,OAAO,aAAc,MAC3BlD,EAAMuB,SAAS,YAgDff,KAAAA,EACA2C,MAlCU,WACVnD,EAAMkD,OAAO,aAAc,sBC9I9BE,MAAM,wBACFA,MAAM,YAIMA,MAAM,YAKNA,MAAM,cACFA,MAAM,oCAGNA,MAAM,cAEHC,4BAAKD,MAAM,gBACPC,yCAAgB,6BAEpBA,iCAAM,mBAEwBA,4BAAKD,MAAM,oBACrCC,yCAAgB,2BAEpBA,iCAAM,iBAIbD,MAAM,4BAcdA,MAAM,qFA1CmBE,6DAAtCC,2BAAAC,GACIH,2BAAAI,oBAAsBC,qDACtBL,iCACIM,iBAAYC,iBAAiB,QAASnD,OAAQ6C,6BAA4BA,8BAA6BA,SAASjD,IAAKiD,MAAMhC,SAAQgC,aACpHO,qBACP,kBAAAR,2BAAAS,GACIT,+BAAQD,wBAAM,+BAA6DE,aAA5C9C,KAAK,4BAC7BkD,+CAAsCJ,2BAGjDD,2BAAAU,GACIV,2BAAAW,oBACON,+BAEPL,2BAAAY,GACIZ,0BAAGD,MAAM,SAAUc,sCAAOZ,gDAM1BD,0BAAGD,MAAM,SAAUc,sCAAOZ,gDAOlCD,2BAAAc,GACId,0BAAIa,sCAAOZ,yDAAUI,gIA3BvBJ,6BAgCdD,iCACIA,kDAEQK,0CAAiCJ,+CAKzCD,2BAAAe,GACIf,+BAAQD,MAAM,SAAUc,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/js/forms/FormText"),n=require("@perevorot/shop/dist/js/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.createVNode(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