react-native-unistyles 3.0.0-beta.3 → 3.0.0-beta.5
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 +6 -3
- package/android/src/main/cxx/NativeUnistylesModule.cpp +1 -1
- package/android/src/main/cxx/NativeUnistylesModule.h +1 -1
- package/components/native/ActivityIndicator/package.json +2 -1
- package/components/native/FlatList/package.json +2 -1
- package/components/native/Image/package.json +2 -1
- package/components/native/ImageBackground/package.json +2 -1
- package/components/native/KeyboardAvoidingView/package.json +2 -1
- package/components/native/Pressable/package.json +1 -1
- package/components/native/RefreshControl/package.json +2 -1
- package/components/native/ScrollView/package.json +2 -1
- package/components/native/SectionList/package.json +2 -1
- package/components/native/Switch/package.json +2 -1
- package/components/native/Text/package.json +2 -1
- package/components/native/TextInput/package.json +2 -1
- package/components/native/TouchableHighlight/package.json +2 -1
- package/components/native/TouchableOpacity/package.json +2 -1
- package/components/native/View/package.json +2 -1
- package/components/native/VirtualizedList/package.json +2 -1
- package/cxx/common/Constants.h +4 -4
- package/cxx/common/Helpers.h +1 -1
- package/cxx/core/HashGenerator.cpp +23 -0
- package/cxx/core/HashGenerator.h +13 -0
- package/cxx/core/HostUnistyle.cpp +83 -0
- package/cxx/core/HostUnistyle.h +27 -0
- package/cxx/core/RNStyle.h +18 -0
- package/cxx/core/Unistyle.h +9 -4
- package/cxx/core/UnistyleWrapper.h +92 -47
- package/cxx/core/UnistylesRegistry.cpp +19 -11
- package/cxx/core/UnistylesRegistry.h +2 -4
- package/cxx/hybridObjects/HybridNavigationBar.cpp +3 -3
- package/cxx/hybridObjects/HybridNavigationBar.h +2 -2
- package/cxx/hybridObjects/HybridShadowRegistry.cpp +32 -45
- package/cxx/hybridObjects/HybridShadowRegistry.h +0 -10
- package/cxx/hybridObjects/HybridStatusBar.cpp +3 -3
- package/cxx/hybridObjects/HybridStatusBar.h +2 -2
- package/cxx/hybridObjects/HybridStyleSheet.cpp +25 -8
- package/cxx/hybridObjects/HybridStyleSheet.h +2 -1
- package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +15 -15
- package/cxx/hybridObjects/HybridUnistylesRuntime.h +2 -2
- package/cxx/parser/Parser.cpp +17 -24
- package/cxx/parser/Parser.h +2 -1
- package/ios/NativePlatform+ios.swift +5 -7
- package/ios/NativePlatform.swift +2 -2
- package/ios/UnistylesModuleOnLoad.mm +2 -1
- package/lib/commonjs/components/ScopedTheme.js.map +1 -1
- package/lib/commonjs/components/index.js +0 -7
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/components/native/ImageBackground.js +45 -1
- package/lib/commonjs/components/native/ImageBackground.js.map +1 -1
- package/lib/commonjs/components/native/ImageBackground.native.js +10 -0
- package/lib/commonjs/components/native/ImageBackground.native.js.map +1 -0
- package/lib/commonjs/components/native/Pressable.js +26 -51
- package/lib/commonjs/components/native/Pressable.js.map +1 -1
- package/lib/commonjs/components/native/Pressable.native.js +14 -11
- package/lib/commonjs/components/native/Pressable.native.js.map +1 -1
- package/lib/commonjs/core/createUnistylesElement.js +29 -5
- package/lib/commonjs/core/createUnistylesElement.js.map +1 -1
- package/lib/commonjs/core/createUnistylesElement.native.js +40 -0
- package/lib/commonjs/core/createUnistylesElement.native.js.map +1 -0
- package/lib/commonjs/core/createUnistylesImageBackground.js +36 -14
- package/lib/commonjs/core/createUnistylesImageBackground.js.map +1 -1
- package/lib/commonjs/core/getClassname.js +25 -0
- package/lib/commonjs/core/getClassname.js.map +1 -0
- package/lib/commonjs/core/getClassname.native.js +9 -0
- package/lib/commonjs/core/getClassname.native.js.map +1 -0
- package/lib/commonjs/core/index.js +14 -7
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/core/passForwardRef.js +2 -2
- package/lib/commonjs/core/passForwardRef.js.map +1 -1
- package/lib/commonjs/core/useProxifiedUnistyles/index.js +13 -0
- package/lib/commonjs/core/useProxifiedUnistyles/index.js.map +1 -0
- package/lib/commonjs/core/useProxifiedUnistyles/listener.js +22 -0
- package/lib/commonjs/core/useProxifiedUnistyles/listener.js.map +1 -0
- package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js +26 -0
- package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js.map +1 -0
- package/lib/commonjs/core/useProxifiedUnistyles/types.js +6 -0
- package/lib/commonjs/core/useProxifiedUnistyles/types.js.map +1 -0
- package/lib/commonjs/core/{withUnistyles/useDependencies.js → useProxifiedUnistyles/useProxifiedUnistyles.js} +22 -22
- package/lib/commonjs/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -0
- package/lib/commonjs/core/useUnistyles.js +19 -0
- package/lib/commonjs/core/useUnistyles.js.map +1 -0
- package/lib/commonjs/core/warn.js +16 -0
- package/lib/commonjs/core/warn.js.map +1 -0
- package/lib/commonjs/core/withUnistyles/withUnistyles.js +19 -55
- package/lib/commonjs/core/withUnistyles/withUnistyles.js.map +1 -1
- package/lib/commonjs/core/withUnistyles/withUnistyles.native.js +32 -65
- package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
- package/lib/commonjs/index.js +23 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/server/getServerUnistyles.js +38 -0
- package/lib/commonjs/server/getServerUnistyles.js.map +1 -0
- package/lib/commonjs/server/hydrateServerUnistyles.js +17 -0
- package/lib/commonjs/server/hydrateServerUnistyles.js.map +1 -0
- package/lib/commonjs/server/index.js +34 -0
- package/lib/commonjs/server/index.js.map +1 -0
- package/lib/commonjs/server/resetServerUnistyles.js +16 -0
- package/lib/commonjs/server/resetServerUnistyles.js.map +1 -0
- package/lib/commonjs/server/types.js +8 -0
- package/lib/commonjs/server/types.js.map +1 -0
- package/lib/commonjs/server/useServerUnistyles.js +27 -0
- package/lib/commonjs/server/useServerUnistyles.js.map +1 -0
- package/lib/commonjs/specs/ShadowRegistry/index.js +6 -3
- package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
- package/lib/commonjs/utils.js +4 -2
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/convert/object/filter.js +2 -2
- package/lib/commonjs/web/convert/object/filter.js.map +1 -1
- package/lib/commonjs/web/convert/style.js +4 -4
- package/lib/commonjs/web/convert/style.js.map +1 -1
- package/lib/commonjs/web/create.js +20 -15
- package/lib/commonjs/web/create.js.map +1 -1
- package/lib/commonjs/web/css/core.js +55 -0
- package/lib/commonjs/web/css/core.js.map +1 -0
- package/lib/commonjs/web/css/index.js +17 -0
- package/lib/commonjs/web/css/index.js.map +1 -0
- package/lib/commonjs/web/css/state.js +155 -0
- package/lib/commonjs/web/css/state.js.map +1 -0
- package/lib/commonjs/web/css/utils.js +47 -0
- package/lib/commonjs/web/css/utils.js.map +1 -0
- package/lib/commonjs/web/index.js +14 -18
- package/lib/commonjs/web/index.js.map +1 -1
- package/lib/commonjs/web/listener.js +9 -7
- package/lib/commonjs/web/listener.js.map +1 -1
- package/lib/commonjs/web/registry.js +44 -123
- package/lib/commonjs/web/registry.js.map +1 -1
- package/lib/commonjs/web/runtime.js +28 -21
- package/lib/commonjs/web/runtime.js.map +1 -1
- package/lib/commonjs/web/services.js +28 -0
- package/lib/commonjs/web/services.js.map +1 -0
- package/lib/commonjs/web/shadowRegistry.js +46 -93
- package/lib/commonjs/web/shadowRegistry.js.map +1 -1
- package/lib/commonjs/web/state.js +39 -9
- package/lib/commonjs/web/state.js.map +1 -1
- package/lib/commonjs/web/types.js +6 -0
- package/lib/commonjs/web/types.js.map +1 -0
- package/lib/commonjs/web/utils/common.js +29 -9
- package/lib/commonjs/web/utils/common.js.map +1 -1
- package/lib/commonjs/web/utils/unistyle.js +28 -19
- package/lib/commonjs/web/utils/unistyle.js.map +1 -1
- package/lib/commonjs/web/variants.js +25 -27
- package/lib/commonjs/web/variants.js.map +1 -1
- package/lib/module/components/ScopedTheme.js.map +1 -1
- package/lib/module/components/index.js +0 -1
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/native/ImageBackground.js +45 -2
- package/lib/module/components/native/ImageBackground.js.map +1 -1
- package/lib/module/components/native/ImageBackground.native.js +6 -0
- package/lib/module/components/native/ImageBackground.native.js.map +1 -0
- package/lib/module/components/native/Pressable.js +27 -52
- package/lib/module/components/native/Pressable.js.map +1 -1
- package/lib/module/components/native/Pressable.native.js +15 -12
- package/lib/module/components/native/Pressable.native.js.map +1 -1
- package/lib/module/core/createUnistylesElement.js +29 -5
- package/lib/module/core/createUnistylesElement.js.map +1 -1
- package/lib/module/core/createUnistylesElement.native.js +33 -0
- package/lib/module/core/createUnistylesElement.native.js.map +1 -0
- package/lib/module/core/createUnistylesImageBackground.js +34 -13
- package/lib/module/core/createUnistylesImageBackground.js.map +1 -1
- package/lib/module/core/getClassname.js +20 -0
- package/lib/module/core/getClassname.js.map +1 -0
- package/lib/module/core/getClassname.native.js +4 -0
- package/lib/module/core/getClassname.native.js.map +1 -0
- package/lib/module/core/index.js +2 -1
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/core/passForwardRef.js +2 -2
- package/lib/module/core/passForwardRef.js.map +1 -1
- package/lib/module/core/useProxifiedUnistyles/index.js +4 -0
- package/lib/module/core/useProxifiedUnistyles/index.js.map +1 -0
- package/lib/module/core/useProxifiedUnistyles/listener.js +17 -0
- package/lib/module/core/useProxifiedUnistyles/listener.js.map +1 -0
- package/lib/module/core/useProxifiedUnistyles/listener.native.js +21 -0
- package/lib/module/core/useProxifiedUnistyles/listener.native.js.map +1 -0
- package/lib/module/core/useProxifiedUnistyles/types.js +4 -0
- package/lib/module/core/useProxifiedUnistyles/types.js.map +1 -0
- package/lib/module/core/{withUnistyles/useDependencies.js → useProxifiedUnistyles/useProxifiedUnistyles.js} +19 -19
- package/lib/module/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -0
- package/lib/module/core/useUnistyles.js +14 -0
- package/lib/module/core/useUnistyles.js.map +1 -0
- package/lib/module/core/warn.js +11 -0
- package/lib/module/core/warn.js.map +1 -0
- package/lib/module/core/withUnistyles/withUnistyles.js +19 -55
- package/lib/module/core/withUnistyles/withUnistyles.js.map +1 -1
- package/lib/module/core/withUnistyles/withUnistyles.native.js +33 -66
- package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/server/getServerUnistyles.js +32 -0
- package/lib/module/server/getServerUnistyles.js.map +1 -0
- package/lib/module/server/hydrateServerUnistyles.js +12 -0
- package/lib/module/server/hydrateServerUnistyles.js.map +1 -0
- package/lib/module/server/index.js +7 -0
- package/lib/module/server/index.js.map +1 -0
- package/lib/module/server/resetServerUnistyles.js +11 -0
- package/lib/module/server/resetServerUnistyles.js.map +1 -0
- package/lib/module/server/types.js +4 -0
- package/lib/module/server/types.js.map +1 -0
- package/lib/module/server/useServerUnistyles.js +22 -0
- package/lib/module/server/useServerUnistyles.js.map +1 -0
- package/lib/module/specs/ShadowRegistry/index.js +6 -3
- package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
- package/lib/module/specs/StyleSheet/index.js.map +1 -1
- package/lib/module/utils.js +2 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/convert/object/filter.js +2 -2
- package/lib/module/web/convert/object/filter.js.map +1 -1
- package/lib/module/web/convert/style.js +4 -4
- package/lib/module/web/convert/style.js.map +1 -1
- package/lib/module/web/create.js +20 -15
- package/lib/module/web/create.js.map +1 -1
- package/lib/module/web/css/core.js +50 -0
- package/lib/module/web/css/core.js.map +1 -0
- package/lib/module/web/css/index.js +4 -0
- package/lib/module/web/css/index.js.map +1 -0
- package/lib/module/web/css/state.js +150 -0
- package/lib/module/web/css/state.js.map +1 -0
- package/lib/module/web/css/utils.js +41 -0
- package/lib/module/web/css/utils.js.map +1 -0
- package/lib/module/web/index.js +10 -5
- package/lib/module/web/index.js.map +1 -1
- package/lib/module/web/listener.js +8 -7
- package/lib/module/web/listener.js.map +1 -1
- package/lib/module/web/registry.js +44 -124
- package/lib/module/web/registry.js.map +1 -1
- package/lib/module/web/runtime.js +27 -21
- package/lib/module/web/runtime.js.map +1 -1
- package/lib/module/web/services.js +23 -0
- package/lib/module/web/services.js.map +1 -0
- package/lib/module/web/shadowRegistry.js +46 -94
- package/lib/module/web/shadowRegistry.js.map +1 -1
- package/lib/module/web/state.js +39 -10
- package/lib/module/web/state.js.map +1 -1
- package/lib/module/web/types.js +4 -0
- package/lib/module/web/types.js.map +1 -0
- package/lib/module/web/utils/common.js +26 -7
- package/lib/module/web/utils/common.js.map +1 -1
- package/lib/module/web/utils/unistyle.js +27 -17
- package/lib/module/web/utils/unistyle.js.map +1 -1
- package/lib/module/web/variants.js +25 -27
- package/lib/module/web/variants.js.map +1 -1
- package/lib/typescript/src/components/index.d.ts +0 -1
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/components/native/ActivityIndicator.d.ts +3 -1
- package/lib/typescript/src/components/native/ActivityIndicator.d.ts.map +1 -1
- package/lib/typescript/src/components/native/FlatList.d.ts +3 -1
- package/lib/typescript/src/components/native/FlatList.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Image.d.ts +3 -1
- package/lib/typescript/src/components/native/Image.d.ts.map +1 -1
- package/lib/typescript/src/components/native/ImageBackground.d.ts +8 -2
- package/lib/typescript/src/components/native/ImageBackground.d.ts.map +1 -1
- package/lib/typescript/src/components/native/ImageBackground.native.d.ts +3 -0
- package/lib/typescript/src/components/native/ImageBackground.native.d.ts.map +1 -0
- package/lib/typescript/src/components/native/KeyboardAvoidingView.d.ts +3 -1
- package/lib/typescript/src/components/native/KeyboardAvoidingView.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Pressable.d.ts +3 -2
- package/lib/typescript/src/components/native/Pressable.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Pressable.native.d.ts.map +1 -1
- package/lib/typescript/src/components/native/RefreshControl.d.ts +3 -1
- package/lib/typescript/src/components/native/RefreshControl.d.ts.map +1 -1
- package/lib/typescript/src/components/native/ScrollView.d.ts +3 -1
- package/lib/typescript/src/components/native/ScrollView.d.ts.map +1 -1
- package/lib/typescript/src/components/native/SectionList.d.ts +3 -1
- package/lib/typescript/src/components/native/SectionList.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Switch.d.ts +3 -1
- package/lib/typescript/src/components/native/Switch.d.ts.map +1 -1
- package/lib/typescript/src/components/native/Text.d.ts +3 -1
- package/lib/typescript/src/components/native/Text.d.ts.map +1 -1
- package/lib/typescript/src/components/native/TextInput.d.ts +3 -1
- package/lib/typescript/src/components/native/TextInput.d.ts.map +1 -1
- package/lib/typescript/src/components/native/TouchableHighlight.d.ts +3 -1
- package/lib/typescript/src/components/native/TouchableHighlight.d.ts.map +1 -1
- package/lib/typescript/src/components/native/TouchableOpacity.d.ts +3 -1
- package/lib/typescript/src/components/native/TouchableOpacity.d.ts.map +1 -1
- package/lib/typescript/src/components/native/View.d.ts +3 -1
- package/lib/typescript/src/components/native/View.d.ts.map +1 -1
- package/lib/typescript/src/components/native/VirtualizedList.d.ts +3 -1
- package/lib/typescript/src/components/native/VirtualizedList.d.ts.map +1 -1
- package/lib/typescript/src/core/createUnistylesElement.d.ts +6 -1
- package/lib/typescript/src/core/createUnistylesElement.d.ts.map +1 -1
- package/lib/typescript/src/core/createUnistylesElement.native.d.ts +3 -0
- package/lib/typescript/src/core/createUnistylesElement.native.d.ts.map +1 -0
- package/lib/typescript/src/core/createUnistylesImageBackground.d.ts.map +1 -1
- package/lib/typescript/src/core/getClassname.d.ts +7 -0
- package/lib/typescript/src/core/getClassname.d.ts.map +1 -0
- package/lib/typescript/src/core/getClassname.native.d.ts +2 -0
- package/lib/typescript/src/core/getClassname.native.d.ts.map +1 -0
- package/lib/typescript/src/core/index.d.ts +2 -1
- package/lib/typescript/src/core/index.d.ts.map +1 -1
- package/lib/typescript/src/core/passForwardRef.d.ts.map +1 -1
- package/lib/typescript/src/core/useProxifiedUnistyles/index.d.ts +2 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/index.d.ts.map +1 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/listener.d.ts +3 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/listener.d.ts.map +1 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/listener.native.d.ts +3 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/listener.native.d.ts.map +1 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/types.d.ts +7 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/types.d.ts.map +1 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts +8 -0
- package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/core/useUnistyles.d.ts +6 -0
- package/lib/typescript/src/core/useUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/core/warn.d.ts +3 -0
- package/lib/typescript/src/core/warn.d.ts.map +1 -0
- package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts +0 -3
- package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts.map +1 -1
- package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/server/getServerUnistyles.d.ts +4 -0
- package/lib/typescript/src/server/getServerUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/server/hydrateServerUnistyles.d.ts +8 -0
- package/lib/typescript/src/server/hydrateServerUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/server/index.d.ts +5 -0
- package/lib/typescript/src/server/index.d.ts.map +1 -0
- package/lib/typescript/src/server/resetServerUnistyles.d.ts +2 -0
- package/lib/typescript/src/server/resetServerUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/server/types.d.ts +5 -0
- package/lib/typescript/src/server/types.d.ts.map +1 -0
- package/lib/typescript/src/server/useServerUnistyles.d.ts +4 -0
- package/lib/typescript/src/server/useServerUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +0 -3
- package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts +4 -1
- package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
- package/lib/typescript/src/utils.d.ts +1 -0
- package/lib/typescript/src/utils.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/style.d.ts.map +1 -1
- package/lib/typescript/src/web/create.d.ts.map +1 -1
- package/lib/typescript/src/web/css/core.d.ts +3 -0
- package/lib/typescript/src/web/css/core.d.ts.map +1 -0
- package/lib/typescript/src/web/css/index.d.ts +2 -0
- package/lib/typescript/src/web/css/index.d.ts.map +1 -0
- package/lib/typescript/src/web/css/state.d.ts +30 -0
- package/lib/typescript/src/web/css/state.d.ts.map +1 -0
- package/lib/typescript/src/web/css/utils.d.ts +4 -0
- package/lib/typescript/src/web/css/utils.d.ts.map +1 -0
- package/lib/typescript/src/web/index.d.ts +7 -1
- package/lib/typescript/src/web/index.d.ts.map +1 -1
- package/lib/typescript/src/web/listener.d.ts +4 -3
- package/lib/typescript/src/web/listener.d.ts.map +1 -1
- package/lib/typescript/src/web/registry.d.ts +11 -8
- package/lib/typescript/src/web/registry.d.ts.map +1 -1
- package/lib/typescript/src/web/runtime.d.ts +6 -4
- package/lib/typescript/src/web/runtime.d.ts.map +1 -1
- package/lib/typescript/src/web/services.d.ts +15 -0
- package/lib/typescript/src/web/services.d.ts.map +1 -0
- package/lib/typescript/src/web/shadowRegistry.d.ts +10 -13
- package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -1
- package/lib/typescript/src/web/state.d.ts +7 -3
- package/lib/typescript/src/web/state.d.ts.map +1 -1
- package/lib/typescript/src/web/types.d.ts +13 -0
- package/lib/typescript/src/web/types.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/common.d.ts +2 -1
- package/lib/typescript/src/web/utils/common.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/unistyle.d.ts +5 -4
- package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -1
- package/lib/typescript/src/web/variants.d.ts +2 -2
- package/lib/typescript/src/web/variants.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JColorScheme.hpp +2 -1
- package/nitrogen/generated/android/c++/JDimensions.hpp +2 -1
- package/nitrogen/generated/android/c++/JFunc_void_UnistylesNativeMiniRuntime.hpp +36 -10
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +53 -19
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +5 -5
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JInsets.hpp +2 -1
- package/nitrogen/generated/android/c++/JOrientation.hpp +2 -1
- package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +2 -1
- package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +2 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/ColorScheme.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +10 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_UnistylesNativeMiniRuntime.kt +43 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.kt +43 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +10 -10
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +13 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Orientation.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +19 -14
- package/nitrogen/generated/android/unistyles+autolinking.cmake +4 -1
- package/nitrogen/generated/android/unistyles+autolinking.gradle +1 -1
- package/nitrogen/generated/android/unistylesOnLoad.cpp +7 -3
- package/nitrogen/generated/android/unistylesOnLoad.hpp +1 -1
- package/nitrogen/generated/ios/Unistyles+autolinking.rb +1 -1
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +21 -6
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +105 -27
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +5 -3
- package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +92 -33
- package/nitrogen/generated/ios/swift/ColorScheme.swift +1 -1
- package/nitrogen/generated/ios/swift/Dimensions.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_UnistylesNativeMiniRuntime.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +36 -23
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec_cxx.swift +327 -0
- package/nitrogen/generated/ios/swift/Insets.swift +1 -1
- package/nitrogen/generated/ios/swift/Orientation.swift +1 -1
- package/nitrogen/generated/ios/swift/UnistyleDependency.swift +1 -1
- package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +1 -1
- package/nitrogen/generated/shared/c++/ColorScheme.hpp +1 -1
- package/nitrogen/generated/shared/c++/Dimensions.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/Insets.hpp +1 -1
- package/nitrogen/generated/shared/c++/Orientation.hpp +1 -1
- package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -2
- package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +1 -1
- package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +1 -1
- package/package.json +21 -12
- package/plugin/import.js +1 -21
- package/plugin/index.d.ts +41 -0
- package/plugin/index.js +44 -76
- package/plugin/stylesheet.js +17 -1
- package/plugin/variants.js +49 -75
- package/src/components/ScopedTheme.tsx +1 -1
- package/src/components/index.ts +0 -1
- package/src/components/native/ImageBackground.native.tsx +4 -0
- package/src/components/native/ImageBackground.tsx +54 -2
- package/src/components/native/Pressable.native.tsx +16 -17
- package/src/components/native/Pressable.tsx +35 -69
- package/src/core/createUnistylesElement.native.tsx +36 -0
- package/src/core/createUnistylesElement.tsx +42 -8
- package/src/core/createUnistylesImageBackground.tsx +40 -19
- package/src/core/getClassname.native.ts +1 -0
- package/src/core/getClassname.ts +13 -0
- package/src/core/index.ts +2 -1
- package/src/core/passForwardRef.ts +1 -2
- package/src/core/useProxifiedUnistyles/index.ts +1 -0
- package/src/core/useProxifiedUnistyles/listener.native.ts +18 -0
- package/src/core/useProxifiedUnistyles/listener.ts +13 -0
- package/src/core/useProxifiedUnistyles/types.ts +7 -0
- package/src/core/{withUnistyles/useDependencies.ts → useProxifiedUnistyles/useProxifiedUnistyles.ts} +19 -26
- package/src/core/useUnistyles.ts +11 -0
- package/src/core/warn.ts +13 -0
- package/src/core/withUnistyles/withUnistyles.native.tsx +39 -68
- package/src/core/withUnistyles/withUnistyles.tsx +19 -56
- package/src/index.ts +3 -2
- package/src/server/getServerUnistyles.tsx +20 -0
- package/src/server/hydrateServerUnistyles.ts +17 -0
- package/src/server/index.ts +5 -0
- package/src/server/resetServerUnistyles.ts +9 -0
- package/src/server/types.ts +4 -0
- package/src/server/useServerUnistyles.tsx +22 -0
- package/src/specs/ShadowRegistry/index.ts +12 -9
- package/src/specs/StyleSheet/index.ts +5 -1
- package/src/utils.ts +15 -11
- package/src/web/convert/object/filter.ts +2 -2
- package/src/web/convert/style.ts +8 -7
- package/src/web/create.ts +23 -18
- package/src/web/css/core.ts +58 -0
- package/src/web/css/index.ts +1 -0
- package/src/web/css/state.ts +191 -0
- package/src/web/css/utils.ts +54 -0
- package/src/web/index.ts +18 -5
- package/src/web/listener.ts +8 -8
- package/src/web/registry.ts +47 -152
- package/src/web/runtime.ts +32 -22
- package/src/web/services.ts +28 -0
- package/src/web/shadowRegistry.ts +46 -104
- package/src/web/state.ts +46 -11
- package/src/web/types.ts +13 -0
- package/src/web/utils/common.ts +32 -8
- package/src/web/utils/unistyle.ts +40 -25
- package/src/web/variants.ts +27 -27
- package/cxx/core/HostStyle.cpp +0 -73
- package/cxx/core/HostStyle.h +0 -34
- package/lib/commonjs/components/Variants.js +0 -36
- package/lib/commonjs/components/Variants.js.map +0 -1
- package/lib/commonjs/core/createUnistylesComponent.js +0 -16
- package/lib/commonjs/core/createUnistylesComponent.js.map +0 -1
- package/lib/commonjs/core/withUnistyles/useDependencies.js.map +0 -1
- package/lib/module/components/Variants.js +0 -29
- package/lib/module/components/Variants.js.map +0 -1
- package/lib/module/core/createUnistylesComponent.js +0 -11
- package/lib/module/core/createUnistylesComponent.js.map +0 -1
- package/lib/module/core/withUnistyles/useDependencies.js.map +0 -1
- package/lib/typescript/src/components/Variants.d.ts +0 -7
- package/lib/typescript/src/components/Variants.d.ts.map +0 -1
- package/lib/typescript/src/core/createUnistylesComponent.d.ts +0 -14
- package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +0 -1
- package/lib/typescript/src/core/withUnistyles/useDependencies.d.ts +0 -13
- package/lib/typescript/src/core/withUnistyles/useDependencies.d.ts.map +0 -1
- package/nitrogen/generated/android/unistylesOnLoad.kt +0 -1
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +0 -314
- package/plugin/style.js +0 -168
- package/src/components/Variants.tsx +0 -30
- package/src/core/createUnistylesComponent.tsx +0 -14
@@ -1,11 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import { UnistylesListener } from './listener';
|
4
|
-
import { UnistylesRegistry } from './registry';
|
5
3
|
import { deepMergeObjects } from '../utils';
|
6
|
-
import {
|
4
|
+
import { extractSecrets, extractUnistyleDependencies } from './utils';
|
7
5
|
import { getVariants } from './variants';
|
8
|
-
|
6
|
+
import { UnistyleDependency } from '../specs';
|
7
|
+
export class UnistylesShadowRegistry {
|
9
8
|
// MOCKS
|
10
9
|
name = 'UnistylesShadowRegistry';
|
11
10
|
__type = 'web';
|
@@ -14,128 +13,81 @@ class UnistylesShadowRegistryBuilder {
|
|
14
13
|
dispose = () => {};
|
15
14
|
// END MOCKS
|
16
15
|
|
17
|
-
resultsMap = new Map();
|
18
|
-
classNamesMap = new Map();
|
19
|
-
selectedVariants = new Map();
|
20
16
|
scopedTheme = undefined;
|
21
17
|
disposeMap = new Map();
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
// Ref is unmounted
|
29
|
-
if (ref === null) {
|
30
|
-
styles.flat().forEach(style => {
|
31
|
-
extractSecrets(style)?.__uni__refs.forEach(ref => {
|
32
|
-
if (isInDocument(ref)) {
|
33
|
-
return;
|
34
|
-
}
|
35
|
-
const oldResult = this.resultsMap.get(ref);
|
36
|
-
this.resultsMap.delete(ref);
|
37
|
-
this.classNamesMap.delete(ref);
|
38
|
-
this.disposeMap.get(ref)?.();
|
39
|
-
this.disposeMap.delete(ref);
|
40
|
-
if (oldResult) {
|
41
|
-
UnistylesRegistry.remove(oldResult);
|
42
|
-
}
|
43
|
-
});
|
44
|
-
});
|
45
|
-
return;
|
46
|
-
}
|
47
|
-
|
48
|
-
// Ref is not an HTMLElement
|
49
|
-
if (!(ref instanceof HTMLElement)) {
|
18
|
+
constructor(services) {
|
19
|
+
this.services = services;
|
20
|
+
}
|
21
|
+
add = (ref, hash) => {
|
22
|
+
if (!(ref instanceof HTMLElement) || !hash) {
|
50
23
|
return;
|
51
24
|
}
|
25
|
+
this.services.registry.connect(ref, hash);
|
26
|
+
};
|
27
|
+
addStyles = unistyles => {
|
52
28
|
const getParsedStyles = () => {
|
53
|
-
|
54
|
-
|
55
|
-
return [];
|
56
|
-
}
|
57
|
-
const secrets = extractSecrets(unistyleStyle);
|
29
|
+
const allStyles = unistyles.map(unistyle => {
|
30
|
+
const secrets = extractSecrets(unistyle);
|
58
31
|
|
59
32
|
// Regular style
|
60
33
|
if (!secrets) {
|
61
|
-
return
|
34
|
+
return unistyle;
|
62
35
|
}
|
63
36
|
const {
|
64
37
|
__uni__key,
|
65
38
|
__uni__stylesheet,
|
66
39
|
__uni__args = [],
|
67
|
-
|
40
|
+
__uni_variants: variants
|
68
41
|
} = secrets;
|
69
|
-
const newComputedStylesheet =
|
42
|
+
const newComputedStylesheet = this.services.registry.getComputedStylesheet(__uni__stylesheet, scopedTheme);
|
70
43
|
const style = newComputedStylesheet[__uni__key];
|
71
|
-
const
|
72
|
-
const
|
73
|
-
const
|
74
|
-
variantsResult
|
75
|
-
} = Object.fromEntries(getVariants({
|
76
|
-
variantsResult: result
|
77
|
-
}, variants));
|
78
|
-
const resultWithVariants = deepMergeObjects(result, variantsResult ?? {});
|
44
|
+
const result = typeof style === 'function' ? style(...__uni__args) : style;
|
45
|
+
const variantsResult = getVariants(result, variants);
|
46
|
+
const resultWithVariants = deepMergeObjects(result, variantsResult);
|
79
47
|
const dependencies = extractUnistyleDependencies(resultWithVariants);
|
80
48
|
if (typeof __uni__stylesheet === 'function') {
|
81
49
|
// Add dependencies from dynamic styles to stylesheet
|
82
|
-
|
50
|
+
this.services.registry.addDependenciesToStylesheet(__uni__stylesheet, dependencies);
|
83
51
|
}
|
84
|
-
__uni__refs.add(ref);
|
85
52
|
return resultWithVariants;
|
86
53
|
});
|
54
|
+
return deepMergeObjects(...allStyles);
|
87
55
|
};
|
88
56
|
|
89
57
|
// Copy scoped theme to not use referenced value
|
90
|
-
const variants = this.getVariants();
|
91
58
|
const scopedTheme = this.scopedTheme;
|
92
59
|
const parsedStyles = getParsedStyles();
|
93
|
-
const combinedStyles = deepMergeObjects(...parsedStyles);
|
94
|
-
const oldStyles = this.resultsMap.get(ref);
|
95
|
-
if (equal(combinedStyles, oldStyles)) {
|
96
|
-
return;
|
97
|
-
}
|
98
|
-
const oldClassNames = this.classNamesMap.get(ref);
|
99
|
-
|
100
|
-
// Remove old styles
|
101
|
-
if (oldStyles) {
|
102
|
-
UnistylesRegistry.remove(oldStyles);
|
103
|
-
}
|
104
|
-
|
105
|
-
// Remove old classnames from the ref
|
106
|
-
oldClassNames?.forEach(className => ref.classList.remove(className));
|
107
|
-
this.resultsMap.set(ref, combinedStyles);
|
108
60
|
const {
|
109
|
-
hash
|
110
|
-
|
111
|
-
|
112
|
-
const
|
113
|
-
const
|
114
|
-
|
115
|
-
this.
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
ref.classList.add(...newClassNames);
|
121
|
-
ref.removeAttribute('styles');
|
122
|
-
return newClassNames;
|
123
|
-
};
|
124
|
-
selectVariants = variants => {
|
125
|
-
if (!variants) {
|
126
|
-
this.selectedVariants.clear();
|
127
|
-
return;
|
61
|
+
hash,
|
62
|
+
existingHash
|
63
|
+
} = this.services.registry.add(parsedStyles);
|
64
|
+
const injectedClassNames = parsedStyles?._web?._classNames ?? [];
|
65
|
+
const injectedClassName = Array.isArray(injectedClassNames) ? injectedClassNames.join(' ') : injectedClassNames;
|
66
|
+
const dependencies = extractUnistyleDependencies(parsedStyles);
|
67
|
+
const filteredDependencies = this.services.state.CSSVars ? dependencies.filter(dependency => dependency !== UnistyleDependency.Theme) : dependencies;
|
68
|
+
if (!existingHash) {
|
69
|
+
this.disposeMap.set(hash, this.services.listener.addListeners(filteredDependencies, () => {
|
70
|
+
this.services.registry.applyStyles(hash, getParsedStyles());
|
71
|
+
}));
|
128
72
|
}
|
129
|
-
|
130
|
-
|
131
|
-
|
73
|
+
return {
|
74
|
+
injectedClassName,
|
75
|
+
hash
|
76
|
+
};
|
132
77
|
};
|
133
78
|
setScopedTheme = theme => {
|
134
79
|
this.scopedTheme = theme;
|
135
80
|
};
|
136
81
|
getScopedTheme = () => this.scopedTheme;
|
137
|
-
|
138
|
-
|
82
|
+
remove = (ref, hash) => {
|
83
|
+
if (!(ref instanceof HTMLElement) || !hash) {
|
84
|
+
return;
|
85
|
+
}
|
86
|
+
const removed = this.services.registry.remove(ref, hash);
|
87
|
+
if (removed) {
|
88
|
+
this.disposeMap.get(hash)?.();
|
89
|
+
this.disposeMap.delete(hash);
|
90
|
+
}
|
91
|
+
};
|
139
92
|
}
|
140
|
-
export const UnistylesShadowRegistry = new UnistylesShadowRegistryBuilder();
|
141
93
|
//# sourceMappingURL=shadowRegistry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["deepMergeObjects","extractSecrets","extractUnistyleDependencies","getVariants","UnistyleDependency","UnistylesShadowRegistry","name","__type","equals","toString","dispose","scopedTheme","undefined","disposeMap","Map","constructor","services","add","ref","hash","HTMLElement","registry","connect","addStyles","unistyles","getParsedStyles","allStyles","map","unistyle","secrets","__uni__key","__uni__stylesheet","__uni__args","__uni_variants","variants","newComputedStylesheet","getComputedStylesheet","style","result","variantsResult","resultWithVariants","dependencies","addDependenciesToStylesheet","parsedStyles","existingHash","injectedClassNames","_web","_classNames","injectedClassName","Array","isArray","join","filteredDependencies","state","CSSVars","filter","dependency","Theme","set","listener","addListeners","applyStyles","setScopedTheme","theme","getScopedTheme","remove","removed","get","delete"],"sourceRoot":"../../../src","sources":["web/shadowRegistry.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/web/state.js
CHANGED
@@ -1,19 +1,27 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import {
|
4
|
-
import { error, isServer, schemeToTheme } from './utils';
|
5
|
-
import { UnistylesListener } from './listener';
|
3
|
+
import { error, hyphenate, isServer, schemeToTheme } from './utils';
|
6
4
|
import { UnistyleDependency } from '../specs/NativePlatform';
|
7
|
-
class
|
5
|
+
export class UnistylesState {
|
6
|
+
isInitialized = false;
|
8
7
|
themes = new Map();
|
8
|
+
cssThemes = new Map();
|
9
|
+
CSSVars = true;
|
9
10
|
matchingBreakpoints = new Map();
|
10
11
|
get breakpoint() {
|
11
12
|
const [currentBreakpoint] = Array.from(this.matchingBreakpoints).reverse().find(([_key, value]) => value) ?? [];
|
12
13
|
return currentBreakpoint;
|
13
14
|
}
|
14
15
|
hasAdaptiveThemes = false;
|
16
|
+
constructor(services) {
|
17
|
+
this.services = services;
|
18
|
+
}
|
15
19
|
init = config => {
|
16
|
-
this.
|
20
|
+
if (this.isInitialized) {
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
this.isInitialized = true;
|
24
|
+
this.initThemes(config.themes, config.settings?.CSSVars);
|
17
25
|
this.initBreakpoints(config.breakpoints);
|
18
26
|
if (config.settings) {
|
19
27
|
this.initSettings(config.settings);
|
@@ -21,11 +29,33 @@ class UnistylesStateBuilder {
|
|
21
29
|
if (isServer()) {
|
22
30
|
return;
|
23
31
|
}
|
24
|
-
|
32
|
+
|
33
|
+
// Ensure we have a themeName before calling this
|
34
|
+
// classList.add throws a "SyntaxError" DOMException if one of the arguments is an empty string.
|
35
|
+
if (!this.hasAdaptiveThemes && this.CSSVars && this.themeName) {
|
36
|
+
document.querySelector(':root')?.classList.add(this.themeName);
|
37
|
+
}
|
38
|
+
this.services.listener.initListeners();
|
25
39
|
};
|
26
|
-
initThemes = (themes = {}) => {
|
40
|
+
initThemes = (themes = {}, CSSVars = true) => {
|
41
|
+
this.CSSVars = CSSVars;
|
27
42
|
Object.entries(themes).forEach(([themeName, theme]) => {
|
28
43
|
this.themes.set(themeName, theme);
|
44
|
+
if (CSSVars) {
|
45
|
+
this.services.registry.css.addTheme(themeName, theme);
|
46
|
+
const convertTheme = (key, value, prev = '-') => {
|
47
|
+
if (typeof value === 'object' && value !== null) {
|
48
|
+
return [key, Object.fromEntries(Object.entries(value).map(([nestedKey, nestedValue]) => convertTheme(nestedKey, nestedValue, `${prev}-${key}`)))];
|
49
|
+
}
|
50
|
+
if (typeof value === 'string') {
|
51
|
+
return [key, `var(${prev}-${hyphenate(key)})`];
|
52
|
+
}
|
53
|
+
return [key, value];
|
54
|
+
};
|
55
|
+
this.cssThemes.set(themeName, Object.fromEntries(Object.entries(theme).map(([key, value]) => {
|
56
|
+
return convertTheme(key, value);
|
57
|
+
})));
|
58
|
+
}
|
29
59
|
});
|
30
60
|
};
|
31
61
|
initSettings = settings => {
|
@@ -39,7 +69,7 @@ class UnistylesStateBuilder {
|
|
39
69
|
if (!this.themes.get('light') || !this.themes.get('dark')) {
|
40
70
|
throw error(`You're trying to enable adaptiveThemes, but you didn't register both 'light' and 'dark' themes.`);
|
41
71
|
}
|
42
|
-
this.themeName = schemeToTheme(
|
72
|
+
this.themeName = schemeToTheme(this.services.runtime.colorScheme);
|
43
73
|
return;
|
44
74
|
}
|
45
75
|
if (settings.initialTheme) {
|
@@ -67,10 +97,9 @@ class UnistylesStateBuilder {
|
|
67
97
|
this.matchingBreakpoints.set(breakpoint, mediaQuery.matches);
|
68
98
|
mediaQuery.addEventListener('change', event => {
|
69
99
|
this.matchingBreakpoints.set(breakpoint, event.matches);
|
70
|
-
|
100
|
+
this.services.listener.emitChange(UnistyleDependency.Breakpoints);
|
71
101
|
});
|
72
102
|
});
|
73
103
|
};
|
74
104
|
}
|
75
|
-
export const UnistylesState = new UnistylesStateBuilder();
|
76
105
|
//# sourceMappingURL=state.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["error","hyphenate","isServer","schemeToTheme","UnistyleDependency","UnistylesState","isInitialized","themes","Map","cssThemes","CSSVars","matchingBreakpoints","breakpoint","currentBreakpoint","Array","from","reverse","find","_key","value","hasAdaptiveThemes","constructor","services","init","config","initThemes","settings","initBreakpoints","breakpoints","initSettings","themeName","document","querySelector","classList","add","listener","initListeners","Object","entries","forEach","theme","set","registry","css","addTheme","convertTheme","key","prev","fromEntries","map","nestedKey","nestedValue","adaptiveThemes","initialTheme","get","runtime","colorScheme","breakpointsEntries","length","sort","a","b","mediaQuery","window","matchMedia","matches","addEventListener","event","emitChange","Breakpoints"],"sourceRoot":"../../../src","sources":["web/state.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["web/types.ts"],"mappings":"","ignoreList":[]}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
export const reduceObject = (obj, reducer) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, reducer(value, key)]));
|
4
4
|
export const keyInObject = (obj, key) => key in obj;
|
5
|
-
export const isServer = () => typeof window === 'undefined';
|
5
|
+
export const isServer = () => typeof window === 'undefined' || typeof document === 'undefined';
|
6
6
|
export const error = message => new Error(`Unistyles: ${message}`);
|
7
7
|
export const equal = (a, b) => {
|
8
8
|
if (Object.is(a, b)) {
|
@@ -17,12 +17,31 @@ export const equal = (a, b) => {
|
|
17
17
|
}
|
18
18
|
return keysA.every(key => Object.is(a[key], b[key]) && Object.prototype.hasOwnProperty.call(b, key));
|
19
19
|
};
|
20
|
+
export const hyphenate = propertyName => propertyName.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);
|
21
|
+
export const serialize = obj => {
|
22
|
+
if (typeof obj !== 'object') {
|
23
|
+
return String(obj);
|
24
|
+
}
|
25
|
+
const sortedKeys = Object.keys(obj).sort();
|
26
|
+
const sortedKeyValuePairs = sortedKeys.map(key => `${key}:${serialize(obj[key])}`);
|
27
|
+
return `{${sortedKeyValuePairs.join(',')}}`;
|
28
|
+
};
|
29
|
+
|
30
|
+
// Based on https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js
|
31
|
+
const cyrb53 = (data, seed = 0) => {
|
32
|
+
let h1 = 0xdeadbeef ^ seed;
|
33
|
+
let h2 = 0x41c6ce57 ^ seed;
|
34
|
+
for (let i = 0, ch; i < data.length; i++) {
|
35
|
+
ch = data.charCodeAt(i);
|
36
|
+
h1 = Math.imul(h1 ^ ch, 2654435761);
|
37
|
+
h2 = Math.imul(h2 ^ ch, 1597334677);
|
38
|
+
}
|
39
|
+
h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909);
|
40
|
+
h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909);
|
41
|
+
return 4294967296 * (2097151 & h2) + (h1 >>> 0);
|
42
|
+
};
|
20
43
|
export const generateHash = value => {
|
21
|
-
const
|
22
|
-
|
23
|
-
let length = str.length;
|
24
|
-
while (length--) hasher = hasher * 33 ^ str.charCodeAt(length);
|
25
|
-
return `unistyles-${(hasher >>> 0).toString(36)}`;
|
44
|
+
const serialized = serialize(value);
|
45
|
+
return `unistyles-${cyrb53(serialized).toString(36)}`;
|
26
46
|
};
|
27
|
-
export const hyphenate = propertyName => propertyName.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);
|
28
47
|
//# sourceMappingURL=common.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["reduceObject","obj","reducer","Object","fromEntries","entries","map","key","value","keyInObject","isServer","window","error","message","Error","equal","a","b","is","keysA","keys","length","every","prototype","hasOwnProperty","call","
|
1
|
+
{"version":3,"names":["reduceObject","obj","reducer","Object","fromEntries","entries","map","key","value","keyInObject","isServer","window","document","error","message","Error","equal","a","b","is","keysA","keys","length","every","prototype","hasOwnProperty","call","hyphenate","propertyName","replace","m","toLowerCase","serialize","String","sortedKeys","sort","sortedKeyValuePairs","join","cyrb53","data","seed","h1","h2","i","ch","charCodeAt","Math","imul","generateHash","serialized","toString"],"sourceRoot":"../../../../src","sources":["web/utils/common.ts"],"mappings":"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","ignoreList":[]}
|
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
import { ColorScheme, Orientation } from '../../specs/types';
|
4
4
|
import { isUnistylesMq, parseMq } from '../../mq';
|
5
|
-
import { UnistylesState } from '../state';
|
6
5
|
import { keyInObject, reduceObject } from './common';
|
6
|
+
import { UnistylesWeb } from '../index';
|
7
7
|
export const schemeToTheme = scheme => {
|
8
8
|
switch (scheme) {
|
9
9
|
case ColorScheme.Dark:
|
@@ -14,12 +14,27 @@ export const schemeToTheme = scheme => {
|
|
14
14
|
}
|
15
15
|
};
|
16
16
|
export const assignSecrets = (object, secrets) => {
|
17
|
-
|
18
|
-
|
17
|
+
const secretsId = Math.random().toString(36).slice(8);
|
18
|
+
|
19
|
+
// @ts-expect-error assign hidden secrets
|
20
|
+
object[`unistyles-${secretsId}`] = {};
|
21
|
+
// @ts-expect-error assign hidden secrets
|
22
|
+
Object.defineProperties(object[`unistyles-${secretsId}`], reduceObject(secrets, secret => ({
|
23
|
+
value: secret,
|
24
|
+
enumerable: false,
|
25
|
+
configurable: true
|
26
|
+
})));
|
19
27
|
return object;
|
20
28
|
};
|
21
29
|
export const extractSecrets = object => {
|
22
|
-
|
30
|
+
if (!object) {
|
31
|
+
return undefined;
|
32
|
+
}
|
33
|
+
const [, secrets] = Object.entries(object).find(([key]) => key.startsWith('unistyles-')) ?? [];
|
34
|
+
if (!secrets) {
|
35
|
+
return undefined;
|
36
|
+
}
|
37
|
+
return reduceObject(Object.getOwnPropertyDescriptors(secrets), secret => secret.value);
|
23
38
|
};
|
24
39
|
export const removeInlineStyles = values => {
|
25
40
|
const returnValue = {};
|
@@ -31,17 +46,9 @@ export const removeInlineStyles = values => {
|
|
31
46
|
return returnValue;
|
32
47
|
};
|
33
48
|
export const isInDocument = element => document.body.contains(element);
|
34
|
-
export const
|
35
|
-
const [_, px] = query.match(/(\d+)px/) ?? [];
|
36
|
-
if (!px) {
|
37
|
-
return undefined;
|
38
|
-
}
|
39
|
-
const value = Number(px);
|
40
|
-
return Number.isNaN(value) ? undefined : value;
|
41
|
-
};
|
42
|
-
export const getMediaQuery = query => {
|
49
|
+
export const getMediaQuery = (query, allBreakpoints) => {
|
43
50
|
if (Object.values(Orientation).includes(query)) {
|
44
|
-
return
|
51
|
+
return `@media (orientation: ${query})`;
|
45
52
|
}
|
46
53
|
if (isUnistylesMq(query)) {
|
47
54
|
const {
|
@@ -50,10 +57,13 @@ export const getMediaQuery = query => {
|
|
50
57
|
minHeight,
|
51
58
|
maxHeight
|
52
59
|
} = parseMq(query);
|
53
|
-
|
60
|
+
const queries = [minWidth ? `(min-width: ${minWidth}px)` : undefined, maxWidth ? `(max-width: ${maxWidth}px)` : undefined, minHeight ? `(min-height: ${minHeight}px)` : undefined, maxHeight ? `(max-height: ${maxHeight}px)` : undefined].filter(Boolean).join(' and ');
|
61
|
+
return `@media ${queries}`;
|
54
62
|
}
|
55
|
-
const
|
56
|
-
|
63
|
+
const breakpointValue = UnistylesWeb.runtime.breakpoints[query] ?? 0;
|
64
|
+
const nextBreakpoint = allBreakpoints.filter(b => b in UnistylesWeb.runtime.breakpoints).map(b => UnistylesWeb.runtime.breakpoints[b]).sort((a, b) => a - b).find(b => b > breakpointValue);
|
65
|
+
const queries = [`(min-width: ${breakpointValue}px)`, nextBreakpoint ? `(max-width: ${nextBreakpoint - 1}px)` : undefined].filter(Boolean).join(' and ');
|
66
|
+
return `@media ${queries}`;
|
57
67
|
};
|
58
68
|
export const extractUnistyleDependencies = value => {
|
59
69
|
if (!value) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["ColorScheme","Orientation","isUnistylesMq","parseMq","
|
1
|
+
{"version":3,"names":["ColorScheme","Orientation","isUnistylesMq","parseMq","keyInObject","reduceObject","UnistylesWeb","schemeToTheme","scheme","Dark","Light","assignSecrets","object","secrets","secretsId","Math","random","toString","slice","Object","defineProperties","secret","value","enumerable","configurable","extractSecrets","undefined","entries","find","key","startsWith","getOwnPropertyDescriptors","removeInlineStyles","values","returnValue","isInDocument","element","document","body","contains","getMediaQuery","query","allBreakpoints","includes","minWidth","maxWidth","minHeight","maxHeight","queries","filter","Boolean","join","breakpointValue","runtime","breakpoints","nextBreakpoint","b","map","sort","a","extractUnistyleDependencies","dependencies","uni__dependencies","Array","isArray"],"sourceRoot":"../../../../src","sources":["web/utils/unistyle.ts"],"mappings":"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","ignoreList":[]}
|
@@ -1,34 +1,32 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
import { deepMergeObjects } from '../utils';
|
4
|
-
|
4
|
+
import { keyInObject } from './utils';
|
5
|
+
const hasVariants = value => {
|
6
|
+
return keyInObject(value, 'variants');
|
7
|
+
};
|
5
8
|
export const getVariants = (styles, selectedVariants) => {
|
6
|
-
|
7
|
-
|
8
|
-
}
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
return [];
|
17
|
-
}
|
18
|
-
return selectedVariantStyles;
|
19
|
-
});
|
20
|
-
const compoundVariantStyles = compoundVariants.flatMap(compoundVariant => {
|
21
|
-
const {
|
22
|
-
styles,
|
23
|
-
...conditions
|
24
|
-
} = compoundVariant;
|
25
|
-
if (Object.entries(conditions).some(([variant, value]) => String(selectedVariants[variant]) !== String(value))) {
|
26
|
-
return [];
|
27
|
-
}
|
28
|
-
return styles;
|
29
|
-
});
|
30
|
-
const mergedVariantStyles = deepMergeObjects(...variantStyles, ...compoundVariantStyles);
|
31
|
-
return [key, mergedVariantStyles];
|
9
|
+
if (!hasVariants(styles)) {
|
10
|
+
return {};
|
11
|
+
}
|
12
|
+
const variantStyles = Object.entries(styles.variants).flatMap(([variant, styles]) => {
|
13
|
+
const selectedVariant = selectedVariants[variant];
|
14
|
+
const selectedVariantStyles = styles[selectedVariant] ?? styles.default;
|
15
|
+
if (!selectedVariantStyles) {
|
16
|
+
return [];
|
17
|
+
}
|
18
|
+
return selectedVariantStyles;
|
32
19
|
});
|
20
|
+
const compoundVariantStyles = styles.compoundVariants?.flatMap(compoundVariant => {
|
21
|
+
const {
|
22
|
+
styles,
|
23
|
+
...conditions
|
24
|
+
} = compoundVariant;
|
25
|
+
if (Object.entries(conditions).some(([variant, value]) => String(selectedVariants[variant]) !== String(value))) {
|
26
|
+
return [];
|
27
|
+
}
|
28
|
+
return styles;
|
29
|
+
}) ?? [];
|
30
|
+
return deepMergeObjects(...variantStyles, ...compoundVariantStyles);
|
33
31
|
};
|
34
32
|
//# sourceMappingURL=variants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["deepMergeObjects","hasVariants","value","getVariants","styles","selectedVariants","
|
1
|
+
{"version":3,"names":["deepMergeObjects","keyInObject","hasVariants","value","getVariants","styles","selectedVariants","variantStyles","Object","entries","variants","flatMap","variant","selectedVariant","selectedVariantStyles","default","compoundVariantStyles","compoundVariants","compoundVariant","conditions","some","String"],"sourceRoot":"../../../src","sources":["web/variants.ts"],"mappings":";;AACA,SAASA,gBAAgB,QAAQ,UAAU;AAC3C,SAASC,WAAW,QAAQ,SAAS;AAQrC,MAAMC,WAAW,GAAIC,KAAU,IAAkC;EAC7D,OAAOF,WAAW,CAACE,KAAK,EAAE,UAAU,CAAC;AACzC,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGA,CAACC,MAAuB,EAAEC,gBAAqC,KAAK;EAC3F,IAAI,CAACJ,WAAW,CAACG,MAAM,CAAC,EAAE;IACtB,OAAO,CAAC,CAAC;EACb;EAEA,MAAME,aAAa,GAAGC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAACK,QAAQ,CAAC,CAACC,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEP,MAAM,CAAC,KAAK;IACjF,MAAMQ,eAAe,GAAGP,gBAAgB,CAACM,OAAO,CAAC;IACjD,MAAME,qBAAqB,GAAGT,MAAM,CAACQ,eAAe,CAAC,IAAIR,MAAM,CAACU,OAAO;IAEvE,IAAI,CAACD,qBAAqB,EAAE;MACxB,OAAO,EAAE;IACb;IAEA,OAAOA,qBAAqB;EAChC,CAAC,CAAC;EAEF,MAAME,qBAAqB,GAAGX,MAAM,CAACY,gBAAgB,EAAEN,OAAO,CAACO,eAAe,IAAI;IAC9E,MAAM;MAAEb,MAAM;MAAE,GAAGc;IAAW,CAAC,GAAGD,eAAe;IAEjD,IAAIV,MAAM,CAACC,OAAO,CAACU,UAAU,CAAC,CAACC,IAAI,CAAC,CAAC,CAACR,OAAO,EAAET,KAAK,CAAC,KAAKkB,MAAM,CAACf,gBAAgB,CAACM,OAAO,CAAC,CAAC,KAAKS,MAAM,CAAClB,KAAK,CAAC,CAAC,EAAE;MAC5G,OAAO,EAAE;IACb;IAEA,OAAOE,MAAM;EACjB,CAAC,CAAC,IAAI,EAAE;EAER,OAAOL,gBAAgB,CAAC,GAAGO,aAAa,EAAE,GAAGS,qBAAqB,CAAC;AACvE,CAAC","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA"}
|
@@ -1,2 +1,4 @@
|
|
1
|
-
export declare const ActivityIndicator: import("react").ForwardRefExoticComponent<
|
1
|
+
export declare const ActivityIndicator: import("react").ForwardRefExoticComponent<{
|
2
|
+
style?: import("../../types").UnistylesValues | Array<import("../../types").UnistylesValues>;
|
3
|
+
} & import("react").RefAttributes<unknown>>;
|
2
4
|
//# sourceMappingURL=ActivityIndicator.d.ts.map
|