diff --git a/CHANGELOG.md b/CHANGELOG.md index 38503520..30d36dc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## v3.1.0.rc1 Release - 2022-04-08 + +- supporting Rails 7 importmaps via rollup building an esm module while still supporting webpacker + ## v3.0.0 Release - 2022-03-04 - same as v3.0.0.rc3 diff --git a/Dockerfile.dev b/Dockerfile.dev index 4ccecd34..40528403 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -6,6 +6,8 @@ RUN apk update --no-cache && \ apk add build-base postgresql-dev git nodejs yarn tzdata bash sqlite-dev npm && \ mkdir -p /app +RUN npm install --global rollup + WORKDIR /app COPY ./lib/ /app/lib/ diff --git a/Dockerfile.test b/Dockerfile.test index a00dbff6..da1ab756 100644 --- a/Dockerfile.test +++ b/Dockerfile.test @@ -6,6 +6,8 @@ RUN apk update --no-cache && \ apk add build-base postgresql-dev git nodejs yarn tzdata bash sqlite-dev npm && \ mkdir -p /app +npm install --global rollup + WORKDIR /app COPY ./lib/ /app/lib/ diff --git a/Gemfile.lock b/Gemfile.lock index a3b83291..9b3b2d80 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - matestack-ui-vuejs (3.0.0.rc2) + matestack-ui-vuejs (3.1.0.rc1) matestack-ui-core (~> 3.0.0.rc1) rails (>= 5.2) diff --git a/dist/matestack-ui-vuejs.esm.js b/dist/matestack-ui-vuejs.esm.js new file mode 100644 index 00000000..6bd6caef --- /dev/null +++ b/dist/matestack-ui-vuejs.esm.js @@ -0,0 +1 @@ +import{computed as e,inject as t}from"vue";var r={exports:{}},n=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n=0)return;i[t]="set-cookie"===t?(i[t]?i[t]:[]).concat([r]):i[t]?i[t]+", "+r:r}})),i):i},U=O,P=_,z=function(e){return new Promise((function(t,r){var n=e.data,i=e.headers,s=e.responseType;C.isFormData(n)&&delete i["Content-Type"];var o=new XMLHttpRequest;if(e.auth){var a=e.auth.username||"",p=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.Authorization="Basic "+btoa(a+":"+p)}var l=A(e.baseURL,e.url);function u(){if(o){var n="getAllResponseHeaders"in o?$(o.getAllResponseHeaders()):null,i={data:s&&"text"!==s&&"json"!==s?o.response:o.responseText,status:o.status,statusText:o.statusText,headers:n,config:e,request:o};D(t,r,i),o=null}}if(o.open(e.method.toUpperCase(),L(l,e.params,e.paramsSerializer),!0),o.timeout=e.timeout,"onloadend"in o?o.onloadend=u:o.onreadystatechange=function(){o&&4===o.readyState&&(0!==o.status||o.responseURL&&0===o.responseURL.indexOf("file:"))&&setTimeout(u)},o.onabort=function(){o&&(r(P("Request aborted",e,"ECONNABORTED",o)),o=null)},o.onerror=function(){r(P("Network Error",e,null,o)),o=null},o.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(P(t,e,e.transitional&&e.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",o)),o=null},C.isStandardBrowserEnv()){var c=(e.withCredentials||U(l))&&e.xsrfCookieName?j.read(e.xsrfCookieName):void 0;c&&(i[e.xsrfHeaderName]=c)}"setRequestHeader"in o&&C.forEach(i,(function(e,t){void 0===n&&"content-type"===t.toLowerCase()?delete i[t]:o.setRequestHeader(t,e)})),C.isUndefined(e.withCredentials)||(o.withCredentials=!!e.withCredentials),s&&"json"!==s&&(o.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&o.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&o.upload&&o.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){o&&(o.abort(),r(e),o=null)})),n||(n=null),o.send(n)}))},V=d,q=function(e,t){E.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))},M=T,B={"Content-Type":"application/x-www-form-urlencoded"};function H(e,t){!V.isUndefined(e)&&V.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var J,W={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(J=z),J),transformRequest:[function(e,t){return q(t,"Accept"),q(t,"Content-Type"),V.isFormData(e)||V.isArrayBuffer(e)||V.isBuffer(e)||V.isStream(e)||V.isFile(e)||V.isBlob(e)?e:V.isArrayBufferView(e)?e.buffer:V.isURLSearchParams(e)?(H(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):V.isObject(e)||t&&"application/json"===t["Content-Type"]?(H(t,"application/json"),function(e,t,r){if(V.isString(e))try{return(t||JSON.parse)(e),V.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional,r=t&&t.silentJSONParsing,n=t&&t.forcedJSONParsing,i=!r&&"json"===this.responseType;if(i||n&&V.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(i){if("SyntaxError"===e.name)throw M(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};W.headers={common:{Accept:"application/json, text/plain, */*"}},V.forEach(["delete","get","head"],(function(e){W.headers[e]={}})),V.forEach(["post","put","patch"],(function(e){W.headers[e]=V.merge(B)}));var X=W,K=d,G=X,Z=function(e){return!(!e||!e.__CANCEL__)},Q=d,Y=function(e,t,r){var n=this||G;return K.forEach(r,(function(r){e=r.call(n,e,t)})),e},ee=Z,te=X;function re(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var ne=d,ie=function(e,t){t=t||{};var r={},n=["url","method","data"],i=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],o=["validateStatus"];function a(e,t){return ne.isPlainObject(e)&&ne.isPlainObject(t)?ne.merge(e,t):ne.isPlainObject(t)?ne.merge({},t):ne.isArray(t)?t.slice():t}function p(n){ne.isUndefined(t[n])?ne.isUndefined(e[n])||(r[n]=a(void 0,e[n])):r[n]=a(e[n],t[n])}ne.forEach(n,(function(e){ne.isUndefined(t[e])||(r[e]=a(void 0,t[e]))})),ne.forEach(i,p),ne.forEach(s,(function(n){ne.isUndefined(t[n])?ne.isUndefined(e[n])||(r[n]=a(void 0,e[n])):r[n]=a(void 0,t[n])})),ne.forEach(o,(function(n){n in t?r[n]=a(e[n],t[n]):n in e&&(r[n]=a(void 0,e[n]))}));var l=n.concat(i).concat(s).concat(o),u=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===l.indexOf(e)}));return ne.forEach(u,p),r},se={name:"axios",version:"0.21.4",description:"Promise based HTTP client for the browser and node.js",main:"index.js",scripts:{test:"grunt test",start:"node ./sandbox/server.js",build:"NODE_ENV=production grunt build",preversion:"npm test",version:"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json",postversion:"git push && git push --tags",examples:"node ./examples/server.js",coveralls:"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",fix:"eslint --fix lib/**/*.js"},repository:{type:"git",url:"https://github.com/axios/axios.git"},keywords:["xhr","http","ajax","promise","node"],author:"Matt Zabriskie",license:"MIT",bugs:{url:"https://github.com/axios/axios/issues"},homepage:"https://axios-http.com",devDependencies:{coveralls:"^3.0.0","es6-promise":"^4.2.4",grunt:"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1",karma:"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2",minimist:"^1.2.0",mocha:"^8.2.1",sinon:"^4.5.0","terser-webpack-plugin":"^4.2.3",typescript:"^4.0.5","url-search-params":"^0.10.0",webpack:"^4.44.2","webpack-dev-server":"^3.11.0"},browser:{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},jsdelivr:"dist/axios.min.js",unpkg:"dist/axios.min.js",typings:"./index.d.ts",dependencies:{"follow-redirects":"^1.14.0"},bundlesize:[{path:"./dist/axios.min.js",threshold:"5kB"}]},oe={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){oe[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));var ae={},pe=se.version.split(".");function le(e,t){for(var r=t?t.split("."):pe,n=e.split("."),i=0;i<3;i++){if(r[i]>n[i])return!0;if(r[i]0;){var s=n[i],o=t[s];if(o){var a=e[s],p=void 0===a||o(a,s,e);if(!0!==p)throw new TypeError("option "+s+" must be "+p)}else if(!0!==r)throw Error("Unknown option "+s)}},validators:oe},ce=d,de=f,me=F,he=function(e){return re(e),e.headers=e.headers||{},e.data=Y.call(e,e.data,e.headers,e.transformRequest),e.headers=Q.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),Q.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||te.adapter)(e).then((function(t){return re(e),t.data=Y.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return ee(t)||(re(e),t&&t.response&&(t.response.data=Y.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},fe=ie,ge=ue,ve=ge.validators;function Fe(e){this.defaults=e,this.interceptors={request:new me,response:new me}}Fe.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=fe(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=e.transitional;void 0!==t&&ge.assertOptions(t,{silentJSONParsing:ve.transitional(ve.boolean,"1.0.0"),forcedJSONParsing:ve.transitional(ve.boolean,"1.0.0"),clarifyTimeoutError:ve.transitional(ve.boolean,"1.0.0")},!1);var r=[],n=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(n=n&&t.synchronous,r.unshift(t.fulfilled,t.rejected))}));var i,s=[];if(this.interceptors.response.forEach((function(e){s.push(e.fulfilled,e.rejected)})),!n){var o=[he,void 0];for(Array.prototype.unshift.apply(o,r),o=o.concat(s),i=Promise.resolve(e);o.length;)i=i.then(o.shift(),o.shift());return i}for(var a=e;r.length;){var p=r.shift(),l=r.shift();try{a=p(a)}catch(e){l(e);break}}try{i=he(a)}catch(e){return Promise.reject(e)}for(;s.length;)i=i.then(s.shift(),s.shift());return i},Fe.prototype.getUri=function(e){return e=fe(this.defaults,e),de(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},ce.forEach(["delete","get","head","options"],(function(e){Fe.prototype[e]=function(t,r){return this.request(fe(r||{},{method:e,url:t,data:(r||{}).data}))}})),ce.forEach(["post","put","patch"],(function(e){Fe.prototype[e]=function(t,r,n){return this.request(fe(n||{},{method:e,url:t,data:r}))}}));var Ee=Fe;function Te(e){this.message=e}Te.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Te.prototype.__CANCEL__=!0;var ye=Te,_e=ye;function we(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new _e(e),t(r.reason))}))}we.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},we.source=function(){var e;return{token:new we((function(t){e=t})),cancel:e}};var be=we,Ne=d,ke=n,Se=Ee,Re=ie;function xe(e){var t=new Se(e),r=ke(Se.prototype.request,t);return Ne.extend(r,Se.prototype,t),Ne.extend(r,t),r}var Ie=xe(X);Ie.Axios=Se,Ie.create=function(e){return xe(Re(Ie.defaults,e))},Ie.Cancel=ye,Ie.CancelToken=be,Ie.isCancel=Z,Ie.all=function(e){return Promise.all(e)},Ie.spread=function(e){return function(t){return e.apply(null,t)}},Ie.isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError},r.exports=Ie,r.exports.default=Ie;var Oe=r.exports;const Ce={all:De=De||new Map,on:function(e,t){var r=De.get(e);r?r.push(t):De.set(e,[t])},off:function(e,t){var r=De.get(e);r&&(t?r.splice(r.indexOf(t)>>>0,1):De.set(e,[]))},emit:function(e,t){var r=De.get(e);r&&r.slice().map((function(e){e(t)})),(r=De.get("*"))&&r.slice().map((function(r){r(e,t)}))}};var De;const je={$on:(...e)=>Ce.on(...e),$once:(...e)=>Ce.once(...e),$off:(...e)=>Ce.off(...e),$emit:(...e)=>Ce.emit(...e)},Le={props:["props","params","matestack-ui-vuejs-ref"],computed:{vc:function(){return this}},methods:{getRefs:function(){var e={},t=this.props.component_uid,r=this.getTemplateElement().querySelectorAll("[matestack-ui-vuejs-ref]");for(let n in r){let i=r[n];if(i.getAttribute){let r=i.getAttribute("matestack-ui-vuejs-ref");r.startsWith(t)&&(e[r.replace(t+"-","")]=i)}}return e},getTemplateElement:function(){return document.getElementById("uid-"+this.props.component_uid)},getElement:function(){return this.getTemplateElement().firstChild},registerEvents:function(e,t){null!=e&&e.split(",").forEach((e=>je.$on(e.trim(),t)))},removeEvents:function(e,t){null!=e&&e.split(",").forEach((e=>je.$off(e.trim(),t)))},emitScopedEvent:function(e,t={}){je.$emit(this.props.component_uid+"_"+e,t)},registerScopedEvent:function(e,t,r=this.props.component_uid){je.$on(r+"_"+e,t)},removeScopedEvent:function(e,t,r=this.props.component_uid){je.$off(r+"_"+e,t)},getXcsrfToken:function(){if(document.getElementsByName("csrf-token")[0])return document.getElementsByName("csrf-token")[0].getAttribute("content")}}},Ae={inlineTemplate:''},$e={mixins:[Le],template:Ae.inlineTemplate,props:["appConfig","params"],data:function(){return{pageTemplate:null,pageLoading:!1,currentPathName:document.location.pathname,currentSearch:document.location.search,currentOrigin:document.location.origin}},provide:function(){return{pageTemplate:e((()=>this.pageTemplate)),pageLoading:e((()=>this.pageLoading)),currentPathName:e((()=>this.currentPathName)),currentSearch:e((()=>this.currentSearch)),currentOrigin:e((()=>this.currentOrigin)),appNavigateTo:this.navigateTo,setPageLoading:this.setPageLoading}},mounted:function(){const e=this;window.addEventListener("popstate",(t=>{this.isNavigatingToAnotherPage({origin:e.currentOrigin,pathName:e.currentPathName,search:e.currentSearch},document.location)&&(je.$emit("page_loading_triggered",document.location.pathname+document.location.search),e.pageLoading=!0,e.navigateTo({url:document.location.pathname+document.location.search,backwards:!0}))}))},methods:{navigateTo({url:e,backwards:t}){const r=this;if(r.pageLoading=!0,je.$emit("page_loading",e),window.history.pushState)return new Promise(((n,i)=>{Oe({method:"get",url:e,headers:{"X-CSRF-Token":r.getXcsrfToken()},params:{only_page:!0}}).then((function(i){t?window.history.replaceState({matestackApp:!0,url:e},null,e):window.history.pushState({matestackApp:!0,url:e},null,e),setTimeout((function(){n(i.data),r.pageTemplate=i.data,r.setCurrentLocation({path:e.split("?")[0],search:document.location.search,origin:document.location.origin}),r.pageLoading=!1,r.pageScrollTop(),je.$emit("page_loaded",e)}),5)})).catch((function(e){setTimeout((function(){n(e),je.$emit("page_loading_error",e)}),5)}))}));document.location.href=e},setPageLoading(e){this.pageLoading=e},setCurrentLocation(e){this.currentPathName=e.path,this.currentSearch=e.search,this.currentOrigin=e.origin},pageScrollTop(){const e=function(t){return null==t?null:t.scrollHeight>t.clientHeight?t:e(t.parentNode)};var t=e(document.getElementsByClassName("matestack-page-root")[0]);t&&(t.scrollTop=0)},isNavigatingToAnotherPage:(e,t)=>e.pathName!==t.pathname||e.origin!==t.origin||e.search!==t.search}},Ue={mixins:[Le],template:Ae.inlineTemplate,data:function(){return{}},inject:["pageTemplate","pageLoading"],computed:{asyncPageTemplate:function(){return this.pageTemplate},loading:function(){return this.pageLoading}}},Pe={template:'',props:["vc","template"],computed:{dynamicComponent:function(){return{props:["vc","template"],template:`${this.template||"
"}`}}}};var ze=(e,t,r)=>{r||(r=window.location.href);let n,i=new RegExp(`([?&])${e}=.*?(&|#|$)(.*)`,"gi");if(i.test(r))return null!=t?r.replace(i,`$1${e}=${t}$2$3`):(n=r.split("#"),r=n[0].replace(i,"$1$3").replace(/(&|\?)$/,""),void 0!==n[1]&&null!==n[1]&&(r+=`#${n[1]}`),r);if(null!=t){const i=-1!==r.indexOf("?")?"&":"?";return n=r.split("#"),r=`${n[0]}${i}${e}=${t}`,void 0!==n[1]&&null!==n[1]&&(r+=`#${n[1]}`),r}return r},Ve=(e,t)=>{t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");const r=new RegExp(`[?&]${e}(=([^&#]*)|&|#|$)`).exec(t);return r?r[2]?decodeURIComponent(r[2].replace(/\+/g," ")):"":null},qe=()=>{const e=window.location.search.substring(1);if(0===e.length)return{};return JSON.parse(`{"${e.replace(/&/g,'","').replace(/=/g,'":"')}"}`,((e,t)=>""===e?t:decodeURIComponent(t)))};const Me={mixins:[Le],template:Ae.inlineTemplate,data:function(){return{currentLimit:null,currentOffset:null,currentFilteredCount:null,currentBaseCount:null}},methods:{next:function(){if(this.currentTo()parseInt(this.currentCount())?this.currentCount():e},currentCount:function(){return null!=this.currentFilteredCount||null!=this.currentFilteredCount?this.currentFilteredCount:this.currentBaseCount},goToPage:function(e){this.currentOffset=parseInt(this.currentLimit)*(parseInt(e)-1);var t=ze(this.props.id+"-offset",this.currentOffset);window.history.pushState({matestackApp:!0,url:t},null,t),je.$emit(this.props.id+"-update")}},mounted:function(){null!=Ve(this.props.id+"-offset")?this.currentOffset=parseInt(Ve(this.props.id+"-offset")):null!=this.props.init_offset?this.currentOffset=this.props.init_offset:this.currentOffset=0,null!=Ve(this.props.id+"-limit")?this.currentOffset=parseInt(Ve(this.props.id+"-limit")):null!=this.props.init_limit?this.currentLimit=this.props.init_limit:this.currentLimit=10,null!=this.props.filtered_count&&(this.currentFilteredCount=this.props.filtered_count,this.currentOffset>=this.currentFilteredCount&&this.previous()),null!=this.props.base_count&&(this.currentBaseCount=this.props.base_count,this.currentOffset>=this.currentBaseCount&&this.previous())}},Be={methods:{successTransitionHandling:function(e){const t=this;if(null==t.props.success||null==t.props.success.transition||null!=t.props.success.transition.follow_response&&!1!==t.props.success.transition.follow_response||null==t.appNavigateTo)if(null==t.props.success||null==t.props.success.transition||!0!==t.props.success.transition.follow_response||null==t.appNavigateTo)if(null==t.props.success||null==t.props.success.redirect||null!=t.props.success.redirect.follow_response&&!1!==t.props.success.redirect.follow_response)if(null==t.props.success||null==t.props.success.redirect||!0!==t.props.success.redirect.follow_response);else{let t=e.data.redirect_to||e.request.responseURL;window.location.href=t}else{let e=t.props.success.redirect.path;window.location.href=e}else{let r=e.data.transition_to||e.request.responseURL;t.appNavigateTo({url:r,backwards:!1})}else{let e=t.props.success.transition.path;t.appNavigateTo({url:e,backwards:!1})}},failureTransitionHandling:function(e){const t=this;if(null==t.props.failure||null==t.props.failure.transition||null!=t.props.failure.transition.follow_response&&!1!==t.props.failure.transition.follow_response||null==t.appNavigateTo)if(null==t.props.failure||null==t.props.failure.transition||!0!==t.props.failure.transition.follow_response||null==t.appNavigateTo)if(null==t.props.failure||null==t.props.failure.redirect||null!=t.props.failure.redirect.follow_response&&!1!==t.props.failure.redirect.follow_response)if(null==t.props.failure||null==t.props.failure.redirect||!0!==t.props.failure.redirect.follow_response);else{let t=e.response.data.redirect_to||response.request.responseURL;window.location.href=t}else{let e=t.props.failure.redirect.path;window.location.href=e}else{let r=e.response.data.transition_to||response.request.responseURL;t.appNavigateTo({url:r,backwards:!1})}else{let e=t.props.failure.transition.path;t.appNavigateTo({url:e,backwards:!1})}}}},He={mixins:[Le,Be],template:Ae.inlineTemplate,data:function(){return{data:{},errors:{},loading:!1,isNestedForm:!1,nestedForms:{},nestedFormRuntimeTemplates:{},nestedFormRuntimeTemplateDomElements:{},deletedNestedForms:{}}},setup:()=>({appNavigateTo:t("appNavigateTo",void 0)}),provide:function(){return{parentFormUid:e((()=>this.props.component_uid)),parentFormData:e((()=>this.data)),parentFormErrors:e((()=>this.errors)),parentFormLoading:e((()=>this.loading)),parentNestedForms:e((()=>this.nestedForms)),parentDeletedNestedForms:e((()=>this.deletedNestedForms)),parentNestedFormRuntimeTemplates:e((()=>this.nestedFormRuntimeTemplates)),parentNestedFormRuntimeTemplateDomElements:e((()=>this.nestedFormRuntimeTemplateDomElements)),parentFormMapToNestedForms:this.mapToNestedForms,parentFormSetErrors:this.setErrors,parentFormResetErrors:this.resetErrors,parentFormIsNestedForm:this.isNestedForm,parentNestedFormRuntimeId:null}},methods:{initDataKey:function(e,t){this.data[e]=t},updateFormValue:function(e,t){this.data[e]=t},hasErrors:function(){for(var e in this.errors)if(null!==this.errors[e]&&""!=this.errors[e])return!0;return!1},resetErrors:function(e){this.errors[e]&&delete this.errors[e]},setErrors:function(e){this.errors=e},setErrorKey:function(e,t){this.errors[e]=t},flushErrors:function(e,t){this.errors={}},setNestedFormsError:function(e){let t=this;Object.keys(e).forEach((function(r){if(r.includes(".")){let n=r.split(".")[1],i=r.split(".")[0].split("[")[0],s=r.split(".")[0].split("[")[1].split("]")[0],o=t.mapToNestedForms(parseInt(s),i+"_attributes");t.nestedForms[i+"_attributes"][o].setNestedFormServerErrorIndex(parseInt(s)),t.nestedForms[i+"_attributes"][o].setErrorKey(n,e[r])}}))},mapToNestedForms:function(e,t){var r;r=null!=this.props.primary_key?this.props.primary_key:"id";for(var n=[],i=0;this.data[t].length>i;){1==this.data[t][i]._destroy&&null==this.data[t][i][r]||n.push(i),i++}return n[e]},resetNestedForms:function(){var e=this;Object.keys(e.nestedForms).forEach((function(t){e.nestedForms[t].forEach((function(e){if(1==e.data._destroy)var t=!0;e.initValues(),t&&(e.hideNestedForm=!0,e.data._destroy=!0)}))}))},initValues:function(){this.emitScopedEvent("init")},shouldResetFormOnSuccessfulSubmit(){const e=this;return null!=e.props.success&&null!=e.props.success.reset?e.props.success.reset:e.shouldResetFormOnSuccessfulSubmitByDefault()},shouldResetFormOnSuccessfulSubmitByDefault(){return"put"!=this.props.method},perform:function(){const e=this;null==e.props.fields_for&&(this.getRefs().form.checkValidity()?(e.loading=!0,null!=e.props.emit&&je.$emit(e.props.emit),null!=e.props.delay?setTimeout((function(){e.sendRequest()}),parseInt(e.props.delay)):e.sendRequest()):je.$emit("static_form_errors"))},transformToFormData:function(e,t,r=null){var n=this;for(let i in t)if(i.endsWith("[]"))for(let s in t[i]){let o=t[i][s];null!=r?e.append(n.props.for+r+"["+i.slice(0,-2)+"][]",o):e.append(n.props.for+"["+i.slice(0,-2)+"][]",o)}else Array.isArray(t[i])?t[i].forEach((function(t,s){if(null!=r){let s=r+"["+i+"][]";e=n.transformToFormData(e,t,s)}else{let r="["+i+"][]";e=n.transformToFormData(e,t,r)}})):null!=t[i]&&(null!=r?e.append(n.props.for+r+"["+i+"]",t[i]):e.append(n.props.for+"["+i+"]",t[i]));return e},sendRequest:function(){const e=this;let t={};t[e.props.for]=e.data;let r={};if(1==e.props.multipart){let t=new FormData;t=this.transformToFormData(t,this.data),r={method:e.props.method,url:e.props.submit_path,data:t,headers:{"X-CSRF-Token":e.getXcsrfToken(),"Content-Type":"multipart/form-data"}}}else r={method:e.props.method,url:e.props.submit_path,data:t,headers:{"X-CSRF-Token":e.getXcsrfToken(),"Content-Type":"application/json"}};Oe(r).then((function(t){e.loading=!1,null!=e.props.success&&null!=e.props.success.emit&&je.$emit(e.props.success.emit,t.data),e.successTransitionHandling(t),e.flushErrors(),e.shouldResetFormOnSuccessfulSubmit()&&(e.initValues(),e.resetNestedForms())})).catch((function(t){e.loading=!1,t.response&&t.response.data&&t.response.data.errors&&(e.errors=t.response.data.errors,e.setErrors(t.response.data.errors),e.setNestedFormsError(t.response.data.errors)),null!=e.props.failure&&null!=e.props.failure.emit&&je.$emit(e.props.failure.emit,t.response.data),e.failureTransitionHandling(t)}))}},mounted:function(){this.initValues()}},Je={mixins:[He],template:Ae.inlineTemplate,methods:{perform:function(){var e;for(var t in this.data,this.data)null!=this.data[t]&&(e=ze(this.props.id+"-filter-"+t,JSON.stringify(this.data[t]),e));e=ze(this.props.id+"-offset",0,e),window.history.pushState({matestackApp:!0,url:e},null,e),je.$emit(this.props.id+"-update")},resetFilter:function(){var e;for(var t in this.data)e=ze(this.props.id+"-filter-"+t,null,e),this.data[t]=null;this.initValues(),window.history.pushState({matestackApp:!0,url:e},null,e),je.$emit(this.props.id+"-update")}},created:function(){var e=this,t=qe();Object.keys(t).forEach((function(r){r.startsWith(e.props.id+"-filter-")&&(e.data[r.replace(e.props.id+"-filter-","")]=JSON.parse(t[r]))}))}},We={mixins:[Le],template:Ae.inlineTemplate,data:function(){return{ordering:{}}},methods:{toggleOrder:function(e){var t;null==this.ordering[e]?this.ordering[e]="asc":"asc"==this.ordering[e]?this.ordering[e]="desc":"desc"==this.ordering[e]&&(this.ordering[e]=void 0),t=ze(this.props.id+"-order-"+e,this.ordering[e]),t=ze(this.props.id+"-offset",0,t),window.history.pushState({matestackApp:!0,url:t},null,t),je.$emit(this.props.id+"-update"),this.$forceUpdate()},orderIndicator(e,t){return t[this.ordering[e]]}},created:function(){var e=this,t=qe();Object.keys(t).forEach((function(r){r.startsWith(e.props.id+"-order-")&&(e.ordering[r.replace(e.props.id+"-order-","")]=t[r])}))}},Xe={mixins:[Le],template:Ae.inlineTemplate,data:function(){return{showing:!0,hide_after_timeout:null,event:{data:{}}}},methods:{show:function(e){const t=this;!0!==this.showing&&(this.showing=!0,this.event.data=e,null!=this.props.hide_after&&(t.hide_after_timeout=setTimeout((function(){t.hide()}),parseInt(this.props.hide_after))))},hide:function(){this.showing=!1,this.event.data={}}},created:function(){const e=this;null!=this.props.show_on&&(this.showing=!1,this.props.show_on.split(",").forEach((t=>je.$on(t.trim(),e.show))));null!=this.props.hide_on&&this.props.hide_on.split(",").forEach((t=>je.$on(t.trim(),e.hide)));null!=this.props.show_on&&(this.showing=!1),1==this.props.init_show&&(this.showing=!0)},beforeUnmount:function(){const e=this;(clearTimeout(e.hide_after_timeout),je.$off(this.props.show_on,e.show),je.$off(this.props.hide_on,e.hide),null!=this.props.show_on)&&this.props.show_on.split(",").forEach((t=>je.$off(t.trim(),e.show)));null!=this.props.hide_on&&this.props.hide_on.split(",").forEach((t=>je.$off(t.trim(),e.hide)))}},Ke={mixins:[Le],template:Ae.inlineTemplate,data:function(){return{}},methods:{perform:function(){je.$emit(this.props.emit,this.props.data)}}},Ge={mixins:[Le],template:Ae.inlineTemplate,data:function(){return{}},inject:["appNavigateTo","currentPathName","setPageLoading","pageLoading"],computed:{isActive(){return this.props.link_path.split("?")[0]===this.currentPathName},isChildActive(){return this.props.link_path.split("?")[0]!==this.currentPathName&&-1!==this.currentPathName.indexOf(this.props.link_path.split("?")[0])}},methods:{navigateTo:function(e){const t=this;je.$emit("page_loading_triggered",e),this.setPageLoading(!0),null!=t.props.delay?setTimeout((function(){t.performNavigation(e)}),parseInt(t.props.delay)):this.performNavigation(e)},performNavigation:function(e){this.appNavigateTo({url:e,backwards:!1})}}},Ze={mixins:[Le],template:Ae.inlineTemplate,data:function(){return{asyncTemplate:null,showing:!0,loading:!1,hideAfterTimeout:null,event:{data:{}}}},methods:{show:function(e){const t=this;!0!==this.showing&&(this.showing=!0,this.event.data=e,null!=this.props.defer&&(isNaN(this.props.defer)||this.startDefer()),null!=this.props.hide_after&&(t.hideAfterTimeout=setTimeout((function(){t.hide()}),parseInt(this.props.hide_after))))},hide:function(){this.showing=!1,this.event.data={}},startDefer:function(){const e=this;e.loading=!0,setTimeout((function(){e.rerender()}),parseInt(this.props.defer))},rerender:function(){var e=this;e.loading=!0,Oe({method:"get",url:location.pathname+location.search,headers:{"X-CSRF-Token":e.getXcsrfToken()},params:{component_key:e.props.component_key,component_class:e.props.parent_class}}).then((function(t){var r=document.createElement("div");r.innerHTML=t.data;var n=r.querySelector("#"+e.props.component_key).outerHTML;e.loading=!1,e.asyncTemplate=n})).catch((function(t){je.$emit("async_rerender_error",{id:e.props.component_key})}))}},created:function(){const e=this;e.registerEvents(this.props.show_on,e.show),e.registerEvents(this.props.hide_on,e.hide),e.registerEvents(this.props.rerender_on,e.rerender),null!=this.props.show_on&&(this.showing=!1),null!=this.props.defer&&(isNaN(this.props.defer)||null==this.props.show_on&&this.startDefer()),1==this.props.init_show&&(this.showing=!0)},beforeUnmount:function(){const e=this;clearTimeout(e.hideAfterTimeout),e.removeEvents(this.props.show_on,e.show),e.removeEvents(this.props.hide_on,e.hide),e.removeEvents(this.props.rerender_on,e.rerender)}},Qe={mixins:[Le,Be],template:Ae.inlineTemplate,data:function(){return{}},setup:()=>({appNavigateTo:t("appNavigateTo",void 0)}),methods:{perform:function(){const e=this;(null==e.props.confirm||confirm(e.props.confirm_text))&&(null!=e.props.emit&&je.$emit(e.props.emit),null!=e.props.delay?setTimeout((function(){e.sendRequest()}),parseInt(e.props.delay)):this.sendRequest())},sendRequest:function(){const e=this;Oe({method:e.props.method,url:e.props.action_path,data:e.props.data,headers:{"X-CSRF-Token":e.getXcsrfToken()}}).then((function(t){null!=e.props.success&&null!=e.props.success.emit&&je.$emit(e.props.success.emit,t.data),e.successTransitionHandling(t)})).catch((function(t){null!=e.props.failure&&null!=e.props.failure.emit&&je.$emit(e.props.failure.emit,t.response.data),e.failureTransitionHandling(t)}))}}},Ye={mixins:[Le],template:Ae.inlineTemplate,props:{initialTemplate:String},data:function(){return{cableTemplate:null,cableTemplateDomElement:null,loading:!1,event:{data:{}}}},methods:{append:function(e){var t=this.formatPayload(e);this.cableTemplateDomElement.insertAdjacentHTML("beforeend",t.join("")),this.updateCableTemplate()},prepend:function(e){var t=this.formatPayload(e);this.cableTemplateDomElement.insertAdjacentHTML("afterbegin",t.join("")),this.updateCableTemplate()},delete:function(e){this.formatPayload(e).forEach((e=>this.cableTemplateDomElement.querySelector("#"+e).remove())),this.updateCableTemplate()},update:function(e){const t=this;this.formatPayload(e).forEach((function(e){var r=document.createElement("div");r.innerHTML=e.replace(/^\s+|\s+$/g,"");var n=r.firstChild.id,i=t.cableTemplateDomElement.querySelector("#"+n);i.parentNode.replaceChild(r.firstChild,i)})),this.updateCableTemplate()},replace:function(e){var t=this.formatPayload(e);this.cableTemplateDomElement.innerHTML=t.join(""),this.updateCableTemplate()},updateCableTemplate:function(){this.cableTemplate=this.cableTemplateDomElement.outerHTML},formatPayload:function(e){return Array.isArray(e.data)?e.data:[e.data]}},mounted:function(){const e=this;var t=document.createElement("div");t.innerHTML=this.initialTemplate,this.cableTemplateDomElement=t.querySelector("#"+this.props.id),this.cableTemplate=this.cableTemplateDomElement.outerHTML,this.registerEvents(this.props.append_on,e.append),this.registerEvents(this.props.prepend_on,e.prepend),this.registerEvents(this.props.delete_on,e.delete),this.registerEvents(this.props.update_on,e.update),this.registerEvents(this.props.replace_on,e.replace)},beforeUnmount:function(){const e=this;this.cableTemplate=null,this.removeEvents(this.props.append_on,e.append),this.removeEvents(this.props.prepend_on,e.prepend),this.removeEvents(this.props.delete_on,e.delete),this.removeEvents(this.props.update_on,e.update),this.removeEvents(this.props.replace_on,e.replace)}},et={mixins:[Le],props:["props","params"],template:Ae.inlineTemplate,data:function(){return{isolatedTemplate:null,loading:!1,loadingError:!1}},methods:{rerender:function(){var e=this;e.loading=!0,e.loadingError=!1,null!=e.props.rerender_delay?setTimeout((function(){e.renderIsolatedContent()}),parseInt(this.props.rerender_delay)):e.renderIsolatedContent()},renderIsolatedContent:function(){var e=this;e.loading=!0,e.loadingError=!1,Oe({method:"get",url:location.pathname+location.search,headers:{"X-CSRF-Token":e.getXcsrfToken()},params:{component_class:e.props.component_class,public_options:e.props.public_options}}).then((function(t){e.loading=!1,e.loadingStart=!1,e.loadingEnd=!0,e.isolatedTemplate=t.data})).catch((function(t){e.loadingError=!0,je.$emit("isolate_rerender_error",{class:e.props.component_class})}))},startDefer:function(){const e=this;e.loading=!0,setTimeout((function(){e.renderIsolatedContent()}),parseInt(this.props.defer))}},created:function(){},beforeUnmount:function(){const e=this;null!=this.props.rerender_on&&this.props.rerender_on.split(",").forEach((t=>je.$off(t.trim(),e.renderIsolatedContent)))},mounted:function(){const e=this;void 0===this.props.init_on||null===this.props.init_on?(1==e.props.defer||Number.isInteger(e.props.defer))&&(isNaN(e.props.defer)?e.renderIsolatedContent():e.startDefer()):null!=e.props.defer?isNaN(e.props.defer)||this.props.init_on.split(",").forEach((t=>je.$on(t.trim(),e.startDefer))):this.props.init_on.split(",").forEach((t=>je.$on(t.trim(),e.renderIsolatedContent)));null!=this.props.rerender_on&&this.props.rerender_on.split(",").forEach((t=>je.$on(t.trim(),e.rerender)))}},tt={mixins:[Le],template:Ae.inlineTemplate,data:function(){return{data:{},errors:{},isNestedForm:!0,hideNestedForm:!1,nestedFormRuntimeId:"",nestedFormServerErrorIndex:""}},provide:function(){return{parentFormUid:e((()=>this.props.component_uid)),parentFormData:e((()=>this.data)),parentFormErrors:e((()=>this.errors)),parentNestedFormRuntimeId:e((()=>this.nestedFormRuntimeId)),parentFormMapToNestedForms:this.mapToNestedForms,parentFormSetErrors:this.setErrors,parentFormResetErrors:this.resetErrors}},inject:["parentFormData","parentFormErrors","parentNestedForms","parentDeletedNestedForms","parentFormMapToNestedForms"],methods:{initDataKey:function(e,t){this.data[e]=t},updateFormValue:function(e,t){this.data[e]=t},hasErrors:function(){for(var e in this.errors)if(null!==this.errors[e]&&""!=this.errors[e])return!0;return!1},resetErrors:function(e){this.errors[e]&&delete this.errors[e];var t=this.props.fields_for.replace("_attributes","")+"["+this.nestedFormServerErrorIndex+"]."+e;this.parentFormErrors[t]&&delete this.parentFormErrors[t]},setErrors:function(e){this.errors=e},setNestedFormServerErrorIndex:function(e){this.nestedFormServerErrorIndex=e},setErrorKey:function(e,t){this.errors[e]=t},flushErrors:function(e,t){this.errors={}},removeItem:function(){this.data._destroy=!0,this.hideNestedForm=!0;var e=parseInt(this.nestedFormRuntimeId.replace("_"+this.props.fields_for+"_child_",""));this.parentDeletedNestedForms[this.props.fields_for].push(e);var t=this.props.fields_for.replace("_attributes","")+"["+this.nestedFormServerErrorIndex+"].",r=this;Object.keys(r.parentFormErrors).forEach((function(e){0==e.lastIndexOf(t,0)&&delete r.parentFormErrors[e]}))},initValues:function(){this.emitScopedEvent("init")}},mounted:function(){var e=this;this.data={_destroy:!1},null==this.parentFormData[this.props.fields_for]&&(this.parentFormData[this.props.fields_for]=[]),null==this.parentNestedForms[this.props.fields_for]&&(this.parentNestedForms[this.props.fields_for]=[]),null==this.parentDeletedNestedForms[this.props.fields_for]&&(this.parentDeletedNestedForms[this.props.fields_for]=[]);var t=parseInt(e.getTemplateElement().querySelector(".matestack-form-fields-for").id.replace(this.props.fields_for+"_child_",""));isNaN(t)&&(t=this.parentNestedForms[this.props.fields_for].length,this.nestedFormRuntimeId="_"+this.props.fields_for+"_child_"+t,this.getTemplateElement().id=this.props.fields_for+"_child_"+t,this.initValues(),this.parentFormData[this.props.fields_for].push(this.data),this.parentNestedForms[this.props.fields_for].push(this)),isNaN(t)||(this.nestedFormRuntimeId="_"+this.props.fields_for+"_child_"+t,null==this.parentFormData[this.props.fields_for][t]?(this.initValues(),this.parentFormData[this.props.fields_for].push(this.data),this.parentNestedForms[this.props.fields_for].push(this)):(this.data=this.parentFormData[this.props.fields_for][t],1==this.data._destroy&&(this.hideNestedForm=!0),this.parentNestedForms[this.props.fields_for][t]=this,Object.keys(this.parentFormErrors).forEach((function(r){if(r.includes(".")){let n=r.split(".")[1],i=r.split(".")[0].split("[")[0],s=r.split(".")[0].split("[")[1].split("]")[0],o=e.parentFormMapToNestedForms(parseInt(s),i+"_attributes");i+"_attributes"==e.props.fields_for&&o==t&&(e.setNestedFormServerErrorIndex(parseInt(s)),e.setErrorKey(n,e.parentFormErrors[r]))}}))))}},rt={mixins:[Le],template:Ae.inlineTemplate,data:function(){return{}},inject:["parentNestedFormRuntimeTemplates","parentNestedFormRuntimeTemplateDomElements","parentNestedForms"],methods:{addItem:function(e){var t=JSON.parse(this.getTemplateElement().querySelector("#prototype-template-for-"+e).dataset[":template"]),r=t.matchAll(/"component_uid":"(.+?)"/g),n=[];for(const e of r)n.push(e[1]);if(n.forEach((function(e){var r=Math.floor(1e9*Math.random());t=t.replaceAll(e,r)})),document.createElement("div").innerHTML=t,null==this.parentNestedFormRuntimeTemplateDomElements[e]){(i=document.createElement("div")).innerHTML=t,s=null==this.parentNestedForms[e]?0:this.parentNestedForms[e].length,i.querySelector(".matestack-form-fields-for").id=e+"_child_"+s,this.parentNestedFormRuntimeTemplateDomElements[e]=i,this.parentNestedFormRuntimeTemplates[e]=this.parentNestedFormRuntimeTemplateDomElements[e].outerHTML}else{var i;(i=document.createElement("div")).innerHTML=t;var s=this.parentNestedForms[e].length;i.querySelector(".matestack-form-fields-for").id=e+"_child_"+s,this.parentNestedFormRuntimeTemplateDomElements[e].insertAdjacentHTML("beforeend",i.innerHTML),this.parentNestedFormRuntimeTemplates[e]=this.parentNestedFormRuntimeTemplateDomElements[e].outerHTML}}}},nt={inject:["parentFormUid","parentFormData","parentFormErrors","parentFormLoading","parentFormIsNestedForm","parentFormResetErrors","parentNestedFormRuntimeId"],methods:{initialize:function(){const e=this;for(let t in e.getRefs()){let r,n;(t.startsWith("select.")||t.startsWith("input."))&&(r=e.getRefs()[t].attributes["init-value"],n=e.getRefs()[t].attributes["value-type"]),t.startsWith("select.")?t.startsWith("select.multiple.")?(e.parentFormData[t.replace("select.multiple.","")]=null,r?(e.setValue(JSON.parse(r.value)),e.afterInitialize(JSON.parse(r.value))):(e.setValue([]),e.afterInitialize([]))):(e.parentFormData[t.replace("select.","")]=null,r?n&&"Integer"==n.value?(e.setValue(parseInt(r.value)),e.afterInitialize(parseInt(r.value))):(e.setValue(r.value),e.afterInitialize(r.value)):(e.setValue(null),e.afterInitialize(null))):(e.parentFormData[t.replace("input.","")]=null,r?("true"===r.value&&(e.setValue(!0),e.afterInitialize(!0)),"false"===r.value&&(e.setValue(!1),e.afterInitialize(!1))):(e.setValue(null),e.afterInitialize(null)))}},inputChanged:function(e){this.parentFormIsNestedForm&&(this.parentFormData._destroy=!1),this.parentFormResetErrors(e)},afterInitialize:function(e){},setValue:function(e){this.parentFormData[this.props.key]=e}},mounted:function(){this.registerScopedEvent("init",this.initialize,this.parentFormUid)},beforeUnmount:function(){this.removeScopedEvent("init",this.initialize,this.parentFormUid)}},it={mixins:[Le,nt],template:Ae.inlineTemplate,data:()=>({})},st={inject:["parentFormUid","parentFormData","parentFormErrors","parentFormLoading","parentFormIsNestedForm","parentFormResetErrors","parentNestedFormRuntimeId"],methods:{initialize:function(){const e=this;for(let t in e.getRefs())if(t.startsWith("input.")){let r=e.getRefs()[t].attributes["init-value"];e.parentFormData[t.replace("input.","")]=null,r?(e.setValue(r.value),e.afterInitialize(r.value)):(e.setValue(null),e.afterInitialize(null))}},filesAdded:function(e){const t=(event.dataTransfer||event.target).files;if(event.target.attributes.multiple){this.parentFormData[e]=[];for(let r in t)t[r]instanceof File&&this.parentFormData[e].push(t[r])}else this.parentFormData[e]=t[0]},inputChanged:function(e){this.parentFormIsNestedForm&&(this.parentFormData._destroy=!1),this.parentFormResetErrors(e)},afterInitialize:function(e){},setValue:function(e){this.getRefs()["input."+this.props.key]&&(this.getRefs()["input."+this.props.key].value=e),this.getRefs()["input."+this.props.key+"[]"]&&(this.getRefs()["input."+this.props.key+"[]"].value=e),this.parentFormData[this.props.key]=e}},mounted:function(){this.registerScopedEvent("init",this.initialize,this.parentFormUid)},beforeUnmount:function(){this.removeScopedEvent("init",this.initialize,this.parentFormUid)}},ot={mixins:[Le,st],template:Ae.inlineTemplate,data:()=>({})},at={inject:["parentFormUid","parentFormData","parentFormErrors","parentFormLoading","parentFormIsNestedForm","parentFormResetErrors","parentNestedFormRuntimeId"],methods:{initialize:function(){const e=this;for(let t in e.getRefs()){let r,n;t.startsWith("select.")&&(r=e.getRefs()[t].attributes["init-value"],n=e.getRefs()[t].attributes["value-type"]),t.startsWith("select.")&&(t.startsWith("select.multiple.")?(e.parentFormData[t.replace("select.multiple.","")]=null,r?(e.setValue(JSON.parse(r.value)),e.afterInitialize(JSON.parse(r.value))):(e.setValue([]),e.afterInitialize([]))):(e.parentFormData[t.replace("select.","")]=null,r?n&&"Integer"==n.value?(e.setValue(parseInt(r.value)),e.afterInitialize(parseInt(r.value))):(e.setValue(r.value),e.afterInitialize(r.value)):(e.setValue(null),e.afterInitialize(null))))}},inputChanged:function(e){this.parentFormIsNestedForm&&(this.parentFormData._destroy=!1),this.parentFormResetErrors(e)},afterInitialize:function(e){},setValue:function(e){this.parentFormData[this.props.key]=e}},mounted:function(){this.registerScopedEvent("init",this.initialize,this.parentFormUid)},beforeUnmount:function(){this.removeScopedEvent("init",this.initialize,this.parentFormUid)}},pt={mixins:[Le,at],template:Ae.inlineTemplate,data:()=>({})},lt={inject:["parentFormUid","parentFormData","parentFormErrors","parentFormLoading","parentFormIsNestedForm","parentFormResetErrors","parentNestedFormRuntimeId"],methods:{initialize:function(){const e=this;for(let t in e.getRefs()){let r,n;t.startsWith("select.")&&(r=e.getRefs()[t].attributes["init-value"],n=e.getRefs()[t].attributes["value-type"]),t.startsWith("select.")&&(t.startsWith("select.multiple.")?(e.parentFormData[t.replace("select.multiple.","")]=null,r?(e.setValue(JSON.parse(r.value)),e.afterInitialize(JSON.parse(r.value))):(e.setValue([]),e.afterInitialize([]))):(e.parentFormData[t.replace("select.","")]=null,r?n&&"Integer"==n.value?(e.setValue(parseInt(r.value)),e.afterInitialize(parseInt(r.value))):(e.setValue(r.value),e.afterInitialize(r.value)):(e.setValue(null),e.afterInitialize(null))))}},inputChanged:function(e){this.parentFormIsNestedForm&&(this.parentFormData._destroy=!1),this.parentFormResetErrors(e)},afterInitialize:function(e){},setValue:function(e){this.parentFormData[this.props.key]=e}},mounted:function(){this.registerScopedEvent("init",this.initialize,this.parentFormUid)},beforeUnmount:function(){this.removeScopedEvent("init",this.initialize,this.parentFormUid)}},ut={mixins:[Le,lt],template:Ae.inlineTemplate,data:()=>({})},ct={inject:["parentFormUid","parentFormData","parentFormErrors","parentFormLoading","parentFormIsNestedForm","parentFormResetErrors","parentNestedFormRuntimeId"],methods:{initialize:function(){const e=this;for(let t in this.getRefs())if(t.startsWith("input.")){let r=e.getRefs()[t].attributes["init-value"];e.parentFormData[t.replace("input.","")]=null,r?(e.setValue(r.value),e.afterInitialize(r.value)):(e.setValue(null),e.afterInitialize(null))}},inputChanged:function(e){this.parentFormIsNestedForm&&(this.parentFormData._destroy=!1),this.parentFormResetErrors(e)},afterInitialize:function(e){},setValue:function(e){this.parentFormData[this.props.key]=e}},mounted:function(){this.registerScopedEvent("init",this.initialize,this.parentFormUid)},beforeUnmount:function(){this.removeScopedEvent("init",this.initialize,this.parentFormUid)}},dt={mixins:[Le,ct],template:Ae.inlineTemplate,data:()=>({})},mt=function(e){return e.config.compilerOptions.whitespace="preserve",e.config.compilerOptions.isCustomElement=e=>"matestack-component-template"===e,e.config.unwrapInjectedRef=!0,e.component("matestack-ui-core-runtime-render",Pe),e.component("matestack-ui-core-app",$e),e.component("matestack-ui-core-page-switch",Ue),e.component("matestack-ui-core-collection-content",Me),e.component("matestack-ui-core-collection-filter",Je),e.component("matestack-ui-core-collection-order",We),e.component("matestack-ui-core-toggle",Xe),e.component("matestack-ui-core-onclick",Ke),e.component("matestack-ui-core-transition",Ge),e.component("matestack-ui-core-async",Ze),e.component("matestack-ui-core-action",Qe),e.component("matestack-ui-core-cable",Ye),e.component("matestack-ui-core-isolate",et),e.component("matestack-ui-core-form",He),e.component("matestack-ui-core-form-checkbox",it),e.component("matestack-ui-core-form-input",ot),e.component("matestack-ui-core-form-radio",pt),e.component("matestack-ui-core-form-select",ut),e.component("matestack-ui-core-form-textarea",dt),e.component("matestack-ui-core-form-nested-form",tt),e.component("matestack-ui-core-form-fields-for-add-item",rt),e},ht={axios:Oe,eventHub:je,matestackEventHub:je,componentMixin:Le,componentHelpers:Ae,formInputMixin:st,formSelectMixin:lt,formCheckboxMixin:nt,formTextareaMixin:ct,formRadioMixin:at,registerComponents:mt,mount:function(e,t="#matestack-ui"){return 1!=window.matestackAppMounted&&(window.matestackAppMounted=!0,mt(e),e.mount(t)),e}};export{ht as default}; diff --git a/lib/matestack/ui/vue_js/index.js b/lib/matestack/ui/vue_js/index.js index d5e71e7e..685af2f4 100644 --- a/lib/matestack/ui/vue_js/index.js +++ b/lib/matestack/ui/vue_js/index.js @@ -1,5 +1,4 @@ -import Vue from 'vue' - +import axios from 'axios' import eventHub from './event_hub' const matestackEventHub = eventHub // for compatibility with 1.x @@ -70,14 +69,18 @@ const registerComponents = function(appInstance){ } const mount = function(appInstance, elementId='#matestack-ui'){ - registerComponents(appInstance) + if (window.matestackAppMounted != true){ + window.matestackAppMounted = true + registerComponents(appInstance) - appInstance.mount(elementId) + appInstance.mount(elementId) + } return appInstance } const MatestackUiVueJs = { + axios, eventHub, matestackEventHub, // for compatibility with 1.x componentMixin, diff --git a/lib/matestack/ui/vue_js/version.rb b/lib/matestack/ui/vue_js/version.rb index 5d834b8f..dedfd7d9 100644 --- a/lib/matestack/ui/vue_js/version.rb +++ b/lib/matestack/ui/vue_js/version.rb @@ -1,7 +1,7 @@ module Matestack module Ui module VueJs - VERSION = '3.0.0' + VERSION = '3.1.0.rc1' end end end diff --git a/lib/matestack/ui/vuejs.rb b/lib/matestack/ui/vuejs.rb new file mode 100644 index 00000000..fbbdbfec --- /dev/null +++ b/lib/matestack/ui/vuejs.rb @@ -0,0 +1 @@ +require "matestack/ui/vue_js" diff --git a/package.json b/package.json index 261a8ab3..0dc48f09 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "matestack-ui-vuejs", - "version": "3.0.0", - "main": "./lib/matestack/ui/vue_js/index.js", + "version": "3.1.0-rc1", + "module": "./dist/matestack-ui-vuejs.esm.js", "files": [ "lib/**/*.js", "README", @@ -14,6 +14,16 @@ "mitt": "^3.0.0", "vue": "^3.2.26" }, + "devDependencies": { + "@rollup/plugin-node-resolve": "^11.0.1", + "@rollup/plugin-commonjs": "^21.0.3", + "@rollup/plugin-json": "^4.1.0", + "rollup-plugin-terser": "^7.0.2", + "rollup": "^2.35.1" + }, + "scripts": { + "build": "rollup --config rollup.config.js" + }, "exports": { ".": "./lib/matestack/ui/vue_js/index.js" } diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 00000000..26786a16 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,29 @@ +import resolve from "@rollup/plugin-node-resolve" +import commonjs from "@rollup/plugin-commonjs" +import json from '@rollup/plugin-json'; +import { terser } from "rollup-plugin-terser" + +const terserOptions = { + mangle: true, + compress: true +} + +export default [ + { + input: "./lib/matestack/ui/vue_js/index.js", + external: ['vue'], + output: [ + { + file: "./dist/matestack-ui-vuejs.esm.js", + format: "es", + globals: { vue: 'Vue', axios: 'axios' }, + } + ], + plugins: [ + resolve({ browser: true }), + json(), + commonjs(), + terser(terserOptions) + ] + } +] diff --git a/spec/dummy/app/matestack/demo/vue_js/pages/first_page.rb b/spec/dummy/app/matestack/demo/vue_js/pages/first_page.rb index d5d16089..4068cdac 100644 --- a/spec/dummy/app/matestack/demo/vue_js/pages/first_page.rb +++ b/spec/dummy/app/matestack/demo/vue_js/pages/first_page.rb @@ -7,7 +7,7 @@ def response plain "play around! --> spec/dummy/app/matestack/demo/vue_js/pages/first_page.rb" end - # you can call components on pages: + # you can call components on pages! Demo::VueJs::Components::StaticComponent.call(foo: "bar") onclick emit: "foo" do diff --git a/yarn.lock b/yarn.lock index d771a5b1..9a515647 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,95 @@ # yarn lockfile v1 +"@babel/code-frame@^7.10.4": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/highlight@^7.16.7": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" + integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.16.4": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== +"@rollup/plugin-commonjs@^21.0.3": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.3.tgz#287896c64926ef3d7f0013708dcdcc1223576ef0" + integrity sha512-ThGfwyvcLc6cfP/MWxA5ACF+LZCvsuhUq7V5134Az1oQWsiC7lNpLT4mJI86WQunK7BYmpUiHmMk2Op6OAHs0g== + dependencies: + "@rollup/pluginutils" "^3.1.0" + commondir "^1.0.1" + estree-walker "^2.0.1" + glob "^7.1.6" + is-reference "^1.2.1" + magic-string "^0.25.7" + resolve "^1.17.0" + +"@rollup/plugin-json@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" + integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== + dependencies: + "@rollup/pluginutils" "^3.0.8" + +"@rollup/plugin-node-resolve@^11.0.1": + version "11.2.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" + integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.19.0" + +"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@types/estree@*": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/node@*": + version "17.0.23" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" + integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== + +"@types/resolve@1.17.1": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + dependencies: + "@types/node" "*" + "@vue/compiler-core@3.2.31": version "3.2.31" resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.31.tgz#d38f06c2cf845742403b523ab4596a3fda152e89" @@ -97,6 +181,18 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.31.tgz#c90de7126d833dcd3a4c7534d534be2fb41faa4e" integrity sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ== +acorn@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + axios@^0.21.1: version "0.21.4" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" @@ -104,12 +200,86 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +builtin-modules@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + csstype@^2.6.8: version "2.6.19" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.19.tgz#feeb5aae89020bb389e1f63669a5ed490e391caa" integrity sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ== -estree-walker@^2.0.2: +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +estree-walker@^2.0.1, estree-walker@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== @@ -119,6 +289,96 @@ follow-redirects@^1.14.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +glob@^7.1.6: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-reference@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + magic-string@^0.25.7: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" @@ -126,6 +386,18 @@ magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.4" +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +minimatch@^3.0.4: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + mitt@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.0.tgz#69ef9bd5c80ff6f57473e8d89326d01c414be0bd" @@ -136,11 +408,33 @@ nanoid@^3.2.0: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picomatch@^2.2.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + postcss@^8.1.10: version "8.4.6" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" @@ -150,21 +444,108 @@ postcss@^8.1.10: picocolors "^1.0.0" source-map-js "^1.0.2" +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +resolve@^1.17.0, resolve@^1.19.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rollup-plugin-terser@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== + dependencies: + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" + +rollup@^2.35.1: + version "2.70.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.70.1.tgz#824b1f1f879ea396db30b0fc3ae8d2fead93523e" + integrity sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA== + optionalDependencies: + fsevents "~2.3.2" + +safe-buffer@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map@^0.6.1: +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + sourcemap-codec@^1.4.4: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +terser@^5.0.0: + version "5.12.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" + integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== + dependencies: + acorn "^8.5.0" + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + vue@^3.2.26: version "3.2.31" resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.31.tgz#e0c49924335e9f188352816788a4cca10f817ce6" @@ -175,3 +556,8 @@ vue@^3.2.26: "@vue/runtime-dom" "3.2.31" "@vue/server-renderer" "3.2.31" "@vue/shared" "3.2.31" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=