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
|
@@ -5,91 +5,75 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UnistylesShadowRegistry = void 0;
|
|
7
7
|
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
|
8
|
+
var _src = require("../../unifiber/src");
|
|
8
9
|
var _StyleSheet = require("../StyleSheet");
|
|
10
|
+
var _styleSource = require("./styleSource");
|
|
11
|
+
var _tracing = require("./tracing");
|
|
9
12
|
const HybridShadowRegistry = _reactNativeNitroModules.NitroModules.createHybridObject('UnistylesShadowRegistry');
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
13
|
+
const {
|
|
14
|
+
collectVisibleAncestors,
|
|
15
|
+
getHostFor,
|
|
16
|
+
getHostForInstanceHandle,
|
|
17
|
+
getShadowNode,
|
|
18
|
+
getShadowNodes,
|
|
19
|
+
isHidden
|
|
20
|
+
} = _src.Fiber;
|
|
21
|
+
const {
|
|
22
|
+
source: styleSource,
|
|
23
|
+
bumpEpoch
|
|
24
|
+
} = (0, _styleSource.createUnistylesStyleSource)({
|
|
25
|
+
get: () => HybridShadowRegistry.getScopedTheme(),
|
|
26
|
+
set: name => HybridShadowRegistry.setScopedTheme(name)
|
|
27
|
+
});
|
|
28
|
+
const owners = _src.Fiber.createOwnerRegistry(styleSource, [_src.Reanimated.cssAdapter], reason => {
|
|
29
|
+
console.warn(`Unistyles: ${reason}. CSS transitions won't follow theme changes.`);
|
|
30
|
+
});
|
|
28
31
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
// A component can point at another native view by the time its ref is cleaned up, eg. FlatList on Android remounts
|
|
33
|
+
// its native ScrollView when `horizontal` changes, so remove unlinks the view it was linked with
|
|
34
|
+
// The host points at its current node, while a stored node would keep its first revision (and children) alive
|
|
35
|
+
// Native views always resolve to their own host, so they skip it
|
|
36
|
+
const linkedHosts = new WeakMap();
|
|
37
|
+
const committedHosts = [];
|
|
38
|
+
let refreshNodes = [];
|
|
39
|
+
const collectShadowNodes = host => {
|
|
40
|
+
getShadowNodes(host, refreshNodes);
|
|
34
41
|
};
|
|
35
42
|
|
|
36
43
|
// React re-attaches an untouched subtree through its root's node and only follows clones made on the JS thread.
|
|
37
44
|
// Once a node was cloned elsewhere (state updates, Reanimated), React would commit a subtree from before a Unistyles
|
|
38
45
|
// update, so after a Unistyles commit the committed nodes and their host ancestors must point at the committed tree
|
|
39
46
|
const refreshReactNodes = () => {
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
bumpEpoch();
|
|
48
|
+
const handles = HybridShadowRegistry.takeCommittedInstanceHandles();
|
|
49
|
+
if (handles.length === 0) {
|
|
42
50
|
return;
|
|
43
51
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
for (const fiber of fibers) {
|
|
48
|
-
// collected, unmounted since
|
|
49
|
-
if (!fiber) {
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
let isHidden = false;
|
|
53
|
-
hostFibers.length = 0;
|
|
54
|
-
for (let current = fiber; current; current = current.return) {
|
|
55
|
-
// hidden by Suspense or a frozen screen
|
|
56
|
-
if ((current.tag === SUSPENSE_TAG || current.tag === OFFSCREEN_TAG) && current.memoizedState !== null) {
|
|
57
|
-
isHidden = true;
|
|
58
|
-
}
|
|
59
|
-
if (current.tag !== HOST_COMPONENT_TAG) {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// its ancestors are visible and already collected
|
|
64
|
-
if (refreshedTags.has(current.stateNode?.canonical?.nativeTag)) {
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
hostFibers.push(current);
|
|
68
|
-
}
|
|
69
|
-
if (isHidden) {
|
|
70
|
-
continue;
|
|
52
|
+
try {
|
|
53
|
+
for (let i = 0; i < handles.length; i++) {
|
|
54
|
+
committedHosts[i] = getHostForInstanceHandle(handles[i]);
|
|
71
55
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const hostTag = hostFiber.stateNode?.canonical?.nativeTag;
|
|
76
|
-
if (hostTag !== undefined) {
|
|
77
|
-
refreshedTags.add(hostTag);
|
|
78
|
-
}
|
|
79
|
-
if (node) {
|
|
80
|
-
nodes.push(node);
|
|
81
|
-
}
|
|
82
|
-
if (alternateNode && alternateNode !== node) {
|
|
83
|
-
nodes.push(alternateNode);
|
|
84
|
-
}
|
|
56
|
+
collectVisibleAncestors(committedHosts, collectShadowNodes);
|
|
57
|
+
if (refreshNodes.length > 0) {
|
|
58
|
+
HybridShadowRegistry.refreshReactNodes(refreshNodes);
|
|
85
59
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
60
|
+
(0, _tracing.traceSection)('refreshOwners', () => owners.refresh(committedHosts));
|
|
61
|
+
} finally {
|
|
62
|
+
committedHosts.length = 0;
|
|
63
|
+
refreshNodes = [];
|
|
89
64
|
}
|
|
90
65
|
};
|
|
91
66
|
_StyleSheet.StyleSheet.addChangeListener(refreshReactNodes);
|
|
92
67
|
|
|
68
|
+
// a unistyle key holds its secrets object. A unistyle spread into another StyleSheet.create keeps its key,
|
|
69
|
+
// but the parser resolves the (hidden) secrets to undefined, so the key no longer points at a unistyle
|
|
70
|
+
const isUnistyleKey = (style, key) => {
|
|
71
|
+
if (!key.startsWith('unistyles_')) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return typeof style[key] === 'object' && style[key] !== null;
|
|
75
|
+
};
|
|
76
|
+
|
|
93
77
|
// skips empty styles and splits a style merged from many unistyles (eg. flattened by Animated) into one per unistyle
|
|
94
78
|
// runs for every style on every link, so it reads the keys once and allocates only for the rare merged style
|
|
95
79
|
const collectStyle = (style, collected) => {
|
|
@@ -99,7 +83,7 @@ const collectStyle = (style, collected) => {
|
|
|
99
83
|
const keys = Object.keys(style);
|
|
100
84
|
let unistylesCount = 0;
|
|
101
85
|
for (const key of keys) {
|
|
102
|
-
if (key
|
|
86
|
+
if (isUnistyleKey(style, key)) {
|
|
103
87
|
unistylesCount++;
|
|
104
88
|
}
|
|
105
89
|
}
|
|
@@ -110,7 +94,7 @@ const collectStyle = (style, collected) => {
|
|
|
110
94
|
return;
|
|
111
95
|
}
|
|
112
96
|
for (const key of keys) {
|
|
113
|
-
if (key
|
|
97
|
+
if (isUnistyleKey(style, key)) {
|
|
114
98
|
collected.push({
|
|
115
99
|
[key]: style[key]
|
|
116
100
|
});
|
|
@@ -129,8 +113,9 @@ HybridShadowRegistry.add = (handle, styles, scope) => {
|
|
|
129
113
|
collectStyle(styles, filteredStyles);
|
|
130
114
|
}
|
|
131
115
|
if (filteredStyles.length > 0) {
|
|
132
|
-
const
|
|
133
|
-
|
|
116
|
+
const host = getHostFor(handle);
|
|
117
|
+
const node = host && getShadowNode(host);
|
|
118
|
+
if (!host || !node) {
|
|
134
119
|
throw new Error(`Unistyles: Could not find shadow node for one of your components of type ${handle?.constructor?.name ?? 'unknown'}`);
|
|
135
120
|
}
|
|
136
121
|
|
|
@@ -140,6 +125,10 @@ HybridShadowRegistry.add = (handle, styles, scope) => {
|
|
|
140
125
|
HybridShadowRegistry.setScopedTheme(scope.name);
|
|
141
126
|
}
|
|
142
127
|
HybridShadowRegistry.link(node, filteredStyles);
|
|
128
|
+
owners.link(host);
|
|
129
|
+
if (!handle.__internalInstanceHandle) {
|
|
130
|
+
linkedHosts.set(handle, host);
|
|
131
|
+
}
|
|
143
132
|
if (scope) {
|
|
144
133
|
HybridShadowRegistry.setScopedTheme(previousScopedTheme);
|
|
145
134
|
}
|
|
@@ -149,10 +138,14 @@ HybridShadowRegistry.remove = handle => {
|
|
|
149
138
|
if (!handle) {
|
|
150
139
|
return;
|
|
151
140
|
}
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
141
|
+
const linkedHost = handle.__internalInstanceHandle ? undefined : linkedHosts.get(handle);
|
|
142
|
+
const host = linkedHost ?? getHostFor(handle);
|
|
143
|
+
const maybeNode = host && getShadowNode(host);
|
|
144
|
+
if (linkedHost) {
|
|
145
|
+
linkedHosts.delete(handle);
|
|
146
|
+
}
|
|
147
|
+
if (host && maybeNode) {
|
|
148
|
+
if (isHidden(host)) {
|
|
156
149
|
HybridShadowRegistry.suspend(maybeNode);
|
|
157
150
|
} else {
|
|
158
151
|
HybridShadowRegistry.unlink(maybeNode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeNitroModules","require","
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_src","_StyleSheet","_styleSource","_tracing","HybridShadowRegistry","NitroModules","createHybridObject","collectVisibleAncestors","getHostFor","getHostForInstanceHandle","getShadowNode","getShadowNodes","isHidden","Fiber","source","styleSource","bumpEpoch","createUnistylesStyleSource","get","getScopedTheme","set","name","setScopedTheme","owners","createOwnerRegistry","Reanimated","cssAdapter","reason","console","warn","linkedHosts","WeakMap","committedHosts","refreshNodes","collectShadowNodes","host","refreshReactNodes","handles","takeCommittedInstanceHandles","length","i","traceSection","refresh","StyleSheet","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","exports"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createUnistylesStyleSource = void 0;
|
|
7
|
+
var _ScopedThemeContext = require("../../components/ScopedThemeContext");
|
|
8
|
+
const createUnistylesStyleSource = scopedTheme => {
|
|
9
|
+
let epoch = 0;
|
|
10
|
+
let warned = false;
|
|
11
|
+
const source = {
|
|
12
|
+
name: 'unistyles',
|
|
13
|
+
epoch: () => epoch,
|
|
14
|
+
contexts: [_ScopedThemeContext.ScopedThemeContext],
|
|
15
|
+
contextKey: (_context, scope) => scope?.name,
|
|
16
|
+
resolve: (props, read) => {
|
|
17
|
+
try {
|
|
18
|
+
return resolveFresh(props, read(_ScopedThemeContext.ScopedThemeContext));
|
|
19
|
+
} catch (error) {
|
|
20
|
+
if (!warned) {
|
|
21
|
+
warned = true;
|
|
22
|
+
console.warn(`Unistyles: Could not refresh styles for a CSS transition. ${String(error)}`);
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const resolveFresh = (props, scope) => {
|
|
29
|
+
const styles = [props.style].flat(Infinity);
|
|
30
|
+
const fresh = {};
|
|
31
|
+
let hasUnistyles = false;
|
|
32
|
+
for (const style of styles) {
|
|
33
|
+
if (!style || typeof style !== 'object') {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
Object.assign(fresh, style);
|
|
37
|
+
for (const key in style) {
|
|
38
|
+
if (!key.startsWith('unistyles_') || !Object.prototype.hasOwnProperty.call(style, key)) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
hasUnistyles = true;
|
|
42
|
+
const previousScopedTheme = scope ? scopedTheme.get() : undefined;
|
|
43
|
+
if (scope) {
|
|
44
|
+
scopedTheme.set(scope.name);
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
Object.assign(fresh, style[key]?.uni__getStyles?.());
|
|
48
|
+
} finally {
|
|
49
|
+
if (scope) {
|
|
50
|
+
scopedTheme.set(previousScopedTheme);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return hasUnistyles ? fresh : undefined;
|
|
56
|
+
};
|
|
57
|
+
return {
|
|
58
|
+
source,
|
|
59
|
+
bumpEpoch: () => {
|
|
60
|
+
epoch++;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
exports.createUnistylesStyleSource = createUnistylesStyleSource;
|
|
65
|
+
//# sourceMappingURL=styleSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_ScopedThemeContext","require","createUnistylesStyleSource","scopedTheme","epoch","warned","source","name","contexts","ScopedThemeContext","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","exports"],"sourceRoot":"../../../../src","sources":["specs/ShadowRegistry/styleSource.ts"],"mappings":";;;;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAOO,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,CAACC,sCAAkB,CAAC;IAC9BC,UAAU,EAAEA,CAACC,QAAQ,EAAEC,KAAK,KAAMA,KAAK,EAAmBL,IAAI;IAC9DM,OAAO,EAAEA,CAACC,KAAK,EAAEC,IAAI,KAAK;MACtB,IAAI;QACA,OAAOC,YAAY,CAACF,KAAK,EAAEC,IAAI,CAACN,sCAAkB,CAAC,CAAC;MACxD,CAAC,CAAC,OAAOQ,KAAK,EAAE;QACZ,IAAI,CAACZ,MAAM,EAAE;UACTA,MAAM,GAAG,IAAI;UACba,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,GAAGT,WAAW,CAACiC,GAAG,CAAC,CAAC,GAAGf,SAAS;QAEjE,IAAIT,KAAK,EAAE;UACPT,WAAW,CAACkC,GAAG,CAACzB,KAAK,CAACL,IAAI,CAAC;QAC/B;QAEA,IAAI;UACAqB,MAAM,CAACC,MAAM,CAACH,KAAK,EAAEH,KAAK,CAACO,GAAG,CAAC,EAAEQ,cAAc,GAAG,CAAC,CAAC;QACxD,CAAC,SAAS;UACN,IAAI1B,KAAK,EAAE;YACPT,WAAW,CAACkC,GAAG,CAACF,mBAAmB,CAAC;UACxC;QACJ;MACJ;IACJ;IAEA,OAAOR,YAAY,GAAGD,KAAK,GAAGL,SAAS;EAC3C,CAAC;EAED,OAAO;IACHf,MAAM;IACNiC,SAAS,EAAEA,CAAA,KAAM;MACbnC,KAAK,EAAE;IACX;EACJ,CAAC;AACL,CAAC;AAAAoC,OAAA,CAAAtC,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.traceSection = void 0;
|
|
7
|
+
// console.timeStamp(label, start, end, trackName), React Native 0.86+ reports it only while DevTools records and keeps
|
|
8
|
+
// nothing, unlike performance.measure, which adds every entry to an unbounded buffer
|
|
9
|
+
|
|
10
|
+
const tracingConsole = console;
|
|
11
|
+
const canTrace = __DEV__ && typeof tracingConsole.timeStamp === 'function';
|
|
12
|
+
|
|
13
|
+
// Slice on the "Unistyles" track of the React Native DevTools Performance panel, next to the native ones
|
|
14
|
+
const traceSection = (name, fn) => {
|
|
15
|
+
if (!canTrace) {
|
|
16
|
+
return fn();
|
|
17
|
+
}
|
|
18
|
+
const start = performance.now();
|
|
19
|
+
try {
|
|
20
|
+
return fn();
|
|
21
|
+
} finally {
|
|
22
|
+
tracingConsole.timeStamp?.(name, start, performance.now(), 'Unistyles');
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.traceSection = traceSection;
|
|
26
|
+
//# sourceMappingURL=tracing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tracingConsole","console","canTrace","__DEV__","timeStamp","traceSection","name","fn","start","performance","now","exports"],"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;AACO,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;AAAAC,OAAA,CAAAN,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.reanimatedCSSAdapter = exports.animatedComponentOf = void 0;
|
|
7
|
+
var fiber = _interopRequireWildcard(require("../fiber"));
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
9
|
+
// Keeps Reanimated's CSS style copy (`_cssStyle`) in sync with native-only style updates.
|
|
10
|
+
// Private fields are pinned by test/reanimated-contract.test.ts for 4.5 and 4.7.
|
|
11
|
+
|
|
12
|
+
// Bound once: Metro's inline requires
|
|
13
|
+
const {
|
|
14
|
+
contextReaderFor
|
|
15
|
+
} = fiber;
|
|
16
|
+
const CLASS_COMPONENT = fiber.Tag.ClassComponent;
|
|
17
|
+
// Symbol.for: two copies of unifiber in one bundle never wrap a component twice
|
|
18
|
+
const STATE = Symbol.for('unifiber.reanimated.css');
|
|
19
|
+
|
|
20
|
+
// Kept out of AnimatedComponentLike: a unique symbol in a public type breaks consumers' declaration builds (TS4023)
|
|
21
|
+
|
|
22
|
+
const hasCSSConfig = cssStyle => {
|
|
23
|
+
for (const key in cssStyle) {
|
|
24
|
+
if (key.startsWith('transition') || key.startsWith('animation')) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
// Keyframe animations and pseudo-styles register again on update after componentWillUnmount cleaned them up.
|
|
32
|
+
// React runs no componentWillUnmount for a subtree deleted while hidden, so on a hidden owner they would leak.
|
|
33
|
+
const registersOnUpdate = cssStyle => {
|
|
34
|
+
for (const key in cssStyle) {
|
|
35
|
+
if (key.startsWith('animation')) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
const value = cssStyle[key];
|
|
39
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
40
|
+
for (const selector in value) {
|
|
41
|
+
if (selector === 'default' || selector.startsWith(':')) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// Deepest case: ScrollView with refreshControl on Android, 6-7 fibers
|
|
52
|
+
const MAX_OWNER_DEPTH = 12;
|
|
53
|
+
|
|
54
|
+
// The class whose `_componentRef` is this host's public instance. Lists don't match: their ref isn't a host.
|
|
55
|
+
const animatedComponentOf = host => {
|
|
56
|
+
const fiber = host;
|
|
57
|
+
if (fiber?.memoizedProps?.collapsable !== false) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
const publicInstance = fiber.stateNode?.canonical?.publicInstance;
|
|
61
|
+
if (!publicInstance) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
let current = fiber.return;
|
|
65
|
+
for (let depth = 0; current && depth < MAX_OWNER_DEPTH; depth++) {
|
|
66
|
+
if (current.tag === CLASS_COMPONENT && current.stateNode?._componentRef === publicInstance) {
|
|
67
|
+
return isAnimatedComponent(current.stateNode) ? current.stateNode : null;
|
|
68
|
+
}
|
|
69
|
+
current = current.return;
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
};
|
|
73
|
+
exports.animatedComponentOf = animatedComponentOf;
|
|
74
|
+
const isAnimatedComponent = owner => typeof owner?._updateStyles === 'function' && typeof owner.shouldComponentUpdate === 'function' && owner._cssStyle !== null && typeof owner._cssStyle === 'object';
|
|
75
|
+
function updateStylesThroughSource(props) {
|
|
76
|
+
const state = this[STATE];
|
|
77
|
+
state.original.call(this, props);
|
|
78
|
+
if (!hasCSSConfig(this._cssStyle)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const epoch = state.source.epoch();
|
|
82
|
+
const read = contextReaderFor(this, state.rendering);
|
|
83
|
+
const contexts = state.source.contexts ?? [];
|
|
84
|
+
let contextChanged = false;
|
|
85
|
+
for (let i = 0; i < contexts.length; i++) {
|
|
86
|
+
const context = contexts[i];
|
|
87
|
+
const value = read(context);
|
|
88
|
+
const key = state.source.contextKey ? state.source.contextKey(context, value) : value;
|
|
89
|
+
if (state.contextKeys[i] !== key) {
|
|
90
|
+
state.contextKeys[i] = key;
|
|
91
|
+
contextChanged = true;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (contextChanged || state.styleProp !== props.style || state.epoch !== epoch) {
|
|
95
|
+
state.fresh = state.source.resolve(props, read);
|
|
96
|
+
state.styleProp = props.style;
|
|
97
|
+
state.epoch = epoch;
|
|
98
|
+
}
|
|
99
|
+
const fresh = state.fresh;
|
|
100
|
+
if (!fresh) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// only the keys Reanimated kept: animated styles were split out of _cssStyle
|
|
105
|
+
for (const key in this._cssStyle) {
|
|
106
|
+
if (key in fresh) {
|
|
107
|
+
this._cssStyle[key] = fresh[key];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Marks the render phase, where context must be read from React's stack
|
|
113
|
+
function shouldUpdateMarkingRender(...args) {
|
|
114
|
+
const state = this[STATE];
|
|
115
|
+
state.rendering = true;
|
|
116
|
+
try {
|
|
117
|
+
return state.originalShouldUpdate.apply(this, args);
|
|
118
|
+
} finally {
|
|
119
|
+
state.rendering = false;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const reanimatedCSSAdapter = exports.reanimatedCSSAdapter = {
|
|
123
|
+
name: 'react-native-reanimated/css',
|
|
124
|
+
gate: host => host.memoizedProps?.collapsable === false,
|
|
125
|
+
claim: animatedComponentOf,
|
|
126
|
+
attach: (owner, source) => {
|
|
127
|
+
if (owner[STATE]) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
owner[STATE] = {
|
|
131
|
+
source,
|
|
132
|
+
original: owner._updateStyles,
|
|
133
|
+
originalShouldUpdate: owner.shouldComponentUpdate,
|
|
134
|
+
rendering: false,
|
|
135
|
+
styleProp: undefined,
|
|
136
|
+
epoch: -1,
|
|
137
|
+
contextKeys: [],
|
|
138
|
+
fresh: undefined
|
|
139
|
+
};
|
|
140
|
+
owner._updateStyles = updateStylesThroughSource;
|
|
141
|
+
owner.shouldComponentUpdate = shouldUpdateMarkingRender;
|
|
142
|
+
},
|
|
143
|
+
refresh: owner => {
|
|
144
|
+
// not mounted yet
|
|
145
|
+
if (typeof owner._CSSManager?.update !== 'function') {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Hidden transitions still run, so the reveal shows the new value instead of animating from the old one
|
|
150
|
+
if (owner._willUnmount === true && registersOnUpdate(owner._cssStyle)) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
owner._updateStyles(owner.props);
|
|
154
|
+
owner._CSSManager.update(owner._cssStyle, owner.props);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=reanimated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fiber","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","contextReaderFor","CLASS_COMPONENT","Tag","ClassComponent","STATE","Symbol","for","hasCSSConfig","cssStyle","key","startsWith","registersOnUpdate","value","Array","isArray","selector","MAX_OWNER_DEPTH","animatedComponentOf","host","memoizedProps","collapsable","publicInstance","stateNode","canonical","current","return","depth","tag","_componentRef","isAnimatedComponent","exports","owner","_updateStyles","shouldComponentUpdate","_cssStyle","updateStylesThroughSource","props","state","original","epoch","source","read","rendering","contexts","contextChanged","length","context","contextKey","contextKeys","styleProp","style","fresh","resolve","shouldUpdateMarkingRender","args","originalShouldUpdate","apply","reanimatedCSSAdapter","name","gate","claim","attach","undefined","refresh","_CSSManager","update","_willUnmount"],"sourceRoot":"../../../../../src","sources":["unifiber/src/adapters/reanimated.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createOwnerRegistry = void 0;
|
|
7
|
+
// An adapter that throws is disabled for the session and reported once
|
|
8
|
+
const createOwnerRegistry = (source, adapters, onAdapterError) => {
|
|
9
|
+
const disabledAdapters = new Set();
|
|
10
|
+
const disable = (adapter, error) => {
|
|
11
|
+
disabledAdapters.add(adapter);
|
|
12
|
+
onAdapterError?.(`adapter ${adapter.name} failed: ${String(error)}`);
|
|
13
|
+
};
|
|
14
|
+
// Not inline closures: a closure in link() makes Hermes allocate its environment on every call
|
|
15
|
+
const attachOwner = (adapter, host) => {
|
|
16
|
+
try {
|
|
17
|
+
const owner = adapter.claim(host);
|
|
18
|
+
if (owner) {
|
|
19
|
+
adapter.attach(owner, source);
|
|
20
|
+
}
|
|
21
|
+
} catch (error) {
|
|
22
|
+
disable(adapter, error);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const refreshOwner = (adapter, host, seen) => {
|
|
26
|
+
try {
|
|
27
|
+
const owner = adapter.claim(host);
|
|
28
|
+
if (owner && !seen.has(owner)) {
|
|
29
|
+
seen.add(owner);
|
|
30
|
+
adapter.attach(owner, source);
|
|
31
|
+
adapter.refresh(owner, source);
|
|
32
|
+
}
|
|
33
|
+
} catch (error) {
|
|
34
|
+
disable(adapter, error);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
link(host) {
|
|
39
|
+
if (!host) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
for (let i = 0; i < adapters.length; i++) {
|
|
43
|
+
const adapter = adapters[i];
|
|
44
|
+
if (adapter.gate(host) && !disabledAdapters.has(adapter)) {
|
|
45
|
+
attachOwner(adapter, host);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
refresh(hosts) {
|
|
50
|
+
const seen = new Set();
|
|
51
|
+
for (let h = 0; h < hosts.length; h++) {
|
|
52
|
+
const host = hosts[h];
|
|
53
|
+
if (!host) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
for (let i = 0; i < adapters.length; i++) {
|
|
57
|
+
const adapter = adapters[i];
|
|
58
|
+
if (adapter.gate(host) && !disabledAdapters.has(adapter)) {
|
|
59
|
+
refreshOwner(adapter, host, seen);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
exports.createOwnerRegistry = createOwnerRegistry;
|
|
67
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createOwnerRegistry","source","adapters","onAdapterError","disabledAdapters","Set","disable","adapter","error","add","name","String","attachOwner","host","owner","claim","attach","refreshOwner","seen","has","refresh","link","i","length","gate","hosts","h","exports"],"sourceRoot":"../../../../../src","sources":["unifiber/src/adapters/registry.ts"],"mappings":";;;;;;AA8BA;AACO,MAAMA,mBAAmB,GAAGA,CAC/BC,MAAmB,EACnBC,QAA0C,EAC1CC,cAAyC,KACzB;EAChB,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAe,CAAC;EAChD,MAAMC,OAAO,GAAGA,CAACC,OAAqB,EAAEC,KAAc,KAAK;IACvDJ,gBAAgB,CAACK,GAAG,CAACF,OAAO,CAAC;IAC7BJ,cAAc,GAAG,WAAWI,OAAO,CAACG,IAAI,YAAYC,MAAM,CAACH,KAAK,CAAC,EAAE,CAAC;EACxE,CAAC;EACD;EACA,MAAMI,WAAW,GAAGA,CAACL,OAAqB,EAAEM,IAAU,KAAK;IACvD,IAAI;MACA,MAAMC,KAAK,GAAGP,OAAO,CAACQ,KAAK,CAACF,IAAI,CAAC;MAEjC,IAAIC,KAAK,EAAE;QACPP,OAAO,CAACS,MAAM,CAACF,KAAK,EAAEb,MAAM,CAAC;MACjC;IACJ,CAAC,CAAC,OAAOO,KAAK,EAAE;MACZF,OAAO,CAACC,OAAO,EAAEC,KAAK,CAAC;IAC3B;EACJ,CAAC;EACD,MAAMS,YAAY,GAAGA,CAACV,OAAqB,EAAEM,IAAU,EAAEK,IAAiB,KAAK;IAC3E,IAAI;MACA,MAAMJ,KAAK,GAAGP,OAAO,CAACQ,KAAK,CAACF,IAAI,CAAC;MAEjC,IAAIC,KAAK,IAAI,CAACI,IAAI,CAACC,GAAG,CAACL,KAAK,CAAC,EAAE;QAC3BI,IAAI,CAACT,GAAG,CAACK,KAAK,CAAC;QACfP,OAAO,CAACS,MAAM,CAACF,KAAK,EAAEb,MAAM,CAAC;QAC7BM,OAAO,CAACa,OAAO,CAACN,KAAK,EAAEb,MAAM,CAAC;MAClC;IACJ,CAAC,CAAC,OAAOO,KAAK,EAAE;MACZF,OAAO,CAACC,OAAO,EAAEC,KAAK,CAAC;IAC3B;EACJ,CAAC;EAED,OAAO;IACHa,IAAIA,CAACR,IAAI,EAAE;MACP,IAAI,CAACA,IAAI,EAAE;QACP;MACJ;MAEA,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGpB,QAAQ,CAACqB,MAAM,EAAED,CAAC,EAAE,EAAE;QACtC,MAAMf,OAAO,GAAGL,QAAQ,CAACoB,CAAC,CAAE;QAE5B,IAAIf,OAAO,CAACiB,IAAI,CAACX,IAAI,CAAC,IAAI,CAACT,gBAAgB,CAACe,GAAG,CAACZ,OAAO,CAAC,EAAE;UACtDK,WAAW,CAACL,OAAO,EAAEM,IAAI,CAAC;QAC9B;MACJ;IACJ,CAAC;IACDO,OAAOA,CAACK,KAAK,EAAE;MACX,MAAMP,IAAI,GAAG,IAAIb,GAAG,CAAS,CAAC;MAE9B,KAAK,IAAIqB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACF,MAAM,EAAEG,CAAC,EAAE,EAAE;QACnC,MAAMb,IAAI,GAAGY,KAAK,CAACC,CAAC,CAAC;QAErB,IAAI,CAACb,IAAI,EAAE;UACP;QACJ;QAEA,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGpB,QAAQ,CAACqB,MAAM,EAAED,CAAC,EAAE,EAAE;UACtC,MAAMf,OAAO,GAAGL,QAAQ,CAACoB,CAAC,CAAE;UAE5B,IAAIf,OAAO,CAACiB,IAAI,CAACX,IAAI,CAAC,IAAI,CAACT,gBAAgB,CAACe,GAAG,CAACZ,OAAO,CAAC,EAAE;YACtDU,YAAY,CAACV,OAAO,EAAEM,IAAI,EAAEK,IAAI,CAAC;UACrC;QACJ;MACJ;IACJ;EACJ,CAAC;AACL,CAAC;AAAAS,OAAA,CAAA3B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|