react-native-reanimated 4.5.0 → 4.5.1

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 (44) hide show
  1. package/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +9 -0
  2. package/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +2 -0
  3. package/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +7 -1
  4. package/android/CMakeLists.txt +6 -0
  5. package/android/src/main/java/com/swmansion/reanimated/keyboard/KeyboardAnimationCallback.kt +8 -1
  6. package/lib/module/common/style/registry.js +8 -0
  7. package/lib/module/common/style/registry.js.map +1 -1
  8. package/lib/module/css/native/managers/CSSPseudoStylesManager.js +2 -0
  9. package/lib/module/css/native/managers/CSSPseudoStylesManager.js.map +1 -1
  10. package/lib/module/css/svg/init.web.js +9 -9
  11. package/lib/module/css/svg/init.web.js.map +1 -1
  12. package/lib/module/css/utils/props.js +2 -2
  13. package/lib/module/css/utils/props.js.map +1 -1
  14. package/lib/module/css/web/animationParser.js +2 -2
  15. package/lib/module/css/web/animationParser.js.map +1 -1
  16. package/lib/module/css/web/managers/CSSAnimationsManager.js +3 -3
  17. package/lib/module/css/web/managers/CSSAnimationsManager.js.map +1 -1
  18. package/lib/module/css/web/managers/CSSManager.js +3 -2
  19. package/lib/module/css/web/managers/CSSManager.js.map +1 -1
  20. package/lib/module/css/web/managers/CSSPseudoSelectorsManager.js +3 -3
  21. package/lib/module/css/web/managers/CSSPseudoSelectorsManager.js.map +1 -1
  22. package/lib/module/platform-specific/jsVersion.js +1 -1
  23. package/lib/module/valueSetter.js +5 -3
  24. package/lib/module/valueSetter.js.map +1 -1
  25. package/lib/typescript/common/style/registry.d.ts +1 -0
  26. package/lib/typescript/common/style/registry.d.ts.map +1 -1
  27. package/lib/typescript/css/native/managers/CSSPseudoStylesManager.d.ts.map +1 -1
  28. package/lib/typescript/css/web/animationParser.d.ts +1 -1
  29. package/lib/typescript/css/web/managers/CSSAnimationsManager.d.ts +2 -2
  30. package/lib/typescript/css/web/managers/CSSManager.d.ts.map +1 -1
  31. package/lib/typescript/css/web/managers/CSSPseudoSelectorsManager.d.ts +2 -2
  32. package/lib/typescript/platform-specific/jsVersion.d.ts +1 -1
  33. package/lib/typescript/valueSetter.d.ts.map +1 -1
  34. package/package.json +2 -2
  35. package/src/common/style/registry.ts +13 -0
  36. package/src/css/native/managers/CSSPseudoStylesManager.ts +2 -0
  37. package/src/css/svg/init.web.ts +17 -17
  38. package/src/css/utils/props.ts +2 -2
  39. package/src/css/web/animationParser.ts +2 -2
  40. package/src/css/web/managers/CSSAnimationsManager.ts +4 -4
  41. package/src/css/web/managers/CSSManager.ts +3 -5
  42. package/src/css/web/managers/CSSPseudoSelectorsManager.ts +4 -4
  43. package/src/platform-specific/jsVersion.ts +1 -1
  44. package/src/valueSetter.ts +5 -3
@@ -38,6 +38,15 @@ SVGStrokeDashArray SVGStrokeDashArray::interpolate(
38
38
  return SVGStrokeDashArray(result);
39
39
  }
40
40
 
41
+ folly::dynamic SVGStrokeDashArray::toDynamic() const {
42
+ // Empty means "no dashing" - emit null instead of [], which react-native-svg
43
+ // would feed to Android's DashPathEffect that requires at least 2 intervals.
44
+ if (values.empty()) {
45
+ return nullptr;
46
+ }
47
+ return CSSLengthVector::toDynamic();
48
+ }
49
+
41
50
  #ifndef NDEBUG
42
51
 
43
52
  std::ostream &operator<<(std::ostream &os, const SVGStrokeDashArray &strokeDashArray) {
@@ -12,6 +12,8 @@ struct SVGStrokeDashArray : public CSSLengthVector<SVGStrokeDashArray> {
12
12
  const SVGStrokeDashArray &to,
13
13
  const ResolvableValueInterpolationContext &context) const override;
14
14
 
15
+ folly::dynamic toDynamic() const override;
16
+
15
17
  #ifndef NDEBUG
16
18
  friend std::ostream &operator<<(std::ostream &os, const SVGStrokeDashArray &strokeDashArray);
17
19
  #endif // NDEBUG
@@ -413,7 +413,13 @@ void LayoutAnimationsProxy_Legacy::addOngoingAnimations(SurfaceId surfaceId, Sha
413
413
 
414
414
  auto layoutAnimationIt = layoutAnimations_.find(tag);
415
415
 
416
- if (layoutAnimationIt == layoutAnimations_.end() || layoutAnimationIt->second.isSettled()) {
416
+ if (layoutAnimationIt == layoutAnimations_.end() ||
417
+ // A settled animation is normally cleaned up without applying further
418
+ // updates. The exception is a flaky entering animation whose opacity was
419
+ // never restored (the view wasn't mounted in time) - we still need to
420
+ // apply that pending opacity, otherwise the view stays invisible. Only
421
+ // entering animations carry an opacity value.
422
+ (layoutAnimationIt->second.isSettled() && !layoutAnimationIt->second.opacity.has_value())) {
417
423
  continue;
418
424
  }
419
425
 
@@ -56,6 +56,12 @@ add_library(
56
56
  target_precompile_headers(reanimated PRIVATE
57
57
  "${ANDROID_CPP_DIR}/ReanimatedPCH.h")
58
58
 
59
+ # Stop Clang from embedding a build timestamp in the .pch. Without this the PCH
60
+ # is non-reproducible across builds, so ccache can't reuse it and translation
61
+ # units reject a restored PCH as "modified since built".
62
+ target_compile_options(reanimated PRIVATE
63
+ "$<$<COMPILE_LANGUAGE:CXX>:-Xclang;-fno-pch-timestamp>")
64
+
59
65
  if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 80)
60
66
  include(
61
67
  "${REACT_NATIVE_DIR}/ReactCommon/cmake-utils/react-native-flags.cmake")
@@ -12,6 +12,8 @@ class KeyboardAnimationCallback(
12
12
  private val CONTENT_TYPE_MASK = WindowInsetsCompat.Type.ime()
13
13
  }
14
14
 
15
+ private var mPendingStartDispatch = false
16
+
15
17
  override fun onStart(
16
18
  animation: WindowInsetsAnimationCompat,
17
19
  bounds: WindowInsetsAnimationCompat.BoundsCompat,
@@ -20,7 +22,7 @@ class KeyboardAnimationCallback(
20
22
  return bounds
21
23
  }
22
24
  mKeyboard.onAnimationStart()
23
- mNotifyAboutKeyboardChange.call()
25
+ mPendingStartDispatch = true
24
26
  return super.onStart(animation, bounds)
25
27
  }
26
28
 
@@ -36,6 +38,7 @@ class KeyboardAnimationCallback(
36
38
  }
37
39
  }
38
40
  if (isAnyKeyboardAnimationRunning) {
41
+ mPendingStartDispatch = false
39
42
  mKeyboard.updateHeight(insets, mIsNavigationBarTranslucent)
40
43
  mNotifyAboutKeyboardChange.call()
41
44
  }
@@ -44,6 +47,10 @@ class KeyboardAnimationCallback(
44
47
 
45
48
  override fun onEnd(animation: WindowInsetsAnimationCompat) {
46
49
  if (isKeyboardAnimation(animation)) {
50
+ if (mPendingStartDispatch) {
51
+ mNotifyAboutKeyboardChange.call()
52
+ }
53
+ mPendingStartDispatch = false
47
54
  mKeyboard.onAnimationEnd()
48
55
  mNotifyAboutKeyboardChange.call()
49
56
  }
@@ -1,9 +1,14 @@
1
1
  'use strict';
2
2
 
3
+ import { STYLE_PROPERTIES_CONFIG } from "./config.js";
3
4
  import { createNativePropsBuilder, stylePropsBuilder } from "./propsBuilder.js";
4
5
  const DEFAULT_SEPARATELY_INTERPOLATED_NESTED_PROPERTIES = new Set(['boxShadow', 'shadowOffset', 'textShadowOffset', 'transformOrigin']);
5
6
  const PROPS_BUILDERS = new Map();
6
7
  const PATTERN_PROPS_BUILDERS = [];
8
+ const SUPPORTED_BUILDER_PROPS = new Set(Object.keys(STYLE_PROPERTIES_CONFIG));
9
+ export function isSupportedStyleProp(prop) {
10
+ return SUPPORTED_BUILDER_PROPS.has(prop);
11
+ }
7
12
  function findEntry(compoundComponentName) {
8
13
  const [reactViewName] = compoundComponentName.split('$');
9
14
  const exact = PROPS_BUILDERS.get(compoundComponentName) ?? PROPS_BUILDERS.get(reactViewName);
@@ -30,6 +35,9 @@ export function getPropsBuilder(compoundComponentName) {
30
35
  return findEntry(compoundComponentName)?.builder ?? stylePropsBuilder;
31
36
  }
32
37
  export function registerComponentPropsBuilder(componentName, config, options = {}) {
38
+ for (const prop in config) {
39
+ SUPPORTED_BUILDER_PROPS.add(prop);
40
+ }
33
41
  const entry = {
34
42
  builder: createNativePropsBuilder(config),
35
43
  separatelyInterpolatedNestedProperties: options.separatelyInterpolatedNestedProperties?.length ? new Set(options.separatelyInterpolatedNestedProperties) : undefined
@@ -1 +1 @@
1
- {"version":3,"names":["createNativePropsBuilder","stylePropsBuilder","DEFAULT_SEPARATELY_INTERPOLATED_NESTED_PROPERTIES","Set","PROPS_BUILDERS","Map","PATTERN_PROPS_BUILDERS","findEntry","compoundComponentName","reactViewName","split","exact","get","matcher","entry","matches","RegExp","test","getCompoundComponentName","componentDisplayName","getPropsBuilder","builder","registerComponentPropsBuilder","componentName","config","options","separatelyInterpolatedNestedProperties","length","undefined","set","push","getSeparatelyInterpolatedNestedProperties"],"sourceRoot":"../../../../src","sources":["common/style/registry.ts"],"mappings":"AAAA,YAAY;;AAEZ,SACEA,wBAAwB,EAGxBC,iBAAiB,QACZ,mBAAgB;AAEvB,MAAMC,iDAAiD,GAAG,IAAIC,GAAG,CAAS,CACxE,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,CAClB,CAAC;AAOF,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAA4B,CAAC;AAC3D,MAAMC,sBAGJ,GAAG,EAAE;AAEP,SAASC,SAASA,CAACC,qBAA6B,EAA4B;EAC1E,MAAM,CAACC,aAAa,CAAC,GAAGD,qBAAqB,CAACE,KAAK,CAAC,GAAG,CAAC;EAExD,MAAMC,KAAK,GACTP,cAAc,CAACQ,GAAG,CAACJ,qBAAqB,CAAC,IACzCJ,cAAc,CAACQ,GAAG,CAACH,aAAa,CAAC;EACnC,IAAIE,KAAK,EAAE;IACT,OAAOA,KAAK;EACd;;EAEA;EACA,KAAK,MAAM;IAAEE,OAAO;IAAEC;EAAM,CAAC,IAAIR,sBAAsB,EAAE;IACvD,MAAMS,OAAO,GACXF,OAAO,YAAYG,MAAM,GACrBH,OAAO,CAACI,IAAI,CAACT,qBAAqB,CAAC,IAAIK,OAAO,CAACI,IAAI,CAACR,aAAa,CAAC,GAClEI,OAAO,CAACL,qBAAqB,CAAC,IAAIK,OAAO,CAACJ,aAAa,CAAC;IAC9D,IAAIM,OAAO,EAAE;MACX,OAAOD,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb;AAEA,OAAO,SAASI,wBAAwBA,CACtCT,aAAqB,EACrBU,oBAA4B,EACpB;EACR,OAAO,GAAGV,aAAa,IAAIU,oBAAoB,EAAE;AACnD;AAEA,OAAO,SAASC,eAAeA,CAC7BZ,qBAA6B,EACT;EACpB,OAAOD,SAAS,CAACC,qBAAqB,CAAC,EAAEa,OAAO,IAAIpB,iBAAiB;AACvE;AAEA,OAAO,SAASqB,6BAA6BA,CAC3CC,aAA4D,EAC5DC,MAA6B,EAC7BC,OAEC,GAAG,CAAC,CAAC,EACN;EACA,MAAMX,KAAwB,GAAG;IAC/BO,OAAO,EAAErB,wBAAwB,CAACwB,MAAM,CAAC;IACzCE,sCAAsC,EAAED,OAAO,CAC5CC,sCAAsC,EAAEC,MAAM,GAC7C,IAAIxB,GAAG,CAACsB,OAAO,CAACC,sCAAsC,CAAC,GACvDE;EACN,CAAC;EAED,IAAI,OAAOL,aAAa,KAAK,QAAQ,EAAE;IACrCnB,cAAc,CAACyB,GAAG,CAACN,aAAa,EAAET,KAAK,CAAC;EAC1C,CAAC,MAAM;IACLR,sBAAsB,CAACwB,IAAI,CAAC;MAAEjB,OAAO,EAAEU,aAAa;MAAET;IAAM,CAAC,CAAC;EAChE;AACF;AAEA,OAAO,SAASiB,yCAAyCA,CACvDvB,qBAA6B,EACR;EACrB,OACED,SAAS,CAACC,qBAAqB,CAAC,EAAEkB,sCAAsC,IACxExB,iDAAiD;AAErD","ignoreList":[]}
1
+ {"version":3,"names":["STYLE_PROPERTIES_CONFIG","createNativePropsBuilder","stylePropsBuilder","DEFAULT_SEPARATELY_INTERPOLATED_NESTED_PROPERTIES","Set","PROPS_BUILDERS","Map","PATTERN_PROPS_BUILDERS","SUPPORTED_BUILDER_PROPS","Object","keys","isSupportedStyleProp","prop","has","findEntry","compoundComponentName","reactViewName","split","exact","get","matcher","entry","matches","RegExp","test","getCompoundComponentName","componentDisplayName","getPropsBuilder","builder","registerComponentPropsBuilder","componentName","config","options","add","separatelyInterpolatedNestedProperties","length","undefined","set","push","getSeparatelyInterpolatedNestedProperties"],"sourceRoot":"../../../../src","sources":["common/style/registry.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,uBAAuB,QAAQ,aAAU;AAClD,SACEC,wBAAwB,EAGxBC,iBAAiB,QACZ,mBAAgB;AAEvB,MAAMC,iDAAiD,GAAG,IAAIC,GAAG,CAAS,CACxE,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,CAClB,CAAC;AAOF,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAA4B,CAAC;AAC3D,MAAMC,sBAGJ,GAAG,EAAE;AAEP,MAAMC,uBAAuB,GAAG,IAAIJ,GAAG,CACrCK,MAAM,CAACC,IAAI,CAACV,uBAAuB,CACrC,CAAC;AAED,OAAO,SAASW,oBAAoBA,CAACC,IAAY,EAAW;EAC1D,OAAOJ,uBAAuB,CAACK,GAAG,CAACD,IAAI,CAAC;AAC1C;AAEA,SAASE,SAASA,CAACC,qBAA6B,EAA4B;EAC1E,MAAM,CAACC,aAAa,CAAC,GAAGD,qBAAqB,CAACE,KAAK,CAAC,GAAG,CAAC;EAExD,MAAMC,KAAK,GACTb,cAAc,CAACc,GAAG,CAACJ,qBAAqB,CAAC,IACzCV,cAAc,CAACc,GAAG,CAACH,aAAa,CAAC;EACnC,IAAIE,KAAK,EAAE;IACT,OAAOA,KAAK;EACd;;EAEA;EACA,KAAK,MAAM;IAAEE,OAAO;IAAEC;EAAM,CAAC,IAAId,sBAAsB,EAAE;IACvD,MAAMe,OAAO,GACXF,OAAO,YAAYG,MAAM,GACrBH,OAAO,CAACI,IAAI,CAACT,qBAAqB,CAAC,IAAIK,OAAO,CAACI,IAAI,CAACR,aAAa,CAAC,GAClEI,OAAO,CAACL,qBAAqB,CAAC,IAAIK,OAAO,CAACJ,aAAa,CAAC;IAC9D,IAAIM,OAAO,EAAE;MACX,OAAOD,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb;AAEA,OAAO,SAASI,wBAAwBA,CACtCT,aAAqB,EACrBU,oBAA4B,EACpB;EACR,OAAO,GAAGV,aAAa,IAAIU,oBAAoB,EAAE;AACnD;AAEA,OAAO,SAASC,eAAeA,CAC7BZ,qBAA6B,EACT;EACpB,OAAOD,SAAS,CAACC,qBAAqB,CAAC,EAAEa,OAAO,IAAI1B,iBAAiB;AACvE;AAEA,OAAO,SAAS2B,6BAA6BA,CAC3CC,aAA4D,EAC5DC,MAA6B,EAC7BC,OAEC,GAAG,CAAC,CAAC,EACN;EACA,KAAK,MAAMpB,IAAI,IAAImB,MAAM,EAAE;IACzBvB,uBAAuB,CAACyB,GAAG,CAACrB,IAAI,CAAC;EACnC;EAEA,MAAMS,KAAwB,GAAG;IAC/BO,OAAO,EAAE3B,wBAAwB,CAAC8B,MAAM,CAAC;IACzCG,sCAAsC,EAAEF,OAAO,CAC5CE,sCAAsC,EAAEC,MAAM,GAC7C,IAAI/B,GAAG,CAAC4B,OAAO,CAACE,sCAAsC,CAAC,GACvDE;EACN,CAAC;EAED,IAAI,OAAON,aAAa,KAAK,QAAQ,EAAE;IACrCzB,cAAc,CAACgC,GAAG,CAACP,aAAa,EAAET,KAAK,CAAC;EAC1C,CAAC,MAAM;IACLd,sBAAsB,CAAC+B,IAAI,CAAC;MAAElB,OAAO,EAAEU,aAAa;MAAET;IAAM,CAAC,CAAC;EAChE;AACF;AAEA,OAAO,SAASkB,yCAAyCA,CACvDxB,qBAA6B,EACR;EACrB,OACED,SAAS,CAACC,qBAAqB,CAAC,EAAEmB,sCAAsC,IACxE/B,iDAAiD;AAErD","ignoreList":[]}
@@ -63,6 +63,8 @@ export default class CSSPseudoStylesManager {
63
63
  if (this.isRegistered) {
64
64
  this.detach();
65
65
  }
66
+ this.prevPseudoStylesBySelector = null;
67
+ this.prevTransitionProperties = null;
66
68
  }
67
69
  detach() {
68
70
  unregisterPseudoStyles(this.viewTag);
@@ -1 +1 @@
1
- {"version":3,"names":["logger","NATIVE_PSEUDO_SELECTORS","deepEqual","normalizeCSSTransitionProperties","registerPseudoStyles","unregisterPseudoStyles","CSSPseudoStylesManager","prevPseudoStylesBySelector","prevTransitionProperties","isRegistered","constructor","shadowNodeWrapper","viewTag","propsBuilder","update","pseudoStylesBySelector","transitionProperties","detach","normalizedTransition","mergedDefaultStyle","selector","defaultStyle","Object","entries","has","assign","builtDefaultStyle","build","includeUnprocessed","nullifyUndefinedValues","selectors","selectorStyle","__DEV__","warn","push","buildPseudoStyleEntry","length","unmountCleanup","builtSelectorStyle","transition","prop","keys","settings","getPropertyTransitionSettings","value","duration","delay","timingFunction","allowDiscrete","style","key","undefined","normalized","specificProperties","all"],"sourceRoot":"../../../../../src","sources":["css/native/managers/CSSPseudoStylesManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","NATIVE_PSEUDO_SELECTORS","deepEqual","normalizeCSSTransitionProperties","registerPseudoStyles","unregisterPseudoStyles","CSSPseudoStylesManager","prevPseudoStylesBySelector","prevTransitionProperties","isRegistered","constructor","shadowNodeWrapper","viewTag","propsBuilder","update","pseudoStylesBySelector","transitionProperties","detach","normalizedTransition","mergedDefaultStyle","selector","defaultStyle","Object","entries","has","assign","builtDefaultStyle","build","includeUnprocessed","nullifyUndefinedValues","selectors","selectorStyle","__DEV__","warn","push","buildPseudoStyleEntry","length","unmountCleanup","builtSelectorStyle","transition","prop","keys","settings","getPropertyTransitionSettings","value","duration","delay","timingFunction","allowDiscrete","style","key","undefined","normalized","specificProperties","all"],"sourceRoot":"../../../../../src","sources":["css/native/managers/CSSPseudoStylesManager.ts"],"mappings":"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","ignoreList":[]}
@@ -2,17 +2,17 @@
2
2
 
3
3
  import { registerWebSvgPropsBuilder, SVG_CIRCLE_WEB_PROPERTIES_CONFIG, SVG_COMMON_WEB_PROPERTIES_CONFIG, SVG_ELLIPSE_WEB_PROPERTIES_CONFIG, SVG_IMAGE_WEB_PROPERTIES_CONFIG, SVG_PATH_WEB_PROPERTIES_CONFIG, SVG_RECT_WEB_PROPERTIES_CONFIG } from "./web/index.js";
4
4
 
5
- // Components with no CSS-animatable geometry on web: any geometry they expose is
5
+ // SVG tags with no CSS-animatable geometry on web: any geometry they expose is
6
6
  // an SVG attribute, not a CSS property. They fall back to the shared common config.
7
- const COMMON_ONLY_COMPONENTS = ['G', 'Line', 'Pattern', 'Polygon', 'Polyline', 'Text', 'LinearGradient', 'RadialGradient'];
7
+ const COMMON_ONLY_TAGS = ['g', 'line', 'pattern', 'polygon', 'polyline', 'text', 'linearGradient', 'radialGradient'];
8
8
  export function initSvgCssSupport() {
9
- registerWebSvgPropsBuilder('Circle', SVG_CIRCLE_WEB_PROPERTIES_CONFIG);
10
- registerWebSvgPropsBuilder('Ellipse', SVG_ELLIPSE_WEB_PROPERTIES_CONFIG);
11
- registerWebSvgPropsBuilder('Image', SVG_IMAGE_WEB_PROPERTIES_CONFIG);
12
- registerWebSvgPropsBuilder('Path', SVG_PATH_WEB_PROPERTIES_CONFIG);
13
- registerWebSvgPropsBuilder('Rect', SVG_RECT_WEB_PROPERTIES_CONFIG);
14
- for (const componentName of COMMON_ONLY_COMPONENTS) {
15
- registerWebSvgPropsBuilder(componentName, SVG_COMMON_WEB_PROPERTIES_CONFIG);
9
+ registerWebSvgPropsBuilder('circle', SVG_CIRCLE_WEB_PROPERTIES_CONFIG);
10
+ registerWebSvgPropsBuilder('ellipse', SVG_ELLIPSE_WEB_PROPERTIES_CONFIG);
11
+ registerWebSvgPropsBuilder('image', SVG_IMAGE_WEB_PROPERTIES_CONFIG);
12
+ registerWebSvgPropsBuilder('path', SVG_PATH_WEB_PROPERTIES_CONFIG);
13
+ registerWebSvgPropsBuilder('rect', SVG_RECT_WEB_PROPERTIES_CONFIG);
14
+ for (const tag of COMMON_ONLY_TAGS) {
15
+ registerWebSvgPropsBuilder(tag, SVG_COMMON_WEB_PROPERTIES_CONFIG);
16
16
  }
17
17
  }
18
18
  //# sourceMappingURL=init.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerWebSvgPropsBuilder","SVG_CIRCLE_WEB_PROPERTIES_CONFIG","SVG_COMMON_WEB_PROPERTIES_CONFIG","SVG_ELLIPSE_WEB_PROPERTIES_CONFIG","SVG_IMAGE_WEB_PROPERTIES_CONFIG","SVG_PATH_WEB_PROPERTIES_CONFIG","SVG_RECT_WEB_PROPERTIES_CONFIG","COMMON_ONLY_COMPONENTS","initSvgCssSupport","componentName"],"sourceRoot":"../../../../src","sources":["css/svg/init.web.ts"],"mappings":"AAAA,YAAY;;AACZ,SACEA,0BAA0B,EAC1BC,gCAAgC,EAChCC,gCAAgC,EAChCC,iCAAiC,EACjCC,+BAA+B,EAC/BC,8BAA8B,EAC9BC,8BAA8B,QACzB,gBAAO;;AAEd;AACA;AACA,MAAMC,sBAAsB,GAAG,CAC7B,GAAG,EACH,MAAM,EACN,SAAS,EACT,SAAS,EACT,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,gBAAgB,CACR;AAEV,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClCR,0BAA0B,CAAC,QAAQ,EAAEC,gCAAgC,CAAC;EACtED,0BAA0B,CAAC,SAAS,EAAEG,iCAAiC,CAAC;EACxEH,0BAA0B,CAAC,OAAO,EAAEI,+BAA+B,CAAC;EACpEJ,0BAA0B,CAAC,MAAM,EAAEK,8BAA8B,CAAC;EAClEL,0BAA0B,CAAC,MAAM,EAAEM,8BAA8B,CAAC;EAElE,KAAK,MAAMG,aAAa,IAAIF,sBAAsB,EAAE;IAClDP,0BAA0B,CAACS,aAAa,EAAEP,gCAAgC,CAAC;EAC7E;AACF","ignoreList":[]}
1
+ {"version":3,"names":["registerWebSvgPropsBuilder","SVG_CIRCLE_WEB_PROPERTIES_CONFIG","SVG_COMMON_WEB_PROPERTIES_CONFIG","SVG_ELLIPSE_WEB_PROPERTIES_CONFIG","SVG_IMAGE_WEB_PROPERTIES_CONFIG","SVG_PATH_WEB_PROPERTIES_CONFIG","SVG_RECT_WEB_PROPERTIES_CONFIG","COMMON_ONLY_TAGS","initSvgCssSupport","tag"],"sourceRoot":"../../../../src","sources":["css/svg/init.web.ts"],"mappings":"AAAA,YAAY;;AACZ,SACEA,0BAA0B,EAC1BC,gCAAgC,EAChCC,gCAAgC,EAChCC,iCAAiC,EACjCC,+BAA+B,EAC/BC,8BAA8B,EAC9BC,8BAA8B,QACzB,gBAAO;;AAEd;AACA;AACA,MAAMC,gBAAgB,GAAG,CACvB,GAAG,EACH,MAAM,EACN,SAAS,EACT,SAAS,EACT,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,gBAAgB,CACR;AAEV,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClCR,0BAA0B,CAAC,QAAQ,EAAEC,gCAAgC,CAAC;EACtED,0BAA0B,CAAC,SAAS,EAAEG,iCAAiC,CAAC;EACxEH,0BAA0B,CAAC,OAAO,EAAEI,+BAA+B,CAAC;EACpEJ,0BAA0B,CAAC,MAAM,EAAEK,8BAA8B,CAAC;EAClEL,0BAA0B,CAAC,MAAM,EAAEM,8BAA8B,CAAC;EAElE,KAAK,MAAMG,GAAG,IAAIF,gBAAgB,EAAE;IAClCP,0BAA0B,CAACS,GAAG,EAAEP,gCAAgC,CAAC;EACnE;AACF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- import { isEmptyObject, logger } from "../../common/index.js";
3
+ import { isEmptyObject, isSupportedStyleProp, logger } from "../../common/index.js";
4
4
  import { isSharedValue } from "../../isSharedValue.js";
5
5
  import { isAnimationProp, isCSSKeyframesObject, isCSSKeyframesRule, isPseudoSelectorValue, isTransitionCallbackProp, isTransitionProp } from "./guards.js";
6
6
  export function filterCSSAndStyleProperties(style) {
@@ -54,7 +54,7 @@ export function filterCSSAndStyleProperties(style) {
54
54
  branch.selectorStyle[prop] = selectorValue;
55
55
  branch.defaultStyle[prop] = defaultValue;
56
56
  }
57
- } else if (isEmptyObject(value)) {
57
+ } else if (isEmptyObject(value) && isSupportedStyleProp(prop)) {
58
58
  throw new Error(`[Reanimated] Invalid value for "${prop}": an empty object is not a valid style value.`);
59
59
  } else {
60
60
  filteredStyle[prop] = value;
@@ -1 +1 @@
1
- {"version":3,"names":["isEmptyObject","logger","isSharedValue","isAnimationProp","isCSSKeyframesObject","isCSSKeyframesRule","isPseudoSelectorValue","isTransitionCallbackProp","isTransitionProp","filterCSSAndStyleProperties","style","animationProperties","transitionProperties","transitionCallbacks","filteredStyle","pseudoStylesBySelector","prop","value","Object","entries","undefined","transition","defaultValue","default","selector","selectorValue","branch","selectorStyle","defaultStyle","Error","animationName","hasAnimationName","Array","isArray","every","keyframes","finalAnimationConfig","hasTransitionConfig","keys","length","finalTransitionConfig","hasPseudoStyles","finalPseudoStyles","hasTransitionCallbacks","finalTransitionCallbacks","__DEV__","validateCSSAnimationProps","validateCSSTransitionProps","validateCSSTransitionCallbacks","props","warn","callbacks","callbackNames","isPlural","join"],"sourceRoot":"../../../../src","sources":["css/utils/props.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isEmptyObject","isSupportedStyleProp","logger","isSharedValue","isAnimationProp","isCSSKeyframesObject","isCSSKeyframesRule","isPseudoSelectorValue","isTransitionCallbackProp","isTransitionProp","filterCSSAndStyleProperties","style","animationProperties","transitionProperties","transitionCallbacks","filteredStyle","pseudoStylesBySelector","prop","value","Object","entries","undefined","transition","defaultValue","default","selector","selectorValue","branch","selectorStyle","defaultStyle","Error","animationName","hasAnimationName","Array","isArray","every","keyframes","finalAnimationConfig","hasTransitionConfig","keys","length","finalTransitionConfig","hasPseudoStyles","finalPseudoStyles","hasTransitionCallbacks","finalTransitionCallbacks","__DEV__","validateCSSAnimationProps","validateCSSTransitionProps","validateCSSTransitionCallbacks","props","warn","callbacks","callbackNames","isPlural","join"],"sourceRoot":"../../../../src","sources":["css/utils/props.ts"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,8 @@ import { webPropsBuilder } from "../../common/web/index.js";
5
5
  import { getWebSvgPropsBuilder } from "../svg/web/index.js";
6
6
  import { normalizeWebKeyframes } from "./normalization/index.js";
7
7
  import { parseTimingFunction } from "./utils.js";
8
- export function processKeyframeDefinitions(definitions, componentName = '') {
9
- const propsBuilder = getWebSvgPropsBuilder(componentName) ?? webPropsBuilder;
8
+ export function processKeyframeDefinitions(definitions, svgElementTag = '') {
9
+ const propsBuilder = getWebSvgPropsBuilder(svgElementTag) ?? webPropsBuilder;
10
10
 
11
11
  // Whole-set fixups (strokeDasharray endpoints, open/closed path Z-padding)
12
12
  // before serializing each block.
@@ -1 +1 @@
1
- {"version":3,"names":["hasSuffix","webPropsBuilder","getWebSvgPropsBuilder","normalizeWebKeyframes","parseTimingFunction","processKeyframeDefinitions","definitions","componentName","propsBuilder","keyframes","Object","entries","reduce","acc","timestamp","rules","step","parseFloat","processedBlock","processKeyframeBlock","push","join","animationTimingFunction","style","build"],"sourceRoot":"../../../../src","sources":["css/web/animationParser.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,SAAS,QAAQ,uBAAc;AACxC,SAA+BC,eAAe,QAAQ,2BAAkB;AACxE,SAASC,qBAAqB,QAAQ,qBAAY;AAKlD,SAASC,qBAAqB,QAAQ,0BAAiB;AACvD,SAASC,mBAAmB,QAAQ,YAAS;AAE7C,OAAO,SAASC,0BAA0BA,CACxCC,WAA0C,EAC1CC,aAAa,GAAG,EAAE,EAClB;EACA,MAAMC,YAAY,GAAGN,qBAAqB,CAACK,aAAa,CAAC,IAAIN,eAAe;;EAE5E;EACA;EACA,MAAMQ,SAAS,GAAGN,qBAAqB,CAACG,WAAW,CAAC;EAEpD,OAAOI,MAAM,CAACC,OAAO,CAACF,SAAS,CAAC,CAC7BG,MAAM,CAAW,CAACC,GAAG,EAAE,CAACC,SAAS,EAAEC,KAAK,CAAC,KAAK;IAC7C,MAAMC,IAAI,GAAGhB,SAAS,CAACc,SAAS,CAAC,GAC7BA,SAAS,GACT,GAAGG,UAAU,CAACH,SAAS,CAAC,GAAG,GAAG,GAAG;IAErC,MAAMI,cAAc,GAAGC,oBAAoB,CAACJ,KAAK,EAAEP,YAAY,CAAC;IAEhE,IAAI,CAACU,cAAc,EAAE;MACnB,OAAOL,GAAG;IACZ;IAEAA,GAAG,CAACO,IAAI,CAAC,GAAGJ,IAAI,MAAME,cAAc,IAAI,CAAC;IAEzC,OAAOL,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC,CACLQ,IAAI,CAAC,GAAG,CAAC;AACd;AAEA,SAASF,oBAAoBA,CAC3B;EAAEG,uBAAuB;EAAE,GAAGP;AAAoC,CAAC,EACnEP,YAA6B,EACd;EACf,MAAMe,KAAK,GAAGf,YAAY,CAACgB,KAAK,CAC9BT,KACF,CAAC;EAED,IAAI,CAACQ,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,OAAOD,uBAAuB,GAC1B,8BAA8BlB,mBAAmB,CAACkB,uBAAuB,CAAC,KAAKC,KAAK,EAAE,GACtFA,KAAK;AACX","ignoreList":[]}
1
+ {"version":3,"names":["hasSuffix","webPropsBuilder","getWebSvgPropsBuilder","normalizeWebKeyframes","parseTimingFunction","processKeyframeDefinitions","definitions","svgElementTag","propsBuilder","keyframes","Object","entries","reduce","acc","timestamp","rules","step","parseFloat","processedBlock","processKeyframeBlock","push","join","animationTimingFunction","style","build"],"sourceRoot":"../../../../src","sources":["css/web/animationParser.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,SAAS,QAAQ,uBAAc;AACxC,SAA+BC,eAAe,QAAQ,2BAAkB;AACxE,SAASC,qBAAqB,QAAQ,qBAAY;AAKlD,SAASC,qBAAqB,QAAQ,0BAAiB;AACvD,SAASC,mBAAmB,QAAQ,YAAS;AAE7C,OAAO,SAASC,0BAA0BA,CACxCC,WAA0C,EAC1CC,aAAa,GAAG,EAAE,EAClB;EACA,MAAMC,YAAY,GAAGN,qBAAqB,CAACK,aAAa,CAAC,IAAIN,eAAe;;EAE5E;EACA;EACA,MAAMQ,SAAS,GAAGN,qBAAqB,CAACG,WAAW,CAAC;EAEpD,OAAOI,MAAM,CAACC,OAAO,CAACF,SAAS,CAAC,CAC7BG,MAAM,CAAW,CAACC,GAAG,EAAE,CAACC,SAAS,EAAEC,KAAK,CAAC,KAAK;IAC7C,MAAMC,IAAI,GAAGhB,SAAS,CAACc,SAAS,CAAC,GAC7BA,SAAS,GACT,GAAGG,UAAU,CAACH,SAAS,CAAC,GAAG,GAAG,GAAG;IAErC,MAAMI,cAAc,GAAGC,oBAAoB,CAACJ,KAAK,EAAEP,YAAY,CAAC;IAEhE,IAAI,CAACU,cAAc,EAAE;MACnB,OAAOL,GAAG;IACZ;IAEAA,GAAG,CAACO,IAAI,CAAC,GAAGJ,IAAI,MAAME,cAAc,IAAI,CAAC;IAEzC,OAAOL,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC,CACLQ,IAAI,CAAC,GAAG,CAAC;AACd;AAEA,SAASF,oBAAoBA,CAC3B;EAAEG,uBAAuB;EAAE,GAAGP;AAAoC,CAAC,EACnEP,YAA6B,EACd;EACf,MAAMe,KAAK,GAAGf,YAAY,CAACgB,KAAK,CAC9BT,KACF,CAAC;EAED,IAAI,CAACQ,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,OAAOD,uBAAuB,GAC1B,8BAA8BlB,mBAAmB,CAACkB,uBAAuB,CAAC,KAAKC,KAAK,EAAE,GACtFA,KAAK;AACX","ignoreList":[]}
@@ -13,9 +13,9 @@ export default class CSSAnimationsManager {
13
13
  // Keys are processed keyframes
14
14
  attachedAnimations = {};
15
15
  unmountCleanupCalled = false;
16
- constructor(element, componentName = '') {
16
+ constructor(element, svgElementTag = '') {
17
17
  this.element = element;
18
- this.componentName = componentName;
18
+ this.svgElementTag = svgElementTag;
19
19
  }
20
20
  update(animationProperties) {
21
21
  if (!animationProperties) {
@@ -44,7 +44,7 @@ export default class CSSAnimationsManager {
44
44
  } else {
45
45
  // If keyframes was defined as an object, the additional processing is needed
46
46
  const keyframes = definition;
47
- const processedKeyframes = processKeyframeDefinitions(keyframes, this.componentName);
47
+ const processedKeyframes = processKeyframeDefinitions(keyframes, this.svgElementTag);
48
48
 
49
49
  // If the animation with the same keyframes was already attached, we can reuse it
50
50
  // Otherwise, we need to create a new CSSKeyframesRule object
@@ -1 +1 @@
1
- {"version":3,"names":["convertPropertiesToArrays","kebabizeCamelCase","maybeAddSuffix","removeElementAnimation","normalizeTimeUnit","processKeyframeDefinitions","insertCSSAnimation","removeCSSAnimation","CSSKeyframesRuleImpl","normalizeIterationCount","maybeAddSuffixes","parseTimingFunction","isCSSKeyframesRuleImpl","keyframes","CSSAnimationsManager","attachedAnimations","unmountCleanupCalled","constructor","element","componentName","update","animationProperties","detach","animationName","definitions","animationSettings","length","timestamp","Date","now","processedAnimations","map","definition","processedAnimation","processedKeyframes","keyframesRule","removable","creationTimestamp","elapsedTime","updateAttachedAnimations","setElementAnimations","unmountCleanup","setTimeout","removeAnimationsFromStyleSheet","Object","values","newAttachedAnimations","forEach","rule","name","style","join","animationDuration","animationDelays","animationDelay","i","providedDelay","animationIterationCount","animationDirection","animationFillMode","animationPlayState","animationTimingFunction","animations"],"sourceRoot":"../../../../../src","sources":["css/web/managers/CSSAnimationsManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["convertPropertiesToArrays","kebabizeCamelCase","maybeAddSuffix","removeElementAnimation","normalizeTimeUnit","processKeyframeDefinitions","insertCSSAnimation","removeCSSAnimation","CSSKeyframesRuleImpl","normalizeIterationCount","maybeAddSuffixes","parseTimingFunction","isCSSKeyframesRuleImpl","keyframes","CSSAnimationsManager","attachedAnimations","unmountCleanupCalled","constructor","element","svgElementTag","update","animationProperties","detach","animationName","definitions","animationSettings","length","timestamp","Date","now","processedAnimations","map","definition","processedAnimation","processedKeyframes","keyframesRule","removable","creationTimestamp","elapsedTime","updateAttachedAnimations","setElementAnimations","unmountCleanup","setTimeout","removeAnimationsFromStyleSheet","Object","values","newAttachedAnimations","forEach","rule","name","style","join","animationDuration","animationDelays","animationDelay","i","providedDelay","animationIterationCount","animationDirection","animationFillMode","animationPlayState","animationTimingFunction","animations"],"sourceRoot":"../../../../../src","sources":["css/web/managers/CSSAnimationsManager.ts"],"mappings":"AAAA,YAAY;;AACZ,SACEA,yBAAyB,EAEzBC,iBAAiB,EACjBC,cAAc,QACT,0BAAiB;AACxB,SAASC,sBAAsB,QAAQ,8BAAqB;AAQ5D,SAASC,iBAAiB,QAAQ,sBAAa;AAC/C,SAASC,0BAA0B,QAAQ,uBAAoB;AAC/D,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,gBAAa;AACpE,SAASC,oBAAoB,QAAQ,uBAAc;AACnD,SAASC,uBAAuB,QAAQ,2BAAkB;AAC1D,SAASC,gBAAgB,EAAEC,mBAAmB,QAAQ,aAAU;AAEhE,MAAMC,sBAAsB,GAC1BC,SAA0D,IAE1D,OAAOA,SAAS,KAAK,QAAQ,IAAI,oBAAoB,IAAIA,SAAS;AAWpE,eAAe,MAAMC,oBAAoB,CAAkC;EAIzE;EACQC,kBAAkB,GAAuC,CAAC,CAAC;EAC3DC,oBAAoB,GAAG,KAAK;EAEpCC,WAAWA,CAACC,OAA8B,EAAEC,aAAa,GAAG,EAAE,EAAE;IAC9D,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;EAEAC,MAAMA,CAACC,mBAA0D,EAAE;IACjE,IAAI,CAACA,mBAAmB,EAAE;MACxB,IAAI,CAACC,MAAM,CAAC,CAAC;MACb;IACF;IAEA,MAAM;MAAEC,aAAa,EAAEC,WAAW;MAAE,GAAGC;IAAkB,CAAC,GACxDzB,yBAAyB,CAACqB,mBAAmB,CAAC;IAEhD,IAAIG,WAAW,CAACE,MAAM,KAAK,CAAC,EAAE;MAC5B,IAAI,CAACJ,MAAM,CAAC,CAAC;MACb;IACF;IAEA,MAAMK,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC5B,MAAMC,mBAAmB,GAAGN,WAAW,CAACO,GAAG,CAAEC,UAAU,IAAK;MAC1D,IAAIC,kBAAsC;;MAE1C;MACA,IAAIrB,sBAAsB,CAACoB,UAAU,CAAC,EAAE;QACtCC,kBAAkB,GAAG,IAAI,CAAClB,kBAAkB,CAC1CiB,UAAU,CAACE,kBAAkB,CAC9B,IAAI;UACHC,aAAa,EAAEH,UAAU;UACzBI,SAAS,EAAE,KAAK;UAChBC,iBAAiB,EAAEV;QACrB,CAAC;MACH,CAAC,MAAM;QACL;QACA,MAAMd,SAAS,GAAGmB,UAAmC;QACrD,MAAME,kBAAkB,GAAG7B,0BAA0B,CACnDQ,SAAS,EACT,IAAI,CAACM,aACP,CAAC;;QAED;QACA;QACAc,kBAAkB,GAAG,IAAI,CAAClB,kBAAkB,CAACmB,kBAAkB,CAAC,IAAI;UAClEC,aAAa,EAAE,IAAI3B,oBAAoB,CACrCK,SAAS,EACTqB,kBACF,CAAC;UACDE,SAAS,EAAE,IAAI;UACfC,iBAAiB,EAAEV;QACrB,CAAC;MACH;MAEA,IAAI,IAAI,CAACX,oBAAoB,EAAE;QAC7B;QACA;QACA;QACA;QACA;QACAiB,kBAAkB,CAACK,WAAW,GAC5BX,SAAS,GAAGM,kBAAkB,CAACI,iBAAiB;MACpD;MAEA,OAAOJ,kBAAkB;IAC3B,CAAC,CAAC;IAEF,IAAI,CAACjB,oBAAoB,GAAG,KAAK;IACjC,IAAI,CAACuB,wBAAwB,CAACT,mBAAmB,CAAC;IAClD,IAAI,CAACU,oBAAoB,CAACV,mBAAmB,EAAEL,iBAAiB,CAAC;EACnE;EAEAgB,cAAcA,CAAA,EAAS;IACrB,IAAI,CAAC,IAAI,CAACzB,oBAAoB,EAAE;MAC9B,IAAI,CAACA,oBAAoB,GAAG,IAAI;MAChC;MACA;MACA;MACA;MACA0B,UAAU,CAAC,MAAM;QACf,IAAI,CAACC,8BAA8B,CACjCC,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC9B,kBAAkB,CACvC,CAAC;MACH,CAAC,CAAC;IACJ;EACF;EAEQO,MAAMA,CAAA,EAAG;IACf,MAAMP,kBAAkB,GAAG6B,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC9B,kBAAkB,CAAC;IAEjE,IAAIA,kBAAkB,CAACW,MAAM,KAAK,CAAC,EAAE;MACnC;IACF;IAEAvB,sBAAsB,CAAC,IAAI,CAACe,OAAO,CAAC;IAEpC,IAAI,CAACyB,8BAA8B,CAAC5B,kBAAkB,CAAC;IACvD,IAAI,CAACC,oBAAoB,GAAG,KAAK;IACjC,IAAI,CAACD,kBAAkB,GAAG,CAAC,CAAC;EAC9B;EAEQwB,wBAAwBA,CAACT,mBAAyC,EAAE;IAC1E,MAAMgB,qBAAyD,GAAG,CAAC,CAAC;IAEpEhB,mBAAmB,CAACiB,OAAO,CAAEd,kBAAkB,IAAK;MAClD,MAAMe,IAAI,GAAGf,kBAAkB,CAACE,aAAa;MAC7C,IAAIa,IAAI,CAACd,kBAAkB,EAAE;QAC3B;QACA5B,kBAAkB,CAAC0C,IAAI,CAACC,IAAI,EAAED,IAAI,CAACd,kBAAkB,CAAC;MACxD;MACAY,qBAAqB,CAACE,IAAI,CAACd,kBAAkB,CAAC,GAAGD,kBAAkB;IACrE,CAAC,CAAC;IAEFW,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC9B,kBAAkB,CAAC,CAACgC,OAAO,CAC5C,CAAC;MAAEZ,aAAa,EAAEa,IAAI;MAAEZ;IAAU,CAAC,KAAK;MACtC,IACEA,SAAS,IACTY,IAAI,CAACd,kBAAkB,IACvB,CAACY,qBAAqB,CAACE,IAAI,CAACd,kBAAkB,CAAC,EAC/C;QACA3B,kBAAkB,CAACyC,IAAI,CAACC,IAAI,CAAC;MAC/B;IACF,CACF,CAAC;IAED,IAAI,CAAClC,kBAAkB,GAAG+B,qBAAqB;EACjD;EAEQN,oBAAoBA,CAC1BV,mBAAyC,EACzCL,iBAAoC,EACpC;IACA,IAAI,CAACP,OAAO,CAACgC,KAAK,CAAC3B,aAAa,GAAGO,mBAAmB,CACnDC,GAAG,CAAC,CAAC;MAAEI,aAAa,EAAE;QAAEc;MAAK;IAAE,CAAC,KAAKA,IAAI,CAAC,CAC1CE,IAAI,CAAC,GAAG,CAAC;IAEZ,IAAI,CAACjC,OAAO,CAACgC,KAAK,CAACE,iBAAiB,GAAG1C,gBAAgB,CACrDe,iBAAiB,EACjB,mBAAmB,EACnB,IACF,CAAC,CAAC0B,IAAI,CAAC,GAAG,CAAC;IAEX,MAAME,eAAe,GAAG5B,iBAAiB,CAAC6B,cAAc,IAAI,EAAE;IAC9D,IAAI,CAACpC,OAAO,CAACgC,KAAK,CAACI,cAAc,GAAGxB,mBAAmB,CACpDC,GAAG,CAAC,CAAC;MAAEO;IAAY,CAAC,EAAEiB,CAAC,KAAK;MAC3B,MAAMC,aAAa,GAAGH,eAAe,CAACE,CAAC,CAAC,IAAI,CAAC;MAC7C,OAAOrD,cAAc,CACnBoC,WAAW,GACP,CAAClC,iBAAiB,CAACoD,aAAa,CAAC,IAAI,CAAC,IAAIlB,WAAW,GACrDkB,aAAa,EACjB,IACF,CAAC;IACH,CAAC,CAAC,CACDL,IAAI,CAAC,GAAG,CAAC;IAEZ,IAAI1B,iBAAiB,CAACgC,uBAAuB,EAAE;MAC7C,IAAI,CAACvC,OAAO,CAACgC,KAAK,CAACO,uBAAuB,GACxChC,iBAAiB,CAACgC,uBAAuB,CACtC1B,GAAG,CAACtB,uBAAuB,CAAC,CAC5B0C,IAAI,CAAC,GAAG,CAAC;IAChB;IAEA,IAAI1B,iBAAiB,CAACiC,kBAAkB,EAAE;MACxC,IAAI,CAACxC,OAAO,CAACgC,KAAK,CAACQ,kBAAkB,GACnCjC,iBAAiB,CAACiC,kBAAkB,CAAC3B,GAAG,CAAC9B,iBAAiB,CAAC,CAACkD,IAAI,CAAC,GAAG,CAAC;IACzE;IAEA,IAAI1B,iBAAiB,CAACkC,iBAAiB,EAAE;MACvC,IAAI,CAACzC,OAAO,CAACgC,KAAK,CAACS,iBAAiB,GAClClC,iBAAiB,CAACkC,iBAAiB,CAACR,IAAI,CAAC,GAAG,CAAC;IACjD;IAEA,IAAI1B,iBAAiB,CAACmC,kBAAkB,EAAE;MACxC,IAAI,CAAC1C,OAAO,CAACgC,KAAK,CAACU,kBAAkB,GACnCnC,iBAAiB,CAACmC,kBAAkB,CAACT,IAAI,CAAC,GAAG,CAAC;IAClD;IAEA,IAAI1B,iBAAiB,CAACoC,uBAAuB,EAAE;MAC7C,IAAI,CAAC3C,OAAO,CAACgC,KAAK,CAACW,uBAAuB,GAAGlD,mBAAmB,CAC9Dc,iBAAiB,CAACoC,uBACpB,CAAC;IACH;EACF;EAEQlB,8BAA8BA,CAACmB,UAAgC,EAAE;IACvEA,UAAU,CAACf,OAAO,CAChB,CAAC;MAAEZ,aAAa,EAAE;QAAEc,IAAI;QAAEf;MAAmB,CAAC;MAAEE;IAAU,CAAC,KAAK;MAC9D,IAAIA,SAAS,IAAIF,kBAAkB,EAAE;QACnC3B,kBAAkB,CAAC0C,IAAI,CAAC;MAC1B;IACF,CACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -9,9 +9,10 @@ export default class CSSManager {
9
9
  constructor(viewInfo, componentDisplayName = '') {
10
10
  configureWebCSS();
11
11
  const element = viewInfo.DOMElement;
12
- this.animationsManager = new CSSAnimationsManager(element, componentDisplayName);
12
+ const svgElementTag = element?.tagName ?? componentDisplayName;
13
+ this.animationsManager = new CSSAnimationsManager(element, svgElementTag);
13
14
  this.transitionsManager = new CSSTransitionsManager(element);
14
- this.pseudoSelectorsManager = new CSSPseudoSelectorsManager(element, componentDisplayName);
15
+ this.pseudoSelectorsManager = new CSSPseudoSelectorsManager(element, svgElementTag);
15
16
  }
16
17
  update(style) {
17
18
  const [animationProperties, transitionProperties, pseudoStylesBySelector, transitionCallbacks] = filterCSSAndStyleProperties(style);
@@ -1 +1 @@
1
- {"version":3,"names":["filterCSSAndStyleProperties","configureWebCSS","CSSAnimationsManager","CSSPseudoSelectorsManager","CSSTransitionsManager","CSSManager","constructor","viewInfo","componentDisplayName","element","DOMElement","animationsManager","transitionsManager","pseudoSelectorsManager","update","style","animationProperties","transitionProperties","pseudoStylesBySelector","transitionCallbacks","unmountCleanup"],"sourceRoot":"../../../../../src","sources":["css/web/managers/CSSManager.ts"],"mappings":"AAAA,YAAY;;AAKZ,SAASA,2BAA2B,QAAQ,sBAAa;AACzD,SAASC,eAAe,QAAQ,gBAAa;AAC7C,OAAOC,oBAAoB,MAAM,2BAAwB;AACzD,OAAOC,yBAAyB,MAAM,gCAA6B;AACnE,OAAOC,qBAAqB,MAAM,4BAAyB;AAE3D,eAAe,MAAMC,UAAU,CAAwB;EAKrDC,WAAWA,CAACC,QAAkB,EAAEC,oBAAoB,GAAG,EAAE,EAAE;IACzDP,eAAe,CAAC,CAAC;IAEjB,MAAMQ,OAAO,GAAGF,QAAQ,CAACG,UAAmC;IAE5D,IAAI,CAACC,iBAAiB,GAAG,IAAIT,oBAAoB,CAC/CO,OAAO,EACPD,oBACF,CAAC;IACD,IAAI,CAACI,kBAAkB,GAAG,IAAIR,qBAAqB,CAACK,OAAO,CAAC;IAC5D,IAAI,CAACI,sBAAsB,GAAG,IAAIV,yBAAyB,CACzDM,OAAO,EACPD,oBACF,CAAC;EACH;EAEAM,MAAMA,CAACC,KAAe,EAAQ;IAC5B,MAAM,CACJC,mBAAmB,EACnBC,oBAAoB,EACpBC,sBAAsB,EACtBC,mBAAmB,CACpB,GAAGnB,2BAA2B,CAACe,KAAK,CAAC;IAEtC,IAAI,CAACJ,iBAAiB,CAACG,MAAM,CAACE,mBAAmB,CAAC;IAClD,IAAI,CAACJ,kBAAkB,CAACE,MAAM,CAACG,oBAAoB,EAAEE,mBAAmB,CAAC;IACzE,IAAI,CAACN,sBAAsB,CAACC,MAAM,CAACI,sBAAsB,CAAC;EAC5D;EAEAE,cAAcA,CAAA,EAAS;IACrB,IAAI,CAACT,iBAAiB,CAACS,cAAc,CAAC,CAAC;IACvC,IAAI,CAACR,kBAAkB,CAACQ,cAAc,CAAC,CAAC;IACxC,IAAI,CAACP,sBAAsB,CAACO,cAAc,CAAC,CAAC;EAC9C;AACF","ignoreList":[]}
1
+ {"version":3,"names":["filterCSSAndStyleProperties","configureWebCSS","CSSAnimationsManager","CSSPseudoSelectorsManager","CSSTransitionsManager","CSSManager","constructor","viewInfo","componentDisplayName","element","DOMElement","svgElementTag","tagName","animationsManager","transitionsManager","pseudoSelectorsManager","update","style","animationProperties","transitionProperties","pseudoStylesBySelector","transitionCallbacks","unmountCleanup"],"sourceRoot":"../../../../../src","sources":["css/web/managers/CSSManager.ts"],"mappings":"AAAA,YAAY;;AAKZ,SAASA,2BAA2B,QAAQ,sBAAa;AACzD,SAASC,eAAe,QAAQ,gBAAa;AAC7C,OAAOC,oBAAoB,MAAM,2BAAwB;AACzD,OAAOC,yBAAyB,MAAM,gCAA6B;AACnE,OAAOC,qBAAqB,MAAM,4BAAyB;AAE3D,eAAe,MAAMC,UAAU,CAAwB;EAKrDC,WAAWA,CAACC,QAAkB,EAAEC,oBAAoB,GAAG,EAAE,EAAE;IACzDP,eAAe,CAAC,CAAC;IAEjB,MAAMQ,OAAO,GAAGF,QAAQ,CAACG,UAAmC;IAC5D,MAAMC,aAAa,GAAGF,OAAO,EAAEG,OAAO,IAAIJ,oBAAoB;IAE9D,IAAI,CAACK,iBAAiB,GAAG,IAAIX,oBAAoB,CAACO,OAAO,EAAEE,aAAa,CAAC;IACzE,IAAI,CAACG,kBAAkB,GAAG,IAAIV,qBAAqB,CAACK,OAAO,CAAC;IAC5D,IAAI,CAACM,sBAAsB,GAAG,IAAIZ,yBAAyB,CACzDM,OAAO,EACPE,aACF,CAAC;EACH;EAEAK,MAAMA,CAACC,KAAe,EAAQ;IAC5B,MAAM,CACJC,mBAAmB,EACnBC,oBAAoB,EACpBC,sBAAsB,EACtBC,mBAAmB,CACpB,GAAGrB,2BAA2B,CAACiB,KAAK,CAAC;IAEtC,IAAI,CAACJ,iBAAiB,CAACG,MAAM,CAACE,mBAAmB,CAAC;IAClD,IAAI,CAACJ,kBAAkB,CAACE,MAAM,CAACG,oBAAoB,EAAEE,mBAAmB,CAAC;IACzE,IAAI,CAACN,sBAAsB,CAACC,MAAM,CAACI,sBAAsB,CAAC;EAC5D;EAEAE,cAAcA,CAAA,EAAS;IACrB,IAAI,CAACT,iBAAiB,CAACS,cAAc,CAAC,CAAC;IACvC,IAAI,CAACR,kBAAkB,CAACQ,cAAc,CAAC,CAAC;IACxC,IAAI,CAACP,sBAAsB,CAACO,cAAc,CAAC,CAAC;EAC9C;AACF","ignoreList":[]}
@@ -47,9 +47,9 @@ function buildRules(viewId, pseudoStylesBySelector, propsBuilder) {
47
47
  export default class CSSPseudoSelectorsManager {
48
48
  viewId = null;
49
49
  prevPseudoStylesBySelector = null;
50
- constructor(element, componentName = '') {
50
+ constructor(element, svgElementTag = '') {
51
51
  this.element = element;
52
- this.componentName = componentName;
52
+ this.svgElementTag = svgElementTag;
53
53
  }
54
54
  update(pseudoStylesBySelector) {
55
55
  if (deepEqual(pseudoStylesBySelector, this.prevPseudoStylesBySelector)) {
@@ -60,7 +60,7 @@ export default class CSSPseudoSelectorsManager {
60
60
  this.detach();
61
61
  return;
62
62
  }
63
- const propsBuilder = getWebSvgPropsBuilder(this.componentName) ?? webPropsBuilder;
63
+ const propsBuilder = getWebSvgPropsBuilder(this.svgElementTag) ?? webPropsBuilder;
64
64
  const viewId = this.ensureViewId();
65
65
  this.syncActiveMarker(pseudoStylesBySelector);
66
66
  insertPseudoSelectorCSS(viewId, buildRules(viewId, pseudoStylesBySelector, propsBuilder));
@@ -1 +1 @@
1
- {"version":3,"names":["logger","webPropsBuilder","ANIMATION_NAME_PREFIX","NATIVE_PSEUDO_SELECTORS","NATIVE_PSEUDO_SELECTORS_PRIORITY","getWebSvgPropsBuilder","deepEqual","insertPseudoSelectorCSS","removePseudoSelectorCSS","pseudoSelectorCounter","VIEW_ATTRIBUTE","ACTIVE_MARKER_ATTRIBUTE","orderSelectors","pseudoStylesBySelector","known","filter","sel","unknown","Object","keys","has","SELECTOR_INJECTION_PATTERN","buildSelectorRule","viewId","selector","propsBuilder","test","__DEV__","warn","declarations","build","selectorStyle","important","includeUnprocessed","base","buildRules","map","rule","CSSPseudoSelectorsManager","prevPseudoStylesBySelector","constructor","element","componentName","update","detach","ensureViewId","syncActiveMarker","unmountCleanup","String","setAttribute","hasAnyActive","removeAttribute"],"sourceRoot":"../../../../../src","sources":["css/web/managers/CSSPseudoSelectorsManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","webPropsBuilder","ANIMATION_NAME_PREFIX","NATIVE_PSEUDO_SELECTORS","NATIVE_PSEUDO_SELECTORS_PRIORITY","getWebSvgPropsBuilder","deepEqual","insertPseudoSelectorCSS","removePseudoSelectorCSS","pseudoSelectorCounter","VIEW_ATTRIBUTE","ACTIVE_MARKER_ATTRIBUTE","orderSelectors","pseudoStylesBySelector","known","filter","sel","unknown","Object","keys","has","SELECTOR_INJECTION_PATTERN","buildSelectorRule","viewId","selector","propsBuilder","test","__DEV__","warn","declarations","build","selectorStyle","important","includeUnprocessed","base","buildRules","map","rule","CSSPseudoSelectorsManager","prevPseudoStylesBySelector","constructor","element","svgElementTag","update","detach","ensureViewId","syncActiveMarker","unmountCleanup","String","setAttribute","hasAnyActive","removeAttribute"],"sourceRoot":"../../../../../src","sources":["css/web/managers/CSSPseudoSelectorsManager.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,MAAM,QAAQ,0BAAiB;AACxC,SAA+BC,eAAe,QAAQ,8BAAqB;AAE3E,SACEC,qBAAqB,EACrBC,uBAAuB,EACvBC,gCAAgC,QAC3B,0BAAiB;AACxB,SAASC,qBAAqB,QAAQ,wBAAe;AAGrD,SAASC,SAAS,QAAQ,sBAAa;AACvC,SAASC,uBAAuB,EAAEC,uBAAuB,QAAQ,gBAAa;AAE9E,IAAIC,qBAAqB,GAAG,CAAC;AAE7B,MAAMC,cAAc,GAAG,QAAQR,qBAAqB,KAAK;AACzD,MAAMS,uBAAuB,GAAG,QAAQT,qBAAqB,YAAY;;AAEzE;AACA;AACA,SAASU,cAAcA,CACrBC,sBAA8C,EACpC;EACV,MAAMC,KAAK,GAAGV,gCAAgC,CAACW,MAAM,CAClDC,GAAG,IAAKA,GAAG,IAAIH,sBAClB,CAAC;EACD,MAAMI,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACN,sBAAsB,CAAC,CAACE,MAAM,CACvDC,GAAG,IAAK,CAACb,uBAAuB,CAACiB,GAAG,CAACJ,GAA8B,CACtE,CAAC;EACD,OAAO,CAAC,GAAGF,KAAK,EAAE,GAAGG,OAAO,CAAC;AAC/B;AAEA,MAAMI,0BAA0B,GAAG,QAAQ;AAE3C,SAASC,iBAAiBA,CACxBC,MAAc,EACdC,QAAgB,EAChBX,sBAA8C,EAC9CY,YAA6B,EACd;EACf,IAAIJ,0BAA0B,CAACK,IAAI,CAACF,QAAQ,CAAC,EAAE;IAC7C,IAAIG,OAAO,EAAE;MACX3B,MAAM,CAAC4B,IAAI,CAAC,yCAAyCJ,QAAQ,IAAI,CAAC;IACpE;IACA,OAAO,IAAI;EACb;;EAEA;EACA;EACA,MAAMK,YAAY,GAAGJ,YAAY,CAACK,KAAK,CACrCjB,sBAAsB,CAACW,QAAQ,CAAC,CAACO,aAAa,EAC9C;IAAEC,SAAS,EAAE,IAAI;IAAEC,kBAAkB,EAAE;EAAK,CAC9C,CAAC;EACD,IAAI,CAACJ,YAAY,EAAE;IACjB,OAAO,IAAI;EACb;EACA,MAAMK,IAAI,GAAG,IAAIxB,cAAc,KAAKa,MAAM,IAAI;EAE9C,IAAIC,QAAQ,KAAK,iBAAiB,EAAE;IAClC,OAAO,GAAGU,IAAI,qBAAqBvB,uBAAuB,uBAAuBkB,YAAY,IAAI;EACnG;EACA,OAAO,GAAGK,IAAI,GAAGV,QAAQ,MAAMK,YAAY,IAAI;AACjD;AAEA,SAASM,UAAUA,CACjBZ,MAAc,EACdV,sBAA8C,EAC9CY,YAA6B,EACnB;EACV,OAAOb,cAAc,CAACC,sBAAsB,CAAC,CAC1CuB,GAAG,CAAEZ,QAAQ,IACZF,iBAAiB,CAACC,MAAM,EAAEC,QAAQ,EAAEX,sBAAsB,EAAEY,YAAY,CAC1E,CAAC,CACAV,MAAM,CAAEsB,IAAI,IAAqBA,IAAI,KAAK,IAAI,CAAC;AACpD;AAEA,eAAe,MAAMC,yBAAyB,CAAC;EAGrCf,MAAM,GAAkB,IAAI;EAC5BgB,0BAA0B,GAAkC,IAAI;EAExEC,WAAWA,CAACC,OAA8B,EAAEC,aAAa,GAAG,EAAE,EAAE;IAC9D,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;EAEAC,MAAMA,CAAC9B,sBAAqD,EAAQ;IAClE,IAAIP,SAAS,CAACO,sBAAsB,EAAE,IAAI,CAAC0B,0BAA0B,CAAC,EAAE;MACtE;IACF;IACA,IAAI,CAACA,0BAA0B,GAAG1B,sBAAsB;IAExD,IAAI,CAACA,sBAAsB,EAAE;MAC3B,IAAI,CAAC+B,MAAM,CAAC,CAAC;MACb;IACF;IAEA,MAAMnB,YAAY,GAChBpB,qBAAqB,CAAC,IAAI,CAACqC,aAAa,CAAC,IAAIzC,eAAe;IAE9D,MAAMsB,MAAM,GAAG,IAAI,CAACsB,YAAY,CAAC,CAAC;IAClC,IAAI,CAACC,gBAAgB,CAACjC,sBAAsB,CAAC;IAC7CN,uBAAuB,CACrBgB,MAAM,EACNY,UAAU,CAACZ,MAAM,EAAEV,sBAAsB,EAAEY,YAAY,CACzD,CAAC;EACH;EAEAsB,cAAcA,CAAA,EAAS;IACrB,IAAI,CAACH,MAAM,CAAC,CAAC;EACf;EAEQC,YAAYA,CAAA,EAAW;IAC7B,IAAI,IAAI,CAACtB,MAAM,KAAK,IAAI,EAAE;MACxB,IAAI,CAACA,MAAM,GAAGyB,MAAM,CAACvC,qBAAqB,EAAE,CAAC;MAC7C,IAAI,CAACgC,OAAO,CAACQ,YAAY,CAACvC,cAAc,EAAE,IAAI,CAACa,MAAM,CAAC;IACxD;IACA,OAAO,IAAI,CAACA,MAAM;EACpB;EAEQuB,gBAAgBA,CACtBjC,sBAA8C,EACxC;IACN;IACA;IACA;IACA,MAAMqC,YAAY,GAChB,SAAS,IAAIrC,sBAAsB,IACnC,iBAAiB,IAAIA,sBAAsB;IAE7C,IAAIqC,YAAY,EAAE;MAChB,IAAI,CAACT,OAAO,CAACQ,YAAY,CAACtC,uBAAuB,EAAE,MAAM,CAAC;IAC5D,CAAC,MAAM;MACL,IAAI,CAAC8B,OAAO,CAACU,eAAe,CAACxC,uBAAuB,CAAC;IACvD;EACF;EAEQiC,MAAMA,CAAA,EAAS;IACrB,IAAI,IAAI,CAACrB,MAAM,KAAK,IAAI,EAAE;MACxB,IAAI,CAACkB,OAAO,CAACU,eAAe,CAACzC,cAAc,CAAC;MAC5C,IAAI,CAAC+B,OAAO,CAACU,eAAe,CAACxC,uBAAuB,CAAC;MACrDH,uBAAuB,CAAC,IAAI,CAACe,MAAM,CAAC;MACpC,IAAI,CAACA,MAAM,GAAG,IAAI;IACpB;EACF;AACF","ignoreList":[]}
@@ -5,5 +5,5 @@
5
5
  * version used to build the native part of the library in runtime. Remember to
6
6
  * keep this in sync with the version declared in `package.json`
7
7
  */
8
- export const jsVersion = '4.5.0';
8
+ export const jsVersion = '4.5.1';
9
9
  //# sourceMappingURL=jsVersion.js.map
@@ -5,9 +5,11 @@ export function valueSetter(mutable, value, forceUpdate = false) {
5
5
 
6
6
  const previousAnimation = mutable._animation;
7
7
  if (previousAnimation) {
8
- previousAnimation.cancelled = true;
9
- previousAnimation.callback?.(false);
10
8
  mutable._animation = null;
9
+ if (!previousAnimation.finished) {
10
+ previousAnimation.cancelled = true;
11
+ previousAnimation.callback?.(false);
12
+ }
11
13
  }
12
14
  if (typeof value === 'function' || value !== null && typeof value === 'object' &&
13
15
  // TODO TYPESCRIPT fix this after fixing AnimationObject type
@@ -36,10 +38,10 @@ export function valueSetter(mutable, value, forceUpdate = false) {
36
38
  return;
37
39
  }
38
40
  const finished = animation.onFrame(animation, timestamp);
39
- animation.finished = true;
40
41
  animation.timestamp = timestamp;
41
42
  mutable._value = animation.current;
42
43
  if (finished) {
44
+ animation.finished = true;
43
45
  animation.callback?.(true /* finished */);
44
46
  } else {
45
47
  requestAnimationFrame(step);
@@ -1 +1 @@
1
- {"version":3,"names":["valueSetter","mutable","value","forceUpdate","previousAnimation","_animation","cancelled","callback","onFrame","undefined","onStart","animation","_value","current","isHigherOrder","initializeAnimation","timestamp","currentTimestamp","global","__frameTimestamp","_getAnimationTimestamp","step","finished","requestAnimationFrame"],"sourceRoot":"../../src","sources":["valueSetter.ts"],"mappings":"AAAA,YAAY;;AAGZ,OAAO,SAASA,WAAWA,CACzBC,OAAuB,EACvBC,KAAY,EACZC,WAAW,GAAG,KAAK,EACb;EACN,SAAS;;EACT,MAAMC,iBAAiB,GAAGH,OAAO,CAACI,UAAU;EAC5C,IAAID,iBAAiB,EAAE;IACrBA,iBAAiB,CAACE,SAAS,GAAG,IAAI;IAClCF,iBAAiB,CAACG,QAAQ,GAAG,KAAK,CAAC;IACnCN,OAAO,CAACI,UAAU,GAAG,IAAI;EAC3B;EACA,IACE,OAAOH,KAAK,KAAK,UAAU,IAC1BA,KAAK,KAAK,IAAI,IACb,OAAOA,KAAK,KAAK,QAAQ;EACzB;EACCA,KAAK,CAAgCM,OAAO,KAAKC,SAAS,IAC1DP,KAAK,CAAgCQ,OAAO,KAAKD,SAAU,EAC9D;IACA,MAAME,SAAiC,GACrC,OAAOT,KAAK,KAAK,UAAU;IACvB;IACCA,KAAK,CAAkC,CAAC;IACzC;IACCA,KAA2C;IAClD;IACA;IACA;IACA;IACA,IACED,OAAO,CAACW,MAAM,KAAKD,SAAS,CAACE,OAAO,IACpC,CAACF,SAAS,CAACG,aAAa,IACxB,CAACX,WAAW,EACZ;MACAQ,SAAS,CAACJ,QAAQ,GAAG,IAAI,CAAC;MAC1B;IACF;IACA;IACA,MAAMQ,mBAAmB,GAAIC,SAAiB,IAAK;MACjDL,SAAS,CAACD,OAAO,CAACC,SAAS,EAAEV,OAAO,CAACC,KAAK,EAAEc,SAAS,EAAEZ,iBAAiB,CAAC;IAC3E,CAAC;IACD,MAAMa,gBAAgB,GACpBC,MAAM,CAACC,gBAAgB,IAAID,MAAM,CAACE,sBAAsB,CAAC,CAAC;IAC5DL,mBAAmB,CAACE,gBAAgB,CAAC;IAErC,MAAMI,IAAI,GAAIL,SAAiB,IAAK;MAClC,IAAIL,SAAS,CAACL,SAAS,EAAE;QACvB;MACF;MACA,MAAMgB,QAAQ,GAAGX,SAAS,CAACH,OAAO,CAACG,SAAS,EAAEK,SAAS,CAAC;MACxDL,SAAS,CAACW,QAAQ,GAAG,IAAI;MACzBX,SAAS,CAACK,SAAS,GAAGA,SAAS;MAC/Bf,OAAO,CAACW,MAAM,GAAGD,SAAS,CAACE,OAAQ;MACnC,IAAIS,QAAQ,EAAE;QACZX,SAAS,CAACJ,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;MAC3C,CAAC,MAAM;QACLgB,qBAAqB,CAACF,IAAI,CAAC;MAC7B;IACF,CAAC;IAEDpB,OAAO,CAACI,UAAU,GAAGM,SAAS;IAE9BU,IAAI,CAACJ,gBAAgB,CAAC;EACxB,CAAC,MAAM;IACL;IACA;IACA,IAAIhB,OAAO,CAACW,MAAM,KAAKV,KAAK,IAAI,CAACC,WAAW,EAAE;MAC5C;IACF;IACAF,OAAO,CAACW,MAAM,GAAGV,KAAK;EACxB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["valueSetter","mutable","value","forceUpdate","previousAnimation","_animation","finished","cancelled","callback","onFrame","undefined","onStart","animation","_value","current","isHigherOrder","initializeAnimation","timestamp","currentTimestamp","global","__frameTimestamp","_getAnimationTimestamp","step","requestAnimationFrame"],"sourceRoot":"../../src","sources":["valueSetter.ts"],"mappings":"AAAA,YAAY;;AAGZ,OAAO,SAASA,WAAWA,CACzBC,OAAuB,EACvBC,KAAY,EACZC,WAAW,GAAG,KAAK,EACb;EACN,SAAS;;EACT,MAAMC,iBAAiB,GAAGH,OAAO,CAACI,UAAU;EAC5C,IAAID,iBAAiB,EAAE;IACrBH,OAAO,CAACI,UAAU,GAAG,IAAI;IACzB,IAAI,CAACD,iBAAiB,CAACE,QAAQ,EAAE;MAC/BF,iBAAiB,CAACG,SAAS,GAAG,IAAI;MAClCH,iBAAiB,CAACI,QAAQ,GAAG,KAAK,CAAC;IACrC;EACF;EACA,IACE,OAAON,KAAK,KAAK,UAAU,IAC1BA,KAAK,KAAK,IAAI,IACb,OAAOA,KAAK,KAAK,QAAQ;EACzB;EACCA,KAAK,CAAgCO,OAAO,KAAKC,SAAS,IAC1DR,KAAK,CAAgCS,OAAO,KAAKD,SAAU,EAC9D;IACA,MAAME,SAAiC,GACrC,OAAOV,KAAK,KAAK,UAAU;IACvB;IACCA,KAAK,CAAkC,CAAC;IACzC;IACCA,KAA2C;IAClD;IACA;IACA;IACA;IACA,IACED,OAAO,CAACY,MAAM,KAAKD,SAAS,CAACE,OAAO,IACpC,CAACF,SAAS,CAACG,aAAa,IACxB,CAACZ,WAAW,EACZ;MACAS,SAAS,CAACJ,QAAQ,GAAG,IAAI,CAAC;MAC1B;IACF;IACA;IACA,MAAMQ,mBAAmB,GAAIC,SAAiB,IAAK;MACjDL,SAAS,CAACD,OAAO,CAACC,SAAS,EAAEX,OAAO,CAACC,KAAK,EAAEe,SAAS,EAAEb,iBAAiB,CAAC;IAC3E,CAAC;IACD,MAAMc,gBAAgB,GACpBC,MAAM,CAACC,gBAAgB,IAAID,MAAM,CAACE,sBAAsB,CAAC,CAAC;IAC5DL,mBAAmB,CAACE,gBAAgB,CAAC;IAErC,MAAMI,IAAI,GAAIL,SAAiB,IAAK;MAClC,IAAIL,SAAS,CAACL,SAAS,EAAE;QACvB;MACF;MACA,MAAMD,QAAQ,GAAGM,SAAS,CAACH,OAAO,CAACG,SAAS,EAAEK,SAAS,CAAC;MACxDL,SAAS,CAACK,SAAS,GAAGA,SAAS;MAC/BhB,OAAO,CAACY,MAAM,GAAGD,SAAS,CAACE,OAAQ;MACnC,IAAIR,QAAQ,EAAE;QACZM,SAAS,CAACN,QAAQ,GAAG,IAAI;QACzBM,SAAS,CAACJ,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;MAC3C,CAAC,MAAM;QACLe,qBAAqB,CAACD,IAAI,CAAC;MAC7B;IACF,CAAC;IAEDrB,OAAO,CAACI,UAAU,GAAGO,SAAS;IAE9BU,IAAI,CAACJ,gBAAgB,CAAC;EACxB,CAAC,MAAM;IACL;IACA;IACA,IAAIjB,OAAO,CAACY,MAAM,KAAKX,KAAK,IAAI,CAACC,WAAW,EAAE;MAC5C;IACF;IACAF,OAAO,CAACY,MAAM,GAAGX,KAAK;EACxB;AACF","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import type { UnknownRecord } from '../types';
2
2
  import { type NativePropsBuilder, type PropsBuilderConfig } from './propsBuilder';
3
+ export declare function isSupportedStyleProp(prop: string): boolean;
3
4
  export declare function getCompoundComponentName(reactViewName: string, componentDisplayName: string): string;
4
5
  export declare function getPropsBuilder(compoundComponentName: string): NativePropsBuilder;
5
6
  export declare function registerComponentPropsBuilder<P extends UnknownRecord>(componentName: string | RegExp | ((name: string) => boolean), config: PropsBuilderConfig<P>, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/common/style/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAExB,MAAM,gBAAgB,CAAC;AA4CxB,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAER;AAED,wBAAgB,eAAe,CAC7B,qBAAqB,EAAE,MAAM,GAC5B,kBAAkB,CAEpB;AAED,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,aAAa,EACnE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,EAC5D,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC7B,OAAO,GAAE;IACP,sCAAsC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvD,QAeP;AAED,wBAAgB,yCAAyC,CACvD,qBAAqB,EAAE,MAAM,GAC5B,WAAW,CAAC,MAAM,CAAC,CAKrB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/common/style/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAExB,MAAM,gBAAgB,CAAC;AAwBxB,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AA0BD,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAER;AAED,wBAAgB,eAAe,CAC7B,qBAAqB,EAAE,MAAM,GAC5B,kBAAkB,CAEpB;AAED,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,aAAa,EACnE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,EAC5D,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC7B,OAAO,GAAE;IACP,sCAAsC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvD,QAmBP;AAED,wBAAgB,yCAAyC,CACvD,qBAAqB,EAAE,MAAM,GAC5B,WAAW,CAAC,MAAM,CAAC,CAKrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CSSPseudoStylesManager.d.ts","sourceRoot":"","sources":["../../../../../src/css/native/managers/CSSPseudoStylesManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,iBAAiB,CAAC;AAEzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAU1D,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,uBAAuB;IAC5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD,OAAO,CAAC,0BAA0B,CAAuC;IACzE,OAAO,CAAC,wBAAwB,CAAwC;IACxE,OAAO,CAAC,YAAY,CAAS;gBAG3B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,kBAAkB;IAOlC,MAAM,CACJ,sBAAsB,EAAE,sBAAsB,GAAG,IAAI,EACrD,oBAAoB,EAAE,uBAAuB,GAAG,IAAI,GACnD,IAAI;IAkEP,cAAc,IAAI,IAAI;IAMtB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,qBAAqB;CAiC9B"}
1
+ {"version":3,"file":"CSSPseudoStylesManager.d.ts","sourceRoot":"","sources":["../../../../../src/css/native/managers/CSSPseudoStylesManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,iBAAiB,CAAC;AAEzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAU1D,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,uBAAuB;IAC5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD,OAAO,CAAC,0BAA0B,CAAuC;IACzE,OAAO,CAAC,wBAAwB,CAAwC;IACxE,OAAO,CAAC,YAAY,CAAS;gBAG3B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,kBAAkB;IAOlC,MAAM,CACJ,sBAAsB,EAAE,sBAAsB,GAAG,IAAI,EACrD,oBAAoB,EAAE,uBAAuB,GAAG,IAAI,GACnD,IAAI;IAkEP,cAAc,IAAI,IAAI;IAQtB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,qBAAqB;CAiC9B"}
@@ -1,3 +1,3 @@
1
1
  import type { CSSAnimationKeyframes } from '../types';
2
- export declare function processKeyframeDefinitions<TStyle extends object>(definitions: CSSAnimationKeyframes<TStyle>, componentName?: string): string;
2
+ export declare function processKeyframeDefinitions<TStyle extends object>(definitions: CSSAnimationKeyframes<TStyle>, svgElementTag?: string): string;
3
3
  //# sourceMappingURL=animationParser.d.ts.map
@@ -2,10 +2,10 @@ import type { ReanimatedHTMLElement } from '../../../ReanimatedModule/js-reanima
2
2
  import type { ExistingCSSAnimationProperties, ICSSAnimationsManager } from '../../types';
3
3
  export default class CSSAnimationsManager implements ICSSAnimationsManager {
4
4
  private readonly element;
5
- private readonly componentName;
5
+ private readonly svgElementTag;
6
6
  private attachedAnimations;
7
7
  private unmountCleanupCalled;
8
- constructor(element: ReanimatedHTMLElement, componentName?: string);
8
+ constructor(element: ReanimatedHTMLElement, svgElementTag?: string);
9
9
  update(animationProperties: ExistingCSSAnimationProperties | null): void;
10
10
  unmountCleanup(): void;
11
11
  private detach;
@@ -1 +1 @@
1
- {"version":3,"file":"CSSManager.d.ts","sourceRoot":"","sources":["../../../../../src/css/web/managers/CSSManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAE7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAO1D,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,WAAW;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4B;gBAEvD,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,SAAK;IAgBzD,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAa7B,cAAc,IAAI,IAAI;CAKvB"}
1
+ {"version":3,"file":"CSSManager.d.ts","sourceRoot":"","sources":["../../../../../src/css/web/managers/CSSManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAE7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAO1D,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,WAAW;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4B;gBAEvD,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,SAAK;IAczD,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAa7B,cAAc,IAAI,IAAI;CAKvB"}
@@ -2,10 +2,10 @@ import type { ReanimatedHTMLElement } from '../../../ReanimatedModule/js-reanima
2
2
  import type { PseudoStylesBySelector } from '../../utils';
3
3
  export default class CSSPseudoSelectorsManager {
4
4
  private readonly element;
5
- private readonly componentName;
5
+ private readonly svgElementTag;
6
6
  private viewId;
7
7
  private prevPseudoStylesBySelector;
8
- constructor(element: ReanimatedHTMLElement, componentName?: string);
8
+ constructor(element: ReanimatedHTMLElement, svgElementTag?: string);
9
9
  update(pseudoStylesBySelector: PseudoStylesBySelector | null): void;
10
10
  unmountCleanup(): void;
11
11
  private ensureViewId;
@@ -3,5 +3,5 @@
3
3
  * version used to build the native part of the library in runtime. Remember to
4
4
  * keep this in sync with the version declared in `package.json`
5
5
  */
6
- export declare const jsVersion = "4.5.0";
6
+ export declare const jsVersion = "4.5.1";
7
7
  //# sourceMappingURL=jsVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"valueSetter.d.ts","sourceRoot":"","sources":["../../src/valueSetter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,OAAO,EAAE,MAAM,eAAe,CAAC;AAE9D,wBAAgB,WAAW,CAAC,KAAK,EAC/B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,KAAK,EAAE,KAAK,EACZ,WAAW,UAAQ,GAClB,IAAI,CAoEN"}
1
+ {"version":3,"file":"valueSetter.d.ts","sourceRoot":"","sources":["../../src/valueSetter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,OAAO,EAAE,MAAM,eAAe,CAAC;AAE9D,wBAAgB,WAAW,CAAC,KAAK,EAC/B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,KAAK,EAAE,KAAK,EACZ,WAAW,UAAQ,GAClB,IAAI,CAsEN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-reanimated",
3
- "version": "4.5.0",
3
+ "version": "4.5.1",
4
4
  "description": "More powerful alternative to Animated library for React Native.",
5
5
  "keywords": [
6
6
  "react-native",
@@ -136,7 +136,7 @@
136
136
  "react-native": "0.86.0",
137
137
  "react-native-svg": "15.15.4",
138
138
  "react-native-web": "0.21.1",
139
- "react-native-worklets": "0.10.0",
139
+ "react-native-worklets": "0.10.1",
140
140
  "react-test-renderer": "19.2.3",
141
141
  "typescript": "5.9.3"
142
142
  },
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  import type { UnknownRecord } from '../types';
3
+ import { STYLE_PROPERTIES_CONFIG } from './config';
3
4
  import {
4
5
  createNativePropsBuilder,
5
6
  type NativePropsBuilder,
@@ -25,6 +26,14 @@ const PATTERN_PROPS_BUILDERS: Array<{
25
26
  entry: PropsBuilderEntry;
26
27
  }> = [];
27
28
 
29
+ const SUPPORTED_BUILDER_PROPS = new Set<string>(
30
+ Object.keys(STYLE_PROPERTIES_CONFIG)
31
+ );
32
+
33
+ export function isSupportedStyleProp(prop: string): boolean {
34
+ return SUPPORTED_BUILDER_PROPS.has(prop);
35
+ }
36
+
28
37
  function findEntry(compoundComponentName: string): PropsBuilderEntry | null {
29
38
  const [reactViewName] = compoundComponentName.split('$');
30
39
 
@@ -69,6 +78,10 @@ export function registerComponentPropsBuilder<P extends UnknownRecord>(
69
78
  separatelyInterpolatedNestedProperties?: readonly string[];
70
79
  } = {}
71
80
  ) {
81
+ for (const prop in config) {
82
+ SUPPORTED_BUILDER_PROPS.add(prop);
83
+ }
84
+
72
85
  const entry: PropsBuilderEntry = {
73
86
  builder: createNativePropsBuilder(config),
74
87
  separatelyInterpolatedNestedProperties: options
@@ -110,6 +110,8 @@ export default class CSSPseudoStylesManager implements ICSSPseudoStylesManager {
110
110
  if (this.isRegistered) {
111
111
  this.detach();
112
112
  }
113
+ this.prevPseudoStylesBySelector = null;
114
+ this.prevTransitionProperties = null;
113
115
  }
114
116
 
115
117
  private detach() {
@@ -9,27 +9,27 @@ import {
9
9
  SVG_RECT_WEB_PROPERTIES_CONFIG,
10
10
  } from './web';
11
11
 
12
- // Components with no CSS-animatable geometry on web: any geometry they expose is
12
+ // SVG tags with no CSS-animatable geometry on web: any geometry they expose is
13
13
  // an SVG attribute, not a CSS property. They fall back to the shared common config.
14
- const COMMON_ONLY_COMPONENTS = [
15
- 'G',
16
- 'Line',
17
- 'Pattern',
18
- 'Polygon',
19
- 'Polyline',
20
- 'Text',
21
- 'LinearGradient',
22
- 'RadialGradient',
14
+ const COMMON_ONLY_TAGS = [
15
+ 'g',
16
+ 'line',
17
+ 'pattern',
18
+ 'polygon',
19
+ 'polyline',
20
+ 'text',
21
+ 'linearGradient',
22
+ 'radialGradient',
23
23
  ] as const;
24
24
 
25
25
  export function initSvgCssSupport() {
26
- registerWebSvgPropsBuilder('Circle', SVG_CIRCLE_WEB_PROPERTIES_CONFIG);
27
- registerWebSvgPropsBuilder('Ellipse', SVG_ELLIPSE_WEB_PROPERTIES_CONFIG);
28
- registerWebSvgPropsBuilder('Image', SVG_IMAGE_WEB_PROPERTIES_CONFIG);
29
- registerWebSvgPropsBuilder('Path', SVG_PATH_WEB_PROPERTIES_CONFIG);
30
- registerWebSvgPropsBuilder('Rect', SVG_RECT_WEB_PROPERTIES_CONFIG);
26
+ registerWebSvgPropsBuilder('circle', SVG_CIRCLE_WEB_PROPERTIES_CONFIG);
27
+ registerWebSvgPropsBuilder('ellipse', SVG_ELLIPSE_WEB_PROPERTIES_CONFIG);
28
+ registerWebSvgPropsBuilder('image', SVG_IMAGE_WEB_PROPERTIES_CONFIG);
29
+ registerWebSvgPropsBuilder('path', SVG_PATH_WEB_PROPERTIES_CONFIG);
30
+ registerWebSvgPropsBuilder('rect', SVG_RECT_WEB_PROPERTIES_CONFIG);
31
31
 
32
- for (const componentName of COMMON_ONLY_COMPONENTS) {
33
- registerWebSvgPropsBuilder(componentName, SVG_COMMON_WEB_PROPERTIES_CONFIG);
32
+ for (const tag of COMMON_ONLY_TAGS) {
33
+ registerWebSvgPropsBuilder(tag, SVG_COMMON_WEB_PROPERTIES_CONFIG);
34
34
  }
35
35
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  import type { UnknownRecord } from '../../common';
3
- import { isEmptyObject, logger } from '../../common';
3
+ import { isEmptyObject, isSupportedStyleProp, logger } from '../../common';
4
4
  import { isSharedValue } from '../../isSharedValue';
5
5
  import type {
6
6
  CSSAnimationProperties,
@@ -84,7 +84,7 @@ export function filterCSSAndStyleProperties<S extends object>(
84
84
  branch.selectorStyle[prop] = selectorValue;
85
85
  branch.defaultStyle[prop] = defaultValue;
86
86
  }
87
- } else if (isEmptyObject(value)) {
87
+ } else if (isEmptyObject(value) && isSupportedStyleProp(prop)) {
88
88
  throw new Error(
89
89
  `[Reanimated] Invalid value for "${prop}": an empty object is not a valid style value.`
90
90
  );
@@ -11,9 +11,9 @@ import { parseTimingFunction } from './utils';
11
11
 
12
12
  export function processKeyframeDefinitions<TStyle extends object>(
13
13
  definitions: CSSAnimationKeyframes<TStyle>,
14
- componentName = ''
14
+ svgElementTag = ''
15
15
  ) {
16
- const propsBuilder = getWebSvgPropsBuilder(componentName) ?? webPropsBuilder;
16
+ const propsBuilder = getWebSvgPropsBuilder(svgElementTag) ?? webPropsBuilder;
17
17
 
18
18
  // Whole-set fixups (strokeDasharray endpoints, open/closed path Z-padding)
19
19
  // before serializing each block.
@@ -36,15 +36,15 @@ type ProcessedSettings = ConvertValuesToArrays<CSSAnimationSettings>;
36
36
 
37
37
  export default class CSSAnimationsManager implements ICSSAnimationsManager {
38
38
  private readonly element: ReanimatedHTMLElement;
39
- private readonly componentName: string;
39
+ private readonly svgElementTag: string;
40
40
 
41
41
  // Keys are processed keyframes
42
42
  private attachedAnimations: Record<string, ProcessedAnimation> = {};
43
43
  private unmountCleanupCalled = false;
44
44
 
45
- constructor(element: ReanimatedHTMLElement, componentName = '') {
45
+ constructor(element: ReanimatedHTMLElement, svgElementTag = '') {
46
46
  this.element = element;
47
- this.componentName = componentName;
47
+ this.svgElementTag = svgElementTag;
48
48
  }
49
49
 
50
50
  update(animationProperties: ExistingCSSAnimationProperties | null) {
@@ -79,7 +79,7 @@ export default class CSSAnimationsManager implements ICSSAnimationsManager {
79
79
  const keyframes = definition as CSSAnimationKeyframes;
80
80
  const processedKeyframes = processKeyframeDefinitions(
81
81
  keyframes,
82
- this.componentName
82
+ this.svgElementTag
83
83
  );
84
84
 
85
85
  // If the animation with the same keyframes was already attached, we can reuse it
@@ -18,15 +18,13 @@ export default class CSSManager implements ICSSManager {
18
18
  configureWebCSS();
19
19
 
20
20
  const element = viewInfo.DOMElement as ReanimatedHTMLElement;
21
+ const svgElementTag = element?.tagName ?? componentDisplayName;
21
22
 
22
- this.animationsManager = new CSSAnimationsManager(
23
- element,
24
- componentDisplayName
25
- );
23
+ this.animationsManager = new CSSAnimationsManager(element, svgElementTag);
26
24
  this.transitionsManager = new CSSTransitionsManager(element);
27
25
  this.pseudoSelectorsManager = new CSSPseudoSelectorsManager(
28
26
  element,
29
- componentDisplayName
27
+ svgElementTag
30
28
  );
31
29
  }
32
30
 
@@ -78,13 +78,13 @@ function buildRules(
78
78
 
79
79
  export default class CSSPseudoSelectorsManager {
80
80
  private readonly element: ReanimatedHTMLElement;
81
- private readonly componentName: string;
81
+ private readonly svgElementTag: string;
82
82
  private viewId: string | null = null;
83
83
  private prevPseudoStylesBySelector: PseudoStylesBySelector | null = null;
84
84
 
85
- constructor(element: ReanimatedHTMLElement, componentName = '') {
85
+ constructor(element: ReanimatedHTMLElement, svgElementTag = '') {
86
86
  this.element = element;
87
- this.componentName = componentName;
87
+ this.svgElementTag = svgElementTag;
88
88
  }
89
89
 
90
90
  update(pseudoStylesBySelector: PseudoStylesBySelector | null): void {
@@ -99,7 +99,7 @@ export default class CSSPseudoSelectorsManager {
99
99
  }
100
100
 
101
101
  const propsBuilder =
102
- getWebSvgPropsBuilder(this.componentName) ?? webPropsBuilder;
102
+ getWebSvgPropsBuilder(this.svgElementTag) ?? webPropsBuilder;
103
103
 
104
104
  const viewId = this.ensureViewId();
105
105
  this.syncActiveMarker(pseudoStylesBySelector);
@@ -4,4 +4,4 @@
4
4
  * version used to build the native part of the library in runtime. Remember to
5
5
  * keep this in sync with the version declared in `package.json`
6
6
  */
7
- export const jsVersion = '4.5.0';
7
+ export const jsVersion = '4.5.1';
@@ -9,9 +9,11 @@ export function valueSetter<Value>(
9
9
  'worklet';
10
10
  const previousAnimation = mutable._animation;
11
11
  if (previousAnimation) {
12
- previousAnimation.cancelled = true;
13
- previousAnimation.callback?.(false);
14
12
  mutable._animation = null;
13
+ if (!previousAnimation.finished) {
14
+ previousAnimation.cancelled = true;
15
+ previousAnimation.callback?.(false);
16
+ }
15
17
  }
16
18
  if (
17
19
  typeof value === 'function' ||
@@ -52,10 +54,10 @@ export function valueSetter<Value>(
52
54
  return;
53
55
  }
54
56
  const finished = animation.onFrame(animation, timestamp);
55
- animation.finished = true;
56
57
  animation.timestamp = timestamp;
57
58
  mutable._value = animation.current!;
58
59
  if (finished) {
60
+ animation.finished = true;
59
61
  animation.callback?.(true /* finished */);
60
62
  } else {
61
63
  requestAnimationFrame(step);