@automattic/vip-design-system 0.10.3 → 0.12.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 (141) hide show
  1. package/.eslines.json +8 -8
  2. package/.eslintrc.json +9 -4
  3. package/.github/PULL_REQUEST_TEMPLATE.md +1 -1
  4. package/.github/workflows/nodejs.yaml +14 -14
  5. package/.prettierrc +1 -2
  6. package/.storybook/main.js +2 -1
  7. package/.storybook/preview.js +5 -8
  8. package/README.md +1 -0
  9. package/babel.config.js +1 -1
  10. package/build/system/Avatar/Avatar.js +2 -1
  11. package/build/system/BlankState/BlankState.stories.js +3 -3
  12. package/build/system/BlankState/BlankState.test.js +2 -2
  13. package/build/system/Card/Card.test.js +0 -2
  14. package/build/system/Code/Code.js +7 -2
  15. package/build/system/Code/Code.test.js +22 -57
  16. package/build/system/Form/Select.stories.js +3 -4
  17. package/build/system/Form/Select.test.js +2 -2
  18. package/build/system/Form/Toggle.js +45 -72
  19. package/build/system/Form/Toggle.stories.js +63 -0
  20. package/build/system/Form/Toggle.test.js +55 -0
  21. package/build/system/Notification/Notification.js +24 -15
  22. package/build/system/Notification/Notification.stories.js +14 -4
  23. package/build/system/OptionRow/OptionRow.js +23 -17
  24. package/build/system/OptionRow/OptionRow.stories.js +5 -5
  25. package/build/system/OptionRow/OptionRow.test.js +4 -4
  26. package/build/system/ResourceList/ResourceList.js +34 -25
  27. package/build/system/ResourceList/ResourceList.stories.js +2 -0
  28. package/build/system/ScreenReaderText/ScreenReader.test.js +37 -0
  29. package/build/system/ScreenReaderText/ScreenReaderText.js +49 -0
  30. package/build/system/ScreenReaderText/index.js +7 -0
  31. package/build/system/Table/Table.stories.js +46 -3
  32. package/build/system/Table/TableCell.js +57 -0
  33. package/build/system/Table/TableRow.js +12 -57
  34. package/build/system/Table/index.js +5 -1
  35. package/build/system/Time/index.js +1 -1
  36. package/build/system/Wizard/Wizard.stories.js +1 -1
  37. package/build/system/index.js +1 -0
  38. package/package.json +10 -4
  39. package/src/system/Avatar/Avatar.js +1 -0
  40. package/src/system/Avatar/index.js +0 -1
  41. package/src/system/Badge/index.js +0 -1
  42. package/src/system/BlankState/BlankState.js +8 -5
  43. package/src/system/BlankState/BlankState.stories.jsx +5 -4
  44. package/src/system/BlankState/BlankState.test.js +21 -21
  45. package/src/system/BlankState/index.js +0 -1
  46. package/src/system/Box/Box.js +7 -1
  47. package/src/system/Box/index.js +0 -1
  48. package/src/system/Button/Button.js +3 -3
  49. package/src/system/Button/Button.stories.jsx +2 -2
  50. package/src/system/Button/index.js +0 -1
  51. package/src/system/Card/Card.js +4 -4
  52. package/src/system/Card/Card.test.js +1 -2
  53. package/src/system/Card/index.js +0 -1
  54. package/src/system/Code/Code.js +6 -2
  55. package/src/system/Code/Code.stories.jsx +10 -5
  56. package/src/system/Code/Code.test.js +3 -16
  57. package/src/system/ConfirmationDialog/ConfirmationDialog.js +8 -1
  58. package/src/system/Dialog/Dialog.js +17 -8
  59. package/src/system/Dialog/Dialog.stories.jsx +9 -13
  60. package/src/system/Dialog/DialogButton.js +18 -14
  61. package/src/system/Dialog/DialogDivider.js +1 -1
  62. package/src/system/Dialog/DialogMenu.js +1 -5
  63. package/src/system/Dialog/DialogMenuItem.js +4 -8
  64. package/src/system/Dialog/DialogTrigger.js +1 -1
  65. package/src/system/Dialog/index.js +0 -1
  66. package/src/system/Flex/Flex.js +1 -1
  67. package/src/system/Flex/index.js +0 -1
  68. package/src/system/Form/AsyncSearchSelect.js +3 -7
  69. package/src/system/Form/Checkbox.js +32 -28
  70. package/src/system/Form/InlineSelect.js +21 -17
  71. package/src/system/Form/Input.js +43 -45
  72. package/src/system/Form/Label.js +2 -2
  73. package/src/system/Form/RadioBoxGroup.js +34 -32
  74. package/src/system/Form/RadioBoxGroup.stories.jsx +8 -1
  75. package/src/system/Form/SearchSelect.js +7 -7
  76. package/src/system/Form/Select.js +21 -2
  77. package/src/system/Form/Select.stories.jsx +31 -34
  78. package/src/system/Form/Select.test.js +3 -8
  79. package/src/system/Form/Textarea.js +38 -40
  80. package/src/system/Form/Toggle.js +37 -65
  81. package/src/system/Form/Toggle.stories.jsx +42 -0
  82. package/src/system/Form/Toggle.test.js +23 -0
  83. package/src/system/Form/ToggleGroup.js +29 -31
  84. package/src/system/Form/ToggleGroup.stories.jsx +8 -1
  85. package/src/system/Form/ToggleRow.js +6 -1
  86. package/src/system/Form/Validation.js +6 -1
  87. package/src/system/Form/index.js +13 -1
  88. package/src/system/Grid/Grid.js +1 -1
  89. package/src/system/Grid/index.js +0 -1
  90. package/src/system/Heading/Heading.js +4 -4
  91. package/src/system/Heading/index.js +0 -1
  92. package/src/system/Link/index.js +0 -1
  93. package/src/system/Notice/Notice.js +27 -13
  94. package/src/system/Notice/Notice.stories.jsx +6 -8
  95. package/src/system/Notice/index.js +0 -1
  96. package/src/system/Notification/Notification.js +25 -20
  97. package/src/system/Notification/Notification.stories.jsx +4 -4
  98. package/src/system/Notification/index.js +0 -1
  99. package/src/system/OptionRow/OptionRow.js +46 -44
  100. package/src/system/OptionRow/OptionRow.stories.jsx +10 -8
  101. package/src/system/OptionRow/OptionRow.test.js +12 -11
  102. package/src/system/OptionRow/index.js +0 -1
  103. package/src/system/Progress/Progress.js +3 -1
  104. package/src/system/Progress/Progress.stories.jsx +4 -4
  105. package/src/system/Progress/index.js +0 -1
  106. package/src/system/ResourceList/ResourceItem.js +15 -15
  107. package/src/system/ResourceList/ResourceList.js +28 -16
  108. package/src/system/ResourceList/ResourceList.stories.jsx +77 -71
  109. package/src/system/ScreenReaderText/ScreenReader.test.js +22 -0
  110. package/src/system/ScreenReaderText/ScreenReaderText.js +40 -0
  111. package/src/system/ScreenReaderText/index.js +7 -0
  112. package/src/system/Spinner/Spinner.js +4 -4
  113. package/src/system/Spinner/index.js +0 -1
  114. package/src/system/Table/Table.js +5 -5
  115. package/src/system/Table/Table.stories.jsx +39 -9
  116. package/src/system/Table/TableCell.js +48 -0
  117. package/src/system/Table/TableRow.js +10 -47
  118. package/src/system/Table/index.js +2 -2
  119. package/src/system/Tabs/Tabs.js +3 -3
  120. package/src/system/Tabs/index.js +0 -1
  121. package/src/system/Text/Text.js +3 -3
  122. package/src/system/Text/Text.stories.jsx +4 -6
  123. package/src/system/Text/index.js +0 -1
  124. package/src/system/Time/Time.stories.jsx +2 -6
  125. package/src/system/Time/index.js +5 -5
  126. package/src/system/Timeline/Timeline.js +6 -12
  127. package/src/system/Timeline/Timeline.stories.jsx +3 -12
  128. package/src/system/Timeline/index.js +0 -1
  129. package/src/system/Tooltip/Tooltip.js +4 -8
  130. package/src/system/Wizard/Wizard.js +23 -21
  131. package/src/system/Wizard/Wizard.stories.jsx +7 -12
  132. package/src/system/Wizard/WizardStep.js +8 -8
  133. package/src/system/Wizard/WizardStepHorizontal.js +4 -4
  134. package/src/system/Wizard/index.js +0 -1
  135. package/src/system/index.js +2 -1
  136. package/src/system/theme/index.js +3 -4
  137. package/tokens/valet-color.json +1919 -0
  138. package/build/system/Form/MultiSelect.js +0 -38
  139. package/build/system/UsageChart/UsageChart.js +0 -60
  140. package/build/system/UsageChart/UsageChart.stories.js +0 -20
  141. package/build/system/UsageChart/index.js +0 -7
@@ -16,25 +16,19 @@ const VerticalLine = () => {
16
16
  borderColor: 'border',
17
17
  height: 'calc( 50% - 16px )',
18
18
  borderRadius: '2px',
19
- } }>
20
- </div>
19
+ } }
20
+ ></div>
21
21
  );
22
22
  };
23
23
 
24
24
  const Timeline = ( { time, first = false, last = false, className = null, ...props } ) => (
25
25
  <Flex className={ classNames( 'vip-timeline-component', className ) } { ...props }>
26
26
  <Flex sx={ { flexDirection: 'column', justifyContent: 'space-evenly', alignItems: 'center' } }>
27
- { ! first && (
28
- <VerticalLine />
29
- ) }
30
- <MdWatchLater aria-hidden sx={ { color: 'border' } } size={ 18 }/>
31
- { ! last && (
32
- <VerticalLine />
33
- ) }
34
- </Flex>
35
- <Flex sx={ { alignItems: 'center', ml: 2 } }>
36
- { time }
27
+ { ! first && <VerticalLine /> }
28
+ <MdWatchLater aria-hidden sx={ { color: 'border' } } size={ 18 } />
29
+ { ! last && <VerticalLine /> }
37
30
  </Flex>
31
+ <Flex sx={ { alignItems: 'center', ml: 2 } }>{ time }</Flex>
38
32
  </Flex>
39
33
  );
40
34
 
@@ -17,18 +17,9 @@ export default {
17
17
  export const Default = () => {
18
18
  return (
19
19
  <React.Fragment>
20
- <Timeline
21
- time="13:00"
22
- title="21:00 UTC"
23
- />
24
- <Timeline
25
- time={ <Link>14:00</Link> }
26
- title="22:00 UTC"
27
- />
28
- <Timeline
29
- time="15:00"
30
- title="23:00 UTC"
31
- />
20
+ <Timeline time="13:00" title="21:00 UTC" />
21
+ <Timeline time={ <Link>14:00</Link> } title="22:00 UTC" />
22
+ <Timeline time="15:00" title="23:00 UTC" />
32
23
  </React.Fragment>
33
24
  );
34
25
  };
@@ -1,4 +1,3 @@
1
-
2
1
  /**
3
2
  * Internal dependencies
4
3
  */
@@ -8,11 +8,11 @@ import { MdHelp } from 'react-icons/md';
8
8
  import * as TTip from '@radix-ui/react-tooltip';
9
9
 
10
10
  /**
11
- * Internal dependencies
12
- */
11
+ * Internal dependencies
12
+ */
13
13
  import { Card, Text } from '..';
14
14
 
15
- const StyledArrow = props => <TTip.Arrow sx={{ fill: 'white' }} { ...props } />;
15
+ const StyledArrow = props => <TTip.Arrow sx={ { fill: 'white' } } { ...props } />;
16
16
 
17
17
  const Tooltip = ( {
18
18
  trigger = <MdHelp />,
@@ -55,11 +55,7 @@ const Tooltip = ( {
55
55
  { trigger }
56
56
 
57
57
  <TTip.Content>
58
- <Card
59
- className="tooltip-content"
60
- sx={ { width: width } }
61
- { ...props }
62
- >
58
+ <Card className="tooltip-content" sx={ { width: width } } { ...props }>
63
59
  { children ? children : <Text sx={ { fontSize: 1 } }>{ text }</Text> }
64
60
  </Card>
65
61
  <StyledArrow />
@@ -16,42 +16,44 @@ import { Box, WizardStep, Flex, WizardStepHorizontal } from '..';
16
16
  const Wizard = ( { steps, activeStep, variant, completed = [], className = null, ...props } ) => {
17
17
  return (
18
18
  <Box className={ classNames( 'vip-wizard-component', className ) }>
19
- {variant === 'horizontal' ? (
19
+ { variant === 'horizontal' ? (
20
20
  <Box>
21
21
  <Flex
22
- sx={{
22
+ sx={ {
23
23
  flex: '0 0 auto',
24
- }}
25
- {...props}
24
+ } }
25
+ { ...props }
26
26
  >
27
- {steps.map( ( { title, subTitle }, index ) => (
28
- <React.Fragment key={index}>
27
+ { steps.map( ( { title, subTitle }, index ) => (
28
+ <React.Fragment key={ index }>
29
29
  <WizardStepHorizontal
30
- order={index + 1}
31
- active={index === activeStep}
32
- title={title}
33
- subTitle={subTitle}
30
+ order={ index + 1 }
31
+ active={ index === activeStep }
32
+ title={ title }
33
+ subTitle={ subTitle }
34
34
  />
35
- {index < steps.length - 1 && <MdArrowForward sx={{ mx: 2, color: 'grey.80' }} />}
35
+ { index < steps.length - 1 && (
36
+ <MdArrowForward sx={ { mx: 2, color: 'grey.80' } } />
37
+ ) }
36
38
  </React.Fragment>
37
- ) )}
39
+ ) ) }
38
40
  </Flex>
39
- {steps[ activeStep ].children}
41
+ { steps[ activeStep ].children }
40
42
  </Box>
41
43
  ) : (
42
44
  steps.map( ( { title, subTitle, children }, index ) => (
43
45
  <WizardStep
44
- active={index === activeStep}
45
- title={title}
46
- subTitle={subTitle}
47
- complete={completed.includes( index )}
48
- key={index}
49
- order={index + 1}
46
+ active={ index === activeStep }
47
+ title={ title }
48
+ subTitle={ subTitle }
49
+ complete={ completed.includes( index ) }
50
+ key={ index }
51
+ order={ index + 1 }
50
52
  >
51
- {children}
53
+ { children }
52
54
  </WizardStep>
53
55
  ) )
54
- )}
56
+ ) }
55
57
  </Box>
56
58
  );
57
59
  };
@@ -17,8 +17,7 @@ export const Default = () => {
17
17
  const steps = [
18
18
  {
19
19
  title: 'Choose Domain',
20
- subTitle:
21
- 'You can bring a domain name you already own, or buy a new one.',
20
+ subTitle: 'You can bring a domain name you already own, or buy a new one.',
22
21
  children: (
23
22
  <Box>
24
23
  <Label>Domain</Label>
@@ -39,19 +38,15 @@ export const Default = () => {
39
38
  ];
40
39
  return (
41
40
  <React.Fragment>
42
- <Flex sx={{ alignItems: 'center' }}>
43
- <Box sx={{ flex: '1 1 auto' }}>
44
- <Heading
45
- variant="h1"
46
- sx={{ display: 'flex', alignItems: 'center', mb: 1 }}
47
- >
48
- Add Domain:{' '}
49
- <span sx={{ color: 'muted', ml: 2 }}>Production</span>
41
+ <Flex sx={ { alignItems: 'center' } }>
42
+ <Box sx={ { flex: '1 1 auto' } }>
43
+ <Heading variant="h1" sx={ { display: 'flex', alignItems: 'center', mb: 1 } }>
44
+ Add Domain: <span sx={ { color: 'muted', ml: 2 } }>Production</span>
50
45
  </Heading>
51
46
  </Box>
52
47
  </Flex>
53
- <Box mt={4}>
54
- <Wizard activeStep={0} steps={steps} className="vip-wizard-xyz" />
48
+ <Box mt={ 4 }>
49
+ <Wizard activeStep={ 0 } steps={ steps } className="vip-wizard-xyz" />
55
50
  </Box>
56
51
  </React.Fragment>
57
52
  );
@@ -30,7 +30,7 @@ const WizardStep = ( { title, subTitle, complete = false, children, active, orde
30
30
 
31
31
  return (
32
32
  <Card
33
- sx={{
33
+ sx={ {
34
34
  boxShadow: active ? 'low' : 'none',
35
35
  borderLeft: '2px solid',
36
36
  p: 4,
@@ -43,25 +43,25 @@ const WizardStep = ( { title, subTitle, complete = false, children, active, orde
43
43
  },
44
44
  borderColor: active ? 'primary' : 'border',
45
45
  borderLeftColor: borderLeftColor,
46
- }}
46
+ } }
47
47
  data-step={ order }
48
48
  data-active={ active || undefined }
49
49
  >
50
50
  <Heading
51
51
  variant="h4"
52
- sx={{
52
+ sx={ {
53
53
  mb: 0,
54
54
  display: 'flex',
55
55
  alignItems: 'center',
56
56
  color: color,
57
- }}
57
+ } }
58
58
  >
59
- <MdCheckCircle sx={{ mr: 2 }} />
60
- {title}
59
+ <MdCheckCircle sx={ { mr: 2 } } />
60
+ { title }
61
61
  </Heading>
62
- {subTitle && active && <Text sx={{ mb: 3 }}>{subTitle}</Text>}
62
+ { subTitle && active && <Text sx={ { mb: 3 } }>{ subTitle }</Text> }
63
63
 
64
- {active && children}
64
+ { active && children }
65
65
  </Card>
66
66
  );
67
67
  };
@@ -15,17 +15,17 @@ const WizardStepHorizontal = ( { title, active, order } ) => {
15
15
  return (
16
16
  <Heading
17
17
  variant="h4"
18
- sx={{
18
+ sx={ {
19
19
  mb: 0,
20
20
  display: 'flex',
21
21
  alignItems: 'center',
22
22
  color: active ? 'heading' : 'muted',
23
- }}
23
+ } }
24
24
  data-step={ order }
25
25
  data-active={ active || undefined }
26
26
  >
27
- <MdCheckCircle sx={{ mr: 2 }} />
28
- {title}
27
+ <MdCheckCircle sx={ { mr: 2 } } />
28
+ { title }
29
29
  </Heading>
30
30
  );
31
31
  };
@@ -1,4 +1,3 @@
1
-
2
1
  /**
3
2
  * Internal dependencies
4
3
  */
@@ -44,7 +44,7 @@ import { Time } from './Time';
44
44
  import { Timeline } from './Timeline';
45
45
  import { Notification } from './Notification';
46
46
  import { OptionRow } from './OptionRow';
47
- import { Table, TableRow } from './Table';
47
+ import { Table, TableRow, TableCell } from './Table';
48
48
  import { TabItem, Tabs } from './Tabs';
49
49
  import { Text } from './Text';
50
50
  import theme from './theme';
@@ -77,6 +77,7 @@ export {
77
77
  Spinner,
78
78
  Table,
79
79
  TableRow,
80
+ TableCell,
80
81
  Tooltip,
81
82
  Notification,
82
83
  Link,
@@ -54,8 +54,7 @@ const textStyles = {
54
54
  export default {
55
55
  space: [ 0, 4, 8, 16, 32, 64, 128, 256, 512 ],
56
56
  fonts: {
57
- body:
58
- 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
57
+ body: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
59
58
  heading: 'inherit',
60
59
  monospace: '"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace',
61
60
  serif: 'recoletaregular, Georgia, serif',
@@ -131,10 +130,10 @@ export default {
131
130
  shadows: {
132
131
  low: '0px 1px 5px rgba(0, 0, 0, 0.05), 0px 1px 1px rgba(0, 0, 0, 0.15)',
133
132
  medium:
134
- // eslint-disable-next-line max-len
133
+ // eslint-disable-next-line max-len
135
134
  '0px 15px 30px rgba(0, 0, 0, 0.07), 0px 1px 2px rgba(0, 0, 0, 0.03)',
136
135
  high:
137
- // eslint-disable-next-line max-len
136
+ // eslint-disable-next-line max-len
138
137
  '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
138
  },
140
139
  cards: {