@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.
Files changed (51) hide show
  1. package/build/system/BlankState/BlankState.stories.js +1 -1
  2. package/build/system/ConfirmationDialog/ConfirmationDialog.stories.js +1 -1
  3. package/build/system/Dialog/Dialog.stories.js +1 -1
  4. package/build/system/Form/Input.js +5 -3
  5. package/build/system/Link/Link.js +8 -6
  6. package/build/system/NewDialog/DialogClose.js +1 -1
  7. package/build/system/NewForm/Form.js +34 -0
  8. package/build/system/NewForm/FormSelect.js +117 -0
  9. package/build/system/NewForm/FormSelect.stories.js +120 -0
  10. package/build/system/NewForm/FormSelect.test.js +71 -0
  11. package/build/system/NewForm/FormSelectArrow.js +39 -0
  12. package/build/system/NewForm/FormSelectContent.js +55 -0
  13. package/build/system/NewForm/FormSelectInline.js +33 -0
  14. package/build/system/NewForm/index.js +18 -0
  15. package/build/system/Notice/Notice.js +0 -1
  16. package/build/system/OptionRow/OptionRow.js +2 -2
  17. package/build/system/ResourceList/ResourceList.js +1 -1
  18. package/build/system/Table/TableCell.js +1 -1
  19. package/build/system/Tabs/TabItem.js +3 -2
  20. package/build/system/Wizard/Wizard.js +10 -6
  21. package/build/system/Wizard/Wizard.stories.js +24 -2
  22. package/build/system/Wizard/WizardStep.js +18 -12
  23. package/build/system/Wizard/WizardStepHorizontal.js +8 -5
  24. package/build/system/index.js +5 -1
  25. package/build/system/theme/index.js +17 -4
  26. package/package.json +1 -1
  27. package/src/system/BlankState/BlankState.stories.jsx +1 -1
  28. package/src/system/ConfirmationDialog/ConfirmationDialog.stories.jsx +1 -1
  29. package/src/system/Dialog/Dialog.stories.jsx +1 -1
  30. package/src/system/Form/Input.js +2 -4
  31. package/src/system/Link/Link.js +8 -6
  32. package/src/system/NewDialog/DialogClose.js +1 -1
  33. package/src/system/NewForm/Form.js +19 -0
  34. package/src/system/NewForm/FormSelect.js +91 -0
  35. package/src/system/NewForm/FormSelect.stories.jsx +96 -0
  36. package/src/system/NewForm/FormSelect.test.js +34 -0
  37. package/src/system/NewForm/FormSelectArrow.js +27 -0
  38. package/src/system/NewForm/FormSelectContent.js +37 -0
  39. package/src/system/NewForm/FormSelectInline.js +31 -0
  40. package/src/system/NewForm/index.js +13 -0
  41. package/src/system/Notice/Notice.js +0 -1
  42. package/src/system/OptionRow/OptionRow.js +2 -2
  43. package/src/system/ResourceList/ResourceList.js +1 -1
  44. package/src/system/Table/TableCell.js +1 -1
  45. package/src/system/Tabs/TabItem.js +2 -1
  46. package/src/system/Wizard/Wizard.js +8 -6
  47. package/src/system/Wizard/Wizard.stories.jsx +19 -0
  48. package/src/system/Wizard/WizardStep.js +22 -11
  49. package/src/system/Wizard/WizardStepHorizontal.js +5 -4
  50. package/src/system/index.js +3 -0
  51. 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
- title={ title }
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 = ( { title, subTitle, complete = false, children, active, order } ) => {
15
- let borderLeftColor = 'border';
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: active ? 'none' : '1px',
42
- borderTopStyle: active ? 'none' : 'solid',
49
+ borderTopWidth: '1px',
50
+ borderTopStyle: 'solid',
51
+ borderTopColor: 'borders.2',
43
52
  },
44
- borderColor: active ? 'primary' : 'border',
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="h4"
60
+ variant={ titleVariant }
52
61
  sx={ {
53
62
  mb: 0,
54
63
  display: 'flex',
55
64
  alignItems: 'center',
56
- color: 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="h4"
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 };
@@ -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: '#fdfdfd',
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: light.brand[ '90' ],
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
- border: light.grey[ '20' ],
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: light.grey[ '70' ],
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',