@automattic/vip-design-system 0.7.1 → 0.9.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 (115) 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 +5 -1
  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 +2 -1
  17. package/build/system/Code/Code.js +4 -4
  18. package/build/system/ConfirmationDialog/ConfirmationDialog.js +1 -1
  19. package/build/system/Dialog/DialogButton.js +2 -4
  20. package/build/system/Dialog/DialogContent.js +5 -5
  21. package/build/system/Form/InlineSelect.js +28 -16
  22. package/build/system/Form/Input.js +3 -2
  23. package/build/system/Form/Label.js +2 -2
  24. package/build/system/Form/RadioBoxGroup.js +0 -2
  25. package/build/system/Form/SearchSelect.js +36 -56
  26. package/build/system/Form/Select.js +3 -3
  27. package/build/system/Form/Textarea.js +3 -2
  28. package/build/system/Form/Toggle.js +1 -1
  29. package/build/system/Form/ToggleGroup.js +0 -4
  30. package/build/system/Form/ToggleRow.js +5 -4
  31. package/build/system/Form/Validation.js +4 -4
  32. package/build/system/Notice/Notice.js +58 -54
  33. package/build/system/Notification/Notification.js +3 -3
  34. package/build/system/OptionRow/OptionRow.js +11 -10
  35. package/build/system/ResourceList/ResourceItem.js +89 -0
  36. package/build/system/ResourceList/ResourceList.js +121 -0
  37. package/build/system/ResourceList/index.js +11 -0
  38. package/build/system/Table/TableRow.js +1 -1
  39. package/build/system/Tabs/TabItem.js +2 -2
  40. package/build/system/Tabs/Tabs.js +1 -1
  41. package/build/system/Time/index.js +91 -0
  42. package/build/system/Tooltip/Tooltip.js +49 -47
  43. package/build/system/Wizard/WizardStep.js +4 -4
  44. package/build/system/Wizard/WizardStepHorizontal.js +2 -2
  45. package/build/system/index.js +7 -2
  46. package/build/system/theme/colors.js +235 -131
  47. package/build/system/theme/index.js +128 -107
  48. package/package.json +48 -13
  49. package/src/system/Avatar/Avatar.js +5 -1
  50. package/src/system/Avatar/Avatar.stories.js +0 -5
  51. package/src/system/Avatar/Avatar.test.js +31 -0
  52. package/src/system/Badge/Badge.js +3 -3
  53. package/src/system/Badge/Badge.stories.js +0 -5
  54. package/src/system/BlankState/BlankState.js +5 -5
  55. package/src/system/BlankState/BlankState.stories.js +0 -5
  56. package/src/system/Box/Box.stories.js +0 -5
  57. package/src/system/Button/Button.js +6 -2
  58. package/src/system/Card/Card.js +16 -12
  59. package/src/system/Card/Card.stories.js +0 -5
  60. package/src/system/Code/Code.js +4 -4
  61. package/src/system/Code/Code.stories.js +4 -1
  62. package/src/system/ConfirmationDialog/ConfirmationDialog.js +1 -1
  63. package/src/system/ConfirmationDialog/ConfirmationDialog.stories.js +0 -5
  64. package/src/system/Dialog/Dialog.stories.js +0 -5
  65. package/src/system/Dialog/DialogButton.js +2 -3
  66. package/src/system/Dialog/DialogContent.js +17 -4
  67. package/src/system/Flex/Flex.stories.js +0 -5
  68. package/src/system/Form/InlineSelect.js +28 -15
  69. package/src/system/Form/Input.js +3 -1
  70. package/src/system/Form/Input.stories.js +0 -5
  71. package/src/system/Form/Label.js +2 -2
  72. package/src/system/Form/RadioBoxGroup.js +1 -2
  73. package/src/system/Form/RadioBoxGroup.stories.js +4 -5
  74. package/src/system/Form/SearchSelect.js +35 -42
  75. package/src/system/Form/Select.js +18 -18
  76. package/src/system/Form/Select.stories.js +1 -1
  77. package/src/system/Form/Textarea.js +3 -1
  78. package/src/system/Form/Toggle.js +1 -1
  79. package/src/system/Form/ToggleGroup.js +34 -37
  80. package/src/system/Form/ToggleGroup.stories.js +30 -32
  81. package/src/system/Form/ToggleRow.js +4 -4
  82. package/src/system/Form/Validation.js +2 -2
  83. package/src/system/Grid/Grid.stories.js +0 -5
  84. package/src/system/Heading/Heading.stories.js +0 -5
  85. package/src/system/Link/Link.stories.js +0 -5
  86. package/src/system/Notice/Notice.js +33 -28
  87. package/src/system/Notification/Notification.js +5 -5
  88. package/src/system/Notification/Notification.stories.js +0 -5
  89. package/src/system/OptionRow/OptionRow.js +36 -31
  90. package/src/system/OptionRow/OptionRow.stories.js +0 -5
  91. package/src/system/Progress/Progress.stories.js +0 -5
  92. package/src/system/ResourceList/ResourceItem.js +66 -0
  93. package/src/system/ResourceList/ResourceList.js +96 -0
  94. package/src/system/ResourceList/ResourceList.stories.js +300 -0
  95. package/src/system/ResourceList/index.js +7 -0
  96. package/src/system/Spinner/Spinner.stories.js +0 -5
  97. package/src/system/Table/Table.stories.js +0 -5
  98. package/src/system/Table/TableRow.js +2 -2
  99. package/src/system/Tabs/TabItem.js +2 -2
  100. package/src/system/Tabs/Tabs.js +1 -1
  101. package/src/system/Tabs/Tabs.stories.js +0 -5
  102. package/src/system/Text/Text.stories.js +0 -5
  103. package/src/system/{Timeline/Timeline.stories.js → Time/Time.stories.js} +5 -5
  104. package/src/system/Time/index.js +62 -0
  105. package/src/system/Tooltip/Tooltip.js +40 -35
  106. package/src/system/Tooltip/Tooltip.stories.js +0 -5
  107. package/src/system/Wizard/Wizard.js +7 -7
  108. package/src/system/Wizard/WizardStep.js +9 -9
  109. package/src/system/Wizard/WizardStepHorizontal.js +3 -3
  110. package/src/system/index.js +27 -4
  111. package/src/system/theme/colors.js +233 -129
  112. package/src/system/theme/index.js +290 -260
  113. package/test/setupAfterEnv.js +13 -0
  114. package/test/setupTests.js +4 -0
  115. package/src/system/Timeline/index.js +0 -40
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.ResourceList = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ var _ = require("..");
9
+
10
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+
16
+ var formatterOptions = {
17
+ weekday: 'long',
18
+ year: 'numeric',
19
+ month: 'long',
20
+ day: 'numeric'
21
+ };
22
+
23
+ var formatDate = function formatDate(date) {
24
+ var today = new Date();
25
+
26
+ if (date.getFullYear() !== today.getFullYear()) {
27
+ return date.toLocaleDateString(formatterOptions);
28
+ } else if (date.getMonth() !== today.getMonth()) {
29
+ return date.toLocaleDateString(formatterOptions);
30
+ } else if (date.getDate() < today.getDate() - 1) {
31
+ return date.toLocaleDateString(formatterOptions);
32
+ } else if (date.getDate() === today.getDate() - 1) {
33
+ return 'Yesterday';
34
+ }
35
+
36
+ return 'Today';
37
+ };
38
+
39
+ var StyledListItem = function StyledListItem(props) {
40
+ return (0, _jsxRuntime.jsx)(_.Box, _extends({
41
+ as: "li",
42
+ sx: {
43
+ py: 2,
44
+ borderBottom: '1px solid',
45
+ borderColor: 'border',
46
+ listStyleType: 'none',
47
+ margin: 0,
48
+ px: 0
49
+ }
50
+ }, props));
51
+ };
52
+
53
+ var ResourceList = function ResourceList(_ref) {
54
+ var _ref$groupedByDay = _ref.groupedByDay,
55
+ groupedByDay = _ref$groupedByDay === void 0 ? false : _ref$groupedByDay,
56
+ items = _ref.items,
57
+ renderItem = _ref.renderItem,
58
+ dateKey = _ref.dateKey;
59
+ var groupedItems = {};
60
+
61
+ if (groupedByDay) {
62
+ groupedItems = items == null ? void 0 : items.reduce(function (itemGroups, item) {
63
+ var _extends2;
64
+
65
+ var formattedDate = formatDate(item[dateKey]);
66
+ var itemsAtDate = itemGroups[formattedDate];
67
+ return _extends({}, itemGroups, (_extends2 = {}, _extends2[formattedDate] = itemsAtDate ? [].concat(itemsAtDate, [item]) : [item], _extends2));
68
+ }, {});
69
+ }
70
+
71
+ var renderItemList = function renderItemList(itemsList) {
72
+ return itemsList.map(function (item, index) {
73
+ return (0, _jsxRuntime.jsx)(StyledListItem, {
74
+ children: renderItem(item)
75
+ }, index);
76
+ });
77
+ };
78
+
79
+ return (0, _jsxRuntime.jsx)(_.Box, {
80
+ as: "ul",
81
+ sx: {
82
+ listStyleType: 'none',
83
+ m: 0,
84
+ p: 0
85
+ },
86
+ children: groupedByDay ? Object.keys(groupedItems).map(function (groupName, index) {
87
+ return (0, _jsxRuntime.jsxs)(_.Box, {
88
+ sx: {
89
+ mb: 4
90
+ },
91
+ children: [(0, _jsxRuntime.jsx)(_.Heading, {
92
+ variant: "h4",
93
+ as: "h4",
94
+ sx: {
95
+ mb: 3
96
+ },
97
+ children: groupName
98
+ }), (0, _jsxRuntime.jsx)(_.Box, {
99
+ as: "ul",
100
+ sx: {
101
+ listStyleType: 'none',
102
+ m: 0,
103
+ p: 0,
104
+ borderTop: '1px solid',
105
+ borderColor: 'border'
106
+ },
107
+ children: renderItemList(groupedItems[groupName])
108
+ })]
109
+ }, index);
110
+ }) : renderItemList(items)
111
+ });
112
+ };
113
+
114
+ exports.ResourceList = ResourceList;
115
+ ResourceList.propTypes = {
116
+ groupedByDay: _propTypes["default"].bool,
117
+ items: _propTypes["default"].array,
118
+ renderItem: _propTypes["default"].func,
119
+ relativeTime: _propTypes["default"].bool,
120
+ dateKey: _propTypes["default"].string
121
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _ResourceList = require("./ResourceList");
6
+
7
+ exports.ResourceList = _ResourceList.ResourceList;
8
+
9
+ var _ResourceItem = require("./ResourceItem");
10
+
11
+ exports.ResourceItem = _ResourceItem.ResourceItem;
@@ -99,7 +99,7 @@ var TableCell = function TableCell(_ref2) {
99
99
  TableCell.propTypes = {
100
100
  head: _propTypes["default"].bool,
101
101
  isRowHead: _propTypes["default"].bool,
102
- cell: _propTypes["default"].array
102
+ cell: _propTypes["default"].node
103
103
  };
104
104
  TableRow.propTypes = {
105
105
  onClick: _propTypes["default"].func,
@@ -39,9 +39,9 @@ var TabItem = function TabItem(_ref) {
39
39
  borderTop: 'none',
40
40
  borderLeft: 'none',
41
41
  borderRight: 'none',
42
- borderBottom: '2px solid',
42
+ borderBottom: '1px solid',
43
43
  borderColor: active ? 'link' : 'transparent',
44
- transform: 'translateY(2px)',
44
+ transform: 'translateY(1px)',
45
45
  '&:visited': {
46
46
  color: active ? 'heading' : 'muted'
47
47
  },
@@ -23,7 +23,7 @@ var Tabs = function Tabs(_ref) {
23
23
 
24
24
  return (0, _jsxRuntime.jsx)(_.Flex, _extends({
25
25
  sx: _extends({
26
- borderBottom: '2px solid',
26
+ borderBottom: '1px solid',
27
27
  borderColor: 'border',
28
28
  listStyleType: 'none',
29
29
  margin: 0,
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.Time = void 0;
5
+
6
+ var _themeUi = require("theme-ui");
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
11
+
12
+ var _excluded = ["time", "relativeTime", "timeOnly"];
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+
18
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
19
+
20
+ var formatter = new Intl.RelativeTimeFormat(undefined, {
21
+ numeric: 'auto'
22
+ });
23
+ var DIVISIONS = [{
24
+ amount: 60,
25
+ name: 'seconds'
26
+ }, {
27
+ amount: 60,
28
+ name: 'minutes'
29
+ }, {
30
+ amount: 24,
31
+ name: 'hours'
32
+ }, {
33
+ amount: 7,
34
+ name: 'days'
35
+ }, {
36
+ amount: 12,
37
+ name: 'months'
38
+ }, {
39
+ amount: Number.POSITIVE_INFINITY,
40
+ name: 'years'
41
+ }];
42
+
43
+ function formatTimeAgo(date) {
44
+ var duration = (date - new Date()) / 1000;
45
+
46
+ for (var i = 0; i <= DIVISIONS.length; i++) {
47
+ var division = DIVISIONS[i];
48
+
49
+ if (Math.abs(duration) < division.amount) {
50
+ return formatter.format(Math.round(duration), division.name);
51
+ }
52
+
53
+ duration /= division.amount;
54
+ }
55
+ }
56
+
57
+ var Time = function Time(_ref) {
58
+ var time = _ref.time,
59
+ _ref$relativeTime = _ref.relativeTime,
60
+ relativeTime = _ref$relativeTime === void 0 ? false : _ref$relativeTime,
61
+ _ref$timeOnly = _ref.timeOnly,
62
+ timeOnly = _ref$timeOnly === void 0 ? false : _ref$timeOnly,
63
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
64
+
65
+ var formattedTime;
66
+
67
+ if (relativeTime) {
68
+ formattedTime = formatTimeAgo(time);
69
+ } else if (timeOnly) {
70
+ formattedTime = time.toLocaleTimeString();
71
+ } else {
72
+ formattedTime = time.toLocaleString();
73
+ }
74
+
75
+ return (0, _jsxRuntime.jsx)(_themeUi.Text, _extends({
76
+ title: time.toLocaleString('sv', {
77
+ timeZoneName: 'short'
78
+ }),
79
+ datetime: time,
80
+ as: "time"
81
+ }, props, {
82
+ children: formattedTime
83
+ }));
84
+ };
85
+
86
+ exports.Time = Time;
87
+ Time.propTypes = {
88
+ time: _propTypes["default"].string,
89
+ timeOnly: _propTypes["default"].bool,
90
+ relativeTime: _propTypes["default"].bool
91
+ };
@@ -7,19 +7,31 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
7
7
 
8
8
  var _md = require("react-icons/md");
9
9
 
10
- var _react = require("react");
10
+ var TTip = _interopRequireWildcard(require("@radix-ui/react-tooltip"));
11
11
 
12
12
  var _ = require("..");
13
13
 
14
14
  var _jsxRuntime = require("theme-ui/jsx-runtime");
15
15
 
16
- var _excluded = ["trigger", "text", "width", "children"];
16
+ var _excluded = ["trigger", "text", "width", "children", "tooltipProps"];
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
21
 
18
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
23
 
24
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
+
20
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
27
 
22
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28
+ var StyledArrow = function StyledArrow(props) {
29
+ return (0, _jsxRuntime.jsx)(TTip.Arrow, _extends({
30
+ sx: {
31
+ fill: 'white'
32
+ }
33
+ }, props));
34
+ };
23
35
 
24
36
  var Tooltip = function Tooltip(_ref) {
25
37
  var _ref$trigger = _ref.trigger,
@@ -29,28 +41,11 @@ var Tooltip = function Tooltip(_ref) {
29
41
  _ref$width = _ref.width,
30
42
  width = _ref$width === void 0 ? 200 : _ref$width,
31
43
  children = _ref.children,
44
+ tooltipProps = _ref.tooltipProps,
32
45
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
33
46
 
34
- var _useState = (0, _react.useState)({
35
- left: 0,
36
- top: '100%'
37
- }),
38
- position = _useState[0],
39
- setPosition = _useState[1];
40
-
41
- var contentRef = (0, _react.useCallback)(function (node) {
42
- if (node !== null) {
43
- var outerX = window.innerWidth;
44
- var outerY = window.innerHeight;
45
- var bounds = node.getBoundingClientRect();
46
- console.log('bounds:', bounds);
47
- setPosition({
48
- left: bounds.x + bounds.width > outerX ? -bounds.width : 0,
49
- top: bounds.y + bounds.height > outerY ? -bounds.height : '100%'
50
- });
51
- }
52
- }, []);
53
- return (0, _jsxRuntime.jsxs)(_.Box, {
47
+ return (0, _jsxRuntime.jsx)(TTip.Root, _extends({
48
+ skipDelayDuration: 700,
54
49
  sx: {
55
50
  display: 'inline-block',
56
51
  position: 'relative',
@@ -65,34 +60,41 @@ var Tooltip = function Tooltip(_ref) {
65
60
  visibility: 'visible'
66
61
  }
67
62
  }
68
- },
69
- children: [(0, _jsxRuntime.jsx)(_.Box, {
70
- children: trigger
71
- }), (0, _jsxRuntime.jsx)(_.Card, _extends({
72
- ref: contentRef,
73
- className: "tooltip-content",
63
+ }
64
+ }, tooltipProps, {
65
+ children: (0, _jsxRuntime.jsxs)(TTip.Trigger, {
74
66
  sx: {
75
- position: 'absolute',
76
- zIndex: 100,
77
- left: position.left,
78
- top: position.top,
79
- width: width
80
- }
81
- }, props, {
82
- children: children ? children : (0, _jsxRuntime.jsx)(_.Text, {
83
- sx: {
84
- fontSize: 1
85
- },
86
- children: text
87
- })
88
- }))]
89
- });
67
+ background: 'transparent',
68
+ border: 'none',
69
+ display: 'inline-flex',
70
+ outline: 'none',
71
+ p: 0,
72
+ m: 0
73
+ },
74
+ children: [trigger, (0, _jsxRuntime.jsxs)(TTip.Content, {
75
+ children: [(0, _jsxRuntime.jsx)(_.Card, _extends({
76
+ className: "tooltip-content",
77
+ sx: {
78
+ width: width
79
+ }
80
+ }, props, {
81
+ children: children ? children : (0, _jsxRuntime.jsx)(_.Text, {
82
+ sx: {
83
+ fontSize: 1
84
+ },
85
+ children: text
86
+ })
87
+ })), (0, _jsxRuntime.jsx)(StyledArrow, {})]
88
+ })]
89
+ })
90
+ }));
90
91
  };
91
92
 
92
93
  exports.Tooltip = Tooltip;
93
94
  Tooltip.propTypes = {
94
- trigger: _propTypes["default"].string,
95
- width: _propTypes["default"].number,
95
+ children: _propTypes["default"].object,
96
96
  text: _propTypes["default"].string,
97
- children: _propTypes["default"].object
97
+ tooltipProps: _propTypes["default"].object,
98
+ trigger: _propTypes["default"].string,
99
+ width: _propTypes["default"].number
98
100
  };
@@ -32,7 +32,7 @@ var WizardStep = function WizardStep(_ref) {
32
32
  var borderLeftColor = 'border';
33
33
 
34
34
  if (complete) {
35
- borderLeftColor = 'green.60';
35
+ borderLeftColor = 'success';
36
36
  } else if (active) {
37
37
  borderLeftColor = 'primary';
38
38
  }
@@ -40,7 +40,7 @@ var WizardStep = function WizardStep(_ref) {
40
40
  var color = 'muted';
41
41
 
42
42
  if (complete) {
43
- color = 'green.60';
43
+ color = 'success';
44
44
  } else if (active) {
45
45
  color = 'heading';
46
46
  }
@@ -84,8 +84,8 @@ var WizardStep = function WizardStep(_ref) {
84
84
 
85
85
  exports.WizardStep = WizardStep;
86
86
  WizardStep.propTypes = {
87
- title: _propTypes["default"].string,
88
- subTitle: _propTypes["default"].string,
87
+ title: _propTypes["default"].node,
88
+ subTitle: _propTypes["default"].node,
89
89
  complete: _propTypes["default"].bool,
90
90
  active: _propTypes["default"].bool,
91
91
  children: _propTypes["default"].node.isRequired
@@ -43,7 +43,7 @@ var WizardStepHorizontal = function WizardStepHorizontal(_ref) {
43
43
 
44
44
  exports.WizardStepHorizontal = WizardStepHorizontal;
45
45
  WizardStepHorizontal.propTypes = {
46
- title: _propTypes["default"].string,
47
- subTitle: _propTypes["default"].string,
46
+ title: _propTypes["default"].node,
47
+ subTitle: _propTypes["default"].node,
48
48
  active: _propTypes["default"].bool
49
49
  };
@@ -86,13 +86,18 @@ var _Spinner = require("./Spinner");
86
86
 
87
87
  exports.Spinner = _Spinner.Spinner;
88
88
 
89
+ var _ResourceList = require("./ResourceList");
90
+
91
+ exports.ResourceList = _ResourceList.ResourceList;
92
+ exports.ResourceItem = _ResourceList.ResourceItem;
93
+
89
94
  var _Tooltip = require("./Tooltip");
90
95
 
91
96
  exports.Tooltip = _Tooltip.Tooltip;
92
97
 
93
- var _Timeline = require("./Timeline");
98
+ var _Time = require("./Time");
94
99
 
95
- exports.Timeline = _Timeline.Timeline;
100
+ exports.Time = _Time.Time;
96
101
 
97
102
  var _Notification = require("./Notification");
98
103