@automattic/vip-design-system 0.27.10 → 0.27.12
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/.storybook/decorators/withColorMode.jsx +2 -1
- package/build/system/Accordion/Accordion.js +22 -25
- package/build/system/Badge/Badge.js +15 -3
- package/build/system/Badge/Badge.stories.js +78 -4
- package/build/system/Button/Button.js +26 -7
- package/build/system/Button/Button.stories.js +86 -13
- package/build/system/Button/Button.test.js +53 -7
- package/build/system/Code/Code.js +5 -6
- package/build/system/Dialog/DialogButton.js +2 -2
- package/build/system/Form/Checkbox.js +10 -14
- package/build/system/Form/Checkbox.stories.js +2 -2
- package/build/system/Form/InlineSelect.js +9 -6
- package/build/system/Form/Input.js +9 -25
- package/build/system/Form/Input.styles.js +47 -0
- package/build/system/Form/Label.js +12 -7
- package/build/system/Form/Radio.js +10 -8
- package/build/system/Form/Radio.stories.js +5 -5
- package/build/system/Form/RadioBoxGroup.js +1 -1
- package/build/system/Form/RequiredLabel.js +1 -5
- package/build/system/Form/SearchSelect.js +10 -7
- package/build/system/Form/Toggle.stories.js +6 -0
- package/build/system/Form/ToggleGroup.js +1 -1
- package/build/system/Form/Validation.js +3 -4
- package/build/system/Link/Link.js +2 -1
- package/build/system/NewDialog/DialogClose.js +6 -7
- package/build/system/NewForm/Fieldset.js +56 -0
- package/build/system/NewForm/FormAutocomplete.js +25 -23
- package/build/system/NewForm/FormSelect.js +7 -21
- package/build/system/NewForm/FormSelectArrow.js +14 -5
- package/build/system/NewForm/FormSelectContent.js +1 -4
- package/build/system/NewForm/FormSelectInline.js +24 -9
- package/build/system/NewForm/FormSelectLoading.js +10 -1
- package/build/system/NewForm/FormSelectSearch.js +2 -2
- package/build/system/NewForm/Legend.js +50 -0
- package/build/system/NewForm/index.js +8 -0
- package/build/system/NewTabs/TabsList.js +1 -1
- package/build/system/NewTabs/TabsTrigger.js +7 -8
- package/build/system/Notice/Notice.js +27 -35
- package/build/system/Notice/Notice.stories.js +16 -1
- package/build/system/OptionRow/OptionRow.js +12 -14
- package/build/system/OptionRow/OptionRow.stories.js +15 -14
- package/build/system/ResourceList/ResourceList.js +35 -26
- package/build/system/ResourceList/ResourceList.stories.js +2 -0
- package/build/system/Spinner/Spinner.js +1 -1
- package/build/system/Table/Table.js +2 -3
- package/build/system/Table/Table.stories.js +4 -38
- package/build/system/Table/TableCell.js +4 -2
- package/build/system/Text/Text.js +2 -1
- package/build/system/Text/Text.stories.js +46 -2
- package/build/system/Time/Time.stories.js +1 -1
- package/build/system/Timeline/Timeline.stories.js +1 -1
- package/build/system/Wizard/Wizard.js +1 -1
- package/build/system/Wizard/WizardStep.js +2 -2
- package/build/system/theme/colors.js +14 -220
- package/build/system/theme/generated/valet-theme.json +668 -236
- package/build/system/theme/getColor.js +23 -4
- package/build/system/theme/index.js +138 -79
- package/package.json +2 -2
- package/src/system/Accordion/Accordion.js +5 -5
- package/src/system/Badge/Badge.js +14 -2
- package/src/system/Badge/Badge.stories.jsx +33 -1
- package/src/system/Button/Button.js +46 -28
- package/src/system/Button/Button.stories.jsx +56 -4
- package/src/system/Button/Button.test.js +30 -3
- package/src/system/Code/Code.js +5 -6
- package/src/system/Dialog/DialogButton.js +2 -2
- package/src/system/Form/Checkbox.js +7 -7
- package/src/system/Form/Checkbox.stories.jsx +3 -3
- package/src/system/Form/InlineSelect.js +9 -6
- package/src/system/Form/Input.js +3 -16
- package/src/system/Form/Input.styles.js +32 -0
- package/src/system/Form/Label.js +9 -4
- package/src/system/Form/Radio.js +9 -8
- package/src/system/Form/Radio.stories.jsx +10 -8
- package/src/system/Form/RadioBoxGroup.js +1 -1
- package/src/system/Form/RequiredLabel.js +3 -5
- package/src/system/Form/SearchSelect.js +10 -7
- package/src/system/Form/Toggle.stories.jsx +7 -0
- package/src/system/Form/ToggleGroup.js +1 -1
- package/src/system/Form/Validation.js +3 -4
- package/src/system/Link/Link.js +2 -1
- package/src/system/NewDialog/DialogClose.js +3 -3
- package/src/system/NewForm/Fieldset.js +47 -0
- package/src/system/NewForm/FormAutocomplete.js +17 -15
- package/src/system/NewForm/FormSelect.js +2 -10
- package/src/system/NewForm/FormSelectArrow.js +12 -4
- package/src/system/NewForm/FormSelectContent.js +0 -1
- package/src/system/NewForm/FormSelectInline.js +16 -6
- package/src/system/NewForm/FormSelectLoading.js +8 -0
- package/src/system/NewForm/FormSelectSearch.js +2 -2
- package/src/system/NewForm/Legend.js +41 -0
- package/src/system/NewForm/index.js +3 -1
- package/src/system/NewTabs/Tabs.stories.jsx +1 -1
- package/src/system/NewTabs/TabsList.js +1 -1
- package/src/system/NewTabs/TabsTrigger.js +7 -6
- package/src/system/Notice/Notice.js +22 -27
- package/src/system/Notice/Notice.stories.jsx +8 -1
- package/src/system/OptionRow/OptionRow.js +10 -14
- package/src/system/OptionRow/OptionRow.stories.jsx +9 -19
- package/src/system/Spinner/Spinner.js +1 -1
- package/src/system/Table/Table.js +1 -3
- package/src/system/Table/Table.stories.jsx +7 -29
- package/src/system/Table/TableCell.js +6 -2
- package/src/system/Text/Text.js +1 -0
- package/src/system/Text/Text.stories.jsx +27 -6
- package/src/system/Time/Time.stories.jsx +1 -1
- package/src/system/Timeline/Timeline.stories.jsx +1 -1
- package/src/system/Wizard/Wizard.js +1 -1
- package/src/system/Wizard/WizardStep.js +2 -2
- package/src/system/theme/colors.js +7 -229
- package/src/system/theme/generated/valet-theme.json +668 -236
- package/src/system/theme/getColor.js +23 -3
- package/src/system/theme/index.js +181 -78
- package/tokens/valet-core/$metadata.json +18 -0
- package/tokens/valet-core/$themes.json +1056 -0
- package/tokens/valet-core/figma-parsely-expressive-type.json +1217 -0
- package/tokens/valet-core/figma-valet-expressive-type.json +1217 -0
- package/tokens/valet-core/figma-wpvip-expressive-type.json +1213 -0
- package/tokens/valet-core/parsely-expressive-color.json +729 -0
- package/tokens/valet-core/parsely-expressive-core.json +122 -0
- package/tokens/valet-core/parsely-expressive-type.json +350 -0
- package/tokens/valet-core/valet-core.json +1980 -0
- package/tokens/valet-core/valet-expressive-color.json +677 -0
- package/tokens/valet-core/valet-expressive-core.json +122 -0
- package/tokens/valet-core/wpvip-expressive-color-dark.json +735 -0
- package/tokens/valet-core/wpvip-expressive-color.json +730 -0
- package/tokens/valet-core/wpvip-expressive-core.json +122 -0
- package/tokens/valet-core/wpvip-expressive-type.json +400 -0
- package/tokens/valet-core/wpvip-productive-color.json +883 -0
- package/.idea/GitLink.xml +0 -6
- package/.idea/codeStyles/Project.xml +0 -69
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/dbnavigator.xml +0 -467
- package/.idea/git_toolbox_prj.xml +0 -15
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/jsLinters/eslint.xml +0 -6
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/.idea/vip-design-system.iml +0 -9
- package/tokens/valet-core.json +0 -6558
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
2
|
import { makeDecorator } from '@storybook/addons';
|
|
3
3
|
import { useColorMode } from 'theme-ui';
|
|
4
|
+
import { getColor } from '../../src/system/theme/getColor';
|
|
4
5
|
|
|
5
6
|
// These need to be updated to import VIP design tokens;
|
|
6
|
-
const lightBackground = '
|
|
7
|
+
const lightBackground = getColor( 'background', 'primary' );
|
|
7
8
|
const darkBackground = '#1C1C1B';
|
|
8
9
|
|
|
9
10
|
export const backgrounds = {
|
|
@@ -60,7 +60,7 @@ var Item = function Item(_ref) {
|
|
|
60
60
|
overflow: 'hidden',
|
|
61
61
|
borderWidth: '0 1px 1px 1px',
|
|
62
62
|
borderStyle: 'solid',
|
|
63
|
-
borderColor: '
|
|
63
|
+
borderColor: 'borders.2',
|
|
64
64
|
'&:first-of-type': {
|
|
65
65
|
borderTopWidth: '1px',
|
|
66
66
|
borderTopLeftRadius: 4,
|
|
@@ -111,7 +111,6 @@ var Trigger = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, forward
|
|
|
111
111
|
justifyContent: 'space-between',
|
|
112
112
|
fontSize: 1,
|
|
113
113
|
fontWeight: 600,
|
|
114
|
-
textTransform: 'uppercase',
|
|
115
114
|
'&[data-state="closed"]': {
|
|
116
115
|
backgroundColor: function backgroundColor(_ref3) {
|
|
117
116
|
var accordion = _ref3.accordion;
|
|
@@ -123,17 +122,15 @@ var Trigger = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, forward
|
|
|
123
122
|
var accordion = _ref4.accordion;
|
|
124
123
|
return accordion.background.open;
|
|
125
124
|
},
|
|
126
|
-
borderBottom:
|
|
127
|
-
|
|
128
|
-
return "1px solid " + colors.border;
|
|
129
|
-
},
|
|
125
|
+
borderBottom: '1px solid',
|
|
126
|
+
borderBottomColor: 'borders.2',
|
|
130
127
|
'.vip-accordion-trigger-indicator': {
|
|
131
128
|
transform: 'rotate(270deg)'
|
|
132
129
|
}
|
|
133
130
|
},
|
|
134
131
|
'&:hover': {
|
|
135
|
-
backgroundColor: function backgroundColor(
|
|
136
|
-
var accordion =
|
|
132
|
+
backgroundColor: function backgroundColor(_ref5) {
|
|
133
|
+
var accordion = _ref5.accordion;
|
|
137
134
|
return accordion.background.hover;
|
|
138
135
|
}
|
|
139
136
|
}
|
|
@@ -144,7 +141,7 @@ var Trigger = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, forward
|
|
|
144
141
|
className: "vip-accordion-trigger-indicator",
|
|
145
142
|
sx: {
|
|
146
143
|
fontSize: 3,
|
|
147
|
-
color: '
|
|
144
|
+
color: 'icon.primary',
|
|
148
145
|
transform: 'rotate(90deg)',
|
|
149
146
|
transition: 'transform 300ms cubic-bezier(0.87, 0, 0.13, 1)'
|
|
150
147
|
},
|
|
@@ -162,15 +159,15 @@ Trigger.propTypes = {
|
|
|
162
159
|
sx: _propTypes["default"].object
|
|
163
160
|
};
|
|
164
161
|
|
|
165
|
-
var TriggerWithIcon = /*#__PURE__*/_react["default"].forwardRef(function (
|
|
166
|
-
var children =
|
|
167
|
-
icon =
|
|
168
|
-
props = (0, _objectWithoutPropertiesLoose2["default"])(
|
|
162
|
+
var TriggerWithIcon = /*#__PURE__*/_react["default"].forwardRef(function (_ref6, forwardedRef) {
|
|
163
|
+
var children = _ref6.children,
|
|
164
|
+
icon = _ref6.icon,
|
|
165
|
+
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref6, _excluded3);
|
|
169
166
|
return (0, _jsxRuntime.jsxs)(Trigger, (0, _extends2["default"])({}, props, {
|
|
170
167
|
ref: forwardedRef,
|
|
171
168
|
children: [(0, _jsxRuntime.jsx)("span", {
|
|
172
169
|
sx: {
|
|
173
|
-
color: '
|
|
170
|
+
color: 'icon.primary',
|
|
174
171
|
fontSize: 3
|
|
175
172
|
},
|
|
176
173
|
children: icon
|
|
@@ -193,11 +190,11 @@ TriggerWithIcon.propTypes = {
|
|
|
193
190
|
icon: _propTypes["default"].node.isRequired
|
|
194
191
|
};
|
|
195
192
|
|
|
196
|
-
var Content = /*#__PURE__*/_react["default"].forwardRef(function (
|
|
197
|
-
var children =
|
|
198
|
-
|
|
199
|
-
sx =
|
|
200
|
-
props = (0, _objectWithoutPropertiesLoose2["default"])(
|
|
193
|
+
var Content = /*#__PURE__*/_react["default"].forwardRef(function (_ref7, forwardedRef) {
|
|
194
|
+
var children = _ref7.children,
|
|
195
|
+
_ref7$sx = _ref7.sx,
|
|
196
|
+
sx = _ref7$sx === void 0 ? {} : _ref7$sx,
|
|
197
|
+
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref7, _excluded4);
|
|
201
198
|
return (0, _jsxRuntime.jsx)(AccordionPrimitive.Content, (0, _extends2["default"])({
|
|
202
199
|
sx: (0, _extends2["default"])({
|
|
203
200
|
backgroundColor: 'transparent',
|
|
@@ -226,12 +223,12 @@ Content.propTypes = {
|
|
|
226
223
|
sx: _propTypes["default"].object
|
|
227
224
|
};
|
|
228
225
|
|
|
229
|
-
var Root = /*#__PURE__*/_react["default"].forwardRef(function (
|
|
230
|
-
var
|
|
231
|
-
sx =
|
|
232
|
-
children =
|
|
233
|
-
className =
|
|
234
|
-
props = (0, _objectWithoutPropertiesLoose2["default"])(
|
|
226
|
+
var Root = /*#__PURE__*/_react["default"].forwardRef(function (_ref8, forwardRef) {
|
|
227
|
+
var _ref8$sx = _ref8.sx,
|
|
228
|
+
sx = _ref8$sx === void 0 ? {} : _ref8$sx,
|
|
229
|
+
children = _ref8.children,
|
|
230
|
+
className = _ref8.className,
|
|
231
|
+
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref8, _excluded5);
|
|
235
232
|
return (0, _jsxRuntime.jsx)(AccordionPrimitive.Root, (0, _extends2["default"])({
|
|
236
233
|
className: (0, _classnames["default"])('vip-accordion-component', className),
|
|
237
234
|
collapsible: true,
|
|
@@ -33,14 +33,26 @@ var Badge = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRef
|
|
|
33
33
|
sx: (0, _extends2["default"])({
|
|
34
34
|
fontSize: 0,
|
|
35
35
|
padding: 0,
|
|
36
|
-
bg: variant + ".
|
|
37
|
-
color: variant + ".
|
|
36
|
+
bg: "tag." + variant + ".background",
|
|
37
|
+
color: "tag." + variant + ".text",
|
|
38
38
|
py: 1,
|
|
39
39
|
verticalAlign: 'middle',
|
|
40
40
|
px: 2,
|
|
41
41
|
display: 'inline-block',
|
|
42
42
|
borderRadius: 1,
|
|
43
|
-
fontWeight: 'heading'
|
|
43
|
+
fontWeight: 'heading',
|
|
44
|
+
'&:hover, &:focus': {
|
|
45
|
+
backgroundColor: "tag." + variant + ".hover"
|
|
46
|
+
},
|
|
47
|
+
a: {
|
|
48
|
+
color: "tag." + variant + ".text",
|
|
49
|
+
'&:hover, &:focus, &:active': {
|
|
50
|
+
textDecoration: 'none'
|
|
51
|
+
},
|
|
52
|
+
'&:active': {
|
|
53
|
+
color: variant + ".active"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
44
56
|
}, sx),
|
|
45
57
|
className: (0, _classnames["default"])('vip-badge-component', className),
|
|
46
58
|
ref: forwardRef
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
exports.__esModule = true;
|
|
4
|
-
exports["default"] = exports.Default = void 0;
|
|
6
|
+
exports["default"] = exports.WithLinks = exports.Default = void 0;
|
|
7
|
+
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
5
9
|
|
|
6
10
|
var _ = require("..");
|
|
7
11
|
|
|
@@ -16,10 +20,80 @@ var _default = {
|
|
|
16
20
|
};
|
|
17
21
|
exports["default"] = _default;
|
|
18
22
|
|
|
23
|
+
var Template = function Template(props) {
|
|
24
|
+
return (0, _jsxRuntime.jsx)(_.Badge, (0, _extends2["default"])({}, props, {
|
|
25
|
+
sx: {
|
|
26
|
+
m: 2
|
|
27
|
+
}
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
var TemplateLink = function TemplateLink(props) {
|
|
32
|
+
return (0, _jsxRuntime.jsx)(Template, (0, _extends2["default"])({}, props, {
|
|
33
|
+
sx: {
|
|
34
|
+
m: 2
|
|
35
|
+
},
|
|
36
|
+
children: (0, _jsxRuntime.jsx)("a", {
|
|
37
|
+
href: "http://google.com",
|
|
38
|
+
children: "Google.com"
|
|
39
|
+
})
|
|
40
|
+
}));
|
|
41
|
+
};
|
|
42
|
+
|
|
19
43
|
var Default = function Default() {
|
|
20
|
-
return (0, _jsxRuntime.
|
|
21
|
-
children:
|
|
44
|
+
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
45
|
+
children: [(0, _jsxRuntime.jsx)(Template, {
|
|
46
|
+
children: "Badge"
|
|
47
|
+
}), (0, _jsxRuntime.jsx)(Template, {
|
|
48
|
+
variant: "red",
|
|
49
|
+
children: "Badge"
|
|
50
|
+
}), (0, _jsxRuntime.jsx)(Template, {
|
|
51
|
+
variant: "yellow",
|
|
52
|
+
children: "Badge"
|
|
53
|
+
}), (0, _jsxRuntime.jsx)(Template, {
|
|
54
|
+
variant: "green",
|
|
55
|
+
children: "Badge"
|
|
56
|
+
}), (0, _jsxRuntime.jsx)(Template, {
|
|
57
|
+
variant: "gray",
|
|
58
|
+
children: "Badge"
|
|
59
|
+
}), (0, _jsxRuntime.jsx)(Template, {
|
|
60
|
+
variant: "orange",
|
|
61
|
+
children: "Badge"
|
|
62
|
+
}), (0, _jsxRuntime.jsx)(Template, {
|
|
63
|
+
variant: "gold",
|
|
64
|
+
children: "Badge"
|
|
65
|
+
}), (0, _jsxRuntime.jsx)(Template, {
|
|
66
|
+
variant: "pink",
|
|
67
|
+
children: "Badge"
|
|
68
|
+
}), (0, _jsxRuntime.jsx)(Template, {
|
|
69
|
+
variant: "salmon",
|
|
70
|
+
children: "Badge"
|
|
71
|
+
})]
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
exports.Default = Default;
|
|
76
|
+
|
|
77
|
+
var WithLinks = function WithLinks() {
|
|
78
|
+
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
79
|
+
children: [(0, _jsxRuntime.jsx)(TemplateLink, {}), (0, _jsxRuntime.jsx)(TemplateLink, {
|
|
80
|
+
variant: "red"
|
|
81
|
+
}), (0, _jsxRuntime.jsx)(TemplateLink, {
|
|
82
|
+
variant: "yellow"
|
|
83
|
+
}), (0, _jsxRuntime.jsx)(TemplateLink, {
|
|
84
|
+
variant: "green"
|
|
85
|
+
}), (0, _jsxRuntime.jsx)(TemplateLink, {
|
|
86
|
+
variant: "gray"
|
|
87
|
+
}), (0, _jsxRuntime.jsx)(TemplateLink, {
|
|
88
|
+
variant: "orange"
|
|
89
|
+
}), (0, _jsxRuntime.jsx)(TemplateLink, {
|
|
90
|
+
variant: "gold"
|
|
91
|
+
}), (0, _jsxRuntime.jsx)(TemplateLink, {
|
|
92
|
+
variant: "pink"
|
|
93
|
+
}), (0, _jsxRuntime.jsx)(TemplateLink, {
|
|
94
|
+
variant: "salmon"
|
|
95
|
+
})]
|
|
22
96
|
});
|
|
23
97
|
};
|
|
24
98
|
|
|
25
|
-
exports.
|
|
99
|
+
exports.WithLinks = WithLinks;
|
|
@@ -9,7 +9,7 @@ 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 =
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
15
|
|
|
@@ -19,11 +19,26 @@ var _themeUi = require("theme-ui");
|
|
|
19
19
|
|
|
20
20
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
21
21
|
|
|
22
|
-
var _excluded = ["sx"];
|
|
22
|
+
var _excluded = ["disabled", "onClick", "sx"];
|
|
23
|
+
|
|
24
|
+
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); }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
23
27
|
|
|
24
28
|
var Button = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRef) {
|
|
25
|
-
var
|
|
29
|
+
var disabled = _ref.disabled,
|
|
30
|
+
onClick = _ref.onClick,
|
|
31
|
+
sx = _ref.sx,
|
|
26
32
|
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
|
|
33
|
+
var handleOnClick = (0, _react.useCallback)(function (event) {
|
|
34
|
+
if (disabled) {
|
|
35
|
+
return event.preventDefault();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (onClick) {
|
|
39
|
+
return onClick(event);
|
|
40
|
+
}
|
|
41
|
+
}, [disabled, onClick]);
|
|
27
42
|
return (0, _jsxRuntime.jsx)(_themeUi.Button, (0, _extends2["default"])({
|
|
28
43
|
sx: (0, _extends2["default"])({
|
|
29
44
|
verticalAlign: 'middle',
|
|
@@ -42,13 +57,15 @@ var Button = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRe
|
|
|
42
57
|
'&:focus-visible': function focusVisible(theme) {
|
|
43
58
|
return theme.outline;
|
|
44
59
|
},
|
|
45
|
-
'
|
|
60
|
+
'&[aria-disabled="true"]': {
|
|
46
61
|
opacity: 0.7,
|
|
47
62
|
cursor: 'not-allowed',
|
|
48
63
|
pointerEvents: 'all'
|
|
49
64
|
}
|
|
50
65
|
}, sx),
|
|
51
|
-
|
|
66
|
+
"aria-disabled": disabled,
|
|
67
|
+
className: (0, _classnames["default"])('vip-button-component', props.className),
|
|
68
|
+
onClick: handleOnClick
|
|
52
69
|
}, props, {
|
|
53
70
|
ref: forwardRef
|
|
54
71
|
}));
|
|
@@ -57,6 +74,8 @@ var Button = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRe
|
|
|
57
74
|
exports.Button = Button;
|
|
58
75
|
Button.displayName = 'Button';
|
|
59
76
|
Button.propTypes = {
|
|
60
|
-
|
|
61
|
-
|
|
77
|
+
className: _propTypes["default"].any,
|
|
78
|
+
disabled: _propTypes["default"].bool,
|
|
79
|
+
onClick: _propTypes["default"].func,
|
|
80
|
+
sx: _propTypes["default"].object
|
|
62
81
|
};
|
|
@@ -3,10 +3,16 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports["default"] = exports.Default = void 0;
|
|
6
|
+
exports["default"] = exports.WithOnClick = exports.Link = exports.Default = void 0;
|
|
7
|
+
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
9
|
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
|
|
12
|
+
var _bi = require("react-icons/bi");
|
|
13
|
+
|
|
14
|
+
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
|
|
15
|
+
|
|
10
16
|
var _ = require("..");
|
|
11
17
|
|
|
12
18
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
@@ -20,33 +26,100 @@ var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
|
20
26
|
*/
|
|
21
27
|
var _default = {
|
|
22
28
|
title: 'Button',
|
|
23
|
-
component: _.Button
|
|
29
|
+
component: _.Button,
|
|
30
|
+
argTypes: {
|
|
31
|
+
children: {},
|
|
32
|
+
disabled: {
|
|
33
|
+
control: {
|
|
34
|
+
type: 'boolean'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
variant: {
|
|
38
|
+
type: 'select',
|
|
39
|
+
options: ['primary', 'secondary', 'text', 'icon', 'tertiary', 'ghost', 'danger', 'display']
|
|
40
|
+
}
|
|
41
|
+
}
|
|
24
42
|
};
|
|
25
43
|
exports["default"] = _default;
|
|
26
44
|
|
|
27
|
-
var
|
|
45
|
+
var Template = function Template(args) {
|
|
28
46
|
return (0, _jsxRuntime.jsxs)(_react["default"].Fragment, {
|
|
29
|
-
children: [(0, _jsxRuntime.jsx)(_.Button, {
|
|
30
|
-
sx: {
|
|
31
|
-
mr: 2
|
|
32
|
-
},
|
|
47
|
+
children: [(0, _jsxRuntime.jsx)(_.Button, (0, _extends2["default"])({}, args, {
|
|
33
48
|
children: "Primary"
|
|
34
|
-
}), (0, _jsxRuntime.jsx)(_.Button, {
|
|
49
|
+
})), (0, _jsxRuntime.jsx)(_.Button, (0, _extends2["default"])({
|
|
35
50
|
variant: "secondary",
|
|
36
51
|
sx: {
|
|
37
52
|
ml: 2
|
|
38
|
-
}
|
|
53
|
+
}
|
|
54
|
+
}, args, {
|
|
39
55
|
children: "Secondary"
|
|
40
|
-
}), (0, _jsxRuntime.jsx)(_.Button, {
|
|
56
|
+
})), (0, _jsxRuntime.jsx)(_.Button, (0, _extends2["default"])({
|
|
57
|
+
variant: "tertiary",
|
|
58
|
+
sx: {
|
|
59
|
+
ml: 2
|
|
60
|
+
}
|
|
61
|
+
}, args, {
|
|
62
|
+
children: "Tertiary"
|
|
63
|
+
})), (0, _jsxRuntime.jsx)(_.Button, (0, _extends2["default"])({
|
|
64
|
+
variant: "ghost",
|
|
65
|
+
sx: {
|
|
66
|
+
ml: 2
|
|
67
|
+
}
|
|
68
|
+
}, args, {
|
|
69
|
+
children: "Ghost"
|
|
70
|
+
})), (0, _jsxRuntime.jsx)(_.Button, (0, _extends2["default"])({
|
|
71
|
+
variant: "display",
|
|
72
|
+
sx: {
|
|
73
|
+
ml: 2
|
|
74
|
+
}
|
|
75
|
+
}, args, {
|
|
76
|
+
children: "Display"
|
|
77
|
+
})), (0, _jsxRuntime.jsx)(_.Button, (0, _extends2["default"])({
|
|
78
|
+
variant: "danger",
|
|
79
|
+
sx: {
|
|
80
|
+
ml: 2
|
|
81
|
+
}
|
|
82
|
+
}, args, {
|
|
83
|
+
children: "Danger"
|
|
84
|
+
})), (0, _jsxRuntime.jsx)(_.Button, (0, _extends2["default"])({
|
|
41
85
|
variant: "text",
|
|
42
86
|
sx: {
|
|
43
87
|
ml: 2
|
|
44
88
|
},
|
|
45
89
|
as: "a",
|
|
46
|
-
href: "https://google/com"
|
|
90
|
+
href: "https://google/com"
|
|
91
|
+
}, args, {
|
|
47
92
|
children: "Button link"
|
|
48
|
-
})]
|
|
93
|
+
})), (0, _jsxRuntime.jsxs)(_.Button, (0, _extends2["default"])({
|
|
94
|
+
variant: "icon",
|
|
95
|
+
sx: {
|
|
96
|
+
ml: 2
|
|
97
|
+
},
|
|
98
|
+
type: "button"
|
|
99
|
+
}, args, {
|
|
100
|
+
children: [(0, _jsxRuntime.jsx)(_bi.BiCalendarHeart, {
|
|
101
|
+
size: 24
|
|
102
|
+
}), (0, _jsxRuntime.jsx)(_ScreenReaderText["default"], {
|
|
103
|
+
children: "domain.com"
|
|
104
|
+
})]
|
|
105
|
+
}))]
|
|
49
106
|
});
|
|
50
107
|
};
|
|
51
108
|
|
|
52
|
-
|
|
109
|
+
var Default = Template.bind({});
|
|
110
|
+
exports.Default = Default;
|
|
111
|
+
var Link = Template.bind({});
|
|
112
|
+
exports.Link = Link;
|
|
113
|
+
Link.args = {
|
|
114
|
+
variant: 'text',
|
|
115
|
+
as: 'a',
|
|
116
|
+
href: 'https://www.google.com'
|
|
117
|
+
};
|
|
118
|
+
var WithOnClick = Template.bind({});
|
|
119
|
+
exports.WithOnClick = WithOnClick;
|
|
120
|
+
Link.args = {
|
|
121
|
+
onClick: function onClick() {
|
|
122
|
+
// eslint-disable-next-line no-undef
|
|
123
|
+
alert('Clicked');
|
|
124
|
+
}
|
|
125
|
+
};
|
|
@@ -21,33 +21,79 @@ var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
|
21
21
|
/**
|
|
22
22
|
* Internal dependencies
|
|
23
23
|
*/
|
|
24
|
+
var BUTTON_TEXT = 'Button Text';
|
|
24
25
|
describe('<Button />', function () {
|
|
25
26
|
it('renders the Button component', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
26
|
-
var _render, container;
|
|
27
|
+
var onClick, _render, container, component;
|
|
27
28
|
|
|
28
29
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
29
30
|
while (1) {
|
|
30
31
|
switch (_context.prev = _context.next) {
|
|
31
32
|
case 0:
|
|
33
|
+
onClick = jest.fn(function () {});
|
|
32
34
|
_render = (0, _react.render)((0, _jsxRuntime.jsx)(_Button.Button, {
|
|
33
|
-
|
|
35
|
+
onClick: onClick,
|
|
36
|
+
children: BUTTON_TEXT
|
|
34
37
|
})), container = _render.container;
|
|
35
|
-
|
|
38
|
+
component = _react.screen.getByText(BUTTON_TEXT);
|
|
39
|
+
expect(component).toBeInTheDocument();
|
|
40
|
+
|
|
41
|
+
_react.fireEvent.click(component);
|
|
42
|
+
|
|
43
|
+
expect(onClick).toHaveBeenCalledTimes(1); // Check for accessibility issues
|
|
36
44
|
|
|
37
45
|
_context.t0 = expect;
|
|
38
|
-
_context.next =
|
|
46
|
+
_context.next = 9;
|
|
39
47
|
return (0, _jestAxe.axe)(container);
|
|
40
48
|
|
|
41
|
-
case
|
|
49
|
+
case 9:
|
|
42
50
|
_context.t1 = _context.sent;
|
|
43
|
-
_context.next =
|
|
51
|
+
_context.next = 12;
|
|
44
52
|
return (0, _context.t0)(_context.t1).toHaveNoViolations();
|
|
45
53
|
|
|
46
|
-
case
|
|
54
|
+
case 12:
|
|
47
55
|
case "end":
|
|
48
56
|
return _context.stop();
|
|
49
57
|
}
|
|
50
58
|
}
|
|
51
59
|
}, _callee);
|
|
52
60
|
})));
|
|
61
|
+
it('renders the Button with disabled prop', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
62
|
+
var onClick, _render2, container, component;
|
|
63
|
+
|
|
64
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
65
|
+
while (1) {
|
|
66
|
+
switch (_context2.prev = _context2.next) {
|
|
67
|
+
case 0:
|
|
68
|
+
onClick = jest.fn(function () {});
|
|
69
|
+
_render2 = (0, _react.render)((0, _jsxRuntime.jsx)(_Button.Button, {
|
|
70
|
+
disabled: true,
|
|
71
|
+
onClick: onClick,
|
|
72
|
+
children: BUTTON_TEXT
|
|
73
|
+
})), container = _render2.container;
|
|
74
|
+
component = _react.screen.getByText(BUTTON_TEXT);
|
|
75
|
+
expect(component).toBeInTheDocument();
|
|
76
|
+
expect(component).toHaveAttribute('aria-disabled', 'true');
|
|
77
|
+
expect(component).not.toHaveAttribute('disabled');
|
|
78
|
+
|
|
79
|
+
_react.fireEvent.click(component);
|
|
80
|
+
|
|
81
|
+
expect(onClick).toHaveBeenCalledTimes(0); // Check for accessibility issues
|
|
82
|
+
|
|
83
|
+
_context2.t0 = expect;
|
|
84
|
+
_context2.next = 11;
|
|
85
|
+
return (0, _jestAxe.axe)(container);
|
|
86
|
+
|
|
87
|
+
case 11:
|
|
88
|
+
_context2.t1 = _context2.sent;
|
|
89
|
+
_context2.next = 14;
|
|
90
|
+
return (0, _context2.t0)(_context2.t1).toHaveNoViolations();
|
|
91
|
+
|
|
92
|
+
case 14:
|
|
93
|
+
case "end":
|
|
94
|
+
return _context2.stop();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}, _callee2);
|
|
98
|
+
})));
|
|
53
99
|
});
|
|
@@ -40,8 +40,8 @@ var Code = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRef)
|
|
|
40
40
|
sx: {
|
|
41
41
|
fontSize: 1,
|
|
42
42
|
display: 'block',
|
|
43
|
-
bg: '
|
|
44
|
-
color: '
|
|
43
|
+
bg: 'layer.inverse',
|
|
44
|
+
color: 'texts.inverse',
|
|
45
45
|
borderRadius: 1,
|
|
46
46
|
py: 2,
|
|
47
47
|
px: 3,
|
|
@@ -72,18 +72,17 @@ var Code = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRef)
|
|
|
72
72
|
children: [codeDom, (0, _jsxRuntime.jsx)("button", {
|
|
73
73
|
"aria-label": "Copy code",
|
|
74
74
|
sx: {
|
|
75
|
-
bg: '
|
|
75
|
+
bg: 'notice.background.warning',
|
|
76
76
|
borderTopRightRadius: 1,
|
|
77
77
|
borderWidth: 0,
|
|
78
|
-
color: '
|
|
79
|
-
opacity: 0.8,
|
|
78
|
+
color: 'notice.text.warning',
|
|
80
79
|
paddingBottom: 1,
|
|
81
80
|
paddingLeft: 2,
|
|
82
81
|
paddingRight: 2,
|
|
83
82
|
paddingTop: 1,
|
|
84
83
|
position: 'absolute',
|
|
85
84
|
right: 0,
|
|
86
|
-
top:
|
|
85
|
+
top: 0,
|
|
87
86
|
'&:hover': {
|
|
88
87
|
opacity: 1,
|
|
89
88
|
cursor: 'pointer'
|
|
@@ -41,7 +41,7 @@ var DialogButton = function DialogButton(_ref) {
|
|
|
41
41
|
as: "span",
|
|
42
42
|
sx: {
|
|
43
43
|
mb: 0,
|
|
44
|
-
color: '
|
|
44
|
+
color: 'heading',
|
|
45
45
|
mr: 2,
|
|
46
46
|
flex: '0 0 auto'
|
|
47
47
|
},
|
|
@@ -53,7 +53,7 @@ var DialogButton = function DialogButton(_ref) {
|
|
|
53
53
|
flex: '1 1 auto',
|
|
54
54
|
whiteSpace: 'nowrap',
|
|
55
55
|
overflow: 'hidden',
|
|
56
|
-
color: '
|
|
56
|
+
color: 'input.text',
|
|
57
57
|
textOverflow: 'ellipsis'
|
|
58
58
|
},
|
|
59
59
|
children: value
|
|
@@ -15,6 +15,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
15
15
|
|
|
16
16
|
var _md = require("react-icons/md");
|
|
17
17
|
|
|
18
|
+
var _Input = require("./Input.styles");
|
|
19
|
+
|
|
18
20
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
19
21
|
|
|
20
22
|
var _excluded = ["disabled"];
|
|
@@ -25,36 +27,31 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
25
27
|
|
|
26
28
|
var StyledCheckbox = function StyledCheckbox(props) {
|
|
27
29
|
return (0, _jsxRuntime.jsx)(CheckboxPrimitive.Root, (0, _extends2["default"])({
|
|
28
|
-
sx: {
|
|
30
|
+
sx: (0, _extends2["default"])({
|
|
29
31
|
all: 'unset',
|
|
30
|
-
backgroundColor:
|
|
32
|
+
backgroundColor: _Input.inputBaseBackground
|
|
33
|
+
}, _Input.baseControlBorderStyle, _Input.baseControlFocusStyle, {
|
|
31
34
|
width: 16,
|
|
32
35
|
height: 16,
|
|
33
36
|
borderRadius: 1,
|
|
34
37
|
display: 'flex',
|
|
35
38
|
alignItems: 'center',
|
|
36
39
|
justifyContent: 'center',
|
|
37
|
-
'&:hover': {
|
|
38
|
-
backgroundColor: 'grey.20'
|
|
39
|
-
},
|
|
40
|
-
'&:focus': {
|
|
41
|
-
boxShadow: '0 0 0 2px black'
|
|
42
|
-
},
|
|
43
40
|
'&[data-state=checked]': {
|
|
44
|
-
backgroundColor: '
|
|
45
|
-
color: '
|
|
41
|
+
backgroundColor: 'link',
|
|
42
|
+
color: 'link'
|
|
46
43
|
},
|
|
47
44
|
svg: {
|
|
48
45
|
display: 'block'
|
|
49
46
|
}
|
|
50
|
-
}
|
|
47
|
+
})
|
|
51
48
|
}, props));
|
|
52
49
|
};
|
|
53
50
|
|
|
54
51
|
var StyledIndicator = function StyledIndicator(props) {
|
|
55
52
|
return (0, _jsxRuntime.jsx)(CheckboxPrimitive.Indicator, (0, _extends2["default"])({
|
|
56
53
|
sx: {
|
|
57
|
-
color: '
|
|
54
|
+
color: 'white'
|
|
58
55
|
}
|
|
59
56
|
}, props));
|
|
60
57
|
};
|
|
@@ -64,8 +61,7 @@ var Checkbox = function Checkbox(_ref) {
|
|
|
64
61
|
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
|
|
65
62
|
return (0, _jsxRuntime.jsx)(StyledCheckbox, (0, _extends2["default"])({
|
|
66
63
|
sx: {
|
|
67
|
-
opacity: disabled ? 0.4 : 1
|
|
68
|
-
border: 'none'
|
|
64
|
+
opacity: disabled ? 0.4 : 1
|
|
69
65
|
},
|
|
70
66
|
disabled: disabled
|
|
71
67
|
}, props, {
|
|
@@ -38,8 +38,8 @@ var Default = function Default() {
|
|
|
38
38
|
setChecked2 = _useState2[1];
|
|
39
39
|
|
|
40
40
|
return (0, _jsxRuntime.jsx)(_.Form.Root, {
|
|
41
|
-
children: (0, _jsxRuntime.jsxs)(
|
|
42
|
-
children: [(0, _jsxRuntime.jsx)(
|
|
41
|
+
children: (0, _jsxRuntime.jsxs)(_.Form.Fieldset, {
|
|
42
|
+
children: [(0, _jsxRuntime.jsx)(_.Form.Legend, {
|
|
43
43
|
children: "Tell me your prefereces"
|
|
44
44
|
}), (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
45
45
|
sx: {
|