@niibase/uniwind 1.6.3 → 1.7.0
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/CHANGELOG.md +58 -0
- package/dist/common/{css → bundler/artifacts/css}/index.js +1 -4
- package/dist/common/{css → bundler/artifacts/css}/themes.js +1 -1
- package/dist/common/{utils/buildDtsFile.js → bundler/artifacts/dts.js} +1 -2
- package/dist/common/bundler/config.js +69 -0
- package/dist/common/bundler/css-compiler/compileCSS.js +18 -0
- package/dist/common/bundler/css-compiler/compileNativeCSS.js +19 -0
- package/dist/common/bundler/css-compiler/compileTailwind.js +27 -0
- package/dist/common/bundler/css-compiler/compileWebCSS.js +15 -0
- package/dist/common/{vite → bundler/css-compiler}/index.js +4 -4
- package/dist/common/bundler/css-processor/addMetaToStylesTemplate.js +130 -0
- package/dist/common/bundler/css-processor/animation.js +112 -0
- package/dist/common/bundler/css-processor/color.js +66 -0
- package/dist/common/bundler/css-processor/css.js +510 -0
- package/dist/common/bundler/css-processor/functions.js +145 -0
- package/dist/common/bundler/css-processor/index.js +38 -0
- package/dist/common/bundler/css-processor/mq.js +87 -0
- package/dist/common/bundler/css-processor/processor.js +353 -0
- package/dist/common/bundler/css-processor/rn.js +356 -0
- package/dist/common/bundler/css-processor/serialize.js +86 -0
- package/dist/common/bundler/css-processor/types.js +1 -0
- package/dist/common/bundler/css-processor/units.js +55 -0
- package/dist/common/bundler/css-processor/utils.js +63 -0
- package/dist/common/bundler/css-processor/var.js +20 -0
- package/dist/common/{css-visitor → bundler/css-visitor}/rule-visitor.js +5 -5
- package/dist/common/{css-visitor → bundler/css-visitor}/visitor.js +5 -6
- package/dist/common/bundler/logger.js +41 -0
- package/dist/common/bundler/types.js +1 -0
- package/dist/common/common/consts.js +26 -2
- package/dist/common/components/index.js +0 -3
- package/dist/common/components/web/rnw.js +2 -2
- package/dist/common/core/config/config.common.js +15 -9
- package/dist/common/core/config/config.js +2 -2
- package/dist/common/core/config/config.native.js +3 -3
- package/dist/common/core/listener.js +10 -10
- package/dist/common/core/native/runtime.js +7 -3
- package/dist/common/core/native/store.js +3 -4
- package/dist/common/core/web/cssListener.js +2 -2
- package/dist/common/hoc/withUniwind.js +5 -5
- package/dist/common/hoc/withUniwind.native.js +5 -5
- package/dist/common/hooks/useCSSVariable/index.js +7 -11
- package/dist/common/hooks/useCSSVariable/useCSSVariable.js +26 -18
- package/dist/common/hooks/useUniwind.js +2 -2
- package/dist/metro/index.cjs +14 -24
- package/dist/metro/index.d.ts +2 -0
- package/dist/metro/index.mjs +7 -17
- package/dist/metro/{metro-transformer.cjs → transformer.cjs} +306 -173
- package/dist/metro/{metro-transformer.mjs → transformer.mjs} +249 -116
- package/dist/module/{css → bundler/artifacts/css}/index.d.ts +1 -1
- package/dist/module/{css → bundler/artifacts/css}/index.js +1 -4
- package/dist/module/{css → bundler/artifacts/css}/themes.js +1 -1
- package/dist/module/{utils/buildDtsFile.js → bundler/artifacts/dts.js} +3 -4
- package/dist/module/bundler/config.d.ts +16 -0
- package/dist/module/bundler/config.js +69 -0
- package/dist/module/bundler/css-compiler/compileCSS.d.ts +2 -0
- package/dist/module/bundler/css-compiler/compileCSS.js +11 -0
- package/dist/module/bundler/css-compiler/compileNativeCSS.d.ts +2 -0
- package/dist/module/bundler/css-compiler/compileNativeCSS.js +33 -0
- package/dist/module/bundler/css-compiler/compileTailwind.d.ts +2 -0
- package/dist/module/bundler/css-compiler/compileTailwind.js +22 -0
- package/dist/module/bundler/css-compiler/compileWebCSS.d.ts +2 -0
- package/dist/module/bundler/css-compiler/compileWebCSS.js +8 -0
- package/dist/module/bundler/css-compiler/index.d.ts +1 -0
- package/dist/module/bundler/css-compiler/index.js +1 -0
- package/dist/module/bundler/css-processor/addMetaToStylesTemplate.d.ts +3 -0
- package/dist/module/bundler/css-processor/addMetaToStylesTemplate.js +136 -0
- package/dist/module/bundler/css-processor/animation.d.ts +6 -0
- package/dist/module/bundler/css-processor/animation.js +112 -0
- package/dist/module/bundler/css-processor/color.d.ts +12 -0
- package/dist/module/bundler/css-processor/color.js +63 -0
- package/dist/module/bundler/css-processor/css.d.ts +23 -0
- package/dist/module/bundler/css-processor/css.js +566 -0
- package/dist/module/bundler/css-processor/functions.d.ts +12 -0
- package/dist/module/bundler/css-processor/functions.js +190 -0
- package/dist/module/bundler/css-processor/index.d.ts +3 -0
- package/dist/module/bundler/css-processor/index.js +3 -0
- package/dist/module/bundler/css-processor/mq.d.ts +12 -0
- package/dist/module/bundler/css-processor/mq.js +78 -0
- package/dist/module/bundler/css-processor/processor.d.ts +36 -0
- package/dist/module/bundler/css-processor/processor.js +336 -0
- package/dist/module/bundler/css-processor/rn.d.ts +10 -0
- package/dist/module/bundler/css-processor/rn.js +400 -0
- package/dist/module/bundler/css-processor/serialize.d.ts +2 -0
- package/dist/module/bundler/css-processor/serialize.js +101 -0
- package/dist/module/bundler/css-processor/types.d.ts +28 -0
- package/dist/module/bundler/css-processor/types.js +0 -0
- package/dist/module/bundler/css-processor/units.d.ts +10 -0
- package/dist/module/bundler/css-processor/units.js +48 -0
- package/dist/module/bundler/css-processor/utils.d.ts +24 -0
- package/dist/{shared/uniwind.PtWWxxnh.mjs → module/bundler/css-processor/utils.js} +11 -15
- package/dist/module/bundler/css-processor/var.d.ts +7 -0
- package/dist/module/bundler/css-processor/var.js +13 -0
- package/dist/module/{css-visitor → bundler/css-visitor}/function-visitor.d.ts +1 -1
- package/dist/module/{css-visitor → bundler/css-visitor}/rule-visitor.d.ts +4 -3
- package/dist/module/{css-visitor → bundler/css-visitor}/rule-visitor.js +5 -5
- package/dist/module/{css-visitor → bundler/css-visitor}/visitor.d.ts +3 -3
- package/dist/module/{css-visitor → bundler/css-visitor}/visitor.js +5 -6
- package/dist/module/bundler/logger.d.ts +11 -0
- package/dist/module/bundler/logger.js +34 -0
- package/dist/module/bundler/types.d.ts +15 -0
- package/dist/module/bundler/types.js +0 -0
- package/dist/module/common/consts.d.ts +21 -0
- package/dist/module/common/consts.js +24 -0
- package/dist/module/components/ScopedTheme/ScopedTheme.native.d.ts +1 -1
- package/dist/module/components/index.js +0 -3
- package/dist/module/components/native/Pressable.d.ts +1 -1
- package/dist/module/components/native/TouchableHighlight.d.ts +1 -1
- package/dist/module/components/native/TouchableOpacity.d.ts +1 -1
- package/dist/module/components/native/useAccentColor.d.ts +1 -1
- package/dist/module/components/native/useStyle.d.ts +2 -2
- package/dist/module/components/react-native-gesture-handler/native/BaseButton.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/BorderlessButton.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/DrawerLayoutAndroid.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/FlatList.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/Pressable.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/PureNativeButton.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/RawButton.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/RectButton.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/RefreshControl.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/ScrollView.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/Switch.d.ts +1 -1
- package/dist/module/components/react-native-gesture-handler/native/TextInput.d.ts +1 -1
- package/dist/module/components/web/Pressable.d.ts +1 -1
- package/dist/module/components/web/TouchableHighlight.d.ts +1 -1
- package/dist/module/components/web/TouchableOpacity.d.ts +1 -1
- package/dist/module/components/web/rnw.js +1 -1
- package/dist/module/core/config/config.common.d.ts +7 -6
- package/dist/module/core/config/config.common.js +6 -2
- package/dist/module/core/config/config.d.ts +1 -1
- package/dist/module/core/config/config.js +1 -1
- package/dist/module/core/config/config.native.d.ts +2 -2
- package/dist/module/core/config/config.native.js +1 -1
- package/dist/module/core/listener.d.ts +1 -1
- package/dist/module/core/listener.js +1 -1
- package/dist/module/core/native/runtime.js +5 -1
- package/dist/module/core/native/store.d.ts +2 -2
- package/dist/module/core/native/store.js +1 -2
- package/dist/module/core/types.d.ts +6 -3
- package/dist/module/core/web/cssListener.js +1 -1
- package/dist/module/core/web/getWebStyles.d.ts +1 -1
- package/dist/module/hoc/types.d.ts +2 -2
- package/dist/module/hoc/withUniwind.d.ts +1 -1
- package/dist/module/hoc/withUniwind.js +5 -5
- package/dist/module/hoc/withUniwind.native.d.ts +1 -1
- package/dist/module/hoc/withUniwind.native.js +5 -5
- package/dist/module/hooks/useCSSVariable/getVariableValue.native.d.ts +1 -1
- package/dist/module/hooks/useCSSVariable/index.d.ts +1 -1
- package/dist/module/hooks/useCSSVariable/index.js +1 -1
- package/dist/module/hooks/useCSSVariable/useCSSVariable.d.ts +4 -2
- package/dist/module/hooks/useCSSVariable/useCSSVariable.js +23 -16
- package/dist/module/hooks/useResolveClassNames.d.ts +1 -1
- package/dist/module/hooks/useUniwind.d.ts +1 -1
- package/dist/module/hooks/useUniwind.js +1 -1
- package/dist/module/index.d.ts +1 -2
- package/dist/shared/{uniwind.r2i22V6d.cjs → uniwind.CFiAZ3D-.cjs} +307 -217
- package/dist/shared/{uniwind.BGiqYvxb.mjs → uniwind.u-s1XVU8.mjs} +299 -214
- package/dist/vite/index.cjs +12 -22
- package/dist/vite/index.mjs +9 -19
- package/package.json +1 -1
- package/src/{metro → bundler/adapters/metro}/index.d.ts +2 -0
- package/src/bundler/adapters/metro/index.ts +1 -0
- package/src/{metro/withUniwindConfig.ts → bundler/adapters/metro/metro.ts} +7 -22
- package/src/{metro/metro-css-patches.ts → bundler/adapters/metro/patches.ts} +2 -1
- package/src/{metro → bundler/adapters/metro}/resolvers.ts +8 -8
- package/src/bundler/adapters/metro/transformer.ts +85 -0
- package/src/{vite → bundler/adapters/vite}/vite.ts +10 -28
- package/src/{css → bundler/artifacts/css}/extraUtilities.ts +1 -1
- package/src/{css → bundler/artifacts/css}/index.ts +1 -5
- package/src/{css → bundler/artifacts/css}/themes.ts +1 -1
- package/src/{utils/buildDtsFile.ts → bundler/artifacts/dts.ts} +3 -4
- package/src/bundler/config.ts +84 -0
- package/src/bundler/css-compiler/compileCSS.ts +15 -0
- package/src/bundler/css-compiler/compileNativeCSS.ts +41 -0
- package/src/bundler/css-compiler/compileTailwind.ts +25 -0
- package/src/bundler/css-compiler/compileWebCSS.ts +10 -0
- package/src/bundler/css-compiler/index.ts +1 -0
- package/src/{metro → bundler/css-processor}/addMetaToStylesTemplate.ts +33 -14
- package/src/{metro/processor → bundler/css-processor}/animation.ts +4 -4
- package/src/{metro/processor → bundler/css-processor}/color.ts +4 -3
- package/src/{metro/processor → bundler/css-processor}/css.ts +17 -9
- package/src/{metro/processor → bundler/css-processor}/functions.ts +2 -2
- package/src/bundler/css-processor/index.ts +3 -0
- package/src/{metro/processor → bundler/css-processor}/mq.ts +4 -4
- package/src/{metro/processor → bundler/css-processor}/processor.ts +13 -11
- package/src/{metro/processor → bundler/css-processor}/rn.ts +115 -3
- package/src/{metro/utils → bundler/css-processor}/serialize.ts +2 -2
- package/src/{metro → bundler/css-processor}/types.ts +3 -17
- package/src/{metro/processor → bundler/css-processor}/units.ts +1 -1
- package/src/{metro/processor → bundler/css-processor}/var.ts +1 -1
- package/src/{css-visitor → bundler/css-visitor}/function-visitor.ts +1 -1
- package/src/{css-visitor → bundler/css-visitor}/rule-visitor.ts +6 -5
- package/src/{css-visitor → bundler/css-visitor}/visitor.ts +4 -3
- package/src/bundler/types.ts +17 -0
- package/src/common/consts.ts +25 -0
- package/src/components/ScopedTheme/ScopedTheme.native.tsx +1 -1
- package/src/components/index.ts +0 -3
- package/src/components/native/ActivityIndicator.tsx +2 -1
- package/src/components/native/Button.tsx +2 -1
- package/src/components/native/FlatList.tsx +2 -1
- package/src/components/native/Image.tsx +2 -1
- package/src/components/native/ImageBackground.tsx +2 -1
- package/src/components/native/InputAccessoryView.tsx +3 -2
- package/src/components/native/KeyboardAvoidingView.tsx +2 -1
- package/src/components/native/Modal.tsx +2 -1
- package/src/components/native/Pressable.tsx +1 -1
- package/src/components/native/RefreshControl.tsx +2 -1
- package/src/components/native/SafeAreaView.tsx +2 -1
- package/src/components/native/ScrollView.tsx +2 -1
- package/src/components/native/SectionList.tsx +2 -1
- package/src/components/native/Switch.tsx +3 -2
- package/src/components/native/Text.tsx +3 -2
- package/src/components/native/TextInput.tsx +3 -2
- package/src/components/native/TouchableHighlight.tsx +3 -2
- package/src/components/native/TouchableNativeFeedback.tsx +3 -2
- package/src/components/native/TouchableOpacity.tsx +3 -2
- package/src/components/native/TouchableWithoutFeedback.tsx +3 -2
- package/src/components/native/View.tsx +2 -1
- package/src/components/native/VirtualizedList.tsx +2 -1
- package/src/components/native/useAccentColor.ts +1 -1
- package/src/components/native/useStyle.ts +2 -2
- package/src/components/react-native-gesture-handler/native/BaseButton.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/BorderlessButton.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/DrawerLayoutAndroid.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/FlatList.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/GestureHandlerRootView.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/Pressable.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/PureNativeButton.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/RawButton.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/RectButton.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/RefreshControl.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/ScrollView.tsx +1 -1
- package/src/components/react-native-gesture-handler/native/Switch.tsx +2 -2
- package/src/components/react-native-gesture-handler/native/Text.tsx +2 -2
- package/src/components/react-native-gesture-handler/native/TextInput.tsx +2 -2
- package/src/components/react-native-gesture-handler/native/TouchableNativeFeedback.tsx +2 -2
- package/src/components/react-native-gesture-handler/native/TouchableOpacity.tsx +2 -2
- package/src/components/react-native-gesture-handler/native/TouchableWithoutFeedback.tsx +2 -2
- package/src/components/web/ActivityIndicator.tsx +2 -1
- package/src/components/web/Button.tsx +2 -1
- package/src/components/web/FlatList.tsx +2 -1
- package/src/components/web/Image.tsx +2 -1
- package/src/components/web/ImageBackground.tsx +2 -1
- package/src/components/web/KeyboardAvoidingView.tsx +2 -1
- package/src/components/web/Modal.tsx +2 -1
- package/src/components/web/Pressable.tsx +2 -1
- package/src/components/web/RefreshControl.tsx +2 -1
- package/src/components/web/SafeAreaView.tsx +2 -1
- package/src/components/web/ScrollView.tsx +2 -1
- package/src/components/web/SectionList.tsx +2 -1
- package/src/components/web/Switch.tsx +2 -1
- package/src/components/web/Text.tsx +2 -1
- package/src/components/web/TextInput.tsx +2 -1
- package/src/components/web/TouchableHighlight.tsx +2 -1
- package/src/components/web/TouchableOpacity.tsx +2 -1
- package/src/components/web/TouchableWithoutFeedback.tsx +2 -1
- package/src/components/web/View.tsx +2 -1
- package/src/components/web/VirtualizedList.tsx +2 -1
- package/src/components/web/rnw.ts +1 -1
- package/src/core/config/config.common.ts +15 -8
- package/src/core/config/config.native.ts +3 -3
- package/src/core/config/config.ts +2 -2
- package/src/core/listener.ts +1 -1
- package/src/core/native/runtime.ts +7 -2
- package/src/core/native/store.ts +3 -4
- package/src/core/types.ts +6 -3
- package/src/core/web/cssListener.ts +1 -1
- package/src/core/web/getWebStyles.ts +1 -1
- package/src/hoc/types.ts +2 -2
- package/src/hoc/withUniwind.native.tsx +4 -3
- package/src/hoc/withUniwind.tsx +3 -2
- package/src/hooks/useCSSVariable/getVariableValue.native.ts +1 -1
- package/src/hooks/useCSSVariable/index.ts +1 -1
- package/src/hooks/useCSSVariable/useCSSVariable.ts +34 -25
- package/src/hooks/useResolveClassNames.ts +1 -1
- package/src/hooks/useUniwind.ts +2 -2
- package/src/index.ts +1 -2
- package/dist/common/types.js +0 -28
- package/dist/common/utils/stringifyThemes.js +0 -8
- package/dist/common/vite/vite.js +0 -95
- package/dist/module/types.d.ts +0 -21
- package/dist/module/types.js +0 -22
- package/dist/module/utils/stringifyThemes.d.ts +0 -1
- package/dist/module/utils/stringifyThemes.js +0 -1
- package/dist/module/vite/index.d.ts +0 -9
- package/dist/module/vite/index.js +0 -1
- package/dist/module/vite/vite.d.ts +0 -8
- package/dist/module/vite/vite.js +0 -98
- package/dist/shared/uniwind.B5q8hBGv.cjs +0 -18
- package/dist/shared/uniwind.Cv73KtI-.cjs +0 -86
- package/dist/shared/uniwind.JSWK3vHl.mjs +0 -14
- package/src/metro/compileVirtual.ts +0 -85
- package/src/metro/index.ts +0 -1
- package/src/metro/injectThemes.ts +0 -23
- package/src/metro/metro-transformer.ts +0 -116
- package/src/metro/processor/index.ts +0 -1
- package/src/metro/utils/index.ts +0 -2
- package/src/types.ts +0 -23
- package/src/utils/stringifyThemes.ts +0 -1
- package/src/vite/index.d.ts +0 -9
- /package/dist/common/{css → bundler/artifacts/css}/extraUtilities.js +0 -0
- /package/dist/common/{css → bundler/artifacts/css}/insets.js +0 -0
- /package/dist/common/{css → bundler/artifacts/css}/overwrite.js +0 -0
- /package/dist/common/{css → bundler/artifacts/css}/variants.js +0 -0
- /package/dist/common/{css-visitor → bundler/css-visitor}/function-visitor.js +0 -0
- /package/dist/common/{css-visitor → bundler/css-visitor}/index.js +0 -0
- /package/dist/module/{css → bundler/artifacts/css}/extraUtilities.d.ts +0 -0
- /package/dist/module/{css → bundler/artifacts/css}/extraUtilities.js +0 -0
- /package/dist/module/{css → bundler/artifacts/css}/insets.d.ts +0 -0
- /package/dist/module/{css → bundler/artifacts/css}/insets.js +0 -0
- /package/dist/module/{css → bundler/artifacts/css}/overwrite.d.ts +0 -0
- /package/dist/module/{css → bundler/artifacts/css}/overwrite.js +0 -0
- /package/dist/module/{css → bundler/artifacts/css}/themes.d.ts +0 -0
- /package/dist/module/{css → bundler/artifacts/css}/variants.d.ts +0 -0
- /package/dist/module/{css → bundler/artifacts/css}/variants.js +0 -0
- /package/dist/module/{utils/buildDtsFile.d.ts → bundler/artifacts/dts.d.ts} +0 -0
- /package/dist/module/{css-visitor → bundler/css-visitor}/function-visitor.js +0 -0
- /package/dist/module/{css-visitor → bundler/css-visitor}/index.d.ts +0 -0
- /package/dist/module/{css-visitor → bundler/css-visitor}/index.js +0 -0
- /package/{dist/common → src/bundler/adapters}/vite/index.d.ts +0 -0
- /package/src/{vite → bundler/adapters/vite}/index.ts +0 -0
- /package/src/{css → bundler/artifacts/css}/insets.ts +0 -0
- /package/src/{css → bundler/artifacts/css}/overwrite.ts +0 -0
- /package/src/{css → bundler/artifacts/css}/variants.ts +0 -0
- /package/src/{metro/utils/common.ts → bundler/css-processor/utils.ts} +0 -0
- /package/src/{css-visitor → bundler/css-visitor}/index.ts +0 -0
- /package/src/{metro → bundler}/logger.ts +0 -0
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { isDefined } from '../../common/utils'
|
|
3
|
+
import { isDefined } from '@/common/utils'
|
|
4
|
+
import type { Animation, Filter, OverflowKeyword, TokenOrValue } from 'lightningcss'
|
|
6
5
|
import { Logger } from '../logger'
|
|
7
|
-
import { DeclarationValues } from '../types'
|
|
8
|
-
import { deepEqual, pipe, roundToPrecision, shouldBeSerialized, toCamelCase } from '../utils'
|
|
9
6
|
import { getProcessedAnimation, getProcessedVarAnimation } from './animation'
|
|
10
7
|
import type { ProcessorBuilder } from './processor'
|
|
8
|
+
import type { DeclarationProperty, DeclarationValues } from './types'
|
|
9
|
+
import { deepEqual, pipe, roundToPrecision, shouldBeSerialized, toCamelCase } from './utils'
|
|
11
10
|
|
|
12
11
|
export class CSS {
|
|
13
12
|
private readonly logger = new Logger('CSS')
|
|
14
13
|
|
|
15
14
|
constructor(private readonly Processor: ProcessorBuilder) {}
|
|
16
15
|
|
|
17
|
-
processValue(declarationValue: DeclarationValues): any {
|
|
18
|
-
const processedValue = this.getProcessedValue(declarationValue)
|
|
16
|
+
processValue(declarationValue: DeclarationValues, declarationProperty?: DeclarationProperty): any {
|
|
17
|
+
const processedValue = this.getProcessedValue(declarationValue, declarationProperty)
|
|
19
18
|
|
|
20
19
|
if (typeof processedValue === 'string') {
|
|
21
20
|
return this.makeSafeForSerialization(processedValue)
|
|
@@ -106,7 +105,7 @@ export class CSS {
|
|
|
106
105
|
return filterStrings.join(' ')
|
|
107
106
|
}
|
|
108
107
|
|
|
109
|
-
private getProcessedValue(declarationValue: DeclarationValues): any {
|
|
108
|
+
private getProcessedValue(declarationValue: DeclarationValues, declarationProperty?: DeclarationProperty): any {
|
|
110
109
|
if (typeof declarationValue !== 'object') {
|
|
111
110
|
return declarationValue
|
|
112
111
|
}
|
|
@@ -424,11 +423,20 @@ export class CSS {
|
|
|
424
423
|
}
|
|
425
424
|
|
|
426
425
|
if ('grow' in declarationValue) {
|
|
427
|
-
|
|
426
|
+
const parsedFlex = {
|
|
428
427
|
flexGrow: declarationValue.grow,
|
|
429
428
|
flexShrink: declarationValue.shrink,
|
|
430
429
|
flexBasis: this.processValue(declarationValue.basis),
|
|
431
430
|
}
|
|
431
|
+
|
|
432
|
+
// CSS `flex: 1` is a shorthand for `flex-grow: 1; flex-shrink: 1; flex-basis: 0%` but for native we just want flex: 1
|
|
433
|
+
if (declarationProperty === 'flex' && parsedFlex.flexGrow === 1 && parsedFlex.flexShrink === 1 && parsedFlex.flexBasis === '"0%"') {
|
|
434
|
+
return {
|
|
435
|
+
flex: 1,
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
return parsedFlex
|
|
432
440
|
}
|
|
433
441
|
|
|
434
442
|
if (Array.isArray(declarationValue)) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CalcFor_DimensionPercentageFor_LengthValue, CalcFor_Length, CssColor, Function as FunctionType } from 'lightningcss'
|
|
1
|
+
import type { CalcFor_DimensionPercentageFor_LengthValue, CalcFor_Length, CssColor, Function as FunctionType } from 'lightningcss'
|
|
2
2
|
import { Logger } from '../logger'
|
|
3
|
-
import { pipe } from '../utils'
|
|
4
3
|
import type { ProcessorBuilder } from './processor'
|
|
4
|
+
import { pipe } from './utils'
|
|
5
5
|
|
|
6
6
|
export class Functions {
|
|
7
7
|
private readonly logger = new Logger('Functions')
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Platform } from '
|
|
3
|
-
import {
|
|
4
|
-
import { MediaQueryResolver } from '../types'
|
|
1
|
+
import type { ColorScheme, Orientation } from '@/common/consts'
|
|
2
|
+
import { Platform } from '@/common/consts'
|
|
3
|
+
import type { MediaCondition, MediaQuery, QueryFeatureFor_MediaFeatureId } from 'lightningcss'
|
|
5
4
|
import type { ProcessorBuilder } from './processor'
|
|
5
|
+
import type { MediaQueryResolver } from './types'
|
|
6
6
|
|
|
7
7
|
export class MQ {
|
|
8
8
|
constructor(private readonly Processor: ProcessorBuilder) {}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { UNIWIND_PLATFORM_VARIABLES, UNIWIND_THEME_VARIABLES } from '@/common/consts'
|
|
2
|
+
import type { Declaration, MediaQuery, Rule } from 'lightningcss'
|
|
3
|
+
import { transform } from 'lightningcss'
|
|
4
|
+
import type { CSSAnimationKeyframes } from 'react-native-reanimated'
|
|
4
5
|
import { parseTransformsMutation } from '../../core/native/parsers/transforms'
|
|
5
|
-
import {
|
|
6
|
+
import type { UniwindBundlerConfig } from '../config'
|
|
6
7
|
import { Color } from './color'
|
|
7
8
|
import { CSS } from './css'
|
|
8
9
|
import { Functions } from './functions'
|
|
9
10
|
import { MQ } from './mq'
|
|
10
11
|
import { RN } from './rn'
|
|
12
|
+
import type { AnimationFrame, DeclarationProperty, MediaQueryResolver, ProcessMetaValues } from './types'
|
|
11
13
|
import { Units } from './units'
|
|
12
14
|
import { Var } from './var'
|
|
13
15
|
|
|
@@ -29,8 +31,8 @@ export class ProcessorBuilder {
|
|
|
29
31
|
private pendingVarReferences = new Map<string, [Array<string>, boolean]>()
|
|
30
32
|
private declarationConfig = this.getDeclarationConfig()
|
|
31
33
|
|
|
32
|
-
constructor(
|
|
33
|
-
this.vars['--uniwind-em'] = polyfills?.rem ?? 16
|
|
34
|
+
constructor(public readonly bundlerConfig: UniwindBundlerConfig) {
|
|
35
|
+
this.vars['--uniwind-em'] = this.bundlerConfig.polyfills?.rem ?? 16
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
transform(css: string) {
|
|
@@ -209,16 +211,16 @@ export class ProcessorBuilder {
|
|
|
209
211
|
}
|
|
210
212
|
|
|
211
213
|
private parseDeclaration(declaration: Declaration) {
|
|
212
|
-
const parseValue = (property:
|
|
214
|
+
const parseValue = (property: DeclarationProperty, value: any) => {
|
|
213
215
|
if (property === 'animation') {
|
|
214
216
|
return this.CSS.processAnimation(value)
|
|
215
217
|
}
|
|
216
218
|
|
|
217
|
-
return this.CSS.processValue(value)
|
|
219
|
+
return this.CSS.processValue(value, property)
|
|
218
220
|
}
|
|
219
221
|
|
|
220
222
|
if (declaration.property === 'unparsed') {
|
|
221
|
-
const property = declaration.value.propertyId.property
|
|
223
|
+
const property = declaration.value.propertyId.property as DeclarationProperty
|
|
222
224
|
|
|
223
225
|
return {
|
|
224
226
|
property,
|
|
@@ -227,7 +229,7 @@ export class ProcessorBuilder {
|
|
|
227
229
|
}
|
|
228
230
|
|
|
229
231
|
if (declaration.property === 'custom') {
|
|
230
|
-
const property = declaration.value.name
|
|
232
|
+
const property = declaration.value.name as DeclarationProperty
|
|
231
233
|
|
|
232
234
|
return {
|
|
233
235
|
property,
|
|
@@ -278,7 +280,7 @@ export class ProcessorBuilder {
|
|
|
278
280
|
if (selector.type === 'pseudo-class' && selector.kind === 'where') {
|
|
279
281
|
selector.selectors.forEach(selector => {
|
|
280
282
|
selector.forEach(selector => {
|
|
281
|
-
if (selector.type === 'class' && this.themes.includes(selector.name)) {
|
|
283
|
+
if (selector.type === 'class' && this.bundlerConfig.themes.includes(selector.name)) {
|
|
282
284
|
theme = selector.name
|
|
283
285
|
}
|
|
284
286
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { DEFAULT_SCREEN_HEIGHT, DEFAULT_SCREEN_WIDTH } from '@/common/consts'
|
|
2
|
+
import { isDefined } from '@/common/utils'
|
|
3
3
|
import type { ProcessorBuilder } from './processor'
|
|
4
|
+
import { addMissingSpaces, pipe, removeKeys, toCamelCase } from './utils'
|
|
4
5
|
|
|
5
6
|
const transitions: Record<string, any> = { overlay: '"overlayColor"' }
|
|
6
7
|
|
|
@@ -231,6 +232,60 @@ const cssToRNMap: Record<string, (value: any) => Record<string, any>> = {
|
|
|
231
232
|
|
|
232
233
|
const BORDER_WIDTH_KEYS = ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth']
|
|
233
234
|
const BORDER_COLOR_KEYS = ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor']
|
|
235
|
+
const BORDER_RADIUS_KEYS = ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomLeftRadius', 'borderBottomRightRadius']
|
|
236
|
+
|
|
237
|
+
const COMPONENT_RESPONSIVE_PROPS = new Set([
|
|
238
|
+
'width',
|
|
239
|
+
'height',
|
|
240
|
+
'minWidth',
|
|
241
|
+
'maxWidth',
|
|
242
|
+
'minHeight',
|
|
243
|
+
'maxHeight',
|
|
244
|
+
'padding',
|
|
245
|
+
'paddingTop',
|
|
246
|
+
'paddingRight',
|
|
247
|
+
'paddingBottom',
|
|
248
|
+
'paddingLeft',
|
|
249
|
+
'paddingHorizontal',
|
|
250
|
+
'paddingVertical',
|
|
251
|
+
'paddingStart',
|
|
252
|
+
'paddingEnd',
|
|
253
|
+
'margin',
|
|
254
|
+
'marginTop',
|
|
255
|
+
'marginRight',
|
|
256
|
+
'marginBottom',
|
|
257
|
+
'marginLeft',
|
|
258
|
+
'marginHorizontal',
|
|
259
|
+
'marginVertical',
|
|
260
|
+
'marginStart',
|
|
261
|
+
'marginEnd',
|
|
262
|
+
'top',
|
|
263
|
+
'right',
|
|
264
|
+
'bottom',
|
|
265
|
+
'left',
|
|
266
|
+
'gap',
|
|
267
|
+
'rowGap',
|
|
268
|
+
'columnGap',
|
|
269
|
+
'borderWidth',
|
|
270
|
+
'borderTopWidth',
|
|
271
|
+
'borderRightWidth',
|
|
272
|
+
'borderBottomWidth',
|
|
273
|
+
'borderLeftWidth',
|
|
274
|
+
'borderStartWidth',
|
|
275
|
+
'borderEndWidth',
|
|
276
|
+
'borderRadius',
|
|
277
|
+
'borderTopLeftRadius',
|
|
278
|
+
'borderTopRightRadius',
|
|
279
|
+
'borderBottomLeftRadius',
|
|
280
|
+
'borderBottomRightRadius',
|
|
281
|
+
'borderTopStartRadius',
|
|
282
|
+
'borderTopEndRadius',
|
|
283
|
+
'borderBottomStartRadius',
|
|
284
|
+
'borderBottomEndRadius',
|
|
285
|
+
'flexBasis',
|
|
286
|
+
'translateX',
|
|
287
|
+
'translateY',
|
|
288
|
+
])
|
|
234
289
|
|
|
235
290
|
export class RN {
|
|
236
291
|
constructor(private readonly Processor: ProcessorBuilder) {}
|
|
@@ -249,6 +304,12 @@ export class RN {
|
|
|
249
304
|
.replace('Block', 'Vertical')
|
|
250
305
|
}
|
|
251
306
|
|
|
307
|
+
if (x.includes('border')) {
|
|
308
|
+
return x
|
|
309
|
+
.replace('InlineStart', 'Start')
|
|
310
|
+
.replace('InlineEnd', 'End')
|
|
311
|
+
}
|
|
312
|
+
|
|
252
313
|
return x
|
|
253
314
|
},
|
|
254
315
|
)
|
|
@@ -259,7 +320,46 @@ export class RN {
|
|
|
259
320
|
)
|
|
260
321
|
const joinedStyles = this.joinStyles(rn)
|
|
261
322
|
|
|
262
|
-
return Object.entries(joinedStyles)
|
|
323
|
+
return Object.entries(joinedStyles)
|
|
324
|
+
.filter(([, value]) => isDefined(value))
|
|
325
|
+
.map(([prop, val]) => [prop, this.makeResponsive(prop, val)]) as Array<[string, any]>
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
private makeResponsive(property: string, value: any): any {
|
|
329
|
+
const mode = this.Processor.bundlerConfig.polyfills?.responsive
|
|
330
|
+
|
|
331
|
+
if (!mode) {
|
|
332
|
+
return value
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
if (typeof value === 'string') {
|
|
336
|
+
const rawValue = value.startsWith('"') && value.endsWith('"') ? value.slice(1, -1) : value
|
|
337
|
+
|
|
338
|
+
if (rawValue.endsWith('%')) {
|
|
339
|
+
const numValue = parseFloat(rawValue)
|
|
340
|
+
|
|
341
|
+
if (!isNaN(numValue)) {
|
|
342
|
+
return `rt.makeResponsive(${numValue}, 100, true)`
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
if (typeof value !== 'number') {
|
|
348
|
+
return value
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
const isTextMode = mode === true || mode === 'text'
|
|
352
|
+
const isComponentMode = mode === true || mode === 'components'
|
|
353
|
+
|
|
354
|
+
if (isTextMode && (property === 'fontSize' || property === '--uniwind-em')) {
|
|
355
|
+
return `rt.makeResponsive(${value}, ${DEFAULT_SCREEN_HEIGHT}, true)`
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
if (isComponentMode && COMPONENT_RESPONSIVE_PROPS.has(property)) {
|
|
359
|
+
return `rt.makeResponsive(${value}, ${DEFAULT_SCREEN_WIDTH})`
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
return value
|
|
263
363
|
}
|
|
264
364
|
|
|
265
365
|
private transformProperty(property: string, value: any) {
|
|
@@ -382,6 +482,18 @@ export class RN {
|
|
|
382
482
|
}
|
|
383
483
|
}
|
|
384
484
|
|
|
485
|
+
if (BORDER_RADIUS_KEYS.every(key => keys.includes(key))) {
|
|
486
|
+
const borderRadius = styles.borderTopLeftRadius
|
|
487
|
+
|
|
488
|
+
// Join border radius
|
|
489
|
+
if (BORDER_RADIUS_KEYS.every(key => styles[key] === borderRadius)) {
|
|
490
|
+
return {
|
|
491
|
+
...removeKeys(styles, BORDER_RADIUS_KEYS),
|
|
492
|
+
borderRadius,
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
385
497
|
return styles
|
|
386
498
|
}
|
|
387
499
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Logger } from '
|
|
2
|
-
import { addMissingSpaces, isNumber, isValidJSValue, pipe, roundToPrecision, smartSplit } from './
|
|
1
|
+
import { Logger } from '@/bundler/logger'
|
|
2
|
+
import { addMissingSpaces, isNumber, isValidJSValue, pipe, roundToPrecision, smartSplit } from './utils'
|
|
3
3
|
|
|
4
4
|
const parseStringValue = (value: string) => {
|
|
5
5
|
if (isValidJSValue(value)) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ColorScheme, Orientation, Platform } from '@/common/consts'
|
|
1
2
|
import type {
|
|
2
3
|
AbsoluteFontWeight,
|
|
3
4
|
Declaration,
|
|
@@ -11,23 +12,6 @@ import type {
|
|
|
11
12
|
TokenOrValue,
|
|
12
13
|
UnresolvedColor,
|
|
13
14
|
} from 'lightningcss'
|
|
14
|
-
import { Platform } from '../common/consts'
|
|
15
|
-
import { ColorScheme, Orientation } from '../types'
|
|
16
|
-
|
|
17
|
-
export type Polyfills = {
|
|
18
|
-
rem?: number
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type UniwindConfig = {
|
|
22
|
-
cssEntryFile: string
|
|
23
|
-
themes: Array<string>
|
|
24
|
-
extraThemes?: Array<string>
|
|
25
|
-
extraComponents?: Record<string, string>
|
|
26
|
-
dtsFile?: string
|
|
27
|
-
polyfills?: Polyfills
|
|
28
|
-
debug?: boolean
|
|
29
|
-
isTV?: boolean
|
|
30
|
-
}
|
|
31
15
|
|
|
32
16
|
export type MediaQueryResolver = {
|
|
33
17
|
maxWidth: number | null
|
|
@@ -62,6 +46,8 @@ export type DeclarationValues =
|
|
|
62
46
|
| AbsoluteFontWeight
|
|
63
47
|
| UnresolvedColor
|
|
64
48
|
|
|
49
|
+
export type DeclarationProperty = Declaration['property']
|
|
50
|
+
|
|
65
51
|
export type ProcessMetaValues = {
|
|
66
52
|
className?: string | null
|
|
67
53
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DimensionPercentageFor_LengthValue, Length, LengthValue } from 'lightningcss'
|
|
1
|
+
import type { DimensionPercentageFor_LengthValue, Length, LengthValue } from 'lightningcss'
|
|
2
2
|
import { Logger } from '../logger'
|
|
3
3
|
import type { ProcessorBuilder } from './processor'
|
|
4
4
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ReturnedDeclaration, ReturnedMediaQuery, ReturnedRule, Rule, SelectorComponent } from 'lightningcss'
|
|
1
|
+
import type { ReturnedDeclaration, ReturnedMediaQuery, ReturnedRule, Rule, SelectorComponent } from 'lightningcss'
|
|
2
|
+
import type { UniwindBundlerConfig } from '../config'
|
|
2
3
|
|
|
3
4
|
type LightningRuleVisitor = Rule<ReturnedDeclaration, ReturnedMediaQuery>
|
|
4
5
|
type LightningRuleVisitors = Partial<
|
|
@@ -12,7 +13,7 @@ export class RuleVisitor implements LightningRuleVisitors {
|
|
|
12
13
|
processedVariables = new Set<string>()
|
|
13
14
|
currentLayerName = ''
|
|
14
15
|
|
|
15
|
-
constructor(private readonly
|
|
16
|
+
constructor(private readonly bundlerConfig: UniwindBundlerConfig) {}
|
|
16
17
|
|
|
17
18
|
'layer-block' = (layer: Extract<LightningRuleVisitor, { type: 'layer-block' }>) => {
|
|
18
19
|
this.currentLayerName = layer.value.name?.join('') ?? ''
|
|
@@ -86,7 +87,7 @@ export class RuleVisitor implements LightningRuleVisitors {
|
|
|
86
87
|
return styleRule
|
|
87
88
|
}
|
|
88
89
|
|
|
89
|
-
const selectedVariant = this.themes.find(theme => whereSelector.name === theme)
|
|
90
|
+
const selectedVariant = this.bundlerConfig.themes.find(theme => whereSelector.name === theme)
|
|
90
91
|
|
|
91
92
|
if (selectedVariant === undefined || this.processedVariables.has(selectedVariant)) {
|
|
92
93
|
return styleRule
|
|
@@ -109,7 +110,7 @@ export class RuleVisitor implements LightningRuleVisitors {
|
|
|
109
110
|
styleRule: Extract<LightningRuleVisitor, { type: 'style' }>,
|
|
110
111
|
firstSelector: Extract<SelectorComponent, { type: 'class' }>,
|
|
111
112
|
): ReturnedRule | void {
|
|
112
|
-
const selectedVariant = this.themes.find(theme => firstSelector.name.includes(`${theme}:`))
|
|
113
|
+
const selectedVariant = this.bundlerConfig.themes.find(theme => firstSelector.name.includes(`${theme}:`))
|
|
113
114
|
|
|
114
115
|
if (selectedVariant === undefined || this.processedClassNames.has(firstSelector.name)) {
|
|
115
116
|
return
|
|
@@ -123,7 +124,7 @@ export class RuleVisitor implements LightningRuleVisitors {
|
|
|
123
124
|
loc: styleRule.value.loc,
|
|
124
125
|
rules: [styleRule],
|
|
125
126
|
scopeStart: [[{ type: 'class', name: selectedVariant }]],
|
|
126
|
-
scopeEnd: this.themes
|
|
127
|
+
scopeEnd: this.bundlerConfig.themes
|
|
127
128
|
.filter(theme => theme !== selectedVariant)
|
|
128
129
|
.map(theme => [{ type: 'class', name: theme }]),
|
|
129
130
|
},
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { CustomAtRules, Visitor } from 'lightningcss'
|
|
1
|
+
import type { CustomAtRules, Visitor } from 'lightningcss'
|
|
2
|
+
import type { UniwindBundlerConfig } from '../config'
|
|
2
3
|
import { FunctionVisitor } from './function-visitor'
|
|
3
4
|
import { RuleVisitor } from './rule-visitor'
|
|
4
5
|
|
|
@@ -7,8 +8,8 @@ export class UniwindCSSVisitor implements Visitor<CustomAtRules> {
|
|
|
7
8
|
Rule: Visitor<CustomAtRules>['Rule']
|
|
8
9
|
StyleSheet: Visitor<CustomAtRules>['StyleSheet']
|
|
9
10
|
|
|
10
|
-
constructor(
|
|
11
|
-
const ruleVisitor = new RuleVisitor(
|
|
11
|
+
constructor(bundlerConfig: UniwindBundlerConfig) {
|
|
12
|
+
const ruleVisitor = new RuleVisitor(bundlerConfig)
|
|
12
13
|
|
|
13
14
|
this.Function = new FunctionVisitor()
|
|
14
15
|
this.Rule = ruleVisitor
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type UniwindConfig = {
|
|
2
|
+
cssEntryFile: string
|
|
3
|
+
extraThemes?: Array<string>
|
|
4
|
+
extraComponents?: Record<string, string>
|
|
5
|
+
dtsFile?: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export type Polyfills = {
|
|
9
|
+
rem?: number
|
|
10
|
+
responsive?: 'text' | 'components' | boolean
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type UniwindMetroConfig = UniwindConfig & {
|
|
14
|
+
polyfills?: Polyfills
|
|
15
|
+
debug?: boolean
|
|
16
|
+
isTV?: boolean
|
|
17
|
+
}
|
package/src/common/consts.ts
CHANGED
|
@@ -10,3 +10,28 @@ export const enum Platform {
|
|
|
10
10
|
|
|
11
11
|
export const UNIWIND_PLATFORM_VARIABLES = '__uniwind-platform-'
|
|
12
12
|
export const UNIWIND_THEME_VARIABLES = '__uniwind-theme-'
|
|
13
|
+
|
|
14
|
+
export enum StyleDependency {
|
|
15
|
+
ColorScheme = 1,
|
|
16
|
+
Theme = 2,
|
|
17
|
+
Dimensions = 3,
|
|
18
|
+
Orientation = 4,
|
|
19
|
+
Insets = 5,
|
|
20
|
+
FontScale = 6,
|
|
21
|
+
Rtl = 7,
|
|
22
|
+
AdaptiveThemes = 8,
|
|
23
|
+
Variables = 9,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const enum Orientation {
|
|
27
|
+
Portrait = 'portrait',
|
|
28
|
+
Landscape = 'landscape',
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const enum ColorScheme {
|
|
32
|
+
Light = 'light',
|
|
33
|
+
Dark = 'dark',
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const DEFAULT_SCREEN_WIDTH = 375
|
|
37
|
+
export const DEFAULT_SCREEN_HEIGHT = 680
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useMemo } from 'react'
|
|
2
2
|
import { UniwindContext } from '../../core/context'
|
|
3
|
-
import { ThemeName, UniwindContextType } from '../../core/types'
|
|
3
|
+
import type { ThemeName, UniwindContextType } from '../../core/types'
|
|
4
4
|
|
|
5
5
|
type ScopedThemeProps = {
|
|
6
6
|
theme: ThemeName
|
package/src/components/index.ts
CHANGED
|
@@ -196,9 +196,6 @@ module.exports = {
|
|
|
196
196
|
get PlatformColor() {
|
|
197
197
|
return require('react-native').PlatformColor
|
|
198
198
|
},
|
|
199
|
-
get PushNotificationIOS() {
|
|
200
|
-
return require('react-native').PushNotificationIOS
|
|
201
|
-
},
|
|
202
199
|
get processColor() {
|
|
203
200
|
return require('react-native').processColor
|
|
204
201
|
},
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ActivityIndicatorProps } from 'react-native'
|
|
2
|
+
import { ActivityIndicator as RNActivityIndicator } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useAccentColor } from './useAccentColor'
|
|
4
5
|
import { useStyle } from './useStyle'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ButtonProps } from 'react-native'
|
|
2
|
+
import { Button as RNButton } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useAccentColor } from './useAccentColor'
|
|
4
5
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { FlatListProps } from 'react-native'
|
|
2
|
+
import { FlatList as RNFlatList } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useAccentColor } from './useAccentColor'
|
|
4
5
|
import { useStyle } from './useStyle'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ImageProps } from 'react-native'
|
|
2
|
+
import { Image as RNImage } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useAccentColor } from './useAccentColor'
|
|
4
5
|
import { useStyle } from './useStyle'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ImageBackgroundProps } from 'react-native'
|
|
2
|
+
import { ImageBackground as RNImageBackground } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useAccentColor } from './useAccentColor'
|
|
4
5
|
import { useStyle } from './useStyle'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ForwardedRef } from 'react'
|
|
2
|
-
import {
|
|
1
|
+
import type { ForwardedRef } from 'react'
|
|
2
|
+
import type { InputAccessoryViewProps } from 'react-native'
|
|
3
|
+
import { InputAccessoryView as RNInputAccessoryView } from 'react-native'
|
|
3
4
|
import { copyComponentProperties } from '../utils'
|
|
4
5
|
import { useAccentColor } from './useAccentColor'
|
|
5
6
|
import { useStyle } from './useStyle'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { KeyboardAvoidingViewProps } from 'react-native'
|
|
2
|
+
import { KeyboardAvoidingView as RNKeyboardAvoidingView } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useStyle } from './useStyle'
|
|
4
5
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ModalProps } from 'react-native'
|
|
2
|
+
import { Modal as RNModal } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useAccentColor } from './useAccentColor'
|
|
4
5
|
import { useStyle } from './useStyle'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useState } from 'react'
|
|
2
|
-
import { Pressable as RNPressable, PressableProps } from 'react-native'
|
|
2
|
+
import { Pressable as RNPressable, type PressableProps } from 'react-native'
|
|
3
3
|
import { copyComponentProperties } from '../utils'
|
|
4
4
|
import { useStyle } from './useStyle'
|
|
5
5
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { RefreshControlProps } from 'react-native'
|
|
2
|
+
import { RefreshControl as RNRefreshControl } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useAccentColor } from './useAccentColor'
|
|
4
5
|
import { useStyle } from './useStyle'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ViewProps } from 'react-native'
|
|
2
|
+
import { SafeAreaView as RNSafeAreaView } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useStyle } from './useStyle'
|
|
4
5
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ScrollViewProps } from 'react-native'
|
|
2
|
+
import { ScrollView as RNScrollView } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useAccentColor } from './useAccentColor'
|
|
4
5
|
import { useStyle } from './useStyle'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SectionListProps } from 'react-native'
|
|
2
|
+
import { SectionList as RNSectionList } from 'react-native'
|
|
2
3
|
import { copyComponentProperties } from '../utils'
|
|
3
4
|
import { useAccentColor } from './useAccentColor'
|
|
4
5
|
import { useStyle } from './useStyle'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { SwitchProps } from 'react-native'
|
|
2
|
+
import { Switch as RNSwitch } from 'react-native'
|
|
3
|
+
import type { ComponentState } from '../../core/types'
|
|
3
4
|
import { copyComponentProperties } from '../utils'
|
|
4
5
|
import { useAccentColor } from './useAccentColor'
|
|
5
6
|
import { useStyle } from './useStyle'
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useState } from 'react'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { TextProps } from 'react-native'
|
|
3
|
+
import { Text as RNText } from 'react-native'
|
|
4
|
+
import type { ComponentState } from '../../core/types'
|
|
4
5
|
import { copyComponentProperties } from '../utils'
|
|
5
6
|
import { useAccentColor } from './useAccentColor'
|
|
6
7
|
import { useStyle } from './useStyle'
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useState } from 'react'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { TextInputProps } from 'react-native'
|
|
3
|
+
import { TextInput as RNTextInput } from 'react-native'
|
|
4
|
+
import type { ComponentState } from '../../core/types'
|
|
4
5
|
import { copyComponentProperties } from '../utils'
|
|
5
6
|
import { useAccentColor } from './useAccentColor'
|
|
6
7
|
import { useStyle } from './useStyle'
|