diff --git a/src/AddIns/Uno.UI.Lottie/WasmScripts/uno-lottie.d.ts b/src/AddIns/Uno.UI.Lottie/WasmScripts/uno-lottie.d.ts index 1080320afb6c8e84a4912588a04eaa85451248bb..e532ab61ab1c08d33990a61ea8289e76cbed0e45 100644 --- a/src/AddIns/Uno.UI.Lottie/WasmScripts/uno-lottie.d.ts +++ b/src/AddIns/Uno.UI.Lottie/WasmScripts/uno-lottie.d.ts @@ -1,4 +1,4 @@ -declare const require: any; +declare const require: unknown | undefined; declare const config: any; declare namespace Uno.UI { import AnimationData = Lottie.AnimationData; diff --git a/src/AddIns/Uno.UI.Lottie/WasmScripts/uno-lottie.js b/src/AddIns/Uno.UI.Lottie/WasmScripts/uno-lottie.js index 8c0af1988eebd7c437a73824b09241c34bfb5473..8585cd2fa07e8383b1e0c026cfd8b819c2bb92e6 100644 --- a/src/AddIns/Uno.UI.Lottie/WasmScripts/uno-lottie.js +++ b/src/AddIns/Uno.UI.Lottie/WasmScripts/uno-lottie.js @@ -63,7 +63,7 @@ var Uno; static setProgress(elementId, progress) { Lottie.withPlayer(p => { const animation = Lottie._runningAnimations[elementId].animation; - var frame = Lottie._numberOfFrames * progress; + let frame = Lottie._numberOfFrames * progress; if (frame < animation.firstFrame) { frame = frame - animation.firstFrame; } @@ -194,7 +194,17 @@ var Uno; action(Lottie._player); } else { - require([`${config.uno_app_base}/lottie`], (p) => { + if (typeof require !== "function") { + console.error("RequireJS not present."); + return; + } + const dependencyToLoad = "/lottie"; + const lottieDependencyName = config.uno_dependencies.find((d) => d.endsWith(dependencyToLoad)); + require([lottieDependencyName], (p) => { + if (!p) { + console.error("Unable to load lottie player."); + return; + } if (!Lottie._player) { Lottie._player = p; } diff --git a/src/AddIns/Uno.UI.Lottie/ts/Uno.UI.Lottie.ts b/src/AddIns/Uno.UI.Lottie/ts/Uno.UI.Lottie.ts index b829b39f988551e8eef6bcdc21b5ec39ab084e33..9628f17a7c94aa9b050496c35aa7833b6335a94d 100644 --- a/src/AddIns/Uno.UI.Lottie/ts/Uno.UI.Lottie.ts +++ b/src/AddIns/Uno.UI.Lottie/ts/Uno.UI.Lottie.ts @@ -1,4 +1,4 @@ -declare const require: any; +declare const require: unknown | undefined; declare const config: any; namespace Uno.UI { @@ -102,7 +102,7 @@ namespace Uno.UI { public static setProgress(elementId: number, progress: number): string { Lottie.withPlayer(p => { const animation = Lottie._runningAnimations[elementId].animation; - var frame = Lottie._numberOfFrames * progress; + let frame = Lottie._numberOfFrames * progress; if (frame < (animation as any).firstFrame) { frame = frame - (animation as any).firstFrame } else { @@ -266,7 +266,18 @@ namespace Uno.UI { if (Lottie._player) { action(Lottie._player); } else { - require([`${config.uno_app_base}/lottie`], (p: LottiePlayer) => { + if (typeof require !== "function") { + console.error("RequireJS not present."); + return; + } + + const dependencyToLoad = "/lottie"; + const lottieDependencyName = config.uno_dependencies.find((d: string) => d.endsWith(dependencyToLoad)); + require([lottieDependencyName], (p: LottiePlayer) => { + if(!p) { + console.error("Unable to load lottie player."); + return; + } if (!Lottie._player) { Lottie._player = p; }