UNPKG

vue-petite-transition

Version:

A simple solution for transition for petite-vue .

2 lines (1 loc) 2.55 kB
var PetiteVue=function(e){"use strict";function t(){let e=[],t={requestAnimationFrame(...e){let i=requestAnimationFrame(...e);return t.add((()=>cancelAnimationFrame(i)))},nextFrame:(...e)=>t.requestAnimationFrame((()=>t.requestAnimationFrame(...e))),setTimeout(...e){let i=setTimeout(...e);return t.add((()=>clearTimeout(i)))},microTask(...e){let i={current:!0};return function(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((e=>setTimeout((()=>{throw e}))))}((()=>{i.current&&e[0]()})),t.add((()=>{i.current=!1}))},add:t=>(e.push(t),()=>{let i=e.indexOf(t);if(i>=0){let[t]=e.splice(i,1);t()}}),dispose(){for(let t of e.splice(0))t()}};return t}function i(e,...t){e&&t.length>0&&e.classList.add(...t)}function r(e,...t){e&&t.length>0&&e.classList.remove(...t)}var n,l=((n=l||{}).Finished="finished",n.Cancelled="cancelled",n);function o(e,n,l,o,s,a){let u=t(),d=void 0!==a?function(e){let t={called:!1};return(...i)=>{if(!t.called)return t.called=!0,e(...i)}}(a):()=>{};return r(e,...s),i(e,...n,...l),u.nextFrame((()=>{r(e,...l),i(e,...o),u.add(function(e,i){let r=t();if(!e)return r.dispose;let{transitionDuration:n,transitionDelay:l}=getComputedStyle(e),[o,s]=[n,l].map((e=>{let[t=0]=e.split(",").filter(Boolean).map((e=>e.includes("ms")?parseFloat(e):1e3*parseFloat(e))).sort(((e,t)=>t-e));return t}));return 0!==o?r.setTimeout((()=>i("finished")),o+s):i("finished"),r.add((()=>i("cancelled"))),r.dispose}(e,(t=>(r(e,...o,...n),i(e,...s),d(t)))))})),u.add((()=>r(e,...n,...l,...o,...s))),u.add((()=>d("cancelled"))),u.dispose}function s(e=""){return null===e?void 0:e.split(" ").filter((e=>e.trim().length>1))}const a=({el:e,arg:t,exp:i,modifiers:r,get:n,effect:a})=>{const u=e.style.display;(new Map).set(t,[i,r]),"show"!==t&&t&&e.setAttribute(t,i);let d,c,f,m,p,g,A,h,b=!1;a((()=>{"show"===t&&(c||(c=s(e.getAttribute("enter"))),f||(f=s(e.getAttribute("enter-from"))),m||(m=s(e.getAttribute("enter-to"))),p||(p=s(e.getAttribute("entered")||e.getAttribute("enter-to"))),g||(g=s(e.getAttribute("leave")||e.getAttribute("enter"))),A||(A=s(e.getAttribute("leave-from")||e.getAttribute("enter-to"))),h||(h=s(e.getAttribute("leave-to")||e.getAttribute("enter-from"))),n()&&(e.style.display=u),c&&f&&m&&p&&(b&&(d&&d(),b=!1),n()&&!b?(b=!0,d=o(e,c,f,m,p,(e=>{e===l.Finished&&(b=!1)}))):b||(b=!0,d=o(e,g,A,h,p,(t=>{t===l.Finished&&(b=!1,e.style.display="none")})))))}))};return e.default=a,e.transitionDirective=a,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),e}({});