@dxc-technology/halstack-react 0.0.0-c9c1158 → 0.0.0-c9efd3e
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/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +2 -7
- package/HalstackContext.d.ts +29 -133
- package/HalstackContext.js +1 -1
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +10 -26
- package/accordion/Accordion.stories.tsx +4 -36
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +3 -3
- package/accordion-group/AccordionGroupAccordion.js +2 -2
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +1 -1
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/action-icon/types.js +5 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +15 -72
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -28
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +1 -4
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.js +15 -22
- package/bulleted-list/BulletedList.stories.tsx +1 -2
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +15 -15
- package/button/Button.stories.tsx +32 -51
- package/button/Button.test.js +3 -1
- package/button/types.d.ts +1 -1
- package/card/Card.accessibility.test.js +36 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +26 -31
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +8 -5
- package/chip/Chip.stories.tsx +5 -24
- package/chip/Chip.test.js +4 -4
- package/common/coreTokens.d.ts +1 -1
- package/common/coreTokens.js +3 -3
- package/common/variables.d.ts +29 -133
- package/common/variables.js +38 -142
- package/container/Container.js +3 -7
- package/container/Container.stories.tsx +10 -25
- package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/types.d.ts +2 -2
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +2 -5
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +1 -1
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +21 -36
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/DropdownMenuItem.js +6 -3
- package/dropdown/types.d.ts +3 -5
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +3 -39
- package/file-input/FileInput.test.js +7 -84
- package/file-input/FileItem.js +13 -27
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +36 -31
- package/footer/Footer.stories.tsx +46 -2
- package/footer/Icons.d.ts +1 -0
- package/footer/Icons.js +65 -1
- package/footer/types.d.ts +8 -8
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.js +18 -40
- package/header/types.d.ts +4 -3
- package/heading/Heading.accessibility.test.js +33 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.stories.tsx +3 -1
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +1 -1
- package/layout/Icons.js +0 -2
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.js +7 -5
- package/link/Link.stories.tsx +2 -2
- package/link/types.d.ts +1 -1
- package/main.d.ts +5 -3
- package/main.js +22 -8
- package/nav-tabs/NavTabs.accessibility.test.js +52 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +9 -6
- package/nav-tabs/NavTabs.stories.tsx +6 -4
- package/nav-tabs/NavTabs.test.js +3 -2
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +8 -7
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +24 -5
- package/number-input/NumberInput.test.js +165 -6
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +6 -0
- package/package.json +12 -12
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +1 -4
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +2 -7
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.stories.tsx +0 -1
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +5 -11
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +1 -1
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +4 -1
- package/resultset-table/ResultsetTable.js +23 -12
- package/resultset-table/ResultsetTable.stories.tsx +106 -5
- package/resultset-table/ResultsetTable.test.js +76 -0
- package/resultset-table/types.d.ts +40 -7
- package/select/Option.js +8 -1
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +35 -27
- package/select/Select.stories.tsx +0 -1
- package/select/Select.test.js +498 -462
- package/select/types.d.ts +2 -2
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +20 -18
- package/sidenav/Sidenav.stories.tsx +4 -9
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +37 -46
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +6 -14
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.accessibility.test.js +89 -0
- package/switch/Switch.js +23 -28
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +73 -11
- package/table/Table.stories.tsx +297 -2
- package/table/Table.test.js +92 -0
- package/table/types.d.ts +28 -0
- package/tabs/Tab.js +7 -4
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +4 -5
- package/tabs/Tabs.stories.tsx +1 -1
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +6 -6
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.js +4 -12
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestions.js +7 -10
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +77 -102
- package/text-input/TextInput.stories.tsx +1 -1
- package/text-input/TextInput.test.js +96 -79
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +10 -16
- package/textarea/Textarea.stories.tsx +0 -1
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +1 -4
- package/typography/Typography.accessibility.test.js +339 -0
- package/useTheme.d.ts +29 -133
- package/utils/FocusLock.js +15 -5
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/types.d.ts +1 -1
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -47
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -56
- /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
- /package/{layout → sidenav}/SidenavContext.js +0 -0
package/checkbox/Checkbox.js
CHANGED
|
@@ -16,7 +16,6 @@ var _utils = require("../common/utils");
|
|
|
16
16
|
var _uuid = require("uuid");
|
|
17
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
18
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
19
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
20
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
21
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -60,7 +59,6 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
60
59
|
setInnerChecked = _useState4[1];
|
|
61
60
|
var checkboxRef = (0, _react.useRef)(null);
|
|
62
61
|
var colorsTheme = (0, _useTheme["default"])();
|
|
63
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
64
62
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
65
63
|
var handleCheckboxChange = function handleCheckboxChange() {
|
|
66
64
|
if (!disabled && !readOnly) {
|
|
@@ -89,12 +87,10 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
89
87
|
margin: margin,
|
|
90
88
|
size: size,
|
|
91
89
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
92
|
-
backgroundType: backgroundType,
|
|
93
90
|
ref: ref
|
|
94
91
|
}, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
95
92
|
id: labelId,
|
|
96
93
|
disabled: disabled,
|
|
97
|
-
backgroundType: backgroundType,
|
|
98
94
|
labelPosition: labelPosition
|
|
99
95
|
}, label, optional && " ".concat(translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
100
96
|
type: "checkbox",
|
|
@@ -113,7 +109,6 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
113
109
|
"aria-readonly": readOnly,
|
|
114
110
|
"aria-required": !disabled && !optional,
|
|
115
111
|
"aria-labelledby": labelId,
|
|
116
|
-
backgroundType: backgroundType,
|
|
117
112
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
118
113
|
disabled: disabled,
|
|
119
114
|
readOnly: readOnly,
|
|
@@ -130,52 +125,52 @@ var sizes = {
|
|
|
130
125
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
131
126
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
132
127
|
};
|
|
133
|
-
var getDisabledColor = function getDisabledColor(
|
|
128
|
+
var getDisabledColor = function getDisabledColor(theme, element) {
|
|
134
129
|
switch (element) {
|
|
135
130
|
case "check":
|
|
136
|
-
return
|
|
131
|
+
return theme.disabledCheckColor;
|
|
137
132
|
case "background":
|
|
138
|
-
return
|
|
133
|
+
return theme.disabledBackgroundColorChecked;
|
|
139
134
|
case "border":
|
|
140
|
-
return
|
|
135
|
+
return theme.disabledBorderColor;
|
|
141
136
|
case "label":
|
|
142
|
-
return
|
|
137
|
+
return theme.disabledFontColor;
|
|
143
138
|
}
|
|
144
139
|
};
|
|
145
|
-
var getReadOnlyColor = function getReadOnlyColor(
|
|
140
|
+
var getReadOnlyColor = function getReadOnlyColor(theme, element) {
|
|
146
141
|
switch (element) {
|
|
147
142
|
case "check":
|
|
148
|
-
return
|
|
143
|
+
return theme.readOnlyCheckColor;
|
|
149
144
|
case "background":
|
|
150
|
-
return
|
|
145
|
+
return theme.readOnlyBackgroundColorChecked;
|
|
151
146
|
case "hoverBackground":
|
|
152
|
-
return
|
|
147
|
+
return theme.hoverReadOnlyBackgroundColorChecked;
|
|
153
148
|
case "border":
|
|
154
|
-
return
|
|
149
|
+
return theme.readOnlyBorderColor;
|
|
155
150
|
case "hoverBorder":
|
|
156
|
-
return
|
|
151
|
+
return theme.hoverReadOnlyBorderColor;
|
|
157
152
|
}
|
|
158
153
|
};
|
|
159
|
-
var getEnabledColor = function getEnabledColor(
|
|
154
|
+
var getEnabledColor = function getEnabledColor(theme, element) {
|
|
160
155
|
switch (element) {
|
|
161
156
|
case "check":
|
|
162
|
-
return
|
|
157
|
+
return theme.checkColor;
|
|
163
158
|
case "background":
|
|
164
|
-
return
|
|
159
|
+
return theme.backgroundColorChecked;
|
|
165
160
|
case "hoverBackground":
|
|
166
|
-
return
|
|
161
|
+
return theme.hoverBackgroundColorChecked;
|
|
167
162
|
case "border":
|
|
168
|
-
return
|
|
163
|
+
return theme.borderColor;
|
|
169
164
|
case "hoverBorder":
|
|
170
|
-
return
|
|
165
|
+
return theme.hoverBorderColor;
|
|
171
166
|
case "label":
|
|
172
|
-
return
|
|
167
|
+
return theme.fontColor;
|
|
173
168
|
}
|
|
174
169
|
};
|
|
175
170
|
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n order: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
176
171
|
return props.labelPosition === "before" ? 0 : 1;
|
|
177
172
|
}, function (props) {
|
|
178
|
-
return props.disabled ? getDisabledColor(props, "label") : getEnabledColor(props, "label");
|
|
173
|
+
return props.disabled ? getDisabledColor(props.theme, "label") : getEnabledColor(props.theme, "label");
|
|
179
174
|
}, function (props) {
|
|
180
175
|
return props.theme.fontFamily;
|
|
181
176
|
}, function (props) {
|
|
@@ -185,14 +180,14 @@ var LabelContainer = _styledComponents["default"].span(_templateObject || (_temp
|
|
|
185
180
|
});
|
|
186
181
|
var ValueInput = _styledComponents["default"].input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
187
182
|
var CheckboxContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
|
|
188
|
-
var Checkbox = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 18px;\n width: 18px;\n border: 2px solid\n ", ";\n border-radius: 2px;\n background-color: ", ";\n color: ", ";\n\n &:focus {\n outline: 2px solid
|
|
189
|
-
return props.disabled ? getDisabledColor(props, "border") : props.readOnly ? getReadOnlyColor(props, "border") : getEnabledColor(props, "border");
|
|
183
|
+
var Checkbox = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 18px;\n width: 18px;\n border: 2px solid\n ", ";\n border-radius: 2px;\n background-color: ", ";\n color: ", ";\n\n &:focus {\n outline: 2px solid ", ";\n outline-offset: 2px;\n }\n svg {\n position: absolute;\n width: 22px;\n height: 22px;\n }\n ", "\n"])), function (props) {
|
|
184
|
+
return props.disabled ? getDisabledColor(props.theme, "border") : props.readOnly ? getReadOnlyColor(props.theme, "border") : getEnabledColor(props.theme, "border");
|
|
190
185
|
}, function (props) {
|
|
191
|
-
return props.checked ? props.disabled ? getDisabledColor(props, "check") : props.readOnly ? getReadOnlyColor(props, "check") : getEnabledColor(props, "check") : "transparent";
|
|
186
|
+
return props.checked ? props.disabled ? getDisabledColor(props.theme, "check") : props.readOnly ? getReadOnlyColor(props.theme, "check") : getEnabledColor(props.theme, "check") : "transparent";
|
|
192
187
|
}, function (props) {
|
|
193
|
-
return props.disabled ? getDisabledColor(props, "background") : props.readOnly ? getReadOnlyColor(props, "background") : getEnabledColor(props, "background");
|
|
188
|
+
return props.disabled ? getDisabledColor(props.theme, "background") : props.readOnly ? getReadOnlyColor(props.theme, "background") : getEnabledColor(props.theme, "background");
|
|
194
189
|
}, function (props) {
|
|
195
|
-
return props.
|
|
190
|
+
return props.theme.focusColor;
|
|
196
191
|
}, function (props) {
|
|
197
192
|
return props.disabled && "pointer-events: none;";
|
|
198
193
|
});
|
|
@@ -213,8 +208,8 @@ var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
213
208
|
}, function (props) {
|
|
214
209
|
return props.disabled ? "not-allowed" : props.readOnly ? "default" : "pointer";
|
|
215
210
|
}, Checkbox, function (props) {
|
|
216
|
-
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props, "hoverBorder") : getEnabledColor(props, "hoverBorder");
|
|
211
|
+
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props.theme, "hoverBorder") : getEnabledColor(props.theme, "hoverBorder");
|
|
217
212
|
}, function (props) {
|
|
218
|
-
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props, "hoverBackground") : getEnabledColor(props, "hoverBackground");
|
|
213
|
+
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props.theme, "hoverBackground") : getEnabledColor(props.theme, "hoverBackground");
|
|
219
214
|
});
|
|
220
215
|
var _default = exports["default"] = DxcCheckbox;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _jestAxe = require("jest-axe");
|
|
9
|
+
var _Chip = _interopRequireDefault(require("./Chip.tsx"));
|
|
10
|
+
var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
|
+
version: "1.1",
|
|
12
|
+
x: "0px",
|
|
13
|
+
y: "0px",
|
|
14
|
+
width: "438.536px",
|
|
15
|
+
height: "438.536px",
|
|
16
|
+
viewBox: "0 0 438.536 438.536",
|
|
17
|
+
fill: "currentColor"
|
|
18
|
+
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
19
|
+
d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123\nC8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126\nh274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225\nC438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402\nc0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401\nc-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
|
|
20
|
+
})));
|
|
21
|
+
describe("Chip component accessibility tests", function () {
|
|
22
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
23
|
+
var _render, container, results;
|
|
24
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
25
|
+
while (1) switch (_context.prev = _context.next) {
|
|
26
|
+
case 0:
|
|
27
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
28
|
+
margin: "small",
|
|
29
|
+
prefixIcon: iconSVG,
|
|
30
|
+
suffixIcon: iconSVG,
|
|
31
|
+
label: "Chip"
|
|
32
|
+
})), container = _render.container;
|
|
33
|
+
_context.next = 3;
|
|
34
|
+
return (0, _jestAxe.axe)(container);
|
|
35
|
+
case 3:
|
|
36
|
+
results = _context.sent;
|
|
37
|
+
expect(results).toHaveNoViolations();
|
|
38
|
+
case 5:
|
|
39
|
+
case "end":
|
|
40
|
+
return _context.stop();
|
|
41
|
+
}
|
|
42
|
+
}, _callee);
|
|
43
|
+
})));
|
|
44
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
45
|
+
var _render2, container, results;
|
|
46
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
47
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
48
|
+
case 0:
|
|
49
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
50
|
+
margin: "small",
|
|
51
|
+
prefixIcon: iconSVG,
|
|
52
|
+
suffixIcon: iconSVG,
|
|
53
|
+
label: "Chip",
|
|
54
|
+
disabled: true
|
|
55
|
+
})), container = _render2.container;
|
|
56
|
+
_context2.next = 3;
|
|
57
|
+
return (0, _jestAxe.axe)(container);
|
|
58
|
+
case 3:
|
|
59
|
+
results = _context2.sent;
|
|
60
|
+
expect(results).toHaveNoViolations();
|
|
61
|
+
case 5:
|
|
62
|
+
case "end":
|
|
63
|
+
return _context2.stop();
|
|
64
|
+
}
|
|
65
|
+
}, _callee2);
|
|
66
|
+
})));
|
|
67
|
+
});
|
package/chip/Chip.js
CHANGED
|
@@ -13,6 +13,7 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
13
13
|
var _variables = require("../common/variables");
|
|
14
14
|
var _utils = require("../common/utils");
|
|
15
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
16
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
16
17
|
var _templateObject, _templateObject2, _templateObject3;
|
|
17
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
18
19
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -40,8 +41,8 @@ var DxcChip = function DxcChip(_ref) {
|
|
|
40
41
|
onClick: function onClick() {
|
|
41
42
|
return onClickPrefix && !disabled && onClickPrefix();
|
|
42
43
|
}
|
|
43
|
-
}, typeof prefixIcon === "string" ? /*#__PURE__*/_react["default"].createElement("
|
|
44
|
-
|
|
44
|
+
}, typeof prefixIcon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
45
|
+
icon: prefixIcon
|
|
45
46
|
}) : prefixIcon), label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
46
47
|
disabled: disabled
|
|
47
48
|
}, label), suffixIcon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
@@ -52,8 +53,8 @@ var DxcChip = function DxcChip(_ref) {
|
|
|
52
53
|
onClick: function onClick() {
|
|
53
54
|
return !disabled && (onClickSuffix === null || onClickSuffix === void 0 ? void 0 : onClickSuffix());
|
|
54
55
|
}
|
|
55
|
-
}, typeof suffixIcon === "string" ? /*#__PURE__*/_react["default"].createElement("
|
|
56
|
-
|
|
56
|
+
}, typeof suffixIcon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
57
|
+
icon: suffixIcon
|
|
57
58
|
}) : suffixIcon)));
|
|
58
59
|
};
|
|
59
60
|
var calculateWidth = function calculateWidth(margin) {
|
|
@@ -106,7 +107,7 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_tem
|
|
|
106
107
|
}, function (props) {
|
|
107
108
|
return props.disabled ? props.theme.disabledFontColor : props.theme.fontColor;
|
|
108
109
|
});
|
|
109
|
-
var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border-radius: 0.25rem;\n color: ", ";\n ", "\n\n ", "\n\n
|
|
110
|
+
var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border-radius: 0.25rem;\n color: ", ";\n ", "\n\n ", "\n\n font-size: ", ";\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
110
111
|
return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
|
|
111
112
|
}, function (_ref3) {
|
|
112
113
|
var interactuable = _ref3.interactuable;
|
|
@@ -117,5 +118,7 @@ var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templ
|
|
|
117
118
|
return props.theme.iconSize;
|
|
118
119
|
}, function (props) {
|
|
119
120
|
return props.theme.iconSize;
|
|
121
|
+
}, function (props) {
|
|
122
|
+
return props.theme.iconSize;
|
|
120
123
|
});
|
|
121
124
|
var _default = exports["default"] = DxcChip;
|
package/chip/Chip.stories.tsx
CHANGED
|
@@ -13,7 +13,6 @@ export default {
|
|
|
13
13
|
const iconSVG = (
|
|
14
14
|
<svg
|
|
15
15
|
version="1.1"
|
|
16
|
-
id="Capa_1"
|
|
17
16
|
x="0px"
|
|
18
17
|
y="0px"
|
|
19
18
|
width="438.536px"
|
|
@@ -64,20 +63,11 @@ export const Chromatic = () => (
|
|
|
64
63
|
</ExampleContainer>
|
|
65
64
|
<ExampleContainer>
|
|
66
65
|
<Title title="Chip with prefix (SVG) and suffix (URL)" theme="light" level={4} />
|
|
67
|
-
<DxcChip
|
|
68
|
-
label="Chip with prefix and suffix"
|
|
69
|
-
prefixIcon={iconSVG}
|
|
70
|
-
suffixIcon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg"
|
|
71
|
-
/>
|
|
66
|
+
<DxcChip label="Chip with prefix and suffix" prefixIcon={iconSVG} suffixIcon="filled_check_circle" />
|
|
72
67
|
</ExampleContainer>
|
|
73
68
|
<ExampleContainer>
|
|
74
69
|
<Title title="Disabled chip" theme="light" level={4} />
|
|
75
|
-
<DxcChip
|
|
76
|
-
label="Disabled"
|
|
77
|
-
disabled
|
|
78
|
-
prefixIcon={iconSVG}
|
|
79
|
-
suffixIcon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg"
|
|
80
|
-
/>
|
|
70
|
+
<DxcChip label="Disabled" disabled prefixIcon={iconSVG} suffixIcon="filled_check_circle" />
|
|
81
71
|
</ExampleContainer>
|
|
82
72
|
<ExampleContainer>
|
|
83
73
|
<Title title="Chip with ellipsis" theme="light" level={4} />
|
|
@@ -146,22 +136,13 @@ export const Chromatic = () => (
|
|
|
146
136
|
<ExampleContainer>
|
|
147
137
|
<Title title="Chip with prefix and suffix" theme="light" level={4} />
|
|
148
138
|
<HalstackProvider theme={opinionatedTheme}>
|
|
149
|
-
<DxcChip
|
|
150
|
-
label="Chip"
|
|
151
|
-
prefixIcon={iconSVG}
|
|
152
|
-
suffixIcon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg"
|
|
153
|
-
/>
|
|
139
|
+
<DxcChip label="Chip" prefixIcon={iconSVG} suffixIcon="filled_check_circle" />
|
|
154
140
|
</HalstackProvider>
|
|
155
141
|
</ExampleContainer>
|
|
156
142
|
<ExampleContainer>
|
|
157
143
|
<Title title="Chip with prefix and suffix" theme="light" level={4} />
|
|
158
144
|
<HalstackProvider theme={opinionatedTheme}>
|
|
159
|
-
<DxcChip
|
|
160
|
-
label="Chip"
|
|
161
|
-
disabled
|
|
162
|
-
prefixIcon={iconSVG}
|
|
163
|
-
suffixIcon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg"
|
|
164
|
-
/>
|
|
145
|
+
<DxcChip label="Chip" disabled prefixIcon={iconSVG} suffixIcon="filled_check_circle" />
|
|
165
146
|
</HalstackProvider>
|
|
166
147
|
</ExampleContainer>
|
|
167
148
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
@@ -199,7 +180,7 @@ const ChipPrefixFocused = () => (
|
|
|
199
180
|
const ChipSuffixFocused = () => (
|
|
200
181
|
<ExampleContainer>
|
|
201
182
|
<Title title="Chip with suffix" theme="light" level={4} />
|
|
202
|
-
<DxcChip label="Chip with suffix" suffixIcon="
|
|
183
|
+
<DxcChip label="Chip with suffix" suffixIcon="filled_delete" onClickSuffix={() => {}} />
|
|
203
184
|
</ExampleContainer>
|
|
204
185
|
);
|
|
205
186
|
|
package/chip/Chip.test.js
CHANGED
|
@@ -16,26 +16,26 @@ describe("Chip component tests", function () {
|
|
|
16
16
|
var onClick = jest.fn();
|
|
17
17
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
18
18
|
label: "Chip",
|
|
19
|
-
prefixIcon: "
|
|
19
|
+
prefixIcon: "nutrition",
|
|
20
20
|
onClickPrefix: onClick
|
|
21
21
|
})),
|
|
22
22
|
getByText = _render2.getByText,
|
|
23
23
|
getByRole = _render2.getByRole;
|
|
24
24
|
expect(getByText("Chip")).toBeTruthy();
|
|
25
|
-
_react2.fireEvent.click(getByRole("
|
|
25
|
+
_react2.fireEvent.click(getByRole("button"));
|
|
26
26
|
expect(onClick).toHaveBeenCalled();
|
|
27
27
|
});
|
|
28
28
|
test("Calls correct function when clicking on suffix icon", function () {
|
|
29
29
|
var onClick = jest.fn();
|
|
30
30
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
31
31
|
label: "Chip",
|
|
32
|
-
suffixIcon: "
|
|
32
|
+
suffixIcon: "nutrition",
|
|
33
33
|
onClickSuffix: onClick
|
|
34
34
|
})),
|
|
35
35
|
getByText = _render3.getByText,
|
|
36
36
|
getByRole = _render3.getByRole;
|
|
37
37
|
expect(getByText("Chip")).toBeTruthy();
|
|
38
|
-
_react2.fireEvent.click(getByRole("
|
|
38
|
+
_react2.fireEvent.click(getByRole("button"));
|
|
39
39
|
expect(onClick).toHaveBeenCalled();
|
|
40
40
|
});
|
|
41
41
|
});
|
package/common/coreTokens.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Halstack Color Palette
|
|
3
|
-
* @link https://developer.dxc.com/halstack/next/principles/color
|
|
3
|
+
* @link https://developer.dxc.com/halstack/next/principles/color/#color-tokens-core-color-tokens
|
|
4
4
|
*/
|
|
5
5
|
declare const CoreColorTokens: {
|
|
6
6
|
color_black: string;
|
package/common/coreTokens.js
CHANGED
|
@@ -9,8 +9,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
10
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
11
|
/**
|
|
12
|
-
* Halstack Color Palette
|
|
13
|
-
* @link https://developer.dxc.com/halstack/next/principles/color
|
|
12
|
+
* Halstack Color Palette
|
|
13
|
+
* @link https://developer.dxc.com/halstack/next/principles/color/#color-tokens-core-color-tokens
|
|
14
14
|
*/
|
|
15
15
|
var CoreColorTokens = {
|
|
16
16
|
// Color
|
|
@@ -112,7 +112,7 @@ var getCoreColorToken = exports.getCoreColorToken = function getCoreColorToken(k
|
|
|
112
112
|
return CoreColorTokens[key];
|
|
113
113
|
};
|
|
114
114
|
/**
|
|
115
|
-
* Halstack Spacing Principles
|
|
115
|
+
* Halstack Spacing Principles
|
|
116
116
|
* @link https://developer.dxc.com/halstack/next/principles/spacing/
|
|
117
117
|
*/
|
|
118
118
|
var SpacingTokens = {
|