react-native-unistyles 3.0.0-alpha.8 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +30 -41
- package/Unistyles.podspec +1 -1
- package/android/CMakeLists.txt +22 -45
- package/android/build.gradle +16 -5
- package/android/src/main/cxx/NativeUnistylesModule.cpp +71 -0
- package/android/src/main/cxx/NativeUnistylesModule.h +42 -0
- package/android/src/main/cxx/cpp-adapter.cpp +8 -86
- package/android/src/main/java/com/unistyles/Equatable.kt +61 -0
- package/android/src/main/java/com/unistyles/NativePlatform+android.kt +294 -0
- package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +152 -0
- package/android/src/main/java/com/unistyles/NativePlatform+listener.kt +59 -0
- package/android/src/main/java/com/unistyles/UnistylesModule.kt +51 -0
- package/android/src/main/java/com/unistyles/UnistylesPackage.kt +16 -14
- package/cxx/NativePlatform.h +11 -0
- package/cxx/common/Constants.h +3 -0
- package/cxx/common/Helpers.h +116 -5
- package/cxx/core/HostStyle.cpp +7 -2
- package/cxx/core/HostStyle.h +1 -1
- package/cxx/core/StyleSheet.h +0 -1
- package/cxx/core/Unistyle.h +8 -11
- package/cxx/core/UnistyleData.h +5 -3
- package/cxx/core/UnistyleWrapper.h +108 -13
- package/cxx/core/UnistylesCommitHook.cpp +14 -18
- package/cxx/core/UnistylesCommitHook.h +6 -11
- package/cxx/core/UnistylesCommitShadowNode.h +13 -0
- package/cxx/core/UnistylesMountHook.cpp +28 -0
- package/cxx/core/UnistylesMountHook.h +27 -0
- package/cxx/core/UnistylesRegistry.cpp +109 -48
- package/cxx/core/UnistylesRegistry.h +11 -10
- package/cxx/core/UnistylesState.cpp +29 -8
- package/cxx/core/UnistylesState.h +5 -2
- package/cxx/hybridObjects/HybridNavigationBar.cpp +0 -4
- package/cxx/hybridObjects/HybridNavigationBar.h +3 -4
- package/cxx/hybridObjects/HybridShadowRegistry.cpp +18 -11
- package/cxx/hybridObjects/HybridStatusBar.cpp +0 -4
- package/cxx/hybridObjects/HybridStatusBar.h +3 -4
- package/cxx/hybridObjects/HybridStyleSheet.cpp +145 -19
- package/cxx/hybridObjects/HybridStyleSheet.h +27 -5
- package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +78 -11
- package/cxx/hybridObjects/HybridUnistylesRuntime.h +17 -3
- package/cxx/parser/Parser.cpp +211 -128
- package/cxx/parser/Parser.h +7 -6
- package/cxx/shadowTree/ShadowLeafUpdate.h +3 -1
- package/cxx/shadowTree/ShadowTrafficController.h +71 -0
- package/cxx/shadowTree/ShadowTreeManager.cpp +28 -19
- package/cxx/shadowTree/ShadowTreeManager.h +3 -2
- package/ios/Equatable.swift +2 -1
- package/ios/Extensions.swift +3 -1
- package/ios/NativePlatform+ios.swift +34 -9
- package/ios/NativePlatform+keyboard.swift +83 -0
- package/ios/NativePlatformListener+ios.swift +36 -24
- package/ios/Unistyles.h +1 -0
- package/ios/UnistylesModuleOnLoad.h +8 -2
- package/ios/UnistylesModuleOnLoad.mm +9 -1
- package/lib/commonjs/components/Display.js +18 -0
- package/lib/commonjs/components/Display.js.map +1 -0
- package/lib/commonjs/components/Hide.js +18 -0
- package/lib/commonjs/components/Hide.js.map +1 -0
- package/lib/commonjs/components/Pressable.js +74 -0
- package/lib/commonjs/components/Pressable.js.map +1 -0
- package/lib/commonjs/components/Pressable.web.js +115 -0
- package/lib/commonjs/components/Pressable.web.js.map +1 -0
- package/lib/commonjs/components/index.js +27 -0
- package/lib/commonjs/components/index.js.map +1 -0
- package/lib/commonjs/core/createUnistylesComponent.js +79 -0
- package/lib/commonjs/core/createUnistylesComponent.js.map +1 -0
- package/lib/commonjs/core/createUnistylesComponent.native.js +82 -0
- package/lib/commonjs/core/createUnistylesComponent.native.js.map +1 -0
- package/lib/commonjs/core/getBoundArgs.js +18 -0
- package/lib/commonjs/core/getBoundArgs.js.map +1 -0
- package/lib/commonjs/core/getId.js +9 -0
- package/lib/commonjs/core/getId.js.map +1 -0
- package/lib/commonjs/core/index.js +27 -0
- package/lib/commonjs/core/index.js.map +1 -0
- package/lib/commonjs/hooks/index.js +13 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/lib/commonjs/hooks/useMedia.js +59 -0
- package/lib/commonjs/hooks/useMedia.js.map +1 -0
- package/lib/commonjs/hooks/useMedia.web.js +43 -0
- package/lib/commonjs/hooks/useMedia.web.js.map +1 -0
- package/lib/commonjs/index.js +28 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mq.js +31 -18
- package/lib/commonjs/mq.js.map +1 -1
- package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +1 -0
- package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
- package/lib/commonjs/specs/NavigtionBar/index.js +0 -15
- package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -1
- package/lib/commonjs/specs/ShadowRegistry/index.js +11 -8
- package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/commonjs/specs/StatusBar/index.js +0 -5
- package/lib/commonjs/specs/StatusBar/index.js.map +1 -1
- package/lib/commonjs/specs/StyleSheet/index.js +1 -0
- package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
- package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -2
- package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
- package/lib/commonjs/specs/UnistylesRuntime/index.js +0 -2
- package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
- package/lib/commonjs/specs/index.js +7 -0
- package/lib/commonjs/specs/index.js.map +1 -1
- package/lib/commonjs/specs/index.web.js +0 -7
- package/lib/commonjs/specs/index.web.js.map +1 -1
- package/lib/commonjs/types/stylesheet.js.map +1 -1
- package/lib/commonjs/utils.js +26 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/commonjs/web/convert/index.js +27 -24
- package/lib/commonjs/web/convert/index.js.map +1 -1
- package/lib/commonjs/web/convert/object/boxShadow.js +59 -0
- package/lib/commonjs/web/convert/object/boxShadow.js.map +1 -0
- package/lib/commonjs/web/convert/object/filter.js +42 -0
- package/lib/commonjs/web/convert/object/filter.js.map +1 -0
- package/lib/commonjs/web/convert/object/index.js +39 -0
- package/lib/commonjs/web/convert/object/index.js.map +1 -0
- package/lib/commonjs/web/convert/object/objectStyle.js +56 -0
- package/lib/commonjs/web/convert/object/objectStyle.js.map +1 -0
- package/lib/commonjs/web/convert/object/transform.js +27 -0
- package/lib/commonjs/web/convert/object/transform.js.map +1 -0
- package/lib/commonjs/web/convert/pseudo.js +10 -0
- package/lib/commonjs/web/convert/pseudo.js.map +1 -0
- package/lib/commonjs/web/convert/{boxShadow.js → shadow/boxShadow.js} +22 -37
- package/lib/commonjs/web/convert/shadow/boxShadow.js.map +1 -0
- package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js +38 -0
- package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
- package/lib/commonjs/web/convert/shadow/index.js +28 -0
- package/lib/commonjs/web/convert/shadow/index.js.map +1 -0
- package/lib/commonjs/web/convert/{textShadow.js → shadow/textShadow.js} +21 -35
- package/lib/commonjs/web/convert/shadow/textShadow.js.map +1 -0
- package/lib/commonjs/web/convert/style.js +11 -7
- package/lib/commonjs/web/convert/style.js.map +1 -1
- package/lib/commonjs/web/convert/types.js.map +1 -1
- package/lib/commonjs/web/convert/utils.js +8 -4
- package/lib/commonjs/web/convert/utils.js.map +1 -1
- package/lib/commonjs/web/create.js +35 -67
- package/lib/commonjs/web/create.js.map +1 -1
- package/lib/commonjs/web/index.js +18 -7
- package/lib/commonjs/web/index.js.map +1 -1
- package/lib/commonjs/web/listener.js +61 -0
- package/lib/commonjs/web/listener.js.map +1 -0
- package/lib/commonjs/web/mock.js +2 -12
- package/lib/commonjs/web/mock.js.map +1 -1
- package/lib/commonjs/web/registry.js +154 -19
- package/lib/commonjs/web/registry.js.map +1 -1
- package/lib/commonjs/web/runtime.js +22 -13
- package/lib/commonjs/web/runtime.js.map +1 -1
- package/lib/commonjs/web/shadowRegistry.js +143 -0
- package/lib/commonjs/web/shadowRegistry.js.map +1 -0
- package/lib/commonjs/web/state.js +31 -72
- package/lib/commonjs/web/state.js.map +1 -1
- package/lib/commonjs/web/utils/common.js +39 -0
- package/lib/commonjs/web/utils/common.js.map +1 -0
- package/lib/commonjs/web/utils/index.js +28 -0
- package/lib/commonjs/web/utils/index.js.map +1 -0
- package/lib/commonjs/web/utils/unistyle.js +77 -0
- package/lib/commonjs/web/utils/unistyle.js.map +1 -0
- package/lib/commonjs/web/{variants/getVariants.js → variants.js} +2 -2
- package/lib/commonjs/web/variants.js.map +1 -0
- package/lib/module/components/Display.js +13 -0
- package/lib/module/components/Display.js.map +1 -0
- package/lib/module/components/Hide.js +13 -0
- package/lib/module/components/Hide.js.map +1 -0
- package/lib/module/components/Pressable.js +68 -0
- package/lib/module/components/Pressable.js.map +1 -0
- package/lib/module/components/Pressable.web.js +109 -0
- package/lib/module/components/Pressable.web.js.map +1 -0
- package/lib/module/components/index.js +6 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/core/createUnistylesComponent.js +72 -0
- package/lib/module/core/createUnistylesComponent.js.map +1 -0
- package/lib/module/core/createUnistylesComponent.native.js +75 -0
- package/lib/module/core/createUnistylesComponent.native.js.map +1 -0
- package/lib/module/core/getBoundArgs.js +13 -0
- package/lib/module/core/getBoundArgs.js.map +1 -0
- package/lib/module/core/getId.js +4 -0
- package/lib/module/core/getId.js.map +1 -0
- package/lib/module/core/index.js +6 -0
- package/lib/module/core/index.js.map +1 -0
- package/lib/module/hooks/index.js +4 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useMedia.js +54 -0
- package/lib/module/hooks/useMedia.js.map +1 -0
- package/lib/module/hooks/useMedia.web.js +38 -0
- package/lib/module/hooks/useMedia.web.js.map +1 -0
- package/lib/module/index.js +2 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/mq.js +27 -17
- package/lib/module/mq.js.map +1 -1
- package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +1 -0
- package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
- package/lib/module/specs/NavigtionBar/index.js +0 -10
- package/lib/module/specs/NavigtionBar/index.js.map +1 -1
- package/lib/module/specs/ShadowRegistry/index.js +11 -8
- package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/module/specs/StatusBar/index.js +1 -6
- package/lib/module/specs/StatusBar/index.js.map +1 -1
- package/lib/module/specs/StyleSheet/index.js +1 -0
- package/lib/module/specs/StyleSheet/index.js.map +1 -1
- package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -2
- package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
- package/lib/module/specs/UnistylesRuntime/index.js +0 -2
- package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
- package/lib/module/specs/index.js +2 -1
- package/lib/module/specs/index.js.map +1 -1
- package/lib/module/specs/index.web.js +0 -1
- package/lib/module/specs/index.web.js.map +1 -1
- package/lib/module/types/stylesheet.js.map +1 -1
- package/lib/module/utils.js +21 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/module/web/convert/index.js +23 -20
- package/lib/module/web/convert/index.js.map +1 -1
- package/lib/module/web/convert/object/boxShadow.js +54 -0
- package/lib/module/web/convert/object/boxShadow.js.map +1 -0
- package/lib/module/web/convert/object/filter.js +37 -0
- package/lib/module/web/convert/object/filter.js.map +1 -0
- package/lib/module/web/convert/object/index.js +6 -0
- package/lib/module/web/convert/object/index.js.map +1 -0
- package/lib/module/web/convert/object/objectStyle.js +51 -0
- package/lib/module/web/convert/object/objectStyle.js.map +1 -0
- package/lib/module/web/convert/object/transform.js +22 -0
- package/lib/module/web/convert/object/transform.js.map +1 -0
- package/lib/module/web/convert/pseudo.js +5 -0
- package/lib/module/web/convert/pseudo.js.map +1 -0
- package/lib/module/web/convert/shadow/boxShadow.js +57 -0
- package/lib/module/web/convert/shadow/boxShadow.js.map +1 -0
- package/lib/module/web/convert/shadow/getShadowBreakpoints.js +33 -0
- package/lib/module/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
- package/lib/module/web/convert/shadow/index.js +5 -0
- package/lib/module/web/convert/shadow/index.js.map +1 -0
- package/lib/module/web/convert/shadow/textShadow.js +54 -0
- package/lib/module/web/convert/shadow/textShadow.js.map +1 -0
- package/lib/module/web/convert/style.js +11 -7
- package/lib/module/web/convert/style.js.map +1 -1
- package/lib/module/web/convert/types.js.map +1 -1
- package/lib/module/web/convert/utils.js +5 -3
- package/lib/module/web/convert/utils.js.map +1 -1
- package/lib/module/web/create.js +37 -69
- package/lib/module/web/create.js.map +1 -1
- package/lib/module/web/index.js +9 -3
- package/lib/module/web/index.js.map +1 -1
- package/lib/module/web/listener.js +57 -0
- package/lib/module/web/listener.js.map +1 -0
- package/lib/module/web/mock.js +1 -11
- package/lib/module/web/mock.js.map +1 -1
- package/lib/module/web/registry.js +155 -20
- package/lib/module/web/registry.js.map +1 -1
- package/lib/module/web/runtime.js +23 -14
- package/lib/module/web/runtime.js.map +1 -1
- package/lib/module/web/shadowRegistry.js +139 -0
- package/lib/module/web/shadowRegistry.js.map +1 -0
- package/lib/module/web/state.js +32 -73
- package/lib/module/web/state.js.map +1 -1
- package/lib/module/web/utils/common.js +28 -0
- package/lib/module/web/utils/common.js.map +1 -0
- package/lib/module/web/utils/index.js +5 -0
- package/lib/module/web/utils/index.js.map +1 -0
- package/lib/module/web/utils/unistyle.js +65 -0
- package/lib/module/web/utils/unistyle.js.map +1 -0
- package/lib/module/web/{variants/getVariants.js → variants.js} +2 -2
- package/lib/module/web/variants.js.map +1 -0
- package/lib/typescript/src/components/Display.d.ts +7 -0
- package/lib/typescript/src/components/Display.d.ts.map +1 -0
- package/lib/typescript/src/components/Hide.d.ts +7 -0
- package/lib/typescript/src/components/Hide.d.ts.map +1 -0
- package/lib/typescript/src/components/Pressable.d.ts +8 -0
- package/lib/typescript/src/components/Pressable.d.ts.map +1 -0
- package/lib/typescript/src/components/Pressable.web.d.ts +14 -0
- package/lib/typescript/src/components/Pressable.web.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +4 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/lib/typescript/src/core/createUnistylesComponent.d.ts +8 -0
- package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +1 -0
- package/lib/typescript/src/core/createUnistylesComponent.native.d.ts +8 -0
- package/lib/typescript/src/core/createUnistylesComponent.native.d.ts.map +1 -0
- package/lib/typescript/src/core/getBoundArgs.d.ts +2 -0
- package/lib/typescript/src/core/getBoundArgs.d.ts.map +1 -0
- package/lib/typescript/src/core/getId.d.ts +2 -0
- package/lib/typescript/src/core/getId.d.ts.map +1 -0
- package/lib/typescript/src/core/index.d.ts +4 -0
- package/lib/typescript/src/core/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +2 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useMedia.d.ts +6 -0
- package/lib/typescript/src/hooks/useMedia.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useMedia.web.d.ts +6 -0
- package/lib/typescript/src/hooks/useMedia.web.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/mq.d.ts +8 -0
- package/lib/typescript/src/mq.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +8 -6
- package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts +0 -1
- package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/NavigtionBar/index.d.ts +1 -10
- package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +4 -4
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +4 -0
- package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
- package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts +0 -1
- package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/StatusBar/index.d.ts +2 -4
- package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +3 -1
- package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts +5 -3
- package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +1 -1
- package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +4 -2
- package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/index.d.ts +4 -2
- package/lib/typescript/src/specs/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/index.web.d.ts +0 -2
- package/lib/typescript/src/specs/index.web.d.ts.map +1 -1
- package/lib/typescript/src/types/breakpoints.d.ts +11 -11
- package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
- package/lib/typescript/src/types/common.d.ts +2 -0
- package/lib/typescript/src/types/common.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +2 -2
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/types/stylesheet.d.ts +6 -4
- package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
- package/lib/typescript/src/types/variants.d.ts +4 -1
- package/lib/typescript/src/types/variants.d.ts.map +1 -1
- package/lib/typescript/src/utils.d.ts +2 -0
- package/lib/typescript/src/utils.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/index.d.ts +1 -2
- package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/object/boxShadow.d.ts +9 -0
- package/lib/typescript/src/web/convert/object/boxShadow.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/filter.d.ts +3 -0
- package/lib/typescript/src/web/convert/object/filter.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/index.d.ts +4 -0
- package/lib/typescript/src/web/convert/object/index.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/objectStyle.d.ts +5 -0
- package/lib/typescript/src/web/convert/object/objectStyle.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/transform.d.ts +3 -0
- package/lib/typescript/src/web/convert/object/transform.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/pseudo.d.ts +6 -0
- package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts +8 -0
- package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts +2 -0
- package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/shadow/index.d.ts +3 -0
- package/lib/typescript/src/web/convert/shadow/index.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/shadow/textShadow.d.ts +8 -0
- package/lib/typescript/src/web/convert/shadow/textShadow.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/style.d.ts +1 -2
- package/lib/typescript/src/web/convert/style.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/types.d.ts +7 -1
- package/lib/typescript/src/web/convert/types.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/utils.d.ts +8 -4
- package/lib/typescript/src/web/convert/utils.d.ts.map +1 -1
- package/lib/typescript/src/web/create.d.ts +215 -1221
- package/lib/typescript/src/web/create.d.ts.map +1 -1
- package/lib/typescript/src/web/index.d.ts +223 -1222
- package/lib/typescript/src/web/index.d.ts.map +1 -1
- package/lib/typescript/src/web/{listener/listener.d.ts → listener.d.ts} +5 -2
- package/lib/typescript/src/web/listener.d.ts.map +1 -0
- package/lib/typescript/src/web/mock.d.ts +0 -9
- package/lib/typescript/src/web/mock.d.ts.map +1 -1
- package/lib/typescript/src/web/registry.d.ts +18 -6
- package/lib/typescript/src/web/registry.d.ts.map +1 -1
- package/lib/typescript/src/web/runtime.d.ts +6 -5
- package/lib/typescript/src/web/runtime.d.ts.map +1 -1
- package/lib/typescript/src/web/shadowRegistry.d.ts +17 -0
- package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -0
- package/lib/typescript/src/web/state.d.ts +3 -9
- package/lib/typescript/src/web/state.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/common.d.ts +8 -0
- package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/index.d.ts +3 -0
- package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/unistyle.d.ts +19 -0
- package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
- package/lib/typescript/src/web/{variants/getVariants.d.ts → variants.d.ts} +2 -2
- package/lib/typescript/src/web/variants.d.ts.map +1 -0
- package/nitrogen/generated/android/c++/JColorScheme.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_UnistylesNativeMiniRuntime.hpp +57 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +69 -0
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +35 -34
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +15 -6
- package/nitrogen/generated/android/c++/JOrientation.hpp +2 -2
- package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +5 -2
- package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +9 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/ColorScheme.kt +5 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +1 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/{Func_void_std__vector_UnistyleDependency_.kt → Func_void_UnistylesNativeMiniRuntime.kt} +6 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.kt +46 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +25 -13
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +1 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Orientation.kt +5 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +6 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +3 -1
- package/nitrogen/generated/android/unistyles+autolinking.cmake +13 -1
- package/nitrogen/generated/android/unistyles+autolinking.gradle +2 -0
- package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +6 -4
- package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
- package/nitrogen/generated/ios/Unistyles+autolinking.rb +6 -4
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +73 -38
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +1 -30
- package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +8 -8
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +4 -16
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +156 -115
- package/nitrogen/generated/ios/swift/UnistyleDependency.swift +4 -0
- package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +16 -5
- package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
- package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +2 -2
- package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +6 -3
- package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.cpp +0 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +3 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +5 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +3 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.cpp +0 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +3 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +2 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +10 -4
- package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
- package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -1
- package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +10 -9
- package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +9 -8
- package/package.json +24 -37
- package/plugin/common.js +27 -2
- package/plugin/import.js +29 -3
- package/plugin/index.js +104 -15
- package/plugin/ref.js +58 -44
- package/plugin/style.js +443 -9
- package/plugin/stylesheet.js +10 -3
- package/src/components/Display.tsx +12 -0
- package/src/components/Hide.tsx +12 -0
- package/src/components/Pressable.tsx +89 -0
- package/src/components/Pressable.web.tsx +129 -0
- package/src/components/index.ts +3 -0
- package/src/core/createUnistylesComponent.native.tsx +83 -0
- package/src/core/createUnistylesComponent.tsx +84 -0
- package/src/core/getBoundArgs.ts +15 -0
- package/src/core/getId.ts +1 -0
- package/src/core/index.ts +3 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useMedia.ts +64 -0
- package/src/hooks/useMedia.web.ts +47 -0
- package/src/index.ts +3 -12
- package/src/mq.ts +33 -15
- package/src/specs/NativePlatform/NativePlatform.nitro.ts +8 -6
- package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.ts +0 -1
- package/src/specs/NavigtionBar/index.ts +1 -25
- package/src/specs/ShadowRegistry/index.ts +17 -12
- package/src/specs/ShadowRegistry/types.ts +6 -2
- package/src/specs/StatusBar/UnistylesStatusBar.nitro.ts +0 -1
- package/src/specs/StatusBar/index.ts +2 -12
- package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +4 -1
- package/src/specs/StyleSheet/index.ts +7 -3
- package/src/specs/TurboUnistyles/NativeTurboUnistyles.ts +1 -2
- package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +2 -2
- package/src/specs/UnistylesRuntime/index.ts +4 -3
- package/src/specs/index.ts +6 -2
- package/src/specs/index.web.ts +0 -4
- package/src/types/breakpoints.ts +25 -13
- package/src/types/common.ts +2 -0
- package/src/types/index.ts +2 -2
- package/src/types/stylesheet.ts +7 -5
- package/src/types/variants.ts +7 -1
- package/src/utils.ts +22 -0
- package/src/web/convert/index.ts +24 -24
- package/src/web/convert/object/boxShadow.ts +55 -0
- package/src/web/convert/object/filter.ts +39 -0
- package/src/web/convert/object/index.ts +3 -0
- package/src/web/convert/object/objectStyle.ts +69 -0
- package/src/web/convert/object/transform.ts +24 -0
- package/src/web/convert/pseudo.ts +137 -0
- package/src/web/convert/shadow/boxShadow.ts +50 -0
- package/src/web/convert/shadow/getShadowBreakpoints.ts +34 -0
- package/src/web/convert/shadow/index.ts +2 -0
- package/src/web/convert/shadow/textShadow.ts +48 -0
- package/src/web/convert/style.ts +61 -10
- package/src/web/convert/types.ts +8 -1
- package/src/web/convert/utils.ts +13 -7
- package/src/web/create.ts +35 -83
- package/src/web/index.ts +9 -4
- package/src/web/listener.ts +65 -0
- package/src/web/mock.ts +1 -12
- package/src/web/registry.ts +202 -28
- package/src/web/runtime.ts +29 -18
- package/src/web/shadowRegistry.ts +149 -0
- package/src/web/state.ts +52 -87
- package/src/web/utils/common.ts +45 -0
- package/src/web/utils/index.ts +2 -0
- package/src/web/utils/unistyle.ts +94 -0
- package/src/web/{variants/getVariants.ts → variants.ts} +2 -2
- package/android/src/main/cxx/helpers.cpp +0 -105
- package/android/src/main/cxx/helpers.h +0 -16
- package/android/src/main/cxx/platform.cpp +0 -170
- package/android/src/main/cxx/platform.h +0 -20
- package/lib/commonjs/web/convert/boxShadow.js.map +0 -1
- package/lib/commonjs/web/convert/breakpoint.js +0 -25
- package/lib/commonjs/web/convert/breakpoint.js.map +0 -1
- package/lib/commonjs/web/convert/shadow.js +0 -68
- package/lib/commonjs/web/convert/shadow.js.map +0 -1
- package/lib/commonjs/web/convert/textShadow.js.map +0 -1
- package/lib/commonjs/web/convert/transform.js +0 -72
- package/lib/commonjs/web/convert/transform.js.map +0 -1
- package/lib/commonjs/web/listener/index.js +0 -13
- package/lib/commonjs/web/listener/index.js.map +0 -1
- package/lib/commonjs/web/listener/listener.js +0 -36
- package/lib/commonjs/web/listener/listener.js.map +0 -1
- package/lib/commonjs/web/mq.js +0 -23
- package/lib/commonjs/web/mq.js.map +0 -1
- package/lib/commonjs/web/pseudo.js +0 -11
- package/lib/commonjs/web/pseudo.js.map +0 -1
- package/lib/commonjs/web/utils.js +0 -78
- package/lib/commonjs/web/utils.js.map +0 -1
- package/lib/commonjs/web/variants/getVariants.js.map +0 -1
- package/lib/commonjs/web/variants/index.js +0 -28
- package/lib/commonjs/web/variants/index.js.map +0 -1
- package/lib/commonjs/web/variants/useVariants.js +0 -75
- package/lib/commonjs/web/variants/useVariants.js.map +0 -1
- package/lib/module/web/convert/boxShadow.js +0 -72
- package/lib/module/web/convert/boxShadow.js.map +0 -1
- package/lib/module/web/convert/breakpoint.js +0 -20
- package/lib/module/web/convert/breakpoint.js.map +0 -1
- package/lib/module/web/convert/shadow.js +0 -63
- package/lib/module/web/convert/shadow.js.map +0 -1
- package/lib/module/web/convert/textShadow.js +0 -68
- package/lib/module/web/convert/textShadow.js.map +0 -1
- package/lib/module/web/convert/transform.js +0 -67
- package/lib/module/web/convert/transform.js.map +0 -1
- package/lib/module/web/listener/index.js +0 -4
- package/lib/module/web/listener/index.js.map +0 -1
- package/lib/module/web/listener/listener.js +0 -31
- package/lib/module/web/listener/listener.js.map +0 -1
- package/lib/module/web/mq.js +0 -17
- package/lib/module/web/mq.js.map +0 -1
- package/lib/module/web/pseudo.js +0 -6
- package/lib/module/web/pseudo.js.map +0 -1
- package/lib/module/web/utils.js +0 -65
- package/lib/module/web/utils.js.map +0 -1
- package/lib/module/web/variants/getVariants.js.map +0 -1
- package/lib/module/web/variants/index.js +0 -5
- package/lib/module/web/variants/index.js.map +0 -1
- package/lib/module/web/variants/useVariants.js +0 -70
- package/lib/module/web/variants/useVariants.js.map +0 -1
- package/lib/typescript/example/App.d.ts +0 -4
- package/lib/typescript/example/App.d.ts.map +0 -1
- package/lib/typescript/example/Typography.d.ts +0 -11
- package/lib/typescript/example/Typography.d.ts.map +0 -1
- package/lib/typescript/example/unistyles.d.ts +0 -63
- package/lib/typescript/example/unistyles.d.ts.map +0 -1
- package/lib/typescript/expo-example/App.d.ts +0 -4
- package/lib/typescript/expo-example/App.d.ts.map +0 -1
- package/lib/typescript/expo-example/unistyles.d.ts +0 -63
- package/lib/typescript/expo-example/unistyles.d.ts.map +0 -1
- package/lib/typescript/src/web/convert/boxShadow.d.ts +0 -3
- package/lib/typescript/src/web/convert/boxShadow.d.ts.map +0 -1
- package/lib/typescript/src/web/convert/breakpoint.d.ts +0 -3
- package/lib/typescript/src/web/convert/breakpoint.d.ts.map +0 -1
- package/lib/typescript/src/web/convert/shadow.d.ts +0 -2
- package/lib/typescript/src/web/convert/shadow.d.ts.map +0 -1
- package/lib/typescript/src/web/convert/textShadow.d.ts +0 -3
- package/lib/typescript/src/web/convert/textShadow.d.ts.map +0 -1
- package/lib/typescript/src/web/convert/transform.d.ts +0 -5
- package/lib/typescript/src/web/convert/transform.d.ts.map +0 -1
- package/lib/typescript/src/web/listener/index.d.ts +0 -2
- package/lib/typescript/src/web/listener/index.d.ts.map +0 -1
- package/lib/typescript/src/web/listener/listener.d.ts.map +0 -1
- package/lib/typescript/src/web/mq.d.ts +0 -4
- package/lib/typescript/src/web/mq.d.ts.map +0 -1
- package/lib/typescript/src/web/pseudo.d.ts +0 -4
- package/lib/typescript/src/web/pseudo.d.ts.map +0 -1
- package/lib/typescript/src/web/utils.d.ts +0 -20
- package/lib/typescript/src/web/utils.d.ts.map +0 -1
- package/lib/typescript/src/web/variants/getVariants.d.ts.map +0 -1
- package/lib/typescript/src/web/variants/index.d.ts +0 -3
- package/lib/typescript/src/web/variants/index.d.ts.map +0 -1
- package/lib/typescript/src/web/variants/useVariants.d.ts +0 -3
- package/lib/typescript/src/web/variants/useVariants.d.ts.map +0 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +0 -60
- package/plugin/__tests__/dependencies.spec.js +0 -438
- package/plugin/__tests__/ref.spec.js +0 -1181
- package/plugin/__tests__/stylesheet.spec.js +0 -489
- package/src/web/convert/boxShadow.ts +0 -72
- package/src/web/convert/breakpoint.ts +0 -21
- package/src/web/convert/shadow.ts +0 -68
- package/src/web/convert/textShadow.ts +0 -69
- package/src/web/convert/transform.ts +0 -89
- package/src/web/listener/index.ts +0 -1
- package/src/web/listener/listener.ts +0 -33
- package/src/web/mq.ts +0 -19
- package/src/web/pseudo.ts +0 -11
- package/src/web/utils.ts +0 -95
- package/src/web/variants/index.ts +0 -2
- package/src/web/variants/useVariants.ts +0 -79
- /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
package/src/web/state.ts
CHANGED
@@ -1,21 +1,29 @@
|
|
1
|
-
import { type ReactElement, createElement, createRef } from 'react'
|
2
1
|
import type { UnistylesTheme } from '../types'
|
3
2
|
import type { UnistylesConfig } from '../specs/StyleSheet'
|
4
|
-
import type { AppBreakpoint, AppThemeName } from '../specs/types'
|
3
|
+
import type { AppBreakpoint, AppTheme, AppThemeName } from '../specs/types'
|
5
4
|
import type { UnistylesBreakpoints, UnistylesThemes } from '../global'
|
6
5
|
import { UnistylesRuntime } from './runtime'
|
7
|
-
import { isServer, schemeToTheme } from './utils'
|
6
|
+
import { error, isServer, schemeToTheme } from './utils'
|
8
7
|
import { UnistylesListener } from './listener'
|
9
8
|
import { UnistyleDependency } from '../specs/NativePlatform'
|
9
|
+
import type { UnionToIntersection } from '../types'
|
10
10
|
|
11
|
-
|
12
|
-
private readonly isSSR = isServer()
|
13
|
-
readonly tags = [] as Array<ReactElement>
|
11
|
+
type UnistylesSettings = Partial<UnionToIntersection<Required<UnistylesConfig>['settings']>>
|
14
12
|
|
13
|
+
class UnistylesStateBuilder {
|
15
14
|
themes = new Map<string, UnistylesTheme>()
|
16
15
|
themeName?: AppThemeName
|
17
16
|
|
18
|
-
|
17
|
+
private matchingBreakpoints = new Map<string, boolean>()
|
18
|
+
|
19
|
+
get breakpoint() {
|
20
|
+
const [currentBreakpoint] = Array.from(this.matchingBreakpoints)
|
21
|
+
.reverse()
|
22
|
+
.find(([_key, value]) => value) ?? []
|
23
|
+
|
24
|
+
return currentBreakpoint as AppBreakpoint | undefined
|
25
|
+
}
|
26
|
+
|
19
27
|
breakpoints?: UnistylesBreakpoints
|
20
28
|
|
21
29
|
hasAdaptiveThemes = false
|
@@ -23,9 +31,12 @@ class UnistylesStateBuilder {
|
|
23
31
|
init = (config: UnistylesConfig) => {
|
24
32
|
this.initThemes(config.themes)
|
25
33
|
this.initBreakpoints(config.breakpoints)
|
26
|
-
this.initSettings(config.settings)
|
27
34
|
|
28
|
-
if (
|
35
|
+
if (config.settings) {
|
36
|
+
this.initSettings(config.settings as UnistylesSettings)
|
37
|
+
}
|
38
|
+
|
39
|
+
if (isServer()) {
|
29
40
|
return
|
30
41
|
}
|
31
42
|
|
@@ -34,43 +45,54 @@ class UnistylesStateBuilder {
|
|
34
45
|
|
35
46
|
private initThemes = (themes = {} as UnistylesThemes) => {
|
36
47
|
Object.entries(themes).forEach(([themeName, theme]) => {
|
37
|
-
this.themes.set(themeName, theme)
|
48
|
+
this.themes.set(themeName, theme as AppTheme)
|
38
49
|
})
|
39
50
|
}
|
40
51
|
|
41
|
-
private initSettings = (settings:
|
52
|
+
private initSettings = (settings: UnistylesSettings) => {
|
42
53
|
this.hasAdaptiveThemes = settings?.adaptiveThemes ?? false
|
43
|
-
const themeNames = Array.from(this.themes.keys()) as Array<AppThemeName>
|
44
|
-
|
45
|
-
// Single theme + no settings
|
46
|
-
if (!settings?.adaptiveThemes && !settings?.initialTheme && themeNames.length === 1) {
|
47
|
-
this.themeName = themeNames[0]
|
48
|
-
|
49
|
-
return
|
50
|
-
}
|
51
54
|
|
52
|
-
|
53
|
-
|
54
|
-
throw new Error('🦄 You need to specify either "initialTheme" or "adaptiveThemes" in your config')
|
55
|
+
if (settings.initialTheme && settings.adaptiveThemes) {
|
56
|
+
throw error('You\'re trying to set initial theme and enable adaptiveThemes, but these options are mutually exclusive.')
|
55
57
|
}
|
56
58
|
|
57
59
|
// Adaptive themes
|
58
60
|
if (settings.adaptiveThemes) {
|
59
|
-
this.
|
61
|
+
if (!this.themes.get('light') || !this.themes.get('dark')) {
|
62
|
+
throw error(`You're trying to enable adaptiveThemes, but you didn't register both 'light' and 'dark' themes.`)
|
63
|
+
}
|
64
|
+
|
65
|
+
this.themeName = schemeToTheme(UnistylesRuntime.colorScheme) as AppThemeName
|
60
66
|
|
61
67
|
return
|
62
68
|
}
|
63
69
|
|
64
|
-
|
65
|
-
|
70
|
+
if (settings.initialTheme) {
|
71
|
+
const initialTheme = typeof settings.initialTheme === 'function'
|
72
|
+
? settings.initialTheme()
|
73
|
+
: settings.initialTheme
|
74
|
+
|
75
|
+
if (!this.themes.get(initialTheme)) {
|
76
|
+
throw error(`You're trying to select theme "${initialTheme}" but it wasn't registered.`)
|
77
|
+
}
|
78
|
+
|
79
|
+
this.themeName = initialTheme
|
80
|
+
}
|
66
81
|
}
|
67
82
|
|
68
83
|
private initBreakpoints = (breakpoints = {} as UnistylesBreakpoints) => {
|
69
|
-
const breakpointsMap = new Map<string, MediaQueryList>()
|
70
|
-
|
71
84
|
this.breakpoints = breakpoints
|
85
|
+
const breakpointsEntries = Object.entries(breakpoints)
|
86
|
+
|
87
|
+
if (breakpointsEntries.length === 0) {
|
88
|
+
throw error('StyleSheet.configure\'s breakpoints can\'t be empty.')
|
89
|
+
}
|
72
90
|
|
73
|
-
|
91
|
+
if (breakpointsEntries?.[0]?.[1] !== 0) {
|
92
|
+
throw error('StyleSheet.configure\'s first breakpoint must start from 0.')
|
93
|
+
}
|
94
|
+
|
95
|
+
breakpointsEntries
|
74
96
|
.sort(([, a], [, b]) => a - b)
|
75
97
|
.forEach(([breakpoint, value]) => {
|
76
98
|
if (isServer()) {
|
@@ -78,71 +100,14 @@ class UnistylesStateBuilder {
|
|
78
100
|
}
|
79
101
|
|
80
102
|
const mediaQuery = window.matchMedia(`(min-width: ${value}px)`)
|
81
|
-
|
82
|
-
|
83
|
-
if (mediaQuery.matches) {
|
84
|
-
this.breakpoint = breakpoint as AppBreakpoint
|
85
|
-
}
|
103
|
+
this.matchingBreakpoints.set(breakpoint, mediaQuery.matches)
|
86
104
|
|
87
105
|
mediaQuery.addEventListener('change', event => {
|
88
|
-
|
89
|
-
const [currentBreakpoint] = Array.from(breakpointsMap).find(([,mq]) => mq.matches) ?? []
|
90
|
-
|
91
|
-
if (currentBreakpoint) {
|
92
|
-
this.breakpoint = currentBreakpoint as AppBreakpoint
|
93
|
-
UnistylesListener.emitChange(UnistyleDependency.Breakpoints)
|
94
|
-
}
|
95
|
-
|
96
|
-
return
|
97
|
-
}
|
98
|
-
|
99
|
-
this.breakpoint = breakpoint as AppBreakpoint
|
106
|
+
this.matchingBreakpoints.set(breakpoint, event.matches)
|
100
107
|
UnistylesListener.emitChange(UnistyleDependency.Breakpoints)
|
101
108
|
})
|
102
109
|
})
|
103
110
|
}
|
104
|
-
|
105
|
-
createTag() {
|
106
|
-
if (!this.isSSR) {
|
107
|
-
const tag = document.createElement('style')
|
108
|
-
|
109
|
-
document.head.appendChild(tag)
|
110
|
-
|
111
|
-
return tag
|
112
|
-
}
|
113
|
-
|
114
|
-
const tagRef = new Proxy(createRef<HTMLStyleElement>(), {
|
115
|
-
set: (target, prop, value) => {
|
116
|
-
// When ref is assigned
|
117
|
-
if ('textContent' in value) {
|
118
|
-
value.textContent = tag.textContent
|
119
|
-
}
|
120
|
-
|
121
|
-
return Reflect.set(target, prop, value)
|
122
|
-
}
|
123
|
-
})
|
124
|
-
const tagElement = createElement('style', { ref: tagRef, key: this.tags.length }, '')
|
125
|
-
const tag = new Proxy({ textContent: '' }, {
|
126
|
-
set: (target, prop, value) => {
|
127
|
-
if (prop !== 'textContent') {
|
128
|
-
return false
|
129
|
-
}
|
130
|
-
|
131
|
-
// When css is updated
|
132
|
-
target.textContent = value
|
133
|
-
|
134
|
-
if (tagRef.current) {
|
135
|
-
tagRef.current.textContent = value
|
136
|
-
}
|
137
|
-
|
138
|
-
return true
|
139
|
-
}
|
140
|
-
})
|
141
|
-
|
142
|
-
this.tags.push(tagElement)
|
143
|
-
|
144
|
-
return tag
|
145
|
-
}
|
146
111
|
}
|
147
112
|
|
148
113
|
export const UnistylesState = new UnistylesStateBuilder()
|
@@ -0,0 +1,45 @@
|
|
1
|
+
export const reduceObject = <TObj extends Record<string, any>, TReducer>(
|
2
|
+
obj: TObj,
|
3
|
+
reducer: (value: TObj[keyof TObj], key: keyof TObj) => TReducer,
|
4
|
+
) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, reducer(value as TObj[keyof TObj], key)])) as { [K in keyof TObj]: TReducer }
|
5
|
+
|
6
|
+
export const keyInObject = <T extends Record<string, any>>(obj: T, key: PropertyKey): key is keyof T => key in obj
|
7
|
+
|
8
|
+
export const isServer = () => typeof window === 'undefined'
|
9
|
+
|
10
|
+
export const error = (message: string) => new Error(`Unistyles: ${message}`)
|
11
|
+
|
12
|
+
export const equal = <T>(a: T, b: T) => {
|
13
|
+
if (Object.is(a, b)) {
|
14
|
+
return true
|
15
|
+
}
|
16
|
+
|
17
|
+
if (
|
18
|
+
typeof a !== 'object'
|
19
|
+
|| a === null
|
20
|
+
|| typeof b !== 'object'
|
21
|
+
|| b === null
|
22
|
+
) {
|
23
|
+
return false
|
24
|
+
}
|
25
|
+
|
26
|
+
const keysA = Object.keys(a) as Array<keyof T>
|
27
|
+
|
28
|
+
if (keysA.length !== Object.keys(b).length) {
|
29
|
+
return false
|
30
|
+
}
|
31
|
+
|
32
|
+
return keysA.every(key => Object.is(a[key], b[key]) && Object.prototype.hasOwnProperty.call(b, key))
|
33
|
+
}
|
34
|
+
|
35
|
+
export const generateHash = (value: any) => {
|
36
|
+
const str = JSON.stringify(value)
|
37
|
+
let hasher = 5381
|
38
|
+
let length = str.length
|
39
|
+
|
40
|
+
while (length--) hasher = (hasher * 33) ^ str.charCodeAt(length)
|
41
|
+
|
42
|
+
return `unistyles-${(hasher >>> 0).toString(36)}`
|
43
|
+
}
|
44
|
+
|
45
|
+
export const hyphenate = (propertyName: string) => propertyName.replace(/[A-Z]/g, (m: string) => `-${m.toLowerCase()}`)
|
@@ -0,0 +1,94 @@
|
|
1
|
+
import type { UnistyleDependency } from '../../specs/NativePlatform'
|
2
|
+
import { ColorScheme, Orientation } from '../../specs/types'
|
3
|
+
import type { StyleSheet, StyleSheetWithSuperPowers, UnistylesValues } from '../../types/stylesheet'
|
4
|
+
import { isUnistylesMq, parseMq } from '../../mq'
|
5
|
+
import { UnistylesState } from '../state'
|
6
|
+
import { keyInObject, reduceObject } from './common'
|
7
|
+
|
8
|
+
export const schemeToTheme = (scheme: ColorScheme) => {
|
9
|
+
switch (scheme) {
|
10
|
+
case ColorScheme.Dark:
|
11
|
+
return 'dark'
|
12
|
+
case ColorScheme.Light:
|
13
|
+
default:
|
14
|
+
return 'light'
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
export type UnistyleSecrets = {
|
19
|
+
__uni__stylesheet: StyleSheetWithSuperPowers<StyleSheet>,
|
20
|
+
__uni__key: string,
|
21
|
+
__uni__refs: Set<HTMLElement>
|
22
|
+
__uni__variants: Record<string, any>
|
23
|
+
__uni__args?: Array<any>
|
24
|
+
}
|
25
|
+
|
26
|
+
export const assignSecrets = <T>(object: T, secrets: UnistyleSecrets) => {
|
27
|
+
// @ts-expect-error - assign secrets to object
|
28
|
+
object.__uni__secrets__ = secrets
|
29
|
+
|
30
|
+
return object
|
31
|
+
}
|
32
|
+
|
33
|
+
export const extractSecrets = (object: any) => {
|
34
|
+
return keyInObject(object, '__uni__secrets__') ? object.__uni__secrets__ as UnistyleSecrets : undefined
|
35
|
+
}
|
36
|
+
|
37
|
+
export const getStyles = (values: UnistylesValues) => {
|
38
|
+
const returnValue = {}
|
39
|
+
|
40
|
+
Object.defineProperties(returnValue, reduceObject(values, value => ({
|
41
|
+
value,
|
42
|
+
enumerable: false,
|
43
|
+
configurable: true
|
44
|
+
})))
|
45
|
+
|
46
|
+
return returnValue
|
47
|
+
}
|
48
|
+
|
49
|
+
export const isInDocument = (element: HTMLElement) => document.body.contains(element)
|
50
|
+
|
51
|
+
export const extractMediaQueryValue = (query: string) => {
|
52
|
+
const [_, px] = query.match(/(\d+)px/) ?? []
|
53
|
+
|
54
|
+
if (!px) {
|
55
|
+
return undefined
|
56
|
+
}
|
57
|
+
|
58
|
+
const value = Number(px)
|
59
|
+
|
60
|
+
return Number.isNaN(value)
|
61
|
+
? undefined
|
62
|
+
: value
|
63
|
+
}
|
64
|
+
|
65
|
+
export const getMediaQuery = (query: string) => {
|
66
|
+
if (Object.values(Orientation).includes(query as Orientation)) {
|
67
|
+
return `(orientation: ${query})`
|
68
|
+
}
|
69
|
+
|
70
|
+
if (isUnistylesMq(query)) {
|
71
|
+
const { minWidth, maxWidth, minHeight, maxHeight } = parseMq(query)
|
72
|
+
|
73
|
+
return [
|
74
|
+
minWidth ? `(min-width: ${minWidth}px)` : undefined,
|
75
|
+
maxWidth ? `(max-width: ${maxWidth}px)` : undefined,
|
76
|
+
minHeight ? `(min-height: ${minHeight}px)` : undefined,
|
77
|
+
maxHeight ? `(max-height: ${maxHeight}px)` : undefined
|
78
|
+
].filter(Boolean).join(' and ')
|
79
|
+
}
|
80
|
+
|
81
|
+
const minWidth = UnistylesState.breakpoints && keyInObject(UnistylesState.breakpoints, query) ? UnistylesState.breakpoints[query] : undefined
|
82
|
+
|
83
|
+
return `(min-width: ${minWidth ?? 0}px)`
|
84
|
+
}
|
85
|
+
|
86
|
+
export const extractUnistyleDependencies = (value: any) => {
|
87
|
+
if (!value) {
|
88
|
+
return []
|
89
|
+
}
|
90
|
+
|
91
|
+
const dependencies: Array<UnistyleDependency> = keyInObject(value, 'uni__dependencies') ? value.uni__dependencies : []
|
92
|
+
|
93
|
+
return Array.isArray(dependencies) ? dependencies : []
|
94
|
+
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { ReactNativeStyleSheet, StyleSheet } from '
|
1
|
+
import type { ReactNativeStyleSheet, StyleSheet } from '../types'
|
2
2
|
import { deepMergeObjects } from '../utils'
|
3
3
|
|
4
4
|
type StylesWithVariants = {
|
@@ -16,7 +16,7 @@ export const getVariants = (styles: ReactNativeStyleSheet<StyleSheet>, selectedV
|
|
16
16
|
.map(([key, { variants, compoundVariants = [] }]) => {
|
17
17
|
const variantStyles = Object.entries(variants).flatMap(([variant, styles]) => {
|
18
18
|
const selectedVariant = selectedVariants[variant]
|
19
|
-
const selectedVariantStyles = styles[selectedVariant] ?? styles
|
19
|
+
const selectedVariantStyles = styles[selectedVariant] ?? styles.default
|
20
20
|
|
21
21
|
if (!selectedVariantStyles) {
|
22
22
|
return []
|
@@ -1,105 +0,0 @@
|
|
1
|
-
#include "helpers.h"
|
2
|
-
#include "UnistylesRuntime.h"
|
3
|
-
|
4
|
-
Dimensions jobjectToDimensions(JNIEnv *env, jobject dimensionObj) {
|
5
|
-
jclass dimensionClass = env->FindClass("com/unistyles/Dimensions");
|
6
|
-
jfieldID widthFieldID = env->GetFieldID(dimensionClass, "width", "I");
|
7
|
-
jfieldID heightFieldID = env->GetFieldID(dimensionClass, "height", "I");
|
8
|
-
|
9
|
-
int width = env->GetIntField(dimensionObj, widthFieldID);
|
10
|
-
int height = env->GetIntField(dimensionObj, heightFieldID);
|
11
|
-
|
12
|
-
env->DeleteLocalRef(dimensionClass);
|
13
|
-
|
14
|
-
return Dimensions{width, height};
|
15
|
-
}
|
16
|
-
|
17
|
-
Screen jobjectToScreen(JNIEnv *env, jobject screenObj) {
|
18
|
-
jclass screenClass = env->FindClass("com/unistyles/Screen");
|
19
|
-
jfieldID widthFieldID = env->GetFieldID(screenClass, "width", "I");
|
20
|
-
jfieldID heightFieldID = env->GetFieldID(screenClass, "height", "I");
|
21
|
-
jfieldID pixelRatioFieldID = env->GetFieldID(screenClass, "pixelRatio", "F");
|
22
|
-
jfieldID scaleFieldID = env->GetFieldID(screenClass, "fontScale", "F");
|
23
|
-
|
24
|
-
int width = env->GetIntField(screenObj, widthFieldID);
|
25
|
-
int height = env->GetIntField(screenObj, heightFieldID);
|
26
|
-
float pixelRatio = env->GetFloatField(screenObj, pixelRatioFieldID);
|
27
|
-
float fontScale = env->GetFloatField(screenObj, scaleFieldID);
|
28
|
-
|
29
|
-
env->DeleteLocalRef(screenClass);
|
30
|
-
|
31
|
-
return Screen{width, height, pixelRatio, fontScale};
|
32
|
-
}
|
33
|
-
|
34
|
-
Insets jobjectToInsets(JNIEnv *env, jobject insetsObj) {
|
35
|
-
jclass insetsClass = env->FindClass("com/unistyles/Insets");
|
36
|
-
jfieldID leftFieldID = env->GetFieldID(insetsClass, "left", "I");
|
37
|
-
jfieldID topFieldID = env->GetFieldID(insetsClass, "top", "I");
|
38
|
-
jfieldID rightFieldID = env->GetFieldID(insetsClass, "right", "I");
|
39
|
-
jfieldID bottomFieldID = env->GetFieldID(insetsClass, "bottom", "I");
|
40
|
-
|
41
|
-
int left = env->GetIntField(insetsObj, leftFieldID);
|
42
|
-
int top = env->GetIntField(insetsObj, topFieldID);
|
43
|
-
int right = env->GetIntField(insetsObj, rightFieldID);
|
44
|
-
int bottom = env->GetIntField(insetsObj, bottomFieldID);
|
45
|
-
|
46
|
-
env->DeleteLocalRef(insetsClass);
|
47
|
-
|
48
|
-
return Insets{top, bottom, left, right};
|
49
|
-
}
|
50
|
-
|
51
|
-
void JNI_callPlatformWithColor(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig, std::string param, float alpha) {
|
52
|
-
jclass cls = env->GetObjectClass(unistylesModule);
|
53
|
-
jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
|
54
|
-
jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
|
55
|
-
jclass platformClass = env->GetObjectClass(platformInstance);
|
56
|
-
jstring strParam = env->NewStringUTF(param.c_str());
|
57
|
-
jmethodID methodId = env->GetMethodID(platformClass, name.c_str(), sig.c_str());
|
58
|
-
|
59
|
-
env->CallVoidMethod(platformInstance, methodId, strParam, static_cast<jfloat>(alpha));
|
60
|
-
|
61
|
-
env->DeleteLocalRef(cls);
|
62
|
-
env->DeleteLocalRef(platformInstance);
|
63
|
-
env->DeleteLocalRef(platformClass);
|
64
|
-
env->DeleteLocalRef(strParam);
|
65
|
-
}
|
66
|
-
|
67
|
-
void JNI_callPlatformWithBool(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig, bool param) {
|
68
|
-
jclass cls = env->GetObjectClass(unistylesModule);
|
69
|
-
jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
|
70
|
-
jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
|
71
|
-
jclass platformClass = env->GetObjectClass(platformInstance);
|
72
|
-
jmethodID methodId = env->GetMethodID(platformClass, name.c_str(), sig.c_str());
|
73
|
-
|
74
|
-
env->CallVoidMethod(platformInstance, methodId, param);
|
75
|
-
env->DeleteLocalRef(cls);
|
76
|
-
env->DeleteLocalRef(platformInstance);
|
77
|
-
env->DeleteLocalRef(platformClass);
|
78
|
-
}
|
79
|
-
|
80
|
-
jobject JNI_callPlatform(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig) {
|
81
|
-
jclass cls = env->GetObjectClass(unistylesModule);
|
82
|
-
jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
|
83
|
-
jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
|
84
|
-
jclass platformClass = env->GetObjectClass(platformInstance);
|
85
|
-
jmethodID methodId = env->GetMethodID(platformClass, name.c_str(), sig.c_str());
|
86
|
-
jobject result = env->CallObjectMethod(platformInstance, methodId);
|
87
|
-
|
88
|
-
env->DeleteLocalRef(cls);
|
89
|
-
env->DeleteLocalRef(platformInstance);
|
90
|
-
env->DeleteLocalRef(platformClass);
|
91
|
-
|
92
|
-
return result;
|
93
|
-
}
|
94
|
-
|
95
|
-
void throwKotlinException(
|
96
|
-
JNIEnv *env,
|
97
|
-
const char *message
|
98
|
-
) {
|
99
|
-
jclass runtimeExceptionClass = env->FindClass("java/lang/RuntimeException");
|
100
|
-
|
101
|
-
if (runtimeExceptionClass != nullptr) {
|
102
|
-
env->ThrowNew(runtimeExceptionClass, message);
|
103
|
-
env->DeleteLocalRef(runtimeExceptionClass);
|
104
|
-
}
|
105
|
-
}
|
@@ -1,16 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include <jni.h>
|
4
|
-
#include <string>
|
5
|
-
#include <map>
|
6
|
-
#include <UnistylesRuntime.h>
|
7
|
-
|
8
|
-
Dimensions jobjectToDimensions(JNIEnv *env, jobject dimensionObj);
|
9
|
-
Screen jobjectToScreen(JNIEnv *env, jobject screenObj);
|
10
|
-
Insets jobjectToInsets(JNIEnv *env, jobject insetsObj);
|
11
|
-
|
12
|
-
void JNI_callPlatformWithColor(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig, std::string param, float alpha);
|
13
|
-
jobject JNI_callPlatform(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig);
|
14
|
-
void JNI_callPlatformWithBool(JNIEnv *env, jobject unistylesModule, std::string name, std::string sig, bool param);
|
15
|
-
|
16
|
-
void throwKotlinException(JNIEnv *env, const char *message);
|
@@ -1,170 +0,0 @@
|
|
1
|
-
#include "platform.h"
|
2
|
-
|
3
|
-
void makeShared(JNIEnv *env, jobject unistylesModule, std::shared_ptr<UnistylesRuntime> unistylesRuntime) {
|
4
|
-
unistylesRuntime->setScreenDimensionsCallback([&](){
|
5
|
-
return getScreenDimensions(env, unistylesModule);
|
6
|
-
});
|
7
|
-
|
8
|
-
unistylesRuntime->setColorSchemeCallback([&](){
|
9
|
-
return getColorScheme(env, unistylesModule);
|
10
|
-
});
|
11
|
-
|
12
|
-
unistylesRuntime->setStatusBarDimensionsCallback([&](){
|
13
|
-
return getStatusBarDimensions(env, unistylesModule);
|
14
|
-
});
|
15
|
-
|
16
|
-
unistylesRuntime->setNavigationBarDimensionsCallback([&](){
|
17
|
-
return getNavigationBarDimensions(env, unistylesModule);
|
18
|
-
});
|
19
|
-
|
20
|
-
unistylesRuntime->setInsetsCallback([&](){
|
21
|
-
return getInsets(env, unistylesModule);
|
22
|
-
});
|
23
|
-
|
24
|
-
unistylesRuntime->setContentSizeCategoryCallback([&](){
|
25
|
-
return getContentSizeCategory(env, unistylesModule);
|
26
|
-
});
|
27
|
-
|
28
|
-
unistylesRuntime->setNavigationBarColorCallback([=](const std::string &color, float alpha) {
|
29
|
-
setNavigationBarColor(env, unistylesModule, color, alpha);
|
30
|
-
});
|
31
|
-
|
32
|
-
unistylesRuntime->setStatusBarColorCallback([=](const std::string &color, float alpha) {
|
33
|
-
setStatusBarColor(env, unistylesModule, color, alpha);
|
34
|
-
});
|
35
|
-
|
36
|
-
unistylesRuntime->setNavigationBarHiddenCallback([=](bool hidden) {
|
37
|
-
setNavigationBarHidden(env, unistylesModule, hidden);
|
38
|
-
});
|
39
|
-
|
40
|
-
unistylesRuntime->setStatusBarHiddenCallback([=](bool hidden) {
|
41
|
-
setStatusBarHidden(env, unistylesModule, hidden);
|
42
|
-
});
|
43
|
-
|
44
|
-
unistylesRuntime->setImmersiveModeCallback([=](bool enabled) {
|
45
|
-
setImmersiveMode(env, unistylesModule, enabled);
|
46
|
-
});
|
47
|
-
|
48
|
-
unistylesRuntime->setRootViewBackgroundColorCallback([=](const std::string &color, float alpha) {
|
49
|
-
setRootViewBackgroundColor(env, unistylesModule, color, alpha);
|
50
|
-
});
|
51
|
-
|
52
|
-
unistylesRuntime->setDisableAnimatedInsetsAndroidCallback([=]() {
|
53
|
-
disableAnimatedInsets(env, unistylesModule);
|
54
|
-
});
|
55
|
-
|
56
|
-
Screen screen = getScreenDimensions(env, unistylesModule);
|
57
|
-
|
58
|
-
unistylesRuntime->screen = Dimensions{screen.width, screen.height};
|
59
|
-
unistylesRuntime->contentSizeCategory = getContentSizeCategory(env, unistylesModule);
|
60
|
-
unistylesRuntime->colorScheme = getColorScheme(env, unistylesModule);
|
61
|
-
unistylesRuntime->statusBar = getStatusBarDimensions(env, unistylesModule);
|
62
|
-
unistylesRuntime->insets = getInsets(env, unistylesModule);
|
63
|
-
unistylesRuntime->navigationBar = getNavigationBarDimensions(env, unistylesModule);
|
64
|
-
unistylesRuntime->fontScale = screen.fontScale;
|
65
|
-
unistylesRuntime->pixelRatio = screen.pixelRatio;
|
66
|
-
unistylesRuntime->rtl = getIsRTL(env, unistylesModule);
|
67
|
-
}
|
68
|
-
|
69
|
-
void disableAnimatedInsets(JNIEnv *env, jobject unistylesModule) {
|
70
|
-
jclass cls = env->GetObjectClass(unistylesModule);
|
71
|
-
jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
|
72
|
-
jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
|
73
|
-
jclass platformClass = env->GetObjectClass(platformInstance);
|
74
|
-
jmethodID methodId = env->GetMethodID(platformClass, "disableAnimatedInsets", "()V");
|
75
|
-
|
76
|
-
env->CallVoidMethod(platformInstance, methodId);
|
77
|
-
|
78
|
-
env->DeleteLocalRef(cls);
|
79
|
-
env->DeleteLocalRef(platformInstance);
|
80
|
-
env->DeleteLocalRef(platformClass);
|
81
|
-
}
|
82
|
-
|
83
|
-
Screen getScreenDimensions(JNIEnv *env, jobject unistylesModule) {
|
84
|
-
jobject result = JNI_callPlatform(env, unistylesModule, "getScreenDimensions", "()Lcom/unistyles/Screen;");
|
85
|
-
Screen screenDimensions = jobjectToScreen(env, result);
|
86
|
-
|
87
|
-
return screenDimensions;
|
88
|
-
}
|
89
|
-
|
90
|
-
std::string getColorScheme(JNIEnv *env, jobject unistylesModule) {
|
91
|
-
jstring colorScheme = (jstring) JNI_callPlatform(env, unistylesModule, "getColorScheme", "()Ljava/lang/String;");
|
92
|
-
const char *colorSchemeChars = env->GetStringUTFChars(colorScheme, nullptr);
|
93
|
-
std::string colorSchemeStr = std::string(colorSchemeChars);
|
94
|
-
|
95
|
-
env->ReleaseStringUTFChars(colorScheme, colorSchemeChars);
|
96
|
-
env->DeleteLocalRef(colorScheme);
|
97
|
-
|
98
|
-
return colorSchemeStr;
|
99
|
-
}
|
100
|
-
|
101
|
-
bool getIsRTL(JNIEnv *env, jobject unistylesModule) {
|
102
|
-
jclass cls = env->GetObjectClass(unistylesModule);
|
103
|
-
jfieldID platformFieldId = env->GetFieldID(cls, "platform", "Lcom/unistyles/Platform;");
|
104
|
-
jobject platformInstance = env->GetObjectField(unistylesModule, platformFieldId);
|
105
|
-
jclass platformClass = env->GetObjectClass(platformInstance);
|
106
|
-
jmethodID methodId = env->GetMethodID(platformClass, "getIsRTL", "()Z");
|
107
|
-
jboolean result = env->CallBooleanMethod(platformInstance, methodId);
|
108
|
-
|
109
|
-
env->DeleteLocalRef(cls);
|
110
|
-
env->DeleteLocalRef(platformInstance);
|
111
|
-
env->DeleteLocalRef(platformClass);
|
112
|
-
|
113
|
-
return result;
|
114
|
-
}
|
115
|
-
|
116
|
-
Dimensions getStatusBarDimensions(JNIEnv *env, jobject unistylesModule) {
|
117
|
-
jobject dimensionsObj = JNI_callPlatform(env, unistylesModule, "getStatusBarDimensions", "()Lcom/unistyles/Dimensions;");
|
118
|
-
Dimensions statusBarDimensions = jobjectToDimensions(env, dimensionsObj);
|
119
|
-
|
120
|
-
return statusBarDimensions;
|
121
|
-
}
|
122
|
-
|
123
|
-
Dimensions getNavigationBarDimensions(JNIEnv *env, jobject unistylesModule) {
|
124
|
-
jobject dimensionsObj = JNI_callPlatform(env, unistylesModule, "getNavigationBarDimensions", "()Lcom/unistyles/Dimensions;");
|
125
|
-
Dimensions navigationBarDimensions = jobjectToDimensions(env, dimensionsObj);
|
126
|
-
|
127
|
-
return navigationBarDimensions;
|
128
|
-
}
|
129
|
-
|
130
|
-
Insets getInsets(JNIEnv *env, jobject unistylesModule) {
|
131
|
-
jobject insetsObj = JNI_callPlatform(env, unistylesModule, "getInsets", "()Lcom/unistyles/Insets;");
|
132
|
-
Insets insets = jobjectToInsets(env, insetsObj);
|
133
|
-
|
134
|
-
return insets;
|
135
|
-
}
|
136
|
-
|
137
|
-
std::string getContentSizeCategory(JNIEnv *env, jobject unistylesModule) {
|
138
|
-
jstring contentSizeCategory = (jstring) JNI_callPlatform(env, unistylesModule, "getContentSizeCategory", "()Ljava/lang/String;");
|
139
|
-
const char *contentSizeCategoryChars = env->GetStringUTFChars(contentSizeCategory, nullptr);
|
140
|
-
std::string contentSizeCategoryStr = std::string(contentSizeCategoryChars);
|
141
|
-
|
142
|
-
env->ReleaseStringUTFChars(contentSizeCategory, contentSizeCategoryChars);
|
143
|
-
env->DeleteLocalRef(contentSizeCategory);
|
144
|
-
|
145
|
-
return contentSizeCategoryStr;
|
146
|
-
}
|
147
|
-
|
148
|
-
void setStatusBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha) {
|
149
|
-
JNI_callPlatformWithColor(env, unistylesModule, "onSetStatusBarColor", "(Ljava/lang/String;F)V", color, alpha);
|
150
|
-
}
|
151
|
-
|
152
|
-
void setNavigationBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha) {
|
153
|
-
JNI_callPlatformWithColor(env, unistylesModule, "onSetNavigationBarColor", "(Ljava/lang/String;F)V", color, alpha);
|
154
|
-
}
|
155
|
-
|
156
|
-
void setNavigationBarHidden(JNIEnv *env, jobject unistylesModule, bool hidden) {
|
157
|
-
JNI_callPlatformWithBool(env, unistylesModule, "onSetNavigationBarHidden", "(Z)V", hidden);
|
158
|
-
}
|
159
|
-
|
160
|
-
void setStatusBarHidden(JNIEnv *env, jobject unistylesModule, bool hidden) {
|
161
|
-
JNI_callPlatformWithBool(env, unistylesModule, "onSetStatusBarHidden", "(Z)V", hidden);
|
162
|
-
}
|
163
|
-
|
164
|
-
void setImmersiveMode(JNIEnv *env, jobject unistylesModule, bool enabled) {
|
165
|
-
JNI_callPlatformWithBool(env, unistylesModule, "onSetImmersiveMode", "(Z)V", enabled);
|
166
|
-
}
|
167
|
-
|
168
|
-
void setRootViewBackgroundColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha) {
|
169
|
-
JNI_callPlatformWithColor(env, unistylesModule, "onSetRootViewBackgroundColor", "(Ljava/lang/String;F)V", color, alpha);
|
170
|
-
}
|
@@ -1,20 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include "UnistylesRuntime.h"
|
4
|
-
#include "helpers.h"
|
5
|
-
|
6
|
-
void makeShared(JNIEnv *env, jobject unistylesModule, std::shared_ptr<UnistylesRuntime> unistylesRuntime);
|
7
|
-
Screen getScreenDimensions(JNIEnv *env, jobject unistylesModule);
|
8
|
-
std::string getColorScheme(JNIEnv *env, jobject unistylesModule);
|
9
|
-
Dimensions getStatusBarDimensions(JNIEnv *env, jobject unistylesModule);
|
10
|
-
Dimensions getNavigationBarDimensions(JNIEnv *env, jobject unistylesModule);
|
11
|
-
void setNavigationBarHidden(JNIEnv *env, jobject unistylesModule, bool hidden);
|
12
|
-
void setStatusBarHidden(JNIEnv *env, jobject unistylesModule, bool hidden);
|
13
|
-
void setImmersiveMode(JNIEnv *env, jobject unistylesModule, bool hidden);
|
14
|
-
void setRootViewBackgroundColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha);
|
15
|
-
Insets getInsets(JNIEnv *env, jobject unistylesModule);
|
16
|
-
bool getIsRTL(JNIEnv *env, jobject unistylesModule);
|
17
|
-
std::string getContentSizeCategory(JNIEnv *env, jobject unistylesModule);
|
18
|
-
void setNavigationBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha);
|
19
|
-
void setStatusBarColor(JNIEnv *env, jobject unistylesModule, std::string color, float alpha);
|
20
|
-
void disableAnimatedInsets(JNIEnv *env, jobject unistylesModule);
|