@automattic/vip-design-system 0.23.6 → 0.24.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 (33) hide show
  1. package/build/system/Accordion/Accordion.js +246 -0
  2. package/build/system/Accordion/Accordion.stories.js +83 -0
  3. package/build/system/Accordion/Accordion.test.js +129 -0
  4. package/build/system/Accordion/index.js +12 -0
  5. package/build/system/Form/MultiSelect.js +38 -0
  6. package/build/system/Link/Link.js +1 -1
  7. package/build/system/Notice/Notice.js +10 -1
  8. package/build/system/Notice/Notice.stories.js +2 -2
  9. package/build/system/ResourceList/ResourceList.js +1 -1
  10. package/build/system/UsageChart/UsageChart.js +60 -0
  11. package/build/system/UsageChart/index.js +7 -0
  12. package/build/system/Wizard/Wizard.js +3 -1
  13. package/build/system/Wizard/Wizard.stories.js +10 -30
  14. package/build/system/Wizard/WizardStep.js +10 -4
  15. package/build/system/Wizard/WizardStepHorizontal.js +7 -3
  16. package/build/system/index.js +4 -0
  17. package/build/system/theme/getColor.js +21 -2
  18. package/build/system/theme/index.js +5 -0
  19. package/package.json +2 -1
  20. package/src/system/Accordion/Accordion.js +198 -0
  21. package/src/system/Accordion/Accordion.stories.jsx +55 -0
  22. package/src/system/Accordion/Accordion.test.js +61 -0
  23. package/src/system/Accordion/index.js +6 -0
  24. package/src/system/Link/Link.js +1 -1
  25. package/src/system/Notice/Notice.js +10 -1
  26. package/src/system/Notice/Notice.stories.jsx +3 -2
  27. package/src/system/Wizard/Wizard.js +2 -1
  28. package/src/system/Wizard/Wizard.stories.jsx +5 -8
  29. package/src/system/Wizard/WizardStep.js +10 -3
  30. package/src/system/Wizard/WizardStepHorizontal.js +29 -25
  31. package/src/system/index.js +2 -0
  32. package/src/system/theme/getColor.js +14 -0
  33. package/src/system/theme/index.js +7 -1
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.TriggerWithIcon = exports.Trigger = exports.Root = exports.Item = exports.Content = 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 _react = _interopRequireDefault(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _md = require("react-icons/md");
17
+
18
+ var AccordionPrimitive = _interopRequireWildcard(require("@radix-ui/react-accordion"));
19
+
20
+ var _react2 = require("@emotion/react");
21
+
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
+
24
+ var _Heading = require("../Heading");
25
+
26
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
27
+
28
+ var _excluded = ["children"],
29
+ _excluded2 = ["children", "headingVariant"],
30
+ _excluded3 = ["children", "icon"],
31
+ _excluded4 = ["children", "sx"];
32
+
33
+ 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); }
34
+
35
+ 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; }
36
+
37
+ var slideDown = (0, _react2.keyframes)({
38
+ from: {
39
+ height: 0
40
+ },
41
+ to: {
42
+ height: 'var(--radix-accordion-content-height)'
43
+ }
44
+ });
45
+ var slideUp = (0, _react2.keyframes)({
46
+ from: {
47
+ height: 'var(--radix-accordion-content-height)'
48
+ },
49
+ to: {
50
+ height: 0
51
+ }
52
+ });
53
+
54
+ var Item = function Item(_ref) {
55
+ var children = _ref.children,
56
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
57
+ return (0, _jsxRuntime.jsx)(AccordionPrimitive.Item, (0, _extends2["default"])({}, props, {
58
+ sx: {
59
+ overflow: 'hidden',
60
+ borderWidth: '0 1px 1px 1px',
61
+ borderStyle: 'solid',
62
+ borderColor: 'border',
63
+ '&:first-of-type': {
64
+ borderTopWidth: '1px',
65
+ borderTopLeftRadius: 4,
66
+ borderTopRightRadius: 4
67
+ },
68
+ '&:last-child': {
69
+ borderBottomLeftRadius: 4,
70
+ borderBottomRightRadius: 4
71
+ },
72
+ '&:focus-within': function focusWithin(theme) {
73
+ return theme.outline;
74
+ }
75
+ },
76
+ children: children
77
+ }));
78
+ };
79
+
80
+ exports.Item = Item;
81
+ Item.displayName = 'Accordion.Item';
82
+ Item.propTypes = {
83
+ children: _propTypes["default"].node.isRequired
84
+ };
85
+
86
+ var Trigger = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, forwardedRef) {
87
+ var children = _ref2.children,
88
+ _ref2$headingVariant = _ref2.headingVariant,
89
+ headingVariant = _ref2$headingVariant === void 0 ? 'h3' : _ref2$headingVariant,
90
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref2, _excluded2);
91
+ return (0, _jsxRuntime.jsx)(_Heading.Heading, {
92
+ sx: {
93
+ all: 'unset',
94
+ display: 'flex'
95
+ },
96
+ variant: headingVariant,
97
+ children: (0, _jsxRuntime.jsxs)(AccordionPrimitive.Trigger, (0, _extends2["default"])({
98
+ sx: {
99
+ color: 'heading',
100
+ cursor: 'pointer',
101
+ all: 'unset',
102
+ fontFamily: 'inherit',
103
+ px: 3,
104
+ height: 45,
105
+ flex: 1,
106
+ display: 'flex',
107
+ alignItems: 'center',
108
+ justifyContent: 'space-between',
109
+ fontSize: 1,
110
+ fontWeight: 600,
111
+ textTransform: 'uppercase',
112
+ '&[data-state="closed"]': {
113
+ backgroundColor: 'transparent'
114
+ },
115
+ '&[data-state="open"]': {
116
+ backgroundColor: 'backgroundSecondary',
117
+ borderBottom: function borderBottom(theme) {
118
+ return "1px solid " + theme.colors.border;
119
+ }
120
+ },
121
+ '&:hover': {
122
+ backgroundColor: 'backgroundSecondary'
123
+ }
124
+ }
125
+ }, props, {
126
+ ref: forwardedRef,
127
+ children: [children, (0, _jsxRuntime.jsx)(_md.MdChevronRight, {
128
+ sx: {
129
+ fontSize: 3,
130
+ color: 'text',
131
+ transform: 'rotate(90deg)',
132
+ transition: 'transform 300ms cubic-bezier(0.87, 0, 0.13, 1)',
133
+ '[data-state=open] &': {
134
+ transform: 'rotate(270deg)'
135
+ }
136
+ },
137
+ "aria-hidden": true
138
+ })]
139
+ }))
140
+ });
141
+ });
142
+
143
+ exports.Trigger = Trigger;
144
+ Trigger.displayName = 'Accordion.Trigger';
145
+ Trigger.propTypes = {
146
+ children: _propTypes["default"].node.isRequired,
147
+ headingVariant: _propTypes["default"].string
148
+ };
149
+
150
+ var TriggerWithIcon = /*#__PURE__*/_react["default"].forwardRef(function (_ref3, forwardedRef) {
151
+ var children = _ref3.children,
152
+ icon = _ref3.icon,
153
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref3, _excluded3);
154
+ return (0, _jsxRuntime.jsxs)(Trigger, (0, _extends2["default"])({}, props, {
155
+ ref: forwardedRef,
156
+ children: [(0, _jsxRuntime.jsx)("span", {
157
+ sx: {
158
+ color: 'text',
159
+ fontSize: 3
160
+ },
161
+ children: icon
162
+ }), (0, _jsxRuntime.jsx)("div", {
163
+ sx: {
164
+ color: 'heading',
165
+ flexGrow: 1,
166
+ textAlign: 'left',
167
+ ml: 3
168
+ },
169
+ children: children
170
+ })]
171
+ }));
172
+ });
173
+
174
+ exports.TriggerWithIcon = TriggerWithIcon;
175
+ TriggerWithIcon.displayName = 'Accordion.TriggerWithIcon';
176
+ TriggerWithIcon.propTypes = {
177
+ children: _propTypes["default"].node.isRequired,
178
+ icon: _propTypes["default"].node.isRequired
179
+ };
180
+
181
+ var Content = /*#__PURE__*/_react["default"].forwardRef(function (_ref4, forwardedRef) {
182
+ var children = _ref4.children,
183
+ _ref4$sx = _ref4.sx,
184
+ sx = _ref4$sx === void 0 ? {} : _ref4$sx,
185
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref4, _excluded4);
186
+ return (0, _jsxRuntime.jsx)(AccordionPrimitive.Content, (0, _extends2["default"])({
187
+ sx: (0, _extends2["default"])({
188
+ backgroundColor: 'transparent',
189
+ color: 'text',
190
+ fontSize: 2,
191
+ overflow: 'hidden',
192
+ '&[data-state="open"]': {
193
+ animation: slideDown + " 300ms cubic-bezier(0.87, 0, 0.13, 1)"
194
+ },
195
+ '&[data-state="closed"]': {
196
+ animation: slideUp + " 300ms cubic-bezier(0.87, 0, 0.13, 1)"
197
+ }
198
+ }, sx)
199
+ }, props, {
200
+ ref: forwardedRef,
201
+ children: (0, _jsxRuntime.jsx)("div", {
202
+ sx: {
203
+ px: 3,
204
+ py: 2
205
+ },
206
+ children: children
207
+ })
208
+ }));
209
+ });
210
+
211
+ exports.Content = Content;
212
+ Content.displayName = 'Accordion.Content';
213
+ Content.propTypes = {
214
+ children: _propTypes["default"].node.isRequired,
215
+ sx: _propTypes["default"].object
216
+ };
217
+
218
+ var Root = /*#__PURE__*/_react["default"].forwardRef(function (_ref5, forwardRef) {
219
+ var _ref5$sx = _ref5.sx,
220
+ sx = _ref5$sx === void 0 ? {} : _ref5$sx,
221
+ defaultValue = _ref5.defaultValue,
222
+ type = _ref5.type,
223
+ children = _ref5.children,
224
+ className = _ref5.className;
225
+ return (0, _jsxRuntime.jsx)(AccordionPrimitive.Root, {
226
+ className: (0, _classnames["default"])('vip-accordion-component', className),
227
+ collapsible: true,
228
+ defaultValue: defaultValue,
229
+ ref: forwardRef,
230
+ sx: (0, _extends2["default"])({
231
+ borderRadius: 6
232
+ }, sx),
233
+ type: type,
234
+ children: children
235
+ });
236
+ });
237
+
238
+ exports.Root = Root;
239
+ Root.displayName = 'Accordion';
240
+ Root.propTypes = {
241
+ children: _propTypes["default"].node,
242
+ className: _propTypes["default"].any,
243
+ defaultValue: _propTypes["default"].any,
244
+ sx: _propTypes["default"].object,
245
+ type: _propTypes["default"].oneOf(['single', 'multiple'])
246
+ };
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = exports.Default = void 0;
5
+
6
+ var _ri = require("react-icons/ri");
7
+
8
+ var _bi = require("react-icons/bi");
9
+
10
+ var _ = require("..");
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
+ var _default = {
24
+ title: 'Accordion',
25
+ component: _.Accordion
26
+ };
27
+ exports["default"] = _default;
28
+
29
+ var ExampleContent = function ExampleContent() {
30
+ return (0, _jsxRuntime.jsxs)(_.Box, {
31
+ children: [(0, _jsxRuntime.jsx)("p", {
32
+ sx: {
33
+ mt: 0
34
+ },
35
+ children: "Add your key team members to the VIP Dashboard."
36
+ }), (0, _jsxRuntime.jsx)("p", {
37
+ children: "Add developers to GitHub."
38
+ }), (0, _jsxRuntime.jsx)("p", {
39
+ sx: {
40
+ mb: 0
41
+ },
42
+ children: "Add content editors and developers to WordPress admin."
43
+ })]
44
+ });
45
+ };
46
+
47
+ var Default = function Default() {
48
+ return (0, _jsxRuntime.jsx)(_.Box, {
49
+ children: (0, _jsxRuntime.jsxs)(_.Accordion.Root, {
50
+ defaultValue: "teamPermissions",
51
+ sx: {
52
+ width: '450px'
53
+ },
54
+ children: [(0, _jsxRuntime.jsxs)(_.Accordion.Item, {
55
+ value: "teamPermissions",
56
+ children: [(0, _jsxRuntime.jsx)(_.Accordion.TriggerWithIcon, {
57
+ icon: (0, _jsxRuntime.jsx)(_ri.RiUserAddLine, {}),
58
+ children: "Team & Permissions"
59
+ }), (0, _jsxRuntime.jsx)(_.Accordion.Content, {
60
+ children: (0, _jsxRuntime.jsx)(ExampleContent, {})
61
+ })]
62
+ }), (0, _jsxRuntime.jsxs)(_.Accordion.Item, {
63
+ value: "addContentMedia",
64
+ children: [(0, _jsxRuntime.jsx)(_.Accordion.TriggerWithIcon, {
65
+ icon: (0, _jsxRuntime.jsx)(_bi.BiBookContent, {}),
66
+ children: "Add Content & Media"
67
+ }), (0, _jsxRuntime.jsx)(_.Accordion.Content, {
68
+ children: (0, _jsxRuntime.jsx)(ExampleContent, {})
69
+ })]
70
+ }), (0, _jsxRuntime.jsxs)(_.Accordion.Item, {
71
+ value: "addCode",
72
+ children: [(0, _jsxRuntime.jsx)(_.Accordion.TriggerWithIcon, {
73
+ icon: (0, _jsxRuntime.jsx)(_ri.RiCodeSSlashFill, {}),
74
+ children: "Add Code"
75
+ }), (0, _jsxRuntime.jsx)(_.Accordion.Content, {
76
+ children: (0, _jsxRuntime.jsx)(ExampleContent, {})
77
+ })]
78
+ })]
79
+ })
80
+ });
81
+ };
82
+
83
+ exports.Default = Default;
@@ -0,0 +1,129 @@
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 _themeUi = require("theme-ui");
14
+
15
+ var Accordion = _interopRequireWildcard(require("./Accordion"));
16
+
17
+ var _ = require("../");
18
+
19
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
20
+
21
+ 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); }
22
+
23
+ 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; }
24
+
25
+ /** @jsxImportSource theme-ui */
26
+
27
+ /**
28
+ * External dependencies
29
+ */
30
+
31
+ /**
32
+ * Internal dependencies
33
+ */
34
+ var renderWithTheme = function renderWithTheme(children) {
35
+ return (0, _react.render)((0, _jsxRuntime.jsx)(_themeUi.ThemeProvider, {
36
+ theme: _.theme,
37
+ children: children
38
+ }));
39
+ };
40
+
41
+ var renderComponent = function renderComponent() {
42
+ return renderWithTheme((0, _jsxRuntime.jsxs)(Accordion.Root, {
43
+ defaultValue: "one",
44
+ sx: {
45
+ width: '400px'
46
+ },
47
+ children: [(0, _jsxRuntime.jsxs)(Accordion.Item, {
48
+ value: "one",
49
+ children: [(0, _jsxRuntime.jsx)(Accordion.Trigger, {
50
+ children: "trigger one"
51
+ }), (0, _jsxRuntime.jsx)(Accordion.Content, {
52
+ children: "content one"
53
+ })]
54
+ }), (0, _jsxRuntime.jsxs)(Accordion.Item, {
55
+ value: "two",
56
+ children: [(0, _jsxRuntime.jsx)(Accordion.Trigger, {
57
+ children: "trigger two"
58
+ }), (0, _jsxRuntime.jsx)(Accordion.Content, {
59
+ children: "content two"
60
+ })]
61
+ })]
62
+ }));
63
+ };
64
+
65
+ describe('<Accordion />', function () {
66
+ it('renders the Accordion component with default value visible', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
67
+ var _renderComponent, container;
68
+
69
+ return _regenerator["default"].wrap(function _callee$(_context) {
70
+ while (1) {
71
+ switch (_context.prev = _context.next) {
72
+ case 0:
73
+ _renderComponent = renderComponent(), container = _renderComponent.container; // Should find the open content
74
+
75
+ expect(_react.screen.getByText('content one')).toBeInTheDocument(); // Should not find the closed content
76
+
77
+ expect(_react.screen.queryByText('content two')).toBeNull(); // Check for accessibility issues
78
+
79
+ _context.t0 = expect;
80
+ _context.next = 6;
81
+ return (0, _jestAxe.axe)(container);
82
+
83
+ case 6:
84
+ _context.t1 = _context.sent;
85
+ _context.next = 9;
86
+ return (0, _context.t0)(_context.t1).toHaveNoViolations();
87
+
88
+ case 9:
89
+ case "end":
90
+ return _context.stop();
91
+ }
92
+ }
93
+ }, _callee);
94
+ })));
95
+ it('should open the content when clicking on its trigger', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
96
+ var _renderComponent2, container;
97
+
98
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
99
+ while (1) {
100
+ switch (_context2.prev = _context2.next) {
101
+ case 0:
102
+ _renderComponent2 = renderComponent(), container = _renderComponent2.container;
103
+
104
+ _react.fireEvent.click(_react.screen.getByRole('button', {
105
+ name: 'trigger two'
106
+ })); // Should find the open content
107
+
108
+
109
+ expect(_react.screen.queryByText('content one')).toBeNull(); // Should not find the closed content
110
+
111
+ expect(_react.screen.queryByText('content two')).toBeInTheDocument(); // Check for accessibility issues
112
+
113
+ _context2.t0 = expect;
114
+ _context2.next = 7;
115
+ return (0, _jestAxe.axe)(container);
116
+
117
+ case 7:
118
+ _context2.t1 = _context2.sent;
119
+ _context2.next = 10;
120
+ return (0, _context2.t0)(_context2.t1).toHaveNoViolations();
121
+
122
+ case 10:
123
+ case "end":
124
+ return _context2.stop();
125
+ }
126
+ }
127
+ }, _callee2);
128
+ })));
129
+ });
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.Accordion = void 0;
5
+
6
+ var Accordion = _interopRequireWildcard(require("./Accordion"));
7
+
8
+ exports.Accordion = Accordion;
9
+
10
+ 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); }
11
+
12
+ 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; }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.MultiSelect = void 0;
5
+
6
+ var _reactSelect = _interopRequireDefault(require("react-select"));
7
+
8
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ 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); }
13
+
14
+ var vipGold = '#c29c69'; // hardcoding for now
15
+
16
+ var vipGrey2 = '#d7dee2';
17
+ var customStyles = {
18
+ control: function control(styles) {
19
+ return _extends({}, styles, {
20
+ border: "1px solid " + vipGrey2,
21
+ boxShadow: 'none',
22
+ '&:hover': {
23
+ border: "1px solid " + vipGold
24
+ },
25
+ '&:focus': {
26
+ border: "1px solid " + vipGold
27
+ }
28
+ });
29
+ }
30
+ };
31
+
32
+ var MultiSelect = function MultiSelect(props) {
33
+ return (0, _jsxRuntime.jsx)(_reactSelect["default"], _extends({}, props, {
34
+ styles: customStyles
35
+ }));
36
+ };
37
+
38
+ exports.MultiSelect = MultiSelect;
@@ -26,9 +26,9 @@ var Link = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRef)
26
26
  props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
27
27
  return (0, _jsxRuntime.jsx)(_themeUi.Link, (0, _extends2["default"])({
28
28
  sx: (0, _extends2["default"])({
29
- color: active ? 'links.active' : 'link',
30
29
  textDdecorationThickness: '0.1em',
31
30
  textUnderlineOffset: '0.1em',
31
+ color: active ? 'links.active' : 'link',
32
32
  '&:visited': {
33
33
  color: 'links.visited'
34
34
  },
@@ -96,7 +96,16 @@ var Notice = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, forwardR
96
96
  color: color + ".90",
97
97
  a: {
98
98
  color: color + ".90",
99
- border: 'none'
99
+ '&:visited': {
100
+ color: color + ".90"
101
+ },
102
+ '&:active': {
103
+ color: color + ".90"
104
+ },
105
+ '&:hover, &:focus': {
106
+ color: color + ".90",
107
+ textDecoration: 'none'
108
+ }
100
109
  }
101
110
  }, sx),
102
111
  className: (0, _classnames["default"])('vip-notice-component', className),
@@ -44,8 +44,8 @@ var Default = function Default() {
44
44
  sx: {
45
45
  mb: 4
46
46
  },
47
- children: ["It looks like you\u2018re ready to share your ", (0, _jsxRuntime.jsx)("a", {
48
- href: "#",
47
+ children: ["It looks like you\u2018re ready to share your", ' ', (0, _jsxRuntime.jsx)(_.Link, {
48
+ href: "https://google.com/",
49
49
  children: "application with the world."
50
50
  })]
51
51
  }), (0, _jsxRuntime.jsx)(_.Notice, {
@@ -53,7 +53,7 @@ var StyledListItem = function StyledListItem(props) {
53
53
  sx: {
54
54
  py: 2,
55
55
  borderBottom: '1px solid',
56
- borderColor: 'borders.2',
56
+ borderColor: 'border',
57
57
  listStyleType: 'none',
58
58
  margin: 0,
59
59
  px: 0
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.UsageChart = void 0;
5
+
6
+ var _framerMotion = require("framer-motion");
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ /**
15
+ * External dependencies
16
+ */
17
+ var UsageChart = function UsageChart(_ref) {
18
+ var total = _ref.total,
19
+ max = _ref.max,
20
+ _ref$variant = _ref.variant,
21
+ variant = _ref$variant === void 0 ? 'primary' : _ref$variant;
22
+ var width = total / max * 100 + '%';
23
+ var formattedTotal = total;
24
+
25
+ if (total > 1000000) {
26
+ formattedTotal = (total / 1000000).toFixed(2) + "M";
27
+ } else if (total > 1000) {
28
+ formattedTotal = (total / 1000).toFixed(2) + "K";
29
+ }
30
+
31
+ return (0, _jsxRuntime.jsx)("div", {
32
+ sx: {
33
+ height: variant === 'primary' ? 32 : 8,
34
+ overflow: 'hidden',
35
+ backgroundColor: variant === 'primary' ? 'border' : 'transparent'
36
+ },
37
+ children: (0, _jsxRuntime.jsx)(_framerMotion.motion.div, {
38
+ initial: {
39
+ width: 0
40
+ },
41
+ animate: {
42
+ width: width
43
+ },
44
+ transition: {
45
+ duration: 0.7
46
+ },
47
+ sx: {
48
+ height: '100%',
49
+ backgroundColor: variant === 'primary' ? 'primary' : 'grey.40'
50
+ }
51
+ })
52
+ });
53
+ };
54
+
55
+ exports.UsageChart = UsageChart;
56
+ UsageChart.propTypes = {
57
+ total: _propTypes["default"].number,
58
+ max: _propTypes["default"].number,
59
+ variant: _propTypes["default"].string
60
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _UsageChart = require("./UsageChart");
6
+
7
+ exports.UsageChart = _UsageChart.UsageChart;
@@ -64,13 +64,15 @@ var Wizard = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRe
64
64
  }) : steps.map(function (_ref3, index) {
65
65
  var title = _ref3.title,
66
66
  subTitle = _ref3.subTitle,
67
- children = _ref3.children;
67
+ children = _ref3.children,
68
+ titleVariant = _ref3.titleVariant;
68
69
  return (0, _jsxRuntime.jsx)(_.WizardStep, {
69
70
  active: index === activeStep,
70
71
  complete: completed.includes(index),
71
72
  order: index + 1,
72
73
  subTitle: subTitle,
73
74
  title: title,
75
+ titleVariant: titleVariant,
74
76
  children: children
75
77
  }, index);
76
78
  })