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
@@ -0,0 +1,150 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { convertUnistyles } from '../convert';
|
4
|
+
import { hyphenate, isServer } from '../utils';
|
5
|
+
import { convertToCSS } from './core';
|
6
|
+
const safeGetMap = (map, key) => {
|
7
|
+
const nextLevelMap = map.get(key);
|
8
|
+
if (!nextLevelMap) {
|
9
|
+
const newMap = new Map();
|
10
|
+
map.set(key, newMap);
|
11
|
+
return newMap;
|
12
|
+
}
|
13
|
+
return nextLevelMap;
|
14
|
+
};
|
15
|
+
export class CSSState {
|
16
|
+
mainMap = new Map();
|
17
|
+
mqMap = new Map();
|
18
|
+
styleTag = null;
|
19
|
+
CSS = '';
|
20
|
+
constructor() {
|
21
|
+
if (isServer()) {
|
22
|
+
return;
|
23
|
+
}
|
24
|
+
const ssrTag = document.getElementById('unistyles-web');
|
25
|
+
if (ssrTag) {
|
26
|
+
this.styleTag = ssrTag;
|
27
|
+
return;
|
28
|
+
}
|
29
|
+
this.styleTag = document.createElement('style');
|
30
|
+
this.styleTag.id = 'unistyles-web';
|
31
|
+
document.head.appendChild(this.styleTag);
|
32
|
+
}
|
33
|
+
set = ({
|
34
|
+
className,
|
35
|
+
propertyKey,
|
36
|
+
value,
|
37
|
+
mediaQuery = '',
|
38
|
+
isMq
|
39
|
+
}) => {
|
40
|
+
const firstLevelMap = isMq ? this.mqMap : this.mainMap;
|
41
|
+
const secondLevelMap = safeGetMap(firstLevelMap, mediaQuery);
|
42
|
+
const thirdLevelMap = safeGetMap(secondLevelMap, className);
|
43
|
+
thirdLevelMap.set(propertyKey, value);
|
44
|
+
};
|
45
|
+
add = (hash, values) => {
|
46
|
+
convertToCSS(hash, convertUnistyles(values), this);
|
47
|
+
if (this.styleTag) {
|
48
|
+
this.styleTag.innerText = this.getStyles();
|
49
|
+
}
|
50
|
+
};
|
51
|
+
addTheme = (theme, values) => {
|
52
|
+
let themeVars = '';
|
53
|
+
const convertToCSS = (key, value, prev = '-') => {
|
54
|
+
if (typeof value === 'object' && value !== null) {
|
55
|
+
Object.entries(value).forEach(([nestedKey, nestedValue]) => convertToCSS(nestedKey, nestedValue, `${prev}-${key}`));
|
56
|
+
}
|
57
|
+
if (typeof value === 'string') {
|
58
|
+
themeVars += `${prev}-${hyphenate(key)}:${value};`;
|
59
|
+
}
|
60
|
+
};
|
61
|
+
Object.entries(values).forEach(([key, value]) => convertToCSS(key, value));
|
62
|
+
if (theme === 'light' || theme === 'dark') {
|
63
|
+
this.CSS += `@media (prefers-color-scheme: ${theme}){:root{${themeVars}}}`;
|
64
|
+
}
|
65
|
+
this.CSS += `:root.${theme}{${themeVars}}`;
|
66
|
+
};
|
67
|
+
remove = hash => {
|
68
|
+
this.mainMap.forEach(styles => {
|
69
|
+
styles.delete(hash);
|
70
|
+
});
|
71
|
+
this.mqMap.forEach(styles => {
|
72
|
+
styles.delete(hash);
|
73
|
+
});
|
74
|
+
if (this.styleTag) {
|
75
|
+
this.styleTag.innerText = this.getStyles();
|
76
|
+
}
|
77
|
+
};
|
78
|
+
getStyles = () => {
|
79
|
+
let styles = this.CSS;
|
80
|
+
const generate = (mediaQuery, secondLevelMap) => {
|
81
|
+
if (mediaQuery) {
|
82
|
+
styles += `${mediaQuery}{`;
|
83
|
+
}
|
84
|
+
for (const [className, thirdLevelMap] of secondLevelMap) {
|
85
|
+
styles += `.${className}{`;
|
86
|
+
for (const [propertyKey, value] of thirdLevelMap) {
|
87
|
+
if (value === undefined) {
|
88
|
+
continue;
|
89
|
+
}
|
90
|
+
styles += `${hyphenate(propertyKey)}:${value};`;
|
91
|
+
}
|
92
|
+
styles += '}';
|
93
|
+
}
|
94
|
+
if (mediaQuery) {
|
95
|
+
styles += '}';
|
96
|
+
}
|
97
|
+
};
|
98
|
+
for (const [mediaQuery, secondLevelMap] of this.mainMap) {
|
99
|
+
generate(mediaQuery, secondLevelMap);
|
100
|
+
}
|
101
|
+
for (const [mediaQuery, secondLevelMap] of this.mqMap) {
|
102
|
+
generate(mediaQuery, secondLevelMap);
|
103
|
+
}
|
104
|
+
return styles;
|
105
|
+
};
|
106
|
+
getState = () => {
|
107
|
+
const getState = map => {
|
108
|
+
return Array.from(map).map(([mediaQuery, classNames]) => {
|
109
|
+
return [mediaQuery, Array.from(classNames.entries()).map(([className, style]) => {
|
110
|
+
return [className, Array.from(style.entries()).map(([property, value]) => {
|
111
|
+
return [property, value];
|
112
|
+
})];
|
113
|
+
})];
|
114
|
+
});
|
115
|
+
};
|
116
|
+
const mainState = getState(this.mainMap);
|
117
|
+
const mqState = getState(this.mqMap);
|
118
|
+
return {
|
119
|
+
mainState,
|
120
|
+
mqState
|
121
|
+
};
|
122
|
+
};
|
123
|
+
hydrate = ({
|
124
|
+
mainState,
|
125
|
+
mqState
|
126
|
+
}) => {
|
127
|
+
const hydrateState = (map, isMq = false) => {
|
128
|
+
map.forEach(([mediaQuery, classNames]) => {
|
129
|
+
classNames.forEach(([className, style]) => {
|
130
|
+
style.forEach(([propertyKey, value]) => {
|
131
|
+
this.set({
|
132
|
+
className,
|
133
|
+
propertyKey,
|
134
|
+
value,
|
135
|
+
mediaQuery,
|
136
|
+
isMq
|
137
|
+
});
|
138
|
+
});
|
139
|
+
});
|
140
|
+
});
|
141
|
+
};
|
142
|
+
hydrateState(mainState);
|
143
|
+
hydrateState(mqState, true);
|
144
|
+
};
|
145
|
+
reset = () => {
|
146
|
+
this.mqMap.clear();
|
147
|
+
this.mainMap.clear();
|
148
|
+
};
|
149
|
+
}
|
150
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["convertUnistyles","hyphenate","isServer","convertToCSS","safeGetMap","map","key","nextLevelMap","get","newMap","Map","set","CSSState","mainMap","mqMap","styleTag","CSS","constructor","ssrTag","document","getElementById","createElement","id","head","appendChild","className","propertyKey","value","mediaQuery","isMq","firstLevelMap","secondLevelMap","thirdLevelMap","add","hash","values","innerText","getStyles","addTheme","theme","themeVars","prev","Object","entries","forEach","nestedKey","nestedValue","remove","styles","delete","generate","undefined","getState","Array","from","classNames","style","property","mainState","mqState","hydrate","hydrateState","reset","clear"],"sourceRoot":"../../../../src","sources":["web/css/state.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { hyphenate } from '../utils';
|
4
|
+
export const safeGetMap = (map, key) => {
|
5
|
+
const nextLevelMap = map.get(key);
|
6
|
+
if (!nextLevelMap) {
|
7
|
+
const newMap = new Map();
|
8
|
+
map.set(key, newMap);
|
9
|
+
return newMap;
|
10
|
+
}
|
11
|
+
return nextLevelMap;
|
12
|
+
};
|
13
|
+
export const getStylesFromState = state => {
|
14
|
+
let styles = '';
|
15
|
+
const generate = (mediaQuery, secondLevelMap) => {
|
16
|
+
if (mediaQuery) {
|
17
|
+
styles += `${mediaQuery}{`;
|
18
|
+
}
|
19
|
+
for (const [className, thirdLevelMap] of secondLevelMap) {
|
20
|
+
styles += `.${className}{`;
|
21
|
+
for (const [propertyKey, value] of thirdLevelMap) {
|
22
|
+
if (value === undefined) {
|
23
|
+
continue;
|
24
|
+
}
|
25
|
+
styles += `${hyphenate(propertyKey)}:${value};`;
|
26
|
+
}
|
27
|
+
styles += '}';
|
28
|
+
}
|
29
|
+
if (mediaQuery) {
|
30
|
+
styles += '}';
|
31
|
+
}
|
32
|
+
};
|
33
|
+
for (const [mediaQuery, secondLevelMap] of state.mainMap) {
|
34
|
+
generate(mediaQuery, secondLevelMap);
|
35
|
+
}
|
36
|
+
for (const [mediaQuery, secondLevelMap] of state.mqMap) {
|
37
|
+
generate(mediaQuery, secondLevelMap);
|
38
|
+
}
|
39
|
+
return styles;
|
40
|
+
};
|
41
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["hyphenate","safeGetMap","map","key","nextLevelMap","get","newMap","Map","set","getStylesFromState","state","styles","generate","mediaQuery","secondLevelMap","className","thirdLevelMap","propertyKey","value","undefined","mainMap","mqMap"],"sourceRoot":"../../../../src","sources":["web/css/utils.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,UAAU;AAGpC,OAAO,MAAMC,UAAU,GAAGA,CAACC,GAAkC,EAAEC,GAAW,KAAK;EAC3E,MAAMC,YAAY,GAAGF,GAAG,CAACG,GAAG,CAACF,GAAG,CAAC;EAEjC,IAAI,CAACC,YAAY,EAAE;IACf,MAAME,MAAM,GAAG,IAAIC,GAAG,CAAc,CAAC;IAErCL,GAAG,CAACM,GAAG,CAACL,GAAG,EAAEG,MAAM,CAAC;IAEpB,OAAOA,MAAM;EACjB;EAEA,OAAOF,YAAY;AACvB,CAAC;AAED,OAAO,MAAMK,kBAAkB,GAAIC,KAAe,IAAK;EACnD,IAAIC,MAAM,GAAG,EAAE;EAEf,MAAMC,QAAQ,GAAGA,CAACC,UAAkB,EAAEC,cAAgD,KAAK;IACvF,IAAID,UAAU,EAAE;MACZF,MAAM,IAAI,GAAGE,UAAU,GAAG;IAC9B;IAEA,KAAK,MAAM,CAACE,SAAS,EAAEC,aAAa,CAAC,IAAIF,cAAc,EAAE;MACrDH,MAAM,IAAI,IAAII,SAAS,GAAG;MAE1B,KAAK,MAAM,CAACE,WAAW,EAAEC,KAAK,CAAC,IAAIF,aAAa,EAAE;QAC9C,IAAIE,KAAK,KAAKC,SAAS,EAAE;UACrB;QACJ;QAEAR,MAAM,IAAI,GAAGX,SAAS,CAACiB,WAAW,CAAC,IAAIC,KAAK,GAAG;MACnD;MAEAP,MAAM,IAAI,GAAG;IACjB;IAEA,IAAIE,UAAU,EAAE;MACZF,MAAM,IAAI,GAAG;IACjB;EACJ,CAAC;EAED,KAAK,MAAM,CAACE,UAAU,EAAEC,cAAc,CAAC,IAAIJ,KAAK,CAACU,OAAO,EAAE;IACtDR,QAAQ,CAACC,UAAU,EAAEC,cAAc,CAAC;EACxC;EAEA,KAAK,MAAM,CAACD,UAAU,EAAEC,cAAc,CAAC,IAAIJ,KAAK,CAACW,KAAK,EAAE;IACpDT,QAAQ,CAACC,UAAU,EAAEC,cAAc,CAAC;EACxC;EAEA,OAAOH,MAAM;AACjB,CAAC","ignoreList":[]}
|
package/lib/module/web/index.js
CHANGED
@@ -1,11 +1,16 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
import { create } from './create';
|
4
|
-
import { UnistylesState } from './state';
|
5
4
|
import { deepMergeObjects } from '../utils';
|
6
|
-
import {
|
5
|
+
import { UnistylesServices } from './services';
|
6
|
+
import { isServer } from './utils';
|
7
|
+
if (isServer() && !globalThis.__unistyles__) {
|
8
|
+
// @ts-ignore
|
9
|
+
globalThis.__unistyles__ = new UnistylesServices();
|
10
|
+
}
|
11
|
+
export const UnistylesWeb = isServer() ? globalThis.__unistyles__ : new UnistylesServices();
|
7
12
|
export const StyleSheet = {
|
8
|
-
configure:
|
13
|
+
configure: UnistylesWeb.state.init,
|
9
14
|
create: create,
|
10
15
|
absoluteFill: {
|
11
16
|
position: 'absolute',
|
@@ -25,7 +30,7 @@ export const StyleSheet = {
|
|
25
30
|
flatten: (...styles) => deepMergeObjects(...styles),
|
26
31
|
hairlineWidth: 1
|
27
32
|
};
|
28
|
-
export const UnistylesRuntime =
|
33
|
+
export const UnistylesRuntime = UnistylesWeb.runtime;
|
34
|
+
export const UnistylesShadowRegistry = UnistylesWeb.shadowRegistry;
|
29
35
|
export * from './mock';
|
30
|
-
export * from './shadowRegistry';
|
31
36
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["create","
|
1
|
+
{"version":3,"names":["create","deepMergeObjects","UnistylesServices","isServer","globalThis","__unistyles__","UnistylesWeb","StyleSheet","configure","state","init","absoluteFill","position","left","top","right","bottom","absoluteFillObject","compose","a","b","flatten","styles","hairlineWidth","UnistylesRuntime","runtime","UnistylesShadowRegistry","shadowRegistry"],"sourceRoot":"../../../src","sources":["web/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,UAAU;AACjC,SAASC,gBAAgB,QAAQ,UAAU;AAI3C,SAASC,iBAAiB,QAAQ,YAAY;AAC9C,SAASC,QAAQ,QAAQ,SAAS;AAOlC,IAAIA,QAAQ,CAAC,CAAC,IAAI,CAACC,UAAU,CAACC,aAAa,EAAE;EACzC;EACAD,UAAU,CAACC,aAAa,GAAG,IAAIH,iBAAiB,CAAC,CAAC;AACtD;AAEA,OAAO,MAAMI,YAAY,GAAGH,QAAQ,CAAC,CAAC,GAAGC,UAAU,CAACC,aAAa,GAAG,IAAIH,iBAAiB,CAAC,CAAC;AAC3F,OAAO,MAAMK,UAAU,GAAG;EACtBC,SAAS,EAAEF,YAAY,CAACG,KAAK,CAACC,IAAI;EAClCV,MAAM,EAAEA,MAAM;EACdW,YAAY,EAAE;IACVC,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACZ,CAAC;EACDC,kBAAkB,EAAE;IAChBL,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACZ,CAAC;EACDE,OAAO,EAAEA,CAACC,CAAS,EAAEC,CAAS,KAAKnB,gBAAgB,CAACkB,CAAC,EAAEC,CAAC,CAAC;EACzDC,OAAO,EAAEA,CAAC,GAAGC,MAAqB,KAAKrB,gBAAgB,CAAC,GAAGqB,MAAM,CAAC;EAClEC,aAAa,EAAE;AACnB,CAAuC;AAEvC,OAAO,MAAMC,gBAAgB,GAAGlB,YAAY,CAACmB,OAAmD;AAChG,OAAO,MAAMC,uBAAuB,GAAGpB,YAAY,CAACqB,cAAiE;AAErH,cAAc,QAAQ","ignoreList":[]}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
import { UnistyleDependency } from '../specs/NativePlatform';
|
4
|
-
|
5
|
-
class UnistylesListenerBuilder {
|
4
|
+
export class UnistylesListener {
|
6
5
|
isInitialized = false;
|
7
6
|
listeners = Array.from({
|
8
7
|
length: Object.keys(UnistyleDependency).length / 2
|
@@ -10,6 +9,9 @@ class UnistylesListenerBuilder {
|
|
10
9
|
stylesheetListeners = Array.from({
|
11
10
|
length: Object.keys(UnistyleDependency).length / 2
|
12
11
|
}, () => new Set());
|
12
|
+
constructor(services) {
|
13
|
+
this.services = services;
|
14
|
+
}
|
13
15
|
emitChange = dependency => {
|
14
16
|
this.stylesheetListeners[dependency]?.forEach(listener => listener());
|
15
17
|
this.listeners[dependency]?.forEach(listener => listener());
|
@@ -19,21 +21,21 @@ class UnistylesListenerBuilder {
|
|
19
21
|
return;
|
20
22
|
}
|
21
23
|
this.isInitialized = true;
|
22
|
-
|
24
|
+
this.services.runtime.darkMedia?.addEventListener('change', event => {
|
23
25
|
if (!event.matches) {
|
24
26
|
return;
|
25
27
|
}
|
26
28
|
this.emitChange(UnistyleDependency.ColorScheme);
|
27
|
-
if (
|
29
|
+
if (this.services.runtime.hasAdaptiveThemes) {
|
28
30
|
this.emitChange(UnistyleDependency.Theme);
|
29
31
|
}
|
30
32
|
});
|
31
|
-
|
33
|
+
this.services.runtime.lightMedia?.addEventListener('change', event => {
|
32
34
|
if (!event.matches) {
|
33
35
|
return;
|
34
36
|
}
|
35
37
|
this.emitChange(UnistyleDependency.ColorScheme);
|
36
|
-
if (
|
38
|
+
if (this.services.runtime.hasAdaptiveThemes) {
|
37
39
|
this.emitChange(UnistyleDependency.Theme);
|
38
40
|
}
|
39
41
|
});
|
@@ -53,5 +55,4 @@ class UnistylesListenerBuilder {
|
|
53
55
|
};
|
54
56
|
};
|
55
57
|
}
|
56
|
-
export const UnistylesListener = new UnistylesListenerBuilder();
|
57
58
|
//# sourceMappingURL=listener.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["UnistyleDependency","
|
1
|
+
{"version":3,"names":["UnistyleDependency","UnistylesListener","isInitialized","listeners","Array","from","length","Object","keys","Set","stylesheetListeners","constructor","services","emitChange","dependency","forEach","listener","initListeners","runtime","darkMedia","addEventListener","event","matches","ColorScheme","hasAdaptiveThemes","Theme","lightMedia","window","Orientation","Dimensions","addListeners","dependencies","add","delete","addStylesheetListeners"],"sourceRoot":"../../../src","sources":["web/listener.ts"],"mappings":"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","ignoreList":[]}
|
@@ -1,42 +1,34 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
|
6
|
-
import { convertUnistyles } from './convert';
|
7
|
-
class UnistylesRegistryBuilder {
|
3
|
+
import { generateHash, extractUnistyleDependencies, error } from './utils';
|
4
|
+
import { CSSState } from './css';
|
5
|
+
export class UnistylesRegistry {
|
8
6
|
stylesheets = new Map();
|
7
|
+
stylesCache = new Set();
|
9
8
|
stylesCounter = new Map();
|
10
|
-
#styleTag = null;
|
11
9
|
disposeListenersMap = new Map();
|
12
10
|
dependenciesMap = new Map();
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
const newTag = document.createElement('style');
|
17
|
-
newTag.id = 'unistyles-web';
|
18
|
-
this.#styleTag = newTag;
|
19
|
-
document.head.appendChild(newTag);
|
20
|
-
return newTag;
|
21
|
-
}
|
22
|
-
return tag;
|
11
|
+
css = new CSSState();
|
12
|
+
constructor(services) {
|
13
|
+
this.services = services;
|
23
14
|
}
|
24
15
|
getComputedStylesheet = (stylesheet, scopedThemeName) => {
|
25
16
|
if (typeof stylesheet !== 'function') {
|
26
17
|
return stylesheet;
|
27
18
|
}
|
28
19
|
if (scopedThemeName) {
|
29
|
-
const scopedTheme =
|
20
|
+
const scopedTheme = this.services.runtime.getTheme(scopedThemeName, this.services.state.CSSVars);
|
30
21
|
if (!scopedTheme) {
|
31
22
|
throw error(`Unistyles: You're trying to use scoped theme '${scopedThemeName}' but it wasn't registered.`);
|
32
23
|
}
|
33
|
-
return stylesheet(scopedTheme,
|
24
|
+
return stylesheet(scopedTheme, this.services.runtime.miniRuntime);
|
34
25
|
}
|
35
26
|
const computedStylesheet = this.stylesheets.get(stylesheet);
|
36
27
|
if (computedStylesheet) {
|
37
28
|
return computedStylesheet;
|
38
29
|
}
|
39
|
-
const
|
30
|
+
const currentTheme = this.services.runtime.getTheme(this.services.runtime.themeName, this.services.state.CSSVars);
|
31
|
+
const createdStylesheet = stylesheet(currentTheme, this.services.runtime.miniRuntime);
|
40
32
|
const dependencies = Object.values(createdStylesheet).flatMap(value => extractUnistyleDependencies(value));
|
41
33
|
this.addDependenciesToStylesheet(stylesheet, dependencies);
|
42
34
|
this.stylesheets.set(stylesheet, createdStylesheet);
|
@@ -46,130 +38,58 @@ class UnistylesRegistryBuilder {
|
|
46
38
|
this.disposeListenersMap.get(stylesheet)?.();
|
47
39
|
const dependenciesMap = this.dependenciesMap.get(stylesheet) ?? new Set(dependencies);
|
48
40
|
dependencies.forEach(dependency => dependenciesMap.add(dependency));
|
49
|
-
const dispose =
|
50
|
-
const newComputedStylesheet = stylesheet(
|
41
|
+
const dispose = this.services.listener.addStylesheetListeners(Array.from(dependenciesMap), () => {
|
42
|
+
const newComputedStylesheet = stylesheet(this.services.runtime.theme, this.services.runtime.miniRuntime);
|
51
43
|
this.stylesheets.set(stylesheet, newComputedStylesheet);
|
52
44
|
});
|
53
45
|
this.dependenciesMap.set(stylesheet, dependenciesMap);
|
54
46
|
this.disposeListenersMap.set(stylesheet, dispose);
|
55
47
|
};
|
48
|
+
connect = (ref, hash) => {
|
49
|
+
const stylesCounter = this.stylesCounter.get(hash) ?? new Set();
|
50
|
+
stylesCounter.add(ref);
|
51
|
+
this.stylesCounter.set(hash, stylesCounter);
|
52
|
+
};
|
53
|
+
remove = (ref, hash) => {
|
54
|
+
const stylesCounter = this.stylesCounter.get(hash) ?? new Set();
|
55
|
+
stylesCounter.delete(ref);
|
56
|
+
if (stylesCounter.size === 0) {
|
57
|
+
// Move this to the end of the event loop so the element is removed from the DOM
|
58
|
+
Promise.resolve().then(() => {
|
59
|
+
if (document.querySelector(`.${hash}`)) {
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
this.css.remove(hash);
|
63
|
+
this.stylesCache.delete(hash);
|
64
|
+
});
|
65
|
+
return true;
|
66
|
+
}
|
67
|
+
return false;
|
68
|
+
};
|
56
69
|
add = value => {
|
57
70
|
const hash = generateHash(value);
|
58
|
-
|
59
|
-
if (!existingCounter || existingCounter.size === 0) {
|
60
|
-
const counter = new Set();
|
61
|
-
counter.add(value);
|
62
|
-
this.stylesCounter.set(hash, counter);
|
71
|
+
if (!this.stylesCache.has(hash)) {
|
63
72
|
this.applyStyles(hash, value);
|
73
|
+
this.stylesCache.add(hash);
|
64
74
|
return {
|
65
75
|
hash,
|
66
76
|
existingHash: false
|
67
77
|
};
|
68
78
|
}
|
69
|
-
existingCounter.add(value);
|
70
79
|
return {
|
71
80
|
hash,
|
72
81
|
existingHash: true
|
73
82
|
};
|
74
83
|
};
|
75
|
-
applyStyles = (hash,
|
76
|
-
|
77
|
-
if (!this.styleTag.sheet) {
|
78
|
-
return;
|
79
|
-
}
|
80
|
-
if (typeof value === 'object' && !key.startsWith('_')) {
|
81
|
-
const mediaQuery = getMediaQuery(key);
|
82
|
-
const cssRules = Array.from(this.styleTag.sheet.cssRules);
|
83
|
-
let queryRule = cssRules.find(rule => {
|
84
|
-
if (!(rule instanceof CSSMediaRule)) {
|
85
|
-
return false;
|
86
|
-
}
|
87
|
-
return rule.media.item(0)?.includes(mediaQuery);
|
88
|
-
}) ?? null;
|
89
|
-
if (!queryRule) {
|
90
|
-
const mediaQueryValue = extractMediaQueryValue(mediaQuery);
|
91
|
-
const ruleIndex = mediaQueryValue ? cssRules.reduce((acc, rule, ruleIndex) => {
|
92
|
-
if (!(rule instanceof CSSMediaRule)) {
|
93
|
-
return acc;
|
94
|
-
}
|
95
|
-
const ruleMediaQueryValue = extractMediaQueryValue(rule.conditionText);
|
96
|
-
if (ruleMediaQueryValue === undefined) {
|
97
|
-
return;
|
98
|
-
}
|
99
|
-
return ruleMediaQueryValue > mediaQueryValue ? ruleIndex : acc;
|
100
|
-
}, cssRules.length) : undefined;
|
101
|
-
queryRule = this.styleTag.sheet.cssRules.item(this.styleTag.sheet.insertRule(`@media ${mediaQuery} {.${hash} {}}`, ruleIndex));
|
102
|
-
}
|
103
|
-
if (queryRule instanceof CSSMediaRule) {
|
104
|
-
Object.entries(value).forEach(([mqKey, mqValue]) => {
|
105
|
-
this.applyRule({
|
106
|
-
hash,
|
107
|
-
key: mqKey,
|
108
|
-
value: mqValue,
|
109
|
-
sheet: queryRule
|
110
|
-
});
|
111
|
-
});
|
112
|
-
}
|
113
|
-
return;
|
114
|
-
}
|
115
|
-
|
116
|
-
// Pseudo
|
117
|
-
if (typeof value === 'object') {
|
118
|
-
Object.entries(value).forEach(([pseudoKey, pseudoValue]) => {
|
119
|
-
this.applyRule({
|
120
|
-
hash: `${hash}${key.replace('_', ':')}`,
|
121
|
-
key: pseudoKey,
|
122
|
-
value: pseudoValue,
|
123
|
-
sheet: this.styleTag.sheet
|
124
|
-
});
|
125
|
-
});
|
126
|
-
return;
|
127
|
-
}
|
128
|
-
this.applyRule({
|
129
|
-
hash,
|
130
|
-
key,
|
131
|
-
value,
|
132
|
-
sheet: this.styleTag.sheet
|
133
|
-
});
|
134
|
-
});
|
135
|
-
};
|
136
|
-
applyRule = ({
|
137
|
-
hash,
|
138
|
-
key,
|
139
|
-
value,
|
140
|
-
sheet
|
141
|
-
}) => {
|
142
|
-
let rule = Array.from(sheet.cssRules).find(rule => {
|
143
|
-
if (!(rule instanceof CSSStyleRule)) {
|
144
|
-
return false;
|
145
|
-
}
|
146
|
-
|
147
|
-
// In unistyles pseudos are prefixed with ':' but in css some of them are prefixed with '::'
|
148
|
-
return rule.selectorText.replace('::', ':').includes(hash);
|
149
|
-
}) ?? null;
|
150
|
-
if (!rule) {
|
151
|
-
rule = sheet.cssRules.item(sheet.insertRule(`.${hash} {}`));
|
152
|
-
}
|
153
|
-
if (!(rule instanceof CSSStyleRule) || !keyInObject(rule.style, key)) {
|
154
|
-
return;
|
155
|
-
}
|
156
|
-
rule.style[key] = value;
|
84
|
+
applyStyles = (hash, value) => {
|
85
|
+
this.css.add(hash, value);
|
157
86
|
};
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
existingStyles.delete(value);
|
165
|
-
if (existingStyles.size === 0) {
|
166
|
-
const ruleIndex = Array.from(this.styleTag.sheet?.cssRules ?? []).findIndex(rule => rule.cssText.includes(`.${hash}`));
|
167
|
-
if (ruleIndex === -1) {
|
168
|
-
return;
|
169
|
-
}
|
170
|
-
this.styleTag.sheet?.deleteRule(ruleIndex);
|
171
|
-
}
|
87
|
+
reset = () => {
|
88
|
+
this.css.reset();
|
89
|
+
this.stylesCache.clear();
|
90
|
+
this.dependenciesMap.clear();
|
91
|
+
this.disposeListenersMap.clear();
|
92
|
+
this.stylesCounter.clear();
|
172
93
|
};
|
173
94
|
}
|
174
|
-
export const UnistylesRegistry = new UnistylesRegistryBuilder();
|
175
95
|
//# sourceMappingURL=registry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["generateHash","extractUnistyleDependencies","error","CSSState","UnistylesRegistry","stylesheets","Map","stylesCache","Set","stylesCounter","disposeListenersMap","dependenciesMap","css","constructor","services","getComputedStylesheet","stylesheet","scopedThemeName","scopedTheme","runtime","getTheme","state","CSSVars","miniRuntime","computedStylesheet","get","currentTheme","themeName","createdStylesheet","dependencies","Object","values","flatMap","value","addDependenciesToStylesheet","set","forEach","dependency","add","dispose","listener","addStylesheetListeners","Array","from","newComputedStylesheet","theme","connect","ref","hash","remove","delete","size","Promise","resolve","then","document","querySelector","has","applyStyles","existingHash","reset","clear"],"sourceRoot":"../../../src","sources":["web/registry.ts"],"mappings":"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","ignoreList":[]}
|