UNPKG

lisn.js

Version:

Simply handle user gestures and actions. Includes widgets.

1 lines 15.2 kB
{"version":3,"file":"animate.cjs","names":["MC","_interopRequireWildcard","require","MH","_animations","_cssAlter","_domEvents","_text","_action","_debug","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Animate","register","registerAction","element","constructor","logger","debug","Logger","name","formatAsString","animate","GO_FORWARD","isFirst","do","undo","GO_BACKWARD","S_TOGGLE","res","GO_TOGGLE","exports","direction","isInitial","debug8","iterateAnimations","animation","setupAnimation","setupAnimationLegacy","pauseTillReady","isPageReady","isBackward","playbackRate","debug9","playState","reverse","play","pause","waitForPageReady","then","isInstanceOf","CSSAnimation","cancelHandler","event","onAnimationCancel","addEventListener","S_CANCEL","removeEventListener","target","targetOf","Animation","effect","KeyframeEffect","newAnimation","_MH$targetOf","getAnimations","animationName","hasClass","PREFIX_ANIMATE_REVERSE","isPaused","PREFIX_ANIMATE_PAUSE","goBackwards","doPause","resetCssAnimationsNow","removeClassesNow","addClassesNow","removeClasses"],"sources":["../../../src/ts/actions/animate.ts"],"sourcesContent":["/**\n * @module Actions\n */\n\nimport * as MC from \"@lisn/globals/minification-constants\";\nimport * as MH from \"@lisn/globals/minification-helpers\";\n\nimport {\n iterateAnimations,\n resetCssAnimationsNow,\n} from \"@lisn/utils/animations\";\nimport {\n hasClass,\n addClassesNow,\n removeClasses,\n removeClassesNow,\n} from \"@lisn/utils/css-alter\";\nimport { isPageReady, waitForPageReady } from \"@lisn/utils/dom-events\";\nimport { formatAsString } from \"@lisn/utils/text\";\n\nimport { Action, registerAction } from \"@lisn/actions/action\";\n\nimport debug from \"@lisn/debug/debug\";\nimport { LoggerInterface } from \"@lisn/debug/types\";\n\n/**\n * Plays or reverses all animations on the given element.\n *\n * It works with CSS or Web Animations.\n *\n * **IMPORTANT:** When constructed, it resets and pauses the animations as a\n * form of initialization.\n *\n * -------\n *\n * To use with auto-widgets (HTML API) as part of a trigger specification:\n * - Action name: \"animate\".\n * - Accepted string arguments: none\n * - Accepted options: none\n *\n * @example\n * ```html\n * <div data-lisn-on-view=\"@animate\"></div>\n * ```\n *\n * @category Animation\n */\nexport class Animate implements Action {\n /**\n * (Re)plays the animations forwards.\n */\n readonly do: () => Promise<void>;\n\n /**\n * (Re)plays the animations backwards.\n */\n readonly undo: () => Promise<void>;\n\n /**\n * Reverses the animations from its current direction.\n */\n readonly toggle: () => Promise<void>;\n\n static register() {\n registerAction(\"animate\", (element) => new Animate(element));\n }\n\n constructor(element: Element) {\n const logger = debug\n ? new debug.Logger({\n name: `Animate-${formatAsString(element)}`,\n })\n : null;\n\n // initial state is 0% and paused\n animate(element, GO_FORWARD, logger, true);\n let isFirst = true;\n\n this.do = () => animate(element, GO_FORWARD, logger);\n this.undo = () => animate(element, GO_BACKWARD, logger);\n this[MC.S_TOGGLE] = () => {\n const res = animate(element, isFirst ? GO_FORWARD : GO_TOGGLE, logger);\n isFirst = false;\n return res;\n };\n }\n}\n\n// --------------------\n\ntype AnimateDirection =\n | typeof GO_FORWARD\n | typeof GO_BACKWARD\n | typeof GO_TOGGLE;\n\nconst GO_FORWARD = 0;\nconst GO_BACKWARD = 1;\nconst GO_TOGGLE = 2;\n\nconst animate = (\n element: Element,\n direction: AnimateDirection,\n logger: LoggerInterface | null,\n isInitial = false,\n) => {\n debug: logger?.debug8(\"Animating element\");\n return iterateAnimations(\n element,\n /* istanbul ignore next */ // jsdom doesn't support Web Animations\n (animation) => setupAnimation(animation, direction, logger, isInitial),\n (element) => setupAnimationLegacy(element, direction, logger, isInitial),\n isInitial,\n );\n};\n\n/* istanbul ignore next */ // jsdom doesn't support Web Animations\nconst setupAnimation = (\n animation: Animation,\n direction: AnimateDirection,\n logger: LoggerInterface | null,\n isInitial: boolean,\n) => {\n const pauseTillReady = !isPageReady();\n const isBackward = animation.playbackRate === -1;\n\n debug: logger?.debug9(\"Setting up animation\", animation, {\n direction,\n isBackward,\n });\n\n if (\n direction === GO_TOGGLE ||\n (direction === GO_FORWARD && isBackward) ||\n (direction === GO_BACKWARD && !isBackward)\n ) {\n debug: logger?.debug9(\"Reversing animation\", animation.playState);\n animation.reverse();\n } else if (animation.playState === \"paused\") {\n debug: logger?.debug9(\"Playing animation\", animation.playState);\n animation.play();\n } else {\n debug: logger?.debug9(\n \"Animation has played or is playing already\",\n animation.playState,\n );\n }\n\n if (isInitial || pauseTillReady) {\n debug: logger?.debug9(\"Pausing animation\", animation.playState);\n animation.pause();\n\n if (!isInitial) {\n // we were only pausing until ready\n /* istanbul ignore next */\n waitForPageReady().then(() => {\n debug: logger?.debug9(\"Restarting animation\", animation.playState);\n animation.play();\n });\n }\n }\n\n // If the element is moved (including if wrapped, such as by the ViewTrigger),\n // this will cancel CSS animations and replace them with new running ones\n if (MH.isInstanceOf(animation, CSSAnimation)) {\n const cancelHandler = (event: AnimationPlaybackEvent) =>\n onAnimationCancel(event, animation, direction, logger, isInitial);\n\n animation.addEventListener(MC.S_CANCEL, cancelHandler);\n animation.addEventListener(\"finish\", () =>\n animation.removeEventListener(MC.S_CANCEL, cancelHandler),\n );\n }\n};\n\n/* istanbul ignore next */ // jsdom doesn't support Web Animations\nconst onAnimationCancel = (\n event: AnimationPlaybackEvent,\n animation: CSSAnimation,\n direction: AnimateDirection,\n logger: LoggerInterface | null,\n isInitial: boolean,\n) => {\n // setup again the new animation\n debug: logger?.debug9(\"Animation cancelled, re-setting up new one\");\n const target = MH.targetOf(event);\n if (!MH.isInstanceOf(target, Animation)) {\n return;\n }\n\n const effect = target.effect;\n if (!MH.isInstanceOf(effect, KeyframeEffect)) {\n return;\n }\n\n for (const newAnimation of MH.targetOf(effect)?.getAnimations() || []) {\n if (\n MH.isInstanceOf(newAnimation, CSSAnimation) &&\n newAnimation.animationName === animation.animationName\n ) {\n setupAnimation(newAnimation, direction, logger, isInitial);\n break;\n }\n }\n};\n\nconst setupAnimationLegacy = (\n element: Element,\n direction: AnimateDirection,\n logger: LoggerInterface | null,\n isInitial: boolean,\n) => {\n const isBackward = hasClass(element, MC.PREFIX_ANIMATE_REVERSE);\n const isPaused = hasClass(element, MC.PREFIX_ANIMATE_PAUSE);\n\n const pauseTillReady = !isPageReady();\n\n const goBackwards =\n direction === GO_BACKWARD || (direction === GO_TOGGLE && !isBackward);\n\n const doPause = isInitial || pauseTillReady;\n\n debug: logger?.debug9(\"Setting up legacy animations\", element, {\n direction,\n isBackward,\n isPaused,\n goBackwards,\n doPause,\n });\n\n if (goBackwards === isBackward && doPause === isPaused) {\n // nothing to do\n debug: logger?.debug9(\"No need to reset or pause animation\");\n return;\n }\n\n resetCssAnimationsNow(element);\n\n removeClassesNow(element, MC.PREFIX_ANIMATE_PAUSE, MC.PREFIX_ANIMATE_REVERSE);\n addClassesNow(\n element,\n ...(goBackwards ? [MC.PREFIX_ANIMATE_REVERSE] : []),\n ...(doPause ? [MC.PREFIX_ANIMATE_PAUSE] : []),\n );\n\n if (!isInitial && pauseTillReady) {\n waitForPageReady().then(() =>\n removeClasses(element, MC.PREFIX_ANIMATE_PAUSE),\n );\n }\n};\n"],"mappings":"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","ignoreList":[]}