@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
|
@@ -7,8 +7,8 @@ import { Logger } from "../core/logger.js";
|
|
|
7
7
|
import { CSSListener, formatColor, getWebStyles } from "../core/web/index.js";
|
|
8
8
|
import { classToColor, classToStyle, isClassProperty, isColorClassProperty, isStyleProperty } from "./withUniwindUtils.js";
|
|
9
9
|
let warnedOnce = false;
|
|
10
|
-
export const withUniwind = (
|
|
11
|
-
const withAutoUniwind = (
|
|
10
|
+
export const withUniwind = (Component, options) => options ? withManualUniwind(Component, options) : withAutoUniwind(Component);
|
|
11
|
+
const withAutoUniwind = (Component) => (props) => {
|
|
12
12
|
const uniwindContext = useUniwindContext();
|
|
13
13
|
const { classNames, generatedProps } = Object.entries(props).reduce((acc, [propName, propValue]) => {
|
|
14
14
|
if (isColorClassProperty(propName)) {
|
|
@@ -47,7 +47,7 @@ const withAutoUniwind = (Component2) => (props) => {
|
|
|
47
47
|
return dispose;
|
|
48
48
|
}, [classNames]);
|
|
49
49
|
return /* @__PURE__ */ jsx(
|
|
50
|
-
|
|
50
|
+
Component,
|
|
51
51
|
{
|
|
52
52
|
...props,
|
|
53
53
|
...generatedProps,
|
|
@@ -55,7 +55,7 @@ const withAutoUniwind = (Component2) => (props) => {
|
|
|
55
55
|
}
|
|
56
56
|
);
|
|
57
57
|
};
|
|
58
|
-
const withManualUniwind = (
|
|
58
|
+
const withManualUniwind = (Component, options) => (props) => {
|
|
59
59
|
const uniwindContext = useUniwindContext();
|
|
60
60
|
const { generatedProps, classNames } = Object.entries(options).reduce((acc, [propName, option]) => {
|
|
61
61
|
const className = props[option.fromClassName];
|
|
@@ -81,7 +81,7 @@ const withManualUniwind = (Component2, options) => (props) => {
|
|
|
81
81
|
return dispose;
|
|
82
82
|
}, [classNames]);
|
|
83
83
|
return /* @__PURE__ */ jsx(
|
|
84
|
-
|
|
84
|
+
Component,
|
|
85
85
|
{
|
|
86
86
|
...props,
|
|
87
87
|
...generatedProps,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { WithUniwind } from './types';
|
|
1
|
+
import type { WithUniwind } from './types';
|
|
2
2
|
export declare const withUniwind: WithUniwind;
|
|
@@ -7,8 +7,8 @@ import { Logger } from "../core/logger.js";
|
|
|
7
7
|
import { UniwindStore } from "../core/native/index.js";
|
|
8
8
|
import { classToColor, classToStyle, isClassProperty, isColorClassProperty, isStyleProperty } from "./withUniwindUtils.js";
|
|
9
9
|
let warnedOnce = false;
|
|
10
|
-
export const withUniwind = (
|
|
11
|
-
const withAutoUniwind = (
|
|
10
|
+
export const withUniwind = (Component, options) => options ? withManualUniwind(Component, options) : withAutoUniwind(Component);
|
|
11
|
+
const withAutoUniwind = (Component) => (props) => {
|
|
12
12
|
const uniwindContext = useUniwindContext();
|
|
13
13
|
const { dependencies, generatedProps } = Object.entries(props).reduce((acc, [propName, propValue]) => {
|
|
14
14
|
if (isColorClassProperty(propName)) {
|
|
@@ -52,14 +52,14 @@ const withAutoUniwind = (Component2) => (props) => {
|
|
|
52
52
|
return dispose;
|
|
53
53
|
}, [dependencySum]);
|
|
54
54
|
return /* @__PURE__ */ jsx(
|
|
55
|
-
|
|
55
|
+
Component,
|
|
56
56
|
{
|
|
57
57
|
...props,
|
|
58
58
|
...generatedProps
|
|
59
59
|
}
|
|
60
60
|
);
|
|
61
61
|
};
|
|
62
|
-
const withManualUniwind = (
|
|
62
|
+
const withManualUniwind = (Component, options) => (props) => {
|
|
63
63
|
const uniwindContext = useUniwindContext();
|
|
64
64
|
const { generatedProps, dependencies } = Object.entries(options).reduce((acc, [propName, option]) => {
|
|
65
65
|
const className = props[option.fromClassName];
|
|
@@ -99,7 +99,7 @@ const withManualUniwind = (Component2, options) => (props) => {
|
|
|
99
99
|
return dispose;
|
|
100
100
|
}, [dependencySum]);
|
|
101
101
|
return /* @__PURE__ */ jsx(
|
|
102
|
-
|
|
102
|
+
Component,
|
|
103
103
|
{
|
|
104
104
|
...props,
|
|
105
105
|
...generatedProps
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { UniwindContextType } from '../../core/types';
|
|
1
|
+
import type { UniwindContextType } from '../../core/types';
|
|
2
2
|
export declare const getVariableValue: (name: string, uniwindContext: UniwindContextType) => unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { useCSSVariable } from './useCSSVariable';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { useCSSVariable } from "./useCSSVariable.js";
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { UniwindContextType } from '../../core/types';
|
|
2
|
+
export declare const getCSSVariable: (name: string | Array<string>, uniwindContext: UniwindContextType) => string | (string | undefined)[] | undefined;
|
|
1
3
|
type IsGenericNumber<T> = T & 0 extends -1 ? false : true;
|
|
2
4
|
type CreateArray<N extends number, Value, TAcc extends Array<Value> = []> = TAcc['length'] extends N ? TAcc : CreateArray<N, Value, [...TAcc, Value]>;
|
|
3
|
-
type
|
|
5
|
+
export type GetCSSVariable = {
|
|
4
6
|
(name: string): string | number | undefined;
|
|
5
7
|
<const T extends Array<string>>(names: T): IsGenericNumber<T['length']> extends true ? Array<string | number | undefined> : CreateArray<T['length'], string | number | undefined>;
|
|
6
8
|
};
|
|
@@ -9,5 +11,5 @@ type UseCSSVariable = {
|
|
|
9
11
|
* @param name Name / Array of names of the CSS variable.
|
|
10
12
|
* @returns Value / Values of the CSS variable. On web it is always a string (1rem, #ff0000, etc.), but on native it can be a string or a number (16px, #ff0000)
|
|
11
13
|
*/
|
|
12
|
-
export declare const useCSSVariable:
|
|
14
|
+
export declare const useCSSVariable: GetCSSVariable;
|
|
13
15
|
export {};
|
|
@@ -1,53 +1,60 @@
|
|
|
1
1
|
import { useLayoutEffect, useRef, useState } from "react";
|
|
2
|
+
import { Platform } from "react-native";
|
|
3
|
+
import { StyleDependency } from "../../common/consts.js";
|
|
2
4
|
import { arrayEquals } from "../../common/utils.js";
|
|
3
5
|
import { useUniwindContext } from "../../core/context.js";
|
|
4
6
|
import { UniwindListener } from "../../core/listener.js";
|
|
5
7
|
import { Logger } from "../../core/logger.js";
|
|
6
|
-
import { StyleDependency } from "../../types.js";
|
|
7
8
|
import { getVariableValue } from "./getVariableValue.js";
|
|
8
|
-
const getValue = (name, uniwindContext) => Array.isArray(name) ? name.map((name2) => getVariableValue(name2, uniwindContext)) : getVariableValue(name, uniwindContext);
|
|
9
9
|
let warned = false;
|
|
10
10
|
const logDevError = (name) => {
|
|
11
|
+
if (Platform.OS === "web" && (typeof document === "undefined" || typeof window === "undefined")) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
11
14
|
warned = true;
|
|
12
15
|
Logger.warn(
|
|
13
16
|
`We couldn't find your variable ${name}. Make sure it's used at least once in your className, or define it in a static theme as described in the docs: https://docs.uniwind.dev/api/use-css-variable`
|
|
14
17
|
);
|
|
15
18
|
};
|
|
19
|
+
export const getCSSVariable = (name, uniwindContext) => {
|
|
20
|
+
const value = Array.isArray(name) ? name.map((name2) => getVariableValue(name2, uniwindContext)) : getVariableValue(name, uniwindContext);
|
|
21
|
+
if (Array.isArray(value)) {
|
|
22
|
+
value.forEach((val, index) => {
|
|
23
|
+
if (val === void 0 && __DEV__ && !warned) {
|
|
24
|
+
logDevError(name[index] ?? "");
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (value === void 0 && __DEV__ && !warned) {
|
|
29
|
+
logDevError(name);
|
|
30
|
+
}
|
|
31
|
+
return value;
|
|
32
|
+
};
|
|
16
33
|
export const useCSSVariable = (name) => {
|
|
17
34
|
const uniwindContext = useUniwindContext();
|
|
18
|
-
const [value, setValue] = useState(
|
|
35
|
+
const [value, setValue] = useState(getCSSVariable(name, uniwindContext));
|
|
19
36
|
const nameRef = useRef(name);
|
|
20
37
|
useLayoutEffect(() => {
|
|
21
38
|
if (Array.isArray(name) && Array.isArray(nameRef.current)) {
|
|
22
39
|
if (arrayEquals(name, nameRef.current)) {
|
|
23
40
|
return;
|
|
24
41
|
}
|
|
25
|
-
setValue(
|
|
42
|
+
setValue(getCSSVariable(name, uniwindContext));
|
|
26
43
|
nameRef.current = name;
|
|
27
44
|
return;
|
|
28
45
|
}
|
|
29
46
|
if (name !== nameRef.current) {
|
|
30
|
-
setValue(
|
|
47
|
+
setValue(getCSSVariable(name, uniwindContext));
|
|
31
48
|
nameRef.current = name;
|
|
32
49
|
}
|
|
33
50
|
}, [name]);
|
|
34
51
|
useLayoutEffect(() => {
|
|
35
|
-
const updateValue = () => setValue(
|
|
52
|
+
const updateValue = () => setValue(getCSSVariable(nameRef.current, uniwindContext));
|
|
36
53
|
const dispose = UniwindListener.subscribe(
|
|
37
54
|
updateValue,
|
|
38
55
|
[StyleDependency.Theme, StyleDependency.Variables]
|
|
39
56
|
);
|
|
40
57
|
return dispose;
|
|
41
58
|
}, [uniwindContext]);
|
|
42
|
-
if (Array.isArray(value)) {
|
|
43
|
-
value.forEach((val, index) => {
|
|
44
|
-
if (val === void 0 && __DEV__ && !warned) {
|
|
45
|
-
logDevError(name[index] ?? "");
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
if (value === void 0 && __DEV__ && !warned) {
|
|
50
|
-
logDevError(name);
|
|
51
|
-
}
|
|
52
59
|
return value;
|
|
53
60
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { RNStyle } from '../core/types';
|
|
1
|
+
import type { RNStyle } from '../core/types';
|
|
2
2
|
export declare const useResolveClassNames: (className: string) => RNStyle;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useLayoutEffect, useState } from "react";
|
|
2
|
+
import { StyleDependency } from "../common/consts.js";
|
|
2
3
|
import { Uniwind } from "../core/index.js";
|
|
3
4
|
import { useUniwindContext } from "../core/context.js";
|
|
4
5
|
import { UniwindListener } from "../core/listener.js";
|
|
5
|
-
import { StyleDependency } from "../types.js";
|
|
6
6
|
export const useUniwind = () => {
|
|
7
7
|
const uniwindContext = useUniwindContext();
|
|
8
8
|
const [theme, setTheme] = useState(Uniwind.currentTheme);
|
package/dist/module/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './components/ScopedTheme';
|
|
2
2
|
export { Uniwind } from './core';
|
|
3
|
-
export type { ThemeName } from './core/types';
|
|
3
|
+
export type { ThemeName, UniwindConfig } from './core/types';
|
|
4
4
|
export { withUniwind } from './hoc';
|
|
5
5
|
export type { ApplyUniwind, ApplyUniwindOptions } from './hoc/types';
|
|
6
6
|
export { useCSSVariable, useResolveClassNames, useUniwind } from './hooks';
|
|
7
|
-
export type { UniwindConfig } from './types';
|