UNPKG

tdesign-vue-next

Version:
1 lines 7.35 kB
{"version":3,"file":"animate.mjs","sources":["../../../../components/notification/utils/animate.ts"],"sourcesContent":["import { PLACEMENT_LIST } from '../consts';\n\ninterface Keyframe {\n composite?: CompositeOperationOrAuto;\n easing?: string;\n offset?: number | null;\n [property: string]: string | number | null | undefined;\n}\ntype CompositeOperationOrAuto = 'accumulate' | 'add' | 'auto' | 'replace';\n\nconst ANIMATION_OPTION = {\n duration: 200,\n easing: 'linear',\n};\n\nconst getFadeInKeyframes = (placement: string, offsetWidth: Number, offsetHeight: Number): Array<Keyframe> | null => {\n if (!PLACEMENT_LIST.includes(placement)) return null;\n if (placement === 'top-right') {\n return [\n { opacity: 0, transform: `translateX(${offsetWidth}px)` },\n { opacity: 1, transform: `translateX(0px)` },\n ];\n }\n if (placement === 'bottom-right') {\n return [\n { opacity: 0, transform: `translateX(${offsetWidth}px)`, marginBottom: `-${offsetHeight}px` },\n { opacity: 1, transform: `translateX(0px)` },\n ];\n }\n if (placement === 'top-left') {\n return [\n { opacity: 0, transform: `translateX(-${offsetWidth}px)` },\n { opacity: 1, transform: `translateX(0px)` },\n ];\n }\n if (placement === 'bottom-left') {\n return [\n { opacity: 0, transform: `translateX(-${offsetWidth}px)`, marginBottom: `-${offsetHeight}px` },\n { opacity: 1, transform: `translateX(0px)` },\n ];\n }\n};\n\nconst getFadeOutKeyframes = (placement: string, offsetWidth: Number, offsetHeight: Number): Array<Keyframe> | null => {\n if (!PLACEMENT_LIST.includes(placement)) return null;\n if (placement === 'top-right') {\n return [\n { opacity: 1, transform: `translateX(0px)` },\n { opacity: 0, transform: `translateX(${offsetWidth}px)`, marginBottom: `-${offsetHeight}px` },\n ];\n }\n if (placement === 'bottom-right') {\n return [\n { opacity: 1, transform: `translateX(0px)` },\n { opacity: 0, transform: `translateX(${offsetWidth}px)` },\n ];\n }\n if (placement === 'top-left') {\n return [\n { opacity: 1, transform: `translateX(0px)` },\n { opacity: 0, transform: `translateX(-${offsetWidth}px)`, marginBottom: `-${offsetHeight}px` },\n ];\n }\n if (placement === 'bottom-left') {\n return [\n { opacity: 1, transform: `translateX(0px)` },\n { opacity: 0, transform: `translateX(-${offsetWidth}px)` },\n ];\n }\n};\n\nexport const fadeIn = (dom: HTMLElement, placement: string) => {\n if (!dom) return;\n const offsetHeight = dom?.offsetHeight || 0;\n const offsetWidth = dom?.offsetWidth || 0;\n const keyframes: Array<Keyframe> | null = getFadeInKeyframes(placement, offsetWidth, offsetHeight);\n if (!keyframes) return;\n dom.animate && dom.animate(keyframes, ANIMATION_OPTION);\n};\n\nexport const fadeOut = (dom: HTMLElement, placement: string, onFinish: Function) => {\n if (!dom) return;\n const offsetHeight = dom?.offsetHeight || 0;\n const offsetWidth = dom?.offsetWidth || 0;\n const keyframes: Array<Keyframe> | null = getFadeOutKeyframes(placement, offsetWidth, offsetHeight);\n if (!keyframes) return onFinish();\n\n const animate = dom.animate && dom.animate(keyframes, ANIMATION_OPTION);\n if (animate) {\n animate.onfinish = () => {\n onFinish();\n };\n } else {\n dom.style.display = 'none';\n onFinish();\n }\n};\n"],"names":["ANIMATION_OPTION","duration","easing","getFadeInKeyframes","placement","offsetWidth","offsetHeight","PLACEMENT_LIST","includes","opacity","transform","concat","marginBottom","getFadeOutKeyframes","fadeIn","dom","keyframes","animate","fadeOut","onFinish","onfinish","style","display"],"mappings":"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"}