@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
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+
7
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+
9
+ var _react = require("@testing-library/react");
10
+
11
+ var _jestAxe = require("jest-axe");
12
+
13
+ var _Toggle = require("./Toggle");
14
+
15
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
16
+
17
+ /**
18
+ * External dependencies
19
+ */
20
+
21
+ /**
22
+ * Internal dependencies
23
+ */
24
+ describe('<Toggle />', function () {
25
+ it('renders the Toggle component', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
26
+ var _render, container;
27
+
28
+ return _regenerator["default"].wrap(function _callee$(_context) {
29
+ while (1) {
30
+ switch (_context.prev = _context.next) {
31
+ case 0:
32
+ _render = (0, _react.render)((0, _jsxRuntime.jsx)(_Toggle.Toggle, {
33
+ "aria-label": "Dinner room Light",
34
+ defaultChecked: true,
35
+ name: "my-toggle"
36
+ })), container = _render.container;
37
+ expect(_react.screen.getByRole('switch')).toBeInTheDocument(); // Check for accessibility issues
38
+
39
+ _context.t0 = expect;
40
+ _context.next = 5;
41
+ return (0, _jestAxe.axe)(container);
42
+
43
+ case 5:
44
+ _context.t1 = _context.sent;
45
+ _context.next = 8;
46
+ return (0, _context.t0)(_context.t1).toHaveNoViolations();
47
+
48
+ case 8:
49
+ case "end":
50
+ return _context.stop();
51
+ }
52
+ }
53
+ }, _callee);
54
+ })));
55
+ });
@@ -11,6 +11,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _ = require("../");
13
13
 
14
+ var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText/ScreenReaderText"));
15
+
14
16
  var _jsxRuntime = require("theme-ui/jsx-runtime");
15
17
 
16
18
  /** @jsxImportSource theme-ui */
@@ -29,6 +31,7 @@ var Notification = function Notification(_ref) {
29
31
  status = _ref$status === void 0 ? 'success' : _ref$status,
30
32
  onClose = _ref.onClose;
31
33
  return (0, _jsxRuntime.jsxs)(_.Card, {
34
+ role: "alert",
32
35
  className: "vip-notification-component",
33
36
  sx: {
34
37
  boxShadow: 'medium',
@@ -36,16 +39,8 @@ var Notification = function Notification(_ref) {
36
39
  position: 'relative',
37
40
  variant: "notification." + status
38
41
  },
39
- children: [(0, _jsxRuntime.jsx)(_.Button, {
40
- onClick: onClose,
41
- variant: "icon",
42
- sx: {
43
- color: 'muted',
44
- position: 'absolute',
45
- top: 2,
46
- right: 2
47
- },
48
- children: (0, _jsxRuntime.jsx)(_md.MdClose, {})
42
+ children: [(0, _jsxRuntime.jsx)(_ScreenReaderText["default"], {
43
+ children: "Alert,"
49
44
  }), (0, _jsxRuntime.jsxs)(_.Flex, {
50
45
  sx: {
51
46
  alignItems: 'center'
@@ -54,21 +49,24 @@ var Notification = function Notification(_ref) {
54
49
  sx: {
55
50
  color: 'error',
56
51
  flex: '0 0 auto'
57
- }
52
+ },
53
+ "aria-hidden": "true"
58
54
  }) : (0, _jsxRuntime.jsx)(_md.MdCheckCircle, {
59
55
  sx: {
60
56
  color: 'success',
61
57
  flex: '0 0 auto'
62
- }
58
+ },
59
+ "aria-hidden": "true"
63
60
  }), (0, _jsxRuntime.jsxs)(_.Box, {
64
61
  sx: {
65
62
  flex: '1 1 auto',
66
63
  ml: 3
67
64
  },
68
- children: [(0, _jsxRuntime.jsx)(_.Heading, {
69
- variant: "h4",
65
+ children: [(0, _jsxRuntime.jsx)("p", {
70
66
  sx: {
71
- mb: 0
67
+ my: 0,
68
+ color: 'heading',
69
+ fontWeight: 'bold'
72
70
  },
73
71
  children: title
74
72
  }), body && (0, _jsxRuntime.jsx)(_.Text, {
@@ -79,6 +77,17 @@ var Notification = function Notification(_ref) {
79
77
  children: body
80
78
  })]
81
79
  })]
80
+ }), onClose && (0, _jsxRuntime.jsx)(_.Button, {
81
+ onClick: onClose,
82
+ variant: "icon",
83
+ sx: {
84
+ color: 'muted',
85
+ position: 'absolute',
86
+ top: 2,
87
+ right: 2
88
+ },
89
+ "aria-hidden": "true",
90
+ children: (0, _jsxRuntime.jsx)(_md.MdClose, {})
82
91
  })]
83
92
  });
84
93
  };
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports["default"] = exports.Default = void 0;
4
+ exports["default"] = exports.Error = exports.Default = void 0;
5
5
 
6
6
  var _ = require("..");
7
7
 
@@ -18,9 +18,19 @@ exports["default"] = _default;
18
18
 
19
19
  var Default = function Default() {
20
20
  return (0, _jsxRuntime.jsx)(_.Notification, {
21
- title: "My first notification",
22
- subTitle: "Use when providing success or error feedback on global action"
21
+ title: "Awesome!",
22
+ body: "Your message has been sent successfully."
23
23
  });
24
24
  };
25
25
 
26
- exports.Default = Default;
26
+ exports.Default = Default;
27
+
28
+ var Error = function Error() {
29
+ return (0, _jsxRuntime.jsx)(_.Notification, {
30
+ status: "error",
31
+ title: "Snag!",
32
+ body: "Your message could not be sent."
33
+ });
34
+ };
35
+
36
+ exports.Error = Error;
@@ -22,6 +22,27 @@ var _classnames = _interopRequireDefault(require("classnames"));
22
22
  var _jsxRuntime = require("theme-ui/jsx-runtime");
23
23
 
24
24
  var _excluded = ["image", "icon", "badge", "label", "inline", "subTitle", "body", "meta", "to", "small", "disabled", "order", "className"];
25
+ var disabledStyles = {
26
+ border: '1px solid',
27
+ borderColor: 'border',
28
+ background: 'none',
29
+ boxShadow: 'none',
30
+ color: 'grey.70'
31
+ };
32
+ var gridInlineStyle = {
33
+ py: 2,
34
+ px: 2,
35
+ mx: -2
36
+ };
37
+
38
+ var regularGridStyle = function regularGridStyle(small) {
39
+ return {
40
+ py: 3,
41
+ px: [3, 3, small ? 3 : 5],
42
+ borderBottom: '1px solid',
43
+ borderColor: 'border'
44
+ };
45
+ };
25
46
 
26
47
  var OptionRow = function OptionRow(_ref) {
27
48
  var image = _ref.image,
@@ -43,23 +64,8 @@ var OptionRow = function OptionRow(_ref) {
43
64
  _ref$className = _ref.className,
44
65
  className = _ref$className === void 0 ? null : _ref$className,
45
66
  props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
46
- var mergedCard = disabled ? {
47
- border: '1px solid',
48
- borderColor: 'border',
49
- background: 'none',
50
- boxShadow: 'none',
51
- color: 'grey.70'
52
- } : {};
53
- var inlineStyles = inline ? {
54
- py: 2,
55
- px: 2,
56
- mx: -2
57
- } : {
58
- py: 3,
59
- px: [3, 3, small ? 3 : 5],
60
- borderBottom: '1px solid',
61
- borderColor: 'border'
62
- };
67
+ var mergedCard = disabled ? disabledStyles : {};
68
+ var inlineStyles = inline ? gridInlineStyle : regularGridStyle(small);
63
69
  return (0, _jsxRuntime.jsxs)(_.Grid, (0, _extends2["default"])({
64
70
  to: to,
65
71
  columns: [1, 1, 'auto 1fr auto'],
@@ -13,12 +13,12 @@ var _jsxRuntime = require("theme-ui/jsx-runtime");
13
13
  var _default = {
14
14
  title: 'OptionRow',
15
15
  component: _.OptionRow
16
- }; // eslint-disable-next-line max-len
17
-
16
+ };
18
17
  exports["default"] = _default;
19
- var image1 = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='79' height='79' viewBox='0 0 79 79' fill='none' %3E%3Cpath d='M71.4 15.3L54.2 4.2C54 4 53.7 4 53.4 4H26.4C26.1 4 25.8 4.1 25.6 4.2L8.29997 15.3C7.89997 15.6 7.59998 16 7.59998 16.5V32.1V63C7.59998 63.5 7.89997 64 8.29997 64.2L25.5 75.3C25.5 75.3 25.6 75.3 25.6 75.4C25.6 75.4 25.7 75.4 25.7 75.5C25.9 75.6 26 75.6 26.2 75.6H53.2C53.4 75.6 53.5 75.6 53.7 75.5C53.8 75.5 53.8 75.5 53.8 75.4C53.8 75.4 53.9 75.4 53.9 75.3L71.4 64.2C71.5 64.1 71.7 64 71.8 63.8C71.8 63.8 71.8 63.7 71.9 63.7C72 63.6 72.1 63.4 72.1 63.2V63.1C72.1 63 72.1 62.9 72.1 62.8V32.1V16.5C72.1 16 71.8 15.6 71.4 15.3ZM24.9 71.4L10.6 62.2V34.8L24.9 44V71.4ZM51.9 72.6H27.8V44.7H51.9V72.6ZM69.1 31.3L52.9 41.7H26.8L10.6 31.3V17.3L26.8 6.9H52.9L69.1 17.3V31.3Z' fill='%23BD9D70' /%3E%3C/svg%3E"; // eslint-disable-next-line max-len
20
-
21
- var image2 = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='79' height='79' viewBox='0 0 79 79' fill='none'%3E%3Cpath d='M66.3001 15.9C66.3001 15.9 66.3 15.8 66.2 15.8C66.1 15.7 66 15.5 65.9001 15.4C65.9001 15.4 65.9001 15.4 65.9001 15.3L44.4001 0.2C44.3001 0.0999998 44.2 0.0999994 44.1 0.0999994C44 0.0999994 44.0001 0 43.9001 0H43.3C43.2 0 43.1 0.0999994 43.1 0.0999994C43 0.0999994 42.9 0.2 42.8 0.2L28.2001 10.3C28.1 10.4 28.0001 10.5 27.9001 10.6C27.9001 10.6 27.9001 10.6 27.9001 10.7C27.8001 10.8 27.7001 11 27.7001 11.2C27.7001 11.2 27.7001 11.2 27.7001 11.3V31.1L13.9 40.8L13.7001 41C13.6001 41.1 13.6 41.1 13.6 41.2L13.5 41.3C13.5 41.4 13.4 41.5 13.4 41.5V41.6C13.4 41.7 13.3 41.8 13.3 42V62.2C13.3 62.4 13.3 62.6 13.4 62.7V62.8C13.5 62.9 13.6001 63.1 13.7001 63.2C13.7001 63.2 13.7 63.2 13.8 63.3L13.9 63.4L35.3 78.6H35.4001C35.4001 78.6 35.5 78.6 35.5 78.7H35.6C35.8 78.8 36 78.8 36.2001 78.8C36.3001 78.8 36.5 78.8 36.6 78.7H36.7001C36.8001 78.7 36.8001 78.7 36.9001 78.6C36.9001 78.6 37 78.6 37 78.5H37.1L66 58.3C66.1 58.2 66.2001 58.1 66.3001 58V15.9ZM34.6 74.5L16.1 61.3V44.7L34.6 57.8V74.5ZM36 55.3L17.2001 41.9L29 33.5L47.9001 46.9L36 55.3ZM49 44.1L30.5 31V14.4L49 27.5V44.1ZM50.5 24.9L31.6 11.5L43.5 3.2L62.4001 16.6L50.5 24.9Z' fill='%23BD9D70'/%3E%3C/svg%3E";
18
+ var image1 = // eslint-disable-next-line max-len
19
+ "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='79' height='79' viewBox='0 0 79 79' fill='none' %3E%3Cpath d='M71.4 15.3L54.2 4.2C54 4 53.7 4 53.4 4H26.4C26.1 4 25.8 4.1 25.6 4.2L8.29997 15.3C7.89997 15.6 7.59998 16 7.59998 16.5V32.1V63C7.59998 63.5 7.89997 64 8.29997 64.2L25.5 75.3C25.5 75.3 25.6 75.3 25.6 75.4C25.6 75.4 25.7 75.4 25.7 75.5C25.9 75.6 26 75.6 26.2 75.6H53.2C53.4 75.6 53.5 75.6 53.7 75.5C53.8 75.5 53.8 75.5 53.8 75.4C53.8 75.4 53.9 75.4 53.9 75.3L71.4 64.2C71.5 64.1 71.7 64 71.8 63.8C71.8 63.8 71.8 63.7 71.9 63.7C72 63.6 72.1 63.4 72.1 63.2V63.1C72.1 63 72.1 62.9 72.1 62.8V32.1V16.5C72.1 16 71.8 15.6 71.4 15.3ZM24.9 71.4L10.6 62.2V34.8L24.9 44V71.4ZM51.9 72.6H27.8V44.7H51.9V72.6ZM69.1 31.3L52.9 41.7H26.8L10.6 31.3V17.3L26.8 6.9H52.9L69.1 17.3V31.3Z' fill='%23BD9D70' /%3E%3C/svg%3E";
20
+ var image2 = // eslint-disable-next-line max-len
21
+ "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='79' height='79' viewBox='0 0 79 79' fill='none'%3E%3Cpath d='M66.3001 15.9C66.3001 15.9 66.3 15.8 66.2 15.8C66.1 15.7 66 15.5 65.9001 15.4C65.9001 15.4 65.9001 15.4 65.9001 15.3L44.4001 0.2C44.3001 0.0999998 44.2 0.0999994 44.1 0.0999994C44 0.0999994 44.0001 0 43.9001 0H43.3C43.2 0 43.1 0.0999994 43.1 0.0999994C43 0.0999994 42.9 0.2 42.8 0.2L28.2001 10.3C28.1 10.4 28.0001 10.5 27.9001 10.6C27.9001 10.6 27.9001 10.6 27.9001 10.7C27.8001 10.8 27.7001 11 27.7001 11.2C27.7001 11.2 27.7001 11.2 27.7001 11.3V31.1L13.9 40.8L13.7001 41C13.6001 41.1 13.6 41.1 13.6 41.2L13.5 41.3C13.5 41.4 13.4 41.5 13.4 41.5V41.6C13.4 41.7 13.3 41.8 13.3 42V62.2C13.3 62.4 13.3 62.6 13.4 62.7V62.8C13.5 62.9 13.6001 63.1 13.7001 63.2C13.7001 63.2 13.7 63.2 13.8 63.3L13.9 63.4L35.3 78.6H35.4001C35.4001 78.6 35.5 78.6 35.5 78.7H35.6C35.8 78.8 36 78.8 36.2001 78.8C36.3001 78.8 36.5 78.8 36.6 78.7H36.7001C36.8001 78.7 36.8001 78.7 36.9001 78.6C36.9001 78.6 37 78.6 37 78.5H37.1L66 58.3C66.1 58.2 66.2001 58.1 66.3001 58V15.9ZM34.6 74.5L16.1 61.3V44.7L34.6 57.8V74.5ZM36 55.3L17.2001 41.9L29 33.5L47.9001 46.9L36 55.3ZM49 44.1L30.5 31V14.4L49 27.5V44.1ZM50.5 24.9L31.6 11.5L43.5 3.2L62.4001 16.6L50.5 24.9Z' fill='%23BD9D70'/%3E%3C/svg%3E";
22
22
 
23
23
  var Default = function Default() {
24
24
  return (0, _jsxRuntime.jsxs)(_.Box, {
@@ -19,8 +19,8 @@ var _jsxRuntime = require("theme-ui/jsx-runtime");
19
19
  */
20
20
 
21
21
  /**
22
- * Internal dependencies
23
- */
22
+ * Internal dependencies
23
+ */
24
24
  describe('<OptionRow />', function () {
25
25
  it('renders the OptionRow', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
26
26
  var _render, container;
@@ -59,8 +59,8 @@ describe('<OptionRow />', function () {
59
59
  while (1) {
60
60
  switch (_context2.prev = _context2.next) {
61
61
  case 0:
62
- // eslint-disable-next-line max-len
63
- image1 = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='79' height='79' viewBox='0 0 79 79' fill='none' %3E%3Cpath d='M71.4 15.3L54.2 4.2C54 4 53.7 4 53.4 4H26.4C26.1 4 25.8 4.1 25.6 4.2L8.29997 15.3C7.89997 15.6 7.59998 16 7.59998 16.5V32.1V63C7.59998 63.5 7.89997 64 8.29997 64.2L25.5 75.3C25.5 75.3 25.6 75.3 25.6 75.4C25.6 75.4 25.7 75.4 25.7 75.5C25.9 75.6 26 75.6 26.2 75.6H53.2C53.4 75.6 53.5 75.6 53.7 75.5C53.8 75.5 53.8 75.5 53.8 75.4C53.8 75.4 53.9 75.4 53.9 75.3L71.4 64.2C71.5 64.1 71.7 64 71.8 63.8C71.8 63.8 71.8 63.7 71.9 63.7C72 63.6 72.1 63.4 72.1 63.2V63.1C72.1 63 72.1 62.9 72.1 62.8V32.1V16.5C72.1 16 71.8 15.6 71.4 15.3ZM24.9 71.4L10.6 62.2V34.8L24.9 44V71.4ZM51.9 72.6H27.8V44.7H51.9V72.6ZM69.1 31.3L52.9 41.7H26.8L10.6 31.3V17.3L26.8 6.9H52.9L69.1 17.3V31.3Z' fill='%23BD9D70' /%3E%3C/svg%3E";
62
+ image1 = // eslint-disable-next-line max-len
63
+ "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='79' height='79' viewBox='0 0 79 79' fill='none' %3E%3Cpath d='M71.4 15.3L54.2 4.2C54 4 53.7 4 53.4 4H26.4C26.1 4 25.8 4.1 25.6 4.2L8.29997 15.3C7.89997 15.6 7.59998 16 7.59998 16.5V32.1V63C7.59998 63.5 7.89997 64 8.29997 64.2L25.5 75.3C25.5 75.3 25.6 75.3 25.6 75.4C25.6 75.4 25.7 75.4 25.7 75.5C25.9 75.6 26 75.6 26.2 75.6H53.2C53.4 75.6 53.5 75.6 53.7 75.5C53.8 75.5 53.8 75.5 53.8 75.4C53.8 75.4 53.9 75.4 53.9 75.3L71.4 64.2C71.5 64.1 71.7 64 71.8 63.8C71.8 63.8 71.8 63.7 71.9 63.7C72 63.6 72.1 63.4 72.1 63.2V63.1C72.1 63 72.1 62.9 72.1 62.8V32.1V16.5C72.1 16 71.8 15.6 71.4 15.3ZM24.9 71.4L10.6 62.2V34.8L24.9 44V71.4ZM51.9 72.6H27.8V44.7H51.9V72.6ZM69.1 31.3L52.9 41.7H26.8L10.6 31.3V17.3L26.8 6.9H52.9L69.1 17.3V31.3Z' fill='%23BD9D70' /%3E%3C/svg%3E";
64
64
  _render2 = (0, _react.render)((0, _jsxRuntime.jsx)(_OptionRow.OptionRow, {
65
65
  image: image1,
66
66
  label: "Option Row",
@@ -9,6 +9,8 @@ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
+ var _react = require("react");
13
+
12
14
  var _ = require("..");
13
15
 
14
16
  var _jsxRuntime = require("theme-ui/jsx-runtime");
@@ -85,6 +87,37 @@ var ResourceList = function ResourceList(_ref) {
85
87
  });
86
88
  };
87
89
 
90
+ var renderGoupedItems = function renderGoupedItems() {
91
+ return (0, _react.useMemo)(function () {
92
+ return Object.keys(groupedItems).map(function (groupName, index) {
93
+ return (0, _jsxRuntime.jsxs)(_.Box, {
94
+ sx: {
95
+ mb: 4
96
+ },
97
+ as: "li",
98
+ children: [(0, _jsxRuntime.jsx)(_.Heading, {
99
+ variant: "h4",
100
+ as: "h4",
101
+ sx: {
102
+ mb: 3
103
+ },
104
+ children: groupName
105
+ }), (0, _jsxRuntime.jsx)(_.Box, {
106
+ as: "ul",
107
+ sx: {
108
+ listStyleType: 'none',
109
+ m: 0,
110
+ p: 0,
111
+ borderTop: '1px solid',
112
+ borderColor: 'border'
113
+ },
114
+ children: renderItemList(groupedItems[groupName])
115
+ })]
116
+ }, index);
117
+ });
118
+ }, [groupedItems]);
119
+ };
120
+
88
121
  return (0, _jsxRuntime.jsx)(_.Box, {
89
122
  as: "ul",
90
123
  sx: {
@@ -93,31 +126,7 @@ var ResourceList = function ResourceList(_ref) {
93
126
  p: 0
94
127
  },
95
128
  className: "vip-resource-list-component",
96
- children: groupedByDay ? Object.keys(groupedItems).map(function (groupName, index) {
97
- return (0, _jsxRuntime.jsxs)(_.Box, {
98
- sx: {
99
- mb: 4
100
- },
101
- children: [(0, _jsxRuntime.jsx)(_.Heading, {
102
- variant: "h4",
103
- as: "h4",
104
- sx: {
105
- mb: 3
106
- },
107
- children: groupName
108
- }), (0, _jsxRuntime.jsx)(_.Box, {
109
- as: "ul",
110
- sx: {
111
- listStyleType: 'none',
112
- m: 0,
113
- p: 0,
114
- borderTop: '1px solid',
115
- borderColor: 'border'
116
- },
117
- children: renderItemList(groupedItems[groupName])
118
- })]
119
- }, index);
120
- }) : renderItemList(items)
129
+ children: groupedByDay ? renderGoupedItems(groupedItems) : renderItemList(items)
121
130
  });
122
131
  };
123
132
 
@@ -129,6 +129,7 @@ var Grouped = function Grouped() {
129
129
  children: "#443"
130
130
  })]
131
131
  }), (0, _jsxRuntime.jsxs)(_.Text, {
132
+ as: "div",
132
133
  sx: {
133
134
  mb: 0,
134
135
  fontSize: 1,
@@ -337,6 +338,7 @@ var Relative = function Relative() {
337
338
  children: "Running"
338
339
  })]
339
340
  }), (0, _jsxRuntime.jsxs)(_.Text, {
341
+ as: "div",
340
342
  sx: {
341
343
  mb: 0,
342
344
  color: 'muted',
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+
7
+ var _react = require("@testing-library/react");
8
+
9
+ require("@testing-library/jest-dom");
10
+
11
+ var _ScreenReaderText = _interopRequireDefault(require("./ScreenReaderText"));
12
+
13
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
14
+
15
+ /**
16
+ * External dependencies
17
+ */
18
+
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+ describe('<ScreenReaderText />', function () {
23
+ it('should render correctly', function () {
24
+ var props = {};
25
+ var text = 'Hello there';
26
+
27
+ var _render = (0, _react.render)((0, _jsxRuntime.jsx)(_ScreenReaderText["default"], (0, _extends2["default"])({}, props, {
28
+ children: text
29
+ }))),
30
+ container = _render.container; // we're using the querySelector to ensure the class is rendered since it affects the A11Y
31
+ // in case it's removed it could compromise the A11Y of the components using it.
32
+
33
+
34
+ expect(container.querySelector('.screen-reader-text')).toBeInTheDocument();
35
+ expect(_react.screen.queryByText(text)).toBeInTheDocument();
36
+ });
37
+ });
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = ScreenReaderText;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
13
+
14
+ /** @jsxImportSource theme-ui */
15
+
16
+ /**
17
+ * External dependencies
18
+ */
19
+
20
+ /**
21
+ * Internal dependencies
22
+ */
23
+ function ScreenReaderText(props) {
24
+ return (0, _jsxRuntime.jsx)("span", (0, _extends2["default"])({
25
+ className: "screen-reader-text",
26
+ sx: {
27
+ border: 'none',
28
+ clip: 'rect(1px, 1px, 1px, 1px)',
29
+ clipPath: 'inset(50%)',
30
+ height: '1px',
31
+ margin: '-1px',
32
+ overflow: 'hidden',
33
+ padding: '0',
34
+ position: 'absolute',
35
+ width: '1px',
36
+ wordWrap: 'normal !important'
37
+ }
38
+ }, props, {
39
+ children: props.children
40
+ }));
41
+ }
42
+ /**
43
+ * propTypes
44
+ */
45
+
46
+
47
+ ScreenReaderText.propTypes = {
48
+ children: _propTypes["default"].node.isRequired
49
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _ScreenReaderText = require("./ScreenReaderText");
6
+
7
+ exports.ScreenReaderText = _ScreenReaderText.ScreenReaderText;
@@ -23,8 +23,8 @@ var Default = function Default() {
23
23
  head: true,
24
24
  cells: ['User', 'Command', 'Duration', 'Time']
25
25
  })
26
- }), (0, _jsxRuntime.jsx)("tbody", {
27
- children: (0, _jsxRuntime.jsx)(_.TableRow, {
26
+ }), (0, _jsxRuntime.jsxs)("tbody", {
27
+ children: [(0, _jsxRuntime.jsx)(_.TableRow, {
28
28
  cells: [(0, _jsxRuntime.jsx)(_.Flex, {
29
29
  sx: {
30
30
  alignItems: 'center'
@@ -56,7 +56,50 @@ var Default = function Default() {
56
56
  },
57
57
  children: "11th Mar 2020, 16:49:22"
58
58
  }, "time")]
59
- })
59
+ }), (0, _jsxRuntime.jsxs)(_.TableRow, {
60
+ children: [(0, _jsxRuntime.jsx)(_.TableCell, {
61
+ sx: {
62
+ backgroundColor: 'lightgray'
63
+ },
64
+ children: (0, _jsxRuntime.jsx)(_.Flex, {
65
+ sx: {
66
+ alignItems: 'center'
67
+ },
68
+ children: (0, _jsxRuntime.jsx)(_.Heading, {
69
+ variant: "h4",
70
+ sx: {
71
+ mb: 0
72
+ },
73
+ children: "simon"
74
+ })
75
+ }, "user")
76
+ }), (0, _jsxRuntime.jsx)(_.TableCell, {
77
+ children: (0, _jsxRuntime.jsx)(_.Heading, {
78
+ variant: "h4",
79
+ sx: {
80
+ mb: 0,
81
+ display: 'flex',
82
+ alignItems: 'center'
83
+ },
84
+ children: "wp posts list"
85
+ }, "command")
86
+ }), (0, _jsxRuntime.jsx)(_.TableCell, {
87
+ children: (0, _jsxRuntime.jsx)(_.Text, {
88
+ sx: {
89
+ mb: 0
90
+ },
91
+ children: "3s"
92
+ }, "duration")
93
+ }), (0, _jsxRuntime.jsx)(_.TableCell, {
94
+ children: (0, _jsxRuntime.jsx)(_.Text, {
95
+ sx: {
96
+ mb: 0,
97
+ color: 'muted'
98
+ },
99
+ children: "3rd May 2021, 13:22:13"
100
+ }, "time")
101
+ })]
102
+ })]
60
103
  })]
61
104
  });
62
105
  };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.TableCell = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _ = require("../");
15
+
16
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
17
+
18
+ var _excluded = ["head", "children"];
19
+
20
+ var TableCell = function TableCell(_ref) {
21
+ var head = _ref.head,
22
+ children = _ref.children,
23
+ rest = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
24
+ var sx = (0, _extends2["default"])({
25
+ borderBottom: '1px solid',
26
+ borderTop: head ? '1px solid' : 'none',
27
+ // borderColor should come after borderTop so it can override it
28
+ borderColor: 'border',
29
+ fontWeight: 'body',
30
+ px: 3,
31
+ py: 2,
32
+ textAlign: 'left',
33
+ '&:first-of-type': {
34
+ pl: 5
35
+ }
36
+ }, rest.sx);
37
+ return (0, _jsxRuntime.jsx)(_.Box, (0, _extends2["default"])({
38
+ as: head ? 'th' : 'td'
39
+ }, (0, _extends2["default"])({}, rest, {
40
+ sx: sx
41
+ }), {
42
+ children: head ? (0, _jsxRuntime.jsx)(_.Heading, {
43
+ variant: "caps",
44
+ as: "div",
45
+ sx: {
46
+ mb: 0
47
+ },
48
+ children: children
49
+ }) : children
50
+ }));
51
+ };
52
+
53
+ exports.TableCell = TableCell;
54
+ TableCell.propTypes = {
55
+ children: _propTypes["default"].node,
56
+ head: _propTypes["default"].bool
57
+ };