@automattic/vip-design-system 0.19.1 → 0.20.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.
- package/README.md +12 -0
- package/build/system/Button/Button.js +5 -0
- package/build/system/Button/Button.stories.js +8 -0
- package/build/system/Heading/Heading.js +7 -3
- package/build/system/Heading/Heading.stories.js +0 -3
- package/build/system/Link/Link.js +2 -1
- package/build/system/NewForm/FormSelect.test.js +79 -7
- package/build/system/Progress/Progress.js +45 -16
- package/build/system/Progress/Progress.stories.js +21 -4
- package/build/system/Table/Table.js +7 -3
- package/build/system/Wizard/Wizard.js +1 -3
- package/build/system/Wizard/Wizard.stories.js +18 -8
- package/build/system/Wizard/WizardStep.js +19 -12
- package/build/system/Wizard/WizardStepHorizontal.js +18 -8
- package/build/system/index.js +0 -5
- package/package.json +2 -1
- package/src/system/Button/Button.js +5 -0
- package/src/system/Button/Button.stories.jsx +3 -0
- package/src/system/Heading/Heading.js +18 -12
- package/src/system/Heading/Heading.stories.jsx +0 -1
- package/src/system/Link/Link.js +1 -0
- package/src/system/NewForm/FormSelect.test.js +38 -0
- package/src/system/Progress/Progress.js +55 -26
- package/src/system/Progress/Progress.stories.jsx +15 -8
- package/src/system/Table/Table.js +6 -2
- package/src/system/Wizard/Wizard.js +1 -2
- package/src/system/Wizard/Wizard.stories.jsx +6 -6
- package/src/system/Wizard/WizardStep.js +23 -25
- package/src/system/Wizard/WizardStepHorizontal.js +13 -7
- package/src/system/index.js +0 -3
- package/src/system/ResourceList/ResourceItem.js +0 -66
- package/src/system/ResourceList/ResourceList.js +0 -108
- package/src/system/ResourceList/ResourceList.stories.jsx +0 -306
- package/src/system/ResourceList/index.js +0 -7
package/README.md
CHANGED
|
@@ -102,3 +102,15 @@ git push origin trunk
|
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
8. For major versions or breaking changes, it's recommended to [create a RELEASE](https://github.com/Automattic/vip-design-system/releases) with the published tag.
|
|
105
|
+
|
|
106
|
+
### Troubleshooting
|
|
107
|
+
|
|
108
|
+
### Dialog + Dropdown usage
|
|
109
|
+
|
|
110
|
+
If you are facing a Dialog overlaping a Dropdown content, add this CSS to your application:
|
|
111
|
+
|
|
112
|
+
```css
|
|
113
|
+
div[data-radix-popper-content-wrapper][data-aria-hidden='true'] {
|
|
114
|
+
opacity: 0;
|
|
115
|
+
}
|
|
116
|
+
```
|
|
@@ -32,6 +32,10 @@ var Button = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRe
|
|
|
32
32
|
justifyContent: 'center',
|
|
33
33
|
height: '36px',
|
|
34
34
|
py: 0,
|
|
35
|
+
textDecoration: props != null && props.to ? 'underline' : 'none',
|
|
36
|
+
'&:hover': {
|
|
37
|
+
textDecoration: 'none'
|
|
38
|
+
},
|
|
35
39
|
'&:focus': function focus(theme) {
|
|
36
40
|
return theme.outline;
|
|
37
41
|
},
|
|
@@ -54,5 +58,6 @@ exports.Button = Button;
|
|
|
54
58
|
Button.displayName = 'Button';
|
|
55
59
|
Button.propTypes = {
|
|
56
60
|
sx: _propTypes["default"].object,
|
|
61
|
+
to: _propTypes["default"].any,
|
|
57
62
|
className: _propTypes["default"].any
|
|
58
63
|
};
|
|
@@ -37,6 +37,14 @@ var Default = function Default() {
|
|
|
37
37
|
ml: 2
|
|
38
38
|
},
|
|
39
39
|
children: "Secondary"
|
|
40
|
+
}), (0, _jsxRuntime.jsx)(_.Button, {
|
|
41
|
+
variant: "text",
|
|
42
|
+
sx: {
|
|
43
|
+
ml: 2
|
|
44
|
+
},
|
|
45
|
+
as: "a",
|
|
46
|
+
href: "https://google/com",
|
|
47
|
+
children: "Button link"
|
|
40
48
|
})]
|
|
41
49
|
});
|
|
42
50
|
};
|
|
@@ -9,6 +9,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
12
14
|
var _themeUi = require("theme-ui");
|
|
13
15
|
|
|
14
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -19,7 +21,7 @@ var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
|
19
21
|
|
|
20
22
|
var _excluded = ["variant", "sx", "className"];
|
|
21
23
|
|
|
22
|
-
var Heading = function
|
|
24
|
+
var Heading = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRef) {
|
|
23
25
|
var _ref$variant = _ref.variant,
|
|
24
26
|
variant = _ref$variant === void 0 ? 'h3' : _ref$variant,
|
|
25
27
|
sx = _ref.sx,
|
|
@@ -33,11 +35,13 @@ var Heading = function Heading(_ref) {
|
|
|
33
35
|
// pass variant prop to sx
|
|
34
36
|
variant: "text." + variant
|
|
35
37
|
}, sx),
|
|
36
|
-
className: (0, _classnames["default"])('vip-heading-component', className)
|
|
38
|
+
className: (0, _classnames["default"])('vip-heading-component', className),
|
|
39
|
+
ref: forwardRef
|
|
37
40
|
}, props));
|
|
38
|
-
};
|
|
41
|
+
});
|
|
39
42
|
|
|
40
43
|
exports.Heading = Heading;
|
|
44
|
+
Heading.displayName = 'Heading';
|
|
41
45
|
Heading.propTypes = {
|
|
42
46
|
variant: _propTypes["default"].string,
|
|
43
47
|
sx: _propTypes["default"].object,
|
|
@@ -4,10 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
|
|
5
5
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
6
|
|
|
7
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
|
-
|
|
9
7
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
8
|
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
|
|
11
11
|
var _react = require("@testing-library/react");
|
|
12
12
|
|
|
13
13
|
var _jestAxe = require("jest-axe");
|
|
@@ -38,6 +38,15 @@ var defaultProps = {
|
|
|
38
38
|
forLabel: 'my_desert_list',
|
|
39
39
|
options: options
|
|
40
40
|
};
|
|
41
|
+
var groupedProps = (0, _extends2["default"])({}, defaultProps, {
|
|
42
|
+
options: [{
|
|
43
|
+
label: 'Group name',
|
|
44
|
+
options: [options[0]]
|
|
45
|
+
}, {
|
|
46
|
+
label: 'Another Group name',
|
|
47
|
+
options: [options[1], options[2]]
|
|
48
|
+
}]
|
|
49
|
+
});
|
|
41
50
|
describe('<FormSelect />', function () {
|
|
42
51
|
it('renders the FormSelect component', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
43
52
|
var _render, container;
|
|
@@ -50,22 +59,85 @@ describe('<FormSelect />', function () {
|
|
|
50
59
|
id: "my_desert_list"
|
|
51
60
|
}, defaultProps))), container = _render.container;
|
|
52
61
|
expect(_react.screen.getByLabelText(defaultProps.label)).toBeInTheDocument();
|
|
53
|
-
expect(_react.screen.getByRole('combobox')).toBeInTheDocument();
|
|
62
|
+
expect(_react.screen.getByRole('combobox')).toBeInTheDocument();
|
|
63
|
+
expect(_react.screen.getAllByRole('option')).toHaveLength(3);
|
|
64
|
+
expect(_react.screen.queryByRole('group')).not.toBeInTheDocument(); // Check for accessibility issues
|
|
54
65
|
|
|
55
66
|
_context.t0 = expect;
|
|
56
|
-
_context.next =
|
|
67
|
+
_context.next = 8;
|
|
57
68
|
return (0, _jestAxe.axe)(container);
|
|
58
69
|
|
|
59
|
-
case
|
|
70
|
+
case 8:
|
|
60
71
|
_context.t1 = _context.sent;
|
|
61
|
-
_context.next =
|
|
72
|
+
_context.next = 11;
|
|
62
73
|
return (0, _context.t0)(_context.t1).toHaveNoViolations();
|
|
63
74
|
|
|
64
|
-
case
|
|
75
|
+
case 11:
|
|
65
76
|
case "end":
|
|
66
77
|
return _context.stop();
|
|
67
78
|
}
|
|
68
79
|
}
|
|
69
80
|
}, _callee);
|
|
70
81
|
})));
|
|
82
|
+
it('renders the FormSelect component with optgroup when options are grouped', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
83
|
+
var _render2, container;
|
|
84
|
+
|
|
85
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
86
|
+
while (1) {
|
|
87
|
+
switch (_context2.prev = _context2.next) {
|
|
88
|
+
case 0:
|
|
89
|
+
_render2 = (0, _react.render)((0, _jsxRuntime.jsx)(_FormSelect.FormSelect, (0, _extends2["default"])({
|
|
90
|
+
id: "my_desert_list"
|
|
91
|
+
}, groupedProps))), container = _render2.container;
|
|
92
|
+
expect(_react.screen.getByLabelText(defaultProps.label)).toBeInTheDocument();
|
|
93
|
+
expect(_react.screen.getByRole('combobox')).toBeInTheDocument();
|
|
94
|
+
expect(_react.screen.getAllByRole('option')).toHaveLength(3);
|
|
95
|
+
expect(_react.screen.getAllByRole('group')).toHaveLength(2); // Check for accessibility issues
|
|
96
|
+
|
|
97
|
+
_context2.t0 = expect;
|
|
98
|
+
_context2.next = 8;
|
|
99
|
+
return (0, _jestAxe.axe)(container);
|
|
100
|
+
|
|
101
|
+
case 8:
|
|
102
|
+
_context2.t1 = _context2.sent;
|
|
103
|
+
_context2.next = 11;
|
|
104
|
+
return (0, _context2.t0)(_context2.t1).toHaveNoViolations();
|
|
105
|
+
|
|
106
|
+
case 11:
|
|
107
|
+
case "end":
|
|
108
|
+
return _context2.stop();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}, _callee2);
|
|
112
|
+
})));
|
|
113
|
+
it('renders the FormSelect component when isInline is true', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
114
|
+
var _render3, container;
|
|
115
|
+
|
|
116
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
117
|
+
while (1) {
|
|
118
|
+
switch (_context3.prev = _context3.next) {
|
|
119
|
+
case 0:
|
|
120
|
+
_render3 = (0, _react.render)((0, _jsxRuntime.jsx)(_FormSelect.FormSelect, (0, _extends2["default"])({
|
|
121
|
+
id: "my_desert_list",
|
|
122
|
+
isInline: true
|
|
123
|
+
}, defaultProps))), container = _render3.container;
|
|
124
|
+
expect(_react.screen.getByLabelText(defaultProps.label)).toBeInTheDocument();
|
|
125
|
+
expect(_react.screen.getByRole('combobox')).toBeInTheDocument(); // Check for accessibility issues
|
|
126
|
+
|
|
127
|
+
_context3.t0 = expect;
|
|
128
|
+
_context3.next = 6;
|
|
129
|
+
return (0, _jestAxe.axe)(container);
|
|
130
|
+
|
|
131
|
+
case 6:
|
|
132
|
+
_context3.t1 = _context3.sent;
|
|
133
|
+
_context3.next = 9;
|
|
134
|
+
return (0, _context3.t0)(_context3.t1).toHaveNoViolations();
|
|
135
|
+
|
|
136
|
+
case 9:
|
|
137
|
+
case "end":
|
|
138
|
+
return _context3.stop();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}, _callee3);
|
|
142
|
+
})));
|
|
71
143
|
});
|
|
@@ -9,49 +9,76 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
12
14
|
var _themeUi = require("theme-ui");
|
|
13
15
|
|
|
14
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
17
|
|
|
18
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
+
|
|
16
20
|
var _Spinner = require("../Spinner");
|
|
17
21
|
|
|
18
|
-
var
|
|
22
|
+
var _md = require("react-icons/md");
|
|
19
23
|
|
|
20
|
-
var
|
|
24
|
+
var _ = require("../");
|
|
21
25
|
|
|
22
26
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
23
27
|
|
|
24
|
-
var _excluded = ["steps", "activeStep", "sx", "className"];
|
|
28
|
+
var _excluded = ["steps", "activeStep", "sx", "forLabel", "className"];
|
|
29
|
+
var prefix = 'vip-progress-component';
|
|
30
|
+
|
|
31
|
+
var uniqueID = function uniqueID() {
|
|
32
|
+
return Math.random().toString(36).substring(7);
|
|
33
|
+
};
|
|
25
34
|
|
|
26
|
-
var Progress = function
|
|
35
|
+
var Progress = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRef) {
|
|
27
36
|
var steps = _ref.steps,
|
|
28
37
|
activeStep = _ref.activeStep,
|
|
29
38
|
sx = _ref.sx,
|
|
39
|
+
_ref$forLabel = _ref.forLabel,
|
|
40
|
+
forLabel = _ref$forLabel === void 0 ? '' : _ref$forLabel,
|
|
30
41
|
className = _ref.className,
|
|
31
42
|
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
|
|
43
|
+
var stepsTotal = steps.length;
|
|
44
|
+
var isDone = activeStep === stepsTotal - 1;
|
|
45
|
+
var instance = uniqueID();
|
|
46
|
+
var htmlFor = prefix + "-" + instance;
|
|
47
|
+
var currentValue = activeStep + 1;
|
|
32
48
|
return (0, _jsxRuntime.jsxs)(_.Box, {
|
|
49
|
+
className: (0, _classnames["default"])(prefix, className),
|
|
33
50
|
children: [(0, _jsxRuntime.jsx)(_themeUi.Progress, (0, _extends2["default"])({
|
|
34
|
-
className: (0, _classnames["default"])('vip-progress-component', className)
|
|
35
|
-
}, props, {
|
|
36
51
|
sx: (0, _extends2["default"])({
|
|
37
|
-
color: 'primary'
|
|
52
|
+
color: 'primary',
|
|
53
|
+
backgroundColor: 'background'
|
|
38
54
|
}, sx),
|
|
39
|
-
max:
|
|
40
|
-
value:
|
|
41
|
-
|
|
55
|
+
max: stepsTotal,
|
|
56
|
+
value: currentValue,
|
|
57
|
+
id: htmlFor,
|
|
58
|
+
"aria-label": forLabel,
|
|
59
|
+
ref: forwardRef
|
|
60
|
+
}, props)), steps && (0, _jsxRuntime.jsxs)(_.Flex, {
|
|
42
61
|
sx: {
|
|
43
62
|
alignItems: 'center',
|
|
44
63
|
mt: 2
|
|
45
64
|
},
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
65
|
+
"aria-live": "polite",
|
|
66
|
+
"aria-atomic": "true",
|
|
67
|
+
"aria-describedby": htmlFor,
|
|
68
|
+
children: [!isDone && (0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
69
|
+
size: 24,
|
|
70
|
+
"aria-hidden": "true"
|
|
71
|
+
}), isDone && (0, _jsxRuntime.jsx)(_md.MdCheck, {
|
|
72
|
+
size: 24,
|
|
73
|
+
"aria-hidden": "true"
|
|
74
|
+
}), (0, _jsxRuntime.jsxs)(_.Text, {
|
|
50
75
|
sx: {
|
|
51
76
|
ml: 2,
|
|
52
77
|
mb: 0
|
|
53
78
|
},
|
|
54
|
-
children: [
|
|
79
|
+
children: [(0, _jsxRuntime.jsxs)("strong", {
|
|
80
|
+
children: [currentValue + " of " + stepsTotal, ": "]
|
|
81
|
+
}), (0, _jsxRuntime.jsx)(_.Text, {
|
|
55
82
|
as: "span",
|
|
56
83
|
sx: {
|
|
57
84
|
color: 'muted'
|
|
@@ -61,12 +88,14 @@ var Progress = function Progress(_ref) {
|
|
|
61
88
|
})]
|
|
62
89
|
})]
|
|
63
90
|
});
|
|
64
|
-
};
|
|
91
|
+
});
|
|
65
92
|
|
|
66
93
|
exports.Progress = Progress;
|
|
94
|
+
Progress.displayName = 'Progress';
|
|
67
95
|
Progress.propTypes = {
|
|
68
96
|
steps: _propTypes["default"].array,
|
|
69
97
|
activeStep: _propTypes["default"].number,
|
|
98
|
+
forLabel: _propTypes["default"].node,
|
|
70
99
|
sx: _propTypes["default"].object,
|
|
71
100
|
className: _propTypes["default"].any
|
|
72
101
|
};
|
|
@@ -3,10 +3,16 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports["default"] = exports.Default = void 0;
|
|
5
5
|
|
|
6
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
7
|
+
|
|
6
8
|
var _ = require("..");
|
|
7
9
|
|
|
8
10
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
9
11
|
|
|
12
|
+
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); }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
10
16
|
/**
|
|
11
17
|
* Internal dependencies
|
|
12
18
|
*/
|
|
@@ -17,11 +23,22 @@ var _default = {
|
|
|
17
23
|
exports["default"] = _default;
|
|
18
24
|
|
|
19
25
|
var Default = function Default() {
|
|
26
|
+
var _React$useState = _react["default"].useState(0),
|
|
27
|
+
counter = _React$useState[0],
|
|
28
|
+
setCounter = _React$useState[1];
|
|
29
|
+
|
|
30
|
+
var steps = ['Downloading Data', 'Importing Data...', 'Finalizing', 'Done'];
|
|
31
|
+
(0, _react.useEffect)(function () {
|
|
32
|
+
setTimeout(function () {
|
|
33
|
+
if (counter < steps.length - 1) {
|
|
34
|
+
setCounter(counter + 1);
|
|
35
|
+
}
|
|
36
|
+
}, 2000);
|
|
37
|
+
}, [counter, setCounter]);
|
|
20
38
|
return (0, _jsxRuntime.jsx)(_.Progress, {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
activeStep: 1
|
|
39
|
+
forLabel: "Update site progress",
|
|
40
|
+
steps: steps,
|
|
41
|
+
activeStep: counter
|
|
25
42
|
});
|
|
26
43
|
};
|
|
27
44
|
|
|
@@ -9,6 +9,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
12
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
15
|
|
|
14
16
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
@@ -17,7 +19,7 @@ var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
|
17
19
|
|
|
18
20
|
var _excluded = ["sx", "className"];
|
|
19
21
|
|
|
20
|
-
var Table = function
|
|
22
|
+
var Table = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRef) {
|
|
21
23
|
var sx = _ref.sx,
|
|
22
24
|
className = _ref.className,
|
|
23
25
|
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
|
|
@@ -28,11 +30,13 @@ var Table = function Table(_ref) {
|
|
|
28
30
|
}, sx),
|
|
29
31
|
cellPadding: 0,
|
|
30
32
|
cellSpacing: 0,
|
|
31
|
-
className: (0, _classnames["default"])('vip-table-component', className)
|
|
33
|
+
className: (0, _classnames["default"])('vip-table-component', className),
|
|
34
|
+
ref: forwardRef
|
|
32
35
|
}, props));
|
|
33
|
-
};
|
|
36
|
+
});
|
|
34
37
|
|
|
35
38
|
exports.Table = Table;
|
|
39
|
+
Table.displayName = 'Table';
|
|
36
40
|
Table.propTypes = {
|
|
37
41
|
sx: _propTypes["default"].object,
|
|
38
42
|
className: _propTypes["default"].any
|
|
@@ -63,15 +63,13 @@ var Wizard = function Wizard(_ref) {
|
|
|
63
63
|
}) : steps.map(function (_ref3, index) {
|
|
64
64
|
var title = _ref3.title,
|
|
65
65
|
subTitle = _ref3.subTitle,
|
|
66
|
-
children = _ref3.children
|
|
67
|
-
titleVariant = _ref3.titleVariant;
|
|
66
|
+
children = _ref3.children;
|
|
68
67
|
return (0, _jsxRuntime.jsx)(_.WizardStep, {
|
|
69
68
|
active: index === activeStep,
|
|
70
69
|
complete: completed.includes(index),
|
|
71
70
|
order: index + 1,
|
|
72
71
|
subTitle: subTitle,
|
|
73
72
|
title: title,
|
|
74
|
-
titleVariant: titleVariant,
|
|
75
73
|
children: children
|
|
76
74
|
}, index);
|
|
77
75
|
})
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports["default"] = exports.Default = exports.
|
|
6
|
+
exports["default"] = exports.Default = exports.CustomTitle = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
@@ -11,6 +11,8 @@ var _ = require("..");
|
|
|
11
11
|
|
|
12
12
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
13
13
|
|
|
14
|
+
/** @jsxImportSource theme-ui */
|
|
15
|
+
|
|
14
16
|
/**
|
|
15
17
|
* External dependencies
|
|
16
18
|
*/
|
|
@@ -83,16 +85,24 @@ var Default = function Default() {
|
|
|
83
85
|
|
|
84
86
|
exports.Default = Default;
|
|
85
87
|
|
|
86
|
-
var
|
|
88
|
+
var CustomTitle = function CustomTitle() {
|
|
87
89
|
var steps = [{
|
|
88
|
-
title:
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
title: (0, _jsxRuntime.jsx)("h3", {
|
|
91
|
+
sx: {
|
|
92
|
+
m: 0
|
|
93
|
+
},
|
|
94
|
+
children: "Choose Domain"
|
|
95
|
+
}),
|
|
96
|
+
subTitle: (0, _jsxRuntime.jsx)("span", {
|
|
91
97
|
children: "You can bring a domain name you already own, or buy a new one."
|
|
92
98
|
})
|
|
93
99
|
}, {
|
|
94
|
-
title:
|
|
95
|
-
|
|
100
|
+
title: (0, _jsxRuntime.jsx)("h3", {
|
|
101
|
+
sx: {
|
|
102
|
+
m: 0
|
|
103
|
+
},
|
|
104
|
+
children: "Configure DNS"
|
|
105
|
+
})
|
|
96
106
|
}];
|
|
97
107
|
return (0, _jsxRuntime.jsx)(_react["default"].Fragment, {
|
|
98
108
|
children: (0, _jsxRuntime.jsx)(_.Wizard, {
|
|
@@ -103,4 +113,4 @@ var CustomHeadingVariant = function CustomHeadingVariant() {
|
|
|
103
113
|
});
|
|
104
114
|
};
|
|
105
115
|
|
|
106
|
-
exports.
|
|
116
|
+
exports.CustomTitle = CustomTitle;
|
|
@@ -29,10 +29,8 @@ var WizardStep = function WizardStep(_ref) {
|
|
|
29
29
|
complete = _ref$complete === void 0 ? false : _ref$complete,
|
|
30
30
|
children = _ref.children,
|
|
31
31
|
active = _ref.active,
|
|
32
|
-
order = _ref.order
|
|
33
|
-
|
|
34
|
-
titleVariant = _ref$titleVariant === void 0 ? 'h4' : _ref$titleVariant;
|
|
35
|
-
var borderLeftColor = 'borders.2';
|
|
32
|
+
order = _ref.order;
|
|
33
|
+
var borderLeftColor = 'border';
|
|
36
34
|
|
|
37
35
|
if (complete) {
|
|
38
36
|
borderLeftColor = 'success';
|
|
@@ -66,20 +64,30 @@ var WizardStep = function WizardStep(_ref) {
|
|
|
66
64
|
},
|
|
67
65
|
"data-step": order,
|
|
68
66
|
"data-active": active || undefined,
|
|
69
|
-
children: [(0, _jsxRuntime.jsxs)(_.Heading, {
|
|
70
|
-
variant:
|
|
67
|
+
children: [typeof title === 'string' ? (0, _jsxRuntime.jsxs)(_.Heading, {
|
|
68
|
+
variant: "h4",
|
|
71
69
|
sx: {
|
|
72
70
|
mb: 0,
|
|
73
71
|
display: 'flex',
|
|
74
72
|
alignItems: 'center',
|
|
75
|
-
color: color
|
|
76
|
-
fontSize: 2
|
|
73
|
+
color: color
|
|
77
74
|
},
|
|
78
75
|
children: [(0, _jsxRuntime.jsx)(_md.MdCheckCircle, {
|
|
76
|
+
"aria-hidden": "true",
|
|
79
77
|
sx: {
|
|
80
78
|
mr: 2
|
|
81
|
-
}
|
|
82
|
-
|
|
79
|
+
}
|
|
80
|
+
}), title]
|
|
81
|
+
}) : (0, _jsxRuntime.jsxs)(_.Flex, {
|
|
82
|
+
sx: {
|
|
83
|
+
alignItems: 'center',
|
|
84
|
+
color: color
|
|
85
|
+
},
|
|
86
|
+
children: [(0, _jsxRuntime.jsx)(_md.MdCheckCircle, {
|
|
87
|
+
"aria-hidden": "true",
|
|
88
|
+
sx: {
|
|
89
|
+
mr: 2
|
|
90
|
+
}
|
|
83
91
|
}), title]
|
|
84
92
|
}), subTitle && active && (0, _jsxRuntime.jsx)(_.Text, {
|
|
85
93
|
sx: {
|
|
@@ -97,6 +105,5 @@ WizardStep.propTypes = {
|
|
|
97
105
|
complete: _propTypes["default"].bool,
|
|
98
106
|
order: _propTypes["default"].number.isRequired,
|
|
99
107
|
subTitle: _propTypes["default"].node,
|
|
100
|
-
title: _propTypes["default"].node
|
|
101
|
-
titleVariant: _propTypes["default"].string
|
|
108
|
+
title: _propTypes["default"].node
|
|
102
109
|
};
|
|
@@ -25,20 +25,31 @@ var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
|
25
25
|
var WizardStepHorizontal = function WizardStepHorizontal(_ref) {
|
|
26
26
|
var title = _ref.title,
|
|
27
27
|
active = _ref.active,
|
|
28
|
-
order = _ref.order
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
variant: titleVariant,
|
|
28
|
+
order = _ref.order;
|
|
29
|
+
var color = active ? 'heading' : 'muted';
|
|
30
|
+
return typeof title === 'string' ? (0, _jsxRuntime.jsxs)(_.Heading, {
|
|
31
|
+
variant: "h4",
|
|
33
32
|
sx: {
|
|
34
33
|
mb: 0,
|
|
35
34
|
display: 'flex',
|
|
36
35
|
alignItems: 'center',
|
|
37
|
-
color:
|
|
36
|
+
color: color
|
|
38
37
|
},
|
|
39
38
|
"data-step": order,
|
|
40
39
|
"data-active": active || undefined,
|
|
41
40
|
children: [(0, _jsxRuntime.jsx)(_md.MdCheckCircle, {
|
|
41
|
+
"aria-hidden": "true",
|
|
42
|
+
sx: {
|
|
43
|
+
mr: 2
|
|
44
|
+
}
|
|
45
|
+
}), title]
|
|
46
|
+
}) : (0, _jsxRuntime.jsxs)(_.Flex, {
|
|
47
|
+
sx: {
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
color: color
|
|
50
|
+
},
|
|
51
|
+
children: [(0, _jsxRuntime.jsx)(_md.MdCheckCircle, {
|
|
52
|
+
"aria-hidden": "true",
|
|
42
53
|
sx: {
|
|
43
54
|
mr: 2
|
|
44
55
|
}
|
|
@@ -51,6 +62,5 @@ WizardStepHorizontal.propTypes = {
|
|
|
51
62
|
active: _propTypes["default"].bool,
|
|
52
63
|
order: _propTypes["default"].number.isRequired,
|
|
53
64
|
subTitle: _propTypes["default"].node,
|
|
54
|
-
title: _propTypes["default"].node
|
|
55
|
-
titleVariant: _propTypes["default"].string
|
|
65
|
+
title: _propTypes["default"].node
|
|
56
66
|
};
|
package/build/system/index.js
CHANGED
|
@@ -105,11 +105,6 @@ var _Spinner = require("./Spinner");
|
|
|
105
105
|
|
|
106
106
|
exports.Spinner = _Spinner.Spinner;
|
|
107
107
|
|
|
108
|
-
var _ResourceList = require("./ResourceList");
|
|
109
|
-
|
|
110
|
-
exports.ResourceList = _ResourceList.ResourceList;
|
|
111
|
-
exports.ResourceItem = _ResourceList.ResourceItem;
|
|
112
|
-
|
|
113
108
|
var _Tooltip = require("./Tooltip");
|
|
114
109
|
|
|
115
110
|
exports.Tooltip = _Tooltip.Tooltip;
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automattic/vip-design-system",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"main": "build/system/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build-storybook": "build-storybook",
|
|
7
|
+
"prepare": "npm run build",
|
|
7
8
|
"build": "npm run theme-update && cross-env NODE_ENV=production babel src --out-dir build && npm run theme-builder-copy",
|
|
8
9
|
"format": "prettier --write \"src/**/*.{js,ts,tsx,md,mdx,json}\"",
|
|
9
10
|
"format:check": "prettier --list-different -- \"src/system/**/*.{js,ts,tsx,md,mdx,json}\"",
|
|
@@ -17,6 +17,10 @@ const Button = React.forwardRef( ( { sx, ...props }, forwardRef ) => (
|
|
|
17
17
|
justifyContent: 'center',
|
|
18
18
|
height: '36px',
|
|
19
19
|
py: 0,
|
|
20
|
+
textDecoration: props?.to ? 'underline' : 'none',
|
|
21
|
+
'&:hover': {
|
|
22
|
+
textDecoration: 'none',
|
|
23
|
+
},
|
|
20
24
|
'&:focus': theme => theme.outline,
|
|
21
25
|
'&:focus-visible': theme => theme.outline,
|
|
22
26
|
'&:disabled': {
|
|
@@ -36,6 +40,7 @@ Button.displayName = 'Button';
|
|
|
36
40
|
|
|
37
41
|
Button.propTypes = {
|
|
38
42
|
sx: PropTypes.object,
|
|
43
|
+
to: PropTypes.any,
|
|
39
44
|
className: PropTypes.any,
|
|
40
45
|
};
|
|
41
46
|
|