taggedjs-animate-css 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle.js +3 -3
- package/bundle.js.gz +0 -0
- package/bundle.js.map +1 -1
- package/bundle.js.map.gz +0 -0
- package/js/AnimateWrapOptions.type.d.ts +16 -0
- package/js/AnimateWrapOptions.type.js +2 -0
- package/js/AnimateWrapOptions.type.js.map +1 -0
- package/js/createFx.function.d.ts +3 -5
- package/js/createFx.function.js +36 -22
- package/js/createFx.function.js.map +1 -1
- package/js/index.d.ts +12 -13
- package/js/index.js +87 -6
- package/js/index.js.map +1 -1
- package/package.json +2 -2
package/bundle.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.d(e,{_z:()=>
|
|
1
|
+
var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.d(e,{_z:()=>O,mi:()=>I,qG:()=>c,Ce:()=>d,tE:()=>f,Xn:()=>x,rf:()=>r,MV:()=>l,fx:()=>p,WT:()=>m});var n={};function o({fxIn:t,fxOut:e,outPositionAbsolute:n=!0}){return{in:(e,n)=>i({fxName:t,...e},n),out:(t,o)=>a({fxName:e,outPositionAbsolute:n,...t},o)}}t.r(n),t.d(n,{_z:()=>O,mi:()=>I,qG:()=>c,Ce:()=>d,tE:()=>f,Xn:()=>x,rf:()=>r,MV:()=>l,fx:()=>p,WT:()=>m});const i=async({target:t,fxName:e="fadeInUp"},n)=>(t.style.opacity="0",n&&await u(n),t.style.opacity="1",s(e,t)),a=async({target:t,outPositionAbsolute:e=!0,fxName:n="fadeOutUp"},o)=>(e&&function(t){t.style.zIndex=t.style.zIndex||1;const e=t.offsetTop+"px",n=t.offsetLeft+"px",o=t.clientWidth+(t.offsetWidth-t.clientWidth)+1+"px",i=t.clientHeight+(t.offsetHeight-t.clientHeight)+1+"px";setTimeout((()=>{t.style.top=e,t.style.left=n,t.style.width=o,t.style.height=i,t.style.position="absolute"}),0)}(t),o&&await u(o),s(n,t));function s(t,e){let n;const o=new Promise((function(t){n=t}));return e.classList.add("animate__animated","animate__"+t),e.addEventListener("animationend",(function o(i){i.target===e&&(e.classList.remove("animate__animated","animate__"+t),e.removeEventListener("animationend",o),n(void 0))})),o}function u(t){return new Promise((e=>{setTimeout(e,t)}))}const{in:f,out:r}=o({fxIn:"fadeInUp",fxOut:"fadeOutDown"}),{in:d,out:l}=o({fxIn:"fadeInDown",fxOut:"fadeOutUp"}),{in:c,out:x}=o({fxIn:"fadeIn",fxOut:"fadeOut"}),m=({stagger:t=100,fxIn:e,fxOut:o,duration:i="2s",inName:a="fadeInUp",outName:s="fadeOutDown",outPositionAbsolute:u=!1}={})=>{let f=0;const r=y((function(e){e.style.setProperty("--animate-duration",i);const n=t*f++;return r.fxIn({target:e},n).then((()=>{--f}))}),(function(e){e.style.setProperty("--animate-duration",i);const o=t*f++,a=r.fxOut({target:e},o).then((()=>{--f}));return(0,n.addPaintRemoveAwait)(a),a}),e,o,a,s,u);return r.host},p=({fxIn:t,fxOut:e,stagger:o,inName:i="fadeInUp",outName:a="fadeOutDown",duration:s=".2s",outPositionAbsolute:u=!1}={})=>{const f=y((t=>(t.style.setProperty("--animate-duration",s),f.fxIn({target:t},o))),(t=>{t.style.setProperty("--animate-duration",s);const e=f.fxOut({target:t},o);return(0,n.addPaintRemoveAwait)(e),e}),t,e,i,a,u);return f.host};function y(t,e,i,a,s,u,f){if(!i||!a){const t=o({fxIn:s,fxOut:u,outPositionAbsolute:f});i||(i=t.in),a||(a=t.out)}return{fxIn:i,fxOut:a,host:(0,n.host)((()=>{}),{onInit:t,onDestroy:e})}}function I({fxIn:t,fxOut:e,duration:i=".2s",outPositionAbsolute:a=!1}={duration:".2s",outPositionAbsolute:!1}){if(!t||!e){const n=o({fxIn:"fadeInUp",fxOut:"fadeOutDown",outPositionAbsolute:a});t||(t=n.in),e||(e=n.out)}const s=(0,n.getInnerHTML)();return n.html`
|
|
2
2
|
<div oninit=${t} ondestroy=${e} style.--animate-duration=${i}>${s}</div>
|
|
3
|
-
`.acceptInnerHTML(s)}function
|
|
3
|
+
`.acceptInnerHTML(s)}function O({fxIn:t,fxOut:e,duration:i=".2s",outPositionAbsolute:a=!0}={duration:".2s",outPositionAbsolute:!0}){if(!t||!e){const n=o({fxIn:"fadeInUp",fxOut:"fadeOutDown",outPositionAbsolute:a});t||(t=n.in),e||(e=n.out)}const s=(0,n.getInnerHTML)();return n.html`
|
|
4
4
|
<div oninit=${t} ondestroy=${e} style.--animate-duration=${i}>${s}</div>
|
|
5
|
-
`.acceptInnerHTML(s)}var
|
|
5
|
+
`.acceptInnerHTML(s)}var P=e._z,g=e.mi,b=e.qG,h=e.Ce,v=e.tE,w=e.Xn,A=e.rf,_=e.MV,T=e.fx,L=e.WT;export{P as animateLoop,g as animateWrap,b as fadeIn,h as fadeInDown,v as fadeInUp,w as fadeOut,A as fadeOutDown,_ as fadeOutUp,T as fx,L as fxGroup};
|
|
6
6
|
//# sourceMappingURL=bundle.js.map
|
package/bundle.js.gz
CHANGED
|
Binary file
|
package/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","mappings":"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","sources":["webpack://taggedjs-animate-css/webpack/bootstrap","webpack://taggedjs-animate-css/webpack/runtime/define property getters","webpack://taggedjs-animate-css/webpack/runtime/hasOwnProperty shorthand","webpack://taggedjs-animate-css/webpack/runtime/make namespace object","webpack://taggedjs-animate-css/./ts/createFx.function.ts","webpack://taggedjs-animate-css/./ts/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export function createFx({ fxIn, fxOut, staggerBy = 300, outPositionAbsolute = true, }) {\n return {\n in: (input) => animateInit({ fxName: fxIn, staggerBy, ...input }),\n out: (input) => animateDestroy({ fxName: fxOut, staggerBy, outPositionAbsolute, ...input }),\n };\n}\nconst animateInit = async ({ target, stagger, staggerBy, fxName = 'fadeInDown' }) => {\n target.style.opacity = '0';\n if (stagger) {\n await wait(stagger * staggerBy);\n }\n target.style.opacity = '1';\n target.classList.add('animate__animated', 'animate__' + fxName);\n};\nconst animateDestroy = async ({ target, stagger, outPositionAbsolute = true, fxName = 'fadeOutUp', staggerBy }) => {\n if (outPositionAbsolute) {\n captureElementPosition(target);\n }\n if (stagger) {\n await wait(stagger * staggerBy);\n }\n return new Promise(function (res) {\n // Create a one-time event listener\n function handleAnimationEnd(event) {\n // Optional: make sure the event is from the target element\n if (event.target !== target)\n return;\n // Clean up\n target.classList.remove('animate__animated', 'animate__' + fxName);\n target.removeEventListener('animationend', handleAnimationEnd);\n res(undefined);\n }\n target.classList.add('animate__animated', 'animate__' + fxName);\n target.addEventListener('animationend', handleAnimationEnd);\n });\n};\n// absolute\nexport function captureElementPosition(element) {\n element.style.zIndex = element.style.zIndex || 1;\n const toTop = element.offsetTop + 'px';\n const toLeft = element.offsetLeft + 'px';\n const toWidth = (element.clientWidth + (element.offsetWidth - element.clientWidth) + 1) + 'px';\n const toHeight = (element.clientHeight + (element.offsetHeight - element.clientHeight) + 1) + 'px';\n const fix = () => {\n element.style.top = toTop;\n element.style.left = toLeft;\n element.style.width = toWidth;\n element.style.height = toHeight;\n element.style.position = 'absolute';\n };\n // element.style.position = 'fixed'\n // allow other elements that are being removed to have a moment to figure out where they currently sit\n setTimeout(fix, 0);\n}\nfunction wait(time) {\n return new Promise((res) => {\n setTimeout(res, time);\n });\n}\n","import { createFx } from \"./createFx.function.js\";\nimport { getInnerHTML, html } from \"taggedjs\";\nexport const { in: fadeInDown, out: fadeOutUp } = createFx({ fxIn: 'fadeInDown', fxOut: 'fadeOutUp' });\nexport const { in: fadeIn, out: fadeOut } = createFx({ fxIn: 'fadeIn', fxOut: 'fadeOut' });\n/** Use on html elements to have them animated in and out */\nexport function animateWrap({ fxIn, fxOut, duration = '.2s', outPositionAbsolute = false, } = {\n duration: '.2s',\n outPositionAbsolute: false,\n}) {\n if (!fxIn || !fxOut) {\n const created = createFx({ fxIn: 'fadeInDown', fxOut: 'fadeOutUp', outPositionAbsolute });\n if (!fxIn) {\n fxIn = created.in;\n }\n if (!fxOut) {\n fxOut = created.out;\n }\n }\n const innerHTML = getInnerHTML();\n return html `\n <div oninit=${fxIn} ondestroy=${fxOut} style.--animate-duration=${duration}>${innerHTML}</div>\n `.acceptInnerHTML(innerHTML);\n}\n/** Use on html elements, within a loop, to have them animated in and out */\nexport function animateLoop({ fxIn, fxOut, duration = '.2s', outPositionAbsolute = true, } = {\n duration: '.2s',\n outPositionAbsolute: true,\n}) {\n if (!fxIn || !fxOut) {\n const created = createFx({ fxIn: 'fadeInDown', fxOut: 'fadeOutUp', outPositionAbsolute });\n if (!fxIn) {\n fxIn = created.in;\n }\n if (!fxOut) {\n fxOut = created.out;\n }\n }\n const innerHTML = getInnerHTML();\n return html `\n <div oninit=${fxIn} ondestroy=${fxOut} style.--animate-duration=${duration}>${innerHTML}</div>\n `.acceptInnerHTML(innerHTML);\n}\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","createFx","fxIn","fxOut","staggerBy","outPositionAbsolute","in","input","animateInit","fxName","out","animateDestroy","async","target","stagger","style","opacity","wait","classList","add","element","zIndex","toTop","offsetTop","toLeft","offsetLeft","toWidth","clientWidth","offsetWidth","toHeight","clientHeight","offsetHeight","setTimeout","top","left","width","height","position","captureElementPosition","Promise","res","addEventListener","handleAnimationEnd","event","remove","removeEventListener","undefined","time","fadeInDown","fadeOutUp","fadeIn","fadeOut","animateWrap","duration","created","innerHTML","getInnerHTML","html","acceptInnerHTML","animateLoop"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"bundle.js","mappings":"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","sources":["webpack://taggedjs-animate-css/webpack/bootstrap","webpack://taggedjs-animate-css/webpack/runtime/define property getters","webpack://taggedjs-animate-css/webpack/runtime/hasOwnProperty shorthand","webpack://taggedjs-animate-css/webpack/runtime/make namespace object","webpack://taggedjs-animate-css/./ts/createFx.function.ts","webpack://taggedjs-animate-css/./ts/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export function createFx({ fxIn, fxOut, \n// staggerBy = 300,\noutPositionAbsolute = true, }) {\n return {\n in: (input, stagger) => animateInit({\n fxName: fxIn,\n ...input,\n }, stagger),\n out: (input, stagger) => animateDestroy({\n fxName: fxOut,\n outPositionAbsolute,\n ...input,\n }, stagger),\n };\n}\nconst animateInit = async ({ target, fxName = 'fadeInUp' }, stagger) => {\n target.style.opacity = '0';\n if (stagger) {\n await wait(stagger);\n }\n target.style.opacity = '1';\n return addClassesTo(fxName, target);\n};\nconst animateDestroy = async ({ target, outPositionAbsolute = true, fxName = 'fadeOutUp', }, stagger) => {\n if (outPositionAbsolute) {\n captureElementPosition(target);\n }\n if (stagger) {\n await wait(stagger);\n }\n return addClassesTo(fxName, target);\n};\nfunction addClassesTo(fxName, target) {\n let res;\n const promise = new Promise(function resinate(resolve) {\n res = resolve;\n });\n function handleAnimationEnd(event) {\n // Optional: make sure the event is from the target element\n if (event.target !== target)\n return;\n // Clean up\n target.classList.remove('animate__animated', 'animate__' + fxName);\n target.removeEventListener('animationend', handleAnimationEnd);\n res(undefined);\n }\n target.classList.add('animate__animated', 'animate__' + fxName);\n target.addEventListener('animationend', handleAnimationEnd);\n return promise;\n}\n// absolute\nexport function captureElementPosition(element) {\n element.style.zIndex = element.style.zIndex || 1;\n const toTop = element.offsetTop + 'px';\n const toLeft = element.offsetLeft + 'px';\n const toWidth = (element.clientWidth + (element.offsetWidth - element.clientWidth) + 1) + 'px';\n const toHeight = (element.clientHeight + (element.offsetHeight - element.clientHeight) + 1) + 'px';\n const fix = () => {\n element.style.top = toTop;\n element.style.left = toLeft;\n element.style.width = toWidth;\n element.style.height = toHeight;\n element.style.position = 'absolute';\n };\n // element.style.position = 'fixed'\n // allow other elements that are being removed to have a moment to figure out where they currently sit\n setTimeout(fix, 0);\n}\nfunction wait(time) {\n return new Promise((res) => {\n setTimeout(res, time);\n });\n}\n","import { createFx } from \"./createFx.function.js\";\nimport { addPaintRemoveAwait, getInnerHTML, host, html } from \"taggedjs\";\n/** preferred */\nexport const { in: fadeInUp, out: fadeOutDown } = createFx({\n fxIn: 'fadeInUp',\n fxOut: 'fadeOutDown'\n});\nexport const { in: fadeInDown, out: fadeOutUp } = createFx({\n fxIn: 'fadeInDown',\n fxOut: 'fadeOutUp'\n});\nexport const { in: fadeIn, out: fadeOut } = createFx({\n fxIn: 'fadeIn',\n fxOut: 'fadeOut',\n});\n/** Group created animations together with staggering */\nexport const fxGroup = ({ stagger = 100, fxIn, fxOut, duration = '2s', inName = 'fadeInUp', outName = 'fadeOutDown', outPositionAbsolute = false, } = {}) => {\n let staggerTime = 0;\n const setup = setupFx(function onInit(element) {\n element.style.setProperty('--animate-duration', duration);\n const totalStagger = stagger * (staggerTime++);\n return setup.fxIn({ target: element }, totalStagger).then(() => {\n --staggerTime;\n });\n }, function onDestroy(element) {\n element.style.setProperty('--animate-duration', duration);\n const totalStagger = stagger * (staggerTime++);\n const destroyPromise = setup.fxOut({ target: element }, totalStagger).then(() => {\n --staggerTime;\n });\n addPaintRemoveAwait(destroyPromise);\n return destroyPromise;\n }, fxIn, fxOut, inName, outName, \n // stagger,\n outPositionAbsolute);\n return setup.host;\n};\n/** Used as a host on element. <div ${fx()}> */\nexport const fx = ({ fxIn, fxOut, stagger, inName = 'fadeInUp', outName = 'fadeOutDown', duration = '.2s', outPositionAbsolute = false, } = {}) => {\n const setup = setupFx((element) => {\n element.style.setProperty('--animate-duration', duration);\n return setup.fxIn({ target: element }, stagger);\n }, (element) => {\n element.style.setProperty('--animate-duration', duration);\n const destroyPromise = setup.fxOut({ target: element }, stagger);\n addPaintRemoveAwait(destroyPromise);\n return destroyPromise;\n }, fxIn, fxOut, inName, outName, \n // stagger,\n outPositionAbsolute);\n return setup.host;\n};\nfunction setupFx(onInit, onDestroy, fxIn, fxOut, inName, outName, \n// stagger: number | undefined,\noutPositionAbsolute) {\n if (!fxIn || !fxOut) {\n const created = createFx({\n fxIn: inName,\n fxOut: outName,\n // staggerBy: stagger,\n outPositionAbsolute,\n });\n if (!fxIn) {\n fxIn = created.in;\n }\n if (!fxOut) {\n fxOut = created.out;\n }\n }\n return {\n fxIn, fxOut,\n host: host(() => undefined, {\n onInit,\n onDestroy,\n })\n };\n}\n/** @deprecated - Instead use <div ${fx()}> ... Use on html elements to have them animated in and out */\nexport function animateWrap({ fxIn, fxOut, duration = '.2s', outPositionAbsolute = false, } = {\n duration: '.2s',\n outPositionAbsolute: false,\n}) {\n if (!fxIn || !fxOut) {\n const created = createFx({\n fxIn: 'fadeInUp',\n fxOut: 'fadeOutDown',\n outPositionAbsolute,\n });\n if (!fxIn) {\n fxIn = created.in;\n }\n if (!fxOut) {\n fxOut = created.out;\n }\n }\n const innerHTML = getInnerHTML();\n return html `\n <div oninit=${fxIn} ondestroy=${fxOut} style.--animate-duration=${duration}>${innerHTML}</div>\n `.acceptInnerHTML(innerHTML);\n}\n/** Use on html elements, within a loop, to have them animated in and out */\nexport function animateLoop({ fxIn, fxOut, duration = '.2s', outPositionAbsolute = true, } = {\n duration: '.2s',\n outPositionAbsolute: true,\n}) {\n if (!fxIn || !fxOut) {\n const created = createFx({\n fxIn: 'fadeInUp',\n fxOut: 'fadeOutDown',\n outPositionAbsolute\n });\n if (!fxIn) {\n fxIn = created.in;\n }\n if (!fxOut) {\n fxOut = created.out;\n }\n }\n const innerHTML = getInnerHTML();\n return html `\n <div oninit=${fxIn} ondestroy=${fxOut} style.--animate-duration=${duration}>${innerHTML}</div>\n `.acceptInnerHTML(innerHTML);\n}\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","createFx","fxIn","fxOut","outPositionAbsolute","in","input","stagger","animateInit","fxName","out","animateDestroy","async","target","style","opacity","wait","addClassesTo","element","zIndex","toTop","offsetTop","toLeft","offsetLeft","toWidth","clientWidth","offsetWidth","toHeight","clientHeight","offsetHeight","setTimeout","top","left","width","height","position","captureElementPosition","res","promise","Promise","resolve","classList","add","addEventListener","handleAnimationEnd","event","remove","removeEventListener","undefined","time","fadeInUp","fadeOutDown","fadeInDown","fadeOutUp","fadeIn","fadeOut","fxGroup","duration","inName","outName","staggerTime","setup","setupFx","setProperty","totalStagger","then","destroyPromise","addPaintRemoveAwait","host","fx","onInit","onDestroy","created","animateWrap","innerHTML","getInnerHTML","html","acceptInnerHTML","animateLoop"],"sourceRoot":""}
|
package/bundle.js.map.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ElementEvent } from "./createFx.function.js";
|
|
2
|
+
export type fxNames = 'fadeInDown' | 'fadeInUp' | 'fadeOutUp' | 'fadeOutDown' | 'fade';
|
|
3
|
+
export type fxCallback = (input: ElementEvent, stagger?: number) => Promise<void>;
|
|
4
|
+
export type AnimateWrapOptions = {
|
|
5
|
+
inName?: fxNames;
|
|
6
|
+
outName?: fxNames;
|
|
7
|
+
/** fadeInDown or fadeIn */
|
|
8
|
+
fxIn?: fxCallback;
|
|
9
|
+
/** fadeOutUp or fadeOut */
|
|
10
|
+
fxOut?: (input: ElementEvent, stagger?: number) => Promise<void>;
|
|
11
|
+
/** Ex: .1s */
|
|
12
|
+
duration?: string;
|
|
13
|
+
stagger?: number;
|
|
14
|
+
/** only used when fxIn or fxOut is not provided */
|
|
15
|
+
outPositionAbsolute?: boolean;
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimateWrapOptions.type.js","sourceRoot":"","sources":["../ts/AnimateWrapOptions.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
export type ElementEvent = {
|
|
2
2
|
target: HTMLElement;
|
|
3
|
-
stagger: number;
|
|
4
3
|
};
|
|
5
|
-
export declare function createFx({ fxIn, fxOut,
|
|
4
|
+
export declare function createFx({ fxIn, fxOut, outPositionAbsolute, }: {
|
|
6
5
|
fxIn: string;
|
|
7
6
|
fxOut: string;
|
|
8
|
-
staggerBy?: number;
|
|
9
7
|
outPositionAbsolute?: boolean;
|
|
10
8
|
}): {
|
|
11
|
-
in: (input: ElementEvent) => Promise<void>;
|
|
12
|
-
out: (input: ElementEvent) => Promise<void>;
|
|
9
|
+
in: (input: ElementEvent, stagger?: number) => Promise<void>;
|
|
10
|
+
out: (input: ElementEvent, stagger?: number) => Promise<void>;
|
|
13
11
|
};
|
|
14
12
|
export declare function captureElementPosition(element: any): void;
|
package/js/createFx.function.js
CHANGED
|
@@ -1,39 +1,53 @@
|
|
|
1
|
-
export function createFx({ fxIn, fxOut,
|
|
1
|
+
export function createFx({ fxIn, fxOut,
|
|
2
|
+
// staggerBy = 300,
|
|
3
|
+
outPositionAbsolute = true, }) {
|
|
2
4
|
return {
|
|
3
|
-
in: (input) => animateInit({
|
|
4
|
-
|
|
5
|
+
in: (input, stagger) => animateInit({
|
|
6
|
+
fxName: fxIn,
|
|
7
|
+
...input,
|
|
8
|
+
}, stagger),
|
|
9
|
+
out: (input, stagger) => animateDestroy({
|
|
10
|
+
fxName: fxOut,
|
|
11
|
+
outPositionAbsolute,
|
|
12
|
+
...input,
|
|
13
|
+
}, stagger),
|
|
5
14
|
};
|
|
6
15
|
}
|
|
7
|
-
const animateInit = async ({ target,
|
|
16
|
+
const animateInit = async ({ target, fxName = 'fadeInUp' }, stagger) => {
|
|
8
17
|
target.style.opacity = '0';
|
|
9
18
|
if (stagger) {
|
|
10
|
-
await wait(stagger
|
|
19
|
+
await wait(stagger);
|
|
11
20
|
}
|
|
12
21
|
target.style.opacity = '1';
|
|
13
|
-
|
|
22
|
+
return addClassesTo(fxName, target);
|
|
14
23
|
};
|
|
15
|
-
const animateDestroy = async ({ target,
|
|
24
|
+
const animateDestroy = async ({ target, outPositionAbsolute = true, fxName = 'fadeOutUp', }, stagger) => {
|
|
16
25
|
if (outPositionAbsolute) {
|
|
17
26
|
captureElementPosition(target);
|
|
18
27
|
}
|
|
19
28
|
if (stagger) {
|
|
20
|
-
await wait(stagger
|
|
29
|
+
await wait(stagger);
|
|
21
30
|
}
|
|
22
|
-
return
|
|
23
|
-
// Create a one-time event listener
|
|
24
|
-
function handleAnimationEnd(event) {
|
|
25
|
-
// Optional: make sure the event is from the target element
|
|
26
|
-
if (event.target !== target)
|
|
27
|
-
return;
|
|
28
|
-
// Clean up
|
|
29
|
-
target.classList.remove('animate__animated', 'animate__' + fxName);
|
|
30
|
-
target.removeEventListener('animationend', handleAnimationEnd);
|
|
31
|
-
res(undefined);
|
|
32
|
-
}
|
|
33
|
-
target.classList.add('animate__animated', 'animate__' + fxName);
|
|
34
|
-
target.addEventListener('animationend', handleAnimationEnd);
|
|
35
|
-
});
|
|
31
|
+
return addClassesTo(fxName, target);
|
|
36
32
|
};
|
|
33
|
+
function addClassesTo(fxName, target) {
|
|
34
|
+
let res;
|
|
35
|
+
const promise = new Promise(function resinate(resolve) {
|
|
36
|
+
res = resolve;
|
|
37
|
+
});
|
|
38
|
+
function handleAnimationEnd(event) {
|
|
39
|
+
// Optional: make sure the event is from the target element
|
|
40
|
+
if (event.target !== target)
|
|
41
|
+
return;
|
|
42
|
+
// Clean up
|
|
43
|
+
target.classList.remove('animate__animated', 'animate__' + fxName);
|
|
44
|
+
target.removeEventListener('animationend', handleAnimationEnd);
|
|
45
|
+
res(undefined);
|
|
46
|
+
}
|
|
47
|
+
target.classList.add('animate__animated', 'animate__' + fxName);
|
|
48
|
+
target.addEventListener('animationend', handleAnimationEnd);
|
|
49
|
+
return promise;
|
|
50
|
+
}
|
|
37
51
|
// absolute
|
|
38
52
|
export function captureElementPosition(element) {
|
|
39
53
|
element.style.zIndex = element.style.zIndex || 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFx.function.js","sourceRoot":"","sources":["../ts/createFx.function.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,
|
|
1
|
+
{"version":3,"file":"createFx.function.js","sourceRoot":"","sources":["../ts/createFx.function.ts"],"names":[],"mappings":"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"}
|
package/js/index.d.ts
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
+
import { AnimateWrapOptions } from "./AnimateWrapOptions.type.js";
|
|
1
2
|
import { ElementEvent } from "./createFx.function.js";
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
14
|
-
/** Use on html elements to have them animated in and out */
|
|
3
|
+
import { HostValue } from "taggedjs";
|
|
4
|
+
export { fxNames } from './AnimateWrapOptions.type.js';
|
|
5
|
+
/** preferred */
|
|
6
|
+
export declare const fadeInUp: (input: ElementEvent, stagger?: number | undefined) => Promise<void>, fadeOutDown: (input: ElementEvent, stagger?: number | undefined) => Promise<void>;
|
|
7
|
+
export declare const fadeInDown: (input: ElementEvent, stagger?: number | undefined) => Promise<void>, fadeOutUp: (input: ElementEvent, stagger?: number | undefined) => Promise<void>;
|
|
8
|
+
export declare const fadeIn: (input: ElementEvent, stagger?: number | undefined) => Promise<void>, fadeOut: (input: ElementEvent, stagger?: number | undefined) => Promise<void>;
|
|
9
|
+
/** Group created animations together with staggering */
|
|
10
|
+
export declare const fxGroup: ({ stagger, fxIn, fxOut, duration, inName, outName, outPositionAbsolute, }?: AnimateWrapOptions) => HostValue;
|
|
11
|
+
/** Used as a host on element. <div ${fx()}> */
|
|
12
|
+
export declare const fx: ({ fxIn, fxOut, stagger, inName, outName, duration, outPositionAbsolute, }?: AnimateWrapOptions) => HostValue;
|
|
13
|
+
/** @deprecated - Instead use <div ${fx()}> ... Use on html elements to have them animated in and out */
|
|
15
14
|
export declare function animateWrap({ fxIn, fxOut, duration, outPositionAbsolute, }?: AnimateWrapOptions): import("taggedjs").Tag;
|
|
16
15
|
/** Use on html elements, within a loop, to have them animated in and out */
|
|
17
16
|
export declare function animateLoop({ fxIn, fxOut, duration, outPositionAbsolute, }?: AnimateWrapOptions): import("taggedjs").Tag;
|
package/js/index.js
CHANGED
|
@@ -1,14 +1,91 @@
|
|
|
1
1
|
import { createFx } from "./createFx.function.js";
|
|
2
|
-
import { getInnerHTML, html } from "taggedjs";
|
|
3
|
-
|
|
4
|
-
export const { in:
|
|
5
|
-
|
|
2
|
+
import { addPaintRemoveAwait, getInnerHTML, host, html } from "taggedjs";
|
|
3
|
+
/** preferred */
|
|
4
|
+
export const { in: fadeInUp, out: fadeOutDown } = createFx({
|
|
5
|
+
fxIn: 'fadeInUp',
|
|
6
|
+
fxOut: 'fadeOutDown'
|
|
7
|
+
});
|
|
8
|
+
export const { in: fadeInDown, out: fadeOutUp } = createFx({
|
|
9
|
+
fxIn: 'fadeInDown',
|
|
10
|
+
fxOut: 'fadeOutUp'
|
|
11
|
+
});
|
|
12
|
+
export const { in: fadeIn, out: fadeOut } = createFx({
|
|
13
|
+
fxIn: 'fadeIn',
|
|
14
|
+
fxOut: 'fadeOut',
|
|
15
|
+
});
|
|
16
|
+
/** Group created animations together with staggering */
|
|
17
|
+
export const fxGroup = ({ stagger = 100, fxIn, fxOut, duration = '2s', inName = 'fadeInUp', outName = 'fadeOutDown', outPositionAbsolute = false, } = {}) => {
|
|
18
|
+
let staggerTime = 0;
|
|
19
|
+
const setup = setupFx(function onInit(element) {
|
|
20
|
+
element.style.setProperty('--animate-duration', duration);
|
|
21
|
+
const totalStagger = stagger * (staggerTime++);
|
|
22
|
+
return setup.fxIn({ target: element }, totalStagger).then(() => {
|
|
23
|
+
--staggerTime;
|
|
24
|
+
});
|
|
25
|
+
}, function onDestroy(element) {
|
|
26
|
+
element.style.setProperty('--animate-duration', duration);
|
|
27
|
+
const totalStagger = stagger * (staggerTime++);
|
|
28
|
+
const destroyPromise = setup.fxOut({ target: element }, totalStagger).then(() => {
|
|
29
|
+
--staggerTime;
|
|
30
|
+
});
|
|
31
|
+
addPaintRemoveAwait(destroyPromise);
|
|
32
|
+
return destroyPromise;
|
|
33
|
+
}, fxIn, fxOut, inName, outName,
|
|
34
|
+
// stagger,
|
|
35
|
+
outPositionAbsolute);
|
|
36
|
+
return setup.host;
|
|
37
|
+
};
|
|
38
|
+
/** Used as a host on element. <div ${fx()}> */
|
|
39
|
+
export const fx = ({ fxIn, fxOut, stagger, inName = 'fadeInUp', outName = 'fadeOutDown', duration = '.2s', outPositionAbsolute = false, } = {}) => {
|
|
40
|
+
const setup = setupFx((element) => {
|
|
41
|
+
element.style.setProperty('--animate-duration', duration);
|
|
42
|
+
return setup.fxIn({ target: element }, stagger);
|
|
43
|
+
}, (element) => {
|
|
44
|
+
element.style.setProperty('--animate-duration', duration);
|
|
45
|
+
const destroyPromise = setup.fxOut({ target: element }, stagger);
|
|
46
|
+
addPaintRemoveAwait(destroyPromise);
|
|
47
|
+
return destroyPromise;
|
|
48
|
+
}, fxIn, fxOut, inName, outName,
|
|
49
|
+
// stagger,
|
|
50
|
+
outPositionAbsolute);
|
|
51
|
+
return setup.host;
|
|
52
|
+
};
|
|
53
|
+
function setupFx(onInit, onDestroy, fxIn, fxOut, inName, outName,
|
|
54
|
+
// stagger: number | undefined,
|
|
55
|
+
outPositionAbsolute) {
|
|
56
|
+
if (!fxIn || !fxOut) {
|
|
57
|
+
const created = createFx({
|
|
58
|
+
fxIn: inName,
|
|
59
|
+
fxOut: outName,
|
|
60
|
+
// staggerBy: stagger,
|
|
61
|
+
outPositionAbsolute,
|
|
62
|
+
});
|
|
63
|
+
if (!fxIn) {
|
|
64
|
+
fxIn = created.in;
|
|
65
|
+
}
|
|
66
|
+
if (!fxOut) {
|
|
67
|
+
fxOut = created.out;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
fxIn, fxOut,
|
|
72
|
+
host: host(() => undefined, {
|
|
73
|
+
onInit,
|
|
74
|
+
onDestroy,
|
|
75
|
+
})
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/** @deprecated - Instead use <div ${fx()}> ... Use on html elements to have them animated in and out */
|
|
6
79
|
export function animateWrap({ fxIn, fxOut, duration = '.2s', outPositionAbsolute = false, } = {
|
|
7
80
|
duration: '.2s',
|
|
8
81
|
outPositionAbsolute: false,
|
|
9
82
|
}) {
|
|
10
83
|
if (!fxIn || !fxOut) {
|
|
11
|
-
const created = createFx({
|
|
84
|
+
const created = createFx({
|
|
85
|
+
fxIn: 'fadeInUp',
|
|
86
|
+
fxOut: 'fadeOutDown',
|
|
87
|
+
outPositionAbsolute,
|
|
88
|
+
});
|
|
12
89
|
if (!fxIn) {
|
|
13
90
|
fxIn = created.in;
|
|
14
91
|
}
|
|
@@ -27,7 +104,11 @@ export function animateLoop({ fxIn, fxOut, duration = '.2s', outPositionAbsolute
|
|
|
27
104
|
outPositionAbsolute: true,
|
|
28
105
|
}) {
|
|
29
106
|
if (!fxIn || !fxOut) {
|
|
30
|
-
const created = createFx({
|
|
107
|
+
const created = createFx({
|
|
108
|
+
fxIn: 'fadeInUp',
|
|
109
|
+
fxOut: 'fadeOutDown',
|
|
110
|
+
outPositionAbsolute
|
|
111
|
+
});
|
|
31
112
|
if (!fxIn) {
|
|
32
113
|
fxIn = created.in;
|
|
33
114
|
}
|
package/js/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "taggedjs-animate-css",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.15",
|
|
5
5
|
"description": "HTML and CSS animations for TaggedJs brought to us by animate-css",
|
|
6
6
|
"main": "js/index.js",
|
|
7
7
|
"keywords": [
|
|
@@ -19,6 +19,6 @@
|
|
|
19
19
|
"author": "Acker Dawn Apple",
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"taggedjs": "
|
|
22
|
+
"taggedjs": "^2.8.38"
|
|
23
23
|
}
|
|
24
24
|
}
|