react-native-unistyles 3.0.0-alpha.4 → 3.0.0-alpha.40
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/Unistyles.podspec +1 -1
- package/android/CMakeLists.txt +19 -45
- package/android/build.gradle +6 -5
- package/android/src/main/cxx/NativeUnistylesModule.cpp +71 -0
- package/android/src/main/cxx/NativeUnistylesModule.h +42 -0
- package/android/src/main/cxx/cpp-adapter.cpp +8 -86
- package/android/src/main/java/com/unistyles/Equatable.kt +61 -0
- package/android/src/main/java/com/unistyles/NativePlatform+android.kt +285 -0
- package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +152 -0
- package/android/src/main/java/com/unistyles/NativePlatform+listener.kt +59 -0
- package/android/src/main/java/com/unistyles/UnistylesModule.kt +51 -0
- package/android/src/main/java/com/unistyles/UnistylesPackage.kt +16 -14
- package/cxx/NativePlatform.h +11 -0
- package/cxx/common/Constants.h +3 -0
- package/cxx/common/Helpers.h +140 -5
- package/cxx/core/HostStyle.cpp +10 -6
- package/cxx/core/HostStyle.h +4 -0
- package/cxx/core/StyleSheet.h +0 -2
- package/cxx/core/StyleSheetRegistry.cpp +9 -17
- package/cxx/core/StyleSheetRegistry.h +3 -4
- package/cxx/core/Unistyle.h +8 -11
- package/cxx/core/UnistyleData.h +23 -0
- package/cxx/core/UnistyleWrapper.h +108 -13
- 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 +27 -0
- package/cxx/core/UnistylesRegistry.cpp +119 -83
- package/cxx/core/UnistylesRegistry.h +16 -14
- package/cxx/core/UnistylesState.cpp +29 -8
- package/cxx/core/UnistylesState.h +5 -2
- package/cxx/hybridObjects/HybridNavigationBar.cpp +0 -4
- package/cxx/hybridObjects/HybridNavigationBar.h +3 -4
- package/cxx/hybridObjects/HybridShadowRegistry.cpp +16 -11
- package/cxx/hybridObjects/HybridStatusBar.cpp +0 -4
- package/cxx/hybridObjects/HybridStatusBar.h +3 -4
- package/cxx/hybridObjects/HybridStyleSheet.cpp +154 -23
- package/cxx/hybridObjects/HybridStyleSheet.h +27 -5
- package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +96 -14
- package/cxx/hybridObjects/HybridUnistylesRuntime.h +19 -3
- package/cxx/parser/Parser.cpp +226 -175
- package/cxx/parser/Parser.h +11 -15
- package/cxx/shadowTree/ShadowLeafUpdate.h +2 -1
- package/cxx/shadowTree/ShadowTrafficController.h +71 -0
- package/cxx/shadowTree/ShadowTreeManager.cpp +23 -18
- package/cxx/shadowTree/ShadowTreeManager.h +3 -2
- package/ios/Equatable.swift +2 -1
- package/ios/NativePlatform+ios.swift +21 -7
- package/ios/NativePlatform+keyboard.swift +83 -0
- package/ios/NativePlatformListener+ios.swift +37 -24
- package/ios/Unistyles.h +1 -0
- package/ios/UnistylesModuleOnLoad.h +8 -2
- package/ios/UnistylesModuleOnLoad.mm +9 -1
- package/lib/commonjs/components/Display.js +18 -0
- package/lib/commonjs/components/Display.js.map +1 -0
- package/lib/commonjs/components/Hide.js +18 -0
- package/lib/commonjs/components/Hide.js.map +1 -0
- package/lib/commonjs/components/index.js +20 -0
- package/lib/commonjs/components/index.js.map +1 -0
- package/lib/commonjs/components/useMedia.js +59 -0
- package/lib/commonjs/components/useMedia.js.map +1 -0
- package/lib/commonjs/components/useMedia.web.js +43 -0
- package/lib/commonjs/components/useMedia.web.js.map +1 -0
- package/lib/commonjs/core/createUnistylesComponent.js +79 -0
- package/lib/commonjs/core/createUnistylesComponent.js.map +1 -0
- package/lib/commonjs/core/createUnistylesComponent.native.js +82 -0
- package/lib/commonjs/core/createUnistylesComponent.native.js.map +1 -0
- package/lib/commonjs/core/index.js +13 -0
- package/lib/commonjs/core/index.js.map +1 -0
- package/lib/commonjs/index.js +21 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mq.js +25 -12
- package/lib/commonjs/mq.js.map +1 -1
- package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +1 -0
- package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
- package/lib/commonjs/specs/NavigtionBar/index.js +0 -15
- package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -1
- package/lib/commonjs/specs/ShadowRegistry/index.js +10 -6
- package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/commonjs/specs/StatusBar/index.js +0 -5
- package/lib/commonjs/specs/StatusBar/index.js.map +1 -1
- package/lib/commonjs/specs/StyleSheet/index.js +1 -0
- package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
- package/lib/commonjs/specs/UnistylesRuntime/index.js +1 -3
- 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/types/stylesheet.js.map +1 -1
- package/lib/commonjs/utils.js +26 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/commonjs/web/convert/index.js +79 -0
- package/lib/commonjs/web/convert/index.js.map +1 -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/object/boxShadow.js +59 -0
- package/lib/commonjs/web/convert/object/boxShadow.js.map +1 -0
- package/lib/commonjs/web/convert/object/filter.js +42 -0
- package/lib/commonjs/web/convert/object/filter.js.map +1 -0
- package/lib/commonjs/web/convert/object/index.js +39 -0
- package/lib/commonjs/web/convert/object/index.js.map +1 -0
- package/lib/commonjs/web/convert/object/objectStyle.js +56 -0
- package/lib/commonjs/web/convert/object/objectStyle.js.map +1 -0
- package/lib/commonjs/web/convert/object/transform.js +27 -0
- package/lib/commonjs/web/convert/object/transform.js.map +1 -0
- package/lib/commonjs/web/convert/pseudo.js +10 -0
- package/lib/commonjs/web/convert/pseudo.js.map +1 -0
- package/lib/commonjs/web/convert/shadow/boxShadow.js +62 -0
- package/lib/commonjs/web/convert/shadow/boxShadow.js.map +1 -0
- package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js +38 -0
- package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
- package/lib/commonjs/web/convert/shadow/index.js +28 -0
- package/lib/commonjs/web/convert/shadow/index.js.map +1 -0
- package/lib/commonjs/web/convert/shadow/textShadow.js +59 -0
- package/lib/commonjs/web/convert/shadow/textShadow.js.map +1 -0
- package/lib/commonjs/web/convert/style.js +93 -0
- package/lib/commonjs/web/convert/style.js.map +1 -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 +59 -0
- package/lib/commonjs/web/convert/utils.js.map +1 -0
- package/lib/commonjs/web/create.js +49 -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 +61 -0
- package/lib/commonjs/web/listener.js.map +1 -0
- package/lib/commonjs/web/mock.js +27 -0
- package/lib/commonjs/web/mock.js.map +1 -0
- package/lib/commonjs/web/registry.js +172 -0
- package/lib/commonjs/web/registry.js.map +1 -0
- package/lib/commonjs/web/runtime.js +173 -0
- package/lib/commonjs/web/runtime.js.map +1 -0
- package/lib/commonjs/web/shadowRegistry.js +142 -0
- package/lib/commonjs/web/shadowRegistry.js.map +1 -0
- package/lib/commonjs/web/state.js +73 -0
- package/lib/commonjs/web/state.js.map +1 -0
- package/lib/commonjs/web/utils/common.js +39 -0
- package/lib/commonjs/web/utils/common.js.map +1 -0
- package/lib/commonjs/web/utils/index.js +28 -0
- package/lib/commonjs/web/utils/index.js.map +1 -0
- package/lib/commonjs/web/utils/unistyle.js +85 -0
- package/lib/commonjs/web/utils/unistyle.js.map +1 -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 +59 -0
- package/lib/commonjs/web/variants/useVariants.js.map +1 -0
- package/lib/module/components/Display.js +13 -0
- package/lib/module/components/Display.js.map +1 -0
- package/lib/module/components/Hide.js +13 -0
- package/lib/module/components/Hide.js.map +1 -0
- package/lib/module/components/index.js +5 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/components/useMedia.js +54 -0
- package/lib/module/components/useMedia.js.map +1 -0
- package/lib/module/components/useMedia.web.js +38 -0
- package/lib/module/components/useMedia.web.js.map +1 -0
- package/lib/module/core/createUnistylesComponent.js +72 -0
- package/lib/module/core/createUnistylesComponent.js.map +1 -0
- package/lib/module/core/createUnistylesComponent.native.js +75 -0
- package/lib/module/core/createUnistylesComponent.native.js.map +1 -0
- package/lib/module/core/index.js +4 -0
- package/lib/module/core/index.js.map +1 -0
- package/lib/module/index.js +2 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/mq.js +21 -11
- package/lib/module/mq.js.map +1 -1
- package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +1 -0
- package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
- package/lib/module/specs/NavigtionBar/index.js +0 -10
- package/lib/module/specs/NavigtionBar/index.js.map +1 -1
- package/lib/module/specs/ShadowRegistry/index.js +10 -6
- package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/module/specs/StatusBar/index.js +1 -6
- package/lib/module/specs/StatusBar/index.js.map +1 -1
- package/lib/module/specs/StyleSheet/index.js +1 -0
- package/lib/module/specs/StyleSheet/index.js.map +1 -1
- package/lib/module/specs/UnistylesRuntime/index.js +1 -3
- 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 +1 -1
- package/lib/module/types/stylesheet.js.map +1 -1
- package/lib/module/utils.js +21 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/module/web/convert/index.js +74 -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/object/boxShadow.js +54 -0
- package/lib/module/web/convert/object/boxShadow.js.map +1 -0
- package/lib/module/web/convert/object/filter.js +37 -0
- package/lib/module/web/convert/object/filter.js.map +1 -0
- package/lib/module/web/convert/object/index.js +6 -0
- package/lib/module/web/convert/object/index.js.map +1 -0
- package/lib/module/web/convert/object/objectStyle.js +51 -0
- package/lib/module/web/convert/object/objectStyle.js.map +1 -0
- package/lib/module/web/convert/object/transform.js +22 -0
- package/lib/module/web/convert/object/transform.js.map +1 -0
- package/lib/module/web/convert/pseudo.js +5 -0
- package/lib/module/web/convert/pseudo.js.map +1 -0
- package/lib/module/web/convert/shadow/boxShadow.js +57 -0
- package/lib/module/web/convert/shadow/boxShadow.js.map +1 -0
- package/lib/module/web/convert/shadow/getShadowBreakpoints.js +33 -0
- package/lib/module/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
- package/lib/module/web/convert/shadow/index.js +5 -0
- package/lib/module/web/convert/shadow/index.js.map +1 -0
- package/lib/module/web/convert/shadow/textShadow.js +54 -0
- package/lib/module/web/convert/shadow/textShadow.js.map +1 -0
- package/lib/module/web/convert/style.js +88 -0
- package/lib/module/web/convert/style.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 +45 -0
- package/lib/module/web/convert/utils.js.map +1 -0
- package/lib/module/web/create.js +44 -0
- package/lib/module/web/create.js.map +1 -0
- package/lib/module/web/index.js +26 -0
- package/lib/module/web/index.js.map +1 -0
- package/lib/module/web/listener.js +57 -0
- package/lib/module/web/listener.js.map +1 -0
- package/lib/module/web/mock.js +23 -0
- package/lib/module/web/mock.js.map +1 -0
- package/lib/module/web/registry.js +168 -0
- package/lib/module/web/registry.js.map +1 -0
- package/lib/module/web/runtime.js +169 -0
- package/lib/module/web/runtime.js.map +1 -0
- package/lib/module/web/shadowRegistry.js +138 -0
- package/lib/module/web/shadowRegistry.js.map +1 -0
- package/lib/module/web/state.js +69 -0
- package/lib/module/web/state.js.map +1 -0
- package/lib/module/web/utils/common.js +28 -0
- package/lib/module/web/utils/common.js.map +1 -0
- package/lib/module/web/utils/index.js +5 -0
- package/lib/module/web/utils/index.js.map +1 -0
- package/lib/module/web/utils/unistyle.js +72 -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 +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 +54 -0
- package/lib/module/web/variants/useVariants.js.map +1 -0
- package/lib/typescript/src/components/Display.d.ts +7 -0
- package/lib/typescript/src/components/Display.d.ts.map +1 -0
- package/lib/typescript/src/components/Hide.d.ts +7 -0
- package/lib/typescript/src/components/Hide.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +3 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/lib/typescript/src/components/useMedia.d.ts +6 -0
- package/lib/typescript/src/components/useMedia.d.ts.map +1 -0
- package/lib/typescript/src/components/useMedia.web.d.ts +6 -0
- package/lib/typescript/src/components/useMedia.web.d.ts.map +1 -0
- package/lib/typescript/src/core/createUnistylesComponent.d.ts +8 -0
- package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +1 -0
- package/lib/typescript/src/core/createUnistylesComponent.native.d.ts +8 -0
- package/lib/typescript/src/core/createUnistylesComponent.native.d.ts.map +1 -0
- package/lib/typescript/src/core/index.d.ts +2 -0
- package/lib/typescript/src/core/index.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/mq.d.ts +8 -0
- package/lib/typescript/src/mq.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +7 -5
- package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts +0 -1
- package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/NavigtionBar/index.d.ts +1 -10
- package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +4 -4
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +3 -0
- package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
- package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts +0 -1
- package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/StatusBar/index.d.ts +2 -4
- package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +3 -1
- package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts +3 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +1 -1
- package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
- package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +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/common.d.ts +1 -0
- package/lib/typescript/src/types/common.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/utils.d.ts +2 -0
- package/lib/typescript/src/utils.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/object/boxShadow.d.ts +9 -0
- package/lib/typescript/src/web/convert/object/boxShadow.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/filter.d.ts +3 -0
- package/lib/typescript/src/web/convert/object/filter.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/index.d.ts +4 -0
- package/lib/typescript/src/web/convert/object/index.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/objectStyle.d.ts +5 -0
- package/lib/typescript/src/web/convert/object/objectStyle.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/object/transform.d.ts +3 -0
- package/lib/typescript/src/web/convert/object/transform.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/pseudo.d.ts +6 -0
- package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts +8 -0
- package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts +2 -0
- package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/shadow/index.d.ts +3 -0
- package/lib/typescript/src/web/convert/shadow/index.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/shadow/textShadow.d.ts +8 -0
- package/lib/typescript/src/web/convert/shadow/textShadow.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/style.d.ts +2 -0
- package/lib/typescript/src/web/convert/style.d.ts.map +1 -0
- package/lib/typescript/{web → src/web}/convert/types.d.ts +8 -2
- package/lib/typescript/src/web/convert/types.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/utils.d.ts +12 -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 +5 -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/registry.d.ts +24 -0
- package/lib/typescript/src/web/registry.d.ts.map +1 -0
- package/lib/typescript/{web → src/web}/runtime.d.ts +11 -10
- package/lib/typescript/src/web/runtime.d.ts.map +1 -0
- package/lib/typescript/src/web/shadowRegistry.d.ts +17 -0
- package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -0
- package/lib/typescript/src/web/state.d.ts +18 -0
- package/lib/typescript/src/web/state.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/common.d.ts +8 -0
- package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/index.d.ts +3 -0
- package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/unistyle.d.ts +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_UnistylesNativeMiniRuntime.hpp +57 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +69 -0
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +35 -34
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +15 -6
- package/nitrogen/generated/android/c++/JOrientation.hpp +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/Dimensions.kt +1 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/{Func_void_std__vector_UnistyleDependency_.kt → Func_void_UnistylesNativeMiniRuntime.kt} +6 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.kt +46 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +25 -13
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +1 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +2 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +3 -1
- package/nitrogen/generated/android/unistyles+autolinking.cmake +13 -1
- package/nitrogen/generated/android/unistyles+autolinking.gradle +2 -0
- package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +6 -4
- package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
- package/nitrogen/generated/ios/Unistyles+autolinking.rb +6 -4
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +73 -38
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +0 -29
- package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +8 -8
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +4 -16
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +156 -115
- package/nitrogen/generated/ios/swift/UnistyleDependency.swift +4 -0
- package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +16 -5
- package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
- package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +2 -2
- package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +6 -3
- package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.cpp +0 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +3 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +5 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +3 -0
- package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.cpp +0 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +3 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +2 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +10 -4
- package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
- package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -1
- package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +10 -9
- package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +9 -8
- package/package.json +20 -30
- package/plugin/common.js +31 -3
- package/plugin/index.js +107 -18
- package/plugin/ref.js +129 -13
- package/plugin/style.js +189 -22
- package/plugin/stylesheet.js +53 -3
- package/plugin/variants.js +33 -0
- package/src/components/Display.tsx +12 -0
- package/src/components/Hide.tsx +12 -0
- package/src/components/index.ts +2 -0
- package/src/components/useMedia.ts +64 -0
- package/src/components/useMedia.web.ts +47 -0
- package/src/core/createUnistylesComponent.native.tsx +83 -0
- package/src/core/createUnistylesComponent.tsx +84 -0
- package/src/core/index.ts +1 -0
- package/src/index.ts +3 -12
- package/src/mq.ts +27 -9
- package/src/specs/NativePlatform/NativePlatform.nitro.ts +7 -5
- package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.ts +0 -1
- package/src/specs/NavigtionBar/index.ts +1 -25
- package/src/specs/ShadowRegistry/index.ts +16 -10
- package/src/specs/ShadowRegistry/types.ts +4 -1
- package/src/specs/StatusBar/UnistylesStatusBar.nitro.ts +0 -1
- package/src/specs/StatusBar/index.ts +2 -12
- package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +4 -1
- package/src/specs/StyleSheet/index.ts +6 -1
- package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +1 -1
- package/src/specs/UnistylesRuntime/index.ts +5 -4
- package/src/specs/index.ts +6 -2
- package/src/specs/index.web.ts +1 -1
- package/src/types/breakpoints.ts +25 -13
- package/src/types/common.ts +1 -0
- package/src/types/index.ts +1 -1
- package/src/types/stylesheet.ts +7 -5
- package/src/types/variants.ts +7 -1
- package/src/utils.ts +22 -0
- package/{web → src/web}/convert/index.ts +25 -25
- package/src/web/convert/object/boxShadow.ts +55 -0
- package/src/web/convert/object/filter.ts +39 -0
- package/src/web/convert/object/index.ts +3 -0
- package/src/web/convert/object/objectStyle.ts +69 -0
- package/src/web/convert/object/transform.ts +24 -0
- package/src/web/convert/pseudo.ts +137 -0
- package/src/web/convert/shadow/boxShadow.ts +50 -0
- package/src/web/convert/shadow/getShadowBreakpoints.ts +34 -0
- package/src/web/convert/shadow/index.ts +2 -0
- package/src/web/convert/shadow/textShadow.ts +48 -0
- package/{web → src/web}/convert/style.ts +61 -10
- package/{web → src/web}/convert/types.ts +9 -2
- package/{web → src/web}/convert/utils.ts +11 -5
- package/src/web/create.ts +48 -0
- package/{web → src/web}/index.ts +4 -3
- package/src/web/listener.ts +63 -0
- package/{web → src/web}/mock.ts +3 -14
- package/src/web/registry.ts +215 -0
- package/{web → src/web}/runtime.ts +32 -21
- package/src/web/shadowRegistry.ts +145 -0
- package/src/web/state.ts +94 -0
- package/src/web/utils/common.ts +45 -0
- package/src/web/utils/index.ts +2 -0
- package/src/web/utils/unistyle.ts +108 -0
- package/src/web/variants/getVariants.ts +42 -0
- package/src/web/variants/index.ts +2 -0
- package/src/web/variants/useVariants.ts +65 -0
- package/android/src/main/cxx/helpers.cpp +0 -105
- package/android/src/main/cxx/helpers.h +0 -16
- package/android/src/main/cxx/platform.cpp +0 -170
- package/android/src/main/cxx/platform.h +0 -20
- package/lib/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 +0 -2
- 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 +0 -8
- 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 +0 -18
- package/lib/typescript/web/utils.d.ts.map +0 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +0 -60
- package/plugin/__tests__/dependencies.spec.js +0 -360
- package/plugin/__tests__/ref.spec.js +0 -991
- package/plugin/__tests__/stylesheet.spec.js +0 -396
- package/web/convert/boxShadow.ts +0 -72
- package/web/convert/breakpoint.ts +0 -21
- package/web/convert/shadow.ts +0 -68
- package/web/convert/textShadow.ts +0 -69
- package/web/convert/transform.ts +0 -89
- package/web/create.ts +0 -102
- package/web/listener/index.ts +0 -1
- package/web/listener/listener.ts +0 -33
- package/web/mq.ts +0 -19
- 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/web/utils.ts +0 -95
- /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
- /package/{web → src/web}/convert/module.d.ts +0 -0
package/cxx/parser/Parser.h
CHANGED
|
@@ -17,36 +17,32 @@ using namespace facebook;
|
|
|
17
17
|
using namespace margelo::nitro::unistyles::core;
|
|
18
18
|
|
|
19
19
|
using Variants = std::vector<std::pair<std::string, std::string>>;
|
|
20
|
-
using DependencyMap = std::unordered_map<
|
|
21
|
-
std::shared_ptr<core::StyleSheet>,
|
|
22
|
-
std::unordered_map<const ShadowNodeFamily*, std::vector<core::Unistyle::Shared>>
|
|
23
|
-
>;
|
|
24
20
|
|
|
25
21
|
struct Parser {
|
|
26
22
|
Parser(std::shared_ptr<HybridUnistylesRuntime> unistylesRuntime): _unistylesRuntime{unistylesRuntime} {}
|
|
27
23
|
|
|
28
24
|
void buildUnistyles(jsi::Runtime& rt, std::shared_ptr<StyleSheet> styleSheet);
|
|
29
25
|
void parseUnistyles(jsi::Runtime& rt, std::shared_ptr<StyleSheet> styleSheet);
|
|
30
|
-
|
|
31
|
-
void
|
|
32
|
-
void
|
|
33
|
-
|
|
26
|
+
void rebuildUnistylesWithVariants(jsi::Runtime& rt, std::shared_ptr<StyleSheet> styleSheet, Variants& variants);
|
|
27
|
+
void rebuildUnistylesInDependencyMap(jsi::Runtime& rt, core::DependencyMap& dependencyMap, std::vector<std::shared_ptr<core::StyleSheet>>& styleSheets, std::optional<UnistylesNativeMiniRuntime> maybeMiniRuntime);
|
|
28
|
+
void rebuildShadowLeafUpdates(jsi::Runtime& rt, core::DependencyMap& dependencyMap);
|
|
29
|
+
folly::dynamic parseStylesToShadowTreeStyles(jsi::Runtime& rt, const std::vector<std::shared_ptr<UnistyleData>>& unistyles);
|
|
30
|
+
void rebuildUnistyle(jsi::Runtime& rt, std::shared_ptr<StyleSheet> styleSheet, Unistyle::Shared unistyle, const Variants& variants, std::optional<std::vector<folly::dynamic>>);
|
|
34
31
|
|
|
35
32
|
private:
|
|
36
|
-
|
|
37
|
-
jsi::Object
|
|
38
|
-
jsi::Object parseFirstLevel(jsi::Runtime& rt, Unistyle::Shared unistyle, Variants& variants);
|
|
33
|
+
jsi::Object unwrapStyleSheet(jsi::Runtime& rt, std::shared_ptr<StyleSheet> styleSheet, std::optional<UnistylesNativeMiniRuntime>);
|
|
34
|
+
jsi::Object parseFirstLevel(jsi::Runtime& rt, Unistyle::Shared unistyle, std::optional<Variants> variants);
|
|
39
35
|
jsi::Value parseSecondLevel(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Value& nestedObject);
|
|
40
|
-
jsi::Function createDynamicFunctionProxy(jsi::Runtime& rt, Unistyle::Shared unistyle
|
|
41
|
-
std::vector<folly::dynamic> parseDynamicFunctionArguments(jsi::Runtime& rt, size_t count, const jsi::Value* arguments);
|
|
36
|
+
jsi::Function createDynamicFunctionProxy(jsi::Runtime& rt, Unistyle::Shared unistyle);
|
|
42
37
|
std::vector<UnistyleDependency> parseDependencies(jsi::Runtime &rt, jsi::Object&& dependencies);
|
|
43
38
|
jsi::Value parseTransforms(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj);
|
|
39
|
+
jsi::Value parseBoxShadow(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj);
|
|
40
|
+
jsi::Value parseFilters(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj);
|
|
44
41
|
jsi::Value getValueFromBreakpoints(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj);
|
|
45
42
|
jsi::Object parseVariants(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj, Variants& variants);
|
|
46
|
-
jsi::Value getStylesForVariant(jsi::Runtime& rt, jsi::Object&& groupValue, std::optional<std::string> selectedVariant);
|
|
43
|
+
jsi::Value getStylesForVariant(jsi::Runtime& rt, const std::string groupName, jsi::Object&& groupValue, std::optional<std::string> selectedVariant, Variants& variants);
|
|
47
44
|
jsi::Object parseCompoundVariants(jsi::Runtime& rt, Unistyle::Shared unistyle, jsi::Object& obj, Variants& variants);
|
|
48
45
|
bool shouldApplyCompoundVariants(jsi::Runtime& rt, const Variants& variants, jsi::Object& compoundVariant);
|
|
49
|
-
RawProps parseStylesToShadowTreeStyles(jsi::Runtime& rt, jsi::Object& parsedStyles);
|
|
50
46
|
bool isColor(const std::string& propertyName);
|
|
51
47
|
|
|
52
48
|
std::shared_ptr<HybridUnistylesRuntime> _unistylesRuntime;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
3
|
#include <jsi/jsi.h>
|
|
4
|
+
#include <folly/dynamic.h>
|
|
4
5
|
#include <react/renderer/uimanager/UIManager.h>
|
|
5
6
|
|
|
6
7
|
namespace margelo::nitro::unistyles::shadow {
|
|
@@ -8,6 +9,6 @@ namespace margelo::nitro::unistyles::shadow {
|
|
|
8
9
|
using namespace facebook;
|
|
9
10
|
using namespace facebook::react;
|
|
10
11
|
|
|
11
|
-
using ShadowLeafUpdates = std::unordered_map<const ShadowNodeFamily*,
|
|
12
|
+
using ShadowLeafUpdates = std::unordered_map<const ShadowNodeFamily*, folly::dynamic>;
|
|
12
13
|
|
|
13
14
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#import "mutex"
|
|
4
|
+
#import "ShadowLeafUpdate.h"
|
|
5
|
+
|
|
6
|
+
namespace margelo::nitro::unistyles::shadow {
|
|
7
|
+
|
|
8
|
+
// Like a traffic officer managing a jam, this struct ensures everything
|
|
9
|
+
// is synchronized within a set timeframe, controlling flow and preventing chaos.
|
|
10
|
+
struct ShadowTrafficController {
|
|
11
|
+
inline bool shouldStop() {
|
|
12
|
+
return !_canCommit;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
inline void stopUnistylesTraffic() {
|
|
16
|
+
this->_canCommit = false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
inline void resumeUnistylesTraffic() {
|
|
20
|
+
this->_canCommit = true;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
inline shadow::ShadowLeafUpdates& getUpdates() {
|
|
24
|
+
std::lock_guard<std::mutex> lock(_mutex);
|
|
25
|
+
|
|
26
|
+
return _unistylesUpdates;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
inline void setUpdates(shadow::ShadowLeafUpdates& newUpdates) {
|
|
30
|
+
std::lock_guard<std::mutex> lock(_mutex);
|
|
31
|
+
|
|
32
|
+
auto& targetUpdates = _unistylesUpdates;
|
|
33
|
+
|
|
34
|
+
// this is important as overriding updates may skip some interim changes
|
|
35
|
+
// Unistyles emits different events so this will make sure that everything is synced
|
|
36
|
+
std::for_each(newUpdates.begin(), newUpdates.end(), [&targetUpdates](auto& pair){
|
|
37
|
+
if (targetUpdates.contains(pair.first)) {
|
|
38
|
+
targetUpdates[pair.first] = std::move(pair.second);
|
|
39
|
+
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
targetUpdates.emplace(pair.first, std::move(pair.second));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
inline void removeShadowNode(const ShadowNodeFamily* shadowNodeFamily) {
|
|
48
|
+
std::lock_guard<std::mutex> lock(_mutex);
|
|
49
|
+
|
|
50
|
+
if (_unistylesUpdates.contains(shadowNodeFamily)) {
|
|
51
|
+
_unistylesUpdates.erase(shadowNodeFamily);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
inline void restore() {
|
|
56
|
+
std::lock_guard<std::mutex> lock(_mutex);
|
|
57
|
+
|
|
58
|
+
_unistylesUpdates = {};
|
|
59
|
+
_canCommit = false;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
private:
|
|
63
|
+
std::atomic<bool> _canCommit = false;
|
|
64
|
+
shadow::ShadowLeafUpdates _unistylesUpdates{};
|
|
65
|
+
|
|
66
|
+
// this struct should be accessed in thread-safe manner. Otherwise shadow tree updates
|
|
67
|
+
// from different threads will break it
|
|
68
|
+
std::mutex _mutex;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
}
|
|
@@ -6,26 +6,29 @@ using namespace facebook;
|
|
|
6
6
|
|
|
7
7
|
using AffectedNodes = std::unordered_map<const ShadowNodeFamily*, std::unordered_set<int>>;
|
|
8
8
|
|
|
9
|
-
void shadow::ShadowTreeManager::updateShadowTree(
|
|
10
|
-
auto&
|
|
11
|
-
|
|
9
|
+
void shadow::ShadowTreeManager::updateShadowTree(const ShadowTreeRegistry& shadowTreeRegistry) {
|
|
10
|
+
auto& registry = core::UnistylesRegistry::get();
|
|
11
|
+
auto updates = registry.trafficController.getUpdates();
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
if (updates.empty()) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
shadowTreeRegistry.enumerate([&updates](const ShadowTree& shadowTree, bool& stop){
|
|
14
18
|
// we could iterate via updates and create multiple commits
|
|
15
19
|
// but it can cause performance issues for hundreds of nodes
|
|
16
20
|
// so let's mutate Shadow Tree in single transaction
|
|
17
21
|
auto transaction = [&](const RootShadowNode& oldRootShadowNode) {
|
|
18
22
|
auto affectedNodes = shadow::ShadowTreeManager::findAffectedNodes(oldRootShadowNode, updates);
|
|
19
23
|
auto newRootNode = std::static_pointer_cast<RootShadowNode>(shadow::ShadowTreeManager::cloneShadowTree(
|
|
20
|
-
rt,
|
|
21
24
|
oldRootShadowNode,
|
|
22
25
|
updates,
|
|
23
26
|
affectedNodes
|
|
24
27
|
));
|
|
25
|
-
|
|
26
|
-
// set unistyles
|
|
28
|
+
|
|
29
|
+
// set unistyles trait
|
|
27
30
|
auto unistylesRootNode = std::reinterpret_pointer_cast<core::UnistylesCommitShadowNode>(newRootNode);
|
|
28
|
-
|
|
31
|
+
|
|
29
32
|
unistylesRootNode->addUnistylesCommitTrait();
|
|
30
33
|
|
|
31
34
|
return newRootNode;
|
|
@@ -36,7 +39,7 @@ void shadow::ShadowTreeManager::updateShadowTree(facebook::jsi::Runtime& rt, sha
|
|
|
36
39
|
// enableStateReconciliation: https://reactnative.dev/architecture/render-pipeline#react-native-renderer-state-updates
|
|
37
40
|
// mountSynchronously: must be true as this is update from C++ not React
|
|
38
41
|
shadowTree.commit(transaction, {false, true});
|
|
39
|
-
|
|
42
|
+
|
|
40
43
|
|
|
41
44
|
// for now we're assuming single surface, can be improved in the future
|
|
42
45
|
// stop = true means stop enumerating next shadow tree
|
|
@@ -83,7 +86,7 @@ AffectedNodes shadow::ShadowTreeManager::findAffectedNodes(const RootShadowNode&
|
|
|
83
86
|
|
|
84
87
|
// based on Reanimated algorithm
|
|
85
88
|
// clone affected nodes recursively, inject props and commit tree
|
|
86
|
-
ShadowNode::Unshared shadow::ShadowTreeManager::cloneShadowTree(
|
|
89
|
+
ShadowNode::Unshared shadow::ShadowTreeManager::cloneShadowTree(const ShadowNode &shadowNode, ShadowLeafUpdates& updates, AffectedNodes& affectedNodes) {
|
|
87
90
|
const auto family = &shadowNode.getFamily();
|
|
88
91
|
const auto rawPropsIt = updates.find(family);
|
|
89
92
|
const auto childrenIt = affectedNodes.find(family);
|
|
@@ -93,7 +96,7 @@ ShadowNode::Unshared shadow::ShadowTreeManager::cloneShadowTree(jsi::Runtime& rt
|
|
|
93
96
|
if (childrenIt != affectedNodes.end()) {
|
|
94
97
|
// get all indexes of children and clone it recursively
|
|
95
98
|
for (const auto index : childrenIt->second) {
|
|
96
|
-
children[index] = cloneShadowTree(
|
|
99
|
+
children[index] = cloneShadowTree(*children[index], updates, affectedNodes);
|
|
97
100
|
}
|
|
98
101
|
}
|
|
99
102
|
|
|
@@ -106,14 +109,16 @@ ShadowNode::Unshared shadow::ShadowTreeManager::cloneShadowTree(jsi::Runtime& rt
|
|
|
106
109
|
*shadowNode.getContextContainer()
|
|
107
110
|
};
|
|
108
111
|
|
|
109
|
-
|
|
112
|
+
#ifdef ANDROID
|
|
113
|
+
auto safeProps = rawPropsIt->second == nullptr ? folly::dynamic::object() : rawPropsIt->second;
|
|
114
|
+
auto newProps = folly::dynamic::merge(shadowNode.getProps()->rawProps, safeProps);
|
|
115
|
+
#else
|
|
116
|
+
auto newProps = rawPropsIt->second;
|
|
117
|
+
#endif
|
|
110
118
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
.getComponentDescriptor()
|
|
115
|
-
.cloneProps(propsParserContext, updatedProps, RawProps(props));
|
|
116
|
-
}
|
|
119
|
+
updatedProps = shadowNode
|
|
120
|
+
.getComponentDescriptor()
|
|
121
|
+
.cloneProps(propsParserContext, shadowNode.getProps(), RawProps(newProps));
|
|
117
122
|
}
|
|
118
123
|
|
|
119
124
|
return shadowNode.clone({
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
#include <ranges>
|
|
7
7
|
#include "ShadowLeafUpdate.h"
|
|
8
8
|
#include "UnistylesCommitShadowNode.h"
|
|
9
|
+
#include "UnistylesRegistry.h"
|
|
9
10
|
|
|
10
11
|
namespace margelo::nitro::unistyles::shadow {
|
|
11
12
|
|
|
@@ -15,9 +16,9 @@ using namespace facebook;
|
|
|
15
16
|
using AffectedNodes = std::unordered_map<const ShadowNodeFamily *, std::unordered_set<int>>;
|
|
16
17
|
|
|
17
18
|
struct ShadowTreeManager {
|
|
18
|
-
static void updateShadowTree(
|
|
19
|
+
static void updateShadowTree(const ShadowTreeRegistry& shadowTreeRegistry);
|
|
19
20
|
static AffectedNodes findAffectedNodes(const RootShadowNode& rootNode, ShadowLeafUpdates& updates);
|
|
20
|
-
static ShadowNode::Unshared cloneShadowTree(
|
|
21
|
+
static ShadowNode::Unshared cloneShadowTree(const ShadowNode &shadowNode, ShadowLeafUpdates& updates, AffectedNodes& affectedNodes);
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
}
|
package/ios/Equatable.swift
CHANGED
|
@@ -36,7 +36,8 @@ extension UnistylesNativeMiniRuntime {
|
|
|
36
36
|
dependencies.append(UnistyleDependency.breakpoints)
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
// no need to check isLandscape, as it's always opposite
|
|
40
|
+
if (lhs.isPortrait != rhs.isPortrait) {
|
|
40
41
|
dependencies.append(UnistyleDependency.orientation)
|
|
41
42
|
}
|
|
42
43
|
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
#if os(iOS)
|
|
2
2
|
|
|
3
3
|
import Foundation
|
|
4
|
+
import Combine
|
|
4
5
|
import NitroModules
|
|
5
6
|
|
|
6
|
-
typealias
|
|
7
|
+
typealias CxxDependencyListener = (Array<UnistyleDependency>, UnistylesNativeMiniRuntime) -> Void
|
|
8
|
+
typealias CxxImeListener = (UnistylesNativeMiniRuntime) -> Void
|
|
7
9
|
|
|
8
10
|
class NativeIOSPlatform: HybridNativePlatformSpec {
|
|
9
11
|
var miniRuntime: UnistylesNativeMiniRuntime?
|
|
12
|
+
var keyboardAnimation = KeyboardAnimation()
|
|
13
|
+
var cancellables = Set<AnyCancellable>()
|
|
10
14
|
|
|
11
|
-
var
|
|
15
|
+
var dependencyListeners: Array<CxxDependencyListener> = []
|
|
16
|
+
var imeListeners: Array<CxxImeListener> = []
|
|
12
17
|
var hybridContext = margelo.nitro.HybridContext()
|
|
13
18
|
var memorySize: Int {
|
|
14
19
|
return getSizeOf(self)
|
|
@@ -18,10 +23,12 @@ class NativeIOSPlatform: HybridNativePlatformSpec {
|
|
|
18
23
|
self.miniRuntime = self.buildMiniRuntime()
|
|
19
24
|
|
|
20
25
|
setupPlatformListeners()
|
|
26
|
+
setupKeyboardListeners()
|
|
21
27
|
}
|
|
22
28
|
|
|
23
29
|
deinit {
|
|
24
30
|
removePlatformListeners()
|
|
31
|
+
removeKeyboardListeners()
|
|
25
32
|
}
|
|
26
33
|
|
|
27
34
|
func getMiniRuntime() -> UnistylesNativeMiniRuntime {
|
|
@@ -29,6 +36,8 @@ class NativeIOSPlatform: HybridNativePlatformSpec {
|
|
|
29
36
|
}
|
|
30
37
|
|
|
31
38
|
func buildMiniRuntime() -> UnistylesNativeMiniRuntime {
|
|
39
|
+
let orientation = self.getOrientation()
|
|
40
|
+
|
|
32
41
|
return UnistylesNativeMiniRuntime(
|
|
33
42
|
colorScheme: self.getColorScheme(),
|
|
34
43
|
screen: self.getScreenDimensions(),
|
|
@@ -39,7 +48,8 @@ class NativeIOSPlatform: HybridNativePlatformSpec {
|
|
|
39
48
|
rtl: self.getPrefersRtlDirection(),
|
|
40
49
|
statusBar: self.getStatusBarDimensions(),
|
|
41
50
|
navigationBar: self.getNavigationBarDimensions(),
|
|
42
|
-
|
|
51
|
+
isPortrait: orientation == .portrait,
|
|
52
|
+
isLandscape: orientation == .landscape
|
|
43
53
|
)
|
|
44
54
|
}
|
|
45
55
|
|
|
@@ -188,7 +198,13 @@ class NativeIOSPlatform: HybridNativePlatformSpec {
|
|
|
188
198
|
|
|
189
199
|
let safeArea = window.safeAreaInsets
|
|
190
200
|
|
|
191
|
-
return Insets(
|
|
201
|
+
return Insets(
|
|
202
|
+
top: safeArea.top,
|
|
203
|
+
bottom: safeArea.bottom,
|
|
204
|
+
left: safeArea.left,
|
|
205
|
+
right: safeArea.right,
|
|
206
|
+
ime: keyboardAnimation.animatedImeInset
|
|
207
|
+
)
|
|
192
208
|
}
|
|
193
209
|
|
|
194
210
|
if Thread.isMainThread {
|
|
@@ -274,15 +290,13 @@ class NativeIOSPlatform: HybridNativePlatformSpec {
|
|
|
274
290
|
func getNavigationBarDimensions() -> Dimensions {
|
|
275
291
|
return Dimensions(width: 0, height: 0);
|
|
276
292
|
}
|
|
277
|
-
|
|
293
|
+
|
|
278
294
|
func setStatusBarHidden(isHidden: Bool) throws {
|
|
279
295
|
self.onWindowChange(Notification(name: NSNotification.Name("RCTWindowFrameDidChangeNotification")))
|
|
280
296
|
}
|
|
281
297
|
|
|
282
298
|
// not implemented for iOS as there are no such APIs
|
|
283
|
-
func setNavigationBarBackgroundColor(color: Double) throws {}
|
|
284
299
|
func setNavigationBarHidden(isHidden: Bool) throws {}
|
|
285
|
-
func setStatusBarBackgroundColor(color: Double) throws {}
|
|
286
300
|
|
|
287
301
|
// implemented from JS
|
|
288
302
|
func setImmersiveMode(isEnabled: Bool) throws {}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
struct KeyboardAnimation {
|
|
4
|
+
var animatedImeInset: CGFloat = 0
|
|
5
|
+
var keyboardHeight: CGFloat = 0
|
|
6
|
+
var animationDuration: Double = 0
|
|
7
|
+
var displayLink: CADisplayLink?
|
|
8
|
+
var startTime: CFTimeInterval = 0
|
|
9
|
+
var from: CGFloat = 0
|
|
10
|
+
var to: CGFloat = 0
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
extension NativeIOSPlatform {
|
|
14
|
+
func setupKeyboardListeners() {
|
|
15
|
+
NotificationCenter.default.addObserver(self, selector: #selector(onKeyboardWillShow), name: UIResponder.keyboardWillShowNotification, object: nil)
|
|
16
|
+
NotificationCenter.default.addObserver(self, selector: #selector(onKeyboardWillHide), name: UIResponder.keyboardWillHideNotification, object: nil)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
func removeKeyboardListeners() {
|
|
20
|
+
keyboardAnimation.displayLink?.invalidate()
|
|
21
|
+
|
|
22
|
+
NotificationCenter.default.removeObserver(
|
|
23
|
+
self,
|
|
24
|
+
name: UIResponder.keyboardWillShowNotification,
|
|
25
|
+
object: nil
|
|
26
|
+
)
|
|
27
|
+
NotificationCenter.default.removeObserver(
|
|
28
|
+
self,
|
|
29
|
+
name: UIResponder.keyboardWillHideNotification,
|
|
30
|
+
object: nil
|
|
31
|
+
)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@objc func onKeyboardWillShow(notification: NSNotification) {
|
|
35
|
+
guard let frame = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect else { return }
|
|
36
|
+
guard let duration = notification.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] as? Double else { return }
|
|
37
|
+
|
|
38
|
+
keyboardAnimation.keyboardHeight = frame.height
|
|
39
|
+
keyboardAnimation.animationDuration = duration
|
|
40
|
+
|
|
41
|
+
startAnimation(toValue: keyboardAnimation.keyboardHeight)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@objc func onKeyboardWillHide(notification: NSNotification) {
|
|
45
|
+
guard let duration = notification.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] as? Double else { return }
|
|
46
|
+
|
|
47
|
+
keyboardAnimation.animationDuration = duration
|
|
48
|
+
|
|
49
|
+
startAnimation(toValue: 0)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
func startAnimation(toValue targetValue: CGFloat) {
|
|
53
|
+
keyboardAnimation.startTime = CACurrentMediaTime()
|
|
54
|
+
keyboardAnimation.displayLink?.invalidate()
|
|
55
|
+
|
|
56
|
+
keyboardAnimation.from = keyboardAnimation.animatedImeInset
|
|
57
|
+
keyboardAnimation.to = targetValue
|
|
58
|
+
|
|
59
|
+
if (keyboardAnimation.from == keyboardAnimation.to) {
|
|
60
|
+
return
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
keyboardAnimation.displayLink = CADisplayLink(target: self, selector: #selector(updateAnimation))
|
|
64
|
+
keyboardAnimation.displayLink?.add(to: .main, forMode: .default)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@objc func updateAnimation() {
|
|
68
|
+
let elapsedTime = CACurrentMediaTime() - keyboardAnimation.startTime
|
|
69
|
+
let linearProgress = min(elapsedTime / keyboardAnimation.animationDuration, 1)
|
|
70
|
+
let easedProgress = 1 - pow(1 - linearProgress, 3)
|
|
71
|
+
|
|
72
|
+
// Interpolate between 'from' and 'to'
|
|
73
|
+
keyboardAnimation.animatedImeInset = keyboardAnimation.from + (keyboardAnimation.to - keyboardAnimation.from) * CGFloat(easedProgress)
|
|
74
|
+
|
|
75
|
+
self.miniRuntime?.insets.ime = keyboardAnimation.animatedImeInset
|
|
76
|
+
self.emitImeEvent(updatedMiniRuntime: self.miniRuntime!)
|
|
77
|
+
|
|
78
|
+
if linearProgress >= 1 {
|
|
79
|
+
keyboardAnimation.displayLink?.invalidate()
|
|
80
|
+
keyboardAnimation.displayLink = nil
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -2,40 +2,53 @@ import Foundation
|
|
|
2
2
|
|
|
3
3
|
extension NativeIOSPlatform {
|
|
4
4
|
func setupPlatformListeners() {
|
|
5
|
-
NotificationCenter.default.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
NotificationCenter.default.publisher(for: NSNotification.Name("RCTWindowFrameDidChangeNotification"))
|
|
6
|
+
// add small delay (10ms) to make sure all values are up ot date
|
|
7
|
+
// we MUST call it on current thread, otherwise random crashes occurs
|
|
8
|
+
.delay(for: .milliseconds(10), scheduler: RunLoop.current)
|
|
9
|
+
.sink { [weak self] notification in
|
|
10
|
+
self?.onWindowChange(notification)
|
|
11
|
+
}
|
|
12
|
+
.store(in: &cancellables)
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
func removePlatformListeners() {
|
|
14
|
-
|
|
16
|
+
self.unregisterPlatformListeners()
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
func registerPlatformListener(callback: @escaping (CxxDependencyListener)) throws {
|
|
20
|
+
self.dependencyListeners.append(callback)
|
|
15
21
|
}
|
|
16
22
|
|
|
17
|
-
func
|
|
18
|
-
|
|
23
|
+
func registerImeListener(callback: @escaping ((UnistylesNativeMiniRuntime) -> Void)) throws {
|
|
24
|
+
self.imeListeners.append(callback)
|
|
19
25
|
}
|
|
20
26
|
|
|
21
|
-
func emitCxxEvent(dependencies: Array<UnistyleDependency
|
|
22
|
-
self.
|
|
27
|
+
func emitCxxEvent(dependencies: Array<UnistyleDependency>, updatedMiniRuntime: UnistylesNativeMiniRuntime) {
|
|
28
|
+
self.dependencyListeners.forEach { $0(dependencies, updatedMiniRuntime) }
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
func emitImeEvent(updatedMiniRuntime: UnistylesNativeMiniRuntime) {
|
|
32
|
+
self.imeListeners.forEach { $0(updatedMiniRuntime) }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
func unregisterPlatformListeners() {
|
|
36
|
+
cancellables.removeAll()
|
|
37
|
+
dependencyListeners.removeAll()
|
|
38
|
+
imeListeners.removeAll()
|
|
23
39
|
}
|
|
24
40
|
|
|
25
41
|
@objc func onWindowChange(_ notification: Notification) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
self.miniRuntime = newMiniRuntime
|
|
37
|
-
self.emitCxxEvent(dependencies: changedDependencies)
|
|
38
|
-
}
|
|
42
|
+
guard let currentMiniRuntime = self.miniRuntime else {
|
|
43
|
+
return
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
let newMiniRuntime = self.buildMiniRuntime()
|
|
47
|
+
let changedDependencies = UnistylesNativeMiniRuntime.diff(lhs: currentMiniRuntime, rhs: newMiniRuntime)
|
|
48
|
+
|
|
49
|
+
if (changedDependencies.count > 0) {
|
|
50
|
+
self.miniRuntime = newMiniRuntime
|
|
51
|
+
self.emitCxxEvent(dependencies: changedDependencies, updatedMiniRuntime: newMiniRuntime)
|
|
39
52
|
}
|
|
40
53
|
}
|
|
41
54
|
}
|
package/ios/Unistyles.h
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
+
#ifndef RCT_NEW_ARCH_ENABLED
|
|
4
|
+
#error "Unistyles 3.0 requires your project to have New Architecture enabled."
|
|
5
|
+
#endif
|
|
6
|
+
|
|
3
7
|
#import <React/RCTEventEmitter.h>
|
|
4
|
-
#import <ReactCommon/RCTTurboModuleWithJSIBindings.h>
|
|
5
8
|
#import "TurboUnistyles/TurboUnistyles.h"
|
|
6
9
|
#import <React/RCTSurfacePresenter.h>
|
|
7
10
|
#import <React/RCTScheduler.h>
|
|
11
|
+
#import <React/RCTRuntimeExecutorModule.h>
|
|
12
|
+
#import <ReactCommon/RCTRuntimeExecutor.h>
|
|
13
|
+
#import <ReactCommon/RCTTurboModuleWithJSIBindings.h>
|
|
8
14
|
|
|
9
15
|
@interface UnistylesModule: RCTEventEmitter<NativeTurboUnistylesSpec>
|
|
10
16
|
@end
|
|
11
17
|
|
|
12
|
-
@interface UnistylesModule()<RCTTurboModuleWithJSIBindings>
|
|
18
|
+
@interface UnistylesModule()<RCTTurboModuleWithJSIBindings, RCTRuntimeExecutorModule>
|
|
13
19
|
@end
|
|
@@ -11,6 +11,7 @@ using namespace margelo::nitro;
|
|
|
11
11
|
RCT_EXPORT_MODULE(Unistyles)
|
|
12
12
|
|
|
13
13
|
__weak RCTSurfacePresenter* _surfacePresenter;
|
|
14
|
+
@synthesize runtimeExecutor = _runtimeExecutor;
|
|
14
15
|
|
|
15
16
|
+ (BOOL)requiresMainQueueSetup {
|
|
16
17
|
return YES;
|
|
@@ -35,8 +36,15 @@ __weak RCTSurfacePresenter* _surfacePresenter;
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
- (void)createHybrids:(jsi::Runtime&)rt {
|
|
39
|
+
auto runOnJSThread = ([executor = _runtimeExecutor](std::function<void(jsi::Runtime& rt)> &&callback) {
|
|
40
|
+
__block auto objcCallback = callback;
|
|
41
|
+
|
|
42
|
+
[executor execute:^(jsi::Runtime& rt){
|
|
43
|
+
objcCallback(rt);
|
|
44
|
+
}];
|
|
45
|
+
});
|
|
38
46
|
auto nativePlatform = Unistyles::NativePlatform::create();
|
|
39
|
-
auto unistylesRuntime = std::make_shared<HybridUnistylesRuntime>(nativePlatform, rt);
|
|
47
|
+
auto unistylesRuntime = std::make_shared<HybridUnistylesRuntime>(nativePlatform, rt, runOnJSThread);
|
|
40
48
|
auto uiManager = [_surfacePresenter scheduler].uiManager;
|
|
41
49
|
auto styleSheet = std::make_shared<HybridStyleSheet>(unistylesRuntime, uiManager);
|
|
42
50
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Display = void 0;
|
|
7
|
+
var _useMedia = require("./useMedia");
|
|
8
|
+
const Display = ({
|
|
9
|
+
children,
|
|
10
|
+
...props
|
|
11
|
+
}) => {
|
|
12
|
+
const {
|
|
13
|
+
isVisible
|
|
14
|
+
} = (0, _useMedia.useMedia)(props);
|
|
15
|
+
return isVisible ? children : null;
|
|
16
|
+
};
|
|
17
|
+
exports.Display = Display;
|
|
18
|
+
//# sourceMappingURL=Display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useMedia","require","Display","children","props","isVisible","useMedia","exports"],"sourceRoot":"../../../src","sources":["components/Display.tsx"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIO,MAAMC,OAA8C,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,KAAK;EACtF,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,kBAAQ,EAACF,KAAK,CAAC;EAErC,OAAOC,SAAS,GACVF,QAAQ,GACR,IAAI;AACd,CAAC;AAAAI,OAAA,CAAAL,OAAA,GAAAA,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Hide = void 0;
|
|
7
|
+
var _useMedia = require("./useMedia");
|
|
8
|
+
const Hide = ({
|
|
9
|
+
children,
|
|
10
|
+
...props
|
|
11
|
+
}) => {
|
|
12
|
+
const {
|
|
13
|
+
isVisible
|
|
14
|
+
} = (0, _useMedia.useMedia)(props);
|
|
15
|
+
return !isVisible ? children : null;
|
|
16
|
+
};
|
|
17
|
+
exports.Hide = Hide;
|
|
18
|
+
//# sourceMappingURL=Hide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useMedia","require","Hide","children","props","isVisible","useMedia","exports"],"sourceRoot":"../../../src","sources":["components/Hide.tsx"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIO,MAAMC,IAAwC,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,KAAK;EAChF,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,kBAAQ,EAACF,KAAK,CAAC;EAErC,OAAO,CAACC,SAAS,GACXF,QAAQ,GACR,IAAI;AACd,CAAC;AAAAI,OAAA,CAAAL,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Display", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Display.Display;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "Hide", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _Hide.Hide;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
var _Hide = require("./Hide");
|
|
19
|
+
var _Display = require("./Display");
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Hide","require","_Display"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}
|