UNPKG

vue-petite-transition

Version:

A simple solution for transition for petite-vue .

2 lines (1 loc) 2.74 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).PetiteVue={})}(this,(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 n(e,...t){e&&t.length>0&&e.classList.remove(...t)}var r,o=((r=o||{}).Finished="finished",r.Cancelled="cancelled",r);function l(e,r,o,l,s,u){let a=t(),d=void 0!==u?function(e){let t={called:!1};return(...i)=>{if(!t.called)return t.called=!0,e(...i)}}(u):()=>{};return n(e,...s),i(e,...r,...o),a.nextFrame((()=>{n(e,...o),i(e,...l),a.add(function(e,i){let n=t();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:o}=getComputedStyle(e),[l,s]=[r,o].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!==l?n.setTimeout((()=>i("finished")),l+s):i("finished"),n.add((()=>i("cancelled"))),n.dispose}(e,(t=>(n(e,...l,...r),i(e,...s),d(t)))))})),a.add((()=>n(e,...r,...o,...l,...s))),a.add((()=>d("cancelled"))),a.dispose}function s(e=""){return null===e?void 0:e.split(" ").filter((e=>e.trim().length>1))}const u=({el:e,arg:t,exp:i,modifiers:n,get:r,effect:u})=>{const a=e.style.display;(new Map).set(t,[i,n]),"show"!==t&&t&&e.setAttribute(t,i);let d,c,f,m,p,g,h,b,A=!1;u((()=>{"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"))),h||(h=s(e.getAttribute("leave-from")||e.getAttribute("enter-to"))),b||(b=s(e.getAttribute("leave-to")||e.getAttribute("enter-from"))),r()&&(e.style.display=a),c&&f&&m&&p&&(A&&(d&&d(),A=!1),r()&&!A?(A=!0,d=l(e,c,f,m,p,(e=>{e===o.Finished&&(A=!1)}))):A||(A=!0,d=l(e,g,h,b,p,(t=>{t===o.Finished&&(A=!1,e.style.display="none")})))))}))};e.default=u,e.transitionDirective=u,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));