react-native-unistyles 3.0.0-beta.4 → 3.0.0-beta.6
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 +18 -3
- package/android/src/main/cxx/NativeUnistylesModule.cpp +2 -2
- package/android/src/main/cxx/NativeUnistylesModule.h +1 -1
- package/android/src/main/java/com/unistyles/NativePlatform+android.kt +1 -2
- package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +4 -0
- package/android/src/main/java/com/unistyles/NativePlatform+listener.kt +2 -1
- package/android/src/main/java/com/unistyles/UnistylesModule.kt +0 -4
- package/android/src/main/java/com/unistyles/UnistylesPackage.kt +6 -6
- package/components/native/ActivityIndicator/package.json +2 -1
- package/components/native/Animated/package.json +5 -0
- package/components/native/FlatList/package.json +2 -1
- package/components/native/Image/package.json +2 -1
- package/components/native/ImageBackground/package.json +2 -1
- package/components/native/KeyboardAvoidingView/package.json +2 -1
- package/components/native/NativeText/package.json +5 -0
- package/components/native/NativeView/package.json +5 -0
- package/components/native/Pressable/package.json +1 -1
- package/components/native/RefreshControl/package.json +2 -1
- package/components/native/ScrollView/package.json +2 -1
- package/components/native/SectionList/package.json +2 -1
- package/components/native/Switch/package.json +2 -1
- package/components/native/Text/package.json +2 -1
- package/components/native/TextInput/package.json +2 -1
- package/components/native/TouchableHighlight/package.json +2 -1
- package/components/native/TouchableOpacity/package.json +2 -1
- package/components/native/View/package.json +2 -1
- package/components/native/VirtualizedList/package.json +2 -1
- package/cxx/common/Constants.h +4 -4
- package/cxx/common/Helpers.h +1 -1
- package/cxx/core/HashGenerator.cpp +23 -0
- package/cxx/core/HashGenerator.h +13 -0
- package/cxx/core/HostUnistyle.cpp +83 -0
- package/cxx/core/HostUnistyle.h +27 -0
- package/cxx/core/RNStyle.h +18 -0
- package/cxx/core/Unistyle.h +13 -4
- package/cxx/core/UnistyleWrapper.h +92 -47
- package/cxx/core/UnistylesRegistry.cpp +40 -11
- package/cxx/core/UnistylesRegistry.h +5 -4
- package/cxx/hybridObjects/HybridNavigationBar.cpp +3 -3
- package/cxx/hybridObjects/HybridNavigationBar.h +2 -2
- package/cxx/hybridObjects/HybridShadowRegistry.cpp +39 -45
- package/cxx/hybridObjects/HybridShadowRegistry.h +0 -10
- package/cxx/hybridObjects/HybridStatusBar.cpp +3 -3
- package/cxx/hybridObjects/HybridStatusBar.h +2 -2
- package/cxx/hybridObjects/HybridStyleSheet.cpp +52 -10
- package/cxx/hybridObjects/HybridStyleSheet.h +2 -1
- package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +15 -15
- package/cxx/hybridObjects/HybridUnistylesRuntime.h +2 -2
- package/cxx/parser/Parser.cpp +26 -27
- package/cxx/parser/Parser.h +2 -1
- package/ios/NativePlatform+ios.swift +21 -11
- package/ios/NativePlatform.swift +2 -2
- package/ios/UnistylesModuleOnLoad.h +4 -4
- package/ios/UnistylesModuleOnLoad.mm +5 -8
- package/lib/commonjs/components/ScopedTheme.js.map +1 -1
- package/lib/commonjs/components/index.js +0 -7
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/components/native/Animated.js +23 -0
- package/lib/commonjs/components/native/Animated.js.map +1 -0
- package/lib/commonjs/components/native/ImageBackground.js +47 -1
- package/lib/commonjs/components/native/ImageBackground.js.map +1 -1
- package/lib/commonjs/components/native/ImageBackground.native.js +10 -0
- package/lib/commonjs/components/native/ImageBackground.native.js.map +1 -0
- package/lib/commonjs/components/native/NativeText.js +13 -0
- package/lib/commonjs/components/native/NativeText.js.map +1 -0
- package/lib/commonjs/components/native/NativeText.native.js +18 -0
- package/lib/commonjs/components/native/NativeText.native.js.map +1 -0
- package/lib/commonjs/components/native/NativeView.js +9 -0
- package/lib/commonjs/components/native/NativeView.js.map +1 -0
- package/lib/commonjs/components/native/NativeView.native.js +20 -0
- package/lib/commonjs/components/native/NativeView.native.js.map +1 -0
- package/lib/commonjs/components/native/Pressable.js +26 -51
- package/lib/commonjs/components/native/Pressable.js.map +1 -1
- package/lib/commonjs/components/native/Pressable.native.js +25 -9
- package/lib/commonjs/components/native/Pressable.native.js.map +1 -1
- package/lib/commonjs/core/createUnistylesElement.js +33 -5
- package/lib/commonjs/core/createUnistylesElement.js.map +1 -1
- package/lib/commonjs/core/createUnistylesElement.native.js +54 -0
- package/lib/commonjs/core/createUnistylesElement.native.js.map +1 -0
- package/lib/commonjs/core/createUnistylesImageBackground.js +41 -15
- package/lib/commonjs/core/createUnistylesImageBackground.js.map +1 -1
- package/lib/commonjs/core/getClassname.js +23 -0
- package/lib/commonjs/core/getClassname.js.map +1 -0
- package/lib/commonjs/core/getClassname.native.js +9 -0
- package/lib/commonjs/core/getClassname.native.js.map +1 -0
- package/lib/commonjs/core/index.js +14 -7
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/core/passForwardRef.js +2 -2
- package/lib/commonjs/core/passForwardRef.js.map +1 -1
- package/lib/commonjs/core/useProxifiedUnistyles/index.js +13 -0
- package/lib/commonjs/core/useProxifiedUnistyles/index.js.map +1 -0
- package/lib/commonjs/core/useProxifiedUnistyles/listener.js +22 -0
- package/lib/commonjs/core/useProxifiedUnistyles/listener.js.map +1 -0
- package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js +26 -0
- package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js.map +1 -0
- package/lib/commonjs/core/useProxifiedUnistyles/types.js +6 -0
- package/lib/commonjs/core/useProxifiedUnistyles/types.js.map +1 -0
- package/lib/commonjs/core/{withUnistyles/useDependencies.js → useProxifiedUnistyles/useProxifiedUnistyles.js} +22 -22
- package/lib/commonjs/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -0
- package/lib/commonjs/core/useUnistyles.js +19 -0
- package/lib/commonjs/core/useUnistyles.js.map +1 -0
- package/lib/commonjs/core/warn.js +16 -0
- package/lib/commonjs/core/warn.js.map +1 -0
- package/lib/commonjs/core/withUnistyles/withUnistyles.js +19 -55
- package/lib/commonjs/core/withUnistyles/withUnistyles.js.map +1 -1
- package/lib/commonjs/core/withUnistyles/withUnistyles.native.js +32 -65
- package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
- package/lib/commonjs/index.js +23 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/server/getServerUnistyles.js +40 -0
- package/lib/commonjs/server/getServerUnistyles.js.map +1 -0
- package/lib/commonjs/server/hydrateServerUnistyles.js +17 -0
- package/lib/commonjs/server/hydrateServerUnistyles.js.map +1 -0
- package/lib/commonjs/server/index.js +34 -0
- package/lib/commonjs/server/index.js.map +1 -0
- package/lib/commonjs/server/resetServerUnistyles.js +16 -0
- package/lib/commonjs/server/resetServerUnistyles.js.map +1 -0
- package/lib/commonjs/server/types.js +8 -0
- package/lib/commonjs/server/types.js.map +1 -0
- package/lib/commonjs/server/useServerUnistyles.js +27 -0
- package/lib/commonjs/server/useServerUnistyles.js.map +1 -0
- package/lib/commonjs/specs/ShadowRegistry/index.js +6 -3
- package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
- package/lib/commonjs/utils.js +19 -2
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/convert/object/filter.js +2 -2
- package/lib/commonjs/web/convert/object/filter.js.map +1 -1
- package/lib/commonjs/web/convert/style.js +4 -4
- package/lib/commonjs/web/convert/style.js.map +1 -1
- package/lib/commonjs/web/create.js +20 -15
- package/lib/commonjs/web/create.js.map +1 -1
- package/lib/commonjs/web/css/core.js +55 -0
- package/lib/commonjs/web/css/core.js.map +1 -0
- package/lib/commonjs/web/css/index.js +17 -0
- package/lib/commonjs/web/css/index.js.map +1 -0
- package/lib/commonjs/web/css/state.js +155 -0
- package/lib/commonjs/web/css/state.js.map +1 -0
- package/lib/commonjs/web/css/utils.js +47 -0
- package/lib/commonjs/web/css/utils.js.map +1 -0
- package/lib/commonjs/web/index.js +14 -18
- package/lib/commonjs/web/index.js.map +1 -1
- package/lib/commonjs/web/listener.js +9 -7
- package/lib/commonjs/web/listener.js.map +1 -1
- package/lib/commonjs/web/registry.js +44 -123
- package/lib/commonjs/web/registry.js.map +1 -1
- package/lib/commonjs/web/runtime.js +28 -21
- package/lib/commonjs/web/runtime.js.map +1 -1
- package/lib/commonjs/web/services.js +28 -0
- package/lib/commonjs/web/services.js.map +1 -0
- package/lib/commonjs/web/shadowRegistry.js +46 -93
- package/lib/commonjs/web/shadowRegistry.js.map +1 -1
- package/lib/commonjs/web/state.js +39 -9
- package/lib/commonjs/web/state.js.map +1 -1
- package/lib/commonjs/web/types.js +6 -0
- package/lib/commonjs/web/types.js.map +1 -0
- package/lib/commonjs/web/utils/common.js +29 -9
- package/lib/commonjs/web/utils/common.js.map +1 -1
- package/lib/commonjs/web/utils/unistyle.js +32 -19
- package/lib/commonjs/web/utils/unistyle.js.map +1 -1
- package/lib/commonjs/web/variants.js +25 -27
- package/lib/commonjs/web/variants.js.map +1 -1
- package/lib/module/components/ScopedTheme.js.map +1 -1
- package/lib/module/components/index.js +0 -1
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/native/Animated.js +19 -0
- package/lib/module/components/native/Animated.js.map +1 -0
- package/lib/module/components/native/ImageBackground.js +47 -2
- package/lib/module/components/native/ImageBackground.js.map +1 -1
- package/lib/module/components/native/ImageBackground.native.js +6 -0
- package/lib/module/components/native/ImageBackground.native.js.map +1 -0
- package/lib/module/components/native/NativeText.js +4 -0
- package/lib/module/components/native/NativeText.js.map +1 -0
- package/lib/module/components/native/NativeText.native.js +15 -0
- package/lib/module/components/native/NativeText.native.js.map +1 -0
- package/lib/module/components/native/NativeView.js +5 -0
- package/lib/module/components/native/NativeView.js.map +1 -0
- package/lib/module/components/native/NativeView.native.js +17 -0
- package/lib/module/components/native/NativeView.native.js.map +1 -0
- package/lib/module/components/native/Pressable.js +27 -52
- package/lib/module/components/native/Pressable.js.map +1 -1
- package/lib/module/components/native/Pressable.native.js +26 -10
- package/lib/module/components/native/Pressable.native.js.map +1 -1
- package/lib/module/core/createUnistylesElement.js +33 -5
- package/lib/module/core/createUnistylesElement.js.map +1 -1
- package/lib/module/core/createUnistylesElement.native.js +47 -0
- package/lib/module/core/createUnistylesElement.native.js.map +1 -0
- package/lib/module/core/createUnistylesImageBackground.js +39 -14
- package/lib/module/core/createUnistylesImageBackground.js.map +1 -1
- package/lib/module/core/getClassname.js +18 -0
- package/lib/module/core/getClassname.js.map +1 -0
- package/lib/module/core/getClassname.native.js +4 -0
- package/lib/module/core/getClassname.native.js.map +1 -0
- package/lib/module/core/index.js +2 -1
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/core/passForwardRef.js +2 -2
- package/lib/module/core/passForwardRef.js.map +1 -1
- package/lib/module/core/useProxifiedUnistyles/index.js +4 -0
- package/lib/module/core/useProxifiedUnistyles/index.js.map +1 -0
- package/lib/module/core/useProxifiedUnistyles/listener.js +17 -0
- package/lib/module/core/useProxifiedUnistyles/listener.js.map +1 -0
- package/lib/module/core/useProxifiedUnistyles/listener.native.js +21 -0
- package/lib/module/core/useProxifiedUnistyles/listener.native.js.map +1 -0
- package/lib/module/core/useProxifiedUnistyles/types.js +4 -0
- package/lib/module/core/useProxifiedUnistyles/types.js.map +1 -0
- package/lib/module/core/{withUnistyles/useDependencies.js → useProxifiedUnistyles/useProxifiedUnistyles.js} +19 -19
- package/lib/module/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -0
- package/lib/module/core/useUnistyles.js +14 -0
- package/lib/module/core/useUnistyles.js.map +1 -0
- package/lib/module/core/warn.js +11 -0
- package/lib/module/core/warn.js.map +1 -0
- package/lib/module/core/withUnistyles/withUnistyles.js +19 -55
- package/lib/module/core/withUnistyles/withUnistyles.js.map +1 -1
- package/lib/module/core/withUnistyles/withUnistyles.native.js +33 -66
- package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/server/getServerUnistyles.js +34 -0
- package/lib/module/server/getServerUnistyles.js.map +1 -0
- package/lib/module/server/hydrateServerUnistyles.js +12 -0
- package/lib/module/server/hydrateServerUnistyles.js.map +1 -0
- package/lib/module/server/index.js +7 -0
- package/lib/module/server/index.js.map +1 -0
- package/lib/module/server/resetServerUnistyles.js +11 -0
- package/lib/module/server/resetServerUnistyles.js.map +1 -0
- package/lib/module/server/types.js +4 -0
- package/lib/module/server/types.js.map +1 -0
- package/lib/module/server/useServerUnistyles.js +22 -0
- package/lib/module/server/useServerUnistyles.js.map +1 -0
- package/lib/module/specs/ShadowRegistry/index.js +6 -3
- package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/module/specs/StyleSheet/index.js.map +1 -1
- package/lib/module/utils.js +16 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/convert/object/filter.js +2 -2
- package/lib/module/web/convert/object/filter.js.map +1 -1
- package/lib/module/web/convert/style.js +4 -4
- package/lib/module/web/convert/style.js.map +1 -1
- package/lib/module/web/create.js +20 -15
- package/lib/module/web/create.js.map +1 -1
- package/lib/module/web/css/core.js +50 -0
- package/lib/module/web/css/core.js.map +1 -0
- package/lib/module/web/css/index.js +4 -0
- package/lib/module/web/css/index.js.map +1 -0
- package/lib/module/web/css/state.js +150 -0
- package/lib/module/web/css/state.js.map +1 -0
- package/lib/module/web/css/utils.js +41 -0
- package/lib/module/web/css/utils.js.map +1 -0
- package/lib/module/web/index.js +10 -5
- package/lib/module/web/index.js.map +1 -1
- package/lib/module/web/listener.js +8 -7
- package/lib/module/web/listener.js.map +1 -1
- package/lib/module/web/registry.js +44 -124
- package/lib/module/web/registry.js.map +1 -1
- package/lib/module/web/runtime.js +27 -21
- package/lib/module/web/runtime.js.map +1 -1
- package/lib/module/web/services.js +23 -0
- package/lib/module/web/services.js.map +1 -0
- package/lib/module/web/shadowRegistry.js +46 -94
- package/lib/module/web/shadowRegistry.js.map +1 -1
- package/lib/module/web/state.js +39 -10
- package/lib/module/web/state.js.map +1 -1
- package/lib/module/web/types.js +4 -0
- package/lib/module/web/types.js.map +1 -0
- package/lib/module/web/utils/common.js +26 -7
- package/lib/module/web/utils/common.js.map +1 -1
- package/lib/module/web/utils/unistyle.js +31 -17
- package/lib/module/web/utils/unistyle.js.map +1 -1
- package/lib/module/web/variants.js +25 -27
- package/lib/module/web/variants.js.map +1 -1
- package/lib/typescript/src/components/index.d.ts +0 -1
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/components/native/ActivityIndicator.d.ts +1 -1
- package/lib/typescript/src/components/native/ActivityIndicator.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Animated.d.ts +39 -0
- package/lib/typescript/src/components/native/Animated.d.ts.map +1 -0
- package/lib/typescript/src/components/native/FlatList.d.ts +1 -1
- package/lib/typescript/src/components/native/FlatList.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Image.d.ts +1 -1
- package/lib/typescript/src/components/native/Image.d.ts.map +1 -1
- package/lib/typescript/src/components/native/ImageBackground.d.ts +1 -2
- package/lib/typescript/src/components/native/ImageBackground.d.ts.map +1 -1
- package/lib/typescript/src/components/native/ImageBackground.native.d.ts +2 -0
- package/lib/typescript/src/components/native/ImageBackground.native.d.ts.map +1 -0
- package/lib/typescript/src/components/native/KeyboardAvoidingView.d.ts +1 -1
- package/lib/typescript/src/components/native/KeyboardAvoidingView.d.ts.map +1 -1
- package/lib/typescript/src/components/native/NativeText.d.ts +2 -0
- package/lib/typescript/src/components/native/NativeText.d.ts.map +1 -0
- package/lib/typescript/src/components/native/NativeText.native.d.ts +2 -0
- package/lib/typescript/src/components/native/NativeText.native.d.ts.map +1 -0
- package/lib/typescript/src/components/native/NativeView.d.ts +3 -0
- package/lib/typescript/src/components/native/NativeView.d.ts.map +1 -0
- package/lib/typescript/src/components/native/NativeView.native.d.ts +3 -0
- package/lib/typescript/src/components/native/NativeView.native.d.ts.map +1 -0
- package/lib/typescript/src/components/native/Pressable.d.ts +3 -2
- package/lib/typescript/src/components/native/Pressable.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Pressable.native.d.ts.map +1 -1
- package/lib/typescript/src/components/native/RefreshControl.d.ts +1 -1
- package/lib/typescript/src/components/native/RefreshControl.d.ts.map +1 -1
- package/lib/typescript/src/components/native/ScrollView.d.ts +1 -1
- package/lib/typescript/src/components/native/ScrollView.d.ts.map +1 -1
- package/lib/typescript/src/components/native/SectionList.d.ts +1 -1
- package/lib/typescript/src/components/native/SectionList.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Switch.d.ts +1 -1
- package/lib/typescript/src/components/native/Switch.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Text.d.ts +1 -1
- package/lib/typescript/src/components/native/Text.d.ts.map +1 -1
- package/lib/typescript/src/components/native/TextInput.d.ts +1 -1
- package/lib/typescript/src/components/native/TextInput.d.ts.map +1 -1
- package/lib/typescript/src/components/native/TouchableHighlight.d.ts +1 -1
- package/lib/typescript/src/components/native/TouchableHighlight.d.ts.map +1 -1
- package/lib/typescript/src/components/native/TouchableOpacity.d.ts +1 -1
- package/lib/typescript/src/components/native/TouchableOpacity.d.ts.map +1 -1
- package/lib/typescript/src/components/native/View.d.ts +1 -1
- package/lib/typescript/src/components/native/View.d.ts.map +1 -1
- package/lib/typescript/src/components/native/VirtualizedList.d.ts +1 -1
- package/lib/typescript/src/components/native/VirtualizedList.d.ts.map +1 -1
- package/lib/typescript/src/core/createUnistylesElement.d.ts +1 -2
- package/lib/typescript/src/core/createUnistylesElement.d.ts.map +1 -1
- package/lib/typescript/src/core/createUnistylesElement.native.d.ts +2 -0
- package/lib/typescript/src/core/createUnistylesElement.native.d.ts.map +1 -0
- package/lib/typescript/src/core/createUnistylesImageBackground.d.ts +2 -3
- package/lib/typescript/src/core/createUnistylesImageBackground.d.ts.map +1 -1
- package/lib/typescript/src/core/getClassname.d.ts +7 -0
- package/lib/typescript/src/core/getClassname.d.ts.map +1 -0
- package/lib/typescript/src/core/getClassname.native.d.ts +2 -0
- package/lib/typescript/src/core/getClassname.native.d.ts.map +1 -0
- package/lib/typescript/src/core/index.d.ts +2 -1
- package/lib/typescript/src/core/index.d.ts.map +1 -1
- package/lib/typescript/src/core/passForwardRef.d.ts.map +1 -1
- package/lib/typescript/src/core/useProxifiedUnistyles/index.d.ts +2 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/index.d.ts.map +1 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/listener.d.ts +3 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/listener.d.ts.map +1 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/listener.native.d.ts +3 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/listener.native.d.ts.map +1 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/types.d.ts +7 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/types.d.ts.map +1 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts +8 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/core/useUnistyles.d.ts +6 -0
- package/lib/typescript/src/core/useUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/core/warn.d.ts +3 -0
- package/lib/typescript/src/core/warn.d.ts.map +1 -0
- package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts +0 -3
- package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts.map +1 -1
- package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/server/getServerUnistyles.d.ts +4 -0
- package/lib/typescript/src/server/getServerUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/server/hydrateServerUnistyles.d.ts +8 -0
- package/lib/typescript/src/server/hydrateServerUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/server/index.d.ts +5 -0
- package/lib/typescript/src/server/index.d.ts.map +1 -0
- package/lib/typescript/src/server/resetServerUnistyles.d.ts +2 -0
- package/lib/typescript/src/server/resetServerUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/server/types.d.ts +5 -0
- package/lib/typescript/src/server/types.d.ts.map +1 -0
- package/lib/typescript/src/server/useServerUnistyles.d.ts +4 -0
- package/lib/typescript/src/server/useServerUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +0 -3
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts +5 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
- package/lib/typescript/src/utils.d.ts +2 -0
- package/lib/typescript/src/utils.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/style.d.ts.map +1 -1
- package/lib/typescript/src/web/create.d.ts.map +1 -1
- package/lib/typescript/src/web/css/core.d.ts +3 -0
- package/lib/typescript/src/web/css/core.d.ts.map +1 -0
- package/lib/typescript/src/web/css/index.d.ts +2 -0
- package/lib/typescript/src/web/css/index.d.ts.map +1 -0
- package/lib/typescript/src/web/css/state.d.ts +30 -0
- package/lib/typescript/src/web/css/state.d.ts.map +1 -0
- package/lib/typescript/src/web/css/utils.d.ts +4 -0
- package/lib/typescript/src/web/css/utils.d.ts.map +1 -0
- package/lib/typescript/src/web/index.d.ts +7 -1
- package/lib/typescript/src/web/index.d.ts.map +1 -1
- package/lib/typescript/src/web/listener.d.ts +4 -3
- package/lib/typescript/src/web/listener.d.ts.map +1 -1
- package/lib/typescript/src/web/registry.d.ts +11 -8
- package/lib/typescript/src/web/registry.d.ts.map +1 -1
- package/lib/typescript/src/web/runtime.d.ts +6 -4
- package/lib/typescript/src/web/runtime.d.ts.map +1 -1
- package/lib/typescript/src/web/services.d.ts +15 -0
- package/lib/typescript/src/web/services.d.ts.map +1 -0
- package/lib/typescript/src/web/shadowRegistry.d.ts +10 -13
- package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -1
- package/lib/typescript/src/web/state.d.ts +7 -3
- package/lib/typescript/src/web/state.d.ts.map +1 -1
- package/lib/typescript/src/web/types.d.ts +13 -0
- package/lib/typescript/src/web/types.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/common.d.ts +2 -1
- package/lib/typescript/src/web/utils/common.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/unistyle.d.ts +5 -4
- package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -1
- package/lib/typescript/src/web/variants.d.ts +2 -2
- package/lib/typescript/src/web/variants.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JColorScheme.hpp +2 -1
- package/nitrogen/generated/android/c++/JDimensions.hpp +2 -1
- package/nitrogen/generated/android/c++/JFunc_void_UnistylesNativeMiniRuntime.hpp +36 -10
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +53 -19
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +5 -5
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JInsets.hpp +2 -1
- package/nitrogen/generated/android/c++/JOrientation.hpp +2 -1
- package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +2 -1
- package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +2 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/ColorScheme.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +10 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_UnistylesNativeMiniRuntime.kt +43 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.kt +43 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +10 -10
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +13 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Orientation.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +19 -14
- package/nitrogen/generated/android/unistyles+autolinking.cmake +4 -1
- package/nitrogen/generated/android/unistyles+autolinking.gradle +1 -1
- package/nitrogen/generated/android/unistylesOnLoad.cpp +7 -3
- package/nitrogen/generated/android/unistylesOnLoad.hpp +1 -1
- package/nitrogen/generated/ios/Unistyles+autolinking.rb +1 -1
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +21 -6
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +105 -27
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +5 -3
- package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +92 -33
- package/nitrogen/generated/ios/swift/ColorScheme.swift +1 -1
- package/nitrogen/generated/ios/swift/Dimensions.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_UnistylesNativeMiniRuntime.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +36 -23
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec_cxx.swift +327 -0
- package/nitrogen/generated/ios/swift/Insets.swift +1 -1
- package/nitrogen/generated/ios/swift/Orientation.swift +1 -1
- package/nitrogen/generated/ios/swift/UnistyleDependency.swift +1 -1
- package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +1 -1
- package/nitrogen/generated/shared/c++/ColorScheme.hpp +1 -1
- package/nitrogen/generated/shared/c++/Dimensions.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/Insets.hpp +1 -1
- package/nitrogen/generated/shared/c++/Orientation.hpp +1 -1
- package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -2
- package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +1 -1
- package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +1 -1
- package/package.json +23 -14
- package/plugin/consts.js +63 -0
- package/plugin/exotic.js +54 -0
- package/plugin/import.js +1 -21
- package/plugin/index.d.ts +89 -0
- package/plugin/index.js +58 -96
- package/plugin/stylesheet.js +28 -1
- package/plugin/variants.js +49 -75
- package/src/components/ScopedTheme.tsx +1 -1
- package/src/components/index.ts +0 -1
- package/src/components/native/Animated.tsx +17 -0
- package/src/components/native/ImageBackground.native.tsx +4 -0
- package/src/components/native/ImageBackground.tsx +57 -2
- package/src/components/native/NativeText.native.tsx +12 -0
- package/src/components/native/NativeText.tsx +1 -0
- package/src/components/native/NativeView.native.tsx +13 -0
- package/src/components/native/NativeView.tsx +3 -0
- package/src/components/native/Pressable.native.tsx +32 -15
- package/src/components/native/Pressable.tsx +35 -69
- package/src/core/createUnistylesElement.native.tsx +51 -0
- package/src/core/createUnistylesElement.tsx +47 -8
- package/src/core/createUnistylesImageBackground.tsx +44 -18
- package/src/core/getClassname.native.ts +1 -0
- package/src/core/getClassname.ts +14 -0
- package/src/core/index.ts +2 -1
- package/src/core/passForwardRef.ts +1 -2
- package/src/core/useProxifiedUnistyles/index.ts +1 -0
- package/src/core/useProxifiedUnistyles/listener.native.ts +18 -0
- package/src/core/useProxifiedUnistyles/listener.ts +13 -0
- package/src/core/useProxifiedUnistyles/types.ts +7 -0
- package/src/core/{withUnistyles/useDependencies.ts → useProxifiedUnistyles/useProxifiedUnistyles.ts} +19 -26
- package/src/core/useUnistyles.ts +11 -0
- package/src/core/warn.ts +13 -0
- package/src/core/withUnistyles/withUnistyles.native.tsx +39 -68
- package/src/core/withUnistyles/withUnistyles.tsx +19 -56
- package/src/index.ts +3 -2
- package/src/server/getServerUnistyles.tsx +21 -0
- package/src/server/hydrateServerUnistyles.ts +17 -0
- package/src/server/index.ts +5 -0
- package/src/server/resetServerUnistyles.ts +9 -0
- package/src/server/types.ts +4 -0
- package/src/server/useServerUnistyles.tsx +22 -0
- package/src/specs/ShadowRegistry/index.ts +12 -9
- package/src/specs/StyleSheet/index.ts +6 -1
- package/src/utils.ts +32 -11
- package/src/web/convert/object/filter.ts +2 -2
- package/src/web/convert/style.ts +8 -7
- package/src/web/create.ts +23 -18
- package/src/web/css/core.ts +58 -0
- package/src/web/css/index.ts +1 -0
- package/src/web/css/state.ts +191 -0
- package/src/web/css/utils.ts +54 -0
- package/src/web/index.ts +18 -5
- package/src/web/listener.ts +8 -8
- package/src/web/registry.ts +47 -152
- package/src/web/runtime.ts +32 -22
- package/src/web/services.ts +28 -0
- package/src/web/shadowRegistry.ts +46 -104
- package/src/web/state.ts +46 -11
- package/src/web/types.ts +13 -0
- package/src/web/utils/common.ts +32 -8
- package/src/web/utils/unistyle.ts +46 -25
- package/src/web/variants.ts +27 -27
- package/cxx/core/HostStyle.cpp +0 -73
- package/cxx/core/HostStyle.h +0 -34
- package/lib/commonjs/components/Variants.js +0 -36
- package/lib/commonjs/components/Variants.js.map +0 -1
- package/lib/commonjs/core/createUnistylesComponent.js +0 -16
- package/lib/commonjs/core/createUnistylesComponent.js.map +0 -1
- package/lib/commonjs/core/withUnistyles/useDependencies.js.map +0 -1
- package/lib/module/components/Variants.js +0 -29
- package/lib/module/components/Variants.js.map +0 -1
- package/lib/module/core/createUnistylesComponent.js +0 -11
- package/lib/module/core/createUnistylesComponent.js.map +0 -1
- package/lib/module/core/withUnistyles/useDependencies.js.map +0 -1
- package/lib/typescript/src/components/Variants.d.ts +0 -7
- package/lib/typescript/src/components/Variants.d.ts.map +0 -1
- package/lib/typescript/src/core/createUnistylesComponent.d.ts +0 -14
- package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +0 -1
- package/lib/typescript/src/core/withUnistyles/useDependencies.d.ts +0 -13
- package/lib/typescript/src/core/withUnistyles/useDependencies.d.ts.map +0 -1
- package/nitrogen/generated/android/unistylesOnLoad.kt +0 -1
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +0 -314
- package/plugin/style.js +0 -168
- package/src/components/Variants.tsx +0 -30
- package/src/core/createUnistylesComponent.tsx +0 -14
@@ -3,15 +3,15 @@
|
|
3
3
|
import { UnistyleDependency } from '../specs/NativePlatform';
|
4
4
|
import { ColorScheme, Orientation } from '../specs/types';
|
5
5
|
import { WebContentSizeCategory } from '../types';
|
6
|
-
import { UnistylesListener } from './listener';
|
7
6
|
import { NavigationBar, StatusBar } from './mock';
|
8
7
|
import { error, isServer, schemeToTheme } from './utils';
|
9
|
-
|
10
|
-
// Keep this import here, otherwise circular dependency will occur and break the build
|
11
|
-
import { UnistylesState } from './state';
|
12
|
-
class UnistylesRuntimeBuilder {
|
8
|
+
export class UnistylesRuntime {
|
13
9
|
lightMedia = this.getLightMedia();
|
14
10
|
darkMedia = this.getDarkMedia();
|
11
|
+
rootElement = isServer() ? null : document.querySelector(':root');
|
12
|
+
constructor(services) {
|
13
|
+
this.services = services;
|
14
|
+
}
|
15
15
|
getLightMedia() {
|
16
16
|
if (isServer()) {
|
17
17
|
return null;
|
@@ -41,19 +41,19 @@ class UnistylesRuntimeBuilder {
|
|
41
41
|
}
|
42
42
|
}
|
43
43
|
get themeName() {
|
44
|
-
if (
|
44
|
+
if (this.services.state.hasAdaptiveThemes) {
|
45
45
|
return schemeToTheme(this.colorScheme);
|
46
46
|
}
|
47
|
-
return
|
47
|
+
return this.services.state.themeName;
|
48
48
|
}
|
49
49
|
get contentSizeCategory() {
|
50
50
|
return WebContentSizeCategory.Unspecified;
|
51
51
|
}
|
52
52
|
get breakpoints() {
|
53
|
-
return
|
53
|
+
return this.services.state.breakpoints ?? {};
|
54
54
|
}
|
55
55
|
get breakpoint() {
|
56
|
-
return
|
56
|
+
return this.services.state.breakpoint;
|
57
57
|
}
|
58
58
|
get orientation() {
|
59
59
|
if (isServer()) {
|
@@ -98,7 +98,7 @@ class UnistylesRuntimeBuilder {
|
|
98
98
|
return isServer() ? true : document.documentElement.dir === 'rtl';
|
99
99
|
}
|
100
100
|
get hasAdaptiveThemes() {
|
101
|
-
return
|
101
|
+
return this.services.state.hasAdaptiveThemes;
|
102
102
|
}
|
103
103
|
get navigationBar() {
|
104
104
|
return NavigationBar;
|
@@ -131,19 +131,26 @@ class UnistylesRuntimeBuilder {
|
|
131
131
|
if (this.hasAdaptiveThemes) {
|
132
132
|
throw error(`You're trying to set theme to: '${themeName}', but adaptiveThemes are enabled.`);
|
133
133
|
}
|
134
|
-
if (themeName ===
|
134
|
+
if (themeName === this.themeName) {
|
135
135
|
return;
|
136
136
|
}
|
137
|
-
|
138
|
-
|
139
|
-
|
137
|
+
const oldTheme = this.services.state.themeName;
|
138
|
+
this.services.state.themeName = themeName;
|
139
|
+
this.services.listener.emitChange(UnistyleDependency.Theme);
|
140
|
+
this.services.listener.emitChange(UnistyleDependency.ThemeName);
|
141
|
+
if (!isServer() && !this.services.state.hasAdaptiveThemes && this.services.state.CSSVars) {
|
142
|
+
this.rootElement?.classList.remove(oldTheme ?? '');
|
143
|
+
this.rootElement?.classList.add(themeName ?? '');
|
144
|
+
}
|
140
145
|
};
|
141
146
|
setAdaptiveThemes = isEnabled => {
|
142
|
-
|
147
|
+
this.services.state.hasAdaptiveThemes = isEnabled;
|
143
148
|
if (!isEnabled) {
|
149
|
+
this.rootElement?.classList.add(this.themeName ?? '');
|
144
150
|
return;
|
145
151
|
}
|
146
|
-
this.
|
152
|
+
this.rootElement?.classList.remove(this.themeName ?? '');
|
153
|
+
this.setTheme(schemeToTheme(this.colorScheme));
|
147
154
|
};
|
148
155
|
setRootViewBackgroundColor = color => {
|
149
156
|
if (isServer()) {
|
@@ -153,19 +160,18 @@ class UnistylesRuntimeBuilder {
|
|
153
160
|
};
|
154
161
|
setImmersiveMode = () => {};
|
155
162
|
updateTheme = (themeName, updater) => {
|
156
|
-
const oldTheme =
|
163
|
+
const oldTheme = this.services.state.themes.get(themeName);
|
157
164
|
if (!oldTheme) {
|
158
165
|
throw error(`Unistyles: You're trying to update theme "${themeName}" but it wasn't registered.`);
|
159
166
|
}
|
160
|
-
|
167
|
+
this.services.state.themes.set(themeName, updater(oldTheme));
|
161
168
|
};
|
162
|
-
getTheme = (themeName = this.themeName) => {
|
163
|
-
const theme =
|
169
|
+
getTheme = (themeName = this.themeName, CSSVars = false) => {
|
170
|
+
const theme = CSSVars ? this.services.state.cssThemes.get(themeName ?? '') : this.services.state.themes.get(themeName ?? '');
|
164
171
|
if (!themeName || !theme) {
|
165
172
|
throw error(`You're trying to get theme "${themeName}" but it wasn't registered.`);
|
166
173
|
}
|
167
174
|
return theme;
|
168
175
|
};
|
169
176
|
}
|
170
|
-
export const UnistylesRuntime = new UnistylesRuntimeBuilder();
|
171
177
|
//# sourceMappingURL=runtime.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["UnistyleDependency","ColorScheme","Orientation","WebContentSizeCategory","
|
1
|
+
{"version":3,"names":["UnistyleDependency","ColorScheme","Orientation","WebContentSizeCategory","NavigationBar","StatusBar","error","isServer","schemeToTheme","UnistylesRuntime","lightMedia","getLightMedia","darkMedia","getDarkMedia","rootElement","document","querySelector","constructor","services","window","matchMedia","colorScheme","matches","Light","Dark","Unspecified","themeName","state","hasAdaptiveThemes","contentSizeCategory","breakpoints","breakpoint","orientation","Portrait","screen","type","includes","Landscape","theme","getTheme","pixelRatio","devicePixelRatio","width","height","innerWidth","innerHeight","fontScale","insets","top","bottom","left","right","ime","statusBar","rtl","documentElement","dir","navigationBar","miniRuntime","isLandscape","isPortrait","setTheme","oldTheme","listener","emitChange","Theme","ThemeName","CSSVars","classList","remove","add","setAdaptiveThemes","isEnabled","setRootViewBackgroundColor","color","style","backgroundColor","setImmersiveMode","updateTheme","updater","themes","get","set","cssThemes"],"sourceRoot":"../../../src","sources":["web/runtime.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { UnistylesListener } from './listener';
|
4
|
+
import { UnistylesRegistry } from './registry';
|
5
|
+
import { UnistylesRuntime } from './runtime';
|
6
|
+
import { UnistylesShadowRegistry } from './shadowRegistry';
|
7
|
+
import { UnistylesState } from './state';
|
8
|
+
export class UnistylesServices {
|
9
|
+
services = {};
|
10
|
+
constructor() {
|
11
|
+
this.runtime = new UnistylesRuntime(this.services);
|
12
|
+
this.registry = new UnistylesRegistry(this.services);
|
13
|
+
this.shadowRegistry = new UnistylesShadowRegistry(this.services);
|
14
|
+
this.state = new UnistylesState(this.services);
|
15
|
+
this.listener = new UnistylesListener(this.services);
|
16
|
+
this.services.runtime = this.runtime;
|
17
|
+
this.services.registry = this.registry;
|
18
|
+
this.services.shadowRegistry = this.shadowRegistry;
|
19
|
+
this.services.state = this.state;
|
20
|
+
this.services.listener = this.listener;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
//# sourceMappingURL=services.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["UnistylesListener","UnistylesRegistry","UnistylesRuntime","UnistylesShadowRegistry","UnistylesState","UnistylesServices","services","constructor","runtime","registry","shadowRegistry","state","listener"],"sourceRoot":"../../../src","sources":["web/services.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,YAAY;AAC9C,SAASC,iBAAiB,QAAQ,YAAY;AAC9C,SAASC,gBAAgB,QAAQ,WAAW;AAC5C,SAASC,uBAAuB,QAAQ,kBAAkB;AAC1D,SAASC,cAAc,QAAQ,SAAS;AAExC,OAAO,MAAMC,iBAAiB,CAAC;EAOnBC,QAAQ,GAAG,CAAC,CAAC;EAErBC,WAAWA,CAAA,EAAG;IACV,IAAI,CAACC,OAAO,GAAG,IAAIN,gBAAgB,CAAC,IAAI,CAACI,QAAQ,CAAC;IAClD,IAAI,CAACG,QAAQ,GAAG,IAAIR,iBAAiB,CAAC,IAAI,CAACK,QAAQ,CAAC;IACpD,IAAI,CAACI,cAAc,GAAG,IAAIP,uBAAuB,CAAC,IAAI,CAACG,QAAQ,CAAC;IAChE,IAAI,CAACK,KAAK,GAAG,IAAIP,cAAc,CAAC,IAAI,CAACE,QAAQ,CAAC;IAC9C,IAAI,CAACM,QAAQ,GAAG,IAAIZ,iBAAiB,CAAC,IAAI,CAACM,QAAQ,CAAC;IACpD,IAAI,CAACA,QAAQ,CAACE,OAAO,GAAG,IAAI,CAACA,OAAO;IACpC,IAAI,CAACF,QAAQ,CAACG,QAAQ,GAAG,IAAI,CAACA,QAAQ;IACtC,IAAI,CAACH,QAAQ,CAACI,cAAc,GAAG,IAAI,CAACA,cAAc;IAClD,IAAI,CAACJ,QAAQ,CAACK,KAAK,GAAG,IAAI,CAACA,KAAK;IAChC,IAAI,CAACL,QAAQ,CAACM,QAAQ,GAAG,IAAI,CAACA,QAAQ;EAC1C;AACJ","ignoreList":[]}
|
@@ -1,11 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import { UnistylesListener } from './listener';
|
4
|
-
import { UnistylesRegistry } from './registry';
|
5
3
|
import { deepMergeObjects } from '../utils';
|
6
|
-
import {
|
4
|
+
import { extractSecrets, extractUnistyleDependencies } from './utils';
|
7
5
|
import { getVariants } from './variants';
|
8
|
-
|
6
|
+
import { UnistyleDependency } from '../specs';
|
7
|
+
export class UnistylesShadowRegistry {
|
9
8
|
// MOCKS
|
10
9
|
name = 'UnistylesShadowRegistry';
|
11
10
|
__type = 'web';
|
@@ -14,128 +13,81 @@ class UnistylesShadowRegistryBuilder {
|
|
14
13
|
dispose = () => {};
|
15
14
|
// END MOCKS
|
16
15
|
|
17
|
-
resultsMap = new Map();
|
18
|
-
classNamesMap = new Map();
|
19
|
-
selectedVariants = new Map();
|
20
16
|
scopedTheme = undefined;
|
21
17
|
disposeMap = new Map();
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
// Ref is unmounted
|
29
|
-
if (ref === null) {
|
30
|
-
styles.flat().forEach(style => {
|
31
|
-
extractSecrets(style)?.__uni__refs.forEach(ref => {
|
32
|
-
if (isInDocument(ref)) {
|
33
|
-
return;
|
34
|
-
}
|
35
|
-
const oldResult = this.resultsMap.get(ref);
|
36
|
-
this.resultsMap.delete(ref);
|
37
|
-
this.classNamesMap.delete(ref);
|
38
|
-
this.disposeMap.get(ref)?.();
|
39
|
-
this.disposeMap.delete(ref);
|
40
|
-
if (oldResult) {
|
41
|
-
UnistylesRegistry.remove(oldResult);
|
42
|
-
}
|
43
|
-
});
|
44
|
-
});
|
45
|
-
return;
|
46
|
-
}
|
47
|
-
|
48
|
-
// Ref is not an HTMLElement
|
49
|
-
if (!(ref instanceof HTMLElement)) {
|
18
|
+
constructor(services) {
|
19
|
+
this.services = services;
|
20
|
+
}
|
21
|
+
add = (ref, hash) => {
|
22
|
+
if (!(ref instanceof HTMLElement) || !hash) {
|
50
23
|
return;
|
51
24
|
}
|
25
|
+
this.services.registry.connect(ref, hash);
|
26
|
+
};
|
27
|
+
addStyles = unistyles => {
|
52
28
|
const getParsedStyles = () => {
|
53
|
-
|
54
|
-
|
55
|
-
return [];
|
56
|
-
}
|
57
|
-
const secrets = extractSecrets(unistyleStyle);
|
29
|
+
const allStyles = unistyles.map(unistyle => {
|
30
|
+
const secrets = extractSecrets(unistyle);
|
58
31
|
|
59
32
|
// Regular style
|
60
33
|
if (!secrets) {
|
61
|
-
return
|
34
|
+
return unistyle;
|
62
35
|
}
|
63
36
|
const {
|
64
37
|
__uni__key,
|
65
38
|
__uni__stylesheet,
|
66
39
|
__uni__args = [],
|
67
|
-
|
40
|
+
__uni_variants: variants
|
68
41
|
} = secrets;
|
69
|
-
const newComputedStylesheet =
|
42
|
+
const newComputedStylesheet = this.services.registry.getComputedStylesheet(__uni__stylesheet, scopedTheme);
|
70
43
|
const style = newComputedStylesheet[__uni__key];
|
71
|
-
const
|
72
|
-
const
|
73
|
-
const
|
74
|
-
variantsResult
|
75
|
-
} = Object.fromEntries(getVariants({
|
76
|
-
variantsResult: result
|
77
|
-
}, variants));
|
78
|
-
const resultWithVariants = deepMergeObjects(result, variantsResult ?? {});
|
44
|
+
const result = typeof style === 'function' ? style(...__uni__args) : style;
|
45
|
+
const variantsResult = getVariants(result, variants);
|
46
|
+
const resultWithVariants = deepMergeObjects(result, variantsResult);
|
79
47
|
const dependencies = extractUnistyleDependencies(resultWithVariants);
|
80
48
|
if (typeof __uni__stylesheet === 'function') {
|
81
49
|
// Add dependencies from dynamic styles to stylesheet
|
82
|
-
|
50
|
+
this.services.registry.addDependenciesToStylesheet(__uni__stylesheet, dependencies);
|
83
51
|
}
|
84
|
-
__uni__refs.add(ref);
|
85
52
|
return resultWithVariants;
|
86
53
|
});
|
54
|
+
return deepMergeObjects(...allStyles);
|
87
55
|
};
|
88
56
|
|
89
57
|
// Copy scoped theme to not use referenced value
|
90
|
-
const variants = this.getVariants();
|
91
58
|
const scopedTheme = this.scopedTheme;
|
92
59
|
const parsedStyles = getParsedStyles();
|
93
|
-
const combinedStyles = deepMergeObjects(...parsedStyles);
|
94
|
-
const oldStyles = this.resultsMap.get(ref);
|
95
|
-
if (equal(combinedStyles, oldStyles)) {
|
96
|
-
return;
|
97
|
-
}
|
98
|
-
const oldClassNames = this.classNamesMap.get(ref);
|
99
|
-
|
100
|
-
// Remove old styles
|
101
|
-
if (oldStyles) {
|
102
|
-
UnistylesRegistry.remove(oldStyles);
|
103
|
-
}
|
104
|
-
|
105
|
-
// Remove old classnames from the ref
|
106
|
-
oldClassNames?.forEach(className => ref.classList.remove(className));
|
107
|
-
this.resultsMap.set(ref, combinedStyles);
|
108
60
|
const {
|
109
|
-
hash
|
110
|
-
|
111
|
-
|
112
|
-
const
|
113
|
-
const
|
114
|
-
|
115
|
-
this.
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
ref.classList.add(...newClassNames);
|
121
|
-
ref.removeAttribute('styles');
|
122
|
-
return newClassNames;
|
123
|
-
};
|
124
|
-
selectVariants = variants => {
|
125
|
-
if (!variants) {
|
126
|
-
this.selectedVariants.clear();
|
127
|
-
return;
|
61
|
+
hash,
|
62
|
+
existingHash
|
63
|
+
} = this.services.registry.add(parsedStyles);
|
64
|
+
const injectedClassNames = parsedStyles?._web?._classNames ?? [];
|
65
|
+
const injectedClassName = Array.isArray(injectedClassNames) ? injectedClassNames.join(' ') : injectedClassNames;
|
66
|
+
const dependencies = extractUnistyleDependencies(parsedStyles);
|
67
|
+
const filteredDependencies = this.services.state.CSSVars ? dependencies.filter(dependency => dependency !== UnistyleDependency.Theme) : dependencies;
|
68
|
+
if (!existingHash) {
|
69
|
+
this.disposeMap.set(hash, this.services.listener.addListeners(filteredDependencies, () => {
|
70
|
+
this.services.registry.applyStyles(hash, getParsedStyles());
|
71
|
+
}));
|
128
72
|
}
|
129
|
-
|
130
|
-
|
131
|
-
|
73
|
+
return {
|
74
|
+
injectedClassName,
|
75
|
+
hash
|
76
|
+
};
|
132
77
|
};
|
133
78
|
setScopedTheme = theme => {
|
134
79
|
this.scopedTheme = theme;
|
135
80
|
};
|
136
81
|
getScopedTheme = () => this.scopedTheme;
|
137
|
-
|
138
|
-
|
82
|
+
remove = (ref, hash) => {
|
83
|
+
if (!(ref instanceof HTMLElement) || !hash) {
|
84
|
+
return;
|
85
|
+
}
|
86
|
+
const removed = this.services.registry.remove(ref, hash);
|
87
|
+
if (removed) {
|
88
|
+
this.disposeMap.get(hash)?.();
|
89
|
+
this.disposeMap.delete(hash);
|
90
|
+
}
|
91
|
+
};
|
139
92
|
}
|
140
|
-
export const UnistylesShadowRegistry = new UnistylesShadowRegistryBuilder();
|
141
93
|
//# sourceMappingURL=shadowRegistry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["deepMergeObjects","extractSecrets","extractUnistyleDependencies","getVariants","UnistyleDependency","UnistylesShadowRegistry","name","__type","equals","toString","dispose","scopedTheme","undefined","disposeMap","Map","constructor","services","add","ref","hash","HTMLElement","registry","connect","addStyles","unistyles","getParsedStyles","allStyles","map","unistyle","secrets","__uni__key","__uni__stylesheet","__uni__args","__uni_variants","variants","newComputedStylesheet","getComputedStylesheet","style","result","variantsResult","resultWithVariants","dependencies","addDependenciesToStylesheet","parsedStyles","existingHash","injectedClassNames","_web","_classNames","injectedClassName","Array","isArray","join","filteredDependencies","state","CSSVars","filter","dependency","Theme","set","listener","addListeners","applyStyles","setScopedTheme","theme","getScopedTheme","remove","removed","get","delete"],"sourceRoot":"../../../src","sources":["web/shadowRegistry.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/web/state.js
CHANGED
@@ -1,19 +1,27 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import {
|
4
|
-
import { error, isServer, schemeToTheme } from './utils';
|
5
|
-
import { UnistylesListener } from './listener';
|
3
|
+
import { error, hyphenate, isServer, schemeToTheme } from './utils';
|
6
4
|
import { UnistyleDependency } from '../specs/NativePlatform';
|
7
|
-
class
|
5
|
+
export class UnistylesState {
|
6
|
+
isInitialized = false;
|
8
7
|
themes = new Map();
|
8
|
+
cssThemes = new Map();
|
9
|
+
CSSVars = true;
|
9
10
|
matchingBreakpoints = new Map();
|
10
11
|
get breakpoint() {
|
11
12
|
const [currentBreakpoint] = Array.from(this.matchingBreakpoints).reverse().find(([_key, value]) => value) ?? [];
|
12
13
|
return currentBreakpoint;
|
13
14
|
}
|
14
15
|
hasAdaptiveThemes = false;
|
16
|
+
constructor(services) {
|
17
|
+
this.services = services;
|
18
|
+
}
|
15
19
|
init = config => {
|
16
|
-
this.
|
20
|
+
if (this.isInitialized) {
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
this.isInitialized = true;
|
24
|
+
this.initThemes(config.themes, config.settings?.CSSVars);
|
17
25
|
this.initBreakpoints(config.breakpoints);
|
18
26
|
if (config.settings) {
|
19
27
|
this.initSettings(config.settings);
|
@@ -21,11 +29,33 @@ class UnistylesStateBuilder {
|
|
21
29
|
if (isServer()) {
|
22
30
|
return;
|
23
31
|
}
|
24
|
-
|
32
|
+
|
33
|
+
// Ensure we have a themeName before calling this
|
34
|
+
// classList.add throws a "SyntaxError" DOMException if one of the arguments is an empty string.
|
35
|
+
if (!this.hasAdaptiveThemes && this.CSSVars && this.themeName) {
|
36
|
+
document.querySelector(':root')?.classList.add(this.themeName);
|
37
|
+
}
|
38
|
+
this.services.listener.initListeners();
|
25
39
|
};
|
26
|
-
initThemes = (themes = {}) => {
|
40
|
+
initThemes = (themes = {}, CSSVars = true) => {
|
41
|
+
this.CSSVars = CSSVars;
|
27
42
|
Object.entries(themes).forEach(([themeName, theme]) => {
|
28
43
|
this.themes.set(themeName, theme);
|
44
|
+
if (CSSVars) {
|
45
|
+
this.services.registry.css.addTheme(themeName, theme);
|
46
|
+
const convertTheme = (key, value, prev = '-') => {
|
47
|
+
if (typeof value === 'object' && value !== null) {
|
48
|
+
return [key, Object.fromEntries(Object.entries(value).map(([nestedKey, nestedValue]) => convertTheme(nestedKey, nestedValue, `${prev}-${key}`)))];
|
49
|
+
}
|
50
|
+
if (typeof value === 'string') {
|
51
|
+
return [key, `var(${prev}-${hyphenate(key)})`];
|
52
|
+
}
|
53
|
+
return [key, value];
|
54
|
+
};
|
55
|
+
this.cssThemes.set(themeName, Object.fromEntries(Object.entries(theme).map(([key, value]) => {
|
56
|
+
return convertTheme(key, value);
|
57
|
+
})));
|
58
|
+
}
|
29
59
|
});
|
30
60
|
};
|
31
61
|
initSettings = settings => {
|
@@ -39,7 +69,7 @@ class UnistylesStateBuilder {
|
|
39
69
|
if (!this.themes.get('light') || !this.themes.get('dark')) {
|
40
70
|
throw error(`You're trying to enable adaptiveThemes, but you didn't register both 'light' and 'dark' themes.`);
|
41
71
|
}
|
42
|
-
this.themeName = schemeToTheme(
|
72
|
+
this.themeName = schemeToTheme(this.services.runtime.colorScheme);
|
43
73
|
return;
|
44
74
|
}
|
45
75
|
if (settings.initialTheme) {
|
@@ -67,10 +97,9 @@ class UnistylesStateBuilder {
|
|
67
97
|
this.matchingBreakpoints.set(breakpoint, mediaQuery.matches);
|
68
98
|
mediaQuery.addEventListener('change', event => {
|
69
99
|
this.matchingBreakpoints.set(breakpoint, event.matches);
|
70
|
-
|
100
|
+
this.services.listener.emitChange(UnistyleDependency.Breakpoints);
|
71
101
|
});
|
72
102
|
});
|
73
103
|
};
|
74
104
|
}
|
75
|
-
export const UnistylesState = new UnistylesStateBuilder();
|
76
105
|
//# sourceMappingURL=state.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["error","hyphenate","isServer","schemeToTheme","UnistyleDependency","UnistylesState","isInitialized","themes","Map","cssThemes","CSSVars","matchingBreakpoints","breakpoint","currentBreakpoint","Array","from","reverse","find","_key","value","hasAdaptiveThemes","constructor","services","init","config","initThemes","settings","initBreakpoints","breakpoints","initSettings","themeName","document","querySelector","classList","add","listener","initListeners","Object","entries","forEach","theme","set","registry","css","addTheme","convertTheme","key","prev","fromEntries","map","nestedKey","nestedValue","adaptiveThemes","initialTheme","get","runtime","colorScheme","breakpointsEntries","length","sort","a","b","mediaQuery","window","matchMedia","matches","addEventListener","event","emitChange","Breakpoints"],"sourceRoot":"../../../src","sources":["web/state.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["web/types.ts"],"mappings":"","ignoreList":[]}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
export const reduceObject = (obj, reducer) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, reducer(value, key)]));
|
4
4
|
export const keyInObject = (obj, key) => key in obj;
|
5
|
-
export const isServer = () => typeof window === 'undefined';
|
5
|
+
export const isServer = () => typeof window === 'undefined' || typeof document === 'undefined';
|
6
6
|
export const error = message => new Error(`Unistyles: ${message}`);
|
7
7
|
export const equal = (a, b) => {
|
8
8
|
if (Object.is(a, b)) {
|
@@ -17,12 +17,31 @@ export const equal = (a, b) => {
|
|
17
17
|
}
|
18
18
|
return keysA.every(key => Object.is(a[key], b[key]) && Object.prototype.hasOwnProperty.call(b, key));
|
19
19
|
};
|
20
|
+
export const hyphenate = propertyName => propertyName.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);
|
21
|
+
export const serialize = obj => {
|
22
|
+
if (typeof obj !== 'object') {
|
23
|
+
return String(obj);
|
24
|
+
}
|
25
|
+
const sortedKeys = Object.keys(obj).sort();
|
26
|
+
const sortedKeyValuePairs = sortedKeys.map(key => `${key}:${serialize(obj[key])}`);
|
27
|
+
return `{${sortedKeyValuePairs.join(',')}}`;
|
28
|
+
};
|
29
|
+
|
30
|
+
// Based on https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js
|
31
|
+
const cyrb53 = (data, seed = 0) => {
|
32
|
+
let h1 = 0xdeadbeef ^ seed;
|
33
|
+
let h2 = 0x41c6ce57 ^ seed;
|
34
|
+
for (let i = 0, ch; i < data.length; i++) {
|
35
|
+
ch = data.charCodeAt(i);
|
36
|
+
h1 = Math.imul(h1 ^ ch, 2654435761);
|
37
|
+
h2 = Math.imul(h2 ^ ch, 1597334677);
|
38
|
+
}
|
39
|
+
h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909);
|
40
|
+
h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909);
|
41
|
+
return 4294967296 * (2097151 & h2) + (h1 >>> 0);
|
42
|
+
};
|
20
43
|
export const generateHash = value => {
|
21
|
-
const
|
22
|
-
|
23
|
-
let length = str.length;
|
24
|
-
while (length--) hasher = hasher * 33 ^ str.charCodeAt(length);
|
25
|
-
return `unistyles-${(hasher >>> 0).toString(36)}`;
|
44
|
+
const serialized = serialize(value);
|
45
|
+
return `unistyles-${cyrb53(serialized).toString(36)}`;
|
26
46
|
};
|
27
|
-
export const hyphenate = propertyName => propertyName.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);
|
28
47
|
//# sourceMappingURL=common.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["reduceObject","obj","reducer","Object","fromEntries","entries","map","key","value","keyInObject","isServer","window","error","message","Error","equal","a","b","is","keysA","keys","length","every","prototype","hasOwnProperty","call","
|
1
|
+
{"version":3,"names":["reduceObject","obj","reducer","Object","fromEntries","entries","map","key","value","keyInObject","isServer","window","document","error","message","Error","equal","a","b","is","keysA","keys","length","every","prototype","hasOwnProperty","call","hyphenate","propertyName","replace","m","toLowerCase","serialize","String","sortedKeys","sort","sortedKeyValuePairs","join","cyrb53","data","seed","h1","h2","i","ch","charCodeAt","Math","imul","generateHash","serialized","toString"],"sourceRoot":"../../../../src","sources":["web/utils/common.ts"],"mappings":"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","ignoreList":[]}
|