react-native-unistyles 3.0.0-alpha.3 → 3.0.0-alpha.30
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +7 -0
- package/android/CMakeLists.txt +12 -21
- package/cxx/common/Constants.h +3 -0
- package/cxx/common/Helpers.h +118 -5
- package/cxx/core/HostStyle.cpp +12 -8
- package/cxx/core/HostStyle.h +4 -0
- package/cxx/core/StyleSheet.h +0 -2
- package/cxx/core/StyleSheetRegistry.cpp +10 -13
- package/cxx/core/StyleSheetRegistry.h +4 -4
- package/cxx/core/Unistyle.h +7 -10
- package/cxx/core/UnistyleData.h +23 -0
- package/cxx/core/UnistyleWrapper.h +61 -12
- package/cxx/core/UnistylesCommitHook.cpp +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
@@ -0,0 +1,181 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { UnistylesRuntime } from './runtime';
|
4
|
+
import { extractMediaQueryValue, keyInObject, getMediaQuery, generateHash, extractUnistyleDependencies, deepMergeObjects } from './utils';
|
5
|
+
import { UnistylesListener } from './listener';
|
6
|
+
import { convertUnistyles } from './convert';
|
7
|
+
import { getVariants } from './variants';
|
8
|
+
class UnistylesRegistryBuilder {
|
9
|
+
stylesheets = new Map();
|
10
|
+
stylesCounter = new Map();
|
11
|
+
#styleTag = null;
|
12
|
+
disposeListenersMap = new Map();
|
13
|
+
dependenciesMap = new Map();
|
14
|
+
get styleTag() {
|
15
|
+
const tag = this.#styleTag;
|
16
|
+
if (!tag) {
|
17
|
+
const newTag = document.createElement('style');
|
18
|
+
newTag.id = 'unistyles-web';
|
19
|
+
this.#styleTag = newTag;
|
20
|
+
document.head.appendChild(newTag);
|
21
|
+
return newTag;
|
22
|
+
}
|
23
|
+
return tag;
|
24
|
+
}
|
25
|
+
getComputedStylesheet = stylesheet => {
|
26
|
+
if (typeof stylesheet !== 'function') {
|
27
|
+
return stylesheet;
|
28
|
+
}
|
29
|
+
const computedStylesheet = this.stylesheets.get(stylesheet);
|
30
|
+
if (computedStylesheet) {
|
31
|
+
return computedStylesheet;
|
32
|
+
}
|
33
|
+
const createdStylesheet = stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime);
|
34
|
+
const dependencies = Object.values(createdStylesheet).flatMap(value => extractUnistyleDependencies(value));
|
35
|
+
this.addDependenciesToStylesheet(stylesheet, dependencies);
|
36
|
+
this.stylesheets.set(stylesheet, createdStylesheet);
|
37
|
+
return createdStylesheet;
|
38
|
+
};
|
39
|
+
addDependenciesToStylesheet = (stylesheet, dependencies) => {
|
40
|
+
this.disposeListenersMap.get(stylesheet)?.();
|
41
|
+
const dependenciesMap = this.dependenciesMap.get(stylesheet) ?? new Set(dependencies);
|
42
|
+
dependencies.forEach(dependency => dependenciesMap.add(dependency));
|
43
|
+
const dispose = UnistylesListener.addListeners(Array.from(dependenciesMap), () => {
|
44
|
+
const newComputedStylesheet = stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime);
|
45
|
+
this.stylesheets.set(stylesheet, newComputedStylesheet);
|
46
|
+
});
|
47
|
+
this.dependenciesMap.set(stylesheet, dependenciesMap);
|
48
|
+
this.disposeListenersMap.set(stylesheet, dispose);
|
49
|
+
};
|
50
|
+
add = ({
|
51
|
+
key,
|
52
|
+
value,
|
53
|
+
stylesheet,
|
54
|
+
args,
|
55
|
+
variants
|
56
|
+
}) => {
|
57
|
+
const hash = generateHash(value);
|
58
|
+
const existingCounter = this.stylesCounter.get(hash);
|
59
|
+
if (!existingCounter || existingCounter.size === 0) {
|
60
|
+
const counter = new Set();
|
61
|
+
const dependencies = extractUnistyleDependencies(value);
|
62
|
+
counter.add(value);
|
63
|
+
this.stylesCounter.set(hash, counter);
|
64
|
+
this.applyStyles(hash, convertUnistyles(value));
|
65
|
+
UnistylesListener.addListeners(dependencies, async () => {
|
66
|
+
// Move this callback to the end of the event loop
|
67
|
+
await Promise.resolve();
|
68
|
+
const newComputedStyleSheet = this.getComputedStylesheet(stylesheet);
|
69
|
+
const newValue = newComputedStyleSheet[key];
|
70
|
+
const result = typeof newValue === 'function' ? newValue(...args) : newValue;
|
71
|
+
const {
|
72
|
+
variantsResult
|
73
|
+
} = Object.fromEntries(getVariants({
|
74
|
+
variantsResult: result
|
75
|
+
}, variants));
|
76
|
+
const resultWithVariants = deepMergeObjects(result, variantsResult ?? {});
|
77
|
+
this.applyStyles(hash, convertUnistyles(resultWithVariants));
|
78
|
+
});
|
79
|
+
return hash;
|
80
|
+
}
|
81
|
+
existingCounter.add(value);
|
82
|
+
return hash;
|
83
|
+
};
|
84
|
+
applyStyles = (hash, styles) => {
|
85
|
+
Object.entries(styles).forEach(([key, value]) => {
|
86
|
+
if (!this.styleTag.sheet) {
|
87
|
+
return;
|
88
|
+
}
|
89
|
+
if (typeof value === 'object' && !key.startsWith('_')) {
|
90
|
+
const mediaQuery = getMediaQuery(key);
|
91
|
+
const cssRules = Array.from(this.styleTag.sheet.cssRules);
|
92
|
+
let queryRule = cssRules.find(rule => {
|
93
|
+
if (!(rule instanceof CSSMediaRule)) {
|
94
|
+
return false;
|
95
|
+
}
|
96
|
+
return rule.media.item(0)?.includes(mediaQuery);
|
97
|
+
}) ?? null;
|
98
|
+
if (!queryRule) {
|
99
|
+
const mediaQueryValue = extractMediaQueryValue(mediaQuery);
|
100
|
+
const ruleIndex = mediaQueryValue ? cssRules.reduce((acc, rule, ruleIndex) => {
|
101
|
+
if (!(rule instanceof CSSMediaRule)) {
|
102
|
+
return acc;
|
103
|
+
}
|
104
|
+
const ruleMediaQueryValue = extractMediaQueryValue(rule.conditionText);
|
105
|
+
if (ruleMediaQueryValue === undefined) {
|
106
|
+
return;
|
107
|
+
}
|
108
|
+
return ruleMediaQueryValue > mediaQueryValue ? ruleIndex : acc;
|
109
|
+
}, cssRules.length) : undefined;
|
110
|
+
queryRule = this.styleTag.sheet.cssRules.item(this.styleTag.sheet.insertRule(`@media ${mediaQuery} {.${hash} {}}`, ruleIndex));
|
111
|
+
}
|
112
|
+
if (queryRule instanceof CSSMediaRule) {
|
113
|
+
Object.entries(value).forEach(([mqKey, mqValue]) => {
|
114
|
+
this.applyRule({
|
115
|
+
hash,
|
116
|
+
key: mqKey,
|
117
|
+
value: mqValue,
|
118
|
+
sheet: queryRule
|
119
|
+
});
|
120
|
+
});
|
121
|
+
}
|
122
|
+
return;
|
123
|
+
}
|
124
|
+
|
125
|
+
// Pseudo
|
126
|
+
if (typeof value === 'object') {
|
127
|
+
Object.entries(value).forEach(([pseudoKey, pseudoValue]) => {
|
128
|
+
this.applyRule({
|
129
|
+
hash: `${hash}${key.replace('_', ':')}`,
|
130
|
+
key: pseudoKey,
|
131
|
+
value: pseudoValue,
|
132
|
+
sheet: this.styleTag.sheet
|
133
|
+
});
|
134
|
+
});
|
135
|
+
return;
|
136
|
+
}
|
137
|
+
this.applyRule({
|
138
|
+
hash,
|
139
|
+
key,
|
140
|
+
value,
|
141
|
+
sheet: this.styleTag.sheet
|
142
|
+
});
|
143
|
+
});
|
144
|
+
};
|
145
|
+
applyRule = ({
|
146
|
+
hash,
|
147
|
+
key,
|
148
|
+
value,
|
149
|
+
sheet
|
150
|
+
}) => {
|
151
|
+
let rule = Array.from(sheet.cssRules).find(rule => {
|
152
|
+
if (!(rule instanceof CSSStyleRule)) {
|
153
|
+
return false;
|
154
|
+
}
|
155
|
+
|
156
|
+
// In unistyles pseudos are prefixed with ':' but in css some of them are prefixed with '::'
|
157
|
+
return rule.selectorText.replace('::', ':').includes(hash);
|
158
|
+
}) ?? null;
|
159
|
+
if (!rule) {
|
160
|
+
rule = sheet.cssRules.item(sheet.insertRule(`.${hash} {}`));
|
161
|
+
}
|
162
|
+
if (!(rule instanceof CSSStyleRule) || !keyInObject(rule.style, key)) {
|
163
|
+
return;
|
164
|
+
}
|
165
|
+
rule.style[key] = value;
|
166
|
+
};
|
167
|
+
remove = value => {
|
168
|
+
const hash = generateHash(value);
|
169
|
+
const existingStyles = this.stylesCounter.get(hash);
|
170
|
+
if (!existingStyles) {
|
171
|
+
return;
|
172
|
+
}
|
173
|
+
existingStyles.delete(value);
|
174
|
+
if (existingStyles.size === 0) {
|
175
|
+
const ruleIndex = Array.from(this.styleTag.sheet?.cssRules ?? []).findIndex(rule => rule.cssText.includes(`.${hash}`));
|
176
|
+
this.styleTag.sheet?.deleteRule(ruleIndex);
|
177
|
+
}
|
178
|
+
};
|
179
|
+
}
|
180
|
+
export const UnistylesRegistry = new UnistylesRegistryBuilder();
|
181
|
+
//# sourceMappingURL=registry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["UnistylesRuntime","extractMediaQueryValue","keyInObject","getMediaQuery","generateHash","extractUnistyleDependencies","deepMergeObjects","UnistylesListener","convertUnistyles","getVariants","UnistylesRegistryBuilder","stylesheets","Map","stylesCounter","styleTag","disposeListenersMap","dependenciesMap","tag","newTag","document","createElement","id","head","appendChild","getComputedStylesheet","stylesheet","computedStylesheet","get","createdStylesheet","theme","miniRuntime","dependencies","Object","values","flatMap","value","addDependenciesToStylesheet","set","Set","forEach","dependency","add","dispose","addListeners","Array","from","newComputedStylesheet","key","args","variants","hash","existingCounter","size","counter","applyStyles","Promise","resolve","newComputedStyleSheet","newValue","result","variantsResult","fromEntries","resultWithVariants","styles","entries","sheet","startsWith","mediaQuery","cssRules","queryRule","find","rule","CSSMediaRule","media","item","includes","mediaQueryValue","ruleIndex","reduce","acc","ruleMediaQueryValue","conditionText","undefined","length","insertRule","mqKey","mqValue","applyRule","pseudoKey","pseudoValue","replace","CSSStyleRule","selectorText","style","remove","existingStyles","delete","findIndex","cssText","deleteRule","UnistylesRegistry"],"sourceRoot":"../../../src","sources":["web/registry.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,163 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { UnistyleDependency } from '../specs/NativePlatform';
|
4
|
+
import { ColorScheme, Orientation } from '../specs/types';
|
5
|
+
import { WebContentSizeCategory } from '../types';
|
6
|
+
import { UnistylesListener } from './listener';
|
7
|
+
import { NavigationBar, StatusBar } from './mock';
|
8
|
+
import { UnistylesState } from './state';
|
9
|
+
import { hexToRGBA, isServer, schemeToTheme } from './utils';
|
10
|
+
class UnistylesRuntimeBuilder {
|
11
|
+
lightMedia = this.getLightMedia();
|
12
|
+
darkMedia = this.getDarkMedia();
|
13
|
+
getLightMedia() {
|
14
|
+
if (isServer()) {
|
15
|
+
return null;
|
16
|
+
}
|
17
|
+
if (!this.lightMedia) {
|
18
|
+
this.lightMedia = window.matchMedia('(prefers-color-scheme: light)');
|
19
|
+
}
|
20
|
+
return this.lightMedia;
|
21
|
+
}
|
22
|
+
getDarkMedia() {
|
23
|
+
if (isServer()) {
|
24
|
+
return null;
|
25
|
+
}
|
26
|
+
if (!this.darkMedia) {
|
27
|
+
this.darkMedia = window.matchMedia('(prefers-color-scheme: dark)');
|
28
|
+
}
|
29
|
+
return this.darkMedia;
|
30
|
+
}
|
31
|
+
get colorScheme() {
|
32
|
+
switch (true) {
|
33
|
+
case this.getLightMedia()?.matches:
|
34
|
+
return ColorScheme.Light;
|
35
|
+
case this.getDarkMedia()?.matches:
|
36
|
+
return ColorScheme.Dark;
|
37
|
+
default:
|
38
|
+
return ColorScheme.Unspecified;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
get themeName() {
|
42
|
+
return UnistylesState.themeName;
|
43
|
+
}
|
44
|
+
get contentSizeCategory() {
|
45
|
+
return WebContentSizeCategory.Unspecified;
|
46
|
+
}
|
47
|
+
get breakpoint() {
|
48
|
+
return UnistylesState.breakpoint;
|
49
|
+
}
|
50
|
+
get orientation() {
|
51
|
+
if (isServer()) {
|
52
|
+
return Orientation.Portrait;
|
53
|
+
}
|
54
|
+
return screen.orientation.type.includes('portrait') ? Orientation.Portrait : Orientation.Landscape;
|
55
|
+
}
|
56
|
+
get theme() {
|
57
|
+
return this.getTheme(this.themeName);
|
58
|
+
}
|
59
|
+
get pixelRatio() {
|
60
|
+
return isServer() ? 1 : window.devicePixelRatio;
|
61
|
+
}
|
62
|
+
get screen() {
|
63
|
+
if (isServer()) {
|
64
|
+
return {
|
65
|
+
width: 0,
|
66
|
+
height: 0
|
67
|
+
};
|
68
|
+
}
|
69
|
+
return {
|
70
|
+
width: window.innerWidth,
|
71
|
+
height: window.innerHeight
|
72
|
+
};
|
73
|
+
}
|
74
|
+
get fontScale() {
|
75
|
+
return 1;
|
76
|
+
}
|
77
|
+
get insets() {
|
78
|
+
return {
|
79
|
+
top: 0,
|
80
|
+
bottom: 0,
|
81
|
+
left: 0,
|
82
|
+
right: 0,
|
83
|
+
ime: 0
|
84
|
+
};
|
85
|
+
}
|
86
|
+
get statusBar() {
|
87
|
+
return StatusBar;
|
88
|
+
}
|
89
|
+
get rtl() {
|
90
|
+
return isServer() ? true : document.documentElement.dir === 'rtl';
|
91
|
+
}
|
92
|
+
get hasAdaptiveThemes() {
|
93
|
+
return UnistylesState.hasAdaptiveThemes;
|
94
|
+
}
|
95
|
+
get navigationBar() {
|
96
|
+
return NavigationBar;
|
97
|
+
}
|
98
|
+
get miniRuntime() {
|
99
|
+
return {
|
100
|
+
colorScheme: this.colorScheme,
|
101
|
+
themeName: this.themeName,
|
102
|
+
contentSizeCategory: this.contentSizeCategory,
|
103
|
+
breakpoint: this.breakpoint,
|
104
|
+
isLandscape: this.orientation === Orientation.Landscape,
|
105
|
+
isPortrait: this.orientation === Orientation.Portrait,
|
106
|
+
pixelRatio: this.pixelRatio,
|
107
|
+
screen: this.screen,
|
108
|
+
fontScale: this.fontScale,
|
109
|
+
insets: this.insets,
|
110
|
+
statusBar: {
|
111
|
+
width: this.statusBar.width,
|
112
|
+
height: this.statusBar.height
|
113
|
+
},
|
114
|
+
navigationBar: {
|
115
|
+
width: this.navigationBar.width,
|
116
|
+
height: this.navigationBar.height
|
117
|
+
},
|
118
|
+
rtl: this.rtl,
|
119
|
+
hasAdaptiveThemes: this.hasAdaptiveThemes
|
120
|
+
};
|
121
|
+
}
|
122
|
+
setTheme = themeName => {
|
123
|
+
if (themeName === UnistylesRuntime.themeName) {
|
124
|
+
return;
|
125
|
+
}
|
126
|
+
UnistylesState.themeName = themeName;
|
127
|
+
UnistylesListener.emitChange(UnistyleDependency.Theme);
|
128
|
+
UnistylesListener.emitChange(UnistyleDependency.ThemeName);
|
129
|
+
};
|
130
|
+
setAdaptiveThemes = isEnabled => {
|
131
|
+
UnistylesState.hasAdaptiveThemes = isEnabled;
|
132
|
+
if (!isEnabled) {
|
133
|
+
return;
|
134
|
+
}
|
135
|
+
this.setTheme(schemeToTheme(UnistylesRuntime.colorScheme));
|
136
|
+
};
|
137
|
+
setRootViewBackgroundColor = (hex, alpha) => {
|
138
|
+
if (isServer()) {
|
139
|
+
return;
|
140
|
+
}
|
141
|
+
document.documentElement.style.backgroundColor = alpha ? hexToRGBA(hex, alpha) : hex;
|
142
|
+
};
|
143
|
+
setImmersiveMode = () => {};
|
144
|
+
updateTheme = (themeName, updater) => {
|
145
|
+
const oldTheme = UnistylesState.themes.get(themeName);
|
146
|
+
if (!oldTheme) {
|
147
|
+
throw new Error(`🦄 Theme "${themeName}" is not registered!`);
|
148
|
+
}
|
149
|
+
UnistylesState.themes.set(themeName, updater(oldTheme));
|
150
|
+
};
|
151
|
+
getTheme = (themeName = this.themeName) => {
|
152
|
+
if (!themeName) {
|
153
|
+
throw new Error('🦄 No theme selected!');
|
154
|
+
}
|
155
|
+
const theme = UnistylesState.themes.get(themeName);
|
156
|
+
if (!theme) {
|
157
|
+
throw new Error(`🦄 Theme "${this.themeName}" is not registered!`);
|
158
|
+
}
|
159
|
+
return theme;
|
160
|
+
};
|
161
|
+
}
|
162
|
+
export const UnistylesRuntime = new UnistylesRuntimeBuilder();
|
163
|
+
//# sourceMappingURL=runtime.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["UnistyleDependency","ColorScheme","Orientation","WebContentSizeCategory","UnistylesListener","NavigationBar","StatusBar","UnistylesState","hexToRGBA","isServer","schemeToTheme","UnistylesRuntimeBuilder","lightMedia","getLightMedia","darkMedia","getDarkMedia","window","matchMedia","colorScheme","matches","Light","Dark","Unspecified","themeName","contentSizeCategory","breakpoint","orientation","Portrait","screen","type","includes","Landscape","theme","getTheme","pixelRatio","devicePixelRatio","width","height","innerWidth","innerHeight","fontScale","insets","top","bottom","left","right","ime","statusBar","rtl","document","documentElement","dir","hasAdaptiveThemes","navigationBar","miniRuntime","isLandscape","isPortrait","setTheme","UnistylesRuntime","emitChange","Theme","ThemeName","setAdaptiveThemes","isEnabled","setRootViewBackgroundColor","hex","alpha","style","backgroundColor","setImmersiveMode","updateTheme","updater","oldTheme","themes","get","Error","set"],"sourceRoot":"../../../src","sources":["web/runtime.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,118 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { UnistylesRegistry } from './registry';
|
4
|
+
import { createDoubleMap, deepMergeObjects, equal, extractSecrets, extractUnistyleDependencies, isInDocument } from './utils';
|
5
|
+
import { getVariants } from './variants';
|
6
|
+
class UnistylesShadowRegistryBuilder {
|
7
|
+
// MOCKS
|
8
|
+
name = 'UnistylesShadowRegistry';
|
9
|
+
__type = 'web';
|
10
|
+
equals = () => true;
|
11
|
+
toString = () => 'UnistylesShadowRegistry';
|
12
|
+
dispose = () => {};
|
13
|
+
// END MOCKS
|
14
|
+
|
15
|
+
resultsMap = createDoubleMap();
|
16
|
+
classNamesMap = createDoubleMap();
|
17
|
+
add = (ref, _style, _variants, _args) => {
|
18
|
+
// Style is not provided
|
19
|
+
if (!_style) {
|
20
|
+
return;
|
21
|
+
}
|
22
|
+
|
23
|
+
// Array of styles
|
24
|
+
if (Array.isArray(_style)) {
|
25
|
+
_style.forEach(style => this.add(ref, style, _variants, _args));
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
|
29
|
+
// Not a unistyle
|
30
|
+
if (!Object.keys(_style).some(key => key.startsWith('__uni__'))) {
|
31
|
+
return;
|
32
|
+
}
|
33
|
+
|
34
|
+
// Ref is unmounted, remove style tags from the document
|
35
|
+
if (ref === null) {
|
36
|
+
const secrets = extractSecrets(_style);
|
37
|
+
secrets.forEach(({
|
38
|
+
__uni__refs,
|
39
|
+
__uni__key
|
40
|
+
}) => {
|
41
|
+
__uni__refs.forEach(ref => {
|
42
|
+
if (isInDocument(ref)) {
|
43
|
+
return;
|
44
|
+
}
|
45
|
+
const oldResult = this.resultsMap.get(ref, __uni__key);
|
46
|
+
this.resultsMap.delete(ref, __uni__key);
|
47
|
+
this.classNamesMap.delete(ref, __uni__key);
|
48
|
+
if (oldResult) {
|
49
|
+
UnistylesRegistry.remove(oldResult);
|
50
|
+
}
|
51
|
+
});
|
52
|
+
});
|
53
|
+
return;
|
54
|
+
}
|
55
|
+
|
56
|
+
// Ref is not an HTMLElement
|
57
|
+
if (!(ref instanceof HTMLElement)) {
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
extractSecrets(_style).forEach(secret => {
|
61
|
+
const {
|
62
|
+
__uni__key,
|
63
|
+
__uni__stylesheet,
|
64
|
+
__uni__variants,
|
65
|
+
__uni__args = [],
|
66
|
+
__uni__refs
|
67
|
+
} = secret;
|
68
|
+
const newComputedStylesheet = UnistylesRegistry.getComputedStylesheet(__uni__stylesheet);
|
69
|
+
const style = newComputedStylesheet[__uni__key];
|
70
|
+
const args = _args ?? __uni__args;
|
71
|
+
const variants = _variants && Object.keys(_variants).length > 0 ? _variants : __uni__variants;
|
72
|
+
const result = typeof style === 'function' ? style(...args) : style;
|
73
|
+
const {
|
74
|
+
variantsResult
|
75
|
+
} = Object.fromEntries(getVariants({
|
76
|
+
variantsResult: result
|
77
|
+
}, variants));
|
78
|
+
const resultWithVariants = deepMergeObjects(result, variantsResult ?? {});
|
79
|
+
const oldResult = this.resultsMap.get(ref, __uni__key);
|
80
|
+
|
81
|
+
// If results are the same do nothing
|
82
|
+
if (equal(oldResult, resultWithVariants)) {
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
const oldClassNames = this.classNamesMap.get(ref, __uni__key);
|
86
|
+
|
87
|
+
// Remove old styles
|
88
|
+
if (oldResult) {
|
89
|
+
UnistylesRegistry.remove(oldResult);
|
90
|
+
}
|
91
|
+
|
92
|
+
// Remove old classnames from the ref
|
93
|
+
oldClassNames?.forEach(className => ref.classList.remove(className));
|
94
|
+
this.resultsMap.set(ref, __uni__key, resultWithVariants);
|
95
|
+
const className = UnistylesRegistry.add({
|
96
|
+
key: __uni__key,
|
97
|
+
args,
|
98
|
+
stylesheet: __uni__stylesheet,
|
99
|
+
value: resultWithVariants,
|
100
|
+
variants
|
101
|
+
});
|
102
|
+
const injectedClassNames = resultWithVariants?._web?._classNames ?? [];
|
103
|
+
const newClassNames = injectedClassNames.concat(className);
|
104
|
+
const dependencies = extractUnistyleDependencies(resultWithVariants);
|
105
|
+
if (typeof __uni__stylesheet === 'function') {
|
106
|
+
// Add dependencies from dynamic styles to stylesheet
|
107
|
+
UnistylesRegistry.addDependenciesToStylesheet(__uni__stylesheet, dependencies);
|
108
|
+
}
|
109
|
+
__uni__refs.add(ref);
|
110
|
+
this.classNamesMap.set(ref, __uni__key, newClassNames);
|
111
|
+
// Add new classnames to the ref
|
112
|
+
ref.classList.add(...newClassNames);
|
113
|
+
});
|
114
|
+
};
|
115
|
+
remove = () => {};
|
116
|
+
}
|
117
|
+
export const UnistylesShadowRegistry = new UnistylesShadowRegistryBuilder();
|
118
|
+
//# sourceMappingURL=shadowRegistry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["UnistylesRegistry","createDoubleMap","deepMergeObjects","equal","extractSecrets","extractUnistyleDependencies","isInDocument","getVariants","UnistylesShadowRegistryBuilder","name","__type","equals","toString","dispose","resultsMap","classNamesMap","add","ref","_style","_variants","_args","Array","isArray","forEach","style","Object","keys","some","key","startsWith","secrets","__uni__refs","__uni__key","oldResult","get","delete","remove","HTMLElement","secret","__uni__stylesheet","__uni__variants","__uni__args","newComputedStylesheet","getComputedStylesheet","args","variants","length","result","variantsResult","fromEntries","resultWithVariants","oldClassNames","className","classList","set","stylesheet","value","injectedClassNames","_web","_classNames","newClassNames","concat","dependencies","addDependenciesToStylesheet","UnistylesShadowRegistry"],"sourceRoot":"../../../src","sources":["web/shadowRegistry.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,65 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { UnistylesRuntime } from './runtime';
|
4
|
+
import { isServer, schemeToTheme } from './utils';
|
5
|
+
import { UnistylesListener } from './listener';
|
6
|
+
import { UnistyleDependency } from '../specs/NativePlatform';
|
7
|
+
class UnistylesStateBuilder {
|
8
|
+
themes = new Map();
|
9
|
+
matchingBreakpoints = new Map();
|
10
|
+
get breakpoint() {
|
11
|
+
const [currentBreakpoint] = Array.from(this.matchingBreakpoints).reverse().find(([_key, value]) => value) ?? [];
|
12
|
+
return currentBreakpoint;
|
13
|
+
}
|
14
|
+
hasAdaptiveThemes = false;
|
15
|
+
init = config => {
|
16
|
+
this.initThemes(config.themes);
|
17
|
+
this.initBreakpoints(config.breakpoints);
|
18
|
+
this.initSettings(config.settings);
|
19
|
+
if (isServer()) {
|
20
|
+
return;
|
21
|
+
}
|
22
|
+
UnistylesListener.initListeners();
|
23
|
+
};
|
24
|
+
initThemes = (themes = {}) => {
|
25
|
+
Object.entries(themes).forEach(([themeName, theme]) => {
|
26
|
+
this.themes.set(themeName, theme);
|
27
|
+
});
|
28
|
+
};
|
29
|
+
initSettings = settings => {
|
30
|
+
this.hasAdaptiveThemes = settings?.adaptiveThemes ?? false;
|
31
|
+
const themeNames = Array.from(this.themes.keys());
|
32
|
+
// Single theme + no settings
|
33
|
+
if (!settings?.adaptiveThemes && !settings?.initialTheme && themeNames.length === 1) {
|
34
|
+
this.themeName = themeNames[0];
|
35
|
+
return;
|
36
|
+
}
|
37
|
+
// No settings
|
38
|
+
if (!settings?.adaptiveThemes && !settings?.initialTheme) {
|
39
|
+
throw new Error('🦄 You need to specify either "initialTheme" or "adaptiveThemes" in your config');
|
40
|
+
}
|
41
|
+
// Adaptive themes
|
42
|
+
if (settings.adaptiveThemes) {
|
43
|
+
this.themeName = schemeToTheme(UnistylesRuntime.colorScheme);
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
// Initial theme
|
47
|
+
this.themeName = typeof settings.initialTheme === 'function' ? settings.initialTheme() : settings.initialTheme;
|
48
|
+
};
|
49
|
+
initBreakpoints = (breakpoints = {}) => {
|
50
|
+
this.breakpoints = breakpoints;
|
51
|
+
Object.entries(breakpoints).sort(([, a], [, b]) => a - b).forEach(([breakpoint, value]) => {
|
52
|
+
if (isServer()) {
|
53
|
+
return;
|
54
|
+
}
|
55
|
+
const mediaQuery = window.matchMedia(`(min-width: ${value}px)`);
|
56
|
+
this.matchingBreakpoints.set(breakpoint, mediaQuery.matches);
|
57
|
+
mediaQuery.addEventListener('change', event => {
|
58
|
+
this.matchingBreakpoints.set(breakpoint, event.matches);
|
59
|
+
UnistylesListener.emitChange(UnistyleDependency.Breakpoints);
|
60
|
+
});
|
61
|
+
});
|
62
|
+
};
|
63
|
+
}
|
64
|
+
export const UnistylesState = new UnistylesStateBuilder();
|
65
|
+
//# sourceMappingURL=state.js.map.map
|
@@ -0,0 +1,2 @@
|
|
1
|
+
{"version":3,"names":["UnistylesRuntime","isServer","schemeToTheme","UnistylesListener","UnistyleDependency","UnistylesStateBuilder","themes","Map","matchingBreakpoints","breakpoint","currentBreakpoint","Array","from","reverse","find","_key","value","hasAdaptiveThemes","init","config","initThemes","initBreakpoints","breakpoints","initSettings","settings","initListeners","Object","entries","forEach","themeName","theme","set","adaptiveThemes","themeNames","keys","initialTheme","length","Error","colorScheme","sort","a","b","mediaQuery","window","matchMedia","matches","addEventListener","event","emitChange","Breakpoints","UnistylesState"],"sourceRoot":"../../../src","sources":["web/state.js"],"mappings":"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","ignoreList":[]}
|
2
|
+
noreList":[]}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
export const reduceObject = (obj, reducer) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, reducer(value, key)]));
|
4
|
+
export const keyInObject = (obj, key) => key in obj;
|
5
|
+
export const isServer = () => typeof window === 'undefined';
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Deeply merges properties of passed object
|
9
|
+
*/
|
10
|
+
export const deepMergeObjects = (...sources) => {
|
11
|
+
const target = {};
|
12
|
+
sources.forEach(source => {
|
13
|
+
Object.keys(source).forEach(key => {
|
14
|
+
const sourceValue = source[key];
|
15
|
+
const targetValue = target[key];
|
16
|
+
if (Object(sourceValue) == sourceValue && Object(targetValue) === targetValue) {
|
17
|
+
// @ts-expect-error - can't assign to generic
|
18
|
+
target[key] = deepMergeObjects(targetValue, sourceValue);
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
|
22
|
+
// @ts-expect-error - can't assign to generic
|
23
|
+
target[key] = sourceValue;
|
24
|
+
});
|
25
|
+
});
|
26
|
+
return target;
|
27
|
+
};
|
28
|
+
export const warn = message => console.warn(`🦄 [react-native-unistyles] ${message}`);
|
29
|
+
export const equal = (a, b) => {
|
30
|
+
if (Object.is(a, b)) {
|
31
|
+
return true;
|
32
|
+
}
|
33
|
+
if (typeof a !== 'object' || a === null || typeof b !== 'object' || b === null) {
|
34
|
+
return false;
|
35
|
+
}
|
36
|
+
const keysA = Object.keys(a);
|
37
|
+
if (keysA.length !== Object.keys(b).length) {
|
38
|
+
return false;
|
39
|
+
}
|
40
|
+
return keysA.every(key => Object.is(a[key], b[key]) && Object.prototype.hasOwnProperty.call(b, key));
|
41
|
+
};
|
42
|
+
export const generateHash = value => {
|
43
|
+
const str = JSON.stringify(value);
|
44
|
+
let hasher = 5381;
|
45
|
+
let length = str.length;
|
46
|
+
while (length--) hasher = hasher * 33 ^ str.charCodeAt(length);
|
47
|
+
return `unistyles-${(hasher >>> 0).toString(36)}`;
|
48
|
+
};
|
49
|
+
export const createDoubleMap = () => {
|
50
|
+
const map = new Map();
|
51
|
+
return {
|
52
|
+
get: (key, secondKey) => {
|
53
|
+
const mapForKey = map.get(key);
|
54
|
+
if (!mapForKey) {
|
55
|
+
return undefined;
|
56
|
+
}
|
57
|
+
return mapForKey.get(secondKey);
|
58
|
+
},
|
59
|
+
set: (key, secondKey, value) => {
|
60
|
+
const mapForKey = map.get(key) ?? new Map();
|
61
|
+
map.set(key, mapForKey);
|
62
|
+
mapForKey.set(secondKey, value);
|
63
|
+
},
|
64
|
+
delete: (key, secondKey) => {
|
65
|
+
const mapForKey = map.get(key);
|
66
|
+
if (!mapForKey) {
|
67
|
+
return;
|
68
|
+
}
|
69
|
+
mapForKey.delete(secondKey);
|
70
|
+
},
|
71
|
+
forEach: callback => {
|
72
|
+
map.forEach((mapForKey, key) => {
|
73
|
+
mapForKey.forEach((value, secondKey) => {
|
74
|
+
callback(key, secondKey, value);
|
75
|
+
});
|
76
|
+
});
|
77
|
+
}
|
78
|
+
};
|
79
|
+
};
|
80
|
+
//# sourceMappingURL=common.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["reduceObject","obj","reducer","Object","fromEntries","entries","map","key","value","keyInObject","isServer","window","deepMergeObjects","sources","target","forEach","source","keys","sourceValue","targetValue","warn","message","console","equal","a","b","is","keysA","length","every","prototype","hasOwnProperty","call","generateHash","str","JSON","stringify","hasher","charCodeAt","toString","createDoubleMap","Map","get","secondKey","mapForKey","undefined","set","delete","callback"],"sourceRoot":"../../../../src","sources":["web/utils/common.ts"],"mappings":"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","ignoreList":[]}
|