pagewave 1.0.3 → 1.0.5

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/classes/KeyFrameBase.ts","../src/classes/KeyFrameCustom.ts","../src/classes/KeyFramePreset.ts","../src/classes/MultiElementAnimation.ts","../src/classes/OverlayBase.ts","../src/classes/OverlayCustom.ts","../src/classes/OverlayPreset.ts","../src/classes/OverlayStyled.ts","../src/classes/PageWave.ts","../src/classes/StyleTransition.ts"],"sourcesContent":["import type { DirectionType } from '../types/DirectionType';\r\nimport type { OptionsType } from '../types/OptionsType';\r\nimport type { TimingType } from '../types/TimingType';\r\nimport type { TransitionStyle } from '../types/TransitionStyleInterface';\r\n\r\nexport class KeyFrameBase implements TransitionStyle {\r\n duration: number;\r\n timing: TimingType;\r\n constructor(duration: number, timing: TimingType = \"linear\") {\r\n this.duration = duration;\r\n this.timing = timing;\r\n }\r\n\r\n public handle(direction: DirectionType, mainElement: HTMLElement): void {}\r\n\r\n public hidePage(options: OptionsType): void {\r\n for(const ele of document.getElementsByClassName(\"pagewave-overlay-div\")){\r\n ele.remove();\r\n }\r\n const mainContent = document.getElementById(options.mainContentIdName);\r\n if(mainContent){\r\n mainContent.hidden = true;\r\n }else{\r\n this.waitForElementLoad(\r\n `#${options.mainContentIdName}`, (element: HTMLElement) => {\r\n element.hidden = true;\r\n }\r\n )\r\n }\r\n }\r\n\r\n public revealPage(options: OptionsType): void {\r\n const mainContent = document.getElementById(options.mainContentIdName);\r\n if(mainContent){\r\n mainContent.hidden = false;\r\n }else{\r\n this.waitForElementLoad(\r\n `#${options.mainContentIdName}`, (element: HTMLElement) => {\r\n element.hidden = false;\r\n }\r\n )\r\n }\r\n }\r\n\r\n protected waitForElementLoad(selector: string, functionToExecute: (element: HTMLElement) => void) {\r\n const existingElement = document.querySelector(selector);\r\n if (existingElement != null) {\r\n functionToExecute(existingElement as HTMLElement);\r\n return;\r\n }\r\n \r\n const observer = new MutationObserver((mutations) => {\r\n mutations.forEach((mutation) => {\r\n mutation.addedNodes.forEach((node) => {\r\n if (node.nodeType === Node.ELEMENT_NODE) {\r\n const element = node as HTMLElement;\r\n if (element.matches(selector)) {\r\n observer.disconnect();\r\n functionToExecute(element);\r\n }\r\n }\r\n });\r\n });\r\n });\r\n \r\n observer.observe(document.body, { childList: true, subtree: true });\r\n }\r\n\r\n protected ApplyAnimation(element: HTMLElement, animationName: string, duration: number, timing: TimingType, direction: DirectionType) {\r\n element.style.animation = `${animationName} ${duration}ms ${timing} both ${direction}`;\r\n setTimeout(() => {\r\n element.style.animation = \"\";\r\n if (direction == \"normal\") {\r\n element.hidden = true;\r\n }\r\n }, duration);\r\n if (direction == \"reverse\") {\r\n let currentAnimation: Animation | null = null;\r\n element.getAnimations().forEach((animation) => {\r\n if (currentAnimation == null && animation.id == animationName) {\r\n currentAnimation = animation;\r\n }\r\n });\r\n\r\n function handleAnimation(event: AnimationEvent) {\r\n if (event.animationName == animationName && currentAnimation != null) {\r\n const animationKeyframes = currentAnimation.effect! as KeyframeEffect;\r\n const kfValues = Object.values(animationKeyframes.getKeyframes()[0]!);\r\n const kfKeys = Object.keys(animationKeyframes.getKeyframes()[0]!);\r\n const animationProperties = kfValues.slice(3, kfValues.length - 1);\r\n const animationKeys = kfKeys.slice(3, kfValues.length - 1);\r\n for (let i = 0; i < animationKeys.length; i++) {\r\n const animationKey: string = animationKeys[i]!.toString();\r\n const animationProperty: string = animationProperties[i]!.toString();\r\n element.style.setProperty(animationKey, animationProperty);\r\n }\r\n element.style.animation = \"\";\r\n element.removeEventListener(\"animationend\", handleAnimation);\r\n }\r\n }\r\n element.addEventListener(\"animationend\", handleAnimation);\r\n }\r\n }\r\n}","import type { DirectionType } from '../types/DirectionType';\r\nimport type { OptionsType } from '../types/OptionsType';\r\nimport type { TimingType } from '../types/TimingType';\r\nimport type { TransitionStyle } from '../types/TransitionStyleInterface';\r\nimport { KeyFrameBase } from './KeyFrameBase';\r\n\r\nexport class KeyFrameCustom extends KeyFrameBase {\r\n animationName: string;\r\n constructor(animationName: string, duration: number, timing: TimingType = \"linear\") {\r\n super(duration, timing);\r\n this.animationName = animationName;\r\n }\r\n\r\n public handle(direction: DirectionType, mainElement: HTMLElement): void {\r\n mainElement.hidden = false;\r\n this.ApplyAnimation(mainElement, this.animationName, this.duration, this.timing, direction);\r\n }\r\n}","import type { DirectionType } from \"../types/DirectionType\";\r\nimport type { KeyFrameType } from \"../types/KeyFrameType\";\r\nimport type { TimingType } from \"../types/TimingType\";\r\nimport { KeyFrameCustom } from \"./KeyFrameCustom\";\r\n\r\nexport class KeyFramePreset extends KeyFrameCustom {\r\n constructor(kfType: KeyFrameType, duration: number, timing: TimingType = \"linear\") {\r\n const animationMap: Record<KeyFrameType, string> = {\r\n fade: \"fade\",\r\n fadeaway: \"fadeaway\",\r\n fadetoleft: \"fadetoleft\",\r\n fadetoright: \"fadetoright\",\r\n };\r\n super(animationMap[kfType], duration, timing);\r\n }\r\n handle(direction: DirectionType, mainElement: HTMLElement): void {\r\n super.handle(direction, mainElement);\r\n }\r\n}","import type { DirectionType } from \"../types/DirectionType\";\r\nimport type { TimingType } from \"../types/TimingType\";\r\nimport { KeyFrameBase } from \"./KeyFrameBase\";\r\n\r\nexport class MultiElementAnimation extends KeyFrameBase {\r\n animateableObjects: { [selector: string]: string };\r\n mainElementAnimation: string;\r\n\r\n constructor(animateableObjects: { [selector: string]: string }, duration: number, timing: TimingType = \"linear\", mainElementAnimation = \"\") {\r\n super(duration, timing);\r\n this.animateableObjects = animateableObjects;\r\n this.mainElementAnimation = mainElementAnimation;\r\n }\r\n public handle(direction: DirectionType, mainElement: HTMLElement): void {\r\n let timing = this.timing;\r\n for (const [selector, animationName] of Object.entries(this.animateableObjects)) {\r\n mainElement.querySelectorAll(selector).forEach(\r\n (element) => {\r\n this.ApplyAnimation(element as HTMLElement, animationName, this.duration, timing, direction);\r\n }\r\n );\r\n }\r\n if (this.mainElementAnimation != \"\") {\r\n this.ApplyAnimation(mainElement, this.mainElementAnimation, this.duration, timing, direction);\r\n }\r\n }\r\n}","import type { DirectionType } from '../types/DirectionType';\r\nimport type { OptionsType } from '../types/OptionsType';\r\nimport type { TimingType } from '../types/TimingType';\r\nimport type { TransitionStyle } from '../types/TransitionStyleInterface';\r\n\r\nexport class OverlayBase implements TransitionStyle {\r\n duration: number;\r\n timing: TimingType;\r\n color: string;\r\n\r\n constructor(duration: number, color: string, timing: TimingType = \"linear\") {\r\n this.duration = duration;\r\n this.color = color;\r\n this.timing = timing;\r\n }\r\n\r\n public handle(direction: DirectionType, mainElement: HTMLElement): void {}\r\n\r\n public hidePage(options: OptionsType): void {\r\n const mainContent = document.getElementById(options.mainContentIdName)!;\r\n if (document.getElementById(options.pageBlockerId)) {\r\n const pageBlockerElement = document.getElementById(options.pageBlockerId)!;\r\n pageBlockerElement.style.cssText = `position: absolute; width: 100%; height: 100%; z-index: 100; top: 0; background-color: ${this.color}`\r\n return;\r\n }\r\n for(const ele of document.getElementsByClassName(\"pagewave-overlay-div\")){\r\n ele.remove();\r\n }\r\n const pageBlocker = document.createElement('div');\r\n pageBlocker.id = options.pageBlockerId;\r\n pageBlocker.style.cssText = `position: absolute; width: 100%; height: 100%; z-index: 100; top: 0; background-color: ${this.color}`\r\n mainContent.append(pageBlocker);\r\n }\r\n\r\n public revealPage(options: OptionsType): void {\r\n const pageBlocker = document.getElementById(options.pageBlockerId);\r\n const mainElement = document.getElementById(options.mainContentIdName);\r\n if(mainElement){\r\n mainElement.hidden = false;\r\n }\r\n if (pageBlocker) {\r\n pageBlocker.style.cssText = '';\r\n //pageBlocker.remove();\r\n }else{\r\n this.waitForElementLoad(\r\n `#${options.pageBlockerId}`, (element: HTMLElement) => {\r\n element.style.cssText = '';\r\n //element.remove();\r\n }\r\n )\r\n }\r\n }\r\n\r\n private waitForElementLoad(selector: string, functionToExecute: (element: HTMLElement) => void) {\r\n const existingElement = document.querySelector(selector);\r\n if (existingElement != null) {\r\n functionToExecute(existingElement as HTMLElement);\r\n return;\r\n }\r\n \r\n const observer = new MutationObserver((mutations) => {\r\n mutations.forEach((mutation) => {\r\n mutation.addedNodes.forEach((node) => {\r\n if (node.nodeType === Node.ELEMENT_NODE) {\r\n const element = node as HTMLElement;\r\n if (element.matches(selector)) {\r\n observer.disconnect();\r\n functionToExecute(element);\r\n }\r\n }\r\n });\r\n });\r\n });\r\n \r\n observer.observe(document.body, { childList: true, subtree: true });\r\n }\r\n}","import type { DirectionType } from '../types/DirectionType';\r\nimport type { TimingType } from '../types/TimingType';\r\nimport type { KeyFrameBase } from './KeyFrameBase';\r\nimport { OverlayBase } from './OverlayBase';\r\n\r\n// ...existing code...\r\nexport class OverlayCustom extends OverlayBase {\r\n divAnimationObject: Record<string, string>;\r\n mainElementAnimation: KeyFrameBase | null;\r\n\r\n constructor(divAnimationObject: Record<string, string>, duration: number, color: string, timing: TimingType = \"linear\", mainElementAnimation: KeyFrameBase | null = null) {\r\n super(duration, color, timing);\r\n this.divAnimationObject = divAnimationObject;\r\n this.mainElementAnimation = mainElementAnimation;\r\n }\r\n\r\n handle(direction: DirectionType, mainElement: HTMLElement): void {\r\n for(const ele of document.getElementsByClassName(\"pagewave-overlay-div\")){\r\n ele.remove();\r\n }\r\n const root = document.documentElement;\r\n root.style.setProperty(\"--div-color\", this.color);\r\n for (const [className, animationName] of Object.entries(this.divAnimationObject)) {\r\n const divElement = document.createElement(\"div\");\r\n divElement.className = className + \" pagewave-overlay-div\";\r\n divElement.style.animation = `${animationName} ${this.duration}ms ${this.timing} both ${direction}`;\r\n divElement.style.backgroundColor = this.color;\r\n \r\n divElement.style.position = \"absolute\";\r\n mainElement.appendChild(divElement);\r\n setTimeout(() => {\r\n if(divElement.parentElement == mainElement){\r\n mainElement.removeChild(divElement);\r\n }\r\n }, this.duration);\r\n }\r\n\r\n if (this.mainElementAnimation !== null) {\r\n this.mainElementAnimation.handle(direction, mainElement);\r\n }\r\n }\r\n}","import type { DirectionType } from \"../types/DirectionType\";\r\nimport type { OverlayType } from \"../types/OverlayType\";\r\nimport type { TimingType } from \"../types/TimingType\";\r\nimport { OverlayCustom } from \"./OverlayCustom\";\r\n\r\nexport class OverlayPreset extends OverlayCustom{\r\n constructor(oType: OverlayType, duration: number, color: string, timing: TimingType = \"linear\") {\r\n const overlayMap: Record<OverlayType, Record<string, string>> = {\r\n slide: { firstOverlayElement: \"slide\" },\r\n inverseSlide: { firstOverlayElement: \"inverseSlide\" },\r\n curtain: { firstOverlayElement: \"rightcurtain\", secondOverlayElement: \"leftcurtain\" },\r\n rise: { firstOverlayElement: \"rise\" },\r\n fall: { firstOverlayElement: \"fall\" },\r\n bubble: { firstOverlayElement: \"bubble\" },\r\n wipe: { firstOverlayElement: \"wipe\" }\r\n\r\n };\r\n super(overlayMap[oType], duration, color, timing);\r\n }\r\n handle(direction: DirectionType, mainElement: HTMLElement): void {\r\n super.handle(direction, mainElement);\r\n }\r\n}","import type { DirectionType } from '../types/DirectionType';\r\nimport type { OptionsType } from '../types/OptionsType';\r\nimport type { TimingType } from '../types/TimingType';\r\nimport type { KeyFrameBase } from './KeyFrameBase';\r\nimport { OverlayBase } from './OverlayBase';\r\n\r\nexport type OverlayStyledDiv = {\r\n animationName: string;\r\n cssDesign: Partial<Record<keyof CSSStyleDeclaration, string>>;\r\n}\r\n\r\nexport class OverlayStyled extends OverlayBase {\r\n divAnimationObject: Record<string, OverlayStyledDiv>;\r\n mainElementAnimation: KeyFrameBase | null;\r\n blockerDesign: Partial<Record<keyof CSSStyleDeclaration, string>>;\r\n\r\n constructor(divAnimationObject: Record<string, OverlayStyledDiv>, duration: number, color: string, timing: TimingType = \"linear\", mainElementAnimation: KeyFrameBase | null = null, blockerDesign: Partial<Record<keyof CSSStyleDeclaration, string>> = {}) {\r\n super(duration, color, timing);\r\n this.divAnimationObject = divAnimationObject;\r\n this.mainElementAnimation = mainElementAnimation;\r\n this.blockerDesign = blockerDesign;\r\n }\r\n\r\n public hidePage(options: OptionsType): void {\r\n const mainContent = document.getElementById(options.mainContentIdName)!;\r\n if (document.getElementById(options.pageBlockerId)) {\r\n const pageBlockerElement = document.getElementById(options.pageBlockerId)!;\r\n pageBlockerElement.style.cssText = `position: absolute; width: 100%; height: 100%; z-index: 100; top: 0; background-color: ${this.color}`\r\n for (const [styleKey, styleValue] of Object.entries(this.blockerDesign)) {\r\n (pageBlockerElement.style as any)[styleKey] = styleValue;\r\n }\r\n return;\r\n }\r\n for(const ele of document.getElementsByClassName(\"pagewave-overlay-div\")){\r\n ele.remove();\r\n }\r\n const pageBlocker = document.createElement('div');\r\n pageBlocker.id = options.pageBlockerId;\r\n pageBlocker.style.cssText = `position: absolute; width: 100%; height: 100%; z-index: 100; top: 0; background-color: ${this.color}`\r\n for (const [styleKey, styleValue] of Object.entries(this.blockerDesign)) {\r\n (pageBlocker.style as any)[styleKey] = styleValue;\r\n }\r\n mainContent.append(pageBlocker);\r\n }\r\n\r\n handle(direction: DirectionType, mainElement: HTMLElement): void {\r\n for(const ele of document.getElementsByClassName(\"pagewave-overlay-div\")){\r\n ele.remove();\r\n }\r\n const root = document.documentElement;\r\n root.style.setProperty(\"--div-color\", this.color);\r\n\r\n for (const [className, divProperties] of Object.entries(this.divAnimationObject)) {\r\n const divElement = document.createElement(\"div\");\r\n divElement.className = className + \" pagewave-overlay-div\";\r\n divElement.style.animation = `${divProperties.animationName} ${this.duration}ms ${this.timing} both ${direction}`;\r\n divElement.style.backgroundColor = this.color;\r\n divElement.style.position = \"absolute\";\r\n\r\n for (const [styleKey, styleValue] of Object.entries(divProperties.cssDesign)) {\r\n (divElement.style as any)[styleKey] = styleValue;\r\n }\r\n\r\n mainElement.appendChild(divElement);\r\n\r\n //TODO: Remove code possibly in all areas\r\n setTimeout(() => {\r\n //mainElement.removeChild(divElement);\r\n }, this.duration);\r\n }\r\n\r\n if (this.mainElementAnimation !== null) {\r\n this.mainElementAnimation.handle(direction, mainElement);\r\n }\r\n }\r\n}","import type { DirectionType } from \"../types/DirectionType.ts\";\r\nimport type { OptionsType } from \"../types/OptionsType.ts\";\r\nimport type { TransitionStyle } from \"../types/TransitionStyleInterface.ts\";\r\n\r\nexport class PageWave{\r\n public defaultOptions: OptionsType;\r\n public finalOptions: OptionsType;\r\n public routeTransitions: Record<string, TransitionStyle>\r\n constructor(transitions: Record<string, TransitionStyle>, options = {}){\r\n this.defaultOptions = {\r\n mainContentIdName: \"main-content\",\r\n pageAnimationDelay: 100,\r\n runAnimationOnPageReload: false,\r\n runAnimationOnCrossSite: false,\r\n pageRevealDelay: 0,\r\n leavePageOnLink: true,\r\n pageBlockerId: \"pageBlocker\",\r\n classToIgnoreLink: \"ignore-click\",\r\n animateIgnoredLinks: false,\r\n animateSelfLink: true,\r\n loadEvent: \"DOMContentLoaded\",\r\n preferIgnore: false,\r\n }\r\n this.finalOptions = { ...this.defaultOptions, ...options };\r\n this.routeTransitions = transitions;\r\n }\r\n\r\n\r\n private CallHook(hookName: string, details: Record<string, unknown> = {}) {\r\n const event = new CustomEvent(hookName, {\r\n detail: details\r\n });\r\n window.dispatchEvent(event);\r\n }\r\n\r\n private isNavigationFromSameSite() {\r\n const referrer = document.referrer;\r\n if (referrer == \"\") {\r\n return false;\r\n }\r\n const currentHost = window.location.hostname;\r\n const referrerHost = new URL(referrer).hostname;\r\n\r\n return referrerHost === currentHost;\r\n }\r\n\r\n private isInternalLink(link: string): boolean {\r\n try {\r\n const url = new URL(link, window.location.href); // handles relative URLs\r\n return url.hostname === window.location.hostname;\r\n } catch (e) {\r\n // invalid URLs are considered external\r\n return false;\r\n }\r\n }\r\n\r\n private HandleClickAnimation(e: MouseEvent, defaultTransitionStyle: TransitionStyle, leaveFunction = (link: string) => {window.location.href = link;}, externalLeaveFunction = (link: string) => {window.location.href = link;}) {\r\n if(!e.target || !(e.target instanceof HTMLAnchorElement)) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n \r\n if (e.target.tagName.toLowerCase() == \"a\") {\r\n const correctLeaveFunction = this.isInternalLink(e.target.href) ? leaveFunction : externalLeaveFunction;\r\n const matchedRoute = Array.from(e.target.classList).find(cls => cls in this.routeTransitions);\r\n const shouldIgnore = (this.finalOptions.preferIgnore && !matchedRoute) || e.target.classList.contains(this.finalOptions.classToIgnoreLink)\r\n if(!shouldIgnore && (e.target.href != window.location.href || this.finalOptions.animateSelfLink)){\r\n e.preventDefault();\r\n let duration = defaultTransitionStyle.duration;\r\n this.CallHook(\"animateSSP\", { style: defaultTransitionStyle, clickEvent: e });\r\n if (matchedRoute && matchedRoute in this.routeTransitions) {\r\n this.AnimatePageTransition(this.routeTransitions[matchedRoute]!, \"normal\");\r\n sessionStorage.setItem(\"animationType\", matchedRoute);\r\n duration = this.routeTransitions[matchedRoute]!.duration;\r\n } else {\r\n this.AnimatePageTransition(defaultTransitionStyle, \"normal\");\r\n sessionStorage.setItem(\"animationType\", \"animation\");\r\n duration = defaultTransitionStyle.duration;\r\n }\r\n setTimeout(\r\n () => {\r\n this.CallHook(\"animateESP\", { style: defaultTransitionStyle, clickEvent: e });\r\n if (this.finalOptions.leavePageOnLink) {\r\n correctLeaveFunction((e.target as HTMLAnchorElement).href);\r\n }\r\n }, duration\r\n );\r\n }\r\n else if (e.target.classList.contains(this.finalOptions.classToIgnoreLink) || (e.target.href == window.location.href && !this.finalOptions.animateSelfLink)) {\r\n sessionStorage.setItem(\"animationType\", \"ignore\");\r\n if (this.finalOptions.leavePageOnLink) {\r\n correctLeaveFunction((e.target as HTMLAnchorElement).href);\r\n }\r\n }\r\n } \r\n\r\n }\r\n\r\n public ListenForChange(defaultTransitionStyle: TransitionStyle, leaveFunction: (link: string) => void = (link) => {window.location.href = link;}) {\r\n this.EndPoint(defaultTransitionStyle);\r\n this.SendPoint(defaultTransitionStyle, leaveFunction);\r\n }\r\n\r\n public SendPoint(defaultTransitionStyle: TransitionStyle, leaveFunction = (link: string) => {window.location.href = link;}, externalLeaveFunction = (link: string) => {window.location.href = link;}) {\r\n const mainElement = document.getElementById(this.finalOptions.mainContentIdName)!;\r\n mainElement.onclick = null;\r\n mainElement.addEventListener(\"click\", (e) => {this.HandleClickAnimation(e, defaultTransitionStyle, leaveFunction, externalLeaveFunction)});\r\n\r\n }\r\n\r\n public getStorageRouteTransition(defaultTransitionStyle: TransitionStyle): TransitionStyle {\r\n const storageKey = sessionStorage.getItem(\"animationType\")\r\n if (storageKey != null && storageKey != \"animation\" && storageKey in this.routeTransitions) {\r\n return this.routeTransitions[storageKey]!;\r\n }\r\n return defaultTransitionStyle; \r\n }\r\n\r\n public EndPoint(defaultTransitionStyle: TransitionStyle) {\r\n defaultTransitionStyle = this.getStorageRouteTransition(defaultTransitionStyle);\r\n defaultTransitionStyle.hidePage(this.finalOptions);\r\n const mainElement = document.getElementById(this.finalOptions.mainContentIdName)!;\r\n mainElement.addEventListener(this.finalOptions.loadEvent, (e) => {\r\n e.stopPropagation();\r\n this.CallHook(\"animateSEP\", { style: defaultTransitionStyle });\r\n const doTransitionOnIgnoredLink = (this.finalOptions.animateIgnoredLinks || sessionStorage.getItem(\"animationType\") != \"ignore\");\r\n const doAnimateOnReload = (window.performance.getEntriesByType(\"navigation\")[0]?.entryType != \"reload\" || this.finalOptions.runAnimationOnPageReload);\r\n const doAnimateOnSameSite = this.isNavigationFromSameSite() || this.finalOptions.runAnimationOnCrossSite;\r\n if (doAnimateOnReload && doAnimateOnSameSite && doTransitionOnIgnoredLink) {\r\n setTimeout(\r\n () => {\r\n this.AnimatePageTransition(defaultTransitionStyle, \"reverse\");\r\n setTimeout(\r\n () => {\r\n this.CallHook(\"animateEEP\", { style: defaultTransitionStyle });\r\n defaultTransitionStyle.revealPage(this.finalOptions);\r\n }, this.finalOptions.pageRevealDelay\r\n );\r\n }, this.finalOptions.pageAnimationDelay\r\n );\r\n } else {\r\n this.CallHook(\"animateEPNA\", { style: defaultTransitionStyle })\r\n defaultTransitionStyle.revealPage(this.finalOptions);\r\n }\r\n }, { once: true });\r\n }\r\n\r\n public CallEndPoint(){\r\n const dispatchEvent = new Event(this.finalOptions.loadEvent);\r\n document.getElementById(this.finalOptions.mainContentIdName)!.dispatchEvent(dispatchEvent);\r\n }\r\n\r\n public AnimatePageTransition(aStyle: TransitionStyle, direction: DirectionType = \"normal\") {\r\n const mainElement = document.getElementById(this.finalOptions.mainContentIdName)!;\r\n\r\n if (direction == \"normal\") {\r\n this.CallHook(\"animateSF\", { style: aStyle, ele: mainElement, });\r\n } else if (direction == \"reverse\") {\r\n this.CallHook(\"animateSR\", { style: aStyle, ele: mainElement, });\r\n }\r\n\r\n aStyle.handle(direction, mainElement);\r\n\r\n setTimeout(\r\n () => {\r\n if (direction == \"normal\") {\r\n this.CallHook(\"animateEF\", { style: aStyle, ele: mainElement, });\r\n } else if (direction == \"reverse\") {\r\n this.CallHook(\"animateER\", { style: aStyle, ele: mainElement, });\r\n }\r\n }, aStyle.duration\r\n );\r\n\r\n }\r\n}","import type { DirectionType } from \"../types/DirectionType\";\r\nimport type { TimingType } from \"../types/TimingType\";\r\nimport type { TransitionStyle } from \"../types/TransitionStyleInterface\";\r\nimport { KeyFrameBase } from \"./KeyFrameBase\";\r\n\r\nexport class StyleTransition extends KeyFrameBase {\r\n styleString: keyof CSSStyleDeclaration;\r\n startValue: string;\r\n endValue: string;\r\n constructor(styleString: keyof CSSStyleDeclaration, duration: number, startValue: string, endValue: string, timing: TimingType = \"linear\") {\r\n super(duration, timing);\r\n this.styleString = styleString;\r\n this.startValue = startValue\r\n this.endValue = endValue;\r\n }\r\n\r\n handle(direction: DirectionType, mainElement: HTMLElement): void {\r\n if (direction == \"normal\") {\r\n (mainElement.style as any)[this.styleString] = this.startValue;\r\n mainElement.style.transition = this.styleString.toString() + \" \" + this.duration.toString() + \"ms \" + this.timing;\r\n (mainElement.style as any)[this.styleString] = this.endValue;\r\n } else if (direction == \"reverse\") {\r\n (mainElement.style as any)[this.styleString] = this.endValue;\r\n mainElement.style.transition = this.styleString.toString() + \" \" + this.duration.toString() + \"ms \" + this.timing;\r\n setTimeout(\r\n () => {\r\n (mainElement.style as any)[this.styleString] = this.startValue;\r\n }, 40\r\n );\r\n\r\n }\r\n }\r\n}"],"mappings":"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","names":["handleAnimation"]}
package/package.json CHANGED
@@ -1,10 +1,29 @@
1
1
  {
2
2
  "name": "pagewave",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "NPM Package for implementing page transitions in both SSR and CSR apps. Utilize both custom and preset animations. Choose between transitions, keyframe animations, and overlays.",
5
- "main": "transition.js",
5
+ "main": "./dist/index.js",
6
+ "exports": {
7
+ ".": {
8
+ "import": "./dist/index.mjs",
9
+ "require": "./dist/index.js"
10
+ },
11
+ "./OverlayPreset.css": {
12
+ "import": "./dist/OverlayPreset.css",
13
+ "require": "./dist/OverlayPreset.css"
14
+ },
15
+ "./KeyFramePreset.css": {
16
+ "import": "./dist/KeyFramePreset.css",
17
+ "require": "./dist/KeyFramePreset.css"
18
+ }
19
+ },
20
+ "module": "./dist/index.mjs",
21
+ "types": "./dist/index.d.ts",
22
+ "files": [
23
+ "dist"
24
+ ],
6
25
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
26
+ "build": "tsup & copyfiles --up 1 \"src/*.css\" dist"
8
27
  },
9
28
  "keywords": [
10
29
  "page",
@@ -18,5 +37,11 @@
18
37
  "repository": {
19
38
  "type": "git",
20
39
  "url": "https://github.com/danielpagano202/pagewave.git"
40
+ },
41
+ "devDependencies": {
42
+ "copyfiles": "^2.4.1",
43
+ "ts-node": "^10.9.2",
44
+ "tsup": "^8.5.1",
45
+ "typescript": "^5.9.3"
21
46
  }
22
47
  }
@@ -1,20 +0,0 @@
1
- @keyframes fade {
2
- from{
3
- opacity: 1;
4
- }
5
- to{
6
- opacity: 0;
7
- }
8
- }
9
- @keyframes fadeaway {
10
- from{
11
- position: absolute;
12
- opacity: 1;
13
- left: 0
14
- }
15
- to{
16
- position: absolute;
17
- opacity: 0;
18
- left: -200px
19
- }
20
- }
package/sw.js DELETED
@@ -1,37 +0,0 @@
1
- const CACHE_NAME = "Page Transition SW";
2
- let pageCache = [
3
- "./transition.js",
4
- "./OverlayPreset.css",
5
- "./KeyFramePreset.css",
6
- ];
7
- self.addEventListener("fetch", (e) => {
8
- e.respondWith(
9
- caches.match(e.request).then(
10
- (response) => {
11
- if(response){
12
- return response;
13
- }
14
- return fetch(e.request);
15
- }
16
- )
17
- )
18
- });
19
- self.addEventListener("install", (e) => {
20
- e.waitUntil(
21
- caches.open(CACHE_NAME).then(
22
- (cache) => {return cache.addAll(pageCache);}
23
- )
24
- );
25
- });
26
- self.addEventListener("message", (event) => {
27
- fetch(event.data).then((response) => {
28
- if (!response.ok) {
29
- throw new TypeError("Bad response status");
30
- }
31
- caches.open(CACHE_NAME).then(
32
- (cache) => {return cache.put(event.data, response);}
33
- )
34
- });
35
-
36
-
37
- });