UNPKG

vue-router-view-transition

Version:

A transition wrapper for router-view that is compatible with scrollBehavior

7 lines (6 loc) 2.48 kB
/*! * vue-router-view-transition v0.0.1 * (c) 2019 Eduardo San Martin Morote * @license MIT */ function t(t,n,e,r){return new(e||(e=Promise))(function(o,i){function u(t){try{l(r.next(t))}catch(t){i(t)}}function a(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(u,a)}l((r=r.apply(t,n||[])).next())})}function n(t,n){var e,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(e)throw new TypeError("Generator is already executing.");for(;u;)try{if(e=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=n.call(t,u)}catch(t){i=[6,t],r=0}finally{e=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}var e={resolve:null,promise:null,add:function(){var t=this;this.promise=new Promise(function(n){t.resolve=n})},flush:function(){this.resolve&&this.resolve(),this.resolve=null,this.promise=null},wait:function(){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,this.promise];case 1:return t.sent(),[2]}})})}};function r(r){var o=this;return function(){for(var i=[],u=0;u<arguments.length;u++)i[u]=arguments[u];return t(o,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,e.wait()];case 1:return t.sent(),r.apply(void 0,i),[2]}})})}}var o={"":{},"out-in":{beforeEnter:function(){return e.flush()},beforeLeave:function(){return e.add()}},"in-out":{}},i={functional:!0,props:{transition:String,view:String,name:{type:String,default:"default"}},render:function(t,n){var e=n.data,r=n.props,i=e.attrs;delete e.attrs;var u=i?i.mode:"";return t("transition",{props:{name:r.transition},on:o[u],attrs:i},[t("router-view",e)])}};export{i as RouterViewTransition,r as waitForTransition};