react-native-unistyles 3.0.0-alpha.3 → 3.0.0-alpha.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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 +17 -16
- package/cxx/core/UnistylesCommitHook.h +7 -11
- package/cxx/core/UnistylesCommitShadowNode.h +13 -0
- package/cxx/core/UnistylesMountHook.cpp +26 -0
- package/cxx/core/UnistylesMountHook.h +24 -0
- package/cxx/core/UnistylesRegistry.cpp +85 -88
- 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 +144 -46
- package/cxx/hybridObjects/HybridStyleSheet.h +23 -4
- package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +51 -8
- package/cxx/hybridObjects/HybridUnistylesRuntime.h +12 -1
- package/cxx/parser/Parser.cpp +209 -176
- package/cxx/parser/Parser.h +10 -14
- package/cxx/shadowTree/ShadowLeafUpdate.h +1 -1
- package/cxx/shadowTree/ShadowTrafficController.h +37 -0
- package/cxx/shadowTree/ShadowTreeManager.cpp +16 -15
- package/cxx/shadowTree/ShadowTreeManager.h +2 -1
- 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 +11 -1
- package/lib/commonjs/common.js.map +1 -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 +45 -0
- package/lib/commonjs/core/createUnistylesComponent.native.js.map +2 -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 +2 -0
- package/lib/commonjs/core/useTheme.js +22 -0
- package/lib/commonjs/core/useTheme.js.map +2 -0
- package/lib/commonjs/core/useTheme.native.js +24 -0
- package/lib/commonjs/core/useTheme.native.js.map +2 -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 +6 -4
- package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -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/ShadowRegistry.nitro.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/UnistylesStatusBar.nitro.js.map +1 -1
- package/lib/commonjs/specs/StatusBar/index.js +1 -1
- package/lib/commonjs/specs/StatusBar/index.js.map +2 -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 +1 -1
- package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -3
- package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.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/types.js.map +1 -0
- package/lib/commonjs/types/accessibility.js +9 -9
- package/lib/commonjs/types/accessibility.js.map +1 -1
- package/lib/commonjs/types/common.js +3 -0
- package/lib/commonjs/types/core.js.map +1 -1
- package/lib/commonjs/types/index.js.map +2 -1
- package/lib/commonjs/types/stylesheet.js +1 -2
- package/lib/commonjs/types/stylesheet.js.map +1 -1
- package/lib/commonjs/web/convert/boxShadow.js +77 -0
- package/lib/commonjs/web/convert/boxShadow.js.map +1 -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 +68 -0
- package/lib/commonjs/web/convert/shadow.js.map +2 -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 +70 -0
- package/lib/commonjs/web/convert/textShadow.js.map +2 -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 +2 -0
- package/lib/commonjs/web/listener.js +35 -0
- package/lib/commonjs/web/listener.js.map +2 -0
- package/lib/commonjs/web/mock.js +28 -0
- package/lib/commonjs/web/mock.js.map +2 -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 +90 -0
- package/lib/commonjs/web/utils/common.js.map +2 -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 +1 -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/core/createUnistylesComponent.js +11 -0
- package/lib/module/core/createUnistylesComponent.js.map +2 -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 +2 -0
- package/lib/module/core/useTheme.native.js +19 -0
- package/lib/module/core/useTheme.native.js.map +2 -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/NativePlatform/index.js.map +1 -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 +2 -1
- package/lib/module/specs/ShadowRegistry/ShadowRegistry.nitro.js.map +1 -1
- package/lib/module/specs/ShadowRegistry/index.js +7 -6
- package/lib/module/specs/ShadowRegistry/index.js.map +2 -1
- package/lib/module/specs/ShadowRegistry/types.js +2 -0
- package/lib/module/specs/ShadowRegistry/types.js.map +1 -0
- package/lib/module/specs/StatusBar/UnistylesStatusBar.nitro.js.map +1 -1
- package/lib/module/specs/StatusBar/index.js +1 -1
- 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 +2 -1
- package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +2 -1
- package/lib/module/specs/UnistylesRuntime/UnistylesRuntime.nitro.js.map +1 -0
- package/lib/module/specs/UnistylesRuntime/index.js +1 -1
- 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 +1 -1
- package/lib/module/specs/index.web.js.map +2 -1
- package/lib/module/specs/types.js +10 -10
- package/lib/module/specs/types.js.map +1 -1
- 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 -0
- 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 -1
- 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 +2 -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 +2 -0
- package/lib/module/web/convert/shadow.js +59 -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 +68 -0
- package/lib/module/web/convert/textShadow.js.map +1 -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 +1 -0
- package/lib/module/web/create.js +43 -0
- package/lib/module/web/create.js.map +1 -0
- package/lib/module/web/index.js +25 -0
- package/lib/module/web/index.js.map +2 -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 +2 -0
- package/lib/module/web/mq.js +17 -0
- package/lib/module/web/mq.js.map +1 -0
- package/lib/module/web/registry.js +181 -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 +80 -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 +69 -0
- package/lib/module/web/utils/unistyle.js.map +1 -0
- package/lib/module/web/variants/getVariants.js +34 -0
- package/lib/module/web/variants/getVariants.js.map +2 -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 +2 -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
|
}
|