fix(app): keep inline style marker web-only
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
/**
|
||||||
|
* Native does not use Unistyles' web CSS registry, and native Unistyles treats
|
||||||
|
* any `unistyles_*` key as a registered style hash. The web marker would crash
|
||||||
|
* native ref binding, so native keeps these dynamic styles as plain RN styles.
|
||||||
|
*/
|
||||||
|
export function inlineUnistylesStyle<TStyle extends object>(style: TStyle): TStyle {
|
||||||
|
return style;
|
||||||
|
}
|
||||||
@@ -1,23 +1,3 @@
|
|||||||
const UNISTYLES_INLINE_STYLE_KEY = "unistyles_inline_style";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Forces a style object through Unistyles' inline/animated-style lane.
|
|
||||||
*
|
|
||||||
* Unistyles web sends ordinary style objects to the CSS registry. Styles that
|
|
||||||
* look like animated styles stay in React Native's style array instead. Use
|
|
||||||
* this only for high-churn values, such as measured dimensions, drag
|
|
||||||
* transforms, and pressed/hovered state.
|
|
||||||
*/
|
|
||||||
export function inlineUnistylesStyle<TStyle extends object>(style: TStyle): TStyle {
|
export function inlineUnistylesStyle<TStyle extends object>(style: TStyle): TStyle {
|
||||||
if (!Object.isExtensible(style) || UNISTYLES_INLINE_STYLE_KEY in style) {
|
|
||||||
return style;
|
|
||||||
}
|
|
||||||
|
|
||||||
Object.defineProperty(style, UNISTYLES_INLINE_STYLE_KEY, {
|
|
||||||
value: {},
|
|
||||||
enumerable: true,
|
|
||||||
configurable: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
return style;
|
return style;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
const UNISTYLES_INLINE_STYLE_KEY = "unistyles_inline_style";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Forces a style object through Unistyles' inline/animated-style lane.
|
||||||
|
*
|
||||||
|
* Unistyles web sends ordinary style objects to the CSS registry. Styles that
|
||||||
|
* look like animated styles stay in React Native's style array instead. Use
|
||||||
|
* this only for high-churn values, such as measured dimensions, drag
|
||||||
|
* transforms, and pressed/hovered state.
|
||||||
|
*/
|
||||||
|
export function inlineUnistylesStyle<TStyle extends object>(style: TStyle): TStyle {
|
||||||
|
if (!Object.isExtensible(style) || UNISTYLES_INLINE_STYLE_KEY in style) {
|
||||||
|
return style;
|
||||||
|
}
|
||||||
|
|
||||||
|
Object.defineProperty(style, UNISTYLES_INLINE_STYLE_KEY, {
|
||||||
|
value: {},
|
||||||
|
enumerable: true,
|
||||||
|
configurable: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
return style;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user