@sproutsocial/racine 8.8.0-beta-shadows.0 → 8.8.0-dar35-beta.0

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/__flow__/Breadcrumb/styles.js +0 -5
  3. package/__flow__/Button/styles.js +1 -1
  4. package/__flow__/Card/styles.js +1 -1
  5. package/__flow__/Drawer/styles.js +1 -1
  6. package/__flow__/KeyboardKey/styles.js +1 -1
  7. package/__flow__/Menu/index.stories.js +1 -1
  8. package/__flow__/Modal/__snapshots__/index.test.js.snap +1 -1
  9. package/__flow__/Modal/styles.js +1 -1
  10. package/__flow__/Popout/index.js +1 -1
  11. package/__flow__/Tooltip/index.js +1 -1
  12. package/__flow__/themes/_themes.scss +140 -0
  13. package/__flow__/themes/dark/theme.js +158 -171
  14. package/__flow__/themes/default/theme.js +8 -7
  15. package/__flow__/types/system-props.flow.js +2 -1
  16. package/commonjs/Breadcrumb/styles.js +1 -1
  17. package/commonjs/Button/styles.js +1 -1
  18. package/commonjs/Card/styles.js +1 -1
  19. package/commonjs/Drawer/styles.js +1 -1
  20. package/commonjs/KeyboardKey/styles.js +1 -1
  21. package/commonjs/Modal/styles.js +1 -1
  22. package/commonjs/Popout/index.js +1 -1
  23. package/commonjs/Tooltip/index.js +1 -1
  24. package/commonjs/themes/dark/theme.js +156 -171
  25. package/commonjs/themes/default/theme.js +7 -7
  26. package/dist/themes/_themes.scss +140 -0
  27. package/dist/themes/dark.scss +10 -11
  28. package/dist/themes/default.scss +14 -9
  29. package/lib/Breadcrumb/styles.js +1 -1
  30. package/lib/Button/styles.js +1 -1
  31. package/lib/Card/styles.js +1 -1
  32. package/lib/Drawer/styles.js +1 -1
  33. package/lib/KeyboardKey/styles.js +1 -1
  34. package/lib/Modal/styles.js +1 -1
  35. package/lib/Popout/index.js +1 -1
  36. package/lib/Tooltip/index.js +1 -1
  37. package/lib/themes/dark/theme.js +155 -167
  38. package/lib/themes/default/theme.js +7 -7
  39. package/package.json +2 -2
@@ -85,9 +85,10 @@ $default: (
85
85
  500: 1px
86
86
  ),
87
87
  shadows: (
88
- low: 0px 2px 4px rgba(39,51,51,.24) #2733333D,
89
- medium: 0px 8px 16px rgba(39,51,51,.24) #2733333D,
90
- high: 0px 16px 32px rgba(39,51,51,.24) #2733333D
88
+ 100: 0px 2px 4px rgba(39,51,51,.24),
89
+ 200: 0px 4px 8px rgba(39,51,51,.24),
90
+ 300: 0px 8px 16px rgba(39,51,51,.24),
91
+ 400: 0px 16px 32px rgba(39,51,51,.24)
91
92
  ),
92
93
  easing: (
93
94
  ease_in: cubic-bezier(.4, 0, .7, .2),
@@ -274,9 +275,6 @@ $default: (
274
275
  selected: #364141
275
276
  )
276
277
  ),
277
- elevation: (
278
- base: #2733333D
279
- ),
280
278
  network: (
281
279
  twitter: #1da1f2,
282
280
  twitter_like: #e0245e,
@@ -670,9 +668,16 @@ $default: (
670
668
  500: 1px
671
669
  ),
672
670
  shadows: (
673
- low: 0px 2px 4px rgba(39,51,51,.24) #2733333D,
674
- medium: 0px 8px 16px rgba(39,51,51,.24) #2733333D,
675
- high: 0px 16px 32px rgba(39,51,51,.24) #2733333D
671
+ 100: 0px 2px 4px rgba(39,51,51,.24),
672
+ 200: 0px 4px 8px rgba(39,51,51,.24),
673
+ 300: 0px 8px 16px rgba(39,51,51,.24),
674
+ 400: 0px 16px 32px rgba(39,51,51,.24),
675
+ shadows: (
676
+ 100: 0px 2px 4px rgba(39,51,51,.24),
677
+ 200: 0px 4px 8px rgba(39,51,51,.24),
678
+ 300: 0px 8px 16px rgba(39,51,51,.24),
679
+ 400: 0px 16px 32px rgba(39,51,51,.24)
680
+ )
676
681
  ),
677
682
  easing: (
678
683
  ease_in: cubic-bezier(.4, 0, .7, .2),
@@ -2,7 +2,7 @@ import styled from "styled-components";
2
2
  var Nav = styled.nav.withConfig({
3
3
  displayName: "styles__Nav",
4
4
  componentId: "sc-1ub1apc-0"
5
- })(["ol{", ";margin:0;font-family:", ";padding:0;display:flex;}li{margin-right:", ";display:flex;}a,button{", ";max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;&:not(.overflow--menu){margin:0;padding:0;}}ol > div + li::before{content:\"/\";margin-right:", ";}li:last-child a,li:last-child button{color:", ";font-weight:bold;}li:not(:last-child) a,li:not(:last-child) button{font-weight:normal;}li:not(:last-child)::after{content:\"/\";color:", ";margin-left:", ";}"], function (props) {
5
+ })(["ol{", ";margin:0;font-family:", ";padding:0;display:flex;}li{margin-right:", ";display:flex;}a,button{", ";max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;&:not(.overflow--menu){margin:0;padding:0;}}ol > div + li::before{content:\"/\";margin-right:", ";}li:last-child a,li:last-child button{color:", ";font-weight:bold;}li:not(:last-child)::after{content:\"/\";color:", ";margin-left:", ";}"], function (props) {
6
6
  return props.theme.typography[200];
7
7
  }, function (props) {
8
8
  return props.theme.fontFamily;
@@ -32,7 +32,7 @@ var Container = styled.button.withConfig({
32
32
  }, function (props) {
33
33
  return props.theme.colors.button[props.appearance].background.hover;
34
34
  }, function (props) {
35
- return props.appearance === "placeholder" ? props.theme.shadows.low : "none";
35
+ return props.appearance === "placeholder" ? props.theme.shadows[100] : "none";
36
36
  }, function (props) {
37
37
  return props.theme.colors.button[props.appearance].text.hover;
38
38
  }, function (props) {
@@ -9,7 +9,7 @@ var Container = styled(Box).withConfig({
9
9
  }, function (props) {
10
10
  return props.theme.radii[500];
11
11
  }, function (props) {
12
- return props.theme.shadows.low;
12
+ return props.theme.shadows[100];
13
13
  }, function (props) {
14
14
  return props.theme.duration.medium;
15
15
  }, function (props) {
@@ -13,7 +13,7 @@ var Container = styled.div.withConfig({
13
13
  }, function (props) {
14
14
  return props.theme.colors.container.background.base;
15
15
  }, function (props) {
16
- return props.theme.shadows.high;
16
+ return props.theme.shadows[400];
17
17
  }, function (props) {
18
18
  return css(["", ":", "px;"], props.direction, props.offset);
19
19
  }, COMMON);
@@ -12,7 +12,7 @@ var Container = styled.div.withConfig({
12
12
  }, function (props) {
13
13
  return props.theme.radii[500];
14
14
  }, function (props) {
15
- return props.theme.shadows.low;
15
+ return props.theme.shadows[100];
16
16
  }, function (props) {
17
17
  return props.theme.space[200];
18
18
  }, COMMON);
@@ -53,7 +53,7 @@ export var Container = styled(ReactModalAdapter).withConfig({
53
53
  }, function (props) {
54
54
  return props.theme.radii[500];
55
55
  }, function (props) {
56
- return props.theme.shadows.medium;
56
+ return props.theme.shadows[300];
57
57
  }, function (props) {
58
58
  return props.theme.colors.text.body;
59
59
  }, BODY_PADDING, BODY_PADDING, BODY_PADDING, width, COMMON);
@@ -267,7 +267,7 @@ Popout.Content = function (_ref4) {
267
267
  border: 500,
268
268
  borderColor: "container.border.base",
269
269
  borderRadius: "outer",
270
- boxShadow: "medium",
270
+ boxShadow: 300,
271
271
  p: 400,
272
272
  m: 300
273
273
  }, rest), children);
@@ -118,7 +118,7 @@ var Content = function Content(_ref2) {
118
118
  m: 200,
119
119
  color: "text.body",
120
120
  bg: "container.background.base",
121
- boxShadow: "medium",
121
+ boxShadow: 300,
122
122
  border: 500,
123
123
  borderColor: "container.border.base" // $FlowIssue - upgrade v0.112.0
124
124
 
@@ -1,201 +1,189 @@
1
1
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
3
  import COLORS from "@sproutsocial/seeds-color";
4
- import DEPTH from "@sproutsocial/seeds-depth";
5
4
  import defaultTheme from "../default/theme";
6
5
  import { datavizPalette } from "./dataviz-palette";
7
6
  import { green, blue, purple, yellow, orange, red, neutral } from "./decorative-palettes";
8
- export var shadows = {
9
- low: DEPTH.ELEVATION_LEVEL_100 + " " + COLORS.COLOR_NEUTRAL_1100 + "FF",
10
- medium: DEPTH.ELEVATION_LEVEL_300 + " " + COLORS.COLOR_NEUTRAL_1100 + "FF",
11
- high: DEPTH.ELEVATION_LEVEL_400 + " " + COLORS.COLOR_NEUTRAL_1100 + "FF"
12
- };
13
7
 
14
- var colors = _extends({}, defaultTheme.colors, {
15
- app: {
16
- background: {
17
- base: COLORS.COLOR_NEUTRAL_1000
18
- }
19
- },
20
- container: {
21
- background: {
22
- base: COLORS.COLOR_NEUTRAL_900,
23
- success: green.background,
24
- warning: yellow.background,
25
- error: red.background,
26
- info: blue.background,
27
- opportunity: purple.background,
28
- danger: red.background,
29
- decorative: {
30
- green: green.background,
31
- blue: blue.background,
32
- purple: purple.background,
33
- yellow: yellow.background,
34
- orange: orange.background,
35
- red: red.background,
36
- neutral: neutral.background
37
- },
38
- selected: COLORS.COLOR_NEUTRAL_0
39
- },
40
- border: {
41
- base: COLORS.COLOR_NEUTRAL_1100,
42
- success: green.highlight,
43
- warning: yellow.highlight,
44
- error: red.highlight,
45
- danger: red.highlight,
46
- info: blue.highlight,
47
- opportunity: purple.highlight,
48
- decorative: {
49
- green: green.highlight,
50
- blue: blue.highlight,
51
- purple: purple.highlight,
52
- yellow: yellow.highlight,
53
- orange: orange.highlight,
54
- red: red.highlight,
55
- neutral: neutral.highlight
56
- },
57
- selected: COLORS.COLOR_NEUTRAL_0
58
- }
59
- },
60
- button: {
61
- primary: {
8
+ var darkTheme = _extends({}, defaultTheme, {
9
+ colors: _extends({}, defaultTheme.colors, {
10
+ app: {
62
11
  background: {
63
- base: COLORS.COLOR_BLUE_400,
64
- hover: COLORS.COLOR_BLUE_300,
65
- active: COLORS.COLOR_BLUE_200
66
- },
67
- border: {
68
- base: "transparent"
69
- },
70
- text: {
71
- base: COLORS.COLOR_NEUTRAL_900,
72
- hover: COLORS.COLOR_NEUTRAL_1000
12
+ base: COLORS.COLOR_NEUTRAL_1000
73
13
  }
74
14
  },
75
- secondary: {
15
+ container: {
76
16
  background: {
77
- base: "transparent",
78
- hover: COLORS.COLOR_NEUTRAL_100,
79
- active: COLORS.COLOR_NEUTRAL_0
17
+ base: COLORS.COLOR_NEUTRAL_900,
18
+ success: green.background,
19
+ warning: yellow.background,
20
+ error: red.background,
21
+ info: blue.background,
22
+ opportunity: purple.background,
23
+ danger: red.background,
24
+ decorative: {
25
+ green: green.background,
26
+ blue: blue.background,
27
+ purple: purple.background,
28
+ yellow: yellow.background,
29
+ orange: orange.background,
30
+ red: red.background,
31
+ neutral: neutral.background
32
+ },
33
+ selected: COLORS.COLOR_NEUTRAL_0
80
34
  },
81
35
  border: {
82
- base: COLORS.COLOR_NEUTRAL_0
83
- },
84
- text: {
85
- base: COLORS.COLOR_NEUTRAL_0,
86
- hover: COLORS.COLOR_NEUTRAL_800
36
+ base: COLORS.COLOR_NEUTRAL_1100,
37
+ success: green.highlight,
38
+ warning: yellow.highlight,
39
+ error: red.highlight,
40
+ danger: red.highlight,
41
+ info: blue.highlight,
42
+ opportunity: purple.highlight,
43
+ decorative: {
44
+ green: green.highlight,
45
+ blue: blue.highlight,
46
+ purple: purple.highlight,
47
+ yellow: yellow.highlight,
48
+ orange: orange.highlight,
49
+ red: red.highlight,
50
+ neutral: neutral.highlight
51
+ },
52
+ selected: COLORS.COLOR_NEUTRAL_0
87
53
  }
88
54
  },
89
- pill: {
90
- background: {
91
- base: "transparent",
92
- hover: COLORS.COLOR_NEUTRAL_1000,
93
- active: COLORS.COLOR_NEUTRAL_900
55
+ button: {
56
+ primary: {
57
+ background: {
58
+ base: COLORS.COLOR_BLUE_400,
59
+ hover: COLORS.COLOR_BLUE_300,
60
+ active: COLORS.COLOR_BLUE_200
61
+ },
62
+ border: {
63
+ base: "transparent"
64
+ },
65
+ text: {
66
+ base: COLORS.COLOR_NEUTRAL_900,
67
+ hover: COLORS.COLOR_NEUTRAL_1000
68
+ }
94
69
  },
95
- border: {
96
- base: "transparent"
70
+ secondary: {
71
+ background: {
72
+ base: "transparent",
73
+ hover: COLORS.COLOR_NEUTRAL_100,
74
+ active: COLORS.COLOR_NEUTRAL_0
75
+ },
76
+ border: {
77
+ base: COLORS.COLOR_NEUTRAL_0
78
+ },
79
+ text: {
80
+ base: COLORS.COLOR_NEUTRAL_0,
81
+ hover: COLORS.COLOR_NEUTRAL_800
82
+ }
97
83
  },
98
- text: {
99
- base: COLORS.COLOR_NEUTRAL_100,
100
- hover: COLORS.COLOR_NEUTRAL_0
101
- }
102
- },
103
- destructive: {
104
- background: {
105
- base: COLORS.COLOR_RED_400,
106
- hover: COLORS.COLOR_RED_300,
107
- active: COLORS.COLOR_RED_200
84
+ pill: {
85
+ background: {
86
+ base: "transparent",
87
+ hover: COLORS.COLOR_NEUTRAL_1000,
88
+ active: COLORS.COLOR_NEUTRAL_900
89
+ },
90
+ border: {
91
+ base: "transparent"
92
+ },
93
+ text: {
94
+ base: COLORS.COLOR_NEUTRAL_100,
95
+ hover: COLORS.COLOR_NEUTRAL_0
96
+ }
108
97
  },
109
- border: {
110
- base: "transparent"
98
+ destructive: {
99
+ background: {
100
+ base: COLORS.COLOR_RED_400,
101
+ hover: COLORS.COLOR_RED_300,
102
+ active: COLORS.COLOR_RED_200
103
+ },
104
+ border: {
105
+ base: "transparent"
106
+ },
107
+ text: {
108
+ base: COLORS.COLOR_NEUTRAL_900,
109
+ hover: COLORS.COLOR_NEUTRAL_1000
110
+ }
111
111
  },
112
- text: {
113
- base: COLORS.COLOR_NEUTRAL_900,
114
- hover: COLORS.COLOR_NEUTRAL_1000
112
+ placeholder: {
113
+ background: {
114
+ base: "transparent",
115
+ hover: COLORS.COLOR_NEUTRAL_1100,
116
+ active: COLORS.COLOR_NEUTRAL_1100
117
+ },
118
+ border: {
119
+ base: COLORS.COLOR_NEUTRAL_500
120
+ },
121
+ text: {
122
+ base: COLORS.COLOR_BLUE_400,
123
+ hover: COLORS.COLOR_BLUE_300
124
+ }
125
+ },
126
+ unstyled: {
127
+ background: {
128
+ base: "transparent"
129
+ },
130
+ border: {
131
+ base: "transparent"
132
+ },
133
+ text: {
134
+ base: COLORS.COLOR_NEUTRAL_300,
135
+ hover: COLORS.COLOR_NEUTRAL_200
136
+ }
115
137
  }
116
138
  },
117
- placeholder: {
139
+ link: {
140
+ base: COLORS.COLOR_BLUE_400,
141
+ hover: COLORS.COLOR_BLUE_300
142
+ },
143
+ text: {
144
+ headline: COLORS.COLOR_NEUTRAL_0,
145
+ subtext: COLORS.COLOR_NEUTRAL_300,
146
+ body: COLORS.COLOR_NEUTRAL_100,
147
+ inverse: COLORS.COLOR_NEUTRAL_900,
148
+ error: COLORS.COLOR_RED_400
149
+ },
150
+ icon: {
151
+ base: COLORS.COLOR_NEUTRAL_100,
152
+ inverse: COLORS.COLOR_NEUTRAL_900,
153
+ success: green.foreground,
154
+ warning: yellow.foreground,
155
+ error: red.foreground,
156
+ danger: red.foreground,
157
+ info: blue.foreground,
158
+ opportunity: purple.foreground
159
+ },
160
+ form: {
118
161
  background: {
119
- base: "transparent",
120
- hover: COLORS.COLOR_NEUTRAL_1100,
121
- active: COLORS.COLOR_NEUTRAL_1100
162
+ base: COLORS.COLOR_NEUTRAL_900,
163
+ selected: COLORS.COLOR_NEUTRAL_0
122
164
  },
123
165
  border: {
124
- base: COLORS.COLOR_NEUTRAL_500
166
+ base: COLORS.COLOR_NEUTRAL_500,
167
+ error: red.highlight,
168
+ warning: yellow.highlight,
169
+ selected: COLORS.COLOR_NEUTRAL_0
125
170
  },
126
- text: {
127
- base: COLORS.COLOR_BLUE_400,
128
- hover: COLORS.COLOR_BLUE_300
171
+ placeholder: {
172
+ base: COLORS.COLOR_NEUTRAL_500
129
173
  }
130
174
  },
131
- unstyled: {
175
+ listItem: {
132
176
  background: {
133
- base: "transparent"
134
- },
135
- border: {
136
- base: "transparent"
137
- },
138
- text: {
139
- base: COLORS.COLOR_NEUTRAL_300,
140
- hover: COLORS.COLOR_NEUTRAL_200
177
+ base: "transparent",
178
+ hover: COLORS.COLOR_NEUTRAL_800,
179
+ selected: COLORS.COLOR_NEUTRAL_0
141
180
  }
142
- }
143
- },
144
- link: {
145
- base: COLORS.COLOR_BLUE_400,
146
- hover: COLORS.COLOR_BLUE_300
147
- },
148
- text: {
149
- headline: COLORS.COLOR_NEUTRAL_0,
150
- subtext: COLORS.COLOR_NEUTRAL_300,
151
- body: COLORS.COLOR_NEUTRAL_100,
152
- inverse: COLORS.COLOR_NEUTRAL_900,
153
- error: COLORS.COLOR_RED_400
154
- },
155
- icon: {
156
- base: COLORS.COLOR_NEUTRAL_100,
157
- inverse: COLORS.COLOR_NEUTRAL_900,
158
- success: green.foreground,
159
- warning: yellow.foreground,
160
- error: red.foreground,
161
- danger: red.foreground,
162
- info: blue.foreground,
163
- opportunity: purple.foreground
164
- },
165
- form: {
166
- background: {
167
- base: COLORS.COLOR_NEUTRAL_900,
168
- selected: COLORS.COLOR_NEUTRAL_0
169
181
  },
170
- border: {
171
- base: COLORS.COLOR_NEUTRAL_500,
172
- error: red.highlight,
173
- warning: yellow.highlight,
174
- selected: COLORS.COLOR_NEUTRAL_0
175
- },
176
- placeholder: {
177
- base: COLORS.COLOR_NEUTRAL_500
178
- }
179
- },
180
- listItem: {
181
- background: {
182
- base: "transparent",
183
- hover: COLORS.COLOR_NEUTRAL_800,
184
- selected: COLORS.COLOR_NEUTRAL_0
182
+ dataviz: {
183
+ map: datavizPalette.DATAVIZ_COLORS_MAP,
184
+ list: datavizPalette.DATAVIZ_COLORS_LIST
185
185
  }
186
- },
187
- elevation: {
188
- base: COLORS.COLOR_NEUTRAL_1100
189
- },
190
- dataviz: {
191
- map: datavizPalette.DATAVIZ_COLORS_MAP,
192
- list: datavizPalette.DATAVIZ_COLORS_LIST
193
- }
194
- }, datavizPalette);
195
-
196
- var darkTheme = _extends({}, defaultTheme, {
197
- colors: colors,
198
- shadows: shadows,
186
+ }, datavizPalette),
199
187
  mode: "dark"
200
188
  });
201
189
 
@@ -185,9 +185,6 @@ var colors = _extends({
185
185
  selected: COLORS.COLOR_NEUTRAL_800
186
186
  }
187
187
  },
188
- elevation: {
189
- base: COLORS.COLOR_NEUTRAL_900 + "3D"
190
- },
191
188
  network: {
192
189
  twitter: NETWORKCOLORS.NETWORK_COLOR_TWITTER,
193
190
  twitter_like: NETWORKCOLORS.NETWORK_COLOR_TWITTER_LIKE,
@@ -269,9 +266,10 @@ export var borderWidths = {
269
266
  "500": BORDER.BORDER_WIDTH_500
270
267
  };
271
268
  export var shadows = {
272
- low: DEPTH.ELEVATION_LEVEL_100 + " " + COLORS.COLOR_NEUTRAL_900 + "3D",
273
- medium: DEPTH.ELEVATION_LEVEL_300 + " " + COLORS.COLOR_NEUTRAL_900 + "3D",
274
- high: DEPTH.ELEVATION_LEVEL_400 + " " + COLORS.COLOR_NEUTRAL_900 + "3D"
269
+ "100": DEPTH.ELEVATION_LEVEL_100,
270
+ "200": DEPTH.ELEVATION_LEVEL_200,
271
+ "300": DEPTH.ELEVATION_LEVEL_300,
272
+ "400": DEPTH.ELEVATION_LEVEL_400
275
273
  };
276
274
  export var easing = {
277
275
  ease_in: MOTION.MOTION_EASE_IN,
@@ -304,7 +302,9 @@ var theme = {
304
302
  }),
305
303
  borders: borders,
306
304
  borderWidths: borderWidths,
307
- shadows: shadows,
305
+ shadows: _extends({}, shadows, {
306
+ shadows: shadows
307
+ }),
308
308
  easing: easing,
309
309
  duration: duration
310
310
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sproutsocial/racine",
3
- "version": "8.8.0-beta-shadows.0",
3
+ "version": "8.8.0-dar35-beta.0",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "__flow__",
@@ -92,7 +92,7 @@
92
92
  "@reach/component-component": "^0.1.3",
93
93
  "@sproutsocial/seeds-border": "^1.1.0",
94
94
  "@sproutsocial/seeds-color": "^1.5.3",
95
- "@sproutsocial/seeds-depth": "^2.0.0",
95
+ "@sproutsocial/seeds-depth": "^1.1.1",
96
96
  "@sproutsocial/seeds-motion": "^1.2.0",
97
97
  "@sproutsocial/seeds-networkcolor": "^2.9.0",
98
98
  "@sproutsocial/seeds-space": "^0.4.7",