@dxc-technology/halstack-react 0.0.0-f2bad31 → 0.0.0-f319e71
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.js +1 -1
- package/HalstackContext.d.ts +2 -5
- package/HalstackContext.js +6 -6
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +4 -4
- package/accordion/Accordion.js +9 -10
- package/accordion/Accordion.stories.tsx +4 -14
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +11 -17
- package/accordion-group/AccordionGroup.js +1 -1
- package/accordion-group/AccordionGroup.stories.tsx +23 -23
- package/accordion-group/AccordionGroup.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.test.js +5 -9
- package/accordion-group/AccordionGroupAccordion.js +1 -1
- package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- package/action-icon/ActionIcon.accessibility.test.js +4 -4
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +1 -1
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +6 -6
- package/alert/Alert.js +6 -3
- package/alert/Alert.test.d.ts +1 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.accessibility.test.d.ts +1 -0
- package/badge/Badge.accessibility.test.js +5 -5
- package/badge/Badge.js +6 -4
- package/badge/Badge.stories.tsx +11 -11
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +2 -2
- package/badge/types.d.ts +1 -1
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +3 -3
- package/box/Box.js +1 -1
- package/box/Box.test.d.ts +1 -0
- package/box/Box.test.js +1 -1
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +168 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +18 -6
- package/bulleted-list/BulletedList.js +2 -2
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +6 -6
- package/button/Button.js +1 -1
- package/button/Button.stories.tsx +3 -3
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +1 -1
- package/card/Card.accessibility.test.d.ts +1 -0
- package/card/Card.accessibility.test.js +3 -3
- package/card/Card.js +3 -2
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.d.ts +1 -0
- package/card/Card.test.js +1 -1
- package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
- package/checkbox/Checkbox.accessibility.test.js +5 -5
- package/checkbox/Checkbox.js +10 -13
- package/checkbox/Checkbox.test.d.ts +1 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/chip/Chip.accessibility.test.d.ts +1 -0
- package/chip/Chip.accessibility.test.js +4 -4
- package/chip/Chip.js +3 -1
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +1 -1
- package/common/coreTokens.js +3 -3
- package/common/variables.d.ts +2 -5
- package/common/variables.js +68 -71
- package/container/Container.stories.tsx +3 -3
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +15 -3
- package/contextual-menu/ContextualMenu.d.ts +3 -5
- package/contextual-menu/ContextualMenu.js +89 -52
- package/contextual-menu/ContextualMenu.stories.tsx +115 -74
- package/contextual-menu/ContextualMenu.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +200 -24
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +50 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +50 -11
- package/date-input/Calendar.js +47 -31
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +24 -11
- package/date-input/DateInput.js +28 -23
- package/date-input/DateInput.stories.tsx +18 -12
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +39 -39
- package/date-input/DatePicker.js +13 -7
- package/date-input/YearPicker.js +10 -5
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +5 -5
- package/dialog/Dialog.js +9 -20
- package/dialog/Dialog.stories.tsx +8 -4
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +111 -48
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +2 -2
- package/divider/Divider.stories.tsx +2 -1
- package/divider/Divider.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +12 -9
- package/dropdown/Dropdown.js +16 -15
- package/dropdown/Dropdown.stories.tsx +11 -11
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +101 -72
- package/dropdown/DropdownMenu.js +4 -4
- package/dropdown/DropdownMenuItem.js +2 -1
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +30 -23
- package/file-input/FileInput.js +6 -47
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +51 -106
- package/file-input/FileItem.js +18 -28
- package/file-input/types.d.ts +0 -4
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +13 -5
- package/footer/Footer.js +8 -6
- package/footer/Footer.stories.tsx +39 -1
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.js +2 -30
- package/footer/types.d.ts +1 -1
- package/grid/Grid.stories.tsx +3 -1
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +16 -6
- package/header/Header.js +12 -22
- package/header/Header.stories.tsx +17 -1
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +1 -1
- package/header/Icons.js +1 -6
- package/heading/Heading.accessibility.test.d.ts +1 -0
- package/heading/Heading.accessibility.test.js +3 -3
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.d.ts +1 -0
- package/heading/Heading.test.js +1 -14
- package/icon/Icon.accessibility.test.d.ts +1 -0
- package/icon/Icon.accessibility.test.js +2 -2
- package/icon/Icon.js +1 -1
- package/icon/Icon.stories.tsx +1 -1
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +3 -3
- package/image/Image.js +1 -1
- package/layout/ApplicationLayout.js +9 -6
- package/layout/Icons.d.ts +0 -1
- package/layout/Icons.js +1 -9
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +8 -12
- package/link/Link.js +8 -6
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +1 -1
- package/link/types.d.ts +1 -1
- package/main.d.ts +2 -1
- package/main.js +8 -1
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +8 -16
- package/nav-tabs/NavTabs.js +19 -4
- package/nav-tabs/NavTabs.stories.tsx +41 -23
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +10 -9
- package/nav-tabs/Tab.js +17 -18
- package/nav-tabs/types.d.ts +1 -1
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +9 -10
- package/number-input/NumberInput.js +6 -3
- package/number-input/NumberInput.stories.tsx +11 -16
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +6 -7
- package/package.json +25 -20
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +4 -5
- package/paginator/Paginator.js +13 -10
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +2 -3
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +2 -2
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +7 -8
- package/password-input/PasswordInput.js +11 -8
- package/password-input/PasswordInput.stories.tsx +10 -1
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +6 -7
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +3 -3
- package/progress-bar/ProgressBar.js +6 -4
- package/progress-bar/ProgressBar.test.d.ts +1 -0
- package/progress-bar/ProgressBar.test.js +1 -1
- package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
- package/quick-nav/QuickNav.accessibility.test.js +2 -2
- package/quick-nav/QuickNav.js +1 -1
- package/radio-group/Radio.js +6 -9
- package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
- package/radio-group/RadioGroup.accessibility.test.js +4 -4
- package/radio-group/RadioGroup.js +14 -16
- package/radio-group/RadioGroup.test.d.ts +1 -0
- package/radio-group/RadioGroup.test.js +3 -5
- package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +16 -6
- package/resultset-table/ResultsetTable.js +36 -11
- package/resultset-table/ResultsetTable.stories.tsx +14 -2
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +103 -34
- package/select/Listbox.js +24 -16
- package/select/Option.js +12 -10
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +18 -8
- package/select/Select.js +41 -29
- package/select/Select.stories.tsx +69 -111
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +371 -474
- package/select/types.d.ts +1 -1
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +3 -3
- package/sidenav/Sidenav.js +16 -12
- package/sidenav/Sidenav.stories.tsx +5 -9
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +1 -1
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +5 -6
- package/slider/Slider.js +11 -13
- package/slider/Slider.stories.tsx +180 -0
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +13 -11
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +6 -6
- package/spinner/Spinner.js +6 -2
- package/spinner/Spinner.test.d.ts +1 -0
- package/spinner/Spinner.test.js +1 -1
- package/status-light/StatusLight.accessibility.test.d.ts +1 -0
- package/status-light/StatusLight.accessibility.test.js +8 -8
- package/status-light/StatusLight.test.d.ts +1 -0
- package/status-light/StatusLight.test.js +1 -1
- package/switch/Switch.accessibility.test.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +14 -5
- package/switch/Switch.js +6 -9
- package/switch/Switch.stories.tsx +12 -0
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +1 -1
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +16 -6
- package/table/Table.js +1 -1
- package/table/Table.stories.tsx +13 -1
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +2 -4
- package/tabs/Tab.js +6 -5
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +3 -3
- package/tabs/Tabs.js +9 -20
- package/tabs/Tabs.stories.tsx +7 -3
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +20 -38
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +4 -4
- package/tag/Tag.js +7 -7
- package/tag/Tag.stories.tsx +5 -8
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +5 -13
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestion.js +1 -1
- package/text-input/Suggestions.js +14 -6
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +11 -12
- package/text-input/TextInput.js +29 -25
- package/text-input/TextInput.stories.tsx +19 -7
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +2 -3
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +7 -7
- package/textarea/Textarea.js +14 -13
- package/textarea/Textarea.test.d.ts +1 -0
- package/textarea/Textarea.test.js +1 -1
- package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +5 -5
- package/toggle-group/ToggleGroup.js +10 -12
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
- package/tooltip/Tooltip.accessibility.test.js +144 -0
- package/tooltip/Tooltip.d.ts +4 -0
- package/tooltip/Tooltip.js +50 -0
- package/tooltip/Tooltip.stories.tsx +111 -0
- package/tooltip/Tooltip.test.d.ts +1 -0
- package/tooltip/Tooltip.test.js +112 -0
- package/tooltip/types.d.ts +16 -0
- package/tooltip/types.js +5 -0
- package/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +12 -12
- package/typography/Typography.stories.tsx +1 -3
- package/useTheme.d.ts +2 -5
- package/utils/BaseTypography.js +1 -1
- package/utils/FocusLock.js +3 -2
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +3 -3
- package/wizard/Wizard.js +14 -25
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +1 -1
- package/contextual-menu/MenuItemAction.d.ts +0 -4
- package/contextual-menu/MenuItemAction.js +0 -46
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -58
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -40
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -35
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -89
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -47
package/tabs/Tabs.test.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
-
var _Tabs = _interopRequireDefault(require("./Tabs
|
|
6
|
+
var _Tabs = _interopRequireDefault(require("./Tabs"));
|
|
7
7
|
var sampleTabs = [{
|
|
8
8
|
label: "Tab-1"
|
|
9
9
|
}, {
|
|
@@ -73,26 +73,8 @@ describe("Tabs component tests", function () {
|
|
|
73
73
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
74
74
|
expect(tabs[2].getAttribute("aria-selected")).toBe("true");
|
|
75
75
|
});
|
|
76
|
-
test("Tabs render with correct icons", function () {
|
|
77
|
-
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
78
|
-
tabs: [{
|
|
79
|
-
label: "Tab-1",
|
|
80
|
-
icon: "/testIcon1.png"
|
|
81
|
-
}, {
|
|
82
|
-
label: "Tab-2",
|
|
83
|
-
icon: "/testIcon2.png"
|
|
84
|
-
}, {
|
|
85
|
-
label: "Tab-3",
|
|
86
|
-
icon: "/testIcon3.png"
|
|
87
|
-
}]
|
|
88
|
-
})),
|
|
89
|
-
getAllByRole = _render4.getAllByRole;
|
|
90
|
-
expect(getAllByRole("img")[0].getAttribute("src")).toBe("/testIcon1.png");
|
|
91
|
-
expect(getAllByRole("img")[1].getAttribute("src")).toBe("/testIcon2.png");
|
|
92
|
-
expect(getAllByRole("img")[2].getAttribute("src")).toBe("/testIcon3.png");
|
|
93
|
-
});
|
|
94
76
|
test("Tabs render with disabled tab", function () {
|
|
95
|
-
var
|
|
77
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
96
78
|
tabs: [{
|
|
97
79
|
label: "Tab-1",
|
|
98
80
|
isDisabled: true
|
|
@@ -100,18 +82,18 @@ describe("Tabs component tests", function () {
|
|
|
100
82
|
label: "Tab-2"
|
|
101
83
|
}]
|
|
102
84
|
})),
|
|
103
|
-
getAllByRole =
|
|
85
|
+
getAllByRole = _render4.getAllByRole;
|
|
104
86
|
expect(getAllByRole("tab")[0].hasAttribute("disabled")).toBeTruthy();
|
|
105
87
|
expect(getAllByRole("tab")[1].hasAttribute("disabled")).toBeFalsy();
|
|
106
88
|
});
|
|
107
89
|
test("Uncontrolled tabs", function () {
|
|
108
90
|
var onTabClick = jest.fn();
|
|
109
|
-
var
|
|
91
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
110
92
|
tabs: sampleTabs,
|
|
111
93
|
onTabClick: onTabClick
|
|
112
94
|
})),
|
|
113
|
-
getByText =
|
|
114
|
-
getAllByRole =
|
|
95
|
+
getByText = _render5.getByText,
|
|
96
|
+
getAllByRole = _render5.getAllByRole;
|
|
115
97
|
var tabs = getAllByRole("tab");
|
|
116
98
|
var tab1 = getByText("Tab-1");
|
|
117
99
|
var tab2 = getByText("Tab-2");
|
|
@@ -128,12 +110,12 @@ describe("Tabs component tests", function () {
|
|
|
128
110
|
});
|
|
129
111
|
test("Controlled tabs", function () {
|
|
130
112
|
var onTabClick = jest.fn();
|
|
131
|
-
var
|
|
113
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
132
114
|
tabs: sampleTabs,
|
|
133
115
|
onTabClick: onTabClick,
|
|
134
116
|
activeTabIndex: 0
|
|
135
117
|
})),
|
|
136
|
-
getAllByRole =
|
|
118
|
+
getAllByRole = _render6.getAllByRole;
|
|
137
119
|
var tabs = getAllByRole("tab");
|
|
138
120
|
_react2.fireEvent.click(tabs[1]);
|
|
139
121
|
expect(onTabClick).toHaveBeenCalledWith(1);
|
|
@@ -148,11 +130,11 @@ describe("Tabs component tests", function () {
|
|
|
148
130
|
});
|
|
149
131
|
test("Uncontrolled tabs should have focus in the first non-disabled tab", function () {
|
|
150
132
|
var onTabClick = jest.fn();
|
|
151
|
-
var
|
|
133
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
152
134
|
tabs: sampleTabsLastTabNonDisabled,
|
|
153
135
|
onTabClick: onTabClick
|
|
154
136
|
})),
|
|
155
|
-
getAllByRole =
|
|
137
|
+
getAllByRole = _render7.getAllByRole;
|
|
156
138
|
var tabs = getAllByRole("tab");
|
|
157
139
|
expect(tabs[0].hasAttribute("disabled")).toBeTruthy();
|
|
158
140
|
expect(tabs[1].hasAttribute("disabled")).toBeTruthy();
|
|
@@ -163,12 +145,12 @@ describe("Tabs component tests", function () {
|
|
|
163
145
|
});
|
|
164
146
|
test("Controlled tabs with active index in disabled tab should not change focus to the first available tab", function () {
|
|
165
147
|
var onTabClick = jest.fn();
|
|
166
|
-
var
|
|
148
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
167
149
|
tabs: sampleTabsLastTabNonDisabled,
|
|
168
150
|
onTabClick: onTabClick,
|
|
169
151
|
activeTabIndex: 0
|
|
170
152
|
})),
|
|
171
|
-
getAllByRole =
|
|
153
|
+
getAllByRole = _render8.getAllByRole;
|
|
172
154
|
var tabs = getAllByRole("tab");
|
|
173
155
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
174
156
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
@@ -187,13 +169,13 @@ describe("Tabs component tests", function () {
|
|
|
187
169
|
});
|
|
188
170
|
test("Select tabs with keyboard event arrows", function () {
|
|
189
171
|
var onTabClick = jest.fn();
|
|
190
|
-
var
|
|
172
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
191
173
|
tabs: sampleTabs,
|
|
192
174
|
onTabClick: onTabClick
|
|
193
175
|
})),
|
|
194
|
-
getByText =
|
|
195
|
-
getByRole =
|
|
196
|
-
getAllByRole =
|
|
176
|
+
getByText = _render9.getByText,
|
|
177
|
+
getByRole = _render9.getByRole,
|
|
178
|
+
getAllByRole = _render9.getAllByRole;
|
|
197
179
|
var tabList = getByRole("tablist");
|
|
198
180
|
var tab1 = getByText("Tab-1");
|
|
199
181
|
var tabs = getAllByRole("tab");
|
|
@@ -265,13 +247,13 @@ describe("Tabs component tests", function () {
|
|
|
265
247
|
});
|
|
266
248
|
test("Skip disabled tab with keyboard event arrows", function () {
|
|
267
249
|
var onTabClick = jest.fn();
|
|
268
|
-
var
|
|
250
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
269
251
|
tabs: sampleTabsMiddleDisabled,
|
|
270
252
|
onTabClick: onTabClick
|
|
271
253
|
})),
|
|
272
|
-
getByText =
|
|
273
|
-
getByRole =
|
|
274
|
-
getAllByRole =
|
|
254
|
+
getByText = _render10.getByText,
|
|
255
|
+
getByRole = _render10.getByRole,
|
|
256
|
+
getAllByRole = _render10.getAllByRole;
|
|
275
257
|
var tabList = getByRole("tablist");
|
|
276
258
|
var tab1 = getByText("Tab-1");
|
|
277
259
|
var tabs = getAllByRole("tab");
|
package/tabs/types.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export type TabLabelProps = TabCommonProps & {
|
|
|
27
27
|
*/
|
|
28
28
|
label: string;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Material Symbol name or SVG element used as the icon that will be displayed in the tab.
|
|
31
31
|
*/
|
|
32
32
|
icon?: string | SVG;
|
|
33
33
|
};
|
|
@@ -37,7 +37,7 @@ export type TabIconProps = TabCommonProps & {
|
|
|
37
37
|
*/
|
|
38
38
|
label?: string;
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* Material Symbol name or SVG element used as the icon that will be displayed in the tab.
|
|
41
41
|
*/
|
|
42
42
|
icon: string | SVG;
|
|
43
43
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,8 +5,8 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
5
5
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
var
|
|
9
|
-
var _Tag = _interopRequireDefault(require("./Tag
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Tag = _interopRequireDefault(require("./Tag"));
|
|
10
10
|
var icon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
11
|
viewBox: "0 0 24 24",
|
|
12
12
|
fill: "currentColor"
|
|
@@ -31,7 +31,7 @@ describe("Tag component accessibility tests", function () {
|
|
|
31
31
|
labelPosition: "before"
|
|
32
32
|
})), container = _render.container;
|
|
33
33
|
_context.next = 3;
|
|
34
|
-
return (0,
|
|
34
|
+
return (0, _axeHelper.axe)(container);
|
|
35
35
|
case 3:
|
|
36
36
|
results = _context.sent;
|
|
37
37
|
expect(results).toHaveNoViolations();
|
|
@@ -56,7 +56,7 @@ describe("Tag component accessibility tests", function () {
|
|
|
56
56
|
newWindow: true
|
|
57
57
|
})), container = _render2.container;
|
|
58
58
|
_context2.next = 3;
|
|
59
|
-
return (0,
|
|
59
|
+
return (0, _axeHelper.axe)(container);
|
|
60
60
|
case 3:
|
|
61
61
|
results = _context2.sent;
|
|
62
62
|
expect(results).toHaveNoViolations();
|
package/tag/Tag.js
CHANGED
|
@@ -15,9 +15,10 @@ var _variables = require("../common/variables");
|
|
|
15
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
16
16
|
var _utils = require("../common/utils");
|
|
17
17
|
var _Box = _interopRequireDefault(require("../box/Box"));
|
|
18
|
-
var
|
|
18
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
19
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
19
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); }
|
|
20
|
-
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 &&
|
|
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 && {}.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; }
|
|
21
22
|
var DxcTag = function DxcTag(_ref) {
|
|
22
23
|
var icon = _ref.icon,
|
|
23
24
|
_ref$label = _ref.label,
|
|
@@ -48,8 +49,8 @@ var DxcTag = function DxcTag(_ref) {
|
|
|
48
49
|
shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
|
|
49
50
|
}, /*#__PURE__*/_react["default"].createElement(TagContent, null, labelPosition === "before" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
50
51
|
iconBgColor: iconBgColor
|
|
51
|
-
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(
|
|
52
|
-
|
|
52
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
53
|
+
icon: icon
|
|
53
54
|
}) : icon), labelPosition === "after" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
|
|
54
55
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
55
56
|
theme: colorsTheme.tag
|
|
@@ -114,7 +115,7 @@ var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateOb
|
|
|
114
115
|
var StyledButton = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n background: none;\n border-radius: 4px;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: inherit;\n width: 100%;\n :focus {\n outline: 2px solid ", ";\n }\n"])), function (props) {
|
|
115
116
|
return props.theme.focusColor;
|
|
116
117
|
});
|
|
117
|
-
var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n overflow: hidden;\n
|
|
118
|
+
var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n overflow: hidden;\n font-size: 24px;\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (_ref8) {
|
|
118
119
|
var iconBgColor = _ref8.iconBgColor;
|
|
119
120
|
return iconBgColor;
|
|
120
121
|
}, function (props) {
|
|
@@ -128,8 +129,7 @@ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
128
129
|
}, function (props) {
|
|
129
130
|
return props.theme.iconHeight;
|
|
130
131
|
});
|
|
131
|
-
var
|
|
132
|
-
var TagLabel = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
|
|
132
|
+
var TagLabel = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
|
|
133
133
|
return props.theme.fontFamily;
|
|
134
134
|
}, function (props) {
|
|
135
135
|
return props.theme.fontSize;
|
package/tag/Tag.stories.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { userEvent, within } from "@storybook/
|
|
2
|
+
import { userEvent, within } from "@storybook/test";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import DxcTag from "./Tag";
|
|
@@ -47,14 +47,11 @@ export const Chromatic = () => (
|
|
|
47
47
|
</ExampleContainer>
|
|
48
48
|
<ExampleContainer>
|
|
49
49
|
<Title title="With label and icon" theme="light" level={4} />
|
|
50
|
-
<DxcTag
|
|
51
|
-
label="Tag"
|
|
52
|
-
icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
|
|
53
|
-
/>
|
|
50
|
+
<DxcTag label="Tag" icon="person" />
|
|
54
51
|
</ExampleContainer>
|
|
55
52
|
<ExampleContainer>
|
|
56
53
|
<Title title="With right icon" theme="light" level={4} />
|
|
57
|
-
<DxcTag label="Tag" icon=
|
|
54
|
+
<DxcTag label="Tag" icon="group" labelPosition="before" />
|
|
58
55
|
</ExampleContainer>
|
|
59
56
|
<ExampleContainer>
|
|
60
57
|
<Title title="Icon background color" theme="light" level={4} />
|
|
@@ -67,7 +64,7 @@ export const Chromatic = () => (
|
|
|
67
64
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
68
65
|
<Title title="With action focused" theme="light" level={4} />
|
|
69
66
|
<DxcTag
|
|
70
|
-
icon=
|
|
67
|
+
icon="done"
|
|
71
68
|
label="Tag"
|
|
72
69
|
onClick={() => {
|
|
73
70
|
console.log("click");
|
|
@@ -110,7 +107,7 @@ export const Chromatic = () => (
|
|
|
110
107
|
</ExampleContainer>
|
|
111
108
|
<ExampleContainer>
|
|
112
109
|
<Title title="Medium size" theme="light" level={4} />
|
|
113
|
-
<DxcTag label="Medium size medium s" size="medium" icon=
|
|
110
|
+
<DxcTag label="Medium size medium s" size="medium" icon="person" />
|
|
114
111
|
</ExampleContainer>
|
|
115
112
|
<ExampleContainer>
|
|
116
113
|
<Title title="Medium size with ellipsis" theme="light" level={4} />
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/tag/Tag.test.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
-
var _Tag = _interopRequireDefault(require("./Tag
|
|
6
|
+
var _Tag = _interopRequireDefault(require("./Tag"));
|
|
7
7
|
describe("Tag component tests", function () {
|
|
8
8
|
test("Tag renders with correct label", function () {
|
|
9
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
@@ -20,29 +20,21 @@ describe("Tag component tests", function () {
|
|
|
20
20
|
getByText = _render2.getByText;
|
|
21
21
|
expect(getByText("tag-test")).toBeTruthy();
|
|
22
22
|
});
|
|
23
|
-
test("Tag renders with correct icon", function () {
|
|
24
|
-
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
25
|
-
label: "tag-test",
|
|
26
|
-
icon: "/test-icon.jpg"
|
|
27
|
-
})),
|
|
28
|
-
getByRole = _render3.getByRole;
|
|
29
|
-
expect(getByRole("img").getAttribute("src")).toBe("/test-icon.jpg");
|
|
30
|
-
});
|
|
31
23
|
test("Tag renders with link href", function () {
|
|
32
|
-
var
|
|
24
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
33
25
|
label: "tag-test",
|
|
34
26
|
linkHref: "/test/page"
|
|
35
27
|
})),
|
|
36
|
-
getByRole =
|
|
28
|
+
getByRole = _render3.getByRole;
|
|
37
29
|
expect(getByRole("link").getAttribute("href")).toBe("/test/page");
|
|
38
30
|
});
|
|
39
31
|
test("Call correct function on click", function () {
|
|
40
32
|
var onClick = jest.fn();
|
|
41
|
-
var
|
|
33
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
42
34
|
label: "tag-test",
|
|
43
35
|
onClick: onClick
|
|
44
36
|
})),
|
|
45
|
-
getByText =
|
|
37
|
+
getByText = _render4.getByText;
|
|
46
38
|
_react2.fireEvent.click(getByText("tag-test"));
|
|
47
39
|
expect(onClick).toHaveBeenCalled();
|
|
48
40
|
});
|
package/tag/types.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ type TagCommonProps = {
|
|
|
47
47
|
};
|
|
48
48
|
type TagLabelProps = TagCommonProps & {
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* Material Symbol name or SVG element used as the icon that will be placed next to the label.
|
|
51
51
|
*/
|
|
52
52
|
icon?: string | SVG;
|
|
53
53
|
/**
|
|
@@ -57,7 +57,7 @@ type TagLabelProps = TagCommonProps & {
|
|
|
57
57
|
};
|
|
58
58
|
type TagIconProps = TagCommonProps & {
|
|
59
59
|
/**
|
|
60
|
-
*
|
|
60
|
+
* Material Symbol name or SVG element used as the icon that will be placed next to the label.
|
|
61
61
|
*/
|
|
62
62
|
icon: string | SVG;
|
|
63
63
|
/**
|
package/text-input/Suggestion.js
CHANGED
|
@@ -11,7 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
12
12
|
var _templateObject, _templateObject2;
|
|
13
13
|
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); }
|
|
14
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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 &&
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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 && {}.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; }
|
|
15
15
|
var transformSpecialChars = function transformSpecialChars(str) {
|
|
16
16
|
var specialCharsRegex = /[\\*()\[\]{}+?/]/;
|
|
17
17
|
var value = str;
|
|
@@ -14,7 +14,7 @@ var _Suggestion = _interopRequireDefault(require("./Suggestion"));
|
|
|
14
14
|
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
15
15
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
16
16
|
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); }
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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 &&
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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 && {}.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; }
|
|
18
18
|
var Suggestions = function Suggestions(_ref) {
|
|
19
19
|
var id = _ref.id,
|
|
20
20
|
value = _ref.value,
|
|
@@ -43,11 +43,12 @@ var Suggestions = function Suggestions(_ref) {
|
|
|
43
43
|
},
|
|
44
44
|
ref: listboxRef,
|
|
45
45
|
role: "listbox",
|
|
46
|
-
style: styles
|
|
46
|
+
style: styles,
|
|
47
|
+
"aria-label": "Suggestions"
|
|
47
48
|
}, !isSearching && !searchHasErrors && suggestions.length > 0 && suggestions.map(function (suggestion, index) {
|
|
48
49
|
return /*#__PURE__*/_react["default"].createElement(_Suggestion["default"], {
|
|
49
|
-
key: "suggestion-".concat(index),
|
|
50
|
-
id: "suggestion-".concat(index),
|
|
50
|
+
key: "".concat(id, "-suggestion-").concat(index),
|
|
51
|
+
id: "".concat(id, "-suggestion-").concat(index),
|
|
51
52
|
value: value,
|
|
52
53
|
onClick: suggestionOnClick,
|
|
53
54
|
suggestion: suggestion,
|
|
@@ -55,9 +56,16 @@ var Suggestions = function Suggestions(_ref) {
|
|
|
55
56
|
visuallyFocused: visualFocusIndex === index,
|
|
56
57
|
highlighted: highlightedSuggestions
|
|
57
58
|
});
|
|
58
|
-
}), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage,
|
|
59
|
+
}), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, {
|
|
60
|
+
role: "option"
|
|
61
|
+
}, translatedLabels.textInput.searchingMessage), searchHasErrors && /*#__PURE__*/_react["default"].createElement("span", {
|
|
62
|
+
role: "option"
|
|
63
|
+
}, /*#__PURE__*/_react["default"].createElement(SuggestionsError, {
|
|
64
|
+
role: "alert",
|
|
65
|
+
"aria-live": "assertive"
|
|
66
|
+
}, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
59
67
|
icon: "filled_error"
|
|
60
|
-
})), translatedLabels.textInput.fetchingDataErrorMessage));
|
|
68
|
+
})), translatedLabels.textInput.fetchingDataErrorMessage)));
|
|
61
69
|
};
|
|
62
70
|
var SuggestionsContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 304px;\n overflow-y: auto;\n margin: 0;\n padding: 0.25rem 0;\n background-color: ", ";\n border: 1px solid\n ", ";\n\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
63
71
|
return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -7,8 +7,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
7
7
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _react2 = require("@testing-library/react");
|
|
10
|
-
var
|
|
11
|
-
var _TextInput = _interopRequireDefault(require("./TextInput
|
|
10
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
11
|
+
var _TextInput = _interopRequireDefault(require("./TextInput"));
|
|
12
12
|
var countries = ["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Cabo Verde", "Cambodia", "Cameroon", "Canada", "Cayman Islands, The", "Central African Republic", "Chad", "Democratic Republic of the Congo", "Dominican Republic", "Dominica", "Denmark", "Djibouti"];
|
|
13
13
|
var action = {
|
|
14
14
|
onClick: function onClick() {},
|
|
@@ -45,7 +45,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
45
45
|
function ResizeObserver() {
|
|
46
46
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
47
47
|
}
|
|
48
|
-
(0, _createClass2["default"])(ResizeObserver, [{
|
|
48
|
+
return (0, _createClass2["default"])(ResizeObserver, [{
|
|
49
49
|
key: "observe",
|
|
50
50
|
value: function observe() {}
|
|
51
51
|
}, {
|
|
@@ -55,7 +55,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
55
55
|
key: "disconnect",
|
|
56
56
|
value: function disconnect() {}
|
|
57
57
|
}]);
|
|
58
|
-
return ResizeObserver;
|
|
59
58
|
}();
|
|
60
59
|
describe("TextInput component accessibility tests", function () {
|
|
61
60
|
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
@@ -80,7 +79,7 @@ describe("TextInput component accessibility tests", function () {
|
|
|
80
79
|
clearable: true
|
|
81
80
|
})), baseElement = _render.baseElement;
|
|
82
81
|
_context.next = 3;
|
|
83
|
-
return (0,
|
|
82
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
84
83
|
case 3:
|
|
85
84
|
results = _context.sent;
|
|
86
85
|
expect(results).toHaveNoViolations();
|
|
@@ -113,7 +112,7 @@ describe("TextInput component accessibility tests", function () {
|
|
|
113
112
|
autocomplete: "on"
|
|
114
113
|
})), baseElement = _render2.baseElement;
|
|
115
114
|
_context2.next = 3;
|
|
116
|
-
return (0,
|
|
115
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
117
116
|
case 3:
|
|
118
117
|
results = _context2.sent;
|
|
119
118
|
expect(results).toHaveNoViolations();
|
|
@@ -146,7 +145,7 @@ describe("TextInput component accessibility tests", function () {
|
|
|
146
145
|
suggestions: countries
|
|
147
146
|
})), baseElement = _render3.baseElement;
|
|
148
147
|
_context3.next = 3;
|
|
149
|
-
return (0,
|
|
148
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
150
149
|
case 3:
|
|
151
150
|
results = _context3.sent;
|
|
152
151
|
expect(results).toHaveNoViolations();
|
|
@@ -179,7 +178,7 @@ describe("TextInput component accessibility tests", function () {
|
|
|
179
178
|
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
180
179
|
})), baseElement = _render4.baseElement;
|
|
181
180
|
_context4.next = 3;
|
|
182
|
-
return (0,
|
|
181
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
183
182
|
case 3:
|
|
184
183
|
results = _context4.sent;
|
|
185
184
|
expect(results).toHaveNoViolations();
|
|
@@ -212,7 +211,7 @@ describe("TextInput component accessibility tests", function () {
|
|
|
212
211
|
optional: true
|
|
213
212
|
})), baseElement = _render5.baseElement;
|
|
214
213
|
_context5.next = 3;
|
|
215
|
-
return (0,
|
|
214
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
216
215
|
case 3:
|
|
217
216
|
results = _context5.sent;
|
|
218
217
|
expect(results).toHaveNoViolations();
|
|
@@ -245,7 +244,7 @@ describe("TextInput component accessibility tests", function () {
|
|
|
245
244
|
clearable: true
|
|
246
245
|
})), baseElement = _render6.baseElement;
|
|
247
246
|
_context6.next = 3;
|
|
248
|
-
return (0,
|
|
247
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
249
248
|
case 3:
|
|
250
249
|
results = _context6.sent;
|
|
251
250
|
expect(results).toHaveNoViolations();
|
|
@@ -277,7 +276,7 @@ describe("TextInput component accessibility tests", function () {
|
|
|
277
276
|
readOnly: true
|
|
278
277
|
})), baseElement = _render7.baseElement;
|
|
279
278
|
_context7.next = 3;
|
|
280
|
-
return (0,
|
|
279
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
281
280
|
case 3:
|
|
282
281
|
results = _context7.sent;
|
|
283
282
|
expect(results).toHaveNoViolations();
|
|
@@ -308,7 +307,7 @@ describe("TextInput component accessibility tests", function () {
|
|
|
308
307
|
disabled: true
|
|
309
308
|
})), baseElement = _render8.baseElement;
|
|
310
309
|
_context8.next = 3;
|
|
311
|
-
return (0,
|
|
310
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
312
311
|
case 3:
|
|
313
312
|
results = _context8.sent;
|
|
314
313
|
expect(results).toHaveNoViolations();
|
package/text-input/TextInput.js
CHANGED
|
@@ -17,14 +17,13 @@ var _variables = require("../common/variables");
|
|
|
17
17
|
var _utils = require("../common/utils");
|
|
18
18
|
var _Suggestions = _interopRequireDefault(require("./Suggestions"));
|
|
19
19
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
20
|
-
var _uuid = require("uuid");
|
|
21
20
|
var _ActionIcon = _interopRequireDefault(require("../action-icon/ActionIcon"));
|
|
22
21
|
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
23
22
|
var _NumberInputContext = require("../number-input/NumberInputContext");
|
|
24
23
|
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
25
24
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
26
25
|
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); }
|
|
27
|
-
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 &&
|
|
26
|
+
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 && {}.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; }
|
|
28
27
|
var sizes = {
|
|
29
28
|
small: "240px",
|
|
30
29
|
medium: "360px",
|
|
@@ -132,35 +131,33 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
132
131
|
size = _ref2$size === void 0 ? "medium" : _ref2$size,
|
|
133
132
|
_ref2$tabIndex = _ref2.tabIndex,
|
|
134
133
|
tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
|
|
135
|
-
var
|
|
136
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
137
|
-
inputId = _useState4[0];
|
|
134
|
+
var inputId = "input-".concat((0, _react.useId)());
|
|
138
135
|
var autosuggestId = "suggestions-".concat(inputId);
|
|
139
136
|
var errorId = "error-".concat(inputId);
|
|
140
|
-
var
|
|
137
|
+
var _useState3 = (0, _react.useState)(defaultValue),
|
|
138
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
139
|
+
innerValue = _useState4[0],
|
|
140
|
+
setInnerValue = _useState4[1];
|
|
141
|
+
var _useState5 = (0, _react.useState)(false),
|
|
141
142
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
isOpen = _useState6[0],
|
|
144
|
+
changeIsOpen = _useState6[1];
|
|
144
145
|
var _useState7 = (0, _react.useState)(false),
|
|
145
146
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
isSearching = _useState8[0],
|
|
148
|
+
changeIsSearching = _useState8[1];
|
|
148
149
|
var _useState9 = (0, _react.useState)(false),
|
|
149
150
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
var _useState11 = (0, _react.useState)(
|
|
151
|
+
isAutosuggestError = _useState10[0],
|
|
152
|
+
changeIsAutosuggestError = _useState10[1];
|
|
153
|
+
var _useState11 = (0, _react.useState)([]),
|
|
153
154
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
var _useState13 = (0, _react.useState)(
|
|
155
|
+
filteredSuggestions = _useState12[0],
|
|
156
|
+
changeFilteredSuggestions = _useState12[1];
|
|
157
|
+
var _useState13 = (0, _react.useState)(-1),
|
|
157
158
|
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
var _useState15 = (0, _react.useState)(-1),
|
|
161
|
-
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
162
|
-
visualFocusIndex = _useState16[0],
|
|
163
|
-
changeVisualFocusIndex = _useState16[1];
|
|
159
|
+
visualFocusIndex = _useState14[0],
|
|
160
|
+
changeVisualFocusIndex = _useState14[1];
|
|
164
161
|
var inputRef = (0, _react.useRef)(null);
|
|
165
162
|
var inputContainerRef = (0, _react.useRef)(null);
|
|
166
163
|
var actionRef = (0, _react.useRef)(null);
|
|
@@ -281,6 +278,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
281
278
|
case "Esc":
|
|
282
279
|
case "Escape":
|
|
283
280
|
event.preventDefault();
|
|
281
|
+
isOpen && event.stopPropagation();
|
|
284
282
|
if (hasSuggestions(suggestions)) {
|
|
285
283
|
changeValue("");
|
|
286
284
|
isOpen && closeSuggestions();
|
|
@@ -364,7 +362,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
364
362
|
open: isOpen && (filteredSuggestions.length > 0 || isSearching || isAutosuggestError)
|
|
365
363
|
}, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
|
|
366
364
|
asChild: true,
|
|
367
|
-
|
|
365
|
+
type: undefined,
|
|
366
|
+
"aria-controls": undefined,
|
|
367
|
+
"aria-haspopup": undefined,
|
|
368
|
+
"aria-expanded": undefined
|
|
368
369
|
}, children), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
369
370
|
sideOffset: 5,
|
|
370
371
|
style: {
|
|
@@ -440,7 +441,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
440
441
|
"aria-errormessage": error ? errorId : undefined,
|
|
441
442
|
"aria-required": !disabled && !optional
|
|
442
443
|
}), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
|
|
443
|
-
"aria-
|
|
444
|
+
"aria-hidden": "true"
|
|
444
445
|
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
445
446
|
icon: "filled_error"
|
|
446
447
|
})), !disabled && !readOnly && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(_ActionIcon["default"], {
|
|
@@ -473,11 +474,14 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
473
474
|
disabled: disabled
|
|
474
475
|
}, suffix))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
475
476
|
id: errorId,
|
|
477
|
+
role: "alert",
|
|
476
478
|
"aria-live": error ? "assertive" : "off"
|
|
477
479
|
}, error)));
|
|
478
480
|
});
|
|
479
|
-
var TextInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
481
|
+
var TextInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: ", ";\n ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
480
482
|
return calculateWidth(props.margin, props.size);
|
|
483
|
+
}, function (props) {
|
|
484
|
+
return props.size !== "fillParent" && "min-width:" + calculateWidth(props.margin, props.size);
|
|
481
485
|
}, function (props) {
|
|
482
486
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
483
487
|
}, function (props) {
|