Skip to content

Commit 5806b24

Browse files
committed
[fix] Use browser expansion of 'flex' style
Fix #1792
1 parent 1048f7c commit 5806b24

File tree

3 files changed

+12
-18
lines changed

3 files changed

+12
-18
lines changed

packages/react-native-web/src/exports/AppRegistry/__tests__/__snapshots__/index-test.js.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ input::-webkit-inner-spin-button,input::-webkit-outer-spin-button,input::-webkit
1111
[stylesheet-group=\\"1\\"]{}
1212
.css-view-1dbjc4n{-ms-flex-align:stretch;-ms-flex-direction:column;-ms-flex-negative:0;-ms-flex-preferred-size:auto;-webkit-align-items:stretch;-webkit-box-align:stretch;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-basis:auto;-webkit-flex-direction:column;-webkit-flex-shrink:0;align-items:stretch;border:0 solid black;box-sizing:border-box;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;flex-basis:auto;flex-direction:column;flex-shrink:0;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;min-height:0px;min-width:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;position:relative;z-index:0;}
1313
[stylesheet-group=\\"2\\"]{}
14-
.r-flex-13awgt0{-ms-flex-negative:1;-ms-flex-positive:1;-webkit-box-flex:1;-webkit-flex-grow:1;-webkit-flex-shrink:1;flex-grow:1;flex-shrink:1;}
14+
.r-flex-13awgt0{-ms-flex:1 1 0%;-webkit-flex:1;flex:1;}
1515
[stylesheet-group=\\"2.2\\"]{}
1616
.r-pointerEvents-12vffkv>*{pointer-events:auto;}
1717
.r-pointerEvents-12vffkv{pointer-events:none!important;}"

packages/react-native-web/src/exports/StyleSheet/__tests__/createReactDOMStyle-test.js

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,28 +43,26 @@ describe('StyleSheet/createReactDOMStyle', () => {
4343
test('flex: -1', () => {
4444
expect(createReactDOMStyle({ flex: -1 })).toEqual({
4545
flexGrow: 0,
46-
flexShrink: 1
46+
flexShrink: 1,
47+
flexBasis: 'auto'
4748
});
4849
});
4950

5051
test('flex: 0', () => {
5152
expect(createReactDOMStyle({ flex: 0 })).toEqual({
52-
flexGrow: 0,
53-
flexShrink: 0
53+
flex: 0
5454
});
5555
});
5656

5757
test('flex: 1', () => {
5858
expect(createReactDOMStyle({ flex: 1 })).toEqual({
59-
flexGrow: 1,
60-
flexShrink: 1
59+
flex: 1
6160
});
6261
});
6362

6463
test('flex: 10', () => {
6564
expect(createReactDOMStyle({ flex: 10 })).toEqual({
66-
flexGrow: 10,
67-
flexShrink: 1
65+
flex: 10
6866
});
6967
});
7068

@@ -76,8 +74,7 @@ describe('StyleSheet/createReactDOMStyle', () => {
7674

7775
// can flex-basis override the 'flex' expansion?
7876
expect(createReactDOMStyle({ flex: 1, flexBasis: '25%' })).toEqual({
79-
flexGrow: 1,
80-
flexShrink: 1,
77+
flex: 1,
8178
flexBasis: '25%'
8279
});
8380
});
@@ -90,7 +87,7 @@ describe('StyleSheet/createReactDOMStyle', () => {
9087

9188
// can flex-shrink override the 'flex' expansion?
9289
expect(createReactDOMStyle({ flex: 1, flexShrink: 2 })).toEqual({
93-
flexGrow: 1,
90+
flex: 1,
9491
flexShrink: 2
9592
});
9693
});

packages/react-native-web/src/exports/StyleSheet/createReactDOMStyle.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,12 @@ const createReactDOMStyle = style => {
101101
// The 'flex' property value in React Native must be a positive integer,
102102
// 0, or -1.
103103
case 'flex': {
104-
if (value > 0) {
105-
resolvedStyle.flexGrow = value;
106-
resolvedStyle.flexShrink = 1;
107-
} else if (value === 0) {
108-
resolvedStyle.flexGrow = 0;
109-
resolvedStyle.flexShrink = 0;
110-
} else if (value === -1) {
104+
if (value === -1) {
111105
resolvedStyle.flexGrow = 0;
112106
resolvedStyle.flexShrink = 1;
107+
resolvedStyle.flexBasis = 'auto';
108+
} else {
109+
resolvedStyle.flex = value;
113110
}
114111
break;
115112
}

0 commit comments

Comments
 (0)