@automattic/vip-design-system 0.7.0 → 0.9.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 (121) hide show
  1. package/.eslines.json +10 -0
  2. package/.eslintignore +7 -0
  3. package/.eslintrc.json +23 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +22 -0
  5. package/.github/workflows/codeql-analysis.yml +71 -0
  6. package/.github/workflows/nodejs.yaml +29 -0
  7. package/.prettierrc +9 -0
  8. package/.storybook/preview.js +8 -7
  9. package/README.md +52 -2
  10. package/babel.config.js +10 -10
  11. package/build/system/Avatar/Avatar.js +6 -2
  12. package/build/system/Avatar/Avatar.test.js +54 -0
  13. package/build/system/Badge/Badge.js +2 -2
  14. package/build/system/BlankState/BlankState.js +5 -4
  15. package/build/system/Button/Button.js +5 -1
  16. package/build/system/Card/Card.js +8 -5
  17. package/build/system/Code/Code.js +4 -4
  18. package/build/system/ConfirmationDialog/ConfirmationDialog.js +2 -2
  19. package/build/system/Dialog/Dialog.js +3 -0
  20. package/build/system/Dialog/DialogButton.js +2 -4
  21. package/build/system/Dialog/DialogContent.js +5 -5
  22. package/build/system/Form/Checkbox.js +52 -5
  23. package/build/system/Form/InlineSelect.js +32 -16
  24. package/build/system/Form/Input.js +9 -6
  25. package/build/system/Form/Label.js +2 -2
  26. package/build/system/Form/RadioBoxGroup.js +101 -0
  27. package/build/system/Form/SearchSelect.js +36 -56
  28. package/build/system/Form/Select.js +3 -3
  29. package/build/system/Form/Textarea.js +9 -6
  30. package/build/system/Form/Toggle.js +1 -1
  31. package/build/system/Form/ToggleGroup.js +78 -0
  32. package/build/system/Form/ToggleRow.js +6 -5
  33. package/build/system/Form/Validation.js +4 -4
  34. package/build/system/Form/index.js +8 -0
  35. package/build/system/Notice/Notice.js +58 -54
  36. package/build/system/Notification/Notification.js +4 -4
  37. package/build/system/OptionRow/OptionRow.js +12 -11
  38. package/build/system/ResourceList/ResourceItem.js +89 -0
  39. package/build/system/ResourceList/ResourceList.js +121 -0
  40. package/build/system/ResourceList/index.js +11 -0
  41. package/build/system/Table/TableRow.js +2 -2
  42. package/build/system/Tabs/TabItem.js +3 -3
  43. package/build/system/Tabs/Tabs.js +1 -1
  44. package/build/system/Time/index.js +91 -0
  45. package/build/system/Tooltip/Tooltip.js +49 -47
  46. package/build/system/Wizard/WizardStep.js +5 -5
  47. package/build/system/Wizard/WizardStepHorizontal.js +2 -2
  48. package/build/system/index.js +9 -2
  49. package/build/system/theme/colors.js +235 -131
  50. package/build/system/theme/index.js +140 -107
  51. package/package.json +48 -11
  52. package/src/system/Avatar/Avatar.js +6 -2
  53. package/src/system/Avatar/Avatar.stories.js +0 -5
  54. package/src/system/Avatar/Avatar.test.js +31 -0
  55. package/src/system/Badge/Badge.js +3 -3
  56. package/src/system/Badge/Badge.stories.js +0 -5
  57. package/src/system/BlankState/BlankState.js +5 -5
  58. package/src/system/BlankState/BlankState.stories.js +0 -5
  59. package/src/system/Box/Box.stories.js +0 -5
  60. package/src/system/Button/Button.js +6 -2
  61. package/src/system/Card/Card.js +6 -4
  62. package/src/system/Card/Card.stories.js +0 -5
  63. package/src/system/Code/Code.js +4 -4
  64. package/src/system/Code/Code.stories.js +4 -1
  65. package/src/system/ConfirmationDialog/ConfirmationDialog.js +2 -2
  66. package/src/system/ConfirmationDialog/ConfirmationDialog.stories.js +0 -5
  67. package/src/system/Dialog/Dialog.js +1 -1
  68. package/src/system/Dialog/Dialog.stories.js +0 -5
  69. package/src/system/Dialog/DialogButton.js +2 -3
  70. package/src/system/Dialog/DialogContent.js +17 -4
  71. package/src/system/Flex/Flex.stories.js +0 -5
  72. package/src/system/Form/Checkbox.js +44 -2
  73. package/src/system/Form/InlineSelect.js +30 -15
  74. package/src/system/Form/Input.js +6 -4
  75. package/src/system/Form/Input.stories.js +0 -5
  76. package/src/system/Form/Label.js +2 -2
  77. package/src/system/Form/RadioBoxGroup.js +68 -0
  78. package/src/system/Form/RadioBoxGroup.stories.js +37 -0
  79. package/src/system/Form/SearchSelect.js +35 -42
  80. package/src/system/Form/Select.js +18 -18
  81. package/src/system/Form/Select.stories.js +1 -1
  82. package/src/system/Form/Textarea.js +6 -4
  83. package/src/system/Form/Toggle.js +1 -1
  84. package/src/system/Form/ToggleGroup.js +63 -0
  85. package/src/system/Form/ToggleGroup.stories.js +34 -0
  86. package/src/system/Form/ToggleRow.js +5 -5
  87. package/src/system/Form/Validation.js +2 -2
  88. package/src/system/Form/index.js +3 -1
  89. package/src/system/Grid/Grid.stories.js +0 -5
  90. package/src/system/Heading/Heading.stories.js +0 -5
  91. package/src/system/Link/Link.stories.js +0 -5
  92. package/src/system/Notice/Notice.js +33 -28
  93. package/src/system/Notification/Notification.js +6 -6
  94. package/src/system/Notification/Notification.stories.js +0 -5
  95. package/src/system/OptionRow/OptionRow.js +37 -32
  96. package/src/system/OptionRow/OptionRow.stories.js +0 -5
  97. package/src/system/Progress/Progress.stories.js +0 -5
  98. package/src/system/ResourceList/ResourceItem.js +66 -0
  99. package/src/system/ResourceList/ResourceList.js +96 -0
  100. package/src/system/ResourceList/ResourceList.stories.js +300 -0
  101. package/src/system/ResourceList/index.js +7 -0
  102. package/src/system/Spinner/Spinner.stories.js +0 -5
  103. package/src/system/Table/Table.stories.js +0 -5
  104. package/src/system/Table/TableRow.js +3 -3
  105. package/src/system/Tabs/TabItem.js +3 -3
  106. package/src/system/Tabs/Tabs.js +1 -1
  107. package/src/system/Tabs/Tabs.stories.js +0 -5
  108. package/src/system/Text/Text.stories.js +0 -5
  109. package/src/system/{Timeline/Timeline.stories.js → Time/Time.stories.js} +5 -5
  110. package/src/system/Time/index.js +62 -0
  111. package/src/system/Tooltip/Tooltip.js +40 -35
  112. package/src/system/Tooltip/Tooltip.stories.js +0 -5
  113. package/src/system/Wizard/Wizard.js +7 -7
  114. package/src/system/Wizard/WizardStep.js +10 -10
  115. package/src/system/Wizard/WizardStepHorizontal.js +3 -3
  116. package/src/system/index.js +29 -4
  117. package/src/system/theme/colors.js +233 -129
  118. package/src/system/theme/index.js +298 -256
  119. package/test/setupAfterEnv.js +13 -0
  120. package/test/setupTests.js +4 -0
  121. package/src/system/Timeline/index.js +0 -40
@@ -1,261 +1,303 @@
1
1
  /**
2
2
  * Internal dependencies
3
3
  */
4
- import colors from './colors';
4
+ import { light, dark } from './colors';
5
5
 
6
- export default {
7
- initialColorModeName: 'light',
8
- space: [ 0, 4, 8, 16, 32, 64, 128, 256, 512 ],
9
- fonts: {
10
- body:
11
- '"SF Pro Text", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
12
- heading: 'inherit',
13
- monospace: '"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace',
14
- },
15
- fontSizes: [ 11, 13, 15, 20, 32, 48, 56, 64, 96 ],
16
- fontWeights: {
17
- body: 400,
18
- heading: 500,
19
- bold: 600,
20
- },
21
- lineHeights: {
22
- body: 1.6,
23
- heading: 1.125,
24
- },
25
- sizes: {
26
- sidebar: 260,
27
- },
28
- radii: [ 0, 3, 5 ],
29
- colors: {
30
- text: colors.grey[ '70' ],
31
- heading: colors.grey[ '100' ],
32
- background: colors.brand[ '0' ],
33
- backgroundSecondary: colors.brand[ '3' ],
34
- primary: colors.brand[ '50' ],
35
- secondary: '#30c',
36
- muted: colors.grey[ '60' ],
37
- link: colors.brand[ '70' ],
38
- card: '#fefefe',
39
- border: colors.brand[ '7' ],
40
- hover: 'rgba(0,0,0,.025)',
41
- lightenBackground: 'rgba(255,255,255,.5)',
42
- placeholder: colors.grey[ '40' ],
43
- midnight: '#13191E',
44
- modes: {
45
- dark: {
46
- text: colors.grey[ '30' ],
47
- heading: colors.grey[ '10' ],
48
- background: colors.grey[ '90' ],
49
- backgroundSecondary: colors.grey[ '80' ],
50
- lightenBackground: 'rgba(0,0,0,.1)',
51
- primary: colors.brand[ '50' ],
52
- muted: colors.grey[ '40' ],
53
- link: colors.brand[ '30' ],
54
- card: colors.grey[ '80' ],
55
- placeholder: colors.grey[ '70' ],
56
- border: 'rgba(255,255,255,.08)',
57
- hover: 'rgba(255,255,255,.02)',
58
- midnight: colors.grey[ '90' ],
59
- },
60
- },
61
- ...colors,
62
- },
63
- shadows: {
64
- low:
65
- // eslint-disable-next-line max-len
66
- '0px 0.11069px 0.193708px rgba(0, 0, 0, 0.0196802), 0px 0.266004px 0.465507px rgba(0, 0, 0, 0.0282725), 0px 0.500862px 0.876509px rgba(0, 0, 0, 0.035), 0px 0.893452px 1.56354px rgba(0, 0, 0, 0.0417275), 0px 1.6711px 2.92443px rgba(0, 0, 0, 0.0503198), 0px 4px 7px rgba(0, 0, 0, 0.07)',
67
- medium:
68
- // eslint-disable-next-line max-len
69
- '0px 1.97961px 2.21381px rgba(0, 0, 0, 0.0196802), 0px 4.36146px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 7.34273px 10.0172px rgba(0, 0, 0, 0.035), 0px 11.2752px 17.869px rgba(0, 0, 0, 0.0417275), 0px 16.7372px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 24px 80px rgba(0, 0, 0, 0.07)',
70
- high:
71
- // eslint-disable-next-line max-len
72
- '0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802), 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035), 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275), 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 100px 80px rgba(0, 0, 0, 0.07)',
73
- },
74
- cards: {
75
- primary: {
76
- padding: 3,
77
- borderRadius: 2,
78
- backgroundColor: 'card',
79
- boxShadow: 'low',
80
- },
81
- secondary: {
82
- borderRadius: 2,
83
- p: 3,
84
- boxShadow: 'none',
85
- border: '1px solid',
86
- borderColor: 'border',
87
- },
88
- indent: {
89
- borderRadius: 2,
90
- p: 3,
91
- boxShadow: 'none',
92
- backgroundColor: 'backgroundSecondary',
93
- },
94
- },
6
+ const textStyles = {
7
+ h1: {
8
+ fontSize: 5,
9
+ marginBottom: 3,
10
+ letterSpacing: '-.02em',
11
+ fontWeight: 'body',
12
+ fontFamily: 'serif',
13
+ color: 'heading',
14
+ },
15
+ h2: {
16
+ fontSize: 4,
17
+ marginBottom: 2,
18
+ letterSpacing: '-.005em',
19
+ fontWeight: 400,
20
+ color: 'heading',
21
+ },
22
+ h3: {
23
+ fontSize: 3,
24
+ marginBottom: 3,
25
+ letterSpacing: '-.005em',
26
+ lineHeight: 1.4,
27
+ fontWeight: 'heading',
28
+ color: 'heading',
29
+ },
30
+ h4: {
31
+ fontSize: 2,
32
+ marginBottom: 1,
33
+ lineHeight: 1.5,
34
+ fontWeight: 'heading',
35
+ color: 'heading',
36
+ },
37
+ h5: {
38
+ fontSize: 1,
39
+ marginBottom: 1,
40
+ lineHeight: 1.5,
41
+ fontWeight: 'heading',
42
+ color: 'heading',
43
+ },
44
+ caps: {
45
+ fontSize: 1,
46
+ marginBottom: 2,
47
+ textTransform: 'uppercase',
48
+ color: 'muted',
49
+ fontWeight: 'bold',
50
+ letterSpacing: '.05em',
51
+ },
52
+ };
95
53
 
96
- buttons: {
97
- primary: {
98
- // you can reference other values defined in the theme
99
- color: 'white',
100
- bg: colors.brand[ '70' ],
101
- cursor: 'pointer',
102
- fontWeight: 'heading',
103
- boxShadow: 'low',
104
- borderRadius: 1,
105
- border: '1px solid transparent',
106
- svg: { position: 'relative', top: '0.125em' },
107
- '&:hover, &:focus': {
108
- backgroundColor: 'brand.80',
109
- color: 'white',
110
- },
111
- },
112
- danger: {
113
- // you can reference other values defined in the theme
114
- variant: 'buttons.primary',
115
- bg: colors.red[ '70' ],
116
- '&:hover, &:focus': {
117
- backgroundColor: 'red.80',
118
- },
119
- },
120
- secondary: {
121
- color: 'inherit',
122
- cursor: 'pointer',
123
- boxShadow: 'none',
124
- borderRadius: 1,
125
- backgroundColor: 'backgroundSecondary',
126
- svg: { position: 'relative', top: '0.125em' },
127
- '&:hover, &:focus': {
128
- bg: 'brand.7',
129
- },
130
- },
131
- text: {
132
- background: 'none',
133
- boxShadow: 'none',
134
- color: 'link',
135
- cursor: 'pointer',
136
- fontWeight: 'heading',
137
- '&:hover, &:focus': {
138
- color: 'heading',
139
- backgroundColor: 'hover',
140
- },
141
- },
142
- icon: {
143
- background: 'none',
144
- boxShadow: 'none',
145
- color: 'text',
146
- cursor: 'pointer',
147
- fontWeight: 'heading',
148
- padding: 1,
149
- svg: {
150
- display: 'block',
151
- },
152
- '&:hover, &:focus': {
153
- backgroundColor: 'border',
154
- },
155
- },
156
- },
157
- links: {
158
- dark: {
159
- color: 'modes.dark.muted',
160
- '&:hover': { color: 'modes.dark.heading' },
161
- },
162
- hover: {
163
- display: 'block',
164
- color: 'inherit',
165
- py: 1,
166
- px: 2,
167
- my: -1,
168
- mx: -2,
169
- borderRadius: 2,
170
- '&:hover': {
171
- backgroundColor: 'hover',
172
- },
173
- },
174
- },
175
- text: {
176
- h1: {
177
- fontSize: 5,
178
- marginBottom: 3,
179
- letterSpacing: '-.02em',
180
- fontWeight: 'heading',
181
- },
182
- h2: {
183
- fontSize: 4,
184
- marginBottom: 2,
185
- letterSpacing: '-.005em',
186
- fontWeight: 400,
187
- },
188
- h3: {
189
- fontSize: 3,
190
- marginBottom: 3,
191
- letterSpacing: '-.005em',
192
- lineHeight: 1.25,
193
- fontWeight: 'heading',
194
- },
195
- h4: {
196
- fontSize: 2,
197
- marginBottom: 1,
198
- lineHeight: 1.5,
199
- fontWeight: 'heading',
200
- },
201
- h5: {
202
- fontSize: 1,
203
- marginBottom: 1,
204
- lineHeight: 1.5,
205
- fontWeight: 'body',
206
- },
207
- caps: {
208
- fontSize: 1,
209
- marginBottom: 2,
210
- textTransform: 'uppercase',
211
- color: 'muted',
212
- fontWeight: 'bold',
213
- letterSpacing: '.05em',
214
- },
215
- },
216
- dialog: {
217
- modal: {
218
- position: 'fixed',
219
- top: '10vh',
220
- left: '50%',
221
- maxWidth: '90%',
222
- },
223
- sidebar: {
224
- position: 'fixed',
225
- top: '0',
226
- height: '100vh',
227
- left: '0',
228
- overflow: 'auto',
229
- margin: 0,
230
- borderRadius: 0,
231
- backgroundColor: 'background',
232
- },
233
- cover: {
234
- position: 'fixed',
235
- backgroundColor: 'background',
236
- width: '100%',
237
- left: 0,
238
- top: 0,
239
- height: '100vh',
240
- transform: 'none',
241
- borderRadius: 0,
242
- opacity: 0.97,
243
- },
244
- },
245
- styles: {
246
- root: {
247
- fontFamily: 'body',
248
- lineHeight: 'body',
249
- fontWeight: 'body',
250
- letterSpacing: '-.011em',
251
- fontSize: 2,
252
- color: 'text',
253
- backgroundColor: 'background',
254
- 'WebkitFontSmoothing': 'antialiased',
255
- 'MozOsxFontSmoothing': 'grayscale',
256
- svg: {
257
- fill: 'currentColor',
258
- },
259
- },
260
- },
261
- };
54
+ export default {
55
+ space: [ 0, 4, 8, 16, 32, 64, 128, 256, 512 ],
56
+ fonts: {
57
+ body:
58
+ 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
59
+ heading: 'inherit',
60
+ monospace: '"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace',
61
+ serif: 'recoletaregular, Georgia, serif',
62
+ },
63
+ fontSizes: [ 10, 12, 14, 19, 32, 40, 56, 64, 96 ],
64
+ fontWeights: {
65
+ body: 400,
66
+ heading: 500,
67
+ bold: 600,
68
+ },
69
+ lineHeights: {
70
+ body: 1.6,
71
+ heading: 1.125,
72
+ },
73
+ sizes: {
74
+ sidebar: 260,
75
+ },
76
+ radii: [ 0, 5, 10 ],
77
+ config: {
78
+ useColorSchemeMediaQuery: false,
79
+ },
80
+ initialColorModeName: 'light',
81
+ colors: {
82
+ text: light.grey[ '90' ],
83
+ heading: light.grey[ '100' ],
84
+ background: '#fdfdfd',
85
+ backgroundSecondary: light.grey[ '10' ],
86
+ primary: light.brand[ '70' ],
87
+ secondary: '#30c',
88
+ muted: light.grey[ '90' ],
89
+ link: light.brand[ '90' ],
90
+ card: '#fff',
91
+ border: light.grey[ '20' ],
92
+ hover: 'rgba(0,0,0,.02)',
93
+ lightenBackground: 'rgba(255,255,255,.5)',
94
+ darken: 'rgba(0,0,0,.05)',
95
+ placeholder: light.grey[ '70' ],
96
+ midnight: '#13191E',
97
+ navigationStart: light.grey[ '5' ],
98
+ navigationEnd: light.grey[ '5' ],
99
+ success: light.green[ '90' ],
100
+ error: light.red[ '90' ],
101
+ warning: light.yellow[ '90' ],
102
+ dialog: light.grey[ '0' ],
103
+ backgroundMuted: light.grey[ '5' ],
104
+ ...light,
105
+ modes: {
106
+ dark: {
107
+ text: dark.grey[ '90' ],
108
+ heading: dark.grey[ '100' ],
109
+ background: dark.grey[ '5' ],
110
+ backgroundSecondary: dark.grey[ '10' ],
111
+ primary: light.brand[ '70' ],
112
+ secondary: '#30c',
113
+ muted: dark.grey[ '90' ],
114
+ link: dark.brand[ '90' ],
115
+ card: dark.grey[ '20' ],
116
+ placeholder: dark.grey[ '70' ],
117
+ border: dark.grey[ '30' ],
118
+ hover: 'rgba(255,255,255,.02)',
119
+ midnight: dark.grey[ '90' ],
120
+ navigationStart: dark.grey[ '5' ],
121
+ navigationEnd: dark.grey[ '5' ],
122
+ success: dark.green[ '90' ],
123
+ error: dark.red[ '90' ],
124
+ warning: dark.yellow[ '90' ],
125
+ dialog: dark.grey[ '40' ],
126
+ backgroundMuted: dark.grey[ '10' ],
127
+ ...dark,
128
+ },
129
+ },
130
+ },
131
+ shadows: {
132
+ low: '0px 1px 5px rgba(0, 0, 0, 0.05), 0px 1px 1px rgba(0, 0, 0, 0.15)',
133
+ medium:
134
+ // eslint-disable-next-line max-len
135
+ '0px 15px 30px rgba(0, 0, 0, 0.07), 0px 1px 2px rgba(0, 0, 0, 0.03)',
136
+ high:
137
+ // eslint-disable-next-line max-len
138
+ '0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802), 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035), 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275), 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 100px 80px rgba(0, 0, 0, 0.07)',
139
+ },
140
+ cards: {
141
+ primary: {
142
+ padding: 3,
143
+ borderRadius: 2,
144
+ backgroundColor: 'card',
145
+ boxShadow: 'low',
146
+ },
147
+ secondary: {
148
+ borderRadius: 2,
149
+ p: 3,
150
+ boxShadow: 'none',
151
+ border: '1px solid',
152
+ borderColor: 'border',
153
+ },
154
+ indent: {
155
+ borderRadius: 2,
156
+ p: 3,
157
+ boxShadow: 'none',
158
+ backgroundColor: 'backgroundMuted',
159
+ },
160
+ },
161
+
162
+ buttons: {
163
+ primary: {
164
+ // you can reference other values defined in the theme
165
+ color: 'grey.0',
166
+ bg: 'grey.100',
167
+ cursor: 'pointer',
168
+ fontWeight: 'bold',
169
+ boxShadow: 'none',
170
+ borderRadius: 1,
171
+ border: '1px solid transparent',
172
+ '&:hover, &:focus': {
173
+ backgroundColor: 'grey.90',
174
+ color: 'grey.0',
175
+ },
176
+ },
177
+ border: {
178
+ background: 'none',
179
+ border: '1px solid',
180
+ borderColor: 'border',
181
+ cursor: 'pointer',
182
+ display: 'inline-flex',
183
+ alignItems: 'center',
184
+ color: 'text',
185
+ '&:hover': {
186
+ bg: 'hover',
187
+ },
188
+ },
189
+ danger: {
190
+ // you can reference other values defined in the theme
191
+ variant: 'buttons.primary',
192
+ bg: 'red.70',
193
+ '&:hover, &:focus': {
194
+ backgroundColor: 'red.80',
195
+ },
196
+ },
197
+ secondary: {
198
+ color: 'text',
199
+ cursor: 'pointer',
200
+ boxShadow: 'none',
201
+ fontWeight: 'heading',
202
+ borderRadius: 1,
203
+ bg: 'grey.10',
204
+ '&:hover, &:focus': {
205
+ color: 'grey.100',
206
+ bg: 'grey.20',
207
+ },
208
+ },
209
+ text: {
210
+ background: 'none',
211
+ boxShadow: 'none',
212
+ color: 'link',
213
+ cursor: 'pointer',
214
+ fontWeight: 'heading',
215
+ '&:hover, &:focus': {
216
+ color: 'heading',
217
+ backgroundColor: 'hover',
218
+ },
219
+ },
220
+ icon: {
221
+ background: 'none',
222
+ boxShadow: 'none',
223
+ color: 'text',
224
+ cursor: 'pointer',
225
+ fontWeight: 'heading',
226
+ padding: 1,
227
+ '&:hover, &:focus': {
228
+ backgroundColor: 'border',
229
+ },
230
+ },
231
+ },
232
+ links: {
233
+ dark: {
234
+ color: 'modes.dark.muted',
235
+ '&:hover': { color: 'modes.dark.heading' },
236
+ },
237
+ hover: {
238
+ display: 'block',
239
+ color: 'inherit',
240
+ py: 1,
241
+ px: 2,
242
+ my: -1,
243
+ mx: -2,
244
+ borderRadius: 2,
245
+ '&:hover': {
246
+ backgroundColor: 'hover',
247
+ },
248
+ },
249
+ },
250
+ text: textStyles,
251
+ dialog: {
252
+ modal: {
253
+ position: 'fixed',
254
+ top: '10vh',
255
+ left: '50%',
256
+ maxWidth: '90%',
257
+ backgroundColor: 'background',
258
+ boxShadow: 'high',
259
+ },
260
+ sidebar: {
261
+ position: 'fixed',
262
+ top: '0',
263
+ height: '100vh',
264
+ left: '0',
265
+ overflow: 'auto',
266
+ margin: 0,
267
+ borderRadius: 0,
268
+ boxShadow: 'high',
269
+ backgroundColor: 'background',
270
+ },
271
+ cover: {
272
+ position: 'fixed',
273
+ backgroundColor: 'background',
274
+ width: '100%',
275
+ left: 0,
276
+ top: 0,
277
+ height: '100vh',
278
+ transform: 'none',
279
+ borderRadius: 0,
280
+ opacity: 0.97,
281
+ },
282
+ },
283
+ styles: {
284
+ root: {
285
+ fontFamily: 'body',
286
+ lineHeight: 'body',
287
+ fontWeight: 'body',
288
+ fontSize: 2,
289
+ color: 'text',
290
+ backgroundColor: 'background',
291
+ '-webkit-font-smoothing': 'antialiased',
292
+ '-moz-osx-font-smoothing': 'grayscale',
293
+ svg: {
294
+ fill: 'currentColor',
295
+ display: 'block',
296
+ },
297
+ pre: {
298
+ fontFamily: 'body',
299
+ },
300
+ ...textStyles,
301
+ },
302
+ },
303
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import 'jest-axe/extend-expect';
5
+ import '@testing-library/jest-dom';
6
+ import React from 'react';
7
+ import ReactDOM from 'react-dom';
8
+
9
+ if ( process.env.NODE_ENV !== 'production' ) {
10
+ const axe = require( '@axe-core/react' );
11
+
12
+ axe( React, ReactDOM, 1000 );
13
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import 'regenerator-runtime/runtime';
@@ -1,40 +0,0 @@
1
- /** @jsxImportSource theme-ui */
2
-
3
- /**
4
- * External dependencies
5
- */
6
- import { Flex, Text } from 'theme-ui';
7
- import { MdWatchLater } from 'react-icons/md';
8
- import PropTypes from 'prop-types';
9
-
10
- const VerticalLine = () => {
11
- return (
12
- <div
13
- sx={ {
14
- borderLeft: '2px solid',
15
- borderColor: 'border',
16
- height: 'calc( 50% - 16px )',
17
- borderRadius: '2px',
18
- } }>
19
- </div>
20
- );
21
- };
22
-
23
- const Timeline = ( { time, ...props } ) => (
24
- <Flex { ...props }>
25
- <Flex sx={ { flexDirection: 'column', justifyContent: 'space-evenly', alignItems: 'center' } }>
26
- <VerticalLine />
27
- <MdWatchLater sx={ { color: 'border' } } size={ 18 }/>
28
- <VerticalLine />
29
- </Flex>
30
- <Flex sx={ { alignItems: 'center', ml: 2 } }>
31
- <Text as="span" sx={ { color: 'muted' } }>{ time }</Text>
32
- </Flex>
33
- </Flex>
34
- );
35
-
36
- Timeline.propTypes = {
37
- time: PropTypes.string,
38
- };
39
-
40
- export { Timeline };