react-native-unistyles 1.1.6 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE +1 -1
- package/README.md +30 -38
- package/android/CMakeLists.txt +27 -0
- package/android/build.gradle +75 -0
- package/android/src/main/cxx/cpp-adapter.cpp +132 -0
- package/android/src/main/java/com/unistyles/UnistylesModule.kt +189 -0
- package/android/src/main/java/com/unistyles/UnistylesPackage.kt +18 -0
- package/cxx/UnistylesRuntime.cpp +318 -0
- package/cxx/UnistylesRuntime.h +74 -0
- package/ios/UnistylesHelpers.h +3 -0
- package/ios/UnistylesHelpers.mm +5 -0
- package/ios/UnistylesModule.h +16 -0
- package/ios/UnistylesModule.mm +138 -0
- package/ios/platform/Platform_iOS.h +21 -0
- package/ios/platform/Platform_iOS.mm +132 -0
- package/ios/platform/Platform_macOS.h +20 -0
- package/ios/platform/Platform_macOS.mm +83 -0
- package/lib/commonjs/common.js +60 -0
- package/lib/commonjs/common.js.map +1 -0
- package/lib/commonjs/core/UnistyleRegistry.js +94 -0
- package/lib/commonjs/core/UnistyleRegistry.js.map +1 -0
- package/lib/commonjs/core/Unistyles.js +32 -0
- package/lib/commonjs/core/Unistyles.js.map +1 -0
- package/lib/commonjs/core/UnistylesModule.js +197 -0
- package/lib/commonjs/core/UnistylesModule.js.map +1 -0
- package/lib/commonjs/core/UnistylesModule.native.js +9 -0
- package/lib/commonjs/core/UnistylesModule.native.js.map +1 -0
- package/lib/commonjs/core/UnistylesRuntime.js +140 -0
- package/lib/commonjs/core/UnistylesRuntime.js.map +1 -0
- package/lib/commonjs/core/index.js +13 -0
- package/lib/commonjs/core/index.js.map +1 -0
- package/lib/commonjs/createStyleSheet.js +14 -0
- package/lib/commonjs/createStyleSheet.js.map +1 -0
- package/lib/commonjs/global.js +2 -0
- package/lib/commonjs/global.js.map +1 -0
- package/lib/commonjs/hooks/index.js +24 -3
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useCSS.js +44 -0
- package/lib/commonjs/hooks/useCSS.js.map +1 -0
- package/lib/commonjs/hooks/useCSS.native.js +9 -0
- package/lib/commonjs/hooks/useCSS.native.js.map +1 -0
- package/lib/commonjs/hooks/useInitialTheme.js +17 -0
- package/lib/commonjs/hooks/useInitialTheme.js.map +1 -0
- package/lib/commonjs/hooks/useUnistyles.js +64 -0
- package/lib/commonjs/hooks/useUnistyles.js.map +1 -0
- package/lib/commonjs/hooks/useVariants.js +14 -0
- package/lib/commonjs/hooks/useVariants.js.map +1 -0
- package/lib/commonjs/index.js +63 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/normalizer/index.js +32 -0
- package/lib/commonjs/normalizer/index.js.map +1 -0
- package/lib/commonjs/normalizer/module.d.js.map +1 -0
- package/lib/commonjs/{utils/normalizeStyles.web.js → normalizer/normalizeStyle.js} +5 -5
- package/lib/commonjs/normalizer/normalizeStyle.js.map +1 -0
- package/lib/commonjs/{utils → normalizer}/normalizer.js +2 -3
- package/lib/commonjs/normalizer/normalizer.js.map +1 -0
- package/lib/commonjs/normalizer/normalizer.macos.js +3 -0
- package/lib/commonjs/normalizer/normalizer.macos.js.map +1 -0
- package/lib/commonjs/plugins/cssMediaQueriesPlugin.js +14 -0
- package/lib/commonjs/plugins/cssMediaQueriesPlugin.js.map +1 -0
- package/lib/commonjs/plugins/index.js +20 -0
- package/lib/commonjs/plugins/index.js.map +1 -0
- package/lib/commonjs/plugins/normalizeWebStylesPlugin.js +12 -0
- package/lib/commonjs/plugins/normalizeWebStylesPlugin.js.map +1 -0
- package/lib/commonjs/types/common.js +2 -0
- package/lib/{module/utils/module.d.js.map → commonjs/types/common.js.map} +1 -1
- package/lib/commonjs/types/index.js +11 -0
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/commonjs/types/plugin.js +6 -0
- package/lib/commonjs/{utils/module.d.js.map → types/plugin.js.map} +1 -1
- package/lib/commonjs/types/stylesheet.js +6 -0
- package/lib/commonjs/types/{mediaQueries.js.map → stylesheet.js.map} +1 -1
- package/lib/commonjs/types/unistyles.js +6 -0
- package/lib/{module/types/mediaQueries.js.map → commonjs/types/unistyles.js.map} +1 -1
- package/lib/commonjs/types/variants.js +2 -0
- package/lib/commonjs/types/variants.js.map +1 -0
- package/lib/commonjs/useStyles.js +47 -0
- package/lib/commonjs/useStyles.js.map +1 -0
- package/lib/commonjs/utils/breakpoints.js +20 -122
- package/lib/commonjs/utils/breakpoints.js.map +1 -1
- package/lib/commonjs/utils/cssMediaQuery.js +244 -0
- package/lib/commonjs/utils/cssMediaQuery.js.map +1 -0
- package/lib/commonjs/utils/generateId.js +15 -0
- package/lib/commonjs/utils/generateId.js.map +1 -0
- package/lib/commonjs/utils/hash32.js +43 -0
- package/lib/commonjs/utils/hash32.js.map +1 -0
- package/lib/commonjs/utils/index.js +22 -54
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/mq.js +38 -0
- package/lib/commonjs/utils/mq.js.map +1 -0
- package/lib/commonjs/utils/mqParser.js +89 -0
- package/lib/commonjs/utils/mqParser.js.map +1 -0
- package/lib/commonjs/utils/styles.js +52 -72
- package/lib/commonjs/utils/styles.js.map +1 -1
- package/lib/commonjs/utils/withPlugins.js +15 -0
- package/lib/commonjs/utils/withPlugins.js.map +1 -0
- package/lib/module/common.js +53 -0
- package/lib/module/common.js.map +1 -0
- package/lib/module/core/UnistyleRegistry.js +87 -0
- package/lib/module/core/UnistyleRegistry.js.map +1 -0
- package/lib/module/core/Unistyles.js +26 -0
- package/lib/module/core/Unistyles.js.map +1 -0
- package/lib/module/core/UnistylesModule.js +190 -0
- package/lib/module/core/UnistylesModule.js.map +1 -0
- package/lib/module/core/UnistylesModule.native.js +3 -0
- package/lib/module/core/UnistylesModule.native.js.map +1 -0
- package/lib/module/core/UnistylesRuntime.js +133 -0
- package/lib/module/core/UnistylesRuntime.js.map +1 -0
- package/lib/module/core/index.js +2 -0
- package/lib/module/core/index.js.map +1 -0
- package/lib/module/createStyleSheet.js +7 -0
- package/lib/module/createStyleSheet.js.map +1 -0
- package/lib/module/global.js +2 -0
- package/lib/module/global.js.map +1 -0
- package/lib/module/hooks/index.js +4 -1
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useCSS.js +37 -0
- package/lib/module/hooks/useCSS.js.map +1 -0
- package/lib/module/hooks/useCSS.native.js +2 -0
- package/lib/module/hooks/useCSS.native.js.map +1 -0
- package/lib/module/hooks/useInitialTheme.js +10 -0
- package/lib/module/hooks/useInitialTheme.js.map +1 -0
- package/lib/module/hooks/useUnistyles.js +57 -0
- package/lib/module/hooks/useUnistyles.js.map +1 -0
- package/lib/module/hooks/useVariants.js +7 -0
- package/lib/module/hooks/useVariants.js.map +1 -0
- package/lib/module/index.js +30 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/normalizer/index.js +3 -0
- package/lib/module/normalizer/index.js.map +1 -0
- package/lib/module/normalizer/module.d.js.map +1 -0
- package/lib/module/{utils/normalizeStyles.web.js → normalizer/normalizeStyle.js} +3 -3
- package/lib/module/normalizer/normalizeStyle.js.map +1 -0
- package/lib/module/{utils → normalizer}/normalizer.js +2 -3
- package/lib/module/normalizer/normalizer.js.map +1 -0
- package/lib/module/normalizer/normalizer.macos.js +2 -0
- package/lib/module/normalizer/normalizer.macos.js.map +1 -0
- package/lib/module/plugins/cssMediaQueriesPlugin.js +7 -0
- package/lib/module/plugins/cssMediaQueriesPlugin.js.map +1 -0
- package/lib/module/plugins/index.js +3 -0
- package/lib/module/plugins/index.js.map +1 -0
- package/lib/module/plugins/normalizeWebStylesPlugin.js +6 -0
- package/lib/module/plugins/normalizeWebStylesPlugin.js.map +1 -0
- package/lib/module/types/common.js +2 -0
- package/lib/module/types/common.js.map +1 -0
- package/lib/module/types/index.js +1 -0
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/types/plugin.js +2 -0
- package/lib/module/types/plugin.js.map +1 -0
- package/lib/module/types/stylesheet.js +2 -0
- package/lib/module/types/stylesheet.js.map +1 -0
- package/lib/module/types/unistyles.js +2 -0
- package/lib/module/types/unistyles.js.map +1 -0
- package/lib/module/types/variants.js +2 -0
- package/lib/module/types/variants.js.map +1 -0
- package/lib/module/useStyles.js +40 -0
- package/lib/module/useStyles.js.map +1 -0
- package/lib/module/utils/breakpoints.js +19 -120
- package/lib/module/utils/breakpoints.js.map +1 -1
- package/lib/module/utils/cssMediaQuery.js +237 -0
- package/lib/module/utils/cssMediaQuery.js.map +1 -0
- package/lib/module/utils/generateId.js +7 -0
- package/lib/module/utils/generateId.js.map +1 -0
- package/lib/module/utils/hash32.js +36 -0
- package/lib/module/utils/hash32.js.map +1 -0
- package/lib/module/utils/index.js +6 -6
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/mq.js +32 -0
- package/lib/module/utils/mq.js.map +1 -0
- package/lib/module/utils/mqParser.js +78 -0
- package/lib/module/utils/mqParser.js.map +1 -0
- package/lib/module/utils/styles.js +50 -72
- package/lib/module/utils/styles.js.map +1 -1
- package/lib/module/utils/withPlugins.js +8 -0
- package/lib/module/utils/withPlugins.js.map +1 -0
- package/lib/typescript/src/common.d.ts +46 -0
- package/lib/typescript/src/common.d.ts.map +1 -0
- package/lib/typescript/src/core/UnistyleRegistry.d.ts +56 -0
- package/lib/typescript/src/core/UnistyleRegistry.d.ts.map +1 -0
- package/lib/typescript/src/core/Unistyles.d.ts +13 -0
- package/lib/typescript/src/core/Unistyles.d.ts.map +1 -0
- package/lib/typescript/src/core/UnistylesModule.d.ts +19 -0
- package/lib/typescript/src/core/UnistylesModule.d.ts.map +1 -0
- package/lib/typescript/src/core/UnistylesModule.native.d.ts +6 -0
- package/lib/typescript/src/core/UnistylesModule.native.d.ts.map +1 -0
- package/lib/typescript/src/core/UnistylesRuntime.d.ts +81 -0
- package/lib/typescript/src/core/UnistylesRuntime.d.ts.map +1 -0
- package/lib/typescript/src/core/index.d.ts +3 -0
- package/lib/typescript/src/core/index.d.ts.map +1 -0
- package/lib/typescript/src/createStyleSheet.d.ts +8 -0
- package/lib/typescript/src/createStyleSheet.d.ts.map +1 -0
- package/lib/typescript/src/global.d.ts +7 -0
- package/lib/typescript/src/global.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +4 -1
- package/lib/typescript/src/hooks/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useCSS.d.ts +3 -0
- package/lib/typescript/src/hooks/useCSS.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useCSS.native.d.ts +3 -0
- package/lib/typescript/src/hooks/useCSS.native.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useInitialTheme.d.ts +3 -0
- package/lib/typescript/src/hooks/useInitialTheme.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useUnistyles.d.ts +14 -0
- package/lib/typescript/src/hooks/useUnistyles.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useVariants.d.ts +3 -0
- package/lib/typescript/src/hooks/useVariants.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +76 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/normalizer/index.d.ts +3 -0
- package/lib/typescript/src/normalizer/index.d.ts.map +1 -0
- package/lib/typescript/src/normalizer/normalizeStyle.d.ts +3 -0
- package/lib/typescript/src/normalizer/normalizeStyle.d.ts.map +1 -0
- package/lib/typescript/src/normalizer/normalizer.d.ts.map +1 -0
- package/lib/typescript/src/normalizer/normalizer.macos.d.ts +1 -0
- package/lib/typescript/src/normalizer/normalizer.macos.d.ts.map +1 -0
- package/lib/typescript/src/plugins/cssMediaQueriesPlugin.d.ts +3 -0
- package/lib/typescript/src/plugins/cssMediaQueriesPlugin.d.ts.map +1 -0
- package/lib/typescript/src/plugins/index.d.ts +3 -0
- package/lib/typescript/src/plugins/index.d.ts.map +1 -0
- package/lib/typescript/src/plugins/normalizeWebStylesPlugin.d.ts +3 -0
- package/lib/typescript/src/plugins/normalizeWebStylesPlugin.d.ts.map +1 -0
- package/lib/typescript/src/types/breakpoints.d.ts +25 -16
- package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
- package/lib/typescript/src/types/common.d.ts +3 -0
- package/lib/typescript/src/types/common.d.ts.map +1 -0
- package/lib/typescript/src/types/core.d.ts +11 -25
- package/lib/typescript/src/types/core.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +7 -2
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/types/plugin.d.ts +7 -0
- package/lib/typescript/src/types/plugin.d.ts.map +1 -0
- package/lib/typescript/src/types/stylesheet.d.ts +40 -0
- package/lib/typescript/src/types/stylesheet.d.ts.map +1 -0
- package/lib/typescript/src/types/unistyles.d.ts +53 -0
- package/lib/typescript/src/types/unistyles.d.ts.map +1 -0
- package/lib/typescript/src/types/variants.d.ts +14 -0
- package/lib/typescript/src/types/variants.d.ts.map +1 -0
- package/lib/typescript/src/useStyles.d.ts +16 -0
- package/lib/typescript/src/useStyles.d.ts.map +1 -0
- package/lib/typescript/src/utils/breakpoints.d.ts +2 -62
- package/lib/typescript/src/utils/breakpoints.d.ts.map +1 -1
- package/lib/typescript/src/utils/cssMediaQuery.d.ts +4 -0
- package/lib/typescript/src/utils/cssMediaQuery.d.ts.map +1 -0
- package/lib/typescript/src/utils/generateId.d.ts +2 -0
- package/lib/typescript/src/utils/generateId.d.ts.map +1 -0
- package/lib/typescript/src/utils/hash32.d.ts +2 -0
- package/lib/typescript/src/utils/hash32.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +7 -6
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/mq.d.ts +26 -0
- package/lib/typescript/src/utils/mq.d.ts.map +1 -0
- package/lib/typescript/src/utils/mqParser.d.ts +16 -0
- package/lib/typescript/src/utils/mqParser.d.ts.map +1 -0
- package/lib/typescript/src/utils/styles.d.ts +4 -49
- package/lib/typescript/src/utils/styles.d.ts.map +1 -1
- package/lib/typescript/src/utils/withPlugins.d.ts +3 -0
- package/lib/typescript/src/utils/withPlugins.d.ts.map +1 -0
- package/package.json +46 -25
- package/react-native-unistyles.podspec +22 -0
- package/src/__tests__/mocks.ts +24 -0
- package/src/common.ts +55 -0
- package/src/core/UnistyleRegistry.ts +108 -0
- package/src/core/Unistyles.ts +35 -0
- package/src/core/UnistylesModule.native.ts +7 -0
- package/src/core/UnistylesModule.ts +230 -0
- package/src/core/UnistylesRuntime.ts +135 -0
- package/src/core/index.ts +2 -0
- package/src/createStyleSheet.ts +8 -0
- package/src/global.ts +6 -0
- package/src/hooks/index.ts +4 -1
- package/src/hooks/useCSS.native.ts +3 -0
- package/src/hooks/useCSS.ts +51 -0
- package/src/hooks/useInitialTheme.ts +11 -0
- package/src/hooks/useUnistyles.ts +64 -0
- package/src/hooks/useVariants.ts +10 -0
- package/src/index.ts +50 -2
- package/src/normalizer/index.ts +2 -0
- package/src/{utils/normalizeStyles.web.ts → normalizer/normalizeStyle.ts} +3 -3
- package/src/normalizer/normalizer.macos.ts +1 -0
- package/src/{utils → normalizer}/normalizer.ts +5 -4
- package/src/plugins/cssMediaQueriesPlugin.ts +8 -0
- package/src/plugins/index.ts +2 -0
- package/src/plugins/normalizeWebStylesPlugin.ts +7 -0
- package/src/types/breakpoints.ts +55 -27
- package/src/types/common.ts +2 -0
- package/src/types/core.ts +11 -36
- package/src/types/index.ts +12 -7
- package/src/types/plugin.ts +7 -0
- package/src/types/stylesheet.ts +49 -0
- package/src/types/unistyles.ts +63 -0
- package/src/types/variants.ts +19 -0
- package/src/useStyles.ts +60 -0
- package/src/utils/breakpoints.ts +28 -124
- package/src/utils/cssMediaQuery.ts +268 -0
- package/src/utils/generateId.ts +10 -0
- package/src/utils/hash32.ts +53 -0
- package/src/utils/index.ts +7 -13
- package/src/utils/mq.ts +57 -0
- package/src/utils/mqParser.ts +99 -0
- package/src/utils/styles.ts +62 -102
- package/src/utils/withPlugins.ts +13 -0
- package/lib/commonjs/UnistylesTheme.js +0 -21
- package/lib/commonjs/UnistylesTheme.js.map +0 -1
- package/lib/commonjs/createUnistyles.js +0 -57
- package/lib/commonjs/createUnistyles.js.map +0 -1
- package/lib/commonjs/hooks/useDimensions.js +0 -10
- package/lib/commonjs/hooks/useDimensions.js.map +0 -1
- package/lib/commonjs/hooks/useDimensions.web.js +0 -34
- package/lib/commonjs/hooks/useDimensions.web.js.map +0 -1
- package/lib/commonjs/types/mediaQueries.js +0 -2
- package/lib/commonjs/utils/common.js +0 -18
- package/lib/commonjs/utils/common.js.map +0 -1
- package/lib/commonjs/utils/mediaQueries.js +0 -189
- package/lib/commonjs/utils/mediaQueries.js.map +0 -1
- package/lib/commonjs/utils/normalizeStyles.js +0 -10
- package/lib/commonjs/utils/normalizeStyles.js.map +0 -1
- package/lib/commonjs/utils/normalizeStyles.web.js.map +0 -1
- package/lib/commonjs/utils/normalizer.js.map +0 -1
- package/lib/module/UnistylesTheme.js +0 -12
- package/lib/module/UnistylesTheme.js.map +0 -1
- package/lib/module/createUnistyles.js +0 -50
- package/lib/module/createUnistyles.js.map +0 -1
- package/lib/module/hooks/useDimensions.js +0 -3
- package/lib/module/hooks/useDimensions.js.map +0 -1
- package/lib/module/hooks/useDimensions.web.js +0 -27
- package/lib/module/hooks/useDimensions.web.js.map +0 -1
- package/lib/module/types/mediaQueries.js +0 -2
- package/lib/module/utils/common.js +0 -10
- package/lib/module/utils/common.js.map +0 -1
- package/lib/module/utils/mediaQueries.js +0 -176
- package/lib/module/utils/mediaQueries.js.map +0 -1
- package/lib/module/utils/normalizeStyles.js +0 -3
- package/lib/module/utils/normalizeStyles.js.map +0 -1
- package/lib/module/utils/normalizeStyles.web.js.map +0 -1
- package/lib/module/utils/normalizer.js.map +0 -1
- package/lib/typescript/examples/expo/src/App.d.ts +0 -3
- package/lib/typescript/examples/expo/src/App.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/examples/Breakpoints.d.ts +0 -3
- package/lib/typescript/examples/expo/src/examples/Breakpoints.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/examples/EmptyStyles.d.ts +0 -3
- package/lib/typescript/examples/expo/src/examples/EmptyStyles.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/examples/Extreme.d.ts +0 -7
- package/lib/typescript/examples/expo/src/examples/Extreme.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/examples/MediaQueries.d.ts +0 -3
- package/lib/typescript/examples/expo/src/examples/MediaQueries.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/examples/Memoization.d.ts +0 -3
- package/lib/typescript/examples/expo/src/examples/Memoization.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/examples/Minimal.d.ts +0 -3
- package/lib/typescript/examples/expo/src/examples/Minimal.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/examples/MinimalWithCreateStyleSheet.d.ts +0 -3
- package/lib/typescript/examples/expo/src/examples/MinimalWithCreateStyleSheet.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/examples/Theme.d.ts +0 -3
- package/lib/typescript/examples/expo/src/examples/Theme.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/examples/index.d.ts +0 -8
- package/lib/typescript/examples/expo/src/examples/index.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/index.d.ts +0 -2
- package/lib/typescript/examples/expo/src/index.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/styles/breakpoints.d.ts +0 -8
- package/lib/typescript/examples/expo/src/styles/breakpoints.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/styles/index.d.ts +0 -46
- package/lib/typescript/examples/expo/src/styles/index.d.ts.map +0 -1
- package/lib/typescript/examples/expo/src/styles/theme.d.ts +0 -24
- package/lib/typescript/examples/expo/src/styles/theme.d.ts.map +0 -1
- package/lib/typescript/src/UnistylesTheme.d.ts +0 -9
- package/lib/typescript/src/UnistylesTheme.d.ts.map +0 -1
- package/lib/typescript/src/createUnistyles.d.ts +0 -10
- package/lib/typescript/src/createUnistyles.d.ts.map +0 -1
- package/lib/typescript/src/hooks/useDimensions.d.ts +0 -3
- package/lib/typescript/src/hooks/useDimensions.d.ts.map +0 -1
- package/lib/typescript/src/hooks/useDimensions.web.d.ts +0 -3
- package/lib/typescript/src/hooks/useDimensions.web.d.ts.map +0 -1
- package/lib/typescript/src/types/mediaQueries.d.ts +0 -8
- package/lib/typescript/src/types/mediaQueries.d.ts.map +0 -1
- package/lib/typescript/src/utils/common.d.ts +0 -5
- package/lib/typescript/src/utils/common.d.ts.map +0 -1
- package/lib/typescript/src/utils/mediaQueries.d.ts +0 -130
- package/lib/typescript/src/utils/mediaQueries.d.ts.map +0 -1
- package/lib/typescript/src/utils/normalizeStyles.d.ts +0 -2
- package/lib/typescript/src/utils/normalizeStyles.d.ts.map +0 -1
- package/lib/typescript/src/utils/normalizeStyles.web.d.ts +0 -5
- package/lib/typescript/src/utils/normalizeStyles.web.d.ts.map +0 -1
- package/lib/typescript/src/utils/normalizer.d.ts.map +0 -1
- package/src/UnistylesTheme.tsx +0 -17
- package/src/__tests__/createUnistyles.spec.tsx +0 -192
- package/src/createUnistyles.ts +0 -70
- package/src/hooks/useDimensions.ts +0 -4
- package/src/hooks/useDimensions.web.ts +0 -34
- package/src/types/mediaQueries.ts +0 -10
- package/src/utils/common.ts +0 -12
- package/src/utils/mediaQueries.ts +0 -201
- package/src/utils/normalizeStyles.ts +0 -2
- /package/lib/commonjs/{utils → normalizer}/module.d.js +0 -0
- /package/lib/module/{utils → normalizer}/module.d.js +0 -0
- /package/lib/typescript/src/{utils → normalizer}/normalizer.d.ts +0 -0
- /package/src/{utils → normalizer}/module.d.ts +0 -0
@@ -1,5 +1,5 @@
|
|
1
|
-
import { warn } from './common';
|
2
1
|
import { preprocessor } from './normalizer';
|
2
|
+
import { warn } from '../common';
|
3
3
|
const normalizeBoxShadow = style => {
|
4
4
|
const requiredBoxShadowProperties = ['shadowColor', 'shadowOffset', 'shadowOpacity', 'shadowRadius'];
|
5
5
|
if (!requiredBoxShadowProperties.every(prop => prop in style)) {
|
@@ -36,7 +36,7 @@ const normalizeTextShadow = style => {
|
|
36
36
|
textShadowRadius: undefined
|
37
37
|
};
|
38
38
|
};
|
39
|
-
export const
|
39
|
+
export const normalizeStyle = style => {
|
40
40
|
const normalizedTransform = 'transform' in style && Array.isArray(style.transform) ? {
|
41
41
|
transform: preprocessor.createTransformValue(style.transform)
|
42
42
|
} : {};
|
@@ -49,4 +49,4 @@ export const normalizeStyles = style => {
|
|
49
49
|
...normalizedTextShadow
|
50
50
|
};
|
51
51
|
};
|
52
|
-
//# sourceMappingURL=
|
52
|
+
//# sourceMappingURL=normalizeStyle.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["preprocessor","warn","normalizeBoxShadow","style","requiredBoxShadowProperties","every","prop","join","shadowColor","undefined","shadowOffset","shadowOpacity","shadowRadius","boxShadow","createBoxShadowValue","normalizeTextShadow","requiredTextShadowProperties","textShadowColor","textShadowOffset","textShadowRadius","textShadow","createTextShadowValue","normalizeStyle","normalizedTransform","Array","isArray","transform","createTransformValue","normalizedBoxShadow","normalizedTextShadow"],"sourceRoot":"../../../src","sources":["normalizer/normalizeStyle.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,cAAc;AAC3C,SAASC,IAAI,QAAQ,WAAW;AAGhC,MAAMC,kBAAkB,GAAyBC,KAAQ,IAA0B;EAC/E,MAAMC,2BAA2B,GAAG,CAChC,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,CACjB;EAED,IAAI,CAACA,2BAA2B,CAACC,KAAK,CAACC,IAAI,IAAIA,IAAI,IAAIH,KAAK,CAAC,EAAE;IAC3DF,IAAI,CAAE,wEAAuEG,2BAA2B,CAACG,IAAI,CAAC,IAAI,CAAE,EAAC,CAAC;IAEtH,OAAO;MACHC,WAAW,EAAEC,SAAS;MACtBC,YAAY,EAAED,SAAS;MACvBE,aAAa,EAAEF,SAAS;MACxBG,YAAY,EAAEH;IAClB,CAAC;EACL;EAEA,OAAO;IACHI,SAAS,EAAEb,YAAY,CAACc,oBAAoB,CAACX,KAAK,CAAC;IACnDK,WAAW,EAAEC,SAAS;IACtBC,YAAY,EAAED,SAAS;IACvBE,aAAa,EAAEF,SAAS;IACxBG,YAAY,EAAEH;EAClB,CAAC;AACL,CAAC;AAED,MAAMM,mBAAmB,GAA0BZ,KAAQ,IAA2B;EAClF,MAAMa,4BAA4B,GAAG,CACjC,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,CACrB;EAED,IAAI,CAACA,4BAA4B,CAACX,KAAK,CAACC,IAAI,IAAIA,IAAI,IAAIH,KAAK,CAAC,EAAE;IAC5DF,IAAI,CAAE,yEAAwEe,4BAA4B,CAACT,IAAI,CAAC,IAAI,CAAE,EAAC,CAAC;IAExH,OAAO;MACHU,eAAe,EAAER,SAAS;MAC1BS,gBAAgB,EAAET,SAAS;MAC3BU,gBAAgB,EAAEV;IACtB,CAAC;EACL;EAEA,OAAO;IACHW,UAAU,EAAEpB,YAAY,CAACqB,qBAAqB,CAAClB,KAAK,CAAC;IACrDc,eAAe,EAAER,SAAS;IAC1BS,gBAAgB,EAAET,SAAS;IAC3BU,gBAAgB,EAAEV;EACtB,CAAC;AACL,CAAC;AAED,OAAO,MAAMa,cAAc,GAAuBnB,KAAQ,IAAQ;EAC9D,MAAMoB,mBAAmB,GAAI,WAAW,IAAIpB,KAAK,IAAIqB,KAAK,CAACC,OAAO,CAACtB,KAAK,CAACuB,SAAS,CAAC,GAC7E;IAAEA,SAAS,EAAE1B,YAAY,CAAC2B,oBAAoB,CAACxB,KAAK,CAACuB,SAAS;EAAE,CAAC,GACjE,CAAC,CAAC;EAER,MAAME,mBAAmB,GACrB,aAAa,IAAIzB,KAAK,IACtB,cAAc,IAAIA,KAAK,IACvB,eAAe,IAAIA,KAAK,IACxB,cAAc,IAAIA,KAAK,GACvBD,kBAAkB,CAACC,KAAkB,CAAC,GAAG,CAAC,CAAC;EAE/C,MAAM0B,oBAAoB,GACtB,iBAAiB,IAAI1B,KAAK,IAC1B,kBAAkB,IAAIA,KAAK,IAC3B,kBAAkB,IAAIA,KAAK,GAC3BY,mBAAmB,CAACZ,KAAmB,CAAC,GAAG,CAAC,CAAC;EAEjD,OAAO;IACH,GAAGA,KAAK;IACR,GAAGoB,mBAAmB;IACtB,GAAGK,mBAAmB;IACtB,GAAGC;EACP,CAAC;AACL,CAAC"}
|
@@ -1,15 +1,14 @@
|
|
1
1
|
// based on react-native-web normalizer
|
2
2
|
// https://github.com/necolas/react-native-web
|
3
3
|
import normalizeColors from '@react-native/normalize-colors';
|
4
|
-
export const normalizeColor =
|
5
|
-
let opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
4
|
+
export const normalizeColor = (color, opacity = 1) => {
|
6
5
|
// If the opacity is 1 there's no need to normalize the color
|
7
6
|
if (opacity === 1) {
|
8
7
|
return color;
|
9
8
|
}
|
10
9
|
const integer = normalizeColors(color);
|
11
10
|
|
12
|
-
// If the
|
11
|
+
// If the color is an unknown format, the return value is null
|
13
12
|
if (integer === null) {
|
14
13
|
return color;
|
15
14
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["normalizeColors","normalizeColor","color","opacity","integer","hex","toString","padStart","length","r","g","b","a","split","map","x","parseInt","filter","num","isNaN","normalizeNumericValue","value","normalizeTransform","key","includes","createTextShadowValue","style","textShadowColor","textShadowOffset","textShadowRadius","offsetX","width","offsetY","height","radius","createBoxShadowValue","shadowColor","shadowOffset","shadowOpacity","shadowRadius","createTransformValue","transforms","transform","Object","keys","undefined","join","Boolean","preprocessor"],"sourceRoot":"../../../src","sources":["normalizer/normalizer.ts"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["normalizer/normalizer.macos.ts"],"mappings":"AAAA"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
// prevent recursive import
|
2
|
+
import { createMediaQueryForStyles } from '../utils/cssMediaQuery';
|
3
|
+
export const cssMediaQueriesPlugin = {
|
4
|
+
name: '__unistylesCSSMediaQueries',
|
5
|
+
onParsedStyle: (_key, styles, runtime) => createMediaQueryForStyles(styles, runtime)
|
6
|
+
};
|
7
|
+
//# sourceMappingURL=cssMediaQueriesPlugin.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createMediaQueryForStyles","cssMediaQueriesPlugin","name","onParsedStyle","_key","styles","runtime"],"sourceRoot":"../../../src","sources":["plugins/cssMediaQueriesPlugin.ts"],"mappings":"AAAA;AACA,SAASA,yBAAyB,QAAQ,wBAAwB;AAGlE,OAAO,MAAMC,qBAAsC,GAAG;EAClDC,IAAI,EAAE,4BAA4B;EAClCC,aAAa,EAAEA,CAACC,IAAI,EAAEC,MAAM,EAAEC,OAAO,KAAKN,yBAAyB,CAACK,MAAM,EAAEC,OAAO;AACvF,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["normalizeWebStylesPlugin","cssMediaQueriesPlugin"],"sourceRoot":"../../../src","sources":["plugins/index.ts"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,4BAA4B;AACrE,SAASC,qBAAqB,QAAQ,yBAAyB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["normalizeStyle","normalizeWebStylesPlugin","name","onParsedStyle","_key","styles"],"sourceRoot":"../../../src","sources":["plugins/normalizeWebStylesPlugin.ts"],"mappings":"AACA,SAASA,cAAc,QAAQ,eAAe;AAE9C,OAAO,MAAMC,wBAAyC,GAAG;EACrDC,IAAI,EAAE,+BAA+B;EACrCC,aAAa,EAAEA,CAACC,IAAI,EAAEC,MAAM,KAAKL,cAAc,CAACK,MAAM;AAC1D,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/common.ts"],"mappings":""}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"AAAA,cAAc,cAAc"}
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,aAAa"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/plugin.ts"],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/stylesheet.ts"],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/unistyles.ts"],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/variants.ts"],"mappings":""}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { useMemo } from 'react';
|
2
|
+
import { StyleSheet } from 'react-native';
|
3
|
+
import { parseStyle, proxifyFunction, withPlugins } from './utils';
|
4
|
+
import { useCSS, useUnistyles, useVariants } from './hooks';
|
5
|
+
import { unistyles } from './core';
|
6
|
+
import { isWeb } from './common';
|
7
|
+
/**
|
8
|
+
* Hook that enables all the features of Unistyles
|
9
|
+
* @param stylesheet - The stylesheet with superpowers to be used
|
10
|
+
* @param variantsMap - The map of variants to be used
|
11
|
+
* @returns - The theme, current breakpoint and RN compatible styles
|
12
|
+
*/
|
13
|
+
export const useStyles = (stylesheet, variantsMap) => {
|
14
|
+
const {
|
15
|
+
theme,
|
16
|
+
layout,
|
17
|
+
plugins
|
18
|
+
} = useUnistyles();
|
19
|
+
const variants = useVariants(variantsMap);
|
20
|
+
const parsedStyles = useMemo(() => typeof stylesheet === 'function' ? stylesheet(theme) : stylesheet, [theme, stylesheet, layout]);
|
21
|
+
const dynamicStyleSheet = useMemo(() => Object.entries(parsedStyles || {}).reduce((acc, [key, value]) => {
|
22
|
+
if (typeof value === 'function') {
|
23
|
+
return {
|
24
|
+
...acc,
|
25
|
+
[key]: proxifyFunction(key, value, variants)
|
26
|
+
};
|
27
|
+
}
|
28
|
+
return StyleSheet.create({
|
29
|
+
...acc,
|
30
|
+
[key]: withPlugins(key, parseStyle(value, variants, !isWeb || !unistyles.registry.config.experimentalCSSMediaQueries))
|
31
|
+
});
|
32
|
+
}, {}), [parsedStyles, variants, plugins]);
|
33
|
+
useCSS(dynamicStyleSheet);
|
34
|
+
return {
|
35
|
+
theme,
|
36
|
+
breakpoint: layout.breakpoint,
|
37
|
+
styles: dynamicStyleSheet
|
38
|
+
};
|
39
|
+
};
|
40
|
+
//# sourceMappingURL=useStyles.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["useMemo","StyleSheet","parseStyle","proxifyFunction","withPlugins","useCSS","useUnistyles","useVariants","unistyles","isWeb","useStyles","stylesheet","variantsMap","theme","layout","plugins","variants","parsedStyles","dynamicStyleSheet","Object","entries","reduce","acc","key","value","create","registry","config","experimentalCSSMediaQueries","breakpoint","styles"],"sourceRoot":"../../src","sources":["useStyles.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,eAAe,EAAEC,WAAW,QAAQ,SAAS;AAClE,SAASC,MAAM,EAAEC,YAAY,EAAEC,WAAW,QAAQ,SAAS;AAG3D,SAASC,SAAS,QAAQ,QAAQ;AAClC,SAASC,KAAK,QAAQ,UAAU;AAQhC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAGA,CACrBC,UAAe,EACfC,WAAoD,KAC7B;EACvB,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGT,YAAY,CAAC,CAAC;EACjD,MAAMU,QAAQ,GAAGT,WAAW,CAACK,WAAW,CAAC;EACzC,MAAMK,YAAY,GAAGjB,OAAO,CAAC,MAAM,OAAOW,UAAU,KAAK,UAAU,GAC7DA,UAAU,CAACE,KAAK,CAAC,GACjBF,UAAU,EAAE,CAACE,KAAK,EAAEF,UAAU,EAAEG,MAAM,CAAC,CAAC;EAE9C,MAAMI,iBAAiB,GAAGlB,OAAO,CAAC,MAAMmB,MAAM,CACzCC,OAAO,CAACH,YAAY,IAAI,CAAC,CAAC,CAAC,CAC3BI,MAAM,CAAC,CAACC,GAAG,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IAC3B,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;MAC7B,OAAO;QACH,GAAGF,GAAG;QACN,CAACC,GAAG,GAAGpB,eAAe,CAACoB,GAAG,EAAEC,KAAK,EAAER,QAAQ;MAC/C,CAAC;IACL;IAEA,OAAOf,UAAU,CAACwB,MAAM,CAAC;MACrB,GAAGH,GAAG;MACN,CAACC,GAAG,GAAGnB,WAAW,CAACmB,GAAG,EAAErB,UAAU,CAC9BsB,KAAK,EACLR,QAAQ,EACR,CAACP,KAAK,IAAI,CAACD,SAAS,CAACkB,QAAQ,CAACC,MAAM,CAACC,2BAA2B,CACpE;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAACX,YAAY,EAAED,QAAQ,EAAED,OAAO,CAC5C,CAAC;EAEDV,MAAM,CAACa,iBAA8C,CAAC;EAEtD,OAAO;IACHL,KAAK;IACLgB,UAAU,EAAEf,MAAM,CAACe,UAAU;IAC7BC,MAAM,EAAEZ;EACZ,CAAC;AACL,CAAC"}
|
@@ -1,127 +1,26 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
* It returns a new object with the same keys but sorted based on their corresponding numeric values.
|
9
|
-
* Additionally, it validates that:
|
10
|
-
* 1. The first breakpoint starts with a value of 0.
|
11
|
-
* 2. No duplicate breakpoint values exist.
|
12
|
-
*
|
13
|
-
* If the validation fails, appropriate error messages are logged to the console.
|
14
|
-
*
|
15
|
-
* @template B - An object type where keys are strings and values are numbers.
|
16
|
-
* @param {B} breakpoints - The breakpoints object to be sorted and validated.
|
17
|
-
* @returns {B} A new object with sorted and validated breakpoints.
|
18
|
-
*
|
19
|
-
* @example
|
20
|
-
* const input = { md: 768, lg: 1024, sm: 0 }
|
21
|
-
* sortAndValidateBreakpoints(input) // returns { sm: 0, md: 768, lg: 1024 }
|
22
|
-
*/
|
23
|
-
export const sortAndValidateBreakpoints = breakpoints => {
|
24
|
-
const sortedPairs = Object.entries(breakpoints).sort((breakpoint1, breakpoint2) => {
|
25
|
-
const [, value1] = breakpoint1;
|
26
|
-
const [, value2] = breakpoint2;
|
27
|
-
return value1 - value2;
|
28
|
-
});
|
29
|
-
const sortedBreakpoints = Object.freeze(Object.fromEntries(sortedPairs));
|
30
|
-
const breakpointValues = Object.values(sortedBreakpoints);
|
31
|
-
const [firstBreakpoint] = breakpointValues;
|
32
|
-
if (firstBreakpoint !== 0) {
|
33
|
-
throwError('first breakpoint must start with 0');
|
1
|
+
import { unistyles } from '../core';
|
2
|
+
import { ScreenOrientation, isMobile } from '../common';
|
3
|
+
import { getKeyForUnistylesMediaQuery } from './mqParser';
|
4
|
+
export const getValueForBreakpoint = value => {
|
5
|
+
const customMediaQueryKey = getKeyForUnistylesMediaQuery(Object.entries(value), unistyles.runtime.screen);
|
6
|
+
if (customMediaQueryKey) {
|
7
|
+
return value[customMediaQueryKey];
|
34
8
|
}
|
35
|
-
|
36
|
-
|
9
|
+
const hasBreakpoints = unistyles.registry.sortedBreakpointPairs.length > 0;
|
10
|
+
if (!hasBreakpoints && isMobile && (ScreenOrientation.Landscape in value || ScreenOrientation.Portrait in value)) {
|
11
|
+
return value[unistyles.runtime.orientation];
|
37
12
|
}
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
/**
|
42
|
-
* Determines the appropriate breakpoint key for a given screen width based on provided breakpoints.
|
43
|
-
*
|
44
|
-
* This function takes a screen width and an object of breakpoints. It returns the key of the breakpoint
|
45
|
-
* that the screen width falls into. The breakpoints are assumed to be sorted in ascending order.
|
46
|
-
*
|
47
|
-
* @template B - An object type where keys are strings and values are numbers representing screen widths.
|
48
|
-
* @param {number} width - The screen width to determine the breakpoint for.
|
49
|
-
* @param breakpointEntries - sorted pairs of breakpoints
|
50
|
-
* @returns {keyof B & string} The key of the breakpoint that the screen width falls into.
|
51
|
-
*
|
52
|
-
* @example
|
53
|
-
* const breakpoints = { sm: 0, md: 768, lg: 1024 }
|
54
|
-
* getBreakpointFromScreenWidth(800, breakpoints) // returns 'md'
|
55
|
-
*/
|
56
|
-
export const getBreakpointFromScreenWidth = (width, breakpointEntries) => {
|
57
|
-
const [key] = breakpointEntries.find((_ref, index, otherBreakpoints) => {
|
58
|
-
let [, value] = _ref;
|
59
|
-
const minVal = value;
|
60
|
-
const maxVal = otherBreakpoints[index + 1]?.[1];
|
61
|
-
if (!maxVal) {
|
62
|
-
return true;
|
63
|
-
}
|
64
|
-
return width >= minVal && width < maxVal;
|
65
|
-
});
|
66
|
-
return key;
|
67
|
-
};
|
68
|
-
|
69
|
-
/**
|
70
|
-
* Retrieves the value associated with a given breakpoint or custom media query based on the provided screen size.
|
71
|
-
*
|
72
|
-
* The function first checks for custom media queries. If a matching custom media query is found, its associated value is returned.
|
73
|
-
* If no custom media query matches, the function then checks for a direct breakpoint match.
|
74
|
-
* If there's no direct breakpoint match, the function simulates CSS cascading to find the closest matching breakpoint.
|
75
|
-
*
|
76
|
-
* @template B - An object type where keys represent breakpoint names and values represent breakpoint values.
|
77
|
-
*
|
78
|
-
* @param {Record<keyof B & string, string | number>} value - An object containing values associated with breakpoints or custom media queries.
|
79
|
-
* @param {keyof B & string} breakpoint - The breakpoint name to check against.
|
80
|
-
* @param {ScreenSize} screenSize - An object representing the screen size to be checked against the media queries.
|
81
|
-
* @param breakpointPairs - sorted pairs of breakpoints
|
82
|
-
*
|
83
|
-
* @returns {string | number | undefined} Returns the value associated with the matching breakpoint or custom media query, or `undefined` if no match is found.
|
84
|
-
*
|
85
|
-
* @example
|
86
|
-
*
|
87
|
-
* const values = { ':w[200]': 'value1', sm: 'value2', md: 'value3' }
|
88
|
-
* const screenSize = { width: 250, height: 400 }
|
89
|
-
* const breakpoints = { sm: 300, md: 600, lg: 900 }
|
90
|
-
*
|
91
|
-
* getValueForBreakpoint(values, 'sm', screenSize, breakpoints); // 'value1'
|
92
|
-
*/
|
93
|
-
export const getValueForBreakpoint = (value, breakpoint, screenSize, breakpointPairs) => {
|
94
|
-
// the highest priority is for custom media queries
|
95
|
-
const customMediaQueries = Object.entries(value).filter(_ref2 => {
|
96
|
-
let [key] = _ref2;
|
97
|
-
return isMediaQuery(key);
|
98
|
-
});
|
99
|
-
const customMediaQueryKey = getKeyForCustomMediaQuery(customMediaQueries, screenSize);
|
100
|
-
if (customMediaQueryKey && customMediaQueryKey in value) {
|
101
|
-
return value[customMediaQueryKey];
|
13
|
+
const breakpoint = unistyles.runtime.breakpoint;
|
14
|
+
if (!breakpoint) {
|
15
|
+
return undefined;
|
102
16
|
}
|
103
|
-
|
104
|
-
|
105
|
-
const unifiedKey = breakpoint;
|
106
|
-
const directBreakpoint = value[unifiedKey];
|
107
|
-
|
108
|
-
// if there is a direct key like 'sm' or 'md', or value for this key exists but its undefined
|
109
|
-
if (directBreakpoint || unifiedKey in value) {
|
17
|
+
const directBreakpoint = value[breakpoint];
|
18
|
+
if (directBreakpoint || breakpoint in value) {
|
110
19
|
return directBreakpoint;
|
111
20
|
}
|
112
|
-
|
113
|
-
|
114
|
-
const
|
115
|
-
|
116
|
-
return key === unifiedKey;
|
117
|
-
});
|
118
|
-
const availableBreakpoints = breakpointPairs.filter((_ref4, index) => {
|
119
|
-
let [key] = _ref4;
|
120
|
-
return index < currentBreakpoint && key && key in value;
|
121
|
-
}).map(_ref5 => {
|
122
|
-
let [key] = _ref5;
|
123
|
-
return key;
|
124
|
-
});
|
125
|
-
return breakpointPairs.length > 0 ? value[availableBreakpoints[availableBreakpoints.length - 1]] : undefined;
|
21
|
+
const breakpointPairs = unistyles.registry.sortedBreakpointPairs;
|
22
|
+
const currentBreakpointIndex = breakpointPairs.findIndex(([key]) => key === breakpoint);
|
23
|
+
const availableBreakpoints = breakpointPairs.filter(([key], index) => index < currentBreakpointIndex && key in value).map(([key]) => key);
|
24
|
+
return value[availableBreakpoints[availableBreakpoints.length - 1]];
|
126
25
|
};
|
127
26
|
//# sourceMappingURL=breakpoints.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["unistyles","ScreenOrientation","isMobile","getKeyForUnistylesMediaQuery","getValueForBreakpoint","value","customMediaQueryKey","Object","entries","runtime","screen","hasBreakpoints","registry","sortedBreakpointPairs","length","Landscape","Portrait","orientation","breakpoint","undefined","directBreakpoint","breakpointPairs","currentBreakpointIndex","findIndex","key","availableBreakpoints","filter","index","map"],"sourceRoot":"../../../src","sources":["utils/breakpoints.ts"],"mappings":"AAAA,SAASA,SAAS,QAAQ,SAAS;AAGnC,SAASC,iBAAiB,EAAEC,QAAQ,QAAQ,WAAW;AACvD,SAASC,4BAA4B,QAAQ,YAAY;AAEzD,OAAO,MAAMC,qBAAqB,GAAIC,KAA8B,IAAwB;EACxF,MAAMC,mBAAmB,GAAGH,4BAA4B,CACpDI,MAAM,CAACC,OAAO,CAACH,KAAK,CAAC,EACrBL,SAAS,CAACS,OAAO,CAACC,MACtB,CAAuB;EAEvB,IAAIJ,mBAAmB,EAAE;IACrB,OAAOD,KAAK,CAACC,mBAAmB,CAAC;EACrC;EAEA,MAAMK,cAAc,GAAGX,SAAS,CAACY,QAAQ,CAACC,qBAAqB,CAACC,MAAM,GAAG,CAAC;EAE1E,IAAI,CAACH,cAAc,IAAIT,QAAQ,KAAKD,iBAAiB,CAACc,SAAS,IAAIV,KAAK,IAAIJ,iBAAiB,CAACe,QAAQ,IAAIX,KAAK,CAAC,EAAE;IAC9G,OAAOA,KAAK,CAACL,SAAS,CAACS,OAAO,CAACQ,WAAW,CAAC;EAC/C;EAEA,MAAMC,UAAU,GAAGlB,SAAS,CAACS,OAAO,CAACS,UAAU;EAE/C,IAAI,CAACA,UAAU,EAAE;IACb,OAAOC,SAAS;EACpB;EAEA,MAAMC,gBAAgB,GAAGf,KAAK,CAACa,UAAU,CAAC;EAE1C,IAAIE,gBAAgB,IAAKF,UAAU,IAAIb,KAAM,EAAE;IAC3C,OAAOe,gBAAgB;EAC3B;EAEA,MAAMC,eAAe,GAAGrB,SAAS,CAACY,QAAQ,CAACC,qBAAqB;EAChE,MAAMS,sBAAsB,GAAGD,eAAe,CACzCE,SAAS,CAAC,CAAC,CAACC,GAAG,CAAC,KAAKA,GAAG,KAAKN,UAAU,CAAC;EAE7C,MAAMO,oBAAoB,GAAGJ,eAAe,CACvCK,MAAM,CAAC,CAAC,CAACF,GAAG,CAAC,EAAEG,KAAK,KAAKA,KAAK,GAAGL,sBAAsB,IAAIE,GAAG,IAAInB,KAAK,CAAC,CACxEuB,GAAG,CAAC,CAAC,CAACJ,GAAG,CAAC,KAAKA,GAAG,CAAC;EAExB,OAAOnB,KAAK,CAACoB,oBAAoB,CAACA,oBAAoB,CAACX,MAAM,GAAG,CAAC,CAAC,CAAwC;AAC9G,CAAC"}
|
@@ -0,0 +1,237 @@
|
|
1
|
+
import { normalizeColor } from '../normalizer';
|
2
|
+
import { isUnistylesMq, isValidMq, parseMq } from './mqParser';
|
3
|
+
import { generateReactNativeWebId } from './generateId';
|
4
|
+
export const createMediaQueryForStyles = (styles, runtime) => {
|
5
|
+
const withMediaQueries = Object.entries(styles).filter(([, value]) => typeof value === 'object').reduce((acc, [prop, value]) => {
|
6
|
+
const objectKeys = Object.keys(value);
|
7
|
+
const mediaQueries = objectKeys.filter(key => isUnistylesMq(key));
|
8
|
+
const breakpoints = objectKeys.filter(key => runtime.breakpoints[key]);
|
9
|
+
if (mediaQueries.length === 0 && breakpoints.length === 0) {
|
10
|
+
return acc;
|
11
|
+
}
|
12
|
+
const className = generateReactNativeWebId(prop, '""');
|
13
|
+
const breakpointsStyles = getBreakpointsStyles(prop, value, runtime, className);
|
14
|
+
const mediaQueriesStyles = getMediaQueriesFromMQ(prop, value, className);
|
15
|
+
return {
|
16
|
+
...acc,
|
17
|
+
[prop]: `
|
18
|
+
${breakpointsStyles}
|
19
|
+
${mediaQueriesStyles}
|
20
|
+
`.trim()
|
21
|
+
};
|
22
|
+
}, {});
|
23
|
+
return {
|
24
|
+
...styles,
|
25
|
+
...withMediaQueries
|
26
|
+
};
|
27
|
+
};
|
28
|
+
const getMaxWidthMediaQuery = width => {
|
29
|
+
if (!width) {
|
30
|
+
return '';
|
31
|
+
}
|
32
|
+
if (width.to === Infinity) {
|
33
|
+
return '';
|
34
|
+
}
|
35
|
+
return `and (max-width: ${width.to}px)`;
|
36
|
+
};
|
37
|
+
const getMaxHeightMediaQuery = height => {
|
38
|
+
if (!height) {
|
39
|
+
return '';
|
40
|
+
}
|
41
|
+
if (height.to === Infinity) {
|
42
|
+
return '';
|
43
|
+
}
|
44
|
+
return `and (max-height: ${height.to}px)`;
|
45
|
+
};
|
46
|
+
const getMediaQueriesFromMQ = (prop, value, className) => Object.entries(value).reduce((acc, [key, value]) => {
|
47
|
+
const result = parseMq(key);
|
48
|
+
if (!isValidMq(result)) {
|
49
|
+
return acc;
|
50
|
+
}
|
51
|
+
if (result.width && result.height) {
|
52
|
+
return `${acc}
|
53
|
+
|
54
|
+
@media screen and (min-width: ${result.width.from}px) and (min-height: ${result.height.from}px) ${getMaxWidthMediaQuery(result.width)} ${getMaxHeightMediaQuery(result.height)} {
|
55
|
+
.${className} {
|
56
|
+
${normalizePropName(prop)}: ${normalizeWebValue(prop, value)};
|
57
|
+
}
|
58
|
+
}
|
59
|
+
`;
|
60
|
+
}
|
61
|
+
if (result.width) {
|
62
|
+
return `${acc}
|
63
|
+
|
64
|
+
@media screen and (min-width: ${result.width.from}px) ${getMaxWidthMediaQuery(result.width)} {
|
65
|
+
.${className} {
|
66
|
+
${normalizePropName(prop)}: ${normalizeWebValue(prop, value)};
|
67
|
+
}
|
68
|
+
}
|
69
|
+
`;
|
70
|
+
}
|
71
|
+
if (result.height) {
|
72
|
+
return `${acc}
|
73
|
+
|
74
|
+
@media screen and (min-height: ${result.height.from}px) ${getMaxHeightMediaQuery(result.height)} {
|
75
|
+
.${className} {
|
76
|
+
${normalizePropName(prop)}: ${normalizeWebValue(prop, value)};
|
77
|
+
}
|
78
|
+
}
|
79
|
+
`;
|
80
|
+
}
|
81
|
+
return acc;
|
82
|
+
}, '');
|
83
|
+
const getBreakpointsStyles = (prop, value, runtime, className) => Object.entries(value).reduce((acc, [key, value]) => {
|
84
|
+
const breakpoint = runtime.breakpoints[key];
|
85
|
+
if (breakpoint === undefined) {
|
86
|
+
return acc;
|
87
|
+
}
|
88
|
+
return `${acc}
|
89
|
+
|
90
|
+
@media screen and (min-width: ${breakpoint}px) {
|
91
|
+
.${className} {
|
92
|
+
${normalizePropName(prop)}: ${normalizeWebValue(prop, value)};
|
93
|
+
}
|
94
|
+
}
|
95
|
+
`;
|
96
|
+
}, '');
|
97
|
+
const normalizePropName = prop => prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
|
98
|
+
const normalizeWebValue = (prop, value) => {
|
99
|
+
if (value === undefined) {
|
100
|
+
return 'unset';
|
101
|
+
}
|
102
|
+
switch (prop) {
|
103
|
+
// colors
|
104
|
+
case 'color':
|
105
|
+
case 'backgroundColor':
|
106
|
+
case 'borderColor':
|
107
|
+
case 'borderBottomColor':
|
108
|
+
case 'borderLeftColor':
|
109
|
+
case 'borderRightColor':
|
110
|
+
case 'borderTopColor':
|
111
|
+
case 'borderBlockColor':
|
112
|
+
case 'borderBlockEndColor':
|
113
|
+
case 'borderBlockStartColor':
|
114
|
+
case 'textDecorationColor':
|
115
|
+
return normalizeColor(value);
|
116
|
+
|
117
|
+
// dimensions
|
118
|
+
case 'width':
|
119
|
+
case 'height':
|
120
|
+
case 'minWidth':
|
121
|
+
case 'minHeight':
|
122
|
+
case 'maxWidth':
|
123
|
+
case 'maxHeight':
|
124
|
+
case 'borderRadius':
|
125
|
+
case 'borderWidth':
|
126
|
+
case 'borderBottomLeftRadius':
|
127
|
+
case 'borderBottomRightRadius':
|
128
|
+
case 'borderEndEndRadius':
|
129
|
+
case 'borderEndStartRadius':
|
130
|
+
case 'borderStartEndRadius':
|
131
|
+
case 'borderStartStartRadius':
|
132
|
+
case 'borderTopLeftRadius':
|
133
|
+
case 'borderTopRightRadius':
|
134
|
+
case 'borderBottomWidth':
|
135
|
+
case 'borderLeftWidth':
|
136
|
+
case 'borderRightWidth':
|
137
|
+
case 'borderTopWidth':
|
138
|
+
case 'bottom':
|
139
|
+
case 'left':
|
140
|
+
case 'right':
|
141
|
+
case 'top':
|
142
|
+
case 'marginTop':
|
143
|
+
case 'marginBottom':
|
144
|
+
case 'marginLeft':
|
145
|
+
case 'marginRight':
|
146
|
+
case 'paddingTop':
|
147
|
+
case 'paddingBottom':
|
148
|
+
case 'paddingLeft':
|
149
|
+
case 'paddingRight':
|
150
|
+
case 'flexBasis':
|
151
|
+
case 'rowGap':
|
152
|
+
case 'columnGap':
|
153
|
+
case 'gap':
|
154
|
+
case 'margin':
|
155
|
+
case 'padding':
|
156
|
+
case 'fontSize':
|
157
|
+
case 'letterSpacing':
|
158
|
+
return `${value}px`;
|
159
|
+
|
160
|
+
// without unit
|
161
|
+
case 'borderStyle':
|
162
|
+
case 'pointerEvents':
|
163
|
+
case 'backfaceVisibility':
|
164
|
+
case 'alignContent':
|
165
|
+
case 'alignItems':
|
166
|
+
case 'alignSelf':
|
167
|
+
case 'flexDirection':
|
168
|
+
case 'flexWrap':
|
169
|
+
case 'flex':
|
170
|
+
case 'aspectRatio':
|
171
|
+
case 'opacity':
|
172
|
+
case 'direction':
|
173
|
+
case 'zIndex':
|
174
|
+
case 'justifyContent':
|
175
|
+
case 'overflow':
|
176
|
+
case 'display':
|
177
|
+
case 'position':
|
178
|
+
case 'flexGrow':
|
179
|
+
case 'flexShrink':
|
180
|
+
case 'fontFamily':
|
181
|
+
case 'fontStyle':
|
182
|
+
case 'textDecorationLine':
|
183
|
+
case 'textAlign':
|
184
|
+
case 'textDecorationStyle':
|
185
|
+
case 'lineHeight':
|
186
|
+
case 'textTransform':
|
187
|
+
case 'fontVariant':
|
188
|
+
case 'verticalAlign':
|
189
|
+
case 'objectFit':
|
190
|
+
return value;
|
191
|
+
|
192
|
+
// to be transformed for now
|
193
|
+
// not supported
|
194
|
+
case 'marginHorizontal':
|
195
|
+
case 'paddingHorizontal':
|
196
|
+
case 'marginVertical':
|
197
|
+
case 'paddingVertical':
|
198
|
+
case 'shadowColor':
|
199
|
+
case 'shadowOffset':
|
200
|
+
case 'shadowOpacity':
|
201
|
+
case 'shadowRadius':
|
202
|
+
case 'transform':
|
203
|
+
case 'transformMatrix':
|
204
|
+
case 'fontWeight':
|
205
|
+
case 'textShadowOffset':
|
206
|
+
case 'textShadowRadius':
|
207
|
+
case 'textShadowColor':
|
208
|
+
return '';
|
209
|
+
|
210
|
+
// unsupported
|
211
|
+
case 'borderStartColor':
|
212
|
+
case 'borderEndColor':
|
213
|
+
case 'borderEndWidth':
|
214
|
+
case 'borderBottomEndRadius':
|
215
|
+
case 'borderBottomStartRadius':
|
216
|
+
case 'borderCurve':
|
217
|
+
case 'elevation':
|
218
|
+
case 'borderTopEndRadius':
|
219
|
+
case 'borderTopStartRadius':
|
220
|
+
case 'borderStartWidth':
|
221
|
+
case 'start':
|
222
|
+
case 'end':
|
223
|
+
case 'margin-end':
|
224
|
+
case 'margin-start':
|
225
|
+
case 'padding-end':
|
226
|
+
case 'padding-start':
|
227
|
+
case 'writingDirection':
|
228
|
+
case 'textAlignVertical':
|
229
|
+
case 'includeFontPadding':
|
230
|
+
case 'resizeMode':
|
231
|
+
case 'overlayColor':
|
232
|
+
case 'tintColor':
|
233
|
+
default:
|
234
|
+
return '';
|
235
|
+
}
|
236
|
+
};
|
237
|
+
//# sourceMappingURL=cssMediaQuery.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["normalizeColor","isUnistylesMq","isValidMq","parseMq","generateReactNativeWebId","createMediaQueryForStyles","styles","runtime","withMediaQueries","Object","entries","filter","value","reduce","acc","prop","objectKeys","keys","mediaQueries","key","breakpoints","length","className","breakpointsStyles","getBreakpointsStyles","mediaQueriesStyles","getMediaQueriesFromMQ","trim","getMaxWidthMediaQuery","width","to","Infinity","getMaxHeightMediaQuery","height","result","from","normalizePropName","normalizeWebValue","breakpoint","undefined","replace","toLowerCase"],"sourceRoot":"../../../src","sources":["utils/cssMediaQuery.ts"],"mappings":"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"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
// eslint-disable-next-line camelcase
|
2
|
+
import { murmurhash2_32_gc } from './hash32';
|
3
|
+
export const generateReactNativeWebId = (key, value) => {
|
4
|
+
const hashedString = murmurhash2_32_gc(key + value, 1).toString(36);
|
5
|
+
return process.env.NODE_ENV !== 'production' ? `r-${key}-${hashedString}` : `r-${hashedString}`;
|
6
|
+
};
|
7
|
+
//# sourceMappingURL=generateId.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["murmurhash2_32_gc","generateReactNativeWebId","key","value","hashedString","toString","process","env","NODE_ENV"],"sourceRoot":"../../../src","sources":["utils/generateId.ts"],"mappings":"AAAA;AACA,SAASA,iBAAiB,QAAQ,UAAU;AAE5C,OAAO,MAAMC,wBAAwB,GAAGA,CAACC,GAAW,EAAEC,KAAa,KAAa;EAC5E,MAAMC,YAAY,GAAGJ,iBAAiB,CAACE,GAAG,GAAGC,KAAK,EAAE,CAAC,CAAC,CAACE,QAAQ,CAAC,EAAE,CAAC;EAEnE,OAAOC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,GACrC,KAAIN,GAAI,IAAGE,YAAa,EAAC,GACzB,KAAIA,YAAa,EAAC;AAC7B,CAAC"}
|