react-native-unistyles 3.5.3 → 3.7.0
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.
- package/README.md +6 -8
- package/android/build.gradle +42 -0
- package/android/src/legacy/java/com/unistyles/NativePlatform+extraWindows.kt +16 -0
- package/android/src/main/cxx/NativeUnistylesModule.cpp +5 -11
- package/android/src/main/cxx/NativeUnistylesModule.h +0 -4
- package/android/src/main/java/com/unistyles/NativePlatform+android.kt +82 -39
- package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +73 -0
- package/android/src/main/java/com/unistyles/UnistylesModule.kt +2 -13
- package/android/src/rn86/java/com/unistyles/NativePlatform+extraWindows.kt +28 -0
- package/cxx/common/PerformanceTracing.h +85 -0
- package/cxx/converters/BackgroundImageConverter.cpp +198 -11
- package/cxx/converters/BackgroundImageConverter.h +1 -0
- package/cxx/converters/BackgroundLayerConverter.cpp +523 -0
- package/cxx/converters/BackgroundLayerConverter.h +14 -0
- package/cxx/converters/FontVariationSettingsConverter.cpp +104 -0
- package/cxx/converters/FontVariationSettingsConverter.h +17 -0
- package/cxx/core/HostUnistyle.cpp +6 -0
- package/cxx/core/UnistyleWrapper.h +16 -1
- package/cxx/hybridObjects/HybridShadowRegistry.cpp +13 -0
- package/cxx/hybridObjects/HybridStyleSheet.cpp +11 -0
- package/cxx/hybridObjects/HybridStyleSheet.h +1 -0
- package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +10 -30
- package/cxx/hybridObjects/HybridUnistylesRuntime.h +2 -2
- package/cxx/parser/Parser.cpp +92 -5
- package/cxx/shadowTree/ShadowTreeDiagnostics.cpp +74 -0
- package/cxx/shadowTree/ShadowTreeManager.cpp +3 -0
- package/ios/NativePlatform+ios.swift +22 -11
- package/ios/NativePlatformListener+ios.swift +9 -0
- package/lib/commonjs/components/NamedTheme.js +4 -4
- package/lib/commonjs/components/NamedTheme.js.map +1 -1
- package/lib/commonjs/components/ScopedThemeContext.js +3 -1
- package/lib/commonjs/components/ScopedThemeContext.js.map +1 -1
- package/lib/commonjs/components/native/deep/ActivityIndicator.js +19 -0
- package/lib/commonjs/components/native/deep/ActivityIndicator.js.map +1 -0
- package/lib/commonjs/components/native/deep/Animated.js +19 -0
- package/lib/commonjs/components/native/deep/Animated.js.map +1 -0
- package/lib/commonjs/components/native/deep/FlatList.js +19 -0
- package/lib/commonjs/components/native/deep/FlatList.js.map +1 -0
- package/lib/commonjs/components/native/deep/Image.js +19 -0
- package/lib/commonjs/components/native/deep/Image.js.map +1 -0
- package/lib/commonjs/components/native/deep/ImageBackground.js +19 -0
- package/lib/commonjs/components/native/deep/ImageBackground.js.map +1 -0
- package/lib/commonjs/components/native/deep/KeyboardAvoidingView.js +19 -0
- package/lib/commonjs/components/native/deep/KeyboardAvoidingView.js.map +1 -0
- package/lib/commonjs/components/native/deep/Pressable.js +19 -0
- package/lib/commonjs/components/native/deep/Pressable.js.map +1 -0
- package/lib/commonjs/components/native/deep/RefreshControl.js +19 -0
- package/lib/commonjs/components/native/deep/RefreshControl.js.map +1 -0
- package/lib/commonjs/components/native/deep/SafeAreaView.js +19 -0
- package/lib/commonjs/components/native/deep/SafeAreaView.js.map +1 -0
- package/lib/commonjs/components/native/deep/ScrollView.js +19 -0
- package/lib/commonjs/components/native/deep/ScrollView.js.map +1 -0
- package/lib/commonjs/components/native/deep/SectionList.js +19 -0
- package/lib/commonjs/components/native/deep/SectionList.js.map +1 -0
- package/lib/commonjs/components/native/deep/Switch.js +19 -0
- package/lib/commonjs/components/native/deep/Switch.js.map +1 -0
- package/lib/commonjs/components/native/deep/Text.js +19 -0
- package/lib/commonjs/components/native/deep/Text.js.map +1 -0
- package/lib/commonjs/components/native/deep/TextInput.js +19 -0
- package/lib/commonjs/components/native/deep/TextInput.js.map +1 -0
- package/lib/commonjs/components/native/deep/TextNativeComponent.js +28 -0
- package/lib/commonjs/components/native/deep/TextNativeComponent.js.map +1 -0
- package/lib/commonjs/components/native/deep/TouchableHighlight.js +19 -0
- package/lib/commonjs/components/native/deep/TouchableHighlight.js.map +1 -0
- package/lib/commonjs/components/native/deep/TouchableOpacity.js +19 -0
- package/lib/commonjs/components/native/deep/TouchableOpacity.js.map +1 -0
- package/lib/commonjs/components/native/deep/View.js +19 -0
- package/lib/commonjs/components/native/deep/View.js.map +1 -0
- package/lib/commonjs/components/native/deep/ViewNativeComponent.js +26 -0
- package/lib/commonjs/components/native/deep/ViewNativeComponent.js.map +1 -0
- package/lib/commonjs/components/native/deep/VirtualizedList.js +19 -0
- package/lib/commonjs/components/native/deep/VirtualizedList.js.map +1 -0
- package/lib/commonjs/components/native/index.js +43 -0
- package/lib/commonjs/components/native/index.js.map +1 -0
- package/lib/commonjs/core/createUnistylesActivityIndicator.js +13 -3
- package/lib/commonjs/core/createUnistylesActivityIndicator.js.map +1 -1
- package/lib/commonjs/core/createUnistylesElement.native.js +6 -0
- package/lib/commonjs/core/createUnistylesElement.native.js.map +1 -1
- package/lib/commonjs/core/createUnistylesImageBackground.js +26 -19
- package/lib/commonjs/core/createUnistylesImageBackground.js.map +1 -1
- package/lib/commonjs/core/createUnistylesTouchableHighlight.js +6 -0
- package/lib/commonjs/core/createUnistylesTouchableHighlight.js.map +1 -1
- package/lib/commonjs/core/getClassname.js +15 -0
- package/lib/commonjs/core/getClassname.js.map +1 -1
- package/lib/commonjs/core/hasUnistyles.js +26 -0
- package/lib/commonjs/core/hasUnistyles.js.map +1 -0
- package/lib/commonjs/core/withUnistyles/withUnistyles.js +10 -7
- package/lib/commonjs/core/withUnistyles/withUnistyles.js.map +1 -1
- package/lib/commonjs/core/withUnistyles/withUnistyles.native.js +22 -3
- package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
- package/lib/commonjs/mocks.js +27 -3
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/specs/ShadowRegistry/index.js +69 -76
- package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/commonjs/specs/ShadowRegistry/styleSource.js +65 -0
- package/lib/commonjs/specs/ShadowRegistry/styleSource.js.map +1 -0
- package/lib/commonjs/specs/ShadowRegistry/tracing.js +26 -0
- package/lib/commonjs/specs/ShadowRegistry/tracing.js.map +1 -0
- package/lib/commonjs/unifiber/src/adapters/reanimated.js +157 -0
- package/lib/commonjs/unifiber/src/adapters/reanimated.js.map +1 -0
- package/lib/commonjs/unifiber/src/adapters/registry.js +67 -0
- package/lib/commonjs/unifiber/src/adapters/registry.js.map +1 -0
- package/lib/commonjs/unifiber/src/diagnostics.js +59 -0
- package/lib/commonjs/unifiber/src/diagnostics.js.map +1 -0
- package/lib/commonjs/unifiber/src/fiber.js +199 -0
- package/lib/commonjs/unifiber/src/fiber.js.map +1 -0
- package/lib/commonjs/unifiber/src/host.js +214 -0
- package/lib/commonjs/unifiber/src/host.js.map +1 -0
- package/lib/commonjs/unifiber/src/index.js +38 -0
- package/lib/commonjs/unifiber/src/index.js.map +1 -0
- package/lib/commonjs/utils.js +52 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/convert/index.js +19 -1
- package/lib/commonjs/web/convert/index.js.map +1 -1
- package/lib/commonjs/web/convert/module.d.ts +3 -0
- package/lib/commonjs/web/convert/object/backgroundLayers.js +30 -0
- package/lib/commonjs/web/convert/object/backgroundLayers.js.map +1 -0
- package/lib/commonjs/web/convert/object/fontVariationSettings.js +12 -0
- package/lib/commonjs/web/convert/object/fontVariationSettings.js.map +1 -0
- package/lib/commonjs/web/convert/object/index.js +22 -0
- package/lib/commonjs/web/convert/object/index.js.map +1 -1
- package/lib/commonjs/web/convert/utils.js +7 -1
- package/lib/commonjs/web/convert/utils.js.map +1 -1
- package/lib/commonjs/web/registry.js +6 -4
- package/lib/commonjs/web/registry.js.map +1 -1
- package/lib/commonjs/web/runtime.js +9 -6
- package/lib/commonjs/web/runtime.js.map +1 -1
- package/lib/commonjs/web/utils/unistyle.js +9 -3
- package/lib/commonjs/web/utils/unistyle.js.map +1 -1
- package/lib/module/components/NamedTheme.js +4 -4
- package/lib/module/components/NamedTheme.js.map +1 -1
- package/lib/module/components/ScopedThemeContext.js +3 -1
- package/lib/module/components/ScopedThemeContext.js.map +1 -1
- package/lib/module/components/native/deep/ActivityIndicator.js +5 -0
- package/lib/module/components/native/deep/ActivityIndicator.js.map +1 -0
- package/lib/module/components/native/deep/Animated.js +5 -0
- package/lib/module/components/native/deep/Animated.js.map +1 -0
- package/lib/module/components/native/deep/FlatList.js +5 -0
- package/lib/module/components/native/deep/FlatList.js.map +1 -0
- package/lib/module/components/native/deep/Image.js +5 -0
- package/lib/module/components/native/deep/Image.js.map +1 -0
- package/lib/module/components/native/deep/ImageBackground.js +5 -0
- package/lib/module/components/native/deep/ImageBackground.js.map +1 -0
- package/lib/module/components/native/deep/KeyboardAvoidingView.js +5 -0
- package/lib/module/components/native/deep/KeyboardAvoidingView.js.map +1 -0
- package/lib/module/components/native/deep/Pressable.js +5 -0
- package/lib/module/components/native/deep/Pressable.js.map +1 -0
- package/lib/module/components/native/deep/RefreshControl.js +5 -0
- package/lib/module/components/native/deep/RefreshControl.js.map +1 -0
- package/lib/module/components/native/deep/SafeAreaView.js +5 -0
- package/lib/module/components/native/deep/SafeAreaView.js.map +1 -0
- package/lib/module/components/native/deep/ScrollView.js +5 -0
- package/lib/module/components/native/deep/ScrollView.js.map +1 -0
- package/lib/module/components/native/deep/SectionList.js +5 -0
- package/lib/module/components/native/deep/SectionList.js.map +1 -0
- package/lib/module/components/native/deep/Switch.js +5 -0
- package/lib/module/components/native/deep/Switch.js.map +1 -0
- package/lib/module/components/native/deep/Text.js +5 -0
- package/lib/module/components/native/deep/Text.js.map +1 -0
- package/lib/module/components/native/deep/TextInput.js +5 -0
- package/lib/module/components/native/deep/TextInput.js.map +1 -0
- package/lib/module/components/native/deep/TextNativeComponent.js +8 -0
- package/lib/module/components/native/deep/TextNativeComponent.js.map +1 -0
- package/lib/module/components/native/deep/TouchableHighlight.js +5 -0
- package/lib/module/components/native/deep/TouchableHighlight.js.map +1 -0
- package/lib/module/components/native/deep/TouchableOpacity.js +5 -0
- package/lib/module/components/native/deep/TouchableOpacity.js.map +1 -0
- package/lib/module/components/native/deep/View.js +5 -0
- package/lib/module/components/native/deep/View.js.map +1 -0
- package/lib/module/components/native/deep/ViewNativeComponent.js +8 -0
- package/lib/module/components/native/deep/ViewNativeComponent.js.map +1 -0
- package/lib/module/components/native/deep/VirtualizedList.js +5 -0
- package/lib/module/components/native/deep/VirtualizedList.js.map +1 -0
- package/lib/module/components/native/index.js +43 -0
- package/lib/module/components/native/index.js.map +1 -0
- package/lib/module/core/createUnistylesActivityIndicator.js +13 -3
- package/lib/module/core/createUnistylesActivityIndicator.js.map +1 -1
- package/lib/module/core/createUnistylesElement.native.js +6 -0
- package/lib/module/core/createUnistylesElement.native.js.map +1 -1
- package/lib/module/core/createUnistylesImageBackground.js +26 -19
- package/lib/module/core/createUnistylesImageBackground.js.map +1 -1
- package/lib/module/core/createUnistylesTouchableHighlight.js +6 -0
- package/lib/module/core/createUnistylesTouchableHighlight.js.map +1 -1
- package/lib/module/core/getClassname.js +16 -1
- package/lib/module/core/getClassname.js.map +1 -1
- package/lib/module/core/hasUnistyles.js +21 -0
- package/lib/module/core/hasUnistyles.js.map +1 -0
- package/lib/module/core/withUnistyles/withUnistyles.js +9 -6
- package/lib/module/core/withUnistyles/withUnistyles.js.map +1 -1
- package/lib/module/core/withUnistyles/withUnistyles.native.js +24 -5
- package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
- package/lib/module/mocks.js +27 -3
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/specs/ShadowRegistry/index.js +69 -76
- package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/module/specs/ShadowRegistry/styleSource.js +60 -0
- package/lib/module/specs/ShadowRegistry/styleSource.js.map +1 -0
- package/lib/module/specs/ShadowRegistry/tracing.js +21 -0
- package/lib/module/specs/ShadowRegistry/tracing.js.map +1 -0
- package/lib/module/unifiber/src/adapters/reanimated.js +152 -0
- package/lib/module/unifiber/src/adapters/reanimated.js.map +1 -0
- package/lib/module/unifiber/src/adapters/registry.js +62 -0
- package/lib/module/unifiber/src/adapters/registry.js.map +1 -0
- package/lib/module/unifiber/src/diagnostics.js +52 -0
- package/lib/module/unifiber/src/diagnostics.js.map +1 -0
- package/lib/module/unifiber/src/fiber.js +183 -0
- package/lib/module/unifiber/src/fiber.js.map +1 -0
- package/lib/module/unifiber/src/host.js +191 -0
- package/lib/module/unifiber/src/host.js.map +1 -0
- package/lib/module/unifiber/src/index.js +33 -0
- package/lib/module/unifiber/src/index.js.map +1 -0
- package/lib/module/utils.js +50 -0
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/convert/index.js +22 -3
- package/lib/module/web/convert/index.js.map +1 -1
- package/lib/module/web/convert/module.d.ts +3 -0
- package/lib/module/web/convert/object/backgroundLayers.js +25 -0
- package/lib/module/web/convert/object/backgroundLayers.js.map +1 -0
- package/lib/module/web/convert/object/fontVariationSettings.js +7 -0
- package/lib/module/web/convert/object/fontVariationSettings.js.map +1 -0
- package/lib/module/web/convert/object/index.js +2 -0
- package/lib/module/web/convert/object/index.js.map +1 -1
- package/lib/module/web/convert/utils.js +4 -0
- package/lib/module/web/convert/utils.js.map +1 -1
- package/lib/module/web/registry.js +6 -4
- package/lib/module/web/registry.js.map +1 -1
- package/lib/module/web/runtime.js +9 -6
- package/lib/module/web/runtime.js.map +1 -1
- package/lib/module/web/utils/unistyle.js +10 -4
- package/lib/module/web/utils/unistyle.js.map +1 -1
- package/lib/typescript/src/components/ScopedThemeContext.d.ts +2 -1
- package/lib/typescript/src/components/ScopedThemeContext.d.ts.map +1 -1
- package/lib/typescript/src/components/native/deep/ActivityIndicator.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/ActivityIndicator.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/Animated.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/Animated.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/FlatList.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/FlatList.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/Image.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/Image.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/ImageBackground.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/ImageBackground.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/KeyboardAvoidingView.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/KeyboardAvoidingView.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/Pressable.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/Pressable.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/RefreshControl.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/RefreshControl.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/SafeAreaView.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/SafeAreaView.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/ScrollView.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/ScrollView.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/SectionList.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/SectionList.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/Switch.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/Switch.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/Text.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/Text.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/TextInput.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/TextInput.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/TextNativeComponent.d.ts +3 -0
- package/lib/typescript/src/components/native/deep/TextNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/TouchableHighlight.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/TouchableHighlight.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/TouchableOpacity.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/TouchableOpacity.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/View.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/View.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/ViewNativeComponent.d.ts +3 -0
- package/lib/typescript/src/components/native/deep/ViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/components/native/deep/VirtualizedList.d.ts +2 -0
- package/lib/typescript/src/components/native/deep/VirtualizedList.d.ts.map +1 -0
- package/lib/typescript/src/components/native/index.d.ts +4 -0
- package/lib/typescript/src/components/native/index.d.ts.map +1 -0
- package/lib/typescript/src/components/scopeChildren.d.ts +1 -1
- package/lib/typescript/src/core/createUnistylesActivityIndicator.d.ts.map +1 -1
- package/lib/typescript/src/core/createUnistylesElement.native.d.ts.map +1 -1
- package/lib/typescript/src/core/createUnistylesImageBackground.d.ts.map +1 -1
- package/lib/typescript/src/core/createUnistylesTouchableHighlight.d.ts.map +1 -1
- package/lib/typescript/src/core/getClassname.d.ts.map +1 -1
- package/lib/typescript/src/core/hasUnistyles.d.ts +2 -0
- package/lib/typescript/src/core/hasUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts +6 -3
- package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts.map +1 -1
- package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts +7 -4
- package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/ShadowRegistry/styleSource.d.ts +11 -0
- package/lib/typescript/src/specs/ShadowRegistry/styleSource.d.ts.map +1 -0
- package/lib/typescript/src/specs/ShadowRegistry/tracing.d.ts +2 -0
- package/lib/typescript/src/specs/ShadowRegistry/tracing.d.ts.map +1 -0
- package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +4 -41
- package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
- package/lib/typescript/src/unifiber/src/adapters/reanimated.d.ts +17 -0
- package/lib/typescript/src/unifiber/src/adapters/reanimated.d.ts.map +1 -0
- package/lib/typescript/src/unifiber/src/adapters/registry.d.ts +23 -0
- package/lib/typescript/src/unifiber/src/adapters/registry.d.ts.map +1 -0
- package/lib/typescript/src/unifiber/src/diagnostics.d.ts +10 -0
- package/lib/typescript/src/unifiber/src/diagnostics.d.ts.map +1 -0
- package/lib/typescript/src/unifiber/src/fiber.d.ts +48 -0
- package/lib/typescript/src/unifiber/src/fiber.d.ts.map +1 -0
- package/lib/typescript/src/unifiber/src/host.d.ts +32 -0
- package/lib/typescript/src/unifiber/src/host.d.ts.map +1 -0
- package/lib/typescript/src/unifiber/src/index.d.ts +49 -0
- package/lib/typescript/src/unifiber/src/index.d.ts.map +1 -0
- package/lib/typescript/src/utils.d.ts +1 -0
- package/lib/typescript/src/utils.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/object/backgroundLayers.d.ts +4 -0
- package/lib/typescript/src/web/convert/object/backgroundLayers.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/fontVariationSettings.d.ts +4 -0
- package/lib/typescript/src/web/convert/object/fontVariationSettings.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/index.d.ts +2 -0
- package/lib/typescript/src/web/convert/object/index.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/utils.d.ts +2 -0
- package/lib/typescript/src/web/convert/utils.d.ts.map +1 -1
- package/lib/typescript/src/web/registry.d.ts.map +1 -1
- package/lib/typescript/src/web/runtime.d.ts +1 -0
- package/lib/typescript/src/web/runtime.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -1
- package/metro/babel-transformer.js +1102 -0
- package/metro/index.d.ts +31 -0
- package/metro/index.js +170 -0
- package/package.json +50 -32
- package/plugin/index.d.ts +7 -0
- package/plugin/index.js +115 -33
- package/src/components/NamedTheme.tsx +5 -5
- package/src/components/ScopedThemeContext.ts +6 -2
- package/src/components/native/deep/ActivityIndicator.ts +2 -0
- package/src/components/native/deep/Animated.ts +2 -0
- package/src/components/native/deep/FlatList.ts +2 -0
- package/src/components/native/deep/Image.ts +2 -0
- package/src/components/native/deep/ImageBackground.ts +2 -0
- package/src/components/native/deep/KeyboardAvoidingView.ts +2 -0
- package/src/components/native/deep/Pressable.ts +2 -0
- package/src/components/native/deep/RefreshControl.ts +2 -0
- package/src/components/native/deep/SafeAreaView.ts +2 -0
- package/src/components/native/deep/ScrollView.ts +2 -0
- package/src/components/native/deep/SectionList.ts +2 -0
- package/src/components/native/deep/Switch.ts +2 -0
- package/src/components/native/deep/Text.ts +2 -0
- package/src/components/native/deep/TextInput.ts +2 -0
- package/src/components/native/deep/TextNativeComponent.ts +5 -0
- package/src/components/native/deep/TouchableHighlight.ts +2 -0
- package/src/components/native/deep/TouchableOpacity.ts +2 -0
- package/src/components/native/deep/View.ts +2 -0
- package/src/components/native/deep/ViewNativeComponent.ts +5 -0
- package/src/components/native/deep/VirtualizedList.ts +2 -0
- package/src/components/native/index.ts +41 -0
- package/src/core/createUnistylesActivityIndicator.tsx +11 -4
- package/src/core/createUnistylesElement.native.tsx +5 -0
- package/src/core/createUnistylesImageBackground.tsx +33 -25
- package/src/core/createUnistylesTouchableHighlight.tsx +5 -0
- package/src/core/getClassname.ts +10 -1
- package/src/core/hasUnistyles.ts +20 -0
- package/src/core/withUnistyles/withUnistyles.native.tsx +28 -6
- package/src/core/withUnistyles/withUnistyles.tsx +6 -6
- package/src/mocks.ts +14 -5
- package/src/specs/ShadowRegistry/index.ts +62 -103
- package/src/specs/ShadowRegistry/styleSource.ts +78 -0
- package/src/specs/ShadowRegistry/tracing.ts +23 -0
- package/src/specs/ShadowRegistry/types.ts +3 -43
- package/src/unifiber/LICENSE +21 -0
- package/src/unifiber/README.md +92 -0
- package/src/unifiber/src/adapters/reanimated.ts +204 -0
- package/src/unifiber/src/adapters/registry.ts +102 -0
- package/src/unifiber/src/diagnostics.ts +55 -0
- package/src/unifiber/src/fiber.ts +262 -0
- package/src/unifiber/src/host.ts +236 -0
- package/src/unifiber/src/index.ts +43 -0
- package/src/utils.ts +51 -0
- package/src/web/convert/index.ts +39 -3
- package/src/web/convert/object/backgroundLayers.ts +33 -0
- package/src/web/convert/object/fontVariationSettings.ts +7 -0
- package/src/web/convert/object/index.ts +2 -0
- package/src/web/convert/utils.ts +11 -0
- package/src/web/registry.ts +7 -8
- package/src/web/runtime.ts +7 -7
- package/src/web/utils/unistyle.ts +11 -4
- package/lib/commonjs/web/convert/module.d.js +0 -2
- package/lib/commonjs/web/convert/module.d.js.map +0 -1
- package/lib/module/web/convert/module.d.js +0 -2
- package/lib/module/web/convert/module.d.js.map +0 -1
- package/lib/typescript/src/__tests__/mocks.spec.d.ts +0 -2
- package/lib/typescript/src/__tests__/mocks.spec.d.ts.map +0 -1
- package/lib/typescript/src/__tests__/passForwardRef.spec.d.ts +0 -2
- package/lib/typescript/src/__tests__/passForwardRef.spec.d.ts.map +0 -1
- package/lib/typescript/src/__tests__/scoped-theme.spec.d.ts +0 -2
- package/lib/typescript/src/__tests__/scoped-theme.spec.d.ts.map +0 -1
- package/lib/typescript/src/__tests__/shadow-registry.spec.d.ts +0 -2
- package/lib/typescript/src/__tests__/shadow-registry.spec.d.ts.map +0 -1
- package/lib/typescript/src/__tests__/web-child-selector.spec.d.ts +0 -2
- package/lib/typescript/src/__tests__/web-child-selector.spec.d.ts.map +0 -1
- package/lib/typescript/src/__tests__/web-listener.spec.d.ts +0 -2
- package/lib/typescript/src/__tests__/web-listener.spec.d.ts.map +0 -1
- package/lib/typescript/src/__tests__/web-pointer-events.spec.d.ts +0 -2
- package/lib/typescript/src/__tests__/web-pointer-events.spec.d.ts.map +0 -1
- package/lib/typescript/src/__tests__/web-runtime.spec.d.ts +0 -2
- package/lib/typescript/src/__tests__/web-runtime.spec.d.ts.map +0 -1
- package/lib/typescript/src/__tests__/withUnistyles.spec.d.ts +0 -2
- package/lib/typescript/src/__tests__/withUnistyles.spec.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","useContext","useEffect","ScopedThemeContext","UnistylesShadowRegistry","deepMergeObjects","isAnimatedStyleHandle","useProxifiedUnistyles","maybeWarnAboutMultipleUnistyles","jsx","_jsx","mergeAroundAnimatedStyles","secrets","reduce","acc","secret","style","uni__getStyles","lastStyle","at","concat","Object","assign","getSecrets","styleProps","styles","Array","isArray","flat","Infinity","filter","Boolean","unistyleKey","keys","find","key","startsWith","uni__dependencies","some","dependencies","flatMap","withUnistyles","Component","mappings","ref","props","narrowedProps","NativeComponent","displayName","name","contentContainerStyle","scope","proxifiedRuntime","proxifiedTheme","addDependencies","__uni","styleSecrets","contentContainerStyleSecrets","from","Set","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","uniProps","previousScopedTheme","getScopedTheme","undefined","setScopedTheme","finalProps"],"sourceRoot":"../../../../src","sources":["core/withUnistyles/withUnistyles.native.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/mocks.js
CHANGED
|
@@ -5,6 +5,7 @@ jest.mock('react-native-nitro-modules', () => ({
|
|
|
5
5
|
createHybridObject: () => ({
|
|
6
6
|
add: () => {},
|
|
7
7
|
init: () => {},
|
|
8
|
+
addChangeListener: () => () => {},
|
|
8
9
|
createHybridStatusBar: () => ({
|
|
9
10
|
setStyle: () => {}
|
|
10
11
|
}),
|
|
@@ -180,10 +181,33 @@ jest.mock('react-native-unistyles', () => {
|
|
|
180
181
|
Hide: () => null,
|
|
181
182
|
Display: () => null,
|
|
182
183
|
ScopedTheme: () => null,
|
|
183
|
-
withUnistyles: (Component, mapper) =>
|
|
184
|
-
|
|
184
|
+
withUnistyles: (Component, mapper) => ({
|
|
185
|
+
uniProps,
|
|
185
186
|
...props
|
|
186
|
-
})
|
|
187
|
+
}) => {
|
|
188
|
+
const {
|
|
189
|
+
deepMergeObjects
|
|
190
|
+
} = require('./utils');
|
|
191
|
+
const theme = Object.values(_REGISTRY.themes).at(0) ?? {};
|
|
192
|
+
const {
|
|
193
|
+
key: mappingsKey,
|
|
194
|
+
...mappingsProps
|
|
195
|
+
} = mapper?.(theme, miniRuntime) ?? {};
|
|
196
|
+
const {
|
|
197
|
+
key: uniPropsKey,
|
|
198
|
+
...unistyleProps
|
|
199
|
+
} = uniProps?.(theme, miniRuntime) ?? {};
|
|
200
|
+
return React.createElement(Component, {
|
|
201
|
+
...deepMergeObjects(mappingsProps, unistyleProps, props),
|
|
202
|
+
...(props.style ? {
|
|
203
|
+
style: props.style
|
|
204
|
+
} : {}),
|
|
205
|
+
...(props.contentContainerStyle ? {
|
|
206
|
+
contentContainerStyle: props.contentContainerStyle
|
|
207
|
+
} : {}),
|
|
208
|
+
key: uniPropsKey || mappingsKey
|
|
209
|
+
});
|
|
210
|
+
},
|
|
187
211
|
mq: {
|
|
188
212
|
only: {
|
|
189
213
|
width: () => ({
|
package/lib/module/mocks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jest","mock","NitroModules","createHybridObject","add","init","createHybridStatusBar","setStyle","createHybridNavigationBar","React","require","_REGISTRY","globalThis","__UNISTYLES_MOCK_REGISTRY__","themes","breakpoints","miniRuntime","themeName","undefined","breakpoint","hasAdaptiveThemes","colorScheme","contentSizeCategory","insets","top","left","right","bottom","ime","pixelRatio","fontScale","rtl","isLandscape","isPortrait","navigationBar","width","height","screen","statusBar","unistylesRuntime","orientation","dispose","equals","name","setHidden","getTheme","Object","values","at","setTheme","updateTheme","setRootViewBackgroundColor","nativeSetRootViewBackgroundColor","setAdaptiveThemes","setImmersiveMode","setImmersiveModeNative","stripVariants","styleEntries","result","style","entries","args","resolved","variants","compoundVariants","rest","Array","isArray","ColorScheme","Light","Dark","Unspecified","Orientation","Portrait","Landscape","StatusBarStyle","Default","IOSContentSizeCategory","AccessibilityExtraExtraExtraLarge","AccessibilityExtraExtraLarge","AccessibilityExtraLarge","AccessibilityLarge","AccessibilityMedium","ExtraExtraExtraLarge","ExtraExtraLarge","ExtraLarge","Large","Medium","Small","ExtraSmall","AndroidContentSizeCategory","Huge","ExtraHuge","ExtraExtraHuge","WebContentSizeCategory","Hide","Display","ScopedTheme","withUnistyles","Component","mapper","props","createElement","mq","only","and","useUnistyles","
|
|
1
|
+
{"version":3,"names":["jest","mock","NitroModules","createHybridObject","add","init","addChangeListener","createHybridStatusBar","setStyle","createHybridNavigationBar","React","require","_REGISTRY","globalThis","__UNISTYLES_MOCK_REGISTRY__","themes","breakpoints","miniRuntime","themeName","undefined","breakpoint","hasAdaptiveThemes","colorScheme","contentSizeCategory","insets","top","left","right","bottom","ime","pixelRatio","fontScale","rtl","isLandscape","isPortrait","navigationBar","width","height","screen","statusBar","unistylesRuntime","orientation","dispose","equals","name","setHidden","getTheme","Object","values","at","setTheme","updateTheme","setRootViewBackgroundColor","nativeSetRootViewBackgroundColor","setAdaptiveThemes","setImmersiveMode","setImmersiveModeNative","stripVariants","styleEntries","result","style","entries","args","resolved","variants","compoundVariants","rest","Array","isArray","ColorScheme","Light","Dark","Unspecified","Orientation","Portrait","Landscape","StatusBarStyle","Default","IOSContentSizeCategory","AccessibilityExtraExtraExtraLarge","AccessibilityExtraExtraLarge","AccessibilityExtraLarge","AccessibilityLarge","AccessibilityMedium","ExtraExtraExtraLarge","ExtraExtraLarge","ExtraLarge","Large","Medium","Small","ExtraSmall","AndroidContentSizeCategory","Huge","ExtraHuge","ExtraExtraHuge","WebContentSizeCategory","Hide","Display","ScopedTheme","withUnistyles","Component","mapper","uniProps","props","deepMergeObjects","theme","key","mappingsKey","mappingsProps","uniPropsKey","unistyleProps","createElement","contentContainerStyle","mq","only","and","useUnistyles","rt","StyleSheet","absoluteFillObject","position","absoluteFill","compose","styles","flatten","create","useVariants","configure","config","jsMethods","processColor","parseBoxShadowString","hairlineWidth","UnistylesRuntime","unistyles","mockedSharedValue","value","get","set","_value","useAnimatedTheme","sharedTheme","useAnimatedVariantColor","fromValue","toValue"],"sourceRoot":"../../src","sources":["mocks.ts"],"mappings":";;AAiBAA,IAAI,CAACC,IAAI,CAAC,4BAA4B,EAAE,OAAO;EAC3CC,YAAY,EAAE;IACVC,kBAAkB,EAAEA,CAAA,MAAO;MACvBC,GAAG,EAAEA,CAAA,KAAM,CAAC,CAAC;MACbC,IAAI,EAAEA,CAAA,KAAM,CAAC,CAAC;MACdC,iBAAiB,EAAEA,CAAA,KAAM,MAAM,CAAC,CAAC;MACjCC,qBAAqB,EAAEA,CAAA,MAAO;QAC1BC,QAAQ,EAAEA,CAAA,KAAM,CAAC;MACrB,CAAC,CAAC;MACFC,yBAAyB,EAAEA,CAAA,KAAM,CAAC;IACtC,CAAC;EACL;AACJ,CAAC,CAAC,CAAC;AAEHT,IAAI,CAACC,IAAI,CAAC,wBAAwB,EAAE,MAAM;EACtC,MAAMS,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC;EAC9B,MAAMC,SAAS,GAAKC,UAAU,CAAwBC,2BAA2B,KAAK;IAClFC,MAAM,EAAE,CAAC,CAAC;IACVC,WAAW,EAAE,CAAC;EAClB,CAAE;EACF,MAAMC,WAAW,GAAG;IAChBC,SAAS,EAAEC,SAAS;IACpBC,UAAU,EAAED,SAAS;IACrBE,iBAAiB,EAAE,KAAK;IACxBC,WAAW,EAAE,aAA4B;IACzCC,mBAAmB,EAAE,QAAkC;IACvDC,MAAM,EAAE;MACJC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTC,GAAG,EAAE;IACT,CAAC;IACDC,UAAU,EAAE,CAAC;IACbC,SAAS,EAAE,CAAC;IACZC,GAAG,EAAE,KAAK;IACVC,WAAW,EAAE,KAAK;IAClBC,UAAU,EAAE,IAAI;IAChBC,aAAa,EAAE;MACXC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACZ,CAAC;IACDC,MAAM,EAAE;MACJF,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACZ,CAAC;IACDE,SAAS,EAAE;MACPH,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACZ;EACJ,CAAC;EACD,MAAMG,gBAAgB,GAAG;IACrBlB,WAAW,EAAE,aAA4B;IACzCC,mBAAmB,EAAE,QAAkC;IACvDkB,WAAW,EAAE,UAAyB;IACtCP,UAAU,EAAE,IAAI;IAChBD,WAAW,EAAE,KAAK;IAClBjB,WAAW,EAAE,CAAC,CAAC;IACf0B,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;IACjBC,MAAM,EAAEA,CAAA,KAAM,KAAK;IACnBC,IAAI,EAAE,sBAAsB;IAC5B3B,WAAW,EAAEA,WAAW;IACxBsB,SAAS,EAAE;MACPF,MAAM,EAAE,CAAC;MACTD,KAAK,EAAE,CAAC;MACRQ,IAAI,EAAE,eAAe;MACrBD,MAAM,EAAEA,CAAA,KAAM,KAAK;MACnBE,SAAS,EAAEA,CAAA,KAAM,CAAC,CAAC;MACnBrC,QAAQ,EAAEA,CAAA,KAAM,CAAC;IACrB,CAAC;IACD2B,aAAa,EAAE;MACXE,MAAM,EAAE,CAAC;MACTD,KAAK,EAAE,CAAC;MACRQ,IAAI,EAAE,mBAAmB;MACzBD,MAAM,EAAEA,CAAA,KAAM,KAAK;MACnBE,SAAS,EAAEA,CAAA,KAAM,CAAC,CAAC;MACnBH,OAAO,EAAEA,CAAA,KAAM,CAAC;IACpB,CAAC;IACDX,SAAS,EAAE,CAAC;IACZV,iBAAiB,EAAE,KAAK;IACxBS,UAAU,EAAE,CAAC;IACbE,GAAG,EAAE,KAAK;IACVc,QAAQ,EAAEA,CAAA,KAAM;MACZ,OAAQC,MAAM,CAACC,MAAM,CAACpC,SAAS,CAACG,MAAM,CAAC,CAACkC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACDC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;IAClBC,WAAW,EAAEA,CAAA,KAAM,CAAC,CAAC;IACrBC,0BAA0B,EAAEA,CAAA,KAAM,CAAC,CAAC;IACpCC,gCAAgC,EAAEA,CAAA,KAAM,CAAC,CAAC;IAC1C9C,qBAAqB,EAAEA,CAAA,KAAM;MACzB,OAAO,CAAC,CAAC;IACb,CAAC;IACDE,yBAAyB,EAAEA,CAAA,KAAM;MAC7B,OAAO,CAAC,CAAC;IACb,CAAC;IACD6C,iBAAiB,EAAEA,CAAA,KAAM,CAAC,CAAC;IAC3BC,gBAAgB,EAAEA,CAAA,KAAM,CAAC,CAAC;IAC1BC,sBAAsB,EAAEA,CAAA,KAAM,CAAC,CAAC;IAChChC,MAAM,EAAE;MACJC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTC,GAAG,EAAE;IACT,CAAC;IACDS,MAAM,EAAE;MACJF,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACZ,CAAC;IACDjB,UAAU,EAAED;EAChB,CAAmC;EAEnC,MAAMsC,aAAa,GAAIC,YAAiC,IAAU;IAC9D,MAAMC,MAA2B,GAAG,CAAC,CAAC;IAEtC,KAAK,MAAM,CAACf,IAAI,EAAEgB,KAAK,CAAC,IAAIb,MAAM,CAACc,OAAO,CAACH,YAAY,CAAC,EAAE;MACtD,IAAI,OAAOE,KAAK,KAAK,UAAU,EAAE;QAC7BD,MAAM,CAACf,IAAI,CAAC,GAAG,CAAC,GAAGkB,IAAgB,KAAK;UACpC,MAAMC,QAAQ,GAAGH,KAAK,CAAC,GAAGE,IAAI,CAAC;UAC/B,MAAM;YAAEE,QAAQ;YAAEC,gBAAgB;YAAE,GAAGC;UAAK,CAAC,GAAGH,QAAQ;UAExD,OAAOG,IAAI;QACf,CAAC;MACL,CAAC,MAAM,IAAIN,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACO,KAAK,CAACC,OAAO,CAACR,KAAK,CAAC,EAAE;QAC7E,MAAM;UAAEI,QAAQ;UAAEC,gBAAgB;UAAE,GAAGC;QAAK,CAAC,GAAGN,KAAK;QAErDD,MAAM,CAACf,IAAI,CAAC,GAAGsB,IAAI;MACvB,CAAC,MAAM;QACHP,MAAM,CAACf,IAAI,CAAC,GAAGgB,KAAK;MACxB;IACJ;IAEA,OAAOD,MAAM;EACjB,CAAC;EAED,OAAO;IACHU,WAAW,EAAE;MACTC,KAAK,EAAE,OAAO;MACdC,IAAI,EAAE,MAAM;MACZC,WAAW,EAAE;IACjB,CAAC;IACDC,WAAW,EAAE;MACTC,QAAQ,EAAE,UAAU;MACpBC,SAAS,EAAE;IACf,CAAC;IACDC,cAAc,EAAE;MACZC,OAAO,EAAE,SAAS;MAClBP,KAAK,EAAE,OAAO;MACdC,IAAI,EAAE;IACV,CAAC;IACDO,sBAAsB,EAAE;MACpBC,iCAAiC,EAAE,mCAAmC;MACtEC,4BAA4B,EAAE,8BAA8B;MAC5DC,uBAAuB,EAAE,yBAAyB;MAClDC,kBAAkB,EAAE,oBAAoB;MACxCC,mBAAmB,EAAE,qBAAqB;MAC1CC,oBAAoB,EAAE,UAAU;MAChCC,eAAe,EAAE,SAAS;MAC1BC,UAAU,EAAE,QAAQ;MACpBC,KAAK,EAAE,OAAO;MACdC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAE,OAAO;MACdC,UAAU,EAAE,QAAQ;MACpBlB,WAAW,EAAE;IACjB,CAAC;IACDmB,0BAA0B,EAAE;MACxBF,KAAK,EAAE,OAAO;MACdZ,OAAO,EAAE,SAAS;MAClBU,KAAK,EAAE,OAAO;MACdD,UAAU,EAAE,YAAY;MACxBM,IAAI,EAAE,MAAM;MACZC,SAAS,EAAE,WAAW;MACtBC,cAAc,EAAE;IACpB,CAAC;IACDC,sBAAsB,EAAE;MACpBvB,WAAW,EAAE;IACjB,CAAC;IACDwB,IAAI,EAAEA,CAAA,KAAM,IAAI;IAChBC,OAAO,EAAEA,CAAA,KAAM,IAAI;IACnBC,WAAW,EAAEA,CAAA,KAAM,IAAI;IACvBC,aAAa,EACTA,CACIC,SAAqB,EACrBC,MAA2E,KAE/E,CAAC;MAAEC,QAAQ;MAAE,GAAGC;IAAW,CAAC,KAAK;MAC7B,MAAM;QAAEC;MAAiB,CAAC,GAAG7F,OAAO,CAAC,SAAS,CAAC;MAC/C,MAAM8F,KAAK,GAAI1D,MAAM,CAACC,MAAM,CAACpC,SAAS,CAACG,MAAM,CAAC,CAACkC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAoB;MAC7E,MAAM;QAAEyD,GAAG,EAAEC,WAAW;QAAE,GAAGC;MAAc,CAAC,GAAGP,MAAM,GAAGI,KAAK,EAAExF,WAAW,CAAC,IAAK,CAAC,CAAS;MAC1F,MAAM;QAAEyF,GAAG,EAAEG,WAAW;QAAE,GAAGC;MAAc,CAAC,GAAGR,QAAQ,GAAGG,KAAK,EAAExF,WAAW,CAAC,IAAI,CAAC,CAAC;MAEnF,OAAOP,KAAK,CAACqG,aAAa,CAACX,SAAS,EAAE;QAClC,GAAGI,gBAAgB,CAACI,aAAa,EAAEE,aAAa,EAAEP,KAAK,CAAC;QACxD,IAAIA,KAAK,CAAC3C,KAAK,GAAG;UAAEA,KAAK,EAAE2C,KAAK,CAAC3C;QAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI2C,KAAK,CAACS,qBAAqB,GAAG;UAAEA,qBAAqB,EAAET,KAAK,CAACS;QAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9FN,GAAG,EAAEG,WAAW,IAAIF;MACxB,CAAC,CAAC;IACN,CAAC;IACLM,EAAE,EAAE;MACAC,IAAI,EAAE;QACF9E,KAAK,EAAEA,CAAA,MAAO;UACV+E,GAAG,EAAE;YACD9E,MAAM,EAAEA,CAAA,MAAO,CAAC,CAAC;UACrB;QACJ,CAAC,CAAC;QACFA,MAAM,EAAEA,CAAA,MAAO;UACX8E,GAAG,EAAE;YACD/E,KAAK,EAAEA,CAAA,MAAO,CAAC,CAAC;UACpB;QACJ,CAAC;MACL,CAAC;MACDA,KAAK,EAAEA,CAAA,MAAO;QACV+E,GAAG,EAAE;UACD9E,MAAM,EAAEA,CAAA,MAAO,CAAC,CAAC;QACrB;MACJ,CAAC,CAAC;MACFA,MAAM,EAAEA,CAAA,MAAO;QACX8E,GAAG,EAAE;UACD/E,KAAK,EAAEA,CAAA,MAAO,CAAC,CAAC;QACpB;MACJ,CAAC;IACL,CAAC;IACDgF,YAAY,EAAEA,CAAA,MAAO;MACjBX,KAAK,EAAE1D,MAAM,CAACC,MAAM,CAACpC,SAAS,CAACG,MAAM,CAAC,CAACkC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;MAClDoE,EAAE,EAAE7E;IACR,CAAC,CAAC;IACF8E,UAAU,EAAE;MACRC,kBAAkB,EAAE;QAChBC,QAAQ,EAAE,UAAU;QACpB9F,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRF,GAAG,EAAE,CAAC;QACNG,MAAM,EAAE;MACZ,CAAC;MACD6F,YAAY,EAAE;QACVD,QAAQ,EAAE,UAAU;QACpB9F,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRF,GAAG,EAAE,CAAC;QACNG,MAAM,EAAE;MACZ,CAAmD;MACnD8F,OAAO,EAAGC,MAAW,IAAK;QACtB,OAAOA,MAAM;MACjB,CAAC;MACDC,OAAO,EAAGD,MAAW,IAAK;QACtB,OAAOA,MAAM;MACjB,CAAC;MACDE,MAAM,EAAGF,MAAW,IAAK;QACrB,MAAM5D,QAAQ,GACV,OAAO4D,MAAM,KAAK,UAAU,GACtBA,MAAM,CAAC5E,MAAM,CAACC,MAAM,CAACpC,SAAS,CAACG,MAAM,CAAC,CAACkC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAEhC,WAAW,CAAC,GAChE0G,MAAM;QAEhB,OAAO;UACH,GAAGlE,aAAa,CAACM,QAAQ,CAAC;UAC1B+D,WAAW,EAAEA,CAAA,KAAM,CAAC;QACxB,CAAC;MACL,CAAC;MACDC,SAAS,EAAGC,MAAuB,IAAK;QACpC,IAAIA,MAAM,CAAChH,WAAW,EAAE;UACpBJ,SAAS,CAACI,WAAW,GAAGgH,MAAM,CAAChH,WAAW;QAC9C;QAEA,IAAIgH,MAAM,CAACjH,MAAM,EAAE;UACfH,SAAS,CAACG,MAAM,GAAGiH,MAAM,CAACjH,MAAM;QACpC;MACJ,CAAC;MACDkH,SAAS,EAAE;QACPC,YAAY,EAAEA,CAAA,KAAM,IAAI;QACxBC,oBAAoB,EAAEA,CAAA,KAAM;MAChC,CAAC;MACDC,aAAa,EAAE,CAAC;MAChB9H,iBAAiB,EAAEA,CAAA,KAAM,MAAM,CAAC,CAAC;MACjCD,IAAI,EAAEA,CAAA,KAAM,CAAC,CAAC;MACduC,IAAI,EAAE,gBAAgB;MACtBF,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;MACjBC,MAAM,EAAEA,CAAA,KAAM;IAClB,CAA+B;IAC/B0F,gBAAgB,EAAE7F;EACtB,CAAC;AACL,CAAC,CAAC;AAEFxC,IAAI,CAACC,IAAI,CAAC,mCAAmC,EAAE,MAAM;EACjD,MAAMqI,SAAS,GAAG3H,OAAO,CAAC,wBAAwB,CAAC;EACnD,MAAM4H,iBAAiB,GAAIC,KAAU,KAAM;IACvCC,GAAG,EAAEA,CAAA,KAAMD,KAAK;IAChBE,GAAG,EAAGC,MAAW,IAAK,CAAC,CAAC;IACxBH;EACJ,CAAC,CAAC;EAEF,OAAO;IACHI,gBAAgB,EAAEA,CAAA,KAAM;MACpB,MAAMnC,KAAK,GAAG6B,SAAS,CAAClB,YAAY,CAAC,CAAC,CAACX,KAAK;MAC5C,MAAMoC,WAAW,GAAGN,iBAAiB,CAAC9B,KAAK,CAAC;MAE5C,OAAOoC,WAAW;IACtB,CAAC;IACDC,uBAAuB,EAAEA,CAAA,KAAM;MAC3B,MAAMC,SAAS,GAAGR,iBAAiB,CAAC,SAAS,CAAC;MAC9C,MAAMS,OAAO,GAAGT,iBAAiB,CAAC,SAAS,CAAC;MAE5C,OAAO;QACHQ,SAAS;QACTC;MACJ,CAAC;IACL;EACJ,CAAC;AACL,CAAC,CAAC;AAAA","ignoreList":[]}
|
|
@@ -1,91 +1,75 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
import { Fiber, Reanimated } from '../../unifiber/src';
|
|
4
5
|
import { StyleSheet } from '../StyleSheet';
|
|
6
|
+
import { createUnistylesStyleSource } from './styleSource';
|
|
7
|
+
import { traceSection } from './tracing';
|
|
5
8
|
const HybridShadowRegistry = NitroModules.createHybridObject('UnistylesShadowRegistry');
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
const {
|
|
10
|
+
collectVisibleAncestors,
|
|
11
|
+
getHostFor,
|
|
12
|
+
getHostForInstanceHandle,
|
|
13
|
+
getShadowNode,
|
|
14
|
+
getShadowNodes,
|
|
15
|
+
isHidden
|
|
16
|
+
} = Fiber;
|
|
17
|
+
const {
|
|
18
|
+
source: styleSource,
|
|
19
|
+
bumpEpoch
|
|
20
|
+
} = createUnistylesStyleSource({
|
|
21
|
+
get: () => HybridShadowRegistry.getScopedTheme(),
|
|
22
|
+
set: name => HybridShadowRegistry.setScopedTheme(name)
|
|
23
|
+
});
|
|
24
|
+
const owners = Fiber.createOwnerRegistry(styleSource, [Reanimated.cssAdapter], reason => {
|
|
25
|
+
console.warn(`Unistyles: ${reason}. CSS transitions won't follow theme changes.`);
|
|
26
|
+
});
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
// A component can point at another native view by the time its ref is cleaned up, eg. FlatList on Android remounts
|
|
29
|
+
// its native ScrollView when `horizontal` changes, so remove unlinks the view it was linked with
|
|
30
|
+
// The host points at its current node, while a stored node would keep its first revision (and children) alive
|
|
31
|
+
// Native views always resolve to their own host, so they skip it
|
|
32
|
+
const linkedHosts = new WeakMap();
|
|
33
|
+
const committedHosts = [];
|
|
34
|
+
let refreshNodes = [];
|
|
35
|
+
const collectShadowNodes = host => {
|
|
36
|
+
getShadowNodes(host, refreshNodes);
|
|
30
37
|
};
|
|
31
38
|
|
|
32
39
|
// React re-attaches an untouched subtree through its root's node and only follows clones made on the JS thread.
|
|
33
40
|
// Once a node was cloned elsewhere (state updates, Reanimated), React would commit a subtree from before a Unistyles
|
|
34
41
|
// update, so after a Unistyles commit the committed nodes and their host ancestors must point at the committed tree
|
|
35
42
|
const refreshReactNodes = () => {
|
|
36
|
-
|
|
37
|
-
|
|
43
|
+
bumpEpoch();
|
|
44
|
+
const handles = HybridShadowRegistry.takeCommittedInstanceHandles();
|
|
45
|
+
if (handles.length === 0) {
|
|
38
46
|
return;
|
|
39
47
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
for (const fiber of fibers) {
|
|
44
|
-
// collected, unmounted since
|
|
45
|
-
if (!fiber) {
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
let isHidden = false;
|
|
49
|
-
hostFibers.length = 0;
|
|
50
|
-
for (let current = fiber; current; current = current.return) {
|
|
51
|
-
// hidden by Suspense or a frozen screen
|
|
52
|
-
if ((current.tag === SUSPENSE_TAG || current.tag === OFFSCREEN_TAG) && current.memoizedState !== null) {
|
|
53
|
-
isHidden = true;
|
|
54
|
-
}
|
|
55
|
-
if (current.tag !== HOST_COMPONENT_TAG) {
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// its ancestors are visible and already collected
|
|
60
|
-
if (refreshedTags.has(current.stateNode?.canonical?.nativeTag)) {
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
hostFibers.push(current);
|
|
48
|
+
try {
|
|
49
|
+
for (let i = 0; i < handles.length; i++) {
|
|
50
|
+
committedHosts[i] = getHostForInstanceHandle(handles[i]);
|
|
64
51
|
}
|
|
65
|
-
|
|
66
|
-
|
|
52
|
+
collectVisibleAncestors(committedHosts, collectShadowNodes);
|
|
53
|
+
if (refreshNodes.length > 0) {
|
|
54
|
+
HybridShadowRegistry.refreshReactNodes(refreshNodes);
|
|
67
55
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (hostTag !== undefined) {
|
|
73
|
-
refreshedTags.add(hostTag);
|
|
74
|
-
}
|
|
75
|
-
if (node) {
|
|
76
|
-
nodes.push(node);
|
|
77
|
-
}
|
|
78
|
-
if (alternateNode && alternateNode !== node) {
|
|
79
|
-
nodes.push(alternateNode);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (nodes.length > 0) {
|
|
84
|
-
HybridShadowRegistry.refreshReactNodes(nodes);
|
|
56
|
+
traceSection('refreshOwners', () => owners.refresh(committedHosts));
|
|
57
|
+
} finally {
|
|
58
|
+
committedHosts.length = 0;
|
|
59
|
+
refreshNodes = [];
|
|
85
60
|
}
|
|
86
61
|
};
|
|
87
62
|
StyleSheet.addChangeListener(refreshReactNodes);
|
|
88
63
|
|
|
64
|
+
// a unistyle key holds its secrets object. A unistyle spread into another StyleSheet.create keeps its key,
|
|
65
|
+
// but the parser resolves the (hidden) secrets to undefined, so the key no longer points at a unistyle
|
|
66
|
+
const isUnistyleKey = (style, key) => {
|
|
67
|
+
if (!key.startsWith('unistyles_')) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
return typeof style[key] === 'object' && style[key] !== null;
|
|
71
|
+
};
|
|
72
|
+
|
|
89
73
|
// skips empty styles and splits a style merged from many unistyles (eg. flattened by Animated) into one per unistyle
|
|
90
74
|
// runs for every style on every link, so it reads the keys once and allocates only for the rare merged style
|
|
91
75
|
const collectStyle = (style, collected) => {
|
|
@@ -95,7 +79,7 @@ const collectStyle = (style, collected) => {
|
|
|
95
79
|
const keys = Object.keys(style);
|
|
96
80
|
let unistylesCount = 0;
|
|
97
81
|
for (const key of keys) {
|
|
98
|
-
if (key
|
|
82
|
+
if (isUnistyleKey(style, key)) {
|
|
99
83
|
unistylesCount++;
|
|
100
84
|
}
|
|
101
85
|
}
|
|
@@ -106,7 +90,7 @@ const collectStyle = (style, collected) => {
|
|
|
106
90
|
return;
|
|
107
91
|
}
|
|
108
92
|
for (const key of keys) {
|
|
109
|
-
if (key
|
|
93
|
+
if (isUnistyleKey(style, key)) {
|
|
110
94
|
collected.push({
|
|
111
95
|
[key]: style[key]
|
|
112
96
|
});
|
|
@@ -125,8 +109,9 @@ HybridShadowRegistry.add = (handle, styles, scope) => {
|
|
|
125
109
|
collectStyle(styles, filteredStyles);
|
|
126
110
|
}
|
|
127
111
|
if (filteredStyles.length > 0) {
|
|
128
|
-
const
|
|
129
|
-
|
|
112
|
+
const host = getHostFor(handle);
|
|
113
|
+
const node = host && getShadowNode(host);
|
|
114
|
+
if (!host || !node) {
|
|
130
115
|
throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.constructor?.name ?? 'unknown'}`);
|
|
131
116
|
}
|
|
132
117
|
|
|
@@ -136,6 +121,10 @@ HybridShadowRegistry.add = (handle, styles, scope) => {
|
|
|
136
121
|
HybridShadowRegistry.setScopedTheme(scope.name);
|
|
137
122
|
}
|
|
138
123
|
HybridShadowRegistry.link(node, filteredStyles);
|
|
124
|
+
owners.link(host);
|
|
125
|
+
if (!handle.__internalInstanceHandle) {
|
|
126
|
+
linkedHosts.set(handle, host);
|
|
127
|
+
}
|
|
139
128
|
if (scope) {
|
|
140
129
|
HybridShadowRegistry.setScopedTheme(previousScopedTheme);
|
|
141
130
|
}
|
|
@@ -145,10 +134,14 @@ HybridShadowRegistry.remove = handle => {
|
|
|
145
134
|
if (!handle) {
|
|
146
135
|
return;
|
|
147
136
|
}
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
137
|
+
const linkedHost = handle.__internalInstanceHandle ? undefined : linkedHosts.get(handle);
|
|
138
|
+
const host = linkedHost ?? getHostFor(handle);
|
|
139
|
+
const maybeNode = host && getShadowNode(host);
|
|
140
|
+
if (linkedHost) {
|
|
141
|
+
linkedHosts.delete(handle);
|
|
142
|
+
}
|
|
143
|
+
if (host && maybeNode) {
|
|
144
|
+
if (isHidden(host)) {
|
|
152
145
|
HybridShadowRegistry.suspend(maybeNode);
|
|
153
146
|
} else {
|
|
154
147
|
HybridShadowRegistry.unlink(maybeNode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","
|
|
1
|
+
{"version":3,"names":["NitroModules","Fiber","Reanimated","StyleSheet","createUnistylesStyleSource","traceSection","HybridShadowRegistry","createHybridObject","collectVisibleAncestors","getHostFor","getHostForInstanceHandle","getShadowNode","getShadowNodes","isHidden","source","styleSource","bumpEpoch","get","getScopedTheme","set","name","setScopedTheme","owners","createOwnerRegistry","cssAdapter","reason","console","warn","linkedHosts","WeakMap","committedHosts","refreshNodes","collectShadowNodes","host","refreshReactNodes","handles","takeCommittedInstanceHandles","length","i","refresh","addChangeListener","isUnistyleKey","style","key","startsWith","collectStyle","collected","keys","Object","unistylesCount","push","add","handle","styles","scope","filteredStyles","Array","isArray","flat","Infinity","forEach","node","Error","constructor","previousScopedTheme","undefined","link","__internalInstanceHandle","remove","linkedHost","maybeNode","delete","suspend","unlink","UnistylesShadowRegistry"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { ScopedThemeContext } from '../../components/ScopedThemeContext';
|
|
4
|
+
export const createUnistylesStyleSource = scopedTheme => {
|
|
5
|
+
let epoch = 0;
|
|
6
|
+
let warned = false;
|
|
7
|
+
const source = {
|
|
8
|
+
name: 'unistyles',
|
|
9
|
+
epoch: () => epoch,
|
|
10
|
+
contexts: [ScopedThemeContext],
|
|
11
|
+
contextKey: (_context, scope) => scope?.name,
|
|
12
|
+
resolve: (props, read) => {
|
|
13
|
+
try {
|
|
14
|
+
return resolveFresh(props, read(ScopedThemeContext));
|
|
15
|
+
} catch (error) {
|
|
16
|
+
if (!warned) {
|
|
17
|
+
warned = true;
|
|
18
|
+
console.warn(`Unistyles: Could not refresh styles for a CSS transition. ${String(error)}`);
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const resolveFresh = (props, scope) => {
|
|
25
|
+
const styles = [props.style].flat(Infinity);
|
|
26
|
+
const fresh = {};
|
|
27
|
+
let hasUnistyles = false;
|
|
28
|
+
for (const style of styles) {
|
|
29
|
+
if (!style || typeof style !== 'object') {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
Object.assign(fresh, style);
|
|
33
|
+
for (const key in style) {
|
|
34
|
+
if (!key.startsWith('unistyles_') || !Object.prototype.hasOwnProperty.call(style, key)) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
hasUnistyles = true;
|
|
38
|
+
const previousScopedTheme = scope ? scopedTheme.get() : undefined;
|
|
39
|
+
if (scope) {
|
|
40
|
+
scopedTheme.set(scope.name);
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
Object.assign(fresh, style[key]?.uni__getStyles?.());
|
|
44
|
+
} finally {
|
|
45
|
+
if (scope) {
|
|
46
|
+
scopedTheme.set(previousScopedTheme);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return hasUnistyles ? fresh : undefined;
|
|
52
|
+
};
|
|
53
|
+
return {
|
|
54
|
+
source,
|
|
55
|
+
bumpEpoch: () => {
|
|
56
|
+
epoch++;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=styleSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ScopedThemeContext","createUnistylesStyleSource","scopedTheme","epoch","warned","source","name","contexts","contextKey","_context","scope","resolve","props","read","resolveFresh","error","console","warn","String","undefined","styles","style","flat","Infinity","fresh","hasUnistyles","Object","assign","key","startsWith","prototype","hasOwnProperty","call","previousScopedTheme","get","set","uni__getStyles","bumpEpoch"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/styleSource.ts"],"mappings":";;AAGA,SAASA,kBAAkB,QAAQ,qCAAqC;AAOxE,OAAO,MAAMC,0BAA0B,GAAIC,WAA8B,IAAK;EAC1E,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,MAAM,GAAG,KAAK;EAElB,MAAMC,MAAmB,GAAG;IACxBC,IAAI,EAAE,WAAW;IACjBH,KAAK,EAAEA,CAAA,KAAMA,KAAK;IAClBI,QAAQ,EAAE,CAACP,kBAAkB,CAAC;IAC9BQ,UAAU,EAAEA,CAACC,QAAQ,EAAEC,KAAK,KAAMA,KAAK,EAAmBJ,IAAI;IAC9DK,OAAO,EAAEA,CAACC,KAAK,EAAEC,IAAI,KAAK;MACtB,IAAI;QACA,OAAOC,YAAY,CAACF,KAAK,EAAEC,IAAI,CAACb,kBAAkB,CAAC,CAAC;MACxD,CAAC,CAAC,OAAOe,KAAK,EAAE;QACZ,IAAI,CAACX,MAAM,EAAE;UACTA,MAAM,GAAG,IAAI;UACbY,OAAO,CAACC,IAAI,CAAC,6DAA6DC,MAAM,CAACH,KAAK,CAAC,EAAE,CAAC;QAC9F;QAEA,OAAOI,SAAS;MACpB;IACJ;EACJ,CAAC;EAED,MAAML,YAAY,GAAGA,CAACF,KAA0B,EAAEF,KAA+B,KAAK;IAClF,MAAMU,MAAM,GAAG,CAACR,KAAK,CAACS,KAAK,CAAC,CAACC,IAAI,CAACC,QAAQ,CAAC;IAC3C,MAAMC,KAA8B,GAAG,CAAC,CAAC;IACzC,IAAIC,YAAY,GAAG,KAAK;IAExB,KAAK,MAAMJ,KAAK,IAAID,MAAM,EAAE;MACxB,IAAI,CAACC,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QACrC;MACJ;MAEAK,MAAM,CAACC,MAAM,CAACH,KAAK,EAAEH,KAAK,CAAC;MAE3B,KAAK,MAAMO,GAAG,IAAIP,KAAK,EAAE;QACrB,IAAI,CAACO,GAAG,CAACC,UAAU,CAAC,YAAY,CAAC,IAAI,CAACH,MAAM,CAACI,SAAS,CAACC,cAAc,CAACC,IAAI,CAACX,KAAK,EAAEO,GAAG,CAAC,EAAE;UACpF;QACJ;QAEAH,YAAY,GAAG,IAAI;QAEnB,MAAMQ,mBAAmB,GAAGvB,KAAK,GAAGR,WAAW,CAACgC,GAAG,CAAC,CAAC,GAAGf,SAAS;QAEjE,IAAIT,KAAK,EAAE;UACPR,WAAW,CAACiC,GAAG,CAACzB,KAAK,CAACJ,IAAI,CAAC;QAC/B;QAEA,IAAI;UACAoB,MAAM,CAACC,MAAM,CAACH,KAAK,EAAEH,KAAK,CAACO,GAAG,CAAC,EAAEQ,cAAc,GAAG,CAAC,CAAC;QACxD,CAAC,SAAS;UACN,IAAI1B,KAAK,EAAE;YACPR,WAAW,CAACiC,GAAG,CAACF,mBAAmB,CAAC;UACxC;QACJ;MACJ;IACJ;IAEA,OAAOR,YAAY,GAAGD,KAAK,GAAGL,SAAS;EAC3C,CAAC;EAED,OAAO;IACHd,MAAM;IACNgC,SAAS,EAAEA,CAAA,KAAM;MACblC,KAAK,EAAE;IACX;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// console.timeStamp(label, start, end, trackName), React Native 0.86+ reports it only while DevTools records and keeps
|
|
4
|
+
// nothing, unlike performance.measure, which adds every entry to an unbounded buffer
|
|
5
|
+
|
|
6
|
+
const tracingConsole = console;
|
|
7
|
+
const canTrace = __DEV__ && typeof tracingConsole.timeStamp === 'function';
|
|
8
|
+
|
|
9
|
+
// Slice on the "Unistyles" track of the React Native DevTools Performance panel, next to the native ones
|
|
10
|
+
export const traceSection = (name, fn) => {
|
|
11
|
+
if (!canTrace) {
|
|
12
|
+
return fn();
|
|
13
|
+
}
|
|
14
|
+
const start = performance.now();
|
|
15
|
+
try {
|
|
16
|
+
return fn();
|
|
17
|
+
} finally {
|
|
18
|
+
tracingConsole.timeStamp?.(name, start, performance.now(), 'Unistyles');
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=tracing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tracingConsole","console","canTrace","__DEV__","timeStamp","traceSection","name","fn","start","performance","now"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/tracing.ts"],"mappings":";;AAAA;AACA;;AAKA,MAAMA,cAAc,GAAGC,OAAoC;AAC3D,MAAMC,QAAQ,GAAGC,OAAO,IAAI,OAAOH,cAAc,CAACI,SAAS,KAAK,UAAU;;AAE1E;AACA,OAAO,MAAMC,YAAY,GAAGA,CAAIC,IAAY,EAAEC,EAAW,KAAQ;EAC7D,IAAI,CAACL,QAAQ,EAAE;IACX,OAAOK,EAAE,CAAC,CAAC;EACf;EAEA,MAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;EAE/B,IAAI;IACA,OAAOH,EAAE,CAAC,CAAC;EACf,CAAC,SAAS;IACNP,cAAc,CAACI,SAAS,GAAGE,IAAI,EAAEE,KAAK,EAAEC,WAAW,CAACC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC;EAC3E;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Keeps Reanimated's CSS style copy (`_cssStyle`) in sync with native-only style updates.
|
|
4
|
+
// Private fields are pinned by test/reanimated-contract.test.ts for 4.5 and 4.7.
|
|
5
|
+
|
|
6
|
+
import * as fiber from '../fiber';
|
|
7
|
+
|
|
8
|
+
// Bound once: Metro's inline requires
|
|
9
|
+
const {
|
|
10
|
+
contextReaderFor
|
|
11
|
+
} = fiber;
|
|
12
|
+
const CLASS_COMPONENT = fiber.Tag.ClassComponent;
|
|
13
|
+
// Symbol.for: two copies of unifiber in one bundle never wrap a component twice
|
|
14
|
+
const STATE = Symbol.for('unifiber.reanimated.css');
|
|
15
|
+
|
|
16
|
+
// Kept out of AnimatedComponentLike: a unique symbol in a public type breaks consumers' declaration builds (TS4023)
|
|
17
|
+
|
|
18
|
+
const hasCSSConfig = cssStyle => {
|
|
19
|
+
for (const key in cssStyle) {
|
|
20
|
+
if (key.startsWith('transition') || key.startsWith('animation')) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// Keyframe animations and pseudo-styles register again on update after componentWillUnmount cleaned them up.
|
|
28
|
+
// React runs no componentWillUnmount for a subtree deleted while hidden, so on a hidden owner they would leak.
|
|
29
|
+
const registersOnUpdate = cssStyle => {
|
|
30
|
+
for (const key in cssStyle) {
|
|
31
|
+
if (key.startsWith('animation')) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
const value = cssStyle[key];
|
|
35
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
36
|
+
for (const selector in value) {
|
|
37
|
+
if (selector === 'default' || selector.startsWith(':')) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// Deepest case: ScrollView with refreshControl on Android, 6-7 fibers
|
|
48
|
+
const MAX_OWNER_DEPTH = 12;
|
|
49
|
+
|
|
50
|
+
// The class whose `_componentRef` is this host's public instance. Lists don't match: their ref isn't a host.
|
|
51
|
+
export const animatedComponentOf = host => {
|
|
52
|
+
const fiber = host;
|
|
53
|
+
if (fiber?.memoizedProps?.collapsable !== false) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const publicInstance = fiber.stateNode?.canonical?.publicInstance;
|
|
57
|
+
if (!publicInstance) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
let current = fiber.return;
|
|
61
|
+
for (let depth = 0; current && depth < MAX_OWNER_DEPTH; depth++) {
|
|
62
|
+
if (current.tag === CLASS_COMPONENT && current.stateNode?._componentRef === publicInstance) {
|
|
63
|
+
return isAnimatedComponent(current.stateNode) ? current.stateNode : null;
|
|
64
|
+
}
|
|
65
|
+
current = current.return;
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
68
|
+
};
|
|
69
|
+
const isAnimatedComponent = owner => typeof owner?._updateStyles === 'function' && typeof owner.shouldComponentUpdate === 'function' && owner._cssStyle !== null && typeof owner._cssStyle === 'object';
|
|
70
|
+
function updateStylesThroughSource(props) {
|
|
71
|
+
const state = this[STATE];
|
|
72
|
+
state.original.call(this, props);
|
|
73
|
+
if (!hasCSSConfig(this._cssStyle)) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const epoch = state.source.epoch();
|
|
77
|
+
const read = contextReaderFor(this, state.rendering);
|
|
78
|
+
const contexts = state.source.contexts ?? [];
|
|
79
|
+
let contextChanged = false;
|
|
80
|
+
for (let i = 0; i < contexts.length; i++) {
|
|
81
|
+
const context = contexts[i];
|
|
82
|
+
const value = read(context);
|
|
83
|
+
const key = state.source.contextKey ? state.source.contextKey(context, value) : value;
|
|
84
|
+
if (state.contextKeys[i] !== key) {
|
|
85
|
+
state.contextKeys[i] = key;
|
|
86
|
+
contextChanged = true;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (contextChanged || state.styleProp !== props.style || state.epoch !== epoch) {
|
|
90
|
+
state.fresh = state.source.resolve(props, read);
|
|
91
|
+
state.styleProp = props.style;
|
|
92
|
+
state.epoch = epoch;
|
|
93
|
+
}
|
|
94
|
+
const fresh = state.fresh;
|
|
95
|
+
if (!fresh) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// only the keys Reanimated kept: animated styles were split out of _cssStyle
|
|
100
|
+
for (const key in this._cssStyle) {
|
|
101
|
+
if (key in fresh) {
|
|
102
|
+
this._cssStyle[key] = fresh[key];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Marks the render phase, where context must be read from React's stack
|
|
108
|
+
function shouldUpdateMarkingRender(...args) {
|
|
109
|
+
const state = this[STATE];
|
|
110
|
+
state.rendering = true;
|
|
111
|
+
try {
|
|
112
|
+
return state.originalShouldUpdate.apply(this, args);
|
|
113
|
+
} finally {
|
|
114
|
+
state.rendering = false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
export const reanimatedCSSAdapter = {
|
|
118
|
+
name: 'react-native-reanimated/css',
|
|
119
|
+
gate: host => host.memoizedProps?.collapsable === false,
|
|
120
|
+
claim: animatedComponentOf,
|
|
121
|
+
attach: (owner, source) => {
|
|
122
|
+
if (owner[STATE]) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
owner[STATE] = {
|
|
126
|
+
source,
|
|
127
|
+
original: owner._updateStyles,
|
|
128
|
+
originalShouldUpdate: owner.shouldComponentUpdate,
|
|
129
|
+
rendering: false,
|
|
130
|
+
styleProp: undefined,
|
|
131
|
+
epoch: -1,
|
|
132
|
+
contextKeys: [],
|
|
133
|
+
fresh: undefined
|
|
134
|
+
};
|
|
135
|
+
owner._updateStyles = updateStylesThroughSource;
|
|
136
|
+
owner.shouldComponentUpdate = shouldUpdateMarkingRender;
|
|
137
|
+
},
|
|
138
|
+
refresh: owner => {
|
|
139
|
+
// not mounted yet
|
|
140
|
+
if (typeof owner._CSSManager?.update !== 'function') {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Hidden transitions still run, so the reveal shows the new value instead of animating from the old one
|
|
145
|
+
if (owner._willUnmount === true && registersOnUpdate(owner._cssStyle)) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
owner._updateStyles(owner.props);
|
|
149
|
+
owner._CSSManager.update(owner._cssStyle, owner.props);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=reanimated.js.map
|