UNPKG

ll-package

Version:

2 lines (1 loc) 1.17 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("vue"),v=require("../../_util/raf.js");var m=function(f,c,e,a){function l(u){return u instanceof e?u:new e(function(o){o(u)})}return new(e||(e=Promise))(function(u,o){function r(i){try{n(a.next(i))}catch(d){o(d)}}function t(i){try{n(a.throw(i))}catch(d){o(d)}}function n(i){i.done?u(i.value):l(i.value).then(r,t)}n((a=a.apply(f,c||[])).next())})};const h=["measure","align",null,"motion"],w=(f,c)=>{const e=s.shallowRef(null),a=s.shallowRef(),l=s.shallowRef(!1);function u(t){l.value||(e.value=t)}function o(){v.default.cancel(a.value)}function r(t){o(),a.value=v.default(()=>{let n=e.value;switch(e.value){case"align":n="motion";break;case"motion":n="stable";break}u(n),t==null||t()})}return s.watch(f,()=>{u("measure")},{immediate:!0,flush:"post"}),s.onMounted(()=>{s.watch(e,()=>{switch(e.value){case"measure":c();break}e.value&&(a.value=v.default(()=>m(void 0,void 0,void 0,function*(){const t=h.indexOf(e.value),n=h[t+1];n&&t!==-1&&u(n)})))},{immediate:!0,flush:"post"})}),s.onBeforeUnmount(()=>{l.value=!0,o()}),[e,r]};exports.default=w;