react-native-css 0.0.0-nightly.8a01f75 → 0.0.0-nightly.930095f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/commonjs/components/SafeAreaProvider.js +13 -0
- package/dist/commonjs/components/SafeAreaProvider.js.map +1 -0
- package/dist/commonjs/native/styles/index.js +200 -15
- package/dist/commonjs/native/styles/index.js.map +1 -1
- package/dist/commonjs/web/api.js +1 -1
- package/dist/commonjs/web/api.js.map +1 -1
- package/dist/module/components/SafeAreaProvider.js +4 -0
- package/dist/module/components/SafeAreaProvider.js.map +1 -0
- package/dist/module/native/styles/index.js +201 -15
- package/dist/module/native/styles/index.js.map +1 -1
- package/dist/module/web/api.js +1 -1
- package/dist/module/web/api.js.map +1 -1
- package/dist/typescript/commonjs/src/components/SafeAreaProvider.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/SafeAreaProvider.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/native/styles/index.d.ts.map +1 -1
- package/dist/typescript/module/src/components/SafeAreaProvider.d.ts +2 -0
- package/dist/typescript/module/src/components/SafeAreaProvider.d.ts.map +1 -0
- package/dist/typescript/module/src/native/styles/index.d.ts.map +1 -1
- package/package.json +13 -1
- package/src/components/SafeAreaProvider.tsx +1 -0
- package/src/native/styles/index.ts +231 -18
- package/src/web/api.tsx +1 -1
package/README.md
CHANGED
|
@@ -117,7 +117,7 @@ export default function App() {
|
|
|
117
117
|
return (
|
|
118
118
|
<MyView className="container">
|
|
119
119
|
<MyView className="box" />
|
|
120
|
-
</
|
|
120
|
+
</MyView>
|
|
121
121
|
);
|
|
122
122
|
}
|
|
123
123
|
```
|
|
@@ -176,15 +176,15 @@ export default function App() {
|
|
|
176
176
|
> This hook may not support all features of the library.
|
|
177
177
|
> This hooks does not support container queries or inheritance for children elements.
|
|
178
178
|
|
|
179
|
-
#### `
|
|
179
|
+
#### `useNativeVariable`
|
|
180
180
|
|
|
181
|
-
If you just require a CSS variable value, you can use the `
|
|
181
|
+
If you just require a CSS variable value, you can use the `useNativeVariable` hook:
|
|
182
182
|
|
|
183
183
|
```ts
|
|
184
|
-
import {
|
|
184
|
+
import { useNativeVariable } from 'react-native-css';
|
|
185
185
|
|
|
186
186
|
export default function App() {
|
|
187
|
-
const myColor =
|
|
187
|
+
const myColor = useNativeVariable("--my-color");
|
|
188
188
|
|
|
189
189
|
return (
|
|
190
190
|
<View style={{ backgroundColor: myColor }}>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "SafeAreaProvider", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _reactNativeSafeAreaContext.SafeAreaProvider;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _reactNativeSafeAreaContext = require("react-native-css/components/react-native-safe-area-context");
|
|
13
|
+
//# sourceMappingURL=SafeAreaProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeSafeAreaContext","require"],"sourceRoot":"../../../src","sources":["components/SafeAreaProvider.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,2BAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -11,6 +11,126 @@ var _reactivity = require("../reactivity.js");
|
|
|
11
11
|
var _calculateProps = require("./calculate-props.js");
|
|
12
12
|
/* eslint-disable */
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Checks if the left style object has any properties that are not present in the right style object.
|
|
16
|
+
* This is used to determine if styles need to be preserved in an array or if right can completely override left.
|
|
17
|
+
*
|
|
18
|
+
* Note: This intentionally only checks one direction (left → right). We don't need to check if right has
|
|
19
|
+
* properties that left doesn't have, because right will always be applied/merged. The question we're
|
|
20
|
+
* answering is: "Does left have any properties that would be lost if we just used right?" If yes, we
|
|
21
|
+
* create a style array [left, right] to preserve both. If no, right can safely replace left entirely.
|
|
22
|
+
*
|
|
23
|
+
* @param left - The left style object to check
|
|
24
|
+
* @param right - The right style object to compare against
|
|
25
|
+
* @returns true if left has at least one property key that doesn't exist in right, false otherwise
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* hasNonOverlappingProperties({color: 'red', fontSize: 12}, {color: 'blue'}) // true - fontSize is not in right
|
|
29
|
+
* hasNonOverlappingProperties({color: 'red'}, {color: 'blue', fontSize: 12}) // false - all left keys exist in right
|
|
30
|
+
*/
|
|
31
|
+
function hasNonOverlappingProperties(left, right) {
|
|
32
|
+
// Null safety check
|
|
33
|
+
if (!left || !right) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Only check own properties to avoid prototype pollution
|
|
38
|
+
for (const key in left) {
|
|
39
|
+
if (Object.prototype.hasOwnProperty.call(left, key)) {
|
|
40
|
+
if (!Object.prototype.hasOwnProperty.call(right, key)) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Flattens a style array into a single object when possible, with rightmost values taking precedence.
|
|
50
|
+
* Returns the original array if it contains any non-plain objects, arrays, or CSS variable objects.
|
|
51
|
+
*
|
|
52
|
+
* Note: This function assumes the input array has already been filtered (e.g., by filterCssVariables),
|
|
53
|
+
* so empty arrays should not reach this function. If they do, they will be treated as non-flattenable.
|
|
54
|
+
*
|
|
55
|
+
* @param styleArray - The style array to potentially flatten
|
|
56
|
+
* @returns A single merged object if all items are plain objects, otherwise the original array
|
|
57
|
+
*/
|
|
58
|
+
function flattenStyleArray(styleArray) {
|
|
59
|
+
// Check if we can flatten to a single object (all items are plain objects)
|
|
60
|
+
for (const item of styleArray) {
|
|
61
|
+
// Use explicit null check instead of !item to allow falsy values like 0 or false
|
|
62
|
+
if (item == null || typeof item !== "object" || Array.isArray(item) || Object.prototype.hasOwnProperty.call(item, _reactivity.VAR_SYMBOL)) {
|
|
63
|
+
return styleArray;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Use reduce to avoid spread operator performance issues with large arrays
|
|
68
|
+
return styleArray.reduce((acc, item) => Object.assign(acc, item), {});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Recursively filters out CSS variable objects (with VAR_SYMBOL) from style values.
|
|
73
|
+
* This prevents CSS variable runtime objects from leaking into React Native component props.
|
|
74
|
+
*
|
|
75
|
+
* @param value - The value to filter (can be any type: object, array, primitive, etc.)
|
|
76
|
+
* @param depth - Internal recursion depth counter to prevent stack overflow (max 100)
|
|
77
|
+
* @returns The filtered value with CSS variables removed, or `undefined` if the entire value
|
|
78
|
+
* should be filtered out (e.g., empty arrays, objects with only VAR_SYMBOL properties)
|
|
79
|
+
*
|
|
80
|
+
* Filtering behavior:
|
|
81
|
+
* - Objects with VAR_SYMBOL property: returns `undefined` (completely filtered)
|
|
82
|
+
* - Arrays: filters out VAR_SYMBOL objects, returns `undefined` if empty after filtering
|
|
83
|
+
* - Objects: recursively filters properties, returns `undefined` if no properties remain
|
|
84
|
+
* - Primitives (null, undefined, numbers, strings, booleans): returned as-is
|
|
85
|
+
* - Symbol properties: intentionally filtered out for React Native compatibility
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* filterCssVariables({fontSize: 16, color: {[VAR_SYMBOL]: true}}) // {fontSize: 16}
|
|
89
|
+
* filterCssVariables([{margin: 10}, {[VAR_SYMBOL]: true}]) // [{margin: 10}]
|
|
90
|
+
* filterCssVariables({color: {[VAR_SYMBOL]: true}}) // undefined (all props filtered)
|
|
91
|
+
*/
|
|
92
|
+
function filterCssVariables(value, depth = 0) {
|
|
93
|
+
// Prevent stack overflow on deeply nested structures
|
|
94
|
+
if (depth > 100) {
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
if (value === null || value === undefined) {
|
|
98
|
+
return value;
|
|
99
|
+
}
|
|
100
|
+
if (Array.isArray(value)) {
|
|
101
|
+
// Single-pass filter with map operation
|
|
102
|
+
const filtered = [];
|
|
103
|
+
for (const item of value) {
|
|
104
|
+
const filteredItem = filterCssVariables(item, depth + 1);
|
|
105
|
+
if (filteredItem !== undefined && !(typeof filteredItem === "object" && filteredItem !== null && Object.prototype.hasOwnProperty.call(filteredItem, _reactivity.VAR_SYMBOL))) {
|
|
106
|
+
filtered.push(filteredItem);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return filtered.length > 0 ? filtered : undefined;
|
|
110
|
+
}
|
|
111
|
+
if (typeof value === "object") {
|
|
112
|
+
// If the object itself has VAR_SYMBOL, filter it out (check own property only)
|
|
113
|
+
if (Object.prototype.hasOwnProperty.call(value, _reactivity.VAR_SYMBOL)) {
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Otherwise, filter VAR_SYMBOL properties from nested objects
|
|
118
|
+
const filtered = {};
|
|
119
|
+
let hasProperties = false;
|
|
120
|
+
|
|
121
|
+
// Use Object.keys to only iterate own string properties (not inherited, not Symbols)
|
|
122
|
+
// This intentionally filters out Symbol properties for React Native compatibility
|
|
123
|
+
for (const key of Object.keys(value)) {
|
|
124
|
+
const filteredValue = filterCssVariables(value[key], depth + 1);
|
|
125
|
+
if (filteredValue !== undefined) {
|
|
126
|
+
filtered[key] = filteredValue;
|
|
127
|
+
hasProperties = true;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return hasProperties ? filtered : undefined;
|
|
131
|
+
}
|
|
132
|
+
return value;
|
|
133
|
+
}
|
|
14
134
|
const stylesFamily = exports.stylesFamily = (0, _reactivity.family)((hash, rules) => {
|
|
15
135
|
const sortedRules = Array.from(rules).sort(_utilities.specificityCompareFn);
|
|
16
136
|
const obs = (0, _reactivity.observable)(read => (0, _calculateProps.calculateProps)(read, sortedRules));
|
|
@@ -66,9 +186,84 @@ function deepMergeConfig(config, left, right, rightIsInline = false) {
|
|
|
66
186
|
...left
|
|
67
187
|
};
|
|
68
188
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
189
|
+
|
|
190
|
+
// Handle style merging to support both className and inline style props
|
|
191
|
+
let result;
|
|
192
|
+
if (config.target) {
|
|
193
|
+
if (Array.isArray(config.target) && config.target.length === 1 && config.target[0] === "style") {
|
|
194
|
+
// Special handling for style target when we have inline styles
|
|
195
|
+
result = {
|
|
196
|
+
...left,
|
|
197
|
+
...right
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
// Handle null/undefined inline styles
|
|
201
|
+
if (right?.style === null || right?.style === undefined) {
|
|
202
|
+
if (left?.style) {
|
|
203
|
+
result.style = left.style;
|
|
204
|
+
}
|
|
205
|
+
} else if (rightIsInline && right?.style) {
|
|
206
|
+
// Filter inline styles if rightIsInline is true
|
|
207
|
+
const filteredRightStyle = filterCssVariables(right.style);
|
|
208
|
+
if (left?.style) {
|
|
209
|
+
if (!filteredRightStyle) {
|
|
210
|
+
// All inline styles were CSS variables, only use left
|
|
211
|
+
result.style = left.style;
|
|
212
|
+
} else {
|
|
213
|
+
const leftStyle = left.style;
|
|
214
|
+
|
|
215
|
+
// For arrays or objects, check if we need to create a style array
|
|
216
|
+
const leftIsObject = typeof leftStyle === "object" && !Array.isArray(leftStyle);
|
|
217
|
+
const rightIsObject = typeof filteredRightStyle === "object" && !Array.isArray(filteredRightStyle);
|
|
218
|
+
if (leftIsObject && rightIsObject) {
|
|
219
|
+
if (hasNonOverlappingProperties(leftStyle, filteredRightStyle)) {
|
|
220
|
+
result.style = [leftStyle, filteredRightStyle];
|
|
221
|
+
} else {
|
|
222
|
+
// All left properties are in right, right overrides
|
|
223
|
+
result.style = filteredRightStyle;
|
|
224
|
+
}
|
|
225
|
+
} else {
|
|
226
|
+
// One or both are arrays, merge them
|
|
227
|
+
result.style = [leftStyle, filteredRightStyle];
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
} else {
|
|
231
|
+
// No left style, just use filtered right
|
|
232
|
+
if (filteredRightStyle) {
|
|
233
|
+
result.style = filteredRightStyle;
|
|
234
|
+
} else {
|
|
235
|
+
// All filtered out, remove style prop
|
|
236
|
+
delete result.style;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
} else if (!rightIsInline && right?.style) {
|
|
240
|
+
// Merging non-inline styles (e.g., important styles)
|
|
241
|
+
if (left?.style) {
|
|
242
|
+
// If left.style is an array, append right.style
|
|
243
|
+
if (Array.isArray(left.style)) {
|
|
244
|
+
const combined = [...left.style, right.style];
|
|
245
|
+
result.style = flattenStyleArray(combined);
|
|
246
|
+
} else if (typeof left.style === "object" && typeof right.style === "object") {
|
|
247
|
+
// Both are objects, check for overlaps
|
|
248
|
+
if (hasNonOverlappingProperties(left.style, right.style)) {
|
|
249
|
+
result.style = flattenStyleArray([left.style, right.style]);
|
|
250
|
+
} else {
|
|
251
|
+
// All left properties are overridden by right
|
|
252
|
+
result.style = right.style;
|
|
253
|
+
}
|
|
254
|
+
} else {
|
|
255
|
+
// One or both are arrays/mixed types
|
|
256
|
+
const combined = [left.style, right.style];
|
|
257
|
+
result.style = flattenStyleArray(combined);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
} else {
|
|
262
|
+
result = Object.assign({}, left, right);
|
|
263
|
+
}
|
|
264
|
+
} else {
|
|
265
|
+
result = Object.assign({}, left, right);
|
|
266
|
+
}
|
|
72
267
|
if (right && rightIsInline && config.source in right && config.target !== config.source) {
|
|
73
268
|
delete result[config.source];
|
|
74
269
|
}
|
|
@@ -96,18 +291,8 @@ function deepMergeConfig(config, left, right, rightIsInline = false) {
|
|
|
96
291
|
let rightValue = right?.[target];
|
|
97
292
|
|
|
98
293
|
// Strip any inline variables from the target
|
|
99
|
-
if (rightIsInline && rightValue) {
|
|
100
|
-
|
|
101
|
-
rightValue = rightValue.filter(v => {
|
|
102
|
-
return typeof v !== "object" || !(v && _reactivity.VAR_SYMBOL in v);
|
|
103
|
-
});
|
|
104
|
-
if (rightValue.length === 0) {
|
|
105
|
-
rightValue = undefined;
|
|
106
|
-
}
|
|
107
|
-
} else if (typeof rightValue === "object" && rightValue && _reactivity.VAR_SYMBOL in rightValue) {
|
|
108
|
-
rightValue = undefined;
|
|
109
|
-
delete result[target][_reactivity.VAR_SYMBOL];
|
|
110
|
-
}
|
|
294
|
+
if (rightIsInline && rightValue !== undefined) {
|
|
295
|
+
rightValue = filterCssVariables(rightValue);
|
|
111
296
|
}
|
|
112
297
|
if (rightValue !== undefined) {
|
|
113
298
|
result[target] = left && target in left ? [left[target], rightValue] : rightValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utilities","require","_interaction","_reactivity","_calculateProps","stylesFamily","exports","family","hash","rules","sortedRules","Array","from","sort","specificityCompareFn","obs","observable","read","calculateProps","Object","assign","cleanup","effect","observers","delete","size","getStyledProps","state","inline","result","styledProps","stylesObs","get","styleEffect","config","configs","deepMergeConfig","nativeStyleMapping","normal","important","hoverFamily","has","ruleEffectGetter","onHoverIn","getInteractionHandler","onHoverOut","activeFamily","onPress","onPressIn","onPressOut","focusFamily","onBlur","onFocus","containerLayoutFamily","onLayout","left","right","rightIsInline","target","source","isArray","i","length","key","undefined","slice","rightValue","filter","v","VAR_SYMBOL","props","tokens","lastToken","pop","token","path","entries","styleValue","split"],"sourceRoot":"../../../../src","sources":["native/styles/index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_utilities","require","_interaction","_reactivity","_calculateProps","hasNonOverlappingProperties","left","right","key","Object","prototype","hasOwnProperty","call","flattenStyleArray","styleArray","item","Array","isArray","VAR_SYMBOL","reduce","acc","assign","filterCssVariables","value","depth","undefined","filtered","filteredItem","push","length","hasProperties","keys","filteredValue","stylesFamily","exports","family","hash","rules","sortedRules","from","sort","specificityCompareFn","obs","observable","read","calculateProps","cleanup","effect","observers","delete","size","getStyledProps","state","inline","result","styledProps","stylesObs","get","styleEffect","config","configs","deepMergeConfig","nativeStyleMapping","normal","important","hoverFamily","has","ruleEffectGetter","onHoverIn","getInteractionHandler","onHoverOut","activeFamily","onPress","onPressIn","onPressOut","focusFamily","onBlur","onFocus","containerLayoutFamily","onLayout","rightIsInline","target","style","filteredRightStyle","leftStyle","leftIsObject","rightIsObject","combined","source","i","slice","rightValue","props","tokens","lastToken","pop","token","path","entries","styleValue","split"],"sourceRoot":"../../../../src","sources":["native/styles/index.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/commonjs/web/api.js
CHANGED
|
@@ -15,7 +15,7 @@ const defaultMapping = {
|
|
|
15
15
|
};
|
|
16
16
|
const styled = (baseComponent, mapping = defaultMapping, _options) => {
|
|
17
17
|
return props => {
|
|
18
|
-
return useCssElement(baseComponent,
|
|
18
|
+
return useCssElement(baseComponent, props, mapping);
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
exports.styled = styled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_assignStyle","_jsxRuntime","defaultMapping","className","styled","baseComponent","mapping","_options","props","useCssElement","exports","component","incomingProps","key","value","Object","entries","source","target","assignStyle","$$css","split","createElement","colorScheme","get","Appearance","getColorScheme","set","name","setColorScheme","vars","variables","$variables","startsWith","toString","VariableContextProvider","style","useMemo","display","fromEntries","map","jsx","children","useNativeVariable","Error","useUnstableNativeVariable"],"sourceRoot":"../../../src","sources":["web/api.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,YAAA,GAAAD,OAAA;AAWA,IAAAE,YAAA,GAAAF,OAAA;AAA6C,IAAAG,WAAA,GAAAH,OAAA;AAE7C,MAAMI,cAAsE,GAAG;EAC7EC,SAAS,EAAE;AACb,CAAC;AAEM,MAAMC,MAAM,GAAGA,CAIpBC,aAAgB,EAChBC,OAAU,GAAGJ,cAAmB,EAChCK,QAAwB,KACrB;EACH,OAAQC,KAA+C,IAAK;IAC1D,OAAOC,aAAa,CAACJ,aAAa,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_assignStyle","_jsxRuntime","defaultMapping","className","styled","baseComponent","mapping","_options","props","useCssElement","exports","component","incomingProps","key","value","Object","entries","source","target","assignStyle","$$css","split","createElement","colorScheme","get","Appearance","getColorScheme","set","name","setColorScheme","vars","variables","$variables","startsWith","toString","VariableContextProvider","style","useMemo","display","fromEntries","map","jsx","children","useNativeVariable","Error","useUnstableNativeVariable"],"sourceRoot":"../../../src","sources":["web/api.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SafeAreaProvider"],"sourceRoot":"../../../src","sources":["components/SafeAreaProvider.tsx"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,4DAA4D","ignoreList":[]}
|
|
@@ -6,6 +6,127 @@ import { specificityCompareFn } from "react-native-css/utilities";
|
|
|
6
6
|
import { getInteractionHandler } from "../react/interaction.js";
|
|
7
7
|
import { activeFamily, containerLayoutFamily, family, focusFamily, hoverFamily, observable, VAR_SYMBOL } from "../reactivity.js";
|
|
8
8
|
import { calculateProps } from "./calculate-props.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Checks if the left style object has any properties that are not present in the right style object.
|
|
12
|
+
* This is used to determine if styles need to be preserved in an array or if right can completely override left.
|
|
13
|
+
*
|
|
14
|
+
* Note: This intentionally only checks one direction (left → right). We don't need to check if right has
|
|
15
|
+
* properties that left doesn't have, because right will always be applied/merged. The question we're
|
|
16
|
+
* answering is: "Does left have any properties that would be lost if we just used right?" If yes, we
|
|
17
|
+
* create a style array [left, right] to preserve both. If no, right can safely replace left entirely.
|
|
18
|
+
*
|
|
19
|
+
* @param left - The left style object to check
|
|
20
|
+
* @param right - The right style object to compare against
|
|
21
|
+
* @returns true if left has at least one property key that doesn't exist in right, false otherwise
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* hasNonOverlappingProperties({color: 'red', fontSize: 12}, {color: 'blue'}) // true - fontSize is not in right
|
|
25
|
+
* hasNonOverlappingProperties({color: 'red'}, {color: 'blue', fontSize: 12}) // false - all left keys exist in right
|
|
26
|
+
*/
|
|
27
|
+
function hasNonOverlappingProperties(left, right) {
|
|
28
|
+
// Null safety check
|
|
29
|
+
if (!left || !right) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Only check own properties to avoid prototype pollution
|
|
34
|
+
for (const key in left) {
|
|
35
|
+
if (Object.prototype.hasOwnProperty.call(left, key)) {
|
|
36
|
+
if (!Object.prototype.hasOwnProperty.call(right, key)) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Flattens a style array into a single object when possible, with rightmost values taking precedence.
|
|
46
|
+
* Returns the original array if it contains any non-plain objects, arrays, or CSS variable objects.
|
|
47
|
+
*
|
|
48
|
+
* Note: This function assumes the input array has already been filtered (e.g., by filterCssVariables),
|
|
49
|
+
* so empty arrays should not reach this function. If they do, they will be treated as non-flattenable.
|
|
50
|
+
*
|
|
51
|
+
* @param styleArray - The style array to potentially flatten
|
|
52
|
+
* @returns A single merged object if all items are plain objects, otherwise the original array
|
|
53
|
+
*/
|
|
54
|
+
function flattenStyleArray(styleArray) {
|
|
55
|
+
// Check if we can flatten to a single object (all items are plain objects)
|
|
56
|
+
for (const item of styleArray) {
|
|
57
|
+
// Use explicit null check instead of !item to allow falsy values like 0 or false
|
|
58
|
+
if (item == null || typeof item !== "object" || Array.isArray(item) || Object.prototype.hasOwnProperty.call(item, VAR_SYMBOL)) {
|
|
59
|
+
return styleArray;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Use reduce to avoid spread operator performance issues with large arrays
|
|
64
|
+
return styleArray.reduce((acc, item) => Object.assign(acc, item), {});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Recursively filters out CSS variable objects (with VAR_SYMBOL) from style values.
|
|
69
|
+
* This prevents CSS variable runtime objects from leaking into React Native component props.
|
|
70
|
+
*
|
|
71
|
+
* @param value - The value to filter (can be any type: object, array, primitive, etc.)
|
|
72
|
+
* @param depth - Internal recursion depth counter to prevent stack overflow (max 100)
|
|
73
|
+
* @returns The filtered value with CSS variables removed, or `undefined` if the entire value
|
|
74
|
+
* should be filtered out (e.g., empty arrays, objects with only VAR_SYMBOL properties)
|
|
75
|
+
*
|
|
76
|
+
* Filtering behavior:
|
|
77
|
+
* - Objects with VAR_SYMBOL property: returns `undefined` (completely filtered)
|
|
78
|
+
* - Arrays: filters out VAR_SYMBOL objects, returns `undefined` if empty after filtering
|
|
79
|
+
* - Objects: recursively filters properties, returns `undefined` if no properties remain
|
|
80
|
+
* - Primitives (null, undefined, numbers, strings, booleans): returned as-is
|
|
81
|
+
* - Symbol properties: intentionally filtered out for React Native compatibility
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* filterCssVariables({fontSize: 16, color: {[VAR_SYMBOL]: true}}) // {fontSize: 16}
|
|
85
|
+
* filterCssVariables([{margin: 10}, {[VAR_SYMBOL]: true}]) // [{margin: 10}]
|
|
86
|
+
* filterCssVariables({color: {[VAR_SYMBOL]: true}}) // undefined (all props filtered)
|
|
87
|
+
*/
|
|
88
|
+
function filterCssVariables(value, depth = 0) {
|
|
89
|
+
// Prevent stack overflow on deeply nested structures
|
|
90
|
+
if (depth > 100) {
|
|
91
|
+
return value;
|
|
92
|
+
}
|
|
93
|
+
if (value === null || value === undefined) {
|
|
94
|
+
return value;
|
|
95
|
+
}
|
|
96
|
+
if (Array.isArray(value)) {
|
|
97
|
+
// Single-pass filter with map operation
|
|
98
|
+
const filtered = [];
|
|
99
|
+
for (const item of value) {
|
|
100
|
+
const filteredItem = filterCssVariables(item, depth + 1);
|
|
101
|
+
if (filteredItem !== undefined && !(typeof filteredItem === "object" && filteredItem !== null && Object.prototype.hasOwnProperty.call(filteredItem, VAR_SYMBOL))) {
|
|
102
|
+
filtered.push(filteredItem);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return filtered.length > 0 ? filtered : undefined;
|
|
106
|
+
}
|
|
107
|
+
if (typeof value === "object") {
|
|
108
|
+
// If the object itself has VAR_SYMBOL, filter it out (check own property only)
|
|
109
|
+
if (Object.prototype.hasOwnProperty.call(value, VAR_SYMBOL)) {
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Otherwise, filter VAR_SYMBOL properties from nested objects
|
|
114
|
+
const filtered = {};
|
|
115
|
+
let hasProperties = false;
|
|
116
|
+
|
|
117
|
+
// Use Object.keys to only iterate own string properties (not inherited, not Symbols)
|
|
118
|
+
// This intentionally filters out Symbol properties for React Native compatibility
|
|
119
|
+
for (const key of Object.keys(value)) {
|
|
120
|
+
const filteredValue = filterCssVariables(value[key], depth + 1);
|
|
121
|
+
if (filteredValue !== undefined) {
|
|
122
|
+
filtered[key] = filteredValue;
|
|
123
|
+
hasProperties = true;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return hasProperties ? filtered : undefined;
|
|
127
|
+
}
|
|
128
|
+
return value;
|
|
129
|
+
}
|
|
9
130
|
export const stylesFamily = family((hash, rules) => {
|
|
10
131
|
const sortedRules = Array.from(rules).sort(specificityCompareFn);
|
|
11
132
|
const obs = observable(read => calculateProps(read, sortedRules));
|
|
@@ -61,9 +182,84 @@ function deepMergeConfig(config, left, right, rightIsInline = false) {
|
|
|
61
182
|
...left
|
|
62
183
|
};
|
|
63
184
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
185
|
+
|
|
186
|
+
// Handle style merging to support both className and inline style props
|
|
187
|
+
let result;
|
|
188
|
+
if (config.target) {
|
|
189
|
+
if (Array.isArray(config.target) && config.target.length === 1 && config.target[0] === "style") {
|
|
190
|
+
// Special handling for style target when we have inline styles
|
|
191
|
+
result = {
|
|
192
|
+
...left,
|
|
193
|
+
...right
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
// Handle null/undefined inline styles
|
|
197
|
+
if (right?.style === null || right?.style === undefined) {
|
|
198
|
+
if (left?.style) {
|
|
199
|
+
result.style = left.style;
|
|
200
|
+
}
|
|
201
|
+
} else if (rightIsInline && right?.style) {
|
|
202
|
+
// Filter inline styles if rightIsInline is true
|
|
203
|
+
const filteredRightStyle = filterCssVariables(right.style);
|
|
204
|
+
if (left?.style) {
|
|
205
|
+
if (!filteredRightStyle) {
|
|
206
|
+
// All inline styles were CSS variables, only use left
|
|
207
|
+
result.style = left.style;
|
|
208
|
+
} else {
|
|
209
|
+
const leftStyle = left.style;
|
|
210
|
+
|
|
211
|
+
// For arrays or objects, check if we need to create a style array
|
|
212
|
+
const leftIsObject = typeof leftStyle === "object" && !Array.isArray(leftStyle);
|
|
213
|
+
const rightIsObject = typeof filteredRightStyle === "object" && !Array.isArray(filteredRightStyle);
|
|
214
|
+
if (leftIsObject && rightIsObject) {
|
|
215
|
+
if (hasNonOverlappingProperties(leftStyle, filteredRightStyle)) {
|
|
216
|
+
result.style = [leftStyle, filteredRightStyle];
|
|
217
|
+
} else {
|
|
218
|
+
// All left properties are in right, right overrides
|
|
219
|
+
result.style = filteredRightStyle;
|
|
220
|
+
}
|
|
221
|
+
} else {
|
|
222
|
+
// One or both are arrays, merge them
|
|
223
|
+
result.style = [leftStyle, filteredRightStyle];
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
} else {
|
|
227
|
+
// No left style, just use filtered right
|
|
228
|
+
if (filteredRightStyle) {
|
|
229
|
+
result.style = filteredRightStyle;
|
|
230
|
+
} else {
|
|
231
|
+
// All filtered out, remove style prop
|
|
232
|
+
delete result.style;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
} else if (!rightIsInline && right?.style) {
|
|
236
|
+
// Merging non-inline styles (e.g., important styles)
|
|
237
|
+
if (left?.style) {
|
|
238
|
+
// If left.style is an array, append right.style
|
|
239
|
+
if (Array.isArray(left.style)) {
|
|
240
|
+
const combined = [...left.style, right.style];
|
|
241
|
+
result.style = flattenStyleArray(combined);
|
|
242
|
+
} else if (typeof left.style === "object" && typeof right.style === "object") {
|
|
243
|
+
// Both are objects, check for overlaps
|
|
244
|
+
if (hasNonOverlappingProperties(left.style, right.style)) {
|
|
245
|
+
result.style = flattenStyleArray([left.style, right.style]);
|
|
246
|
+
} else {
|
|
247
|
+
// All left properties are overridden by right
|
|
248
|
+
result.style = right.style;
|
|
249
|
+
}
|
|
250
|
+
} else {
|
|
251
|
+
// One or both are arrays/mixed types
|
|
252
|
+
const combined = [left.style, right.style];
|
|
253
|
+
result.style = flattenStyleArray(combined);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
} else {
|
|
258
|
+
result = Object.assign({}, left, right);
|
|
259
|
+
}
|
|
260
|
+
} else {
|
|
261
|
+
result = Object.assign({}, left, right);
|
|
262
|
+
}
|
|
67
263
|
if (right && rightIsInline && config.source in right && config.target !== config.source) {
|
|
68
264
|
delete result[config.source];
|
|
69
265
|
}
|
|
@@ -91,18 +287,8 @@ function deepMergeConfig(config, left, right, rightIsInline = false) {
|
|
|
91
287
|
let rightValue = right?.[target];
|
|
92
288
|
|
|
93
289
|
// Strip any inline variables from the target
|
|
94
|
-
if (rightIsInline && rightValue) {
|
|
95
|
-
|
|
96
|
-
rightValue = rightValue.filter(v => {
|
|
97
|
-
return typeof v !== "object" || !(v && VAR_SYMBOL in v);
|
|
98
|
-
});
|
|
99
|
-
if (rightValue.length === 0) {
|
|
100
|
-
rightValue = undefined;
|
|
101
|
-
}
|
|
102
|
-
} else if (typeof rightValue === "object" && rightValue && VAR_SYMBOL in rightValue) {
|
|
103
|
-
rightValue = undefined;
|
|
104
|
-
delete result[target][VAR_SYMBOL];
|
|
105
|
-
}
|
|
290
|
+
if (rightIsInline && rightValue !== undefined) {
|
|
291
|
+
rightValue = filterCssVariables(rightValue);
|
|
106
292
|
}
|
|
107
293
|
if (rightValue !== undefined) {
|
|
108
294
|
result[target] = left && target in left ? [left[target], rightValue] : rightValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["specificityCompareFn","getInteractionHandler","activeFamily","containerLayoutFamily","family","focusFamily","hoverFamily","observable","VAR_SYMBOL","calculateProps","stylesFamily","hash","rules","sortedRules","Array","from","sort","obs","read","Object","assign","cleanup","effect","observers","delete","size","getStyledProps","state","inline","result","styledProps","stylesObs","get","styleEffect","config","configs","deepMergeConfig","nativeStyleMapping","normal","important","has","ruleEffectGetter","onHoverIn","onHoverOut","onPress","onPressIn","onPressOut","onBlur","onFocus","onLayout","left","right","rightIsInline","target","source","isArray","i","length","key","undefined","slice","rightValue","filter","v","props","tokens","lastToken","pop","token","path","entries","styleValue","split"],"sourceRoot":"../../../../src","sources":["native/styles/index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["specificityCompareFn","getInteractionHandler","activeFamily","containerLayoutFamily","family","focusFamily","hoverFamily","observable","VAR_SYMBOL","calculateProps","hasNonOverlappingProperties","left","right","key","Object","prototype","hasOwnProperty","call","flattenStyleArray","styleArray","item","Array","isArray","reduce","acc","assign","filterCssVariables","value","depth","undefined","filtered","filteredItem","push","length","hasProperties","keys","filteredValue","stylesFamily","hash","rules","sortedRules","from","sort","obs","read","cleanup","effect","observers","delete","size","getStyledProps","state","inline","result","styledProps","stylesObs","get","styleEffect","config","configs","deepMergeConfig","nativeStyleMapping","normal","important","has","ruleEffectGetter","onHoverIn","onHoverOut","onPress","onPressIn","onPressOut","onBlur","onFocus","onLayout","rightIsInline","target","style","filteredRightStyle","leftStyle","leftIsObject","rightIsObject","combined","source","i","slice","rightValue","props","tokens","lastToken","pop","token","path","entries","styleValue","split"],"sourceRoot":"../../../../src","sources":["native/styles/index.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/module/web/api.js
CHANGED
|
@@ -9,7 +9,7 @@ const defaultMapping = {
|
|
|
9
9
|
};
|
|
10
10
|
export const styled = (baseComponent, mapping = defaultMapping, _options) => {
|
|
11
11
|
return props => {
|
|
12
|
-
return useCssElement(baseComponent,
|
|
12
|
+
return useCssElement(baseComponent, props, mapping);
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
export const useCssElement = (component, incomingProps, mapping) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createElement","useMemo","Appearance","assignStyle","jsx","_jsx","defaultMapping","className","styled","baseComponent","mapping","_options","props","useCssElement","component","incomingProps","key","value","Object","entries","source","target","$$css","split","colorScheme","get","getColorScheme","set","name","setColorScheme","vars","variables","$variables","startsWith","toString","VariableContextProvider","style","display","fromEntries","map","children","useNativeVariable","Error","useUnstableNativeVariable"],"sourceRoot":"../../../src","sources":["web/api.tsx"],"mappings":";;AAAA,SACEA,aAAa,EACbC,OAAO,QAIF,OAAO;AACd,SAASC,UAAU,QAAQ,cAAc;AAWzC,SAASC,WAAW,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7C,MAAMC,cAAsE,GAAG;EAC7EC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,MAAM,GAAGA,CAIpBC,aAAgB,EAChBC,OAAU,GAAGJ,cAAmB,EAChCK,QAAwB,KACrB;EACH,OAAQC,KAA+C,IAAK;IAC1D,OAAOC,aAAa,CAACJ,aAAa,
|
|
1
|
+
{"version":3,"names":["createElement","useMemo","Appearance","assignStyle","jsx","_jsx","defaultMapping","className","styled","baseComponent","mapping","_options","props","useCssElement","component","incomingProps","key","value","Object","entries","source","target","$$css","split","colorScheme","get","getColorScheme","set","name","setColorScheme","vars","variables","$variables","startsWith","toString","VariableContextProvider","style","display","fromEntries","map","children","useNativeVariable","Error","useUnstableNativeVariable"],"sourceRoot":"../../../src","sources":["web/api.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SafeAreaProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/SafeAreaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/native/styles/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAQL,KAAK,MAAM,EACX,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/native/styles/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAQL,KAAK,MAAM,EACX,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AAkJvB,eAAO,MAAM,YAAY;;;;;;;;;sBAaD,MAAM;;;;CAQ7B,CAAC;AAEF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,mCAiF/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SafeAreaProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/SafeAreaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/native/styles/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAQL,KAAK,MAAM,EACX,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/native/styles/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAQL,KAAK,MAAM,EACX,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AAkJvB,eAAO,MAAM,YAAY;;;;;;;;;sBAaD,MAAM;;;;CAQ7B,CAAC;AAEF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,mCAiF/C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-css",
|
|
3
|
-
"version": "0.0.0-nightly.
|
|
3
|
+
"version": "0.0.0-nightly.930095f",
|
|
4
4
|
"description": "A CSS polyfill for React Native",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -47,6 +47,18 @@
|
|
|
47
47
|
"types": "./dist/typescript/commonjs/src/components/index.d.ts"
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
|
+
"./components/react-native-safe-area-context": {
|
|
51
|
+
"source": "./src/components/react-native-safe-area-context.native.tsx",
|
|
52
|
+
"react-native": "./src/components/react-native-safe-area-context.native.tsx",
|
|
53
|
+
"import": {
|
|
54
|
+
"types": "./dist/typescript/module/src/components/react-native-safe-area-context.d.ts",
|
|
55
|
+
"default": "./dist/module/components/react-native-safe-area-context.js"
|
|
56
|
+
},
|
|
57
|
+
"require": {
|
|
58
|
+
"types": "./dist/typescript/commonjs/src/components/react-native-safe-area-context.d.ts",
|
|
59
|
+
"default": "./dist/commonjs/components/react-native-safe-area-context.js"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
50
62
|
"./components/*": {
|
|
51
63
|
"source": "./src/components/*.tsx",
|
|
52
64
|
"react-native": "./src/components/*.tsx",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SafeAreaProvider } from "react-native-css/components/react-native-safe-area-context";
|
|
@@ -17,6 +17,149 @@ import {
|
|
|
17
17
|
} from "../reactivity";
|
|
18
18
|
import { calculateProps } from "./calculate-props";
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Checks if the left style object has any properties that are not present in the right style object.
|
|
22
|
+
* This is used to determine if styles need to be preserved in an array or if right can completely override left.
|
|
23
|
+
*
|
|
24
|
+
* Note: This intentionally only checks one direction (left → right). We don't need to check if right has
|
|
25
|
+
* properties that left doesn't have, because right will always be applied/merged. The question we're
|
|
26
|
+
* answering is: "Does left have any properties that would be lost if we just used right?" If yes, we
|
|
27
|
+
* create a style array [left, right] to preserve both. If no, right can safely replace left entirely.
|
|
28
|
+
*
|
|
29
|
+
* @param left - The left style object to check
|
|
30
|
+
* @param right - The right style object to compare against
|
|
31
|
+
* @returns true if left has at least one property key that doesn't exist in right, false otherwise
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* hasNonOverlappingProperties({color: 'red', fontSize: 12}, {color: 'blue'}) // true - fontSize is not in right
|
|
35
|
+
* hasNonOverlappingProperties({color: 'red'}, {color: 'blue', fontSize: 12}) // false - all left keys exist in right
|
|
36
|
+
*/
|
|
37
|
+
function hasNonOverlappingProperties(
|
|
38
|
+
left: Record<string, any>,
|
|
39
|
+
right: Record<string, any>,
|
|
40
|
+
): boolean {
|
|
41
|
+
// Null safety check
|
|
42
|
+
if (!left || !right) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Only check own properties to avoid prototype pollution
|
|
47
|
+
for (const key in left) {
|
|
48
|
+
if (Object.prototype.hasOwnProperty.call(left, key)) {
|
|
49
|
+
if (!Object.prototype.hasOwnProperty.call(right, key)) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Flattens a style array into a single object when possible, with rightmost values taking precedence.
|
|
59
|
+
* Returns the original array if it contains any non-plain objects, arrays, or CSS variable objects.
|
|
60
|
+
*
|
|
61
|
+
* Note: This function assumes the input array has already been filtered (e.g., by filterCssVariables),
|
|
62
|
+
* so empty arrays should not reach this function. If they do, they will be treated as non-flattenable.
|
|
63
|
+
*
|
|
64
|
+
* @param styleArray - The style array to potentially flatten
|
|
65
|
+
* @returns A single merged object if all items are plain objects, otherwise the original array
|
|
66
|
+
*/
|
|
67
|
+
function flattenStyleArray(styleArray: any[]): any {
|
|
68
|
+
// Check if we can flatten to a single object (all items are plain objects)
|
|
69
|
+
for (const item of styleArray) {
|
|
70
|
+
// Use explicit null check instead of !item to allow falsy values like 0 or false
|
|
71
|
+
if (
|
|
72
|
+
item == null ||
|
|
73
|
+
typeof item !== "object" ||
|
|
74
|
+
Array.isArray(item) ||
|
|
75
|
+
Object.prototype.hasOwnProperty.call(item, VAR_SYMBOL)
|
|
76
|
+
) {
|
|
77
|
+
return styleArray;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Use reduce to avoid spread operator performance issues with large arrays
|
|
82
|
+
return styleArray.reduce((acc, item) => Object.assign(acc, item), {});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Recursively filters out CSS variable objects (with VAR_SYMBOL) from style values.
|
|
87
|
+
* This prevents CSS variable runtime objects from leaking into React Native component props.
|
|
88
|
+
*
|
|
89
|
+
* @param value - The value to filter (can be any type: object, array, primitive, etc.)
|
|
90
|
+
* @param depth - Internal recursion depth counter to prevent stack overflow (max 100)
|
|
91
|
+
* @returns The filtered value with CSS variables removed, or `undefined` if the entire value
|
|
92
|
+
* should be filtered out (e.g., empty arrays, objects with only VAR_SYMBOL properties)
|
|
93
|
+
*
|
|
94
|
+
* Filtering behavior:
|
|
95
|
+
* - Objects with VAR_SYMBOL property: returns `undefined` (completely filtered)
|
|
96
|
+
* - Arrays: filters out VAR_SYMBOL objects, returns `undefined` if empty after filtering
|
|
97
|
+
* - Objects: recursively filters properties, returns `undefined` if no properties remain
|
|
98
|
+
* - Primitives (null, undefined, numbers, strings, booleans): returned as-is
|
|
99
|
+
* - Symbol properties: intentionally filtered out for React Native compatibility
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* filterCssVariables({fontSize: 16, color: {[VAR_SYMBOL]: true}}) // {fontSize: 16}
|
|
103
|
+
* filterCssVariables([{margin: 10}, {[VAR_SYMBOL]: true}]) // [{margin: 10}]
|
|
104
|
+
* filterCssVariables({color: {[VAR_SYMBOL]: true}}) // undefined (all props filtered)
|
|
105
|
+
*/
|
|
106
|
+
function filterCssVariables(value: any, depth = 0): any | undefined {
|
|
107
|
+
// Prevent stack overflow on deeply nested structures
|
|
108
|
+
if (depth > 100) {
|
|
109
|
+
return value;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (value === null || value === undefined) {
|
|
113
|
+
return value;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (Array.isArray(value)) {
|
|
117
|
+
// Single-pass filter with map operation
|
|
118
|
+
const filtered: any[] = [];
|
|
119
|
+
|
|
120
|
+
for (const item of value) {
|
|
121
|
+
const filteredItem = filterCssVariables(item, depth + 1);
|
|
122
|
+
if (
|
|
123
|
+
filteredItem !== undefined &&
|
|
124
|
+
!(
|
|
125
|
+
typeof filteredItem === "object" &&
|
|
126
|
+
filteredItem !== null &&
|
|
127
|
+
Object.prototype.hasOwnProperty.call(filteredItem, VAR_SYMBOL)
|
|
128
|
+
)
|
|
129
|
+
) {
|
|
130
|
+
filtered.push(filteredItem);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return filtered.length > 0 ? filtered : undefined;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (typeof value === "object") {
|
|
138
|
+
// If the object itself has VAR_SYMBOL, filter it out (check own property only)
|
|
139
|
+
if (Object.prototype.hasOwnProperty.call(value, VAR_SYMBOL)) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Otherwise, filter VAR_SYMBOL properties from nested objects
|
|
144
|
+
const filtered: Record<string, any> = {};
|
|
145
|
+
let hasProperties = false;
|
|
146
|
+
|
|
147
|
+
// Use Object.keys to only iterate own string properties (not inherited, not Symbols)
|
|
148
|
+
// This intentionally filters out Symbol properties for React Native compatibility
|
|
149
|
+
for (const key of Object.keys(value)) {
|
|
150
|
+
const filteredValue = filterCssVariables(value[key], depth + 1);
|
|
151
|
+
if (filteredValue !== undefined) {
|
|
152
|
+
filtered[key] = filteredValue;
|
|
153
|
+
hasProperties = true;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return hasProperties ? filtered : undefined;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return value;
|
|
161
|
+
}
|
|
162
|
+
|
|
20
163
|
export const stylesFamily = family(
|
|
21
164
|
(
|
|
22
165
|
hash: string,
|
|
@@ -135,7 +278,92 @@ function deepMergeConfig(
|
|
|
135
278
|
return { ...left };
|
|
136
279
|
}
|
|
137
280
|
|
|
138
|
-
|
|
281
|
+
// Handle style merging to support both className and inline style props
|
|
282
|
+
let result: Record<string, any>;
|
|
283
|
+
if (config.target) {
|
|
284
|
+
if (
|
|
285
|
+
Array.isArray(config.target) &&
|
|
286
|
+
config.target.length === 1 &&
|
|
287
|
+
config.target[0] === "style"
|
|
288
|
+
) {
|
|
289
|
+
// Special handling for style target when we have inline styles
|
|
290
|
+
result = { ...left, ...right };
|
|
291
|
+
|
|
292
|
+
// Handle null/undefined inline styles
|
|
293
|
+
if (right?.style === null || right?.style === undefined) {
|
|
294
|
+
if (left?.style) {
|
|
295
|
+
result.style = left.style;
|
|
296
|
+
}
|
|
297
|
+
} else if (rightIsInline && right?.style) {
|
|
298
|
+
// Filter inline styles if rightIsInline is true
|
|
299
|
+
const filteredRightStyle = filterCssVariables(right.style);
|
|
300
|
+
|
|
301
|
+
if (left?.style) {
|
|
302
|
+
if (!filteredRightStyle) {
|
|
303
|
+
// All inline styles were CSS variables, only use left
|
|
304
|
+
result.style = left.style;
|
|
305
|
+
} else {
|
|
306
|
+
const leftStyle = left.style;
|
|
307
|
+
|
|
308
|
+
// For arrays or objects, check if we need to create a style array
|
|
309
|
+
const leftIsObject =
|
|
310
|
+
typeof leftStyle === "object" && !Array.isArray(leftStyle);
|
|
311
|
+
const rightIsObject =
|
|
312
|
+
typeof filteredRightStyle === "object" &&
|
|
313
|
+
!Array.isArray(filteredRightStyle);
|
|
314
|
+
|
|
315
|
+
if (leftIsObject && rightIsObject) {
|
|
316
|
+
if (hasNonOverlappingProperties(leftStyle, filteredRightStyle)) {
|
|
317
|
+
result.style = [leftStyle, filteredRightStyle];
|
|
318
|
+
} else {
|
|
319
|
+
// All left properties are in right, right overrides
|
|
320
|
+
result.style = filteredRightStyle;
|
|
321
|
+
}
|
|
322
|
+
} else {
|
|
323
|
+
// One or both are arrays, merge them
|
|
324
|
+
result.style = [leftStyle, filteredRightStyle];
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
} else {
|
|
328
|
+
// No left style, just use filtered right
|
|
329
|
+
if (filteredRightStyle) {
|
|
330
|
+
result.style = filteredRightStyle;
|
|
331
|
+
} else {
|
|
332
|
+
// All filtered out, remove style prop
|
|
333
|
+
delete result.style;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
} else if (!rightIsInline && right?.style) {
|
|
337
|
+
// Merging non-inline styles (e.g., important styles)
|
|
338
|
+
if (left?.style) {
|
|
339
|
+
// If left.style is an array, append right.style
|
|
340
|
+
if (Array.isArray(left.style)) {
|
|
341
|
+
const combined = [...left.style, right.style];
|
|
342
|
+
result.style = flattenStyleArray(combined);
|
|
343
|
+
} else if (
|
|
344
|
+
typeof left.style === "object" &&
|
|
345
|
+
typeof right.style === "object"
|
|
346
|
+
) {
|
|
347
|
+
// Both are objects, check for overlaps
|
|
348
|
+
if (hasNonOverlappingProperties(left.style, right.style)) {
|
|
349
|
+
result.style = flattenStyleArray([left.style, right.style]);
|
|
350
|
+
} else {
|
|
351
|
+
// All left properties are overridden by right
|
|
352
|
+
result.style = right.style;
|
|
353
|
+
}
|
|
354
|
+
} else {
|
|
355
|
+
// One or both are arrays/mixed types
|
|
356
|
+
const combined = [left.style, right.style];
|
|
357
|
+
result.style = flattenStyleArray(combined);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
} else {
|
|
362
|
+
result = Object.assign({}, left, right);
|
|
363
|
+
}
|
|
364
|
+
} else {
|
|
365
|
+
result = Object.assign({}, left, right);
|
|
366
|
+
}
|
|
139
367
|
|
|
140
368
|
if (
|
|
141
369
|
right &&
|
|
@@ -177,23 +405,8 @@ function deepMergeConfig(
|
|
|
177
405
|
let rightValue = right?.[target];
|
|
178
406
|
|
|
179
407
|
// Strip any inline variables from the target
|
|
180
|
-
if (rightIsInline && rightValue) {
|
|
181
|
-
|
|
182
|
-
rightValue = rightValue.filter((v) => {
|
|
183
|
-
return typeof v !== "object" || !(v && VAR_SYMBOL in v);
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
if (rightValue.length === 0) {
|
|
187
|
-
rightValue = undefined;
|
|
188
|
-
}
|
|
189
|
-
} else if (
|
|
190
|
-
typeof rightValue === "object" &&
|
|
191
|
-
rightValue &&
|
|
192
|
-
VAR_SYMBOL in rightValue
|
|
193
|
-
) {
|
|
194
|
-
rightValue = undefined;
|
|
195
|
-
delete result[target][VAR_SYMBOL];
|
|
196
|
-
}
|
|
408
|
+
if (rightIsInline && rightValue !== undefined) {
|
|
409
|
+
rightValue = filterCssVariables(rightValue);
|
|
197
410
|
}
|
|
198
411
|
|
|
199
412
|
if (rightValue !== undefined) {
|
package/src/web/api.tsx
CHANGED