Skip to main content

StyleXStylesWithout<>

Allow any styles except for keys defined in the provided object type. It works similarly to the Omit<> utility type.

import type {StyleXStylesWithout} from '@stylexjs/stylex';

type Props = {
// ...
style?: StyleXStylesWithout<{
position: unknown,
display: unknown,
top: unknown,
start: unknown,
end: unknown,
bottom: unknown,
border: unknown,
borderWidth: unknown,
borderBottomWidth: unknown,
borderEndWidth: unknown,
borderStartWidth: unknown,
borderTopWidth: unknown,
margin: unknown,
marginBottom: unknown,
marginEnd: unknown,
marginStart: unknown,
marginTop: unknown,
padding: unknown,
paddingBottom: unknown,
paddingEnd: unknown,
paddingStart: unknown,
paddingTop: unknown,
width: unknown,
height: unknown,
flexBasis: unknown,
overflow: unknown,
overflowX: unknown,
overflowY: unknown,
}>,
};

This type will disallow all the keys which are known to cause layout changes, but will continue to allow all other style properties.