@automattic/vip-design-system 0.19.0 → 0.19.1
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.
- package/build/system/BlankState/BlankState.stories.js +1 -1
- package/build/system/ConfirmationDialog/ConfirmationDialog.stories.js +1 -1
- package/build/system/Dialog/Dialog.stories.js +1 -1
- package/build/system/Form/Input.js +5 -3
- package/build/system/Link/Link.js +8 -6
- package/build/system/NewDialog/DialogClose.js +1 -1
- package/build/system/NewForm/Form.js +34 -0
- package/build/system/NewForm/FormSelect.js +117 -0
- package/build/system/NewForm/FormSelect.stories.js +120 -0
- package/build/system/NewForm/FormSelect.test.js +71 -0
- package/build/system/NewForm/FormSelectArrow.js +39 -0
- package/build/system/NewForm/FormSelectContent.js +55 -0
- package/build/system/NewForm/FormSelectInline.js +33 -0
- package/build/system/NewForm/index.js +18 -0
- package/build/system/Notice/Notice.js +0 -1
- package/build/system/OptionRow/OptionRow.js +2 -2
- package/build/system/ResourceList/ResourceList.js +1 -1
- package/build/system/Table/TableCell.js +1 -1
- package/build/system/Tabs/TabItem.js +3 -2
- package/build/system/Wizard/Wizard.js +10 -6
- package/build/system/Wizard/Wizard.stories.js +24 -2
- package/build/system/Wizard/WizardStep.js +18 -12
- package/build/system/Wizard/WizardStepHorizontal.js +8 -5
- package/build/system/index.js +5 -1
- package/build/system/theme/index.js +17 -4
- package/package.json +1 -1
- package/src/system/BlankState/BlankState.stories.jsx +1 -1
- package/src/system/ConfirmationDialog/ConfirmationDialog.stories.jsx +1 -1
- package/src/system/Dialog/Dialog.stories.jsx +1 -1
- package/src/system/Form/Input.js +2 -4
- package/src/system/Link/Link.js +8 -6
- package/src/system/NewDialog/DialogClose.js +1 -1
- package/src/system/NewForm/Form.js +19 -0
- package/src/system/NewForm/FormSelect.js +91 -0
- package/src/system/NewForm/FormSelect.stories.jsx +96 -0
- package/src/system/NewForm/FormSelect.test.js +34 -0
- package/src/system/NewForm/FormSelectArrow.js +27 -0
- package/src/system/NewForm/FormSelectContent.js +37 -0
- package/src/system/NewForm/FormSelectInline.js +31 -0
- package/src/system/NewForm/index.js +13 -0
- package/src/system/Notice/Notice.js +0 -1
- package/src/system/OptionRow/OptionRow.js +2 -2
- package/src/system/ResourceList/ResourceList.js +1 -1
- package/src/system/Table/TableCell.js +1 -1
- package/src/system/Tabs/TabItem.js +2 -1
- package/src/system/Wizard/Wizard.js +8 -6
- package/src/system/Wizard/Wizard.stories.jsx +19 -0
- package/src/system/Wizard/WizardStep.js +22 -11
- package/src/system/Wizard/WizardStepHorizontal.js +5 -4
- package/src/system/index.js +3 -0
- package/src/system/theme/index.js +21 -5
|
@@ -13,7 +13,7 @@ import { Link } from '..';
|
|
|
13
13
|
const TabItem = ( { active = false, sx, ...props } ) => (
|
|
14
14
|
<Link
|
|
15
15
|
variant="h4"
|
|
16
|
-
as="button"
|
|
16
|
+
// as="button"
|
|
17
17
|
tabIndex="0"
|
|
18
18
|
data-active={ active || undefined }
|
|
19
19
|
sx={ {
|
|
@@ -29,6 +29,7 @@ const TabItem = ( { active = false, sx, ...props } ) => (
|
|
|
29
29
|
borderLeft: 'none',
|
|
30
30
|
borderRight: 'none',
|
|
31
31
|
borderBottom: '1px solid',
|
|
32
|
+
textDecoration: 'none',
|
|
32
33
|
borderColor: active ? 'link' : 'transparent',
|
|
33
34
|
transform: 'translateY(1px)',
|
|
34
35
|
'&:visited': {
|
|
@@ -24,13 +24,14 @@ const Wizard = ( { steps, activeStep, variant, completed = [], className = null,
|
|
|
24
24
|
} }
|
|
25
25
|
{ ...props }
|
|
26
26
|
>
|
|
27
|
-
{ steps.map( ( { title, subTitle }, index ) => (
|
|
27
|
+
{ steps.map( ( { title, subTitle, titleVariant }, index ) => (
|
|
28
28
|
<React.Fragment key={ index }>
|
|
29
29
|
<WizardStepHorizontal
|
|
30
|
-
order={ index + 1 }
|
|
31
30
|
active={ index === activeStep }
|
|
32
|
-
|
|
31
|
+
order={ index + 1 }
|
|
33
32
|
subTitle={ subTitle }
|
|
33
|
+
title={ title }
|
|
34
|
+
titleVariant={ titleVariant }
|
|
34
35
|
/>
|
|
35
36
|
{ index < steps.length - 1 && (
|
|
36
37
|
<MdArrowForward sx={ { mx: 2, color: 'grey.80' } } />
|
|
@@ -41,14 +42,15 @@ const Wizard = ( { steps, activeStep, variant, completed = [], className = null,
|
|
|
41
42
|
{ steps[ activeStep ].children }
|
|
42
43
|
</Box>
|
|
43
44
|
) : (
|
|
44
|
-
steps.map( ( { title, subTitle, children }, index ) => (
|
|
45
|
+
steps.map( ( { title, subTitle, children, titleVariant }, index ) => (
|
|
45
46
|
<WizardStep
|
|
46
47
|
active={ index === activeStep }
|
|
47
|
-
title={ title }
|
|
48
|
-
subTitle={ subTitle }
|
|
49
48
|
complete={ completed.includes( index ) }
|
|
50
49
|
key={ index }
|
|
51
50
|
order={ index + 1 }
|
|
51
|
+
subTitle={ subTitle }
|
|
52
|
+
title={ title }
|
|
53
|
+
titleVariant={ titleVariant }
|
|
52
54
|
>
|
|
53
55
|
{ children }
|
|
54
56
|
</WizardStep>
|
|
@@ -51,3 +51,22 @@ export const Default = () => {
|
|
|
51
51
|
</React.Fragment>
|
|
52
52
|
);
|
|
53
53
|
};
|
|
54
|
+
|
|
55
|
+
export const CustomHeadingVariant = () => {
|
|
56
|
+
const steps = [
|
|
57
|
+
{
|
|
58
|
+
title: 'Choose Domain',
|
|
59
|
+
titleVariant: 'h1',
|
|
60
|
+
subTitle: <h2>You can bring a domain name you already own, or buy a new one.</h2>,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
title: 'Configure DNS',
|
|
64
|
+
titleVariant: 'h1',
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
return (
|
|
68
|
+
<React.Fragment>
|
|
69
|
+
<Wizard activeStep={ 0 } steps={ steps } className="vip-wizard-xyz" />
|
|
70
|
+
</React.Fragment>
|
|
71
|
+
);
|
|
72
|
+
};
|
|
@@ -11,8 +11,16 @@ import PropTypes from 'prop-types';
|
|
|
11
11
|
*/
|
|
12
12
|
import { Card, Heading, Text } from '..';
|
|
13
13
|
|
|
14
|
-
const WizardStep = ( {
|
|
15
|
-
|
|
14
|
+
const WizardStep = ( {
|
|
15
|
+
title,
|
|
16
|
+
subTitle,
|
|
17
|
+
complete = false,
|
|
18
|
+
children,
|
|
19
|
+
active,
|
|
20
|
+
order,
|
|
21
|
+
titleVariant = 'h4',
|
|
22
|
+
} ) => {
|
|
23
|
+
let borderLeftColor = 'borders.2';
|
|
16
24
|
|
|
17
25
|
if ( complete ) {
|
|
18
26
|
borderLeftColor = 'success';
|
|
@@ -38,25 +46,27 @@ const WizardStep = ( { title, subTitle, complete = false, children, active, orde
|
|
|
38
46
|
borderRadius: 0,
|
|
39
47
|
borderBottom: active ? 'none' : '1px solid',
|
|
40
48
|
'&:first-of-type': {
|
|
41
|
-
borderTopWidth:
|
|
42
|
-
borderTopStyle:
|
|
49
|
+
borderTopWidth: '1px',
|
|
50
|
+
borderTopStyle: 'solid',
|
|
51
|
+
borderTopColor: 'borders.2',
|
|
43
52
|
},
|
|
44
|
-
borderColor: active ? 'primary' : '
|
|
53
|
+
borderColor: active ? 'primary' : 'borders.2',
|
|
45
54
|
borderLeftColor: borderLeftColor,
|
|
46
55
|
} }
|
|
47
56
|
data-step={ order }
|
|
48
57
|
data-active={ active || undefined }
|
|
49
58
|
>
|
|
50
59
|
<Heading
|
|
51
|
-
variant=
|
|
60
|
+
variant={ titleVariant }
|
|
52
61
|
sx={ {
|
|
53
62
|
mb: 0,
|
|
54
63
|
display: 'flex',
|
|
55
64
|
alignItems: 'center',
|
|
56
|
-
color
|
|
65
|
+
color,
|
|
66
|
+
fontSize: 2,
|
|
57
67
|
} }
|
|
58
68
|
>
|
|
59
|
-
<MdCheckCircle sx={ { mr: 2 } } />
|
|
69
|
+
<MdCheckCircle sx={ { mr: 2 } } size={ 18 } />
|
|
60
70
|
{ title }
|
|
61
71
|
</Heading>
|
|
62
72
|
{ subTitle && active && <Text sx={ { mb: 3 } }>{ subTitle }</Text> }
|
|
@@ -67,12 +77,13 @@ const WizardStep = ( { title, subTitle, complete = false, children, active, orde
|
|
|
67
77
|
};
|
|
68
78
|
|
|
69
79
|
WizardStep.propTypes = {
|
|
70
|
-
title: PropTypes.node,
|
|
71
|
-
subTitle: PropTypes.node,
|
|
72
|
-
complete: PropTypes.bool,
|
|
73
80
|
active: PropTypes.bool,
|
|
74
81
|
children: PropTypes.node,
|
|
82
|
+
complete: PropTypes.bool,
|
|
75
83
|
order: PropTypes.number.isRequired,
|
|
84
|
+
subTitle: PropTypes.node,
|
|
85
|
+
title: PropTypes.node,
|
|
86
|
+
titleVariant: PropTypes.string,
|
|
76
87
|
};
|
|
77
88
|
|
|
78
89
|
export { WizardStep };
|
|
@@ -11,10 +11,10 @@ import PropTypes from 'prop-types';
|
|
|
11
11
|
*/
|
|
12
12
|
import { Heading } from '..';
|
|
13
13
|
|
|
14
|
-
const WizardStepHorizontal = ( { title, active, order } ) => {
|
|
14
|
+
const WizardStepHorizontal = ( { title, active, order, titleVariant = 'h4' } ) => {
|
|
15
15
|
return (
|
|
16
16
|
<Heading
|
|
17
|
-
variant=
|
|
17
|
+
variant={ titleVariant }
|
|
18
18
|
sx={ {
|
|
19
19
|
mb: 0,
|
|
20
20
|
display: 'flex',
|
|
@@ -31,10 +31,11 @@ const WizardStepHorizontal = ( { title, active, order } ) => {
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
WizardStepHorizontal.propTypes = {
|
|
34
|
-
title: PropTypes.node,
|
|
35
|
-
subTitle: PropTypes.node,
|
|
36
34
|
active: PropTypes.bool,
|
|
37
35
|
order: PropTypes.number.isRequired,
|
|
36
|
+
subTitle: PropTypes.node,
|
|
37
|
+
title: PropTypes.node,
|
|
38
|
+
titleVariant: PropTypes.string,
|
|
38
39
|
};
|
|
39
40
|
|
|
40
41
|
export { WizardStepHorizontal };
|
package/src/system/index.js
CHANGED
|
@@ -20,6 +20,8 @@ import {
|
|
|
20
20
|
|
|
21
21
|
import * as NewDialog from './NewDialog';
|
|
22
22
|
import * as Dropdown from './Dropdown';
|
|
23
|
+
import * as Form from './NewForm';
|
|
24
|
+
|
|
23
25
|
import { ConfirmationDialog } from './ConfirmationDialog';
|
|
24
26
|
import { NewConfirmationDialog } from './NewConfirmationDialog';
|
|
25
27
|
import { Flex } from './Flex';
|
|
@@ -65,6 +67,7 @@ export {
|
|
|
65
67
|
Code,
|
|
66
68
|
Dialog,
|
|
67
69
|
NewDialog,
|
|
70
|
+
Form,
|
|
68
71
|
Dropdown,
|
|
69
72
|
DialogButton,
|
|
70
73
|
DialogMenu,
|
|
@@ -89,18 +89,32 @@ export default {
|
|
|
89
89
|
colors: {
|
|
90
90
|
text: getColor( 'text', 'secondary' ),
|
|
91
91
|
heading: getColor( 'text', 'primary' ),
|
|
92
|
-
background: '
|
|
92
|
+
background: getColor( 'background', 'primary' ),
|
|
93
93
|
backgroundSecondary: light.grey[ '10' ],
|
|
94
94
|
primary: light.brand[ '70' ],
|
|
95
95
|
secondary: '#30c',
|
|
96
96
|
muted: light.grey[ '90' ],
|
|
97
|
-
link:
|
|
97
|
+
link: getColor( 'link', 'default' ),
|
|
98
|
+
links: {
|
|
99
|
+
default: getColor( 'link', 'default' ),
|
|
100
|
+
hover: getColor( 'link', 'hover' ),
|
|
101
|
+
active: getColor( 'link', 'active' ),
|
|
102
|
+
visited: getColor( 'link', 'visited' ),
|
|
103
|
+
},
|
|
98
104
|
card: '#fff',
|
|
99
|
-
|
|
105
|
+
borders: {
|
|
106
|
+
1: getColor( 'border', '1' ),
|
|
107
|
+
2: getColor( 'border', '2' ),
|
|
108
|
+
3: getColor( 'border', '3' ),
|
|
109
|
+
4: getColor( 'border', '4' ),
|
|
110
|
+
accent: getColor( 'border', 'accent' ),
|
|
111
|
+
},
|
|
112
|
+
|
|
113
|
+
border: getColor( 'border', '1' ),
|
|
100
114
|
hover: 'rgba(0,0,0,.02)',
|
|
101
115
|
lightenBackground: 'rgba(255,255,255,.5)',
|
|
102
116
|
darken: 'rgba(0,0,0,.05)',
|
|
103
|
-
placeholder:
|
|
117
|
+
placeholder: getColor( 'text', 'placeholder' ),
|
|
104
118
|
midnight: '#13191E',
|
|
105
119
|
navigationStart: light.grey[ '5' ],
|
|
106
120
|
navigationEnd: light.grey[ '5' ],
|
|
@@ -145,6 +159,7 @@ export default {
|
|
|
145
159
|
// eslint-disable-next-line max-len
|
|
146
160
|
'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)',
|
|
147
161
|
},
|
|
162
|
+
|
|
148
163
|
cards: {
|
|
149
164
|
primary: {
|
|
150
165
|
padding: 3,
|
|
@@ -166,7 +181,6 @@ export default {
|
|
|
166
181
|
backgroundColor: 'backgroundMuted',
|
|
167
182
|
},
|
|
168
183
|
},
|
|
169
|
-
|
|
170
184
|
buttons: {
|
|
171
185
|
primary: {
|
|
172
186
|
// you can reference other values defined in the theme
|
|
@@ -237,11 +251,13 @@ export default {
|
|
|
237
251
|
},
|
|
238
252
|
},
|
|
239
253
|
},
|
|
254
|
+
|
|
240
255
|
links: {
|
|
241
256
|
dark: {
|
|
242
257
|
color: 'modes.dark.muted',
|
|
243
258
|
'&:hover': { color: 'modes.dark.heading' },
|
|
244
259
|
},
|
|
260
|
+
|
|
245
261
|
hover: {
|
|
246
262
|
display: 'block',
|
|
247
263
|
color: 'inherit',
|