@@ -53,43 +53,16 @@ function getStyles(
5353 {
5454 display : "flex" ,
5555 } ,
56- margin && spacingToStyles ( theme , "margin" , margin ) ,
57- padding && spacingToStyles ( theme , "padding" , padding ) ,
56+ typeof margin === "string" && { margin : theme . spacing [ margin ] } ,
57+ Array . isArray ( margin ) && {
58+ marginVertical : theme . spacing [ margin [ 0 ] ] ,
59+ marginHorizontal : theme . spacing [ margin [ 1 ] ] ,
60+ } ,
61+ typeof padding === "string" && { padding : theme . spacing [ padding ] } ,
62+ Array . isArray ( padding ) && {
63+ paddingVertical : theme . spacing [ padding [ 0 ] ] ,
64+ paddingHorizontal : theme . spacing [ padding [ 1 ] ] ,
65+ } ,
5866 ] ) ,
5967 } )
6068}
61-
62- function spacingToStyles (
63- theme : Theme ,
64- property : "margin" | "padding" ,
65- value : ThemeMargin | ThemePadding ,
66- ) : ViewStyle {
67- if ( typeof value === "string" ) {
68- return {
69- [ property ] : theme . spacing [ value ] ,
70- }
71- }
72-
73- if ( value . length === 1 ) {
74- return {
75- [ property ] : theme . spacing [ value [ 0 ] ] ,
76- }
77- }
78-
79- if ( value . length === 2 ) {
80- return {
81- [ `${ property } Vertical` ] : theme . spacing [ value [ 0 ] ] ,
82- [ `${ property } Horizontal` ] : theme . spacing [ value [ 1 ] ] ,
83- }
84- }
85-
86- if ( value . length === 3 ) {
87- return {
88- [ `${ property } Top` ] : theme . spacing [ value [ 0 ] ] ,
89- [ `${ property } Horizontal` ] : theme . spacing [ value [ 1 ] ] ,
90- [ `${ property } Bottom` ] : theme . spacing [ value [ 2 ] ] ,
91- }
92- }
93-
94- throw new Error ( `Invalid spacing value: ${ value } ` )
95- }
0 commit comments