react-native-unistyles 3.0.0-alpha.3 → 3.0.0-alpha.31
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +7 -0
- package/android/CMakeLists.txt +12 -21
- package/cxx/common/Constants.h +3 -0
- package/cxx/common/Helpers.h +118 -5
- package/cxx/core/HostStyle.cpp +12 -8
- package/cxx/core/HostStyle.h +4 -0
- package/cxx/core/StyleSheet.h +0 -2
- package/cxx/core/StyleSheetRegistry.cpp +10 -13
- package/cxx/core/StyleSheetRegistry.h +4 -4
- package/cxx/core/Unistyle.h +7 -10
- package/cxx/core/UnistyleData.h +23 -0
- package/cxx/core/UnistyleWrapper.h +61 -12
- package/cxx/core/UnistylesCommitHook.cpp +14 -15
- 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 +25 -0
- package/cxx/core/UnistylesRegistry.cpp +104 -89
- package/cxx/core/UnistylesRegistry.h +16 -13
- package/cxx/core/UnistylesState.cpp +29 -11
- package/cxx/core/UnistylesState.h +5 -2
- package/cxx/hybridObjects/HybridShadowRegistry.cpp +15 -13
- package/cxx/hybridObjects/HybridStyleSheet.cpp +136 -46
- package/cxx/hybridObjects/HybridStyleSheet.h +23 -5
- package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +51 -8
- package/cxx/hybridObjects/HybridUnistylesRuntime.h +12 -1
- package/cxx/parser/Parser.cpp +236 -165
- package/cxx/parser/Parser.h +11 -14
- package/cxx/shadowTree/ShadowLeafUpdate.h +2 -1
- package/cxx/shadowTree/ShadowTrafficController.h +60 -0
- package/cxx/shadowTree/ShadowTreeManager.cpp +17 -17
- package/cxx/shadowTree/ShadowTreeManager.h +3 -2
- package/ios/Equatable.swift +2 -1
- package/ios/NativePlatform+ios.swift +21 -5
- package/ios/NativePlatform+keyboard.swift +83 -0
- package/ios/NativePlatformListener+ios.swift +36 -23
- package/ios/Unistyles.h +1 -0
- package/ios/UnistylesModuleOnLoad.h +13 -2
- package/ios/UnistylesModuleOnLoad.mm +9 -1
- package/lib/commonjs/core/createUnistylesComponent.js +18 -0
- package/lib/commonjs/core/createUnistylesComponent.js.map +1 -0
- package/lib/commonjs/core/createUnistylesComponent.native.js +46 -0
- package/lib/commonjs/core/createUnistylesComponent.native.js.map +1 -0
- package/lib/commonjs/core/index.js +27 -0
- package/lib/commonjs/core/index.js.map +1 -0
- package/lib/commonjs/core/useBreakpoint.js +22 -0
- package/lib/commonjs/core/useBreakpoint.js.map +1 -0
- package/lib/commonjs/core/useBreakpoint.native.js +24 -0
- package/lib/commonjs/core/useBreakpoint.native.js.map +1 -0
- package/lib/commonjs/core/useTheme.js +22 -0
- package/lib/commonjs/core/useTheme.js.map +1 -0
- package/lib/commonjs/core/useTheme.native.js +24 -0
- package/lib/commonjs/core/useTheme.native.js.map +1 -0
- package/lib/commonjs/global.js +3 -0
- package/lib/commonjs/index.js +23 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mq.js +1 -4
- package/lib/commonjs/mq.js.map +2 -1
- package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +1 -0
- package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +2 -1
- package/lib/commonjs/specs/NativePlatform/index.js.map +1 -1
- package/lib/commonjs/specs/NavigtionBar/index.js +1 -1
- package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -1
- package/lib/commonjs/specs/ShadowRegistry/index.js +7 -6
- package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/commonjs/specs/ShadowRegistry/types.js +3 -0
- package/lib/commonjs/specs/StatusBar/index.js +1 -1
- package/lib/commonjs/specs/StatusBar/index.js.map +1 -1
- package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js +2 -4
- package/lib/commonjs/specs/StyleSheet/UnistylesStyleSheet.nitro.js.map +1 -1
- package/lib/commonjs/specs/StyleSheet/index.js +1 -0
- package/lib/commonjs/specs/StyleSheet/index.js.map +2 -1
- package/lib/commonjs/specs/UnistylesRuntime/index.js +1 -1
- 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 +1 -1
- package/lib/commonjs/specs/index.web.js.map +2 -1
- package/lib/commonjs/specs/types.js +10 -10
- package/lib/commonjs/specs/types.js.map +1 -0
- package/lib/commonjs/types/accessibility.js +1 -1
- package/lib/commonjs/types/accessibility.js.map +1 -0
- package/lib/commonjs/types/common.js +3 -0
- package/lib/commonjs/types/stylesheet.js.map +1 -1
- package/lib/commonjs/types/variants.js.map +1 -1
- package/lib/commonjs/web/convert/boxShadow.js +74 -0
- package/lib/commonjs/web/convert/boxShadow.js.map +2 -0
- package/lib/commonjs/web/convert/index.js +68 -0
- package/lib/commonjs/web/convert/index.js.map +2 -0
- package/lib/commonjs/web/convert/module.d.js +2 -0
- package/lib/commonjs/web/convert/module.d.js.map +1 -0
- package/lib/commonjs/web/convert/pseudo.js +10 -0
- package/lib/commonjs/web/convert/pseudo.js.map +2 -0
- package/lib/commonjs/web/convert/shadow.js +64 -0
- package/lib/commonjs/web/convert/shadow.js.map +1 -0
- package/lib/commonjs/web/convert/style.js +93 -0
- package/lib/commonjs/web/convert/style.js.map +2 -0
- package/lib/commonjs/web/convert/textShadow.js +73 -0
- package/lib/commonjs/web/convert/textShadow.js.map +1 -0
- package/lib/commonjs/web/convert/transform.js +72 -0
- package/lib/commonjs/web/convert/transform.js.map +2 -0
- package/lib/commonjs/web/convert/types.js +9 -0
- package/lib/commonjs/web/convert/types.js.map +1 -0
- package/lib/commonjs/web/convert/utils.js +54 -0
- package/lib/commonjs/web/convert/utils.js.map +2 -0
- package/lib/commonjs/web/create.js +48 -0
- package/lib/commonjs/web/create.js.map +1 -0
- package/lib/commonjs/web/index.js +60 -0
- package/lib/commonjs/web/index.js.map +1 -0
- package/lib/commonjs/web/listener.js +35 -0
- package/lib/commonjs/web/listener.js.map +1 -0
- package/lib/commonjs/web/mock.js +28 -0
- package/lib/commonjs/web/mock.js.map +1 -0
- package/lib/commonjs/web/mq.js +23 -0
- package/lib/commonjs/web/mq.js.map +1 -0
- package/lib/commonjs/web/registry.js +183 -0
- package/lib/commonjs/web/registry.js.map +2 -0
- package/lib/commonjs/web/runtime.js +167 -0
- package/lib/commonjs/web/runtime.js.map +2 -0
- package/lib/commonjs/web/shadowRegistry.js +114 -0
- package/lib/commonjs/web/shadowRegistry.js.map +2 -0
- package/lib/commonjs/web/state.js +69 -0
- package/lib/commonjs/web/state.js.map +2 -0
- package/lib/commonjs/web/utils/common.js +92 -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 +82 -0
- package/lib/commonjs/web/utils/unistyle.js.map +2 -0
- package/lib/commonjs/web/variants/getVariants.js +39 -0
- package/lib/commonjs/web/variants/getVariants.js.map +2 -0
- package/lib/commonjs/web/variants/index.js +28 -0
- package/lib/commonjs/web/variants/index.js.map +1 -0
- package/lib/commonjs/web/variants/useVariants.js +58 -0
- package/lib/commonjs/web/variants/useVariants.js.map +2 -0
- package/lib/module/common.js.map +1 -1
- package/lib/module/core/createUnistylesComponent.js +12 -0
- package/lib/module/core/createUnistylesComponent.js.map +1 -0
- package/lib/module/core/createUnistylesComponent.native.js +39 -0
- package/lib/module/core/createUnistylesComponent.native.js.map +1 -0
- package/lib/module/core/index.js +6 -0
- package/lib/module/core/index.js.map +1 -0
- package/lib/module/core/useBreakpoint.js +17 -0
- package/lib/module/core/useBreakpoint.js.map +1 -0
- package/lib/module/core/useBreakpoint.native.js +19 -0
- package/lib/module/core/useBreakpoint.native.js.map +2 -0
- package/lib/module/core/useTheme.js +17 -0
- package/lib/module/core/useTheme.js.map +1 -0
- package/lib/module/core/useTheme.native.js +19 -0
- package/lib/module/core/useTheme.native.js.map +1 -0
- package/lib/module/global.js +1 -1
- package/lib/module/global.js.map +1 -0
- package/lib/module/index.js +1 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/mq.js +1 -4
- package/lib/module/mq.js.map +2 -1
- package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +1 -0
- package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +2 -1
- package/lib/module/specs/NavigtionBar/UnistylesNavigationBar.nitro.js.map +1 -1
- package/lib/module/specs/NavigtionBar/index.js +1 -1
- package/lib/module/specs/NavigtionBar/index.js.map +1 -1
- package/lib/module/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -0
- package/lib/module/specs/ShadowRegistry/index.js +7 -6
- package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/module/specs/ShadowRegistry/types.js +2 -0
- package/lib/module/specs/ShadowRegistry/types.js.map +1 -1
- package/lib/module/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -0
- package/lib/module/specs/StatusBar/index.js +1 -1
- package/lib/module/specs/StatusBar/index.js.map +1 -1
- package/lib/module/specs/StyleSheet/UnistylesStyleSheet.nitro.js +1 -1
- package/lib/module/specs/StyleSheet/UnistylesStyleSheet.nitro.js.map +1 -1
- package/lib/module/specs/StyleSheet/index.js +1 -0
- package/lib/module/specs/StyleSheet/index.js.map +2 -1
- package/lib/module/specs/UnistylesRuntime/UnistylesRuntime.nitro.js.map +1 -1
- package/lib/module/specs/UnistylesRuntime/index.js +1 -1
- package/lib/module/specs/UnistylesRuntime/index.js.map +2 -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 +1 -1
- package/lib/module/specs/index.web.js.map +2 -1
- package/lib/module/specs/types.js.map +1 -0
- package/lib/module/types/accessibility.js +1 -1
- package/lib/module/types/accessibility.js.map +1 -0
- package/lib/module/types/breakpoints.js.map +1 -1
- package/lib/module/types/common.js +1 -1
- package/lib/module/types/common.js.map +1 -0
- package/lib/module/types/core.js.map +1 -0
- package/lib/module/types/index.js.map +2 -1
- package/lib/module/types/stylesheet.js.map +1 -1
- package/lib/module/types/variants.js.map +1 -0
- package/lib/module/web/convert/boxShadow.js +72 -0
- package/lib/module/web/convert/boxShadow.js.map +1 -0
- package/lib/module/web/convert/index.js +69 -0
- package/lib/module/web/convert/index.js.map +1 -0
- package/lib/module/web/convert/module.d.js +2 -0
- package/lib/module/web/convert/module.d.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.js +63 -0
- package/lib/module/web/convert/shadow.js.map +1 -0
- package/lib/module/web/convert/style.js +88 -0
- package/lib/module/web/convert/style.js.map +1 -0
- package/lib/module/web/convert/textShadow.js +65 -0
- package/lib/module/web/convert/textShadow.js.map +2 -0
- package/lib/module/web/convert/transform.js +67 -0
- package/lib/module/web/convert/transform.js.map +1 -0
- package/lib/module/web/convert/types.js +5 -0
- package/lib/module/web/convert/types.js.map +1 -0
- package/lib/module/web/convert/utils.js +42 -0
- package/lib/module/web/convert/utils.js.map +2 -0
- package/lib/module/web/create.js +39 -0
- package/lib/module/web/create.js.map +2 -0
- package/lib/module/web/index.js +25 -0
- package/lib/module/web/index.js.map +1 -0
- package/lib/module/web/listener.js +31 -0
- package/lib/module/web/listener.js.map +2 -0
- package/lib/module/web/mock.js +24 -0
- package/lib/module/web/mock.js.map +1 -0
- package/lib/module/web/mq.js +17 -0
- package/lib/module/web/mq.js.map +1 -0
- package/lib/module/web/registry.js +179 -0
- package/lib/module/web/registry.js.map +1 -0
- package/lib/module/web/runtime.js +163 -0
- package/lib/module/web/runtime.js.map +1 -0
- package/lib/module/web/shadowRegistry.js +118 -0
- package/lib/module/web/shadowRegistry.js.map +1 -0
- package/lib/module/web/state.js +65 -0
- package/lib/module/web/state.js.map +2 -0
- package/lib/module/web/utils/common.js +78 -0
- package/lib/module/web/utils/common.js.map +2 -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 +69 -0
- package/lib/module/web/utils/unistyle.js.map +2 -0
- package/lib/module/web/variants/getVariants.js +34 -0
- package/lib/module/web/variants/getVariants.js.map +1 -0
- package/lib/module/web/variants/index.js +5 -0
- package/lib/module/web/variants/index.js.map +1 -0
- package/lib/module/web/variants/useVariants.js +53 -0
- package/lib/module/web/variants/useVariants.js.map +1 -0
- package/lib/typescript/src/core/createUnistylesComponent.d.ts +6 -0
- package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +1 -0
- package/lib/typescript/src/core/createUnistylesComponent.native.d.ts +6 -0
- package/lib/typescript/src/core/createUnistylesComponent.native.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/core/useBreakpoint.d.ts +2 -0
- package/lib/typescript/src/core/useBreakpoint.d.ts.map +1 -0
- package/lib/typescript/src/core/useBreakpoint.native.d.ts +2 -0
- package/lib/typescript/src/core/useBreakpoint.native.d.ts.map +1 -0
- package/lib/typescript/src/core/useTheme.d.ts +3 -0
- package/lib/typescript/src/core/useTheme.d.ts.map +1 -0
- package/lib/typescript/src/core/useTheme.native.d.ts +3 -0
- package/lib/typescript/src/core/useTheme.native.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +6 -2
- package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/NavigtionBar/index.d.ts +5 -0
- package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +3 -3
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/StatusBar/index.d.ts +5 -0
- 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 +3 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +0 -1
- package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +3 -1
- 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 +1 -1
- 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/index.d.ts +1 -1
- 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/web/convert/boxShadow.d.ts +8 -0
- package/lib/typescript/src/web/convert/boxShadow.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/index.d.ts +3 -0
- package/lib/typescript/src/web/convert/index.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.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/style.d.ts +2 -0
- package/lib/typescript/src/web/convert/style.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/textShadow.d.ts +8 -0
- package/lib/typescript/src/web/convert/textShadow.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/transform.d.ts +4 -0
- package/lib/typescript/src/web/convert/transform.d.ts.map +1 -0
- package/lib/typescript/{web → src/web}/convert/types.d.ts +1 -1
- package/lib/typescript/src/web/convert/types.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/utils.d.ts.map +1 -0
- package/lib/typescript/src/web/create.d.ts +1443 -0
- package/lib/typescript/{web → src/web}/create.d.ts.map +1 -1
- package/lib/typescript/src/web/index.d.ts +1459 -0
- package/lib/typescript/{web → src/web}/index.d.ts.map +1 -1
- package/lib/typescript/{web/listener → src/web}/listener.d.ts +3 -2
- package/lib/typescript/src/web/listener.d.ts.map +1 -0
- package/lib/typescript/src/web/mock.d.ts +5 -0
- package/lib/typescript/src/web/mock.d.ts.map +1 -0
- package/lib/typescript/src/web/mq.d.ts +8 -0
- package/lib/typescript/src/web/mq.d.ts.map +1 -0
- package/lib/typescript/src/web/registry.d.ts +28 -0
- package/lib/typescript/src/web/registry.d.ts.map +1 -0
- package/lib/typescript/{web → src/web}/runtime.d.ts +9 -9
- package/lib/typescript/src/web/runtime.d.ts.map +1 -0
- package/lib/typescript/src/web/shadowRegistry.d.ts +16 -0
- package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -0
- package/lib/typescript/src/web/state.d.ts +18 -0
- package/lib/typescript/src/web/state.d.ts.map +1 -0
- package/lib/typescript/{web/utils.d.ts → src/web/utils/common.d.ts} +8 -9
- 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 +20 -0
- package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
- package/lib/typescript/src/web/variants/getVariants.d.ts +3 -0
- package/lib/typescript/src/web/variants/getVariants.d.ts.map +1 -0
- package/lib/typescript/src/web/variants/index.d.ts +3 -0
- package/lib/typescript/src/web/variants/index.d.ts.map +1 -0
- package/lib/typescript/src/web/variants/useVariants.d.ts +3 -0
- package/lib/typescript/src/web/variants/useVariants.d.ts.map +1 -0
- package/nitrogen/generated/android/c++/JColorScheme.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void.hpp +48 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +8 -8
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +31 -22
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +8 -3
- package/nitrogen/generated/android/c++/JOrientation.hpp +1 -1
- package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +4 -1
- package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +9 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void.kt +45 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +25 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +2 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +2 -1
- package/nitrogen/generated/android/unistyles+autolinking.cmake +13 -1
- package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +4 -2
- package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
- package/nitrogen/generated/ios/Unistyles+autolinking.rb +5 -3
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +53 -31
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +0 -29
- package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +3 -13
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +167 -104
- 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 -0
- package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +5 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +3 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +3 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +3 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +3 -0
- 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 +18 -30
- package/plugin/common.js +12 -1
- package/plugin/index.js +110 -23
- package/plugin/ref.js +64 -13
- package/plugin/style.js +82 -22
- package/plugin/stylesheet.js +53 -3
- package/plugin/variants.js +33 -0
- package/src/common.js +4 -0
- package/src/core/createUnistylesComponent.js +6 -0
- package/src/core/createUnistylesComponent.native.js +31 -0
- package/src/core/createUnistylesComponent.native.tsx +44 -0
- package/src/core/createUnistylesComponent.tsx +10 -0
- package/src/core/index.js +3 -0
- package/src/core/index.ts +3 -0
- package/src/core/useBreakpoint.js +14 -0
- package/src/core/useBreakpoint.native.js +16 -0
- package/src/core/useBreakpoint.native.ts +21 -0
- package/src/core/useBreakpoint.ts +18 -0
- package/src/core/useTheme.js +14 -0
- package/src/core/useTheme.native.js +16 -0
- package/src/core/useTheme.native.ts +22 -0
- package/src/core/useTheme.ts +19 -0
- package/src/global.js +1 -0
- package/src/index.js +3 -0
- package/src/index.ts +2 -12
- package/src/mq.js +38 -0
- package/src/specs/NativePlatform/NativePlatform.nitro.js +19 -0
- package/src/specs/NativePlatform/NativePlatform.nitro.ts +7 -3
- package/src/specs/NativePlatform/index.js +1 -0
- package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.js +1 -0
- package/src/specs/NavigtionBar/index.js +9 -0
- package/src/specs/NavigtionBar/index.ts +6 -1
- package/src/specs/ShadowRegistry/ShadowRegistry.nitro.js +1 -0
- package/src/specs/ShadowRegistry/index.js +26 -0
- package/src/specs/ShadowRegistry/index.ts +10 -9
- package/src/specs/ShadowRegistry/types.js +1 -0
- package/src/specs/StatusBar/UnistylesStatusBar.nitro.js +1 -0
- package/src/specs/StatusBar/index.js +25 -0
- package/src/specs/StatusBar/index.ts +6 -1
- package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.js +1 -0
- package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +4 -1
- package/src/specs/StyleSheet/index.js +13 -0
- package/src/specs/StyleSheet/index.ts +6 -1
- package/src/specs/TurboUnistyles/NativeTurboUnistyles.js +2 -0
- package/src/specs/TurboUnistyles/index.js +1 -0
- package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.js +1 -0
- package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +0 -1
- package/src/specs/UnistylesRuntime/index.js +20 -0
- package/src/specs/UnistylesRuntime/index.ts +4 -2
- package/src/specs/index.js +8 -0
- package/src/specs/index.ts +6 -2
- package/src/specs/index.web.js +2 -0
- package/src/specs/index.web.ts +1 -1
- package/src/specs/types.js +17 -0
- package/src/types/accessibility.js +30 -0
- package/src/types/breakpoints.js +1 -0
- package/src/types/breakpoints.ts +25 -13
- package/src/types/common.js +1 -0
- package/src/types/core.js +1 -0
- package/src/types/index.js +1 -0
- package/src/types/index.ts +1 -1
- package/src/types/stylesheet.js +2 -0
- package/src/types/stylesheet.ts +7 -5
- package/src/types/variants.js +1 -0
- package/src/types/variants.ts +7 -1
- package/src/web/convert/boxShadow.js +59 -0
- package/{web → src/web}/convert/boxShadow.ts +14 -15
- package/src/web/convert/index.js +56 -0
- package/{web → src/web}/convert/index.ts +8 -15
- package/src/web/convert/pseudo.js +131 -0
- package/src/web/convert/pseudo.ts +137 -0
- package/src/web/convert/shadow.js +50 -0
- package/src/web/convert/style.js +137 -0
- package/{web → src/web}/convert/style.ts +61 -10
- package/src/web/convert/textShadow.js +56 -0
- package/{web → src/web}/convert/textShadow.ts +13 -14
- package/src/web/convert/transform.js +65 -0
- package/{web → src/web}/convert/transform.ts +7 -8
- package/src/web/convert/types.js +2 -0
- package/{web → src/web}/convert/types.ts +1 -1
- package/src/web/convert/utils.js +39 -0
- package/src/web/create.js +36 -0
- package/src/web/create.ts +47 -0
- package/src/web/index.js +22 -0
- package/{web → src/web}/index.ts +3 -2
- package/src/web/listener.js +26 -0
- package/{web/listener → src/web}/listener.ts +3 -3
- package/src/web/mock.js +21 -0
- package/{web → src/web}/mock.ts +2 -12
- package/src/web/mq.js +14 -0
- package/{web → src/web}/mq.ts +1 -3
- package/src/web/registry.js +165 -0
- package/src/web/registry.ts +236 -0
- package/src/web/runtime.js +160 -0
- package/{web → src/web}/runtime.ts +21 -18
- package/src/web/shadowRegistry.js +96 -0
- package/src/web/shadowRegistry.ts +121 -0
- package/src/web/state.js +68 -0
- package/src/web/state.ts +94 -0
- package/src/web/utils/common.js +79 -0
- package/{web/utils.ts → src/web/utils/common.ts} +48 -36
- package/src/web/utils/index.js +2 -0
- package/src/web/utils/index.ts +2 -0
- package/src/web/utils/unistyle.js +72 -0
- package/src/web/utils/unistyle.ts +104 -0
- package/src/web/variants/getVariants.js +26 -0
- package/src/web/variants/getVariants.ts +42 -0
- package/src/web/variants/index.js +2 -0
- package/src/web/variants/index.ts +2 -0
- package/src/web/variants/useVariants.js +50 -0
- package/src/web/variants/useVariants.ts +65 -0
- package/lib/typescript/example/App.d.ts +0 -4
- package/lib/typescript/example/App.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/web/convert/boxShadow.d.ts +0 -3
- package/lib/typescript/web/convert/boxShadow.d.ts.map +0 -1
- package/lib/typescript/web/convert/breakpoint.d.ts +0 -3
- package/lib/typescript/web/convert/breakpoint.d.ts.map +0 -1
- package/lib/typescript/web/convert/index.d.ts +0 -4
- package/lib/typescript/web/convert/index.d.ts.map +0 -1
- package/lib/typescript/web/convert/shadow.d.ts.map +0 -1
- package/lib/typescript/web/convert/style.d.ts +0 -3
- package/lib/typescript/web/convert/style.d.ts.map +0 -1
- package/lib/typescript/web/convert/textShadow.d.ts +0 -3
- package/lib/typescript/web/convert/textShadow.d.ts.map +0 -1
- package/lib/typescript/web/convert/transform.d.ts +0 -5
- package/lib/typescript/web/convert/transform.d.ts.map +0 -1
- package/lib/typescript/web/convert/types.d.ts.map +0 -1
- package/lib/typescript/web/convert/utils.d.ts.map +0 -1
- package/lib/typescript/web/create.d.ts +0 -2449
- package/lib/typescript/web/index.d.ts +0 -2464
- package/lib/typescript/web/listener/index.d.ts +0 -2
- package/lib/typescript/web/listener/index.d.ts.map +0 -1
- package/lib/typescript/web/listener/listener.d.ts.map +0 -1
- package/lib/typescript/web/mock.d.ts +0 -14
- package/lib/typescript/web/mock.d.ts.map +0 -1
- package/lib/typescript/web/mq.d.ts +0 -4
- package/lib/typescript/web/mq.d.ts.map +0 -1
- package/lib/typescript/web/pseudo.d.ts +0 -4
- package/lib/typescript/web/pseudo.d.ts.map +0 -1
- package/lib/typescript/web/registry.d.ts +0 -12
- package/lib/typescript/web/registry.d.ts.map +0 -1
- package/lib/typescript/web/runtime.d.ts.map +0 -1
- package/lib/typescript/web/state.d.ts +0 -24
- package/lib/typescript/web/state.d.ts.map +0 -1
- package/lib/typescript/web/useVariants.d.ts +0 -3
- package/lib/typescript/web/useVariants.d.ts.map +0 -1
- package/lib/typescript/web/utils.d.ts.map +0 -1
- package/plugin/__tests__/dependencies.spec.js +0 -360
- package/plugin/__tests__/ref.spec.js +0 -991
- package/plugin/__tests__/stylesheet.spec.js +0 -396
- package/web/convert/breakpoint.ts +0 -21
- package/web/create.ts +0 -102
- package/web/listener/index.ts +0 -1
- package/web/pseudo.ts +0 -11
- package/web/registry.ts +0 -41
- package/web/state.ts +0 -148
- package/web/useVariants.ts +0 -99
- /package/lib/typescript/{web → src/web}/convert/shadow.d.ts +0 -0
- /package/lib/typescript/{web → src/web}/convert/utils.d.ts +0 -0
- /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
- /package/{web → src/web}/convert/module.d.ts +0 -0
- /package/{web → src/web}/convert/shadow.ts +0 -0
- /package/{web → src/web}/convert/utils.ts +0 -0
package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt
CHANGED
@@ -21,10 +21,8 @@ import com.margelo.nitro.core.*
|
|
21
21
|
@Keep
|
22
22
|
@Suppress("RedundantSuppression", "KotlinJniMissingFunction", "PropertyName", "RedundantUnitReturnType", "unused")
|
23
23
|
abstract class HybridNativePlatformSpec: HybridObject() {
|
24
|
-
protected val TAG = "HybridNativePlatformSpec"
|
25
|
-
|
26
24
|
@DoNotStrip
|
27
|
-
|
25
|
+
private var mHybridData: HybridData = initHybrid()
|
28
26
|
|
29
27
|
init {
|
30
28
|
// Pass this `HybridData` through to it's base class,
|
@@ -32,6 +30,13 @@ abstract class HybridNativePlatformSpec: HybridObject() {
|
|
32
30
|
super.updateNative(mHybridData)
|
33
31
|
}
|
34
32
|
|
33
|
+
/**
|
34
|
+
* Call from a child class to initialize HybridData with a child.
|
35
|
+
*/
|
36
|
+
override fun updateNative(hybridData: HybridData) {
|
37
|
+
mHybridData = hybridData
|
38
|
+
}
|
39
|
+
|
35
40
|
// Properties
|
36
41
|
|
37
42
|
|
@@ -111,9 +116,24 @@ abstract class HybridNativePlatformSpec: HybridObject() {
|
|
111
116
|
@DoNotStrip
|
112
117
|
@Keep
|
113
118
|
private fun registerPlatformListener(callback: Func_void_std__vector_UnistyleDependency_): Unit {
|
114
|
-
val
|
115
|
-
return
|
119
|
+
val __result = registerPlatformListener(callback.toLambda())
|
120
|
+
return __result
|
116
121
|
}
|
122
|
+
|
123
|
+
@DoNotStrip
|
124
|
+
@Keep
|
125
|
+
abstract fun registerImeListener(callback: () -> Unit): Unit
|
126
|
+
|
127
|
+
@DoNotStrip
|
128
|
+
@Keep
|
129
|
+
private fun registerImeListener(callback: Func_void): Unit {
|
130
|
+
val __result = registerImeListener(callback.toLambda())
|
131
|
+
return __result
|
132
|
+
}
|
133
|
+
|
134
|
+
@DoNotStrip
|
135
|
+
@Keep
|
136
|
+
abstract fun unregisterPlatformListeners(): Unit
|
117
137
|
|
118
138
|
private external fun initHybrid(): HybridData
|
119
139
|
|
@@ -47,6 +47,18 @@ target_link_libraries(
|
|
47
47
|
unistyles
|
48
48
|
fbjni::fbjni # <-- Facebook C++ JNI helpers
|
49
49
|
ReactAndroid::jsi # <-- RN: JSI
|
50
|
-
ReactAndroid::react_nativemodule_core # <-- RN: TurboModules Core
|
51
50
|
react-native-nitro-modules::NitroModules # <-- NitroModules Core :)
|
52
51
|
)
|
52
|
+
|
53
|
+
# Link react-native (different prefab between RN 0.75 and RN 0.76)
|
54
|
+
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
55
|
+
target_link_libraries(
|
56
|
+
unistyles
|
57
|
+
ReactAndroid::reactnative # <-- RN: Native Modules umbrella prefab
|
58
|
+
)
|
59
|
+
else()
|
60
|
+
target_link_libraries(
|
61
|
+
unistyles
|
62
|
+
ReactAndroid::react_nativemodule_core # <-- RN: TurboModules Core
|
63
|
+
)
|
64
|
+
endif()
|
@@ -1,11 +1,11 @@
|
|
1
1
|
///
|
2
|
-
///
|
2
|
+
/// unistylesOnLoad.cpp
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
4
4
|
/// https://github.com/mrousavy/nitro
|
5
5
|
/// Copyright © 2024 Marc Rousavy @ Margelo
|
6
6
|
///
|
7
7
|
|
8
|
-
#include "
|
8
|
+
#include "unistylesOnLoad.hpp"
|
9
9
|
|
10
10
|
#include <jni.h>
|
11
11
|
#include <fbjni/fbjni.h>
|
@@ -13,6 +13,7 @@
|
|
13
13
|
|
14
14
|
#include "JHybridNativePlatformSpec.hpp"
|
15
15
|
#include "JFunc_void_std__vector_UnistyleDependency_.hpp"
|
16
|
+
#include "JFunc_void.hpp"
|
16
17
|
|
17
18
|
namespace margelo::nitro::unistyles {
|
18
19
|
|
@@ -25,6 +26,7 @@ int initialize(JavaVM* vm) {
|
|
25
26
|
// Register native JNI methods
|
26
27
|
margelo::nitro::unistyles::JHybridNativePlatformSpec::registerNatives();
|
27
28
|
margelo::nitro::unistyles::JFunc_void_std__vector_UnistyleDependency_::registerNatives();
|
29
|
+
margelo::nitro::unistyles::JFunc_void::registerNatives();
|
28
30
|
|
29
31
|
// Register Nitro Hybrid Objects
|
30
32
|
|
@@ -24,7 +24,7 @@ def add_nitrogen_files(spec)
|
|
24
24
|
|
25
25
|
spec.dependency "NitroModules"
|
26
26
|
|
27
|
-
current_source_files = spec.attributes_hash['source_files']
|
27
|
+
current_source_files = Array(spec.attributes_hash['source_files'])
|
28
28
|
spec.source_files = current_source_files + [
|
29
29
|
# Generated cross-platform specs
|
30
30
|
"nitrogen/generated/shared/**/*.{h,hpp,c,cpp,swift}",
|
@@ -32,7 +32,7 @@ def add_nitrogen_files(spec)
|
|
32
32
|
"nitrogen/generated/ios/**/*.{h,hpp,c,cpp,mm,swift}",
|
33
33
|
]
|
34
34
|
|
35
|
-
current_public_header_files = spec.attributes_hash['public_header_files']
|
35
|
+
current_public_header_files = Array(spec.attributes_hash['public_header_files'])
|
36
36
|
spec.public_header_files = current_public_header_files + [
|
37
37
|
# Generated specs
|
38
38
|
"nitrogen/generated/shared/**/*.{h,hpp}",
|
@@ -40,7 +40,7 @@ def add_nitrogen_files(spec)
|
|
40
40
|
"nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp"
|
41
41
|
]
|
42
42
|
|
43
|
-
current_private_header_files = spec.attributes_hash['private_header_files']
|
43
|
+
current_private_header_files = Array(spec.attributes_hash['private_header_files'])
|
44
44
|
spec.private_header_files = current_private_header_files + [
|
45
45
|
# iOS specific specs
|
46
46
|
"nitrogen/generated/ios/c++/**/*.{h,hpp}",
|
@@ -52,5 +52,7 @@ def add_nitrogen_files(spec)
|
|
52
52
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
|
53
53
|
# Enables C++ <-> Swift interop (by default it's only C)
|
54
54
|
"SWIFT_OBJC_INTEROP_MODE" => "objcxx",
|
55
|
+
# Enables stricter modular headers
|
56
|
+
"DEFINES_MODULE" => "YES",
|
55
57
|
})
|
56
58
|
end
|
@@ -6,3 +6,28 @@
|
|
6
6
|
///
|
7
7
|
|
8
8
|
#include "Unistyles-Swift-Cxx-Bridge.hpp"
|
9
|
+
|
10
|
+
// Include C++ implementation defined types
|
11
|
+
#include "HybridNativePlatformSpecSwift.hpp"
|
12
|
+
#include "Unistyles-Swift-Cxx-Umbrella.hpp"
|
13
|
+
#include <NitroModules/HybridContext.hpp>
|
14
|
+
|
15
|
+
namespace margelo::nitro::unistyles::bridge::swift {
|
16
|
+
|
17
|
+
// pragma MARK: std::shared_ptr<margelo::nitro::unistyles::HybridNativePlatformSpec>
|
18
|
+
std::shared_ptr<margelo::nitro::unistyles::HybridNativePlatformSpec> create_std__shared_ptr_margelo__nitro__unistyles__HybridNativePlatformSpec_(void* _Nonnull swiftUnsafePointer) {
|
19
|
+
Unistyles::HybridNativePlatformSpecCxx swiftPart = Unistyles::HybridNativePlatformSpecCxxUnsafe::fromUnsafe(swiftUnsafePointer);
|
20
|
+
return HybridContext::getOrCreate<margelo::nitro::unistyles::HybridNativePlatformSpecSwift>(swiftPart);
|
21
|
+
}
|
22
|
+
void* _Nonnull get_std__shared_ptr_margelo__nitro__unistyles__HybridNativePlatformSpec_(std__shared_ptr_margelo__nitro__unistyles__HybridNativePlatformSpec_ cppType) {
|
23
|
+
std::shared_ptr<margelo::nitro::unistyles::HybridNativePlatformSpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::unistyles::HybridNativePlatformSpecSwift>(cppType);
|
24
|
+
#ifdef NITRO_DEBUG
|
25
|
+
if (swiftWrapper == nullptr) [[unlikely]] {
|
26
|
+
throw std::runtime_error("Class \"HybridNativePlatformSpec\" is not implemented in Swift!");
|
27
|
+
}
|
28
|
+
#endif
|
29
|
+
Unistyles::HybridNativePlatformSpecCxx swiftPart = swiftWrapper->getSwiftPart();
|
30
|
+
return Unistyles::HybridNativePlatformSpecCxxUnsafe::toUnsafe(swiftPart);
|
31
|
+
}
|
32
|
+
|
33
|
+
} // namespace margelo::nitro::unistyles::bridge::swift
|
@@ -8,28 +8,21 @@
|
|
8
8
|
#pragma once
|
9
9
|
|
10
10
|
// Forward declarations of C++ defined types
|
11
|
+
// Forward declaration of `HybridNativePlatformSpec` to properly resolve imports.
|
12
|
+
namespace margelo::nitro::unistyles { class HybridNativePlatformSpec; }
|
11
13
|
// Forward declaration of `UnistyleDependency` to properly resolve imports.
|
12
14
|
namespace margelo::nitro::unistyles { enum class UnistyleDependency; }
|
13
15
|
|
16
|
+
// Forward declarations of Swift defined types
|
17
|
+
// Forward declaration of `HybridNativePlatformSpecCxx` to properly resolve imports.
|
18
|
+
namespace Unistyles { class HybridNativePlatformSpecCxx; }
|
19
|
+
|
14
20
|
// Include C++ defined types
|
15
|
-
#
|
16
|
-
|
17
|
-
#
|
18
|
-
#
|
19
|
-
|
20
|
-
#endif
|
21
|
-
#if __has_include(<memory>)
|
22
|
-
#include <memory>
|
23
|
-
#endif
|
24
|
-
#if __has_include(<optional>)
|
25
|
-
#include <optional>
|
26
|
-
#endif
|
27
|
-
#if __has_include(<string>)
|
28
|
-
#include <string>
|
29
|
-
#endif
|
30
|
-
#if __has_include(<vector>)
|
31
|
-
#include <vector>
|
32
|
-
#endif
|
21
|
+
#include "HybridNativePlatformSpec.hpp"
|
22
|
+
#include "UnistyleDependency.hpp"
|
23
|
+
#include <functional>
|
24
|
+
#include <memory>
|
25
|
+
#include <vector>
|
33
26
|
|
34
27
|
/**
|
35
28
|
* Contains specialized versions of C++ templated types so they can be accessed from Swift,
|
@@ -37,6 +30,7 @@ namespace margelo::nitro::unistyles { enum class UnistyleDependency; }
|
|
37
30
|
*/
|
38
31
|
namespace margelo::nitro::unistyles::bridge::swift {
|
39
32
|
|
33
|
+
// pragma MARK: std::vector<UnistyleDependency>
|
40
34
|
/**
|
41
35
|
* Specialized version of `std::vector<UnistyleDependency>`.
|
42
36
|
*/
|
@@ -47,6 +41,7 @@ namespace margelo::nitro::unistyles::bridge::swift {
|
|
47
41
|
return vector;
|
48
42
|
}
|
49
43
|
|
44
|
+
// pragma MARK: std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>
|
50
45
|
/**
|
51
46
|
* Specialized version of `std::function<void(const std::vector<UnistyleDependency>&)>`.
|
52
47
|
*/
|
@@ -54,18 +49,17 @@ namespace margelo::nitro::unistyles::bridge::swift {
|
|
54
49
|
/**
|
55
50
|
* Wrapper class for a `std::function<void(const std::vector<UnistyleDependency>& / * dependencies * /)>`, this can be used from Swift.
|
56
51
|
*/
|
57
|
-
class Func_void_std__vector_UnistyleDependency__Wrapper {
|
52
|
+
class Func_void_std__vector_UnistyleDependency__Wrapper final {
|
58
53
|
public:
|
59
|
-
explicit Func_void_std__vector_UnistyleDependency__Wrapper(const std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>& func):
|
60
|
-
explicit Func_void_std__vector_UnistyleDependency__Wrapper(std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>&& func):
|
61
|
-
|
62
|
-
|
63
|
-
function(dependencies);
|
54
|
+
explicit Func_void_std__vector_UnistyleDependency__Wrapper(const std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>& func): _function(func) {}
|
55
|
+
explicit Func_void_std__vector_UnistyleDependency__Wrapper(std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>&& func): _function(std::move(func)) {}
|
56
|
+
inline void call(std::vector<UnistyleDependency> dependencies) const {
|
57
|
+
_function(dependencies);
|
64
58
|
}
|
65
|
-
|
66
|
-
std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>
|
59
|
+
private:
|
60
|
+
std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)> _function;
|
67
61
|
};
|
68
|
-
inline Func_void_std__vector_UnistyleDependency_ create_Func_void_std__vector_UnistyleDependency_(void* closureHolder, void(*call)(void* /* closureHolder */, std::vector<UnistyleDependency>), void(*destroy)(void*)) {
|
62
|
+
inline Func_void_std__vector_UnistyleDependency_ create_Func_void_std__vector_UnistyleDependency_(void* _Nonnull closureHolder, void(* _Nonnull call)(void* _Nonnull /* closureHolder */, std::vector<UnistyleDependency>), void(* _Nonnull destroy)(void* _Nonnull)) {
|
69
63
|
std::shared_ptr<void> sharedClosureHolder(closureHolder, destroy);
|
70
64
|
return Func_void_std__vector_UnistyleDependency_([sharedClosureHolder, call](const std::vector<UnistyleDependency>& dependencies) -> void {
|
71
65
|
call(sharedClosureHolder.get(), dependencies);
|
@@ -75,12 +69,40 @@ namespace margelo::nitro::unistyles::bridge::swift {
|
|
75
69
|
return std::make_shared<Func_void_std__vector_UnistyleDependency__Wrapper>(value);
|
76
70
|
}
|
77
71
|
|
72
|
+
// pragma MARK: std::function<void()>
|
78
73
|
/**
|
79
|
-
* Specialized version of `std::
|
74
|
+
* Specialized version of `std::function<void()>`.
|
80
75
|
*/
|
81
|
-
using
|
82
|
-
|
83
|
-
|
76
|
+
using Func_void = std::function<void()>;
|
77
|
+
/**
|
78
|
+
* Wrapper class for a `std::function<void()>`, this can be used from Swift.
|
79
|
+
*/
|
80
|
+
class Func_void_Wrapper final {
|
81
|
+
public:
|
82
|
+
explicit Func_void_Wrapper(const std::function<void()>& func): _function(func) {}
|
83
|
+
explicit Func_void_Wrapper(std::function<void()>&& func): _function(std::move(func)) {}
|
84
|
+
inline void call() const {
|
85
|
+
_function();
|
86
|
+
}
|
87
|
+
private:
|
88
|
+
std::function<void()> _function;
|
89
|
+
};
|
90
|
+
inline Func_void create_Func_void(void* _Nonnull closureHolder, void(* _Nonnull call)(void* _Nonnull /* closureHolder */), void(* _Nonnull destroy)(void* _Nonnull)) {
|
91
|
+
std::shared_ptr<void> sharedClosureHolder(closureHolder, destroy);
|
92
|
+
return Func_void([sharedClosureHolder, call]() -> void {
|
93
|
+
call(sharedClosureHolder.get());
|
94
|
+
});
|
95
|
+
}
|
96
|
+
inline std::shared_ptr<Func_void_Wrapper> share_Func_void(const Func_void& value) {
|
97
|
+
return std::make_shared<Func_void_Wrapper>(value);
|
84
98
|
}
|
99
|
+
|
100
|
+
// pragma MARK: std::shared_ptr<margelo::nitro::unistyles::HybridNativePlatformSpec>
|
101
|
+
/**
|
102
|
+
* Specialized version of `std::shared_ptr<margelo::nitro::unistyles::HybridNativePlatformSpec>`.
|
103
|
+
*/
|
104
|
+
using std__shared_ptr_margelo__nitro__unistyles__HybridNativePlatformSpec_ = std::shared_ptr<margelo::nitro::unistyles::HybridNativePlatformSpec>;
|
105
|
+
std::shared_ptr<margelo::nitro::unistyles::HybridNativePlatformSpec> create_std__shared_ptr_margelo__nitro__unistyles__HybridNativePlatformSpec_(void* _Nonnull swiftUnsafePointer);
|
106
|
+
void* _Nonnull get_std__shared_ptr_margelo__nitro__unistyles__HybridNativePlatformSpec_(std__shared_ptr_margelo__nitro__unistyles__HybridNativePlatformSpec_ cppType);
|
85
107
|
|
86
108
|
} // namespace margelo::nitro::unistyles::bridge::swift
|
@@ -14,24 +14,12 @@ namespace margelo::nitro::unistyles { enum class ColorScheme; }
|
|
14
14
|
namespace margelo::nitro::unistyles { struct Dimensions; }
|
15
15
|
// Forward declaration of `HybridNativePlatformSpec` to properly resolve imports.
|
16
16
|
namespace margelo::nitro::unistyles { class HybridNativePlatformSpec; }
|
17
|
-
// Forward declaration of `HybridUnistylesNavigationBarSpec` to properly resolve imports.
|
18
|
-
namespace margelo::nitro::unistyles { class HybridUnistylesNavigationBarSpec; }
|
19
|
-
// Forward declaration of `HybridUnistylesRuntimeSpec` to properly resolve imports.
|
20
|
-
namespace margelo::nitro::unistyles { class HybridUnistylesRuntimeSpec; }
|
21
|
-
// Forward declaration of `HybridUnistylesShadowRegistrySpec` to properly resolve imports.
|
22
|
-
namespace margelo::nitro::unistyles { class HybridUnistylesShadowRegistrySpec; }
|
23
|
-
// Forward declaration of `HybridUnistylesStatusBarSpec` to properly resolve imports.
|
24
|
-
namespace margelo::nitro::unistyles { class HybridUnistylesStatusBarSpec; }
|
25
|
-
// Forward declaration of `HybridUnistylesStyleSheetSpec` to properly resolve imports.
|
26
|
-
namespace margelo::nitro::unistyles { class HybridUnistylesStyleSheetSpec; }
|
27
17
|
// Forward declaration of `Insets` to properly resolve imports.
|
28
18
|
namespace margelo::nitro::unistyles { struct Insets; }
|
29
19
|
// Forward declaration of `Orientation` to properly resolve imports.
|
30
20
|
namespace margelo::nitro::unistyles { enum class Orientation; }
|
31
21
|
// Forward declaration of `UnistyleDependency` to properly resolve imports.
|
32
22
|
namespace margelo::nitro::unistyles { enum class UnistyleDependency; }
|
33
|
-
// Forward declaration of `UnistylesCxxMiniRuntime` to properly resolve imports.
|
34
|
-
namespace margelo::nitro::unistyles { struct UnistylesCxxMiniRuntime; }
|
35
23
|
// Forward declaration of `UnistylesNativeMiniRuntime` to properly resolve imports.
|
36
24
|
namespace margelo::nitro::unistyles { struct UnistylesNativeMiniRuntime; }
|
37
25
|
|
@@ -39,19 +27,12 @@ namespace margelo::nitro::unistyles { struct UnistylesNativeMiniRuntime; }
|
|
39
27
|
#include "ColorScheme.hpp"
|
40
28
|
#include "Dimensions.hpp"
|
41
29
|
#include "HybridNativePlatformSpec.hpp"
|
42
|
-
#include "HybridUnistylesNavigationBarSpec.hpp"
|
43
|
-
#include "HybridUnistylesRuntimeSpec.hpp"
|
44
|
-
#include "HybridUnistylesShadowRegistrySpec.hpp"
|
45
|
-
#include "HybridUnistylesStatusBarSpec.hpp"
|
46
|
-
#include "HybridUnistylesStyleSheetSpec.hpp"
|
47
30
|
#include "Insets.hpp"
|
48
31
|
#include "Orientation.hpp"
|
49
32
|
#include "UnistyleDependency.hpp"
|
50
|
-
#include "UnistylesCxxMiniRuntime.hpp"
|
51
33
|
#include "UnistylesNativeMiniRuntime.hpp"
|
52
34
|
#include <functional>
|
53
35
|
#include <memory>
|
54
|
-
#include <optional>
|
55
36
|
#include <string>
|
56
37
|
#include <vector>
|
57
38
|
|
@@ -67,16 +48,6 @@ namespace margelo::nitro::unistyles { struct UnistylesNativeMiniRuntime; }
|
|
67
48
|
// Forward declarations of Swift defined types
|
68
49
|
// Forward declaration of `HybridNativePlatformSpecCxx` to properly resolve imports.
|
69
50
|
namespace Unistyles { class HybridNativePlatformSpecCxx; }
|
70
|
-
// Forward declaration of `HybridUnistylesNavigationBarSpecCxx` to properly resolve imports.
|
71
|
-
namespace Unistyles { class HybridUnistylesNavigationBarSpecCxx; }
|
72
|
-
// Forward declaration of `HybridUnistylesRuntimeSpecCxx` to properly resolve imports.
|
73
|
-
namespace Unistyles { class HybridUnistylesRuntimeSpecCxx; }
|
74
|
-
// Forward declaration of `HybridUnistylesShadowRegistrySpecCxx` to properly resolve imports.
|
75
|
-
namespace Unistyles { class HybridUnistylesShadowRegistrySpecCxx; }
|
76
|
-
// Forward declaration of `HybridUnistylesStatusBarSpecCxx` to properly resolve imports.
|
77
|
-
namespace Unistyles { class HybridUnistylesStatusBarSpecCxx; }
|
78
|
-
// Forward declaration of `HybridUnistylesStyleSheetSpecCxx` to properly resolve imports.
|
79
|
-
namespace Unistyles { class HybridUnistylesStyleSheetSpecCxx; }
|
80
51
|
|
81
52
|
// Include Swift defined types
|
82
53
|
#if __has_include("Unistyles-Swift.h")
|
@@ -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):
|
@@ -143,6 +143,12 @@ namespace margelo::nitro::unistyles {
|
|
143
143
|
inline void registerPlatformListener(const std::function<void(const std::vector<UnistyleDependency>& /* dependencies */)>& callback) override {
|
144
144
|
_swiftPart.registerPlatformListener(callback);
|
145
145
|
}
|
146
|
+
inline void registerImeListener(const std::function<void()>& callback) override {
|
147
|
+
_swiftPart.registerImeListener(callback);
|
148
|
+
}
|
149
|
+
inline void unregisterPlatformListeners() override {
|
150
|
+
_swiftPart.unregisterPlatformListeners();
|
151
|
+
}
|
146
152
|
|
147
153
|
private:
|
148
154
|
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
|
|
@@ -50,16 +50,6 @@ public protocol HybridNativePlatformSpec: HybridObjectSpec {
|
|
50
50
|
func setImmersiveMode(isEnabled: Bool) throws -> Void
|
51
51
|
func getMiniRuntime() throws -> UnistylesNativeMiniRuntime
|
52
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
|
-
}
|
53
|
+
func registerImeListener(callback: @escaping (() -> Void)) throws -> Void
|
54
|
+
func unregisterPlatformListeners() throws -> Void
|
65
55
|
}
|