@theashraf/lottie-web 5.14.0-alpha.1 → 5.14.0-alpha.2

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.
Files changed (300) hide show
  1. package/build/player/cjs/lottie.min.js +60 -1
  2. package/build/player/cjs/lottie_canvas.min.js +60 -1
  3. package/build/player/cjs/lottie_html.min.js +60 -1
  4. package/build/player/cjs/lottie_light.min.js +40 -0
  5. package/build/player/cjs/lottie_light_canvas.min.js +40 -0
  6. package/build/player/cjs/lottie_light_html.min.js +40 -0
  7. package/build/player/cjs/lottie_svg.min.js +60 -1
  8. package/build/player/esm/lottie.min.js +60 -1
  9. package/build/player/esm/lottie_canvas.min.js +60 -1
  10. package/build/player/esm/lottie_html.min.js +60 -1
  11. package/build/player/esm/lottie_light.min.js +40 -0
  12. package/build/player/esm/lottie_light_canvas.min.js +40 -0
  13. package/build/player/esm/lottie_light_html.min.js +40 -0
  14. package/build/player/esm/lottie_svg.min.js +60 -1
  15. package/build/player/lottie.js +55 -1
  16. package/build/player/lottie.min.js +1 -1
  17. package/build/player/lottie_canvas.js +55 -1
  18. package/build/player/lottie_canvas.min.js +1 -1
  19. package/build/player/lottie_html.js +55 -1
  20. package/build/player/lottie_html.min.js +1 -1
  21. package/build/player/lottie_light.js +36 -0
  22. package/build/player/lottie_light.min.js +1 -1
  23. package/build/player/lottie_light_canvas.js +36 -0
  24. package/build/player/lottie_light_canvas.min.js +1 -1
  25. package/build/player/lottie_light_html.js +36 -0
  26. package/build/player/lottie_light_html.min.js +1 -1
  27. package/build/player/lottie_svg.js +55 -1
  28. package/build/player/lottie_svg.min.js +1 -1
  29. package/package.json +5 -1
  30. package/.babelrc.json +0 -3
  31. package/.claude/settings.local.json +0 -9
  32. package/.eslintrc.json +0 -46
  33. package/.github/FUNDING.yml +0 -1
  34. package/.github/ISSUE_TEMPLATE.md +0 -22
  35. package/.github/workflows/testAnimations.yml +0 -24
  36. package/CHANGELOG.md +0 -601
  37. package/History.md +0 -1230
  38. package/bower.json +0 -31
  39. package/build/old_parser/bodymovin_parser.jsx +0 -3023
  40. package/build/old_parser/helperProject.aep +0 -0
  41. package/docs/json/animation.json +0 -101
  42. package/docs/json/effects/angle.json +0 -40
  43. package/docs/json/effects/checkBox.json +0 -40
  44. package/docs/json/effects/color.json +0 -40
  45. package/docs/json/effects/customValue.json +0 -4
  46. package/docs/json/effects/dropDown.json +0 -40
  47. package/docs/json/effects/fill.json +0 -55
  48. package/docs/json/effects/group.json +0 -41
  49. package/docs/json/effects/index.json +0 -51
  50. package/docs/json/effects/layer.json +0 -33
  51. package/docs/json/effects/noValue.json +0 -1
  52. package/docs/json/effects/point.json +0 -43
  53. package/docs/json/effects/proLevels.json +0 -130
  54. package/docs/json/effects/slider.json +0 -40
  55. package/docs/json/effects/stroke.json +0 -64
  56. package/docs/json/effects/tint.json +0 -43
  57. package/docs/json/effects/tritone.json +0 -46
  58. package/docs/json/helpers/blendMode.json +0 -71
  59. package/docs/json/helpers/boolean.json +0 -14
  60. package/docs/json/helpers/composite.json +0 -15
  61. package/docs/json/helpers/lineCap.json +0 -19
  62. package/docs/json/helpers/lineJoin.json +0 -19
  63. package/docs/json/helpers/mask.json +0 -80
  64. package/docs/json/helpers/textBased.json +0 -23
  65. package/docs/json/helpers/textGrouping.json +0 -23
  66. package/docs/json/helpers/textShape.json +0 -31
  67. package/docs/json/helpers/transform.json +0 -146
  68. package/docs/json/layers/image.json +0 -113
  69. package/docs/json/layers/null.json +0 -87
  70. package/docs/json/layers/preComp.json +0 -118
  71. package/docs/json/layers/shape.json +0 -157
  72. package/docs/json/layers/solid.json +0 -120
  73. package/docs/json/layers/text.json +0 -523
  74. package/docs/json/properties/doubleKeyframe.json +0 -50
  75. package/docs/json/properties/multiDimensional.json +0 -21
  76. package/docs/json/properties/multiDimensionalKeyframed.json +0 -35
  77. package/docs/json/properties/offsetKeyframe.json +0 -53
  78. package/docs/json/properties/shape.json +0 -27
  79. package/docs/json/properties/shapeKeyframed.json +0 -35
  80. package/docs/json/properties/shapeProp.json +0 -50
  81. package/docs/json/properties/shapePropKeyframe.json +0 -54
  82. package/docs/json/properties/value.json +0 -21
  83. package/docs/json/properties/valueKeyframe.json +0 -33
  84. package/docs/json/properties/valueKeyframed.json +0 -25
  85. package/docs/json/shapes/ellipse.json +0 -54
  86. package/docs/json/shapes/fill.json +0 -48
  87. package/docs/json/shapes/gFill.json +0 -107
  88. package/docs/json/shapes/gStroke.json +0 -137
  89. package/docs/json/shapes/group.json +0 -89
  90. package/docs/json/shapes/merge.json +0 -27
  91. package/docs/json/shapes/rect.json +0 -66
  92. package/docs/json/shapes/repeater.json +0 -63
  93. package/docs/json/shapes/round.json +0 -35
  94. package/docs/json/shapes/shape.json +0 -40
  95. package/docs/json/shapes/star.json +0 -133
  96. package/docs/json/shapes/stroke.json +0 -78
  97. package/docs/json/shapes/transform.json +0 -102
  98. package/docs/json/shapes/trim.json +0 -61
  99. package/docs/json/sources/chars.json +0 -61
  100. package/docs/json/sources/image.json +0 -31
  101. package/docs/json/sources/precomp.json +0 -39
  102. package/player/index.html +0 -115
  103. package/player/js/3rd_party/BezierEaser.js +0 -158
  104. package/player/js/3rd_party/howler.js +0 -5
  105. package/player/js/3rd_party/seedrandom.js +0 -237
  106. package/player/js/3rd_party/transformation-matrix.js +0 -449
  107. package/player/js/EffectsManager.js +0 -83
  108. package/player/js/animation/AnimationItem.js +0 -821
  109. package/player/js/animation/AnimationItemWorkerOverride.js +0 -157
  110. package/player/js/animation/AnimationManager.js +0 -256
  111. package/player/js/animation/AnimationManagerWorkerOverride.js +0 -201
  112. package/player/js/effects/EffectsManagerPlaceholder.js +0 -5
  113. package/player/js/effects/SliderEffect.js +0 -37
  114. package/player/js/effects/TransformEffect.js +0 -44
  115. package/player/js/elements/AudioElement.js +0 -102
  116. package/player/js/elements/BaseElement.js +0 -78
  117. package/player/js/elements/BaseTextElement.js +0 -4
  118. package/player/js/elements/CompElement.js +0 -107
  119. package/player/js/elements/FootageElement.js +0 -47
  120. package/player/js/elements/ImageElement.js +0 -57
  121. package/player/js/elements/NullElement.js +0 -39
  122. package/player/js/elements/ShapeElement.js +0 -76
  123. package/player/js/elements/SolidElement.js +0 -23
  124. package/player/js/elements/TextElement.js +0 -94
  125. package/player/js/elements/canvasElements/CVBaseElement.js +0 -170
  126. package/player/js/elements/canvasElements/CVCompBaseElement.js +0 -11
  127. package/player/js/elements/canvasElements/CVCompElement.js +0 -57
  128. package/player/js/elements/canvasElements/CVContextData.js +0 -239
  129. package/player/js/elements/canvasElements/CVEffects.js +0 -50
  130. package/player/js/elements/canvasElements/CVImageElement.js +0 -76
  131. package/player/js/elements/canvasElements/CVMaskElement.js +0 -72
  132. package/player/js/elements/canvasElements/CVShapeElement.js +0 -521
  133. package/player/js/elements/canvasElements/CVSolidElement.js +0 -30
  134. package/player/js/elements/canvasElements/CVTextElement.js +0 -244
  135. package/player/js/elements/canvasElements/effects/CVTransformEffect.js +0 -9
  136. package/player/js/elements/helpers/FrameElement.js +0 -54
  137. package/player/js/elements/helpers/HierarchyElement.js +0 -52
  138. package/player/js/elements/helpers/RenderableDOMElement.js +0 -72
  139. package/player/js/elements/helpers/RenderableElement.js +0 -87
  140. package/player/js/elements/helpers/TransformElement.js +0 -140
  141. package/player/js/elements/helpers/shapes/CVShapeData.js +0 -33
  142. package/player/js/elements/helpers/shapes/ProcessedElement.js +0 -6
  143. package/player/js/elements/helpers/shapes/SVGElementsRenderer.js +0 -239
  144. package/player/js/elements/helpers/shapes/SVGFillStyleData.js +0 -18
  145. package/player/js/elements/helpers/shapes/SVGGradientFillStyleData.js +0 -100
  146. package/player/js/elements/helpers/shapes/SVGGradientStrokeStyleData.js +0 -20
  147. package/player/js/elements/helpers/shapes/SVGNoStyleData.js +0 -15
  148. package/player/js/elements/helpers/shapes/SVGShapeData.js +0 -28
  149. package/player/js/elements/helpers/shapes/SVGStrokeStyleData.js +0 -21
  150. package/player/js/elements/helpers/shapes/SVGStyleData.js +0 -19
  151. package/player/js/elements/helpers/shapes/SVGTransformData.js +0 -11
  152. package/player/js/elements/helpers/shapes/ShapeElement.js +0 -5
  153. package/player/js/elements/helpers/shapes/ShapeGroupData.js +0 -9
  154. package/player/js/elements/helpers/shapes/ShapeTransformManager.js +0 -61
  155. package/player/js/elements/htmlElements/HBaseElement.js +0 -88
  156. package/player/js/elements/htmlElements/HCameraElement.js +0 -170
  157. package/player/js/elements/htmlElements/HCompElement.js +0 -61
  158. package/player/js/elements/htmlElements/HEffects.js +0 -3
  159. package/player/js/elements/htmlElements/HImageElement.js +0 -64
  160. package/player/js/elements/htmlElements/HShapeElement.js +0 -261
  161. package/player/js/elements/htmlElements/HSolidElement.js +0 -36
  162. package/player/js/elements/htmlElements/HTextElement.js +0 -290
  163. package/player/js/elements/svgElements/SVGBaseElement.js +0 -181
  164. package/player/js/elements/svgElements/SVGCompElement.js +0 -28
  165. package/player/js/elements/svgElements/SVGEffects.js +0 -70
  166. package/player/js/elements/svgElements/SVGEffectsPlaceholder.js +0 -3
  167. package/player/js/elements/svgElements/SVGShapeElement.js +0 -366
  168. package/player/js/elements/svgElements/SVGTextElement.js +0 -322
  169. package/player/js/elements/svgElements/effects/SVGComposableEffect.js +0 -22
  170. package/player/js/elements/svgElements/effects/SVGDropShadowEffect.js +0 -83
  171. package/player/js/elements/svgElements/effects/SVGFillFilter.js +0 -22
  172. package/player/js/elements/svgElements/effects/SVGGaussianBlurEffect.js +0 -44
  173. package/player/js/elements/svgElements/effects/SVGMatte3Effect.js +0 -101
  174. package/player/js/elements/svgElements/effects/SVGProLevelsFilter.js +0 -108
  175. package/player/js/elements/svgElements/effects/SVGStrokeEffect.js +0 -119
  176. package/player/js/elements/svgElements/effects/SVGTintEffect.js +0 -47
  177. package/player/js/elements/svgElements/effects/SVGTransformEffect.js +0 -10
  178. package/player/js/elements/svgElements/effects/SVGTritoneFilter.js +0 -43
  179. package/player/js/main.js +0 -21
  180. package/player/js/mask.js +0 -239
  181. package/player/js/module.js +0 -154
  182. package/player/js/modules/canvas.js +0 -20
  183. package/player/js/modules/canvas_light.js +0 -25
  184. package/player/js/modules/full.js +0 -68
  185. package/player/js/modules/full_worker.js +0 -0
  186. package/player/js/modules/html.js +0 -37
  187. package/player/js/modules/html_light.js +0 -25
  188. package/player/js/modules/main.js +0 -163
  189. package/player/js/modules/svg.js +0 -37
  190. package/player/js/modules/svg_light.js +0 -25
  191. package/player/js/renderers/BaseRenderer.js +0 -187
  192. package/player/js/renderers/CanvasRenderer.js +0 -60
  193. package/player/js/renderers/CanvasRendererBase.js +0 -317
  194. package/player/js/renderers/CanvasRendererWorkerOverride.js +0 -54
  195. package/player/js/renderers/HybridRenderer.js +0 -47
  196. package/player/js/renderers/HybridRendererBase.js +0 -344
  197. package/player/js/renderers/SVGRenderer.js +0 -82
  198. package/player/js/renderers/SVGRendererBase.js +0 -255
  199. package/player/js/renderers/renderersManager.js +0 -29
  200. package/player/js/utils/BaseEvent.js +0 -42
  201. package/player/js/utils/DataManager.js +0 -676
  202. package/player/js/utils/DataManagerWorkerOverrides.js +0 -13
  203. package/player/js/utils/FontManager.js +0 -443
  204. package/player/js/utils/FontManagerWorkerOverride.js +0 -16
  205. package/player/js/utils/PolynomialBezier.js +0 -253
  206. package/player/js/utils/PropertyFactory.js +0 -533
  207. package/player/js/utils/SlotManager.js +0 -49
  208. package/player/js/utils/TransformProperty.js +0 -251
  209. package/player/js/utils/animationFramePolyFill.js +0 -25
  210. package/player/js/utils/asset_loader.js +0 -53
  211. package/player/js/utils/asset_loader_worker_override.js +0 -3
  212. package/player/js/utils/audio/AudioController.js +0 -85
  213. package/player/js/utils/audio/AudioElement.js +0 -6
  214. package/player/js/utils/bez.js +0 -251
  215. package/player/js/utils/common.js +0 -280
  216. package/player/js/utils/expressions/CompInterface.js +0 -28
  217. package/player/js/utils/expressions/EffectInterface.js +0 -111
  218. package/player/js/utils/expressions/ExpressionManager.js +0 -752
  219. package/player/js/utils/expressions/ExpressionPropertyDecorator.js +0 -463
  220. package/player/js/utils/expressions/ExpressionTextPropertyDecorator.js +0 -40
  221. package/player/js/utils/expressions/ExpressionValue.js +0 -61
  222. package/player/js/utils/expressions/ExpressionValueFactory.js +0 -102
  223. package/player/js/utils/expressions/Expressions.js +0 -48
  224. package/player/js/utils/expressions/FootageInterface.js +0 -60
  225. package/player/js/utils/expressions/InterfacesProvider.js +0 -21
  226. package/player/js/utils/expressions/LayerInterface.js +0 -179
  227. package/player/js/utils/expressions/MaskInterface.js +0 -50
  228. package/player/js/utils/expressions/ProjectInterface.js +0 -31
  229. package/player/js/utils/expressions/PropertyGroupFactory.js +0 -13
  230. package/player/js/utils/expressions/PropertyInterface.js +0 -19
  231. package/player/js/utils/expressions/ShapeInterface.js +0 -543
  232. package/player/js/utils/expressions/TextInterface.js +0 -35
  233. package/player/js/utils/expressions/TextSelectorPropertyDecorator.js +0 -44
  234. package/player/js/utils/expressions/TransformInterface.js +0 -126
  235. package/player/js/utils/expressions/expressionHelpers.js +0 -86
  236. package/player/js/utils/expressions/shapes/ShapePathInterface.js +0 -47
  237. package/player/js/utils/featureSupport.js +0 -16
  238. package/player/js/utils/filters.js +0 -32
  239. package/player/js/utils/functionExtensions.js +0 -27
  240. package/player/js/utils/getFontProperties.js +0 -42
  241. package/player/js/utils/helpers/arrays.js +0 -43
  242. package/player/js/utils/helpers/assetManager.js +0 -96
  243. package/player/js/utils/helpers/blendModes.js +0 -26
  244. package/player/js/utils/helpers/dynamicProperties.js +0 -29
  245. package/player/js/utils/helpers/effectTypes.js +0 -3
  246. package/player/js/utils/helpers/html_elements.js +0 -6
  247. package/player/js/utils/helpers/propTypes.js +0 -3
  248. package/player/js/utils/helpers/shapeEnums.js +0 -16
  249. package/player/js/utils/helpers/svg_elements.js +0 -8
  250. package/player/js/utils/imagePreloader.js +0 -213
  251. package/player/js/utils/imagePreloaderWorkerOverride.js +0 -3
  252. package/player/js/utils/markers/markerParser.js +0 -47
  253. package/player/js/utils/pooling/bezier_length_pool.js +0 -20
  254. package/player/js/utils/pooling/point_pool.js +0 -13
  255. package/player/js/utils/pooling/pool_factory.js +0 -44
  256. package/player/js/utils/pooling/pooling.js +0 -15
  257. package/player/js/utils/pooling/segments_length_pool.js +0 -24
  258. package/player/js/utils/pooling/shapeCollection_pool.js +0 -48
  259. package/player/js/utils/pooling/shape_pool.js +0 -44
  260. package/player/js/utils/shapes/DashProperty.js +0 -63
  261. package/player/js/utils/shapes/GradientProperty.js +0 -93
  262. package/player/js/utils/shapes/MouseModifier.js +0 -222
  263. package/player/js/utils/shapes/OffsetPathModifier.js +0 -306
  264. package/player/js/utils/shapes/PuckerAndBloatModifier.js +0 -80
  265. package/player/js/utils/shapes/RepeaterModifier.js +0 -232
  266. package/player/js/utils/shapes/RoundCornersModifier.js +0 -122
  267. package/player/js/utils/shapes/ShapeCollection.js +0 -29
  268. package/player/js/utils/shapes/ShapeModifiers.js +0 -71
  269. package/player/js/utils/shapes/ShapePath.js +0 -100
  270. package/player/js/utils/shapes/ShapeProperty.js +0 -546
  271. package/player/js/utils/shapes/TrimModifier.js +0 -359
  272. package/player/js/utils/shapes/ZigZagModifier.js +0 -174
  273. package/player/js/utils/shapes/shapePathBuilder.js +0 -20
  274. package/player/js/utils/text/LetterProps.js +0 -60
  275. package/player/js/utils/text/TextAnimatorDataProperty.js +0 -34
  276. package/player/js/utils/text/TextAnimatorProperty.js +0 -610
  277. package/player/js/utils/text/TextProperty.js +0 -479
  278. package/player/js/utils/text/TextSelectorProperty.js +0 -179
  279. package/player/js/worker_wrapper.js +0 -1029
  280. package/rollup.config.js +0 -215
  281. package/tasks/build.js +0 -773
  282. package/tasks/build_worker.js +0 -164
  283. package/tasks/watch.js +0 -34
  284. package/test/animations/adrock.json +0 -1
  285. package/test/animations/bacon.json +0 -1
  286. package/test/animations/banner.json +0 -1
  287. package/test/animations/bm_ronda.json +0 -1
  288. package/test/animations/bodymovin.json +0 -1
  289. package/test/animations/dalek.json +0 -1
  290. package/test/animations/footage/data.json +0 -1
  291. package/test/animations/footage/images/footage_0.json +0 -1
  292. package/test/animations/footage/images/img_0.jpg +0 -0
  293. package/test/animations/footage/images/img_1.jpg +0 -0
  294. package/test/animations/lights.json +0 -1
  295. package/test/animations/monster.json +0 -1
  296. package/test/animations/navidad.json +0 -1
  297. package/test/animations/ripple.json +0 -1
  298. package/test/animations/starfish.json +0 -1
  299. package/test/index.html +0 -100
  300. package/test/index.js +0 -350
@@ -2162,6 +2162,19 @@ AnimationItem.prototype.setSlotValue = function (sid, slotObject, name) {
2162
2162
  }
2163
2163
  };
2164
2164
 
2165
+ AnimationItem.prototype.getExpressionGlobal = function () {
2166
+ if (this.expressionsPlugin) {
2167
+ return this.expressionsPlugin.getGlobal();
2168
+ }
2169
+ return null;
2170
+ };
2171
+
2172
+ AnimationItem.prototype.resetExpressionGlobal = function () {
2173
+ if (this.expressionsPlugin) {
2174
+ this.expressionsPlugin.resetGlobal();
2175
+ }
2176
+ };
2177
+
2165
2178
  AnimationItem.prototype.trigger = function (name) {
2166
2179
  if (this._cbs && this._cbs[name]) {
2167
2180
  switch (name) {
@@ -2454,6 +2467,29 @@ const animationManager = (function () {
2454
2467
  }
2455
2468
  }
2456
2469
 
2470
+ function getExpressionGlobal() {
2471
+ var i;
2472
+ for (i = 0; i < len; i += 1) {
2473
+ if (registeredAnimations[i].animation) {
2474
+ var globals = registeredAnimations[i].animation.getExpressionGlobal();
2475
+ if (globals !== null) {
2476
+ return globals;
2477
+ }
2478
+ }
2479
+ }
2480
+ return null;
2481
+ }
2482
+
2483
+ function resetExpressionGlobal() {
2484
+ var i;
2485
+ for (i = 0; i < len; i += 1) {
2486
+ if (registeredAnimations[i].animation) {
2487
+ registeredAnimations[i].animation.resetExpressionGlobal();
2488
+ return;
2489
+ }
2490
+ }
2491
+ }
2492
+
2457
2493
  moduleOb.registerAnimation = registerAnimation;
2458
2494
  moduleOb.loadAnimation = loadAnimation;
2459
2495
  moduleOb.setSpeed = setSpeed;
@@ -2473,6 +2509,8 @@ const animationManager = (function () {
2473
2509
  moduleOb.mute = mute;
2474
2510
  moduleOb.unmute = unmute;
2475
2511
  moduleOb.setSlotValue = setSlotValue;
2512
+ moduleOb.getExpressionGlobal = getExpressionGlobal;
2513
+ moduleOb.resetExpressionGlobal = resetExpressionGlobal;
2476
2514
  moduleOb.getRegisteredAnimations = getRegisteredAnimations;
2477
2515
  return moduleOb;
2478
2516
  }());
@@ -4780,6 +4818,8 @@ lottie.mute = animationManager.mute;
4780
4818
  lottie.unmute = animationManager.unmute;
4781
4819
  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;
4782
4820
  lottie.setSlotValue = animationManager.setSlotValue;
4821
+ lottie.getExpressionGlobal = animationManager.getExpressionGlobal;
4822
+ lottie.resetExpressionGlobal = animationManager.resetExpressionGlobal;
4783
4823
  lottie.useWebWorker = setWebWorker;
4784
4824
  lottie.setIDPrefix = setPrefix;
4785
4825
  lottie.__getFactory = getFactory;
@@ -15088,10 +15128,16 @@ const ExpressionManager = (function () {
15088
15128
  var fetch = null;
15089
15129
  var frames = null;
15090
15130
  var _lottieGlobal = {};
15131
+ var _expressionGlobal = {};
15132
+ var $ = { // eslint-disable-line no-shadow-restricted-names
15133
+ global: _expressionGlobal,
15134
+ engineName: 'JavaScript',
15135
+ };
15091
15136
  initialize$2(BMMath);
15092
15137
 
15093
15138
  function resetFrame() {
15094
15139
  _lottieGlobal = {};
15140
+ // Note: $.global is intentionally NOT reset — it persists across frames
15095
15141
  }
15096
15142
 
15097
15143
  function $bm_isInstanceOfArray(arr) {
@@ -15808,8 +15854,19 @@ const ExpressionManager = (function () {
15808
15854
  return executeExpression;
15809
15855
  }
15810
15856
 
15857
+ function getGlobal() {
15858
+ return $.global;
15859
+ }
15860
+
15861
+ function resetGlobal() {
15862
+ _expressionGlobal = {};
15863
+ $.global = _expressionGlobal;
15864
+ }
15865
+
15811
15866
  ob.initiateExpression = initiateExpression;
15812
- ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];
15867
+ ob.getGlobal = getGlobal;
15868
+ ob.resetGlobal = resetGlobal;
15869
+ ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal, $];
15813
15870
  ob.resetFrame = resetFrame;
15814
15871
  return ob;
15815
15872
  }());
@@ -15818,6 +15875,8 @@ const Expressions = (function () {
15818
15875
  var ob = {};
15819
15876
  ob.initExpressions = initExpressions;
15820
15877
  ob.resetFrame = ExpressionManager.resetFrame;
15878
+ ob.getGlobal = ExpressionManager.getGlobal;
15879
+ ob.resetGlobal = ExpressionManager.resetGlobal;
15821
15880
 
15822
15881
  function initExpressions(animation) {
15823
15882
  var stackCount = 0;
@@ -2162,6 +2162,19 @@ AnimationItem.prototype.setSlotValue = function (sid, slotObject, name) {
2162
2162
  }
2163
2163
  };
2164
2164
 
2165
+ AnimationItem.prototype.getExpressionGlobal = function () {
2166
+ if (this.expressionsPlugin) {
2167
+ return this.expressionsPlugin.getGlobal();
2168
+ }
2169
+ return null;
2170
+ };
2171
+
2172
+ AnimationItem.prototype.resetExpressionGlobal = function () {
2173
+ if (this.expressionsPlugin) {
2174
+ this.expressionsPlugin.resetGlobal();
2175
+ }
2176
+ };
2177
+
2165
2178
  AnimationItem.prototype.trigger = function (name) {
2166
2179
  if (this._cbs && this._cbs[name]) {
2167
2180
  switch (name) {
@@ -2454,6 +2467,29 @@ const animationManager = (function () {
2454
2467
  }
2455
2468
  }
2456
2469
 
2470
+ function getExpressionGlobal() {
2471
+ var i;
2472
+ for (i = 0; i < len; i += 1) {
2473
+ if (registeredAnimations[i].animation) {
2474
+ var globals = registeredAnimations[i].animation.getExpressionGlobal();
2475
+ if (globals !== null) {
2476
+ return globals;
2477
+ }
2478
+ }
2479
+ }
2480
+ return null;
2481
+ }
2482
+
2483
+ function resetExpressionGlobal() {
2484
+ var i;
2485
+ for (i = 0; i < len; i += 1) {
2486
+ if (registeredAnimations[i].animation) {
2487
+ registeredAnimations[i].animation.resetExpressionGlobal();
2488
+ return;
2489
+ }
2490
+ }
2491
+ }
2492
+
2457
2493
  moduleOb.registerAnimation = registerAnimation;
2458
2494
  moduleOb.loadAnimation = loadAnimation;
2459
2495
  moduleOb.setSpeed = setSpeed;
@@ -2473,6 +2509,8 @@ const animationManager = (function () {
2473
2509
  moduleOb.mute = mute;
2474
2510
  moduleOb.unmute = unmute;
2475
2511
  moduleOb.setSlotValue = setSlotValue;
2512
+ moduleOb.getExpressionGlobal = getExpressionGlobal;
2513
+ moduleOb.resetExpressionGlobal = resetExpressionGlobal;
2476
2514
  moduleOb.getRegisteredAnimations = getRegisteredAnimations;
2477
2515
  return moduleOb;
2478
2516
  }());
@@ -4780,6 +4818,8 @@ lottie.mute = animationManager.mute;
4780
4818
  lottie.unmute = animationManager.unmute;
4781
4819
  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;
4782
4820
  lottie.setSlotValue = animationManager.setSlotValue;
4821
+ lottie.getExpressionGlobal = animationManager.getExpressionGlobal;
4822
+ lottie.resetExpressionGlobal = animationManager.resetExpressionGlobal;
4783
4823
  lottie.useWebWorker = setWebWorker;
4784
4824
  lottie.setIDPrefix = setPrefix;
4785
4825
  lottie.__getFactory = getFactory;
@@ -13874,10 +13914,16 @@ const ExpressionManager = (function () {
13874
13914
  var fetch = null;
13875
13915
  var frames = null;
13876
13916
  var _lottieGlobal = {};
13917
+ var _expressionGlobal = {};
13918
+ var $ = { // eslint-disable-line no-shadow-restricted-names
13919
+ global: _expressionGlobal,
13920
+ engineName: 'JavaScript',
13921
+ };
13877
13922
  initialize$2(BMMath);
13878
13923
 
13879
13924
  function resetFrame() {
13880
13925
  _lottieGlobal = {};
13926
+ // Note: $.global is intentionally NOT reset — it persists across frames
13881
13927
  }
13882
13928
 
13883
13929
  function $bm_isInstanceOfArray(arr) {
@@ -14594,8 +14640,19 @@ const ExpressionManager = (function () {
14594
14640
  return executeExpression;
14595
14641
  }
14596
14642
 
14643
+ function getGlobal() {
14644
+ return $.global;
14645
+ }
14646
+
14647
+ function resetGlobal() {
14648
+ _expressionGlobal = {};
14649
+ $.global = _expressionGlobal;
14650
+ }
14651
+
14597
14652
  ob.initiateExpression = initiateExpression;
14598
- ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];
14653
+ ob.getGlobal = getGlobal;
14654
+ ob.resetGlobal = resetGlobal;
14655
+ ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal, $];
14599
14656
  ob.resetFrame = resetFrame;
14600
14657
  return ob;
14601
14658
  }());
@@ -14604,6 +14661,8 @@ const Expressions = (function () {
14604
14661
  var ob = {};
14605
14662
  ob.initExpressions = initExpressions;
14606
14663
  ob.resetFrame = ExpressionManager.resetFrame;
14664
+ ob.getGlobal = ExpressionManager.getGlobal;
14665
+ ob.resetGlobal = ExpressionManager.resetGlobal;
14607
14666
 
14608
14667
  function initExpressions(animation) {
14609
14668
  var stackCount = 0;
@@ -2162,6 +2162,19 @@ AnimationItem.prototype.setSlotValue = function (sid, slotObject, name) {
2162
2162
  }
2163
2163
  };
2164
2164
 
2165
+ AnimationItem.prototype.getExpressionGlobal = function () {
2166
+ if (this.expressionsPlugin) {
2167
+ return this.expressionsPlugin.getGlobal();
2168
+ }
2169
+ return null;
2170
+ };
2171
+
2172
+ AnimationItem.prototype.resetExpressionGlobal = function () {
2173
+ if (this.expressionsPlugin) {
2174
+ this.expressionsPlugin.resetGlobal();
2175
+ }
2176
+ };
2177
+
2165
2178
  AnimationItem.prototype.trigger = function (name) {
2166
2179
  if (this._cbs && this._cbs[name]) {
2167
2180
  switch (name) {
@@ -2454,6 +2467,29 @@ const animationManager = (function () {
2454
2467
  }
2455
2468
  }
2456
2469
 
2470
+ function getExpressionGlobal() {
2471
+ var i;
2472
+ for (i = 0; i < len; i += 1) {
2473
+ if (registeredAnimations[i].animation) {
2474
+ var globals = registeredAnimations[i].animation.getExpressionGlobal();
2475
+ if (globals !== null) {
2476
+ return globals;
2477
+ }
2478
+ }
2479
+ }
2480
+ return null;
2481
+ }
2482
+
2483
+ function resetExpressionGlobal() {
2484
+ var i;
2485
+ for (i = 0; i < len; i += 1) {
2486
+ if (registeredAnimations[i].animation) {
2487
+ registeredAnimations[i].animation.resetExpressionGlobal();
2488
+ return;
2489
+ }
2490
+ }
2491
+ }
2492
+
2457
2493
  moduleOb.registerAnimation = registerAnimation;
2458
2494
  moduleOb.loadAnimation = loadAnimation;
2459
2495
  moduleOb.setSpeed = setSpeed;
@@ -2473,6 +2509,8 @@ const animationManager = (function () {
2473
2509
  moduleOb.mute = mute;
2474
2510
  moduleOb.unmute = unmute;
2475
2511
  moduleOb.setSlotValue = setSlotValue;
2512
+ moduleOb.getExpressionGlobal = getExpressionGlobal;
2513
+ moduleOb.resetExpressionGlobal = resetExpressionGlobal;
2476
2514
  moduleOb.getRegisteredAnimations = getRegisteredAnimations;
2477
2515
  return moduleOb;
2478
2516
  }());
@@ -4780,6 +4818,8 @@ lottie.mute = animationManager.mute;
4780
4818
  lottie.unmute = animationManager.unmute;
4781
4819
  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;
4782
4820
  lottie.setSlotValue = animationManager.setSlotValue;
4821
+ lottie.getExpressionGlobal = animationManager.getExpressionGlobal;
4822
+ lottie.resetExpressionGlobal = animationManager.resetExpressionGlobal;
4783
4823
  lottie.useWebWorker = setWebWorker;
4784
4824
  lottie.setIDPrefix = setPrefix;
4785
4825
  lottie.__getFactory = getFactory;
@@ -13265,10 +13305,16 @@ const ExpressionManager = (function () {
13265
13305
  var fetch = null;
13266
13306
  var frames = null;
13267
13307
  var _lottieGlobal = {};
13308
+ var _expressionGlobal = {};
13309
+ var $ = { // eslint-disable-line no-shadow-restricted-names
13310
+ global: _expressionGlobal,
13311
+ engineName: 'JavaScript',
13312
+ };
13268
13313
  initialize$2(BMMath);
13269
13314
 
13270
13315
  function resetFrame() {
13271
13316
  _lottieGlobal = {};
13317
+ // Note: $.global is intentionally NOT reset — it persists across frames
13272
13318
  }
13273
13319
 
13274
13320
  function $bm_isInstanceOfArray(arr) {
@@ -13985,8 +14031,19 @@ const ExpressionManager = (function () {
13985
14031
  return executeExpression;
13986
14032
  }
13987
14033
 
14034
+ function getGlobal() {
14035
+ return $.global;
14036
+ }
14037
+
14038
+ function resetGlobal() {
14039
+ _expressionGlobal = {};
14040
+ $.global = _expressionGlobal;
14041
+ }
14042
+
13988
14043
  ob.initiateExpression = initiateExpression;
13989
- ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];
14044
+ ob.getGlobal = getGlobal;
14045
+ ob.resetGlobal = resetGlobal;
14046
+ ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal, $];
13990
14047
  ob.resetFrame = resetFrame;
13991
14048
  return ob;
13992
14049
  }());
@@ -13995,6 +14052,8 @@ const Expressions = (function () {
13995
14052
  var ob = {};
13996
14053
  ob.initExpressions = initExpressions;
13997
14054
  ob.resetFrame = ExpressionManager.resetFrame;
14055
+ ob.getGlobal = ExpressionManager.getGlobal;
14056
+ ob.resetGlobal = ExpressionManager.resetGlobal;
13998
14057
 
13999
14058
  function initExpressions(animation) {
14000
14059
  var stackCount = 0;
@@ -2162,6 +2162,19 @@ AnimationItem.prototype.setSlotValue = function (sid, slotObject, name) {
2162
2162
  }
2163
2163
  };
2164
2164
 
2165
+ AnimationItem.prototype.getExpressionGlobal = function () {
2166
+ if (this.expressionsPlugin) {
2167
+ return this.expressionsPlugin.getGlobal();
2168
+ }
2169
+ return null;
2170
+ };
2171
+
2172
+ AnimationItem.prototype.resetExpressionGlobal = function () {
2173
+ if (this.expressionsPlugin) {
2174
+ this.expressionsPlugin.resetGlobal();
2175
+ }
2176
+ };
2177
+
2165
2178
  AnimationItem.prototype.trigger = function (name) {
2166
2179
  if (this._cbs && this._cbs[name]) {
2167
2180
  switch (name) {
@@ -2454,6 +2467,29 @@ const animationManager = (function () {
2454
2467
  }
2455
2468
  }
2456
2469
 
2470
+ function getExpressionGlobal() {
2471
+ var i;
2472
+ for (i = 0; i < len; i += 1) {
2473
+ if (registeredAnimations[i].animation) {
2474
+ var globals = registeredAnimations[i].animation.getExpressionGlobal();
2475
+ if (globals !== null) {
2476
+ return globals;
2477
+ }
2478
+ }
2479
+ }
2480
+ return null;
2481
+ }
2482
+
2483
+ function resetExpressionGlobal() {
2484
+ var i;
2485
+ for (i = 0; i < len; i += 1) {
2486
+ if (registeredAnimations[i].animation) {
2487
+ registeredAnimations[i].animation.resetExpressionGlobal();
2488
+ return;
2489
+ }
2490
+ }
2491
+ }
2492
+
2457
2493
  moduleOb.registerAnimation = registerAnimation;
2458
2494
  moduleOb.loadAnimation = loadAnimation;
2459
2495
  moduleOb.setSpeed = setSpeed;
@@ -2473,6 +2509,8 @@ const animationManager = (function () {
2473
2509
  moduleOb.mute = mute;
2474
2510
  moduleOb.unmute = unmute;
2475
2511
  moduleOb.setSlotValue = setSlotValue;
2512
+ moduleOb.getExpressionGlobal = getExpressionGlobal;
2513
+ moduleOb.resetExpressionGlobal = resetExpressionGlobal;
2476
2514
  moduleOb.getRegisteredAnimations = getRegisteredAnimations;
2477
2515
  return moduleOb;
2478
2516
  }());
@@ -4780,6 +4818,8 @@ lottie.mute = animationManager.mute;
4780
4818
  lottie.unmute = animationManager.unmute;
4781
4819
  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;
4782
4820
  lottie.setSlotValue = animationManager.setSlotValue;
4821
+ lottie.getExpressionGlobal = animationManager.getExpressionGlobal;
4822
+ lottie.resetExpressionGlobal = animationManager.resetExpressionGlobal;
4783
4823
  lottie.useWebWorker = setWebWorker;
4784
4824
  lottie.setIDPrefix = setPrefix;
4785
4825
  lottie.__getFactory = getFactory;
@@ -2162,6 +2162,19 @@ AnimationItem.prototype.setSlotValue = function (sid, slotObject, name) {
2162
2162
  }
2163
2163
  };
2164
2164
 
2165
+ AnimationItem.prototype.getExpressionGlobal = function () {
2166
+ if (this.expressionsPlugin) {
2167
+ return this.expressionsPlugin.getGlobal();
2168
+ }
2169
+ return null;
2170
+ };
2171
+
2172
+ AnimationItem.prototype.resetExpressionGlobal = function () {
2173
+ if (this.expressionsPlugin) {
2174
+ this.expressionsPlugin.resetGlobal();
2175
+ }
2176
+ };
2177
+
2165
2178
  AnimationItem.prototype.trigger = function (name) {
2166
2179
  if (this._cbs && this._cbs[name]) {
2167
2180
  switch (name) {
@@ -2454,6 +2467,29 @@ const animationManager = (function () {
2454
2467
  }
2455
2468
  }
2456
2469
 
2470
+ function getExpressionGlobal() {
2471
+ var i;
2472
+ for (i = 0; i < len; i += 1) {
2473
+ if (registeredAnimations[i].animation) {
2474
+ var globals = registeredAnimations[i].animation.getExpressionGlobal();
2475
+ if (globals !== null) {
2476
+ return globals;
2477
+ }
2478
+ }
2479
+ }
2480
+ return null;
2481
+ }
2482
+
2483
+ function resetExpressionGlobal() {
2484
+ var i;
2485
+ for (i = 0; i < len; i += 1) {
2486
+ if (registeredAnimations[i].animation) {
2487
+ registeredAnimations[i].animation.resetExpressionGlobal();
2488
+ return;
2489
+ }
2490
+ }
2491
+ }
2492
+
2457
2493
  moduleOb.registerAnimation = registerAnimation;
2458
2494
  moduleOb.loadAnimation = loadAnimation;
2459
2495
  moduleOb.setSpeed = setSpeed;
@@ -2473,6 +2509,8 @@ const animationManager = (function () {
2473
2509
  moduleOb.mute = mute;
2474
2510
  moduleOb.unmute = unmute;
2475
2511
  moduleOb.setSlotValue = setSlotValue;
2512
+ moduleOb.getExpressionGlobal = getExpressionGlobal;
2513
+ moduleOb.resetExpressionGlobal = resetExpressionGlobal;
2476
2514
  moduleOb.getRegisteredAnimations = getRegisteredAnimations;
2477
2515
  return moduleOb;
2478
2516
  }());
@@ -4780,6 +4818,8 @@ lottie.mute = animationManager.mute;
4780
4818
  lottie.unmute = animationManager.unmute;
4781
4819
  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;
4782
4820
  lottie.setSlotValue = animationManager.setSlotValue;
4821
+ lottie.getExpressionGlobal = animationManager.getExpressionGlobal;
4822
+ lottie.resetExpressionGlobal = animationManager.resetExpressionGlobal;
4783
4823
  lottie.useWebWorker = setWebWorker;
4784
4824
  lottie.setIDPrefix = setPrefix;
4785
4825
  lottie.__getFactory = getFactory;
@@ -2162,6 +2162,19 @@ AnimationItem.prototype.setSlotValue = function (sid, slotObject, name) {
2162
2162
  }
2163
2163
  };
2164
2164
 
2165
+ AnimationItem.prototype.getExpressionGlobal = function () {
2166
+ if (this.expressionsPlugin) {
2167
+ return this.expressionsPlugin.getGlobal();
2168
+ }
2169
+ return null;
2170
+ };
2171
+
2172
+ AnimationItem.prototype.resetExpressionGlobal = function () {
2173
+ if (this.expressionsPlugin) {
2174
+ this.expressionsPlugin.resetGlobal();
2175
+ }
2176
+ };
2177
+
2165
2178
  AnimationItem.prototype.trigger = function (name) {
2166
2179
  if (this._cbs && this._cbs[name]) {
2167
2180
  switch (name) {
@@ -2454,6 +2467,29 @@ const animationManager = (function () {
2454
2467
  }
2455
2468
  }
2456
2469
 
2470
+ function getExpressionGlobal() {
2471
+ var i;
2472
+ for (i = 0; i < len; i += 1) {
2473
+ if (registeredAnimations[i].animation) {
2474
+ var globals = registeredAnimations[i].animation.getExpressionGlobal();
2475
+ if (globals !== null) {
2476
+ return globals;
2477
+ }
2478
+ }
2479
+ }
2480
+ return null;
2481
+ }
2482
+
2483
+ function resetExpressionGlobal() {
2484
+ var i;
2485
+ for (i = 0; i < len; i += 1) {
2486
+ if (registeredAnimations[i].animation) {
2487
+ registeredAnimations[i].animation.resetExpressionGlobal();
2488
+ return;
2489
+ }
2490
+ }
2491
+ }
2492
+
2457
2493
  moduleOb.registerAnimation = registerAnimation;
2458
2494
  moduleOb.loadAnimation = loadAnimation;
2459
2495
  moduleOb.setSpeed = setSpeed;
@@ -2473,6 +2509,8 @@ const animationManager = (function () {
2473
2509
  moduleOb.mute = mute;
2474
2510
  moduleOb.unmute = unmute;
2475
2511
  moduleOb.setSlotValue = setSlotValue;
2512
+ moduleOb.getExpressionGlobal = getExpressionGlobal;
2513
+ moduleOb.resetExpressionGlobal = resetExpressionGlobal;
2476
2514
  moduleOb.getRegisteredAnimations = getRegisteredAnimations;
2477
2515
  return moduleOb;
2478
2516
  }());
@@ -4780,6 +4818,8 @@ lottie.mute = animationManager.mute;
4780
4818
  lottie.unmute = animationManager.unmute;
4781
4819
  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;
4782
4820
  lottie.setSlotValue = animationManager.setSlotValue;
4821
+ lottie.getExpressionGlobal = animationManager.getExpressionGlobal;
4822
+ lottie.resetExpressionGlobal = animationManager.resetExpressionGlobal;
4783
4823
  lottie.useWebWorker = setWebWorker;
4784
4824
  lottie.setIDPrefix = setPrefix;
4785
4825
  lottie.__getFactory = getFactory;
@@ -2162,6 +2162,19 @@ AnimationItem.prototype.setSlotValue = function (sid, slotObject, name) {
2162
2162
  }
2163
2163
  };
2164
2164
 
2165
+ AnimationItem.prototype.getExpressionGlobal = function () {
2166
+ if (this.expressionsPlugin) {
2167
+ return this.expressionsPlugin.getGlobal();
2168
+ }
2169
+ return null;
2170
+ };
2171
+
2172
+ AnimationItem.prototype.resetExpressionGlobal = function () {
2173
+ if (this.expressionsPlugin) {
2174
+ this.expressionsPlugin.resetGlobal();
2175
+ }
2176
+ };
2177
+
2165
2178
  AnimationItem.prototype.trigger = function (name) {
2166
2179
  if (this._cbs && this._cbs[name]) {
2167
2180
  switch (name) {
@@ -2454,6 +2467,29 @@ const animationManager = (function () {
2454
2467
  }
2455
2468
  }
2456
2469
 
2470
+ function getExpressionGlobal() {
2471
+ var i;
2472
+ for (i = 0; i < len; i += 1) {
2473
+ if (registeredAnimations[i].animation) {
2474
+ var globals = registeredAnimations[i].animation.getExpressionGlobal();
2475
+ if (globals !== null) {
2476
+ return globals;
2477
+ }
2478
+ }
2479
+ }
2480
+ return null;
2481
+ }
2482
+
2483
+ function resetExpressionGlobal() {
2484
+ var i;
2485
+ for (i = 0; i < len; i += 1) {
2486
+ if (registeredAnimations[i].animation) {
2487
+ registeredAnimations[i].animation.resetExpressionGlobal();
2488
+ return;
2489
+ }
2490
+ }
2491
+ }
2492
+
2457
2493
  moduleOb.registerAnimation = registerAnimation;
2458
2494
  moduleOb.loadAnimation = loadAnimation;
2459
2495
  moduleOb.setSpeed = setSpeed;
@@ -2473,6 +2509,8 @@ const animationManager = (function () {
2473
2509
  moduleOb.mute = mute;
2474
2510
  moduleOb.unmute = unmute;
2475
2511
  moduleOb.setSlotValue = setSlotValue;
2512
+ moduleOb.getExpressionGlobal = getExpressionGlobal;
2513
+ moduleOb.resetExpressionGlobal = resetExpressionGlobal;
2476
2514
  moduleOb.getRegisteredAnimations = getRegisteredAnimations;
2477
2515
  return moduleOb;
2478
2516
  }());
@@ -4780,6 +4818,8 @@ lottie.mute = animationManager.mute;
4780
4818
  lottie.unmute = animationManager.unmute;
4781
4819
  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;
4782
4820
  lottie.setSlotValue = animationManager.setSlotValue;
4821
+ lottie.getExpressionGlobal = animationManager.getExpressionGlobal;
4822
+ lottie.resetExpressionGlobal = animationManager.resetExpressionGlobal;
4783
4823
  lottie.useWebWorker = setWebWorker;
4784
4824
  lottie.setIDPrefix = setPrefix;
4785
4825
  lottie.__getFactory = getFactory;
@@ -11991,10 +12031,16 @@ const ExpressionManager = (function () {
11991
12031
  var fetch = null;
11992
12032
  var frames = null;
11993
12033
  var _lottieGlobal = {};
12034
+ var _expressionGlobal = {};
12035
+ var $ = { // eslint-disable-line no-shadow-restricted-names
12036
+ global: _expressionGlobal,
12037
+ engineName: 'JavaScript',
12038
+ };
11994
12039
  initialize$2(BMMath);
11995
12040
 
11996
12041
  function resetFrame() {
11997
12042
  _lottieGlobal = {};
12043
+ // Note: $.global is intentionally NOT reset — it persists across frames
11998
12044
  }
11999
12045
 
12000
12046
  function $bm_isInstanceOfArray(arr) {
@@ -12711,8 +12757,19 @@ const ExpressionManager = (function () {
12711
12757
  return executeExpression;
12712
12758
  }
12713
12759
 
12760
+ function getGlobal() {
12761
+ return $.global;
12762
+ }
12763
+
12764
+ function resetGlobal() {
12765
+ _expressionGlobal = {};
12766
+ $.global = _expressionGlobal;
12767
+ }
12768
+
12714
12769
  ob.initiateExpression = initiateExpression;
12715
- ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];
12770
+ ob.getGlobal = getGlobal;
12771
+ ob.resetGlobal = resetGlobal;
12772
+ ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal, $];
12716
12773
  ob.resetFrame = resetFrame;
12717
12774
  return ob;
12718
12775
  }());
@@ -12721,6 +12778,8 @@ const Expressions = (function () {
12721
12778
  var ob = {};
12722
12779
  ob.initExpressions = initExpressions;
12723
12780
  ob.resetFrame = ExpressionManager.resetFrame;
12781
+ ob.getGlobal = ExpressionManager.getGlobal;
12782
+ ob.resetGlobal = ExpressionManager.resetGlobal;
12724
12783
 
12725
12784
  function initExpressions(animation) {
12726
12785
  var stackCount = 0;