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
@@ -55,7 +55,7 @@ namespace margelo::nitro::unistyles {
|
|
55
55
|
* the future, HybridNativePlatformSpecCxx can directly inherit from the C++ class HybridNativePlatformSpec
|
56
56
|
* to simplify the whole structure and memory management.
|
57
57
|
*/
|
58
|
-
class HybridNativePlatformSpecSwift
|
58
|
+
class HybridNativePlatformSpecSwift: public virtual HybridNativePlatformSpec {
|
59
59
|
public:
|
60
60
|
// Constructor from a Swift instance
|
61
61
|
explicit HybridNativePlatformSpecSwift(const Unistyles::HybridNativePlatformSpecCxx& swiftPart):
|
@@ -121,18 +121,12 @@ namespace margelo::nitro::unistyles {
|
|
121
121
|
inline void setRootViewBackgroundColor(double color) override {
|
122
122
|
_swiftPart.setRootViewBackgroundColor(std::forward<decltype(color)>(color));
|
123
123
|
}
|
124
|
-
inline void setNavigationBarBackgroundColor(double color) override {
|
125
|
-
_swiftPart.setNavigationBarBackgroundColor(std::forward<decltype(color)>(color));
|
126
|
-
}
|
127
124
|
inline void setNavigationBarHidden(bool isHidden) override {
|
128
125
|
_swiftPart.setNavigationBarHidden(std::forward<decltype(isHidden)>(isHidden));
|
129
126
|
}
|
130
127
|
inline void setStatusBarHidden(bool isHidden) override {
|
131
128
|
_swiftPart.setStatusBarHidden(std::forward<decltype(isHidden)>(isHidden));
|
132
129
|
}
|
133
|
-
inline void setStatusBarBackgroundColor(double color) override {
|
134
|
-
_swiftPart.setStatusBarBackgroundColor(std::forward<decltype(color)>(color));
|
135
|
-
}
|
136
130
|
inline void setImmersiveMode(bool isEnabled) override {
|
137
131
|
_swiftPart.setImmersiveMode(std::forward<decltype(isEnabled)>(isEnabled));
|
138
132
|
}
|
@@ -140,9 +134,15 @@ namespace margelo::nitro::unistyles {
|
|
140
134
|
auto __result = _swiftPart.getMiniRuntime();
|
141
135
|
return __result;
|
142
136
|
}
|
143
|
-
inline void registerPlatformListener(const std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>& callback) override {
|
137
|
+
inline void registerPlatformListener(const std::function<void(const std::vector<UnistyleDependency>& /* dependencies */, const UnistylesNativeMiniRuntime& /* miniRuntime */)>& callback) override {
|
144
138
|
_swiftPart.registerPlatformListener(callback);
|
145
139
|
}
|
140
|
+
inline void registerImeListener(const std::function<void(const UnistylesNativeMiniRuntime& /* miniRuntime */)>& callback) override {
|
141
|
+
_swiftPart.registerImeListener(callback);
|
142
|
+
}
|
143
|
+
inline void unregisterPlatformListeners() override {
|
144
|
+
_swiftPart.unregisterPlatformListeners();
|
145
|
+
}
|
146
146
|
|
147
147
|
private:
|
148
148
|
Unistyles::HybridNativePlatformSpecCxx _swiftPart;
|
@@ -27,7 +27,7 @@ import NitroModules
|
|
27
27
|
* }
|
28
28
|
* ```
|
29
29
|
*/
|
30
|
-
public protocol HybridNativePlatformSpec: HybridObjectSpec {
|
30
|
+
public protocol HybridNativePlatformSpec: AnyObject, HybridObjectSpec {
|
31
31
|
// Properties
|
32
32
|
|
33
33
|
|
@@ -43,23 +43,11 @@ public protocol HybridNativePlatformSpec: HybridObjectSpec {
|
|
43
43
|
func getNavigationBarDimensions() throws -> Dimensions
|
44
44
|
func getPrefersRtlDirection() throws -> Bool
|
45
45
|
func setRootViewBackgroundColor(color: Double) throws -> Void
|
46
|
-
func setNavigationBarBackgroundColor(color: Double) throws -> Void
|
47
46
|
func setNavigationBarHidden(isHidden: Bool) throws -> Void
|
48
47
|
func setStatusBarHidden(isHidden: Bool) throws -> Void
|
49
|
-
func setStatusBarBackgroundColor(color: Double) throws -> Void
|
50
48
|
func setImmersiveMode(isEnabled: Bool) throws -> Void
|
51
49
|
func getMiniRuntime() throws -> UnistylesNativeMiniRuntime
|
52
|
-
func registerPlatformListener(callback: @escaping ((_ dependencies: [UnistyleDependency]) -> Void)) throws -> Void
|
53
|
-
|
54
|
-
|
55
|
-
public extension HybridNativePlatformSpec {
|
56
|
-
/**
|
57
|
-
* Create a new instance of HybridNativePlatformSpecCxx for the given HybridNativePlatformSpec.
|
58
|
-
*
|
59
|
-
* Instances of HybridNativePlatformSpecCxx can be accessed from C++, and contain
|
60
|
-
* additional required bridging code for C++ <> Swift interop.
|
61
|
-
*/
|
62
|
-
func createCxxBridge() -> HybridNativePlatformSpecCxx {
|
63
|
-
return HybridNativePlatformSpecCxx(self)
|
64
|
-
}
|
50
|
+
func registerPlatformListener(callback: @escaping ((_ dependencies: [UnistyleDependency], _ miniRuntime: UnistylesNativeMiniRuntime) -> Void)) throws -> Void
|
51
|
+
func registerImeListener(callback: @escaping ((_ miniRuntime: UnistylesNativeMiniRuntime) -> Void)) throws -> Void
|
52
|
+
func unregisterPlatformListeners() throws -> Void
|
65
53
|
}
|
@@ -8,6 +8,30 @@
|
|
8
8
|
import Foundation
|
9
9
|
import NitroModules
|
10
10
|
|
11
|
+
/**
|
12
|
+
* Helper class for converting instances of `HybridNativePlatformSpecCxx` from- and to unsafe pointers.
|
13
|
+
* This is useful to pass Swift classes to C++, without having to strongly type the C++ function signature.
|
14
|
+
* The actual Swift type can be included in the .cpp file, without having to forward-declare anything in .hpp.
|
15
|
+
*/
|
16
|
+
public final class HybridNativePlatformSpecCxxUnsafe {
|
17
|
+
/**
|
18
|
+
* Casts a `HybridNativePlatformSpecCxx` instance to a retained unsafe raw pointer.
|
19
|
+
* This acquires one additional strong reference on the object!
|
20
|
+
*/
|
21
|
+
public static func toUnsafe(_ instance: HybridNativePlatformSpecCxx) -> UnsafeMutableRawPointer {
|
22
|
+
return Unmanaged.passRetained(instance).toOpaque()
|
23
|
+
}
|
24
|
+
|
25
|
+
/**
|
26
|
+
* Casts an unsafe pointer to a `HybridNativePlatformSpecCxx`.
|
27
|
+
* The pointer has to be a retained opaque `Unmanaged<HybridNativePlatformSpecCxx>`.
|
28
|
+
* This removes one strong reference from the object!
|
29
|
+
*/
|
30
|
+
public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridNativePlatformSpecCxx {
|
31
|
+
return Unmanaged<HybridNativePlatformSpecCxx>.fromOpaque(pointer).takeRetainedValue()
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
11
35
|
/**
|
12
36
|
* A class implementation that bridges HybridNativePlatformSpec over to C++.
|
13
37
|
* In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
|
@@ -17,7 +41,7 @@ import NitroModules
|
|
17
41
|
* - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
|
18
42
|
* - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
|
19
43
|
*/
|
20
|
-
public
|
44
|
+
public class HybridNativePlatformSpecCxx {
|
21
45
|
/**
|
22
46
|
* The Swift <> C++ bridge's namespace (`margelo::nitro::unistyles::bridge::swift`)
|
23
47
|
* from `Unistyles-Swift-Cxx-Bridge.hpp`.
|
@@ -28,25 +52,36 @@ public final class HybridNativePlatformSpecCxx {
|
|
28
52
|
/**
|
29
53
|
* Holds an instance of the `HybridNativePlatformSpec` Swift protocol.
|
30
54
|
*/
|
31
|
-
private
|
55
|
+
private var __implementation: any HybridNativePlatformSpec
|
32
56
|
|
33
57
|
/**
|
34
58
|
* Create a new `HybridNativePlatformSpecCxx` that wraps the given `HybridNativePlatformSpec`.
|
35
59
|
* All properties and methods bridge to C++ types.
|
36
60
|
*/
|
37
|
-
public init(_ implementation: HybridNativePlatformSpec) {
|
38
|
-
self.
|
61
|
+
public init(_ implementation: some HybridNativePlatformSpec) {
|
62
|
+
self.__implementation = implementation
|
63
|
+
/* no base class */
|
64
|
+
}
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Get the actual `HybridNativePlatformSpec` instance this class wraps.
|
68
|
+
*/
|
69
|
+
@inline(__always)
|
70
|
+
public func getHybridNativePlatformSpec() -> any HybridNativePlatformSpec {
|
71
|
+
return __implementation
|
39
72
|
}
|
40
73
|
|
41
74
|
/**
|
42
75
|
* Contains a (weak) reference to the C++ HybridObject to cache it.
|
43
76
|
*/
|
44
77
|
public var hybridContext: margelo.nitro.HybridContext {
|
78
|
+
@inline(__always)
|
45
79
|
get {
|
46
|
-
return self.
|
80
|
+
return self.__implementation.hybridContext
|
47
81
|
}
|
82
|
+
@inline(__always)
|
48
83
|
set {
|
49
|
-
self.
|
84
|
+
self.__implementation.hybridContext = newValue
|
50
85
|
}
|
51
86
|
}
|
52
87
|
|
@@ -54,220 +89,226 @@ public final class HybridNativePlatformSpecCxx {
|
|
54
89
|
* Get the memory size of the Swift class (plus size of any other allocations)
|
55
90
|
* so the JS VM can properly track it and garbage-collect the JS object if needed.
|
56
91
|
*/
|
92
|
+
@inline(__always)
|
57
93
|
public var memorySize: Int {
|
58
|
-
return self.
|
94
|
+
return self.__implementation.memorySize
|
59
95
|
}
|
60
96
|
|
61
97
|
// Properties
|
62
|
-
|
98
|
+
|
63
99
|
|
64
100
|
// Methods
|
65
101
|
@inline(__always)
|
66
102
|
public func getInsets() -> Insets {
|
67
103
|
do {
|
68
|
-
let
|
69
|
-
return
|
104
|
+
let __result = try self.__implementation.getInsets()
|
105
|
+
return __result
|
70
106
|
} catch {
|
71
|
-
let
|
72
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
107
|
+
let __message = "\(error.localizedDescription)"
|
108
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
73
109
|
}
|
74
110
|
}
|
75
|
-
|
111
|
+
|
76
112
|
@inline(__always)
|
77
113
|
public func getColorScheme() -> Int32 {
|
78
114
|
do {
|
79
|
-
let
|
80
|
-
return
|
115
|
+
let __result = try self.__implementation.getColorScheme()
|
116
|
+
return __result.rawValue
|
81
117
|
} catch {
|
82
|
-
let
|
83
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
118
|
+
let __message = "\(error.localizedDescription)"
|
119
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
84
120
|
}
|
85
121
|
}
|
86
|
-
|
122
|
+
|
87
123
|
@inline(__always)
|
88
124
|
public func getFontScale() -> Double {
|
89
125
|
do {
|
90
|
-
let
|
91
|
-
return
|
126
|
+
let __result = try self.__implementation.getFontScale()
|
127
|
+
return __result
|
92
128
|
} catch {
|
93
|
-
let
|
94
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
129
|
+
let __message = "\(error.localizedDescription)"
|
130
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
95
131
|
}
|
96
132
|
}
|
97
|
-
|
133
|
+
|
98
134
|
@inline(__always)
|
99
135
|
public func getPixelRatio() -> Double {
|
100
136
|
do {
|
101
|
-
let
|
102
|
-
return
|
137
|
+
let __result = try self.__implementation.getPixelRatio()
|
138
|
+
return __result
|
103
139
|
} catch {
|
104
|
-
let
|
105
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
140
|
+
let __message = "\(error.localizedDescription)"
|
141
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
106
142
|
}
|
107
143
|
}
|
108
|
-
|
144
|
+
|
109
145
|
@inline(__always)
|
110
146
|
public func getOrientation() -> Int32 {
|
111
147
|
do {
|
112
|
-
let
|
113
|
-
return
|
148
|
+
let __result = try self.__implementation.getOrientation()
|
149
|
+
return __result.rawValue
|
114
150
|
} catch {
|
115
|
-
let
|
116
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
151
|
+
let __message = "\(error.localizedDescription)"
|
152
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
117
153
|
}
|
118
154
|
}
|
119
|
-
|
155
|
+
|
120
156
|
@inline(__always)
|
121
157
|
public func getContentSizeCategory() -> std.string {
|
122
158
|
do {
|
123
|
-
let
|
124
|
-
return std.string(
|
159
|
+
let __result = try self.__implementation.getContentSizeCategory()
|
160
|
+
return std.string(__result)
|
125
161
|
} catch {
|
126
|
-
let
|
127
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
162
|
+
let __message = "\(error.localizedDescription)"
|
163
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
128
164
|
}
|
129
165
|
}
|
130
|
-
|
166
|
+
|
131
167
|
@inline(__always)
|
132
168
|
public func getScreenDimensions() -> Dimensions {
|
133
169
|
do {
|
134
|
-
let
|
135
|
-
return
|
170
|
+
let __result = try self.__implementation.getScreenDimensions()
|
171
|
+
return __result
|
136
172
|
} catch {
|
137
|
-
let
|
138
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
173
|
+
let __message = "\(error.localizedDescription)"
|
174
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
139
175
|
}
|
140
176
|
}
|
141
|
-
|
177
|
+
|
142
178
|
@inline(__always)
|
143
179
|
public func getStatusBarDimensions() -> Dimensions {
|
144
180
|
do {
|
145
|
-
let
|
146
|
-
return
|
181
|
+
let __result = try self.__implementation.getStatusBarDimensions()
|
182
|
+
return __result
|
147
183
|
} catch {
|
148
|
-
let
|
149
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
184
|
+
let __message = "\(error.localizedDescription)"
|
185
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
150
186
|
}
|
151
187
|
}
|
152
|
-
|
188
|
+
|
153
189
|
@inline(__always)
|
154
190
|
public func getNavigationBarDimensions() -> Dimensions {
|
155
191
|
do {
|
156
|
-
let
|
157
|
-
return
|
192
|
+
let __result = try self.__implementation.getNavigationBarDimensions()
|
193
|
+
return __result
|
158
194
|
} catch {
|
159
|
-
let
|
160
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
195
|
+
let __message = "\(error.localizedDescription)"
|
196
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
161
197
|
}
|
162
198
|
}
|
163
|
-
|
199
|
+
|
164
200
|
@inline(__always)
|
165
201
|
public func getPrefersRtlDirection() -> Bool {
|
166
202
|
do {
|
167
|
-
let
|
168
|
-
return
|
203
|
+
let __result = try self.__implementation.getPrefersRtlDirection()
|
204
|
+
return __result
|
169
205
|
} catch {
|
170
|
-
let
|
171
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
206
|
+
let __message = "\(error.localizedDescription)"
|
207
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
172
208
|
}
|
173
209
|
}
|
174
|
-
|
210
|
+
|
175
211
|
@inline(__always)
|
176
212
|
public func setRootViewBackgroundColor(color: Double) -> Void {
|
177
213
|
do {
|
178
|
-
try self.
|
179
|
-
return
|
214
|
+
try self.__implementation.setRootViewBackgroundColor(color: color)
|
215
|
+
return
|
180
216
|
} catch {
|
181
|
-
let
|
182
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
217
|
+
let __message = "\(error.localizedDescription)"
|
218
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
183
219
|
}
|
184
220
|
}
|
185
|
-
|
221
|
+
|
186
222
|
@inline(__always)
|
187
|
-
public func
|
223
|
+
public func setNavigationBarHidden(isHidden: Bool) -> Void {
|
188
224
|
do {
|
189
|
-
try self.
|
190
|
-
return
|
225
|
+
try self.__implementation.setNavigationBarHidden(isHidden: isHidden)
|
226
|
+
return
|
191
227
|
} catch {
|
192
|
-
let
|
193
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
228
|
+
let __message = "\(error.localizedDescription)"
|
229
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
194
230
|
}
|
195
231
|
}
|
196
|
-
|
232
|
+
|
197
233
|
@inline(__always)
|
198
|
-
public func
|
234
|
+
public func setStatusBarHidden(isHidden: Bool) -> Void {
|
199
235
|
do {
|
200
|
-
try self.
|
201
|
-
return
|
236
|
+
try self.__implementation.setStatusBarHidden(isHidden: isHidden)
|
237
|
+
return
|
202
238
|
} catch {
|
203
|
-
let
|
204
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
239
|
+
let __message = "\(error.localizedDescription)"
|
240
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
205
241
|
}
|
206
242
|
}
|
207
|
-
|
243
|
+
|
208
244
|
@inline(__always)
|
209
|
-
public func
|
245
|
+
public func setImmersiveMode(isEnabled: Bool) -> Void {
|
210
246
|
do {
|
211
|
-
try self.
|
212
|
-
return
|
247
|
+
try self.__implementation.setImmersiveMode(isEnabled: isEnabled)
|
248
|
+
return
|
213
249
|
} catch {
|
214
|
-
let
|
215
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
250
|
+
let __message = "\(error.localizedDescription)"
|
251
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
216
252
|
}
|
217
253
|
}
|
218
|
-
|
254
|
+
|
219
255
|
@inline(__always)
|
220
|
-
public func
|
256
|
+
public func getMiniRuntime() -> UnistylesNativeMiniRuntime {
|
221
257
|
do {
|
222
|
-
try self.
|
223
|
-
return
|
258
|
+
let __result = try self.__implementation.getMiniRuntime()
|
259
|
+
return __result
|
224
260
|
} catch {
|
225
|
-
let
|
226
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
261
|
+
let __message = "\(error.localizedDescription)"
|
262
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
227
263
|
}
|
228
264
|
}
|
229
|
-
|
265
|
+
|
230
266
|
@inline(__always)
|
231
|
-
public func
|
267
|
+
public func registerPlatformListener(callback: bridge.Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime) -> Void {
|
232
268
|
do {
|
233
|
-
try self.
|
234
|
-
|
269
|
+
try self.__implementation.registerPlatformListener(callback: { () -> (([UnistyleDependency], UnistylesNativeMiniRuntime) -> Void) in
|
270
|
+
let __sharedClosure = bridge.share_Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime(callback)
|
271
|
+
return { (__dependencies: [UnistyleDependency], __miniRuntime: UnistylesNativeMiniRuntime) -> Void in
|
272
|
+
__sharedClosure.pointee.call({ () -> bridge.std__vector_UnistyleDependency_ in
|
273
|
+
var __vector = bridge.create_std__vector_UnistyleDependency_(__dependencies.count)
|
274
|
+
for __item in __dependencies {
|
275
|
+
__vector.push_back(__item)
|
276
|
+
}
|
277
|
+
return __vector
|
278
|
+
}(), __miniRuntime)
|
279
|
+
}
|
280
|
+
}())
|
281
|
+
return
|
235
282
|
} catch {
|
236
|
-
let
|
237
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
283
|
+
let __message = "\(error.localizedDescription)"
|
284
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
238
285
|
}
|
239
286
|
}
|
240
|
-
|
287
|
+
|
241
288
|
@inline(__always)
|
242
|
-
public func
|
289
|
+
public func registerImeListener(callback: bridge.Func_void_UnistylesNativeMiniRuntime) -> Void {
|
243
290
|
do {
|
244
|
-
|
245
|
-
|
291
|
+
try self.__implementation.registerImeListener(callback: { () -> ((UnistylesNativeMiniRuntime) -> Void) in
|
292
|
+
let __sharedClosure = bridge.share_Func_void_UnistylesNativeMiniRuntime(callback)
|
293
|
+
return { (__miniRuntime: UnistylesNativeMiniRuntime) -> Void in
|
294
|
+
__sharedClosure.pointee.call(__miniRuntime)
|
295
|
+
}
|
296
|
+
}())
|
297
|
+
return
|
246
298
|
} catch {
|
247
|
-
let
|
248
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
299
|
+
let __message = "\(error.localizedDescription)"
|
300
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
249
301
|
}
|
250
302
|
}
|
251
|
-
|
303
|
+
|
252
304
|
@inline(__always)
|
253
|
-
public func
|
305
|
+
public func unregisterPlatformListeners() -> Void {
|
254
306
|
do {
|
255
|
-
try self.
|
256
|
-
|
257
|
-
return { (dependencies: [UnistyleDependency]) -> Void in
|
258
|
-
shared.pointee.call({ () -> bridge.std__vector_UnistyleDependency_ in
|
259
|
-
var vector = bridge.create_std__vector_UnistyleDependency_(dependencies.count)
|
260
|
-
for item in dependencies {
|
261
|
-
vector.push_back(item)
|
262
|
-
}
|
263
|
-
return vector
|
264
|
-
}())
|
265
|
-
}
|
266
|
-
}())
|
267
|
-
return
|
307
|
+
try self.__implementation.unregisterPlatformListeners()
|
308
|
+
return
|
268
309
|
} catch {
|
269
|
-
let
|
270
|
-
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(
|
310
|
+
let __message = "\(error.localizedDescription)"
|
311
|
+
fatalError("Swift errors can currently not be propagated to C++! See https://github.com/swiftlang/swift/issues/75290 (Error: \(__message))")
|
271
312
|
}
|
272
313
|
}
|
273
314
|
}
|
@@ -45,6 +45,8 @@ public extension UnistyleDependency {
|
|
45
45
|
self = .statusbar
|
46
46
|
case "NavigationBar":
|
47
47
|
self = .navigationbar
|
48
|
+
case "Ime":
|
49
|
+
self = .ime
|
48
50
|
default:
|
49
51
|
return nil
|
50
52
|
}
|
@@ -83,6 +85,8 @@ public extension UnistyleDependency {
|
|
83
85
|
return "StatusBar"
|
84
86
|
case .navigationbar:
|
85
87
|
return "NavigationBar"
|
88
|
+
case .ime:
|
89
|
+
return "Ime"
|
86
90
|
}
|
87
91
|
}
|
88
92
|
}
|
@@ -18,8 +18,8 @@ public extension UnistylesNativeMiniRuntime {
|
|
18
18
|
/**
|
19
19
|
* Create a new instance of `UnistylesNativeMiniRuntime`.
|
20
20
|
*/
|
21
|
-
init(colorScheme: ColorScheme, screen: Dimensions, contentSizeCategory: String, insets: Insets, pixelRatio: Double, fontScale: Double, rtl: Bool, statusBar: Dimensions, navigationBar: Dimensions,
|
22
|
-
self.init(colorScheme, screen, std.string(contentSizeCategory), insets, pixelRatio, fontScale, rtl, statusBar, navigationBar,
|
21
|
+
init(colorScheme: ColorScheme, screen: Dimensions, contentSizeCategory: String, insets: Insets, pixelRatio: Double, fontScale: Double, rtl: Bool, statusBar: Dimensions, navigationBar: Dimensions, isPortrait: Bool, isLandscape: Bool) {
|
22
|
+
self.init(colorScheme, screen, std.string(contentSizeCategory), insets, pixelRatio, fontScale, rtl, statusBar, navigationBar, isPortrait, isLandscape)
|
23
23
|
}
|
24
24
|
|
25
25
|
var colorScheme: ColorScheme {
|
@@ -121,14 +121,25 @@ public extension UnistylesNativeMiniRuntime {
|
|
121
121
|
}
|
122
122
|
}
|
123
123
|
|
124
|
-
var
|
124
|
+
var isPortrait: Bool {
|
125
125
|
@inline(__always)
|
126
126
|
get {
|
127
|
-
return self.
|
127
|
+
return self.__isPortrait
|
128
128
|
}
|
129
129
|
@inline(__always)
|
130
130
|
set {
|
131
|
-
self.
|
131
|
+
self.__isPortrait = newValue
|
132
|
+
}
|
133
|
+
}
|
134
|
+
|
135
|
+
var isLandscape: Bool {
|
136
|
+
@inline(__always)
|
137
|
+
get {
|
138
|
+
return self.__isLandscape
|
139
|
+
}
|
140
|
+
@inline(__always)
|
141
|
+
set {
|
142
|
+
self.__isLandscape = newValue
|
132
143
|
}
|
133
144
|
}
|
134
145
|
}
|
@@ -50,7 +50,7 @@ namespace margelo::nitro {
|
|
50
50
|
case hashString("light"): return ColorScheme::LIGHT;
|
51
51
|
case hashString("unspecified"): return ColorScheme::UNSPECIFIED;
|
52
52
|
default: [[unlikely]]
|
53
|
-
throw std::
|
53
|
+
throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum ColorScheme - invalid value!");
|
54
54
|
}
|
55
55
|
}
|
56
56
|
static inline jsi::Value toJSI(jsi::Runtime& runtime, ColorScheme arg) {
|
@@ -59,7 +59,7 @@ namespace margelo::nitro {
|
|
59
59
|
case ColorScheme::LIGHT: return JSIConverter<std::string>::toJSI(runtime, "light");
|
60
60
|
case ColorScheme::UNSPECIFIED: return JSIConverter<std::string>::toJSI(runtime, "unspecified");
|
61
61
|
default: [[unlikely]]
|
62
|
-
throw std::
|
62
|
+
throw std::invalid_argument("Cannot convert ColorScheme to JS - invalid value: "
|
63
63
|
+ std::to_string(static_cast<int>(arg)) + "!");
|
64
64
|
}
|
65
65
|
}
|
@@ -25,13 +25,13 @@ namespace margelo::nitro::unistyles {
|
|
25
25
|
prototype.registerHybridMethod("getNavigationBarDimensions", &HybridNativePlatformSpec::getNavigationBarDimensions);
|
26
26
|
prototype.registerHybridMethod("getPrefersRtlDirection", &HybridNativePlatformSpec::getPrefersRtlDirection);
|
27
27
|
prototype.registerHybridMethod("setRootViewBackgroundColor", &HybridNativePlatformSpec::setRootViewBackgroundColor);
|
28
|
-
prototype.registerHybridMethod("setNavigationBarBackgroundColor", &HybridNativePlatformSpec::setNavigationBarBackgroundColor);
|
29
28
|
prototype.registerHybridMethod("setNavigationBarHidden", &HybridNativePlatformSpec::setNavigationBarHidden);
|
30
29
|
prototype.registerHybridMethod("setStatusBarHidden", &HybridNativePlatformSpec::setStatusBarHidden);
|
31
|
-
prototype.registerHybridMethod("setStatusBarBackgroundColor", &HybridNativePlatformSpec::setStatusBarBackgroundColor);
|
32
30
|
prototype.registerHybridMethod("setImmersiveMode", &HybridNativePlatformSpec::setImmersiveMode);
|
33
31
|
prototype.registerHybridMethod("getMiniRuntime", &HybridNativePlatformSpec::getMiniRuntime);
|
34
32
|
prototype.registerHybridMethod("registerPlatformListener", &HybridNativePlatformSpec::registerPlatformListener);
|
33
|
+
prototype.registerHybridMethod("registerImeListener", &HybridNativePlatformSpec::registerImeListener);
|
34
|
+
prototype.registerHybridMethod("unregisterPlatformListeners", &HybridNativePlatformSpec::unregisterPlatformListeners);
|
35
35
|
});
|
36
36
|
}
|
37
37
|
|
@@ -43,9 +43,12 @@ namespace margelo::nitro::unistyles {
|
|
43
43
|
/**
|
44
44
|
* An abstract base class for `NativePlatform`
|
45
45
|
* Inherit this class to create instances of `HybridNativePlatformSpec` in C++.
|
46
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
46
47
|
* @example
|
47
48
|
* ```cpp
|
48
49
|
* class HybridNativePlatform: public HybridNativePlatformSpec {
|
50
|
+
* public:
|
51
|
+
* HybridNativePlatform(...): HybridObject(TAG) { ... }
|
49
52
|
* // ...
|
50
53
|
* };
|
51
54
|
* ```
|
@@ -75,13 +78,13 @@ namespace margelo::nitro::unistyles {
|
|
75
78
|
virtual Dimensions getNavigationBarDimensions() = 0;
|
76
79
|
virtual bool getPrefersRtlDirection() = 0;
|
77
80
|
virtual void setRootViewBackgroundColor(double color) = 0;
|
78
|
-
virtual void setNavigationBarBackgroundColor(double color) = 0;
|
79
81
|
virtual void setNavigationBarHidden(bool isHidden) = 0;
|
80
82
|
virtual void setStatusBarHidden(bool isHidden) = 0;
|
81
|
-
virtual void setStatusBarBackgroundColor(double color) = 0;
|
82
83
|
virtual void setImmersiveMode(bool isEnabled) = 0;
|
83
84
|
virtual UnistylesNativeMiniRuntime getMiniRuntime() = 0;
|
84
|
-
virtual void registerPlatformListener(const std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>& callback) = 0;
|
85
|
+
virtual void registerPlatformListener(const std::function<void(const std::vector<UnistyleDependency>& /* dependencies */, const UnistylesNativeMiniRuntime& /* miniRuntime */)>& callback) = 0;
|
86
|
+
virtual void registerImeListener(const std::function<void(const UnistylesNativeMiniRuntime& /* miniRuntime */)>& callback) = 0;
|
87
|
+
virtual void unregisterPlatformListeners() = 0;
|
85
88
|
|
86
89
|
protected:
|
87
90
|
// Hybrid Setup
|
@@ -16,7 +16,6 @@ namespace margelo::nitro::unistyles {
|
|
16
16
|
registerHybrids(this, [](Prototype& prototype) {
|
17
17
|
prototype.registerHybridGetter("width", &HybridUnistylesNavigationBarSpec::getWidth);
|
18
18
|
prototype.registerHybridGetter("height", &HybridUnistylesNavigationBarSpec::getHeight);
|
19
|
-
prototype.registerHybridMethod("setBackgroundColor", &HybridUnistylesNavigationBarSpec::setBackgroundColor);
|
20
19
|
prototype.registerHybridMethod("setHidden", &HybridUnistylesNavigationBarSpec::setHidden);
|
21
20
|
});
|
22
21
|
}
|
@@ -24,9 +24,12 @@ namespace margelo::nitro::unistyles {
|
|
24
24
|
/**
|
25
25
|
* An abstract base class for `UnistylesNavigationBar`
|
26
26
|
* Inherit this class to create instances of `HybridUnistylesNavigationBarSpec` in C++.
|
27
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
27
28
|
* @example
|
28
29
|
* ```cpp
|
29
30
|
* class HybridUnistylesNavigationBar: public HybridUnistylesNavigationBarSpec {
|
31
|
+
* public:
|
32
|
+
* HybridUnistylesNavigationBar(...): HybridObject(TAG) { ... }
|
30
33
|
* // ...
|
31
34
|
* };
|
32
35
|
* ```
|
@@ -46,7 +49,6 @@ namespace margelo::nitro::unistyles {
|
|
46
49
|
|
47
50
|
public:
|
48
51
|
// Methods
|
49
|
-
virtual void setBackgroundColor(double color) = 0;
|
50
52
|
virtual void setHidden(bool isHidden) = 0;
|
51
53
|
|
52
54
|
protected:
|