@dxc-technology/halstack-react 0.0.0-c796a1b → 0.0.0-c8b251f
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 +0 -1
- package/ThemeContext.d.ts +4 -9
- package/ThemeContext.js +32 -32
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +11 -43
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +8 -8
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +13 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +8 -8
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/types.d.ts +4 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.test.js +18 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +9 -17
- package/button/Button.stories.tsx +6 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +3 -7
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.js +50 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +7 -13
- package/checkbox/Checkbox.stories.tsx +14 -14
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +5 -1
- package/chip/Chip.d.ts +1 -1
- package/chip/Chip.js +16 -54
- package/chip/Chip.stories.tsx +6 -8
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +7 -15
- package/common/variables.js +43 -245
- package/date-input/DateInput.js +50 -39
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +6 -33
- package/dialog/Dialog.test.js +40 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +12 -34
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +5 -14
- package/file-input/FileInput.js +102 -33
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/footer/Footer.js +19 -96
- package/footer/Footer.test.js +109 -0
- package/header/Header.js +20 -44
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +84 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.js +7 -14
- package/link/Link.js +7 -15
- package/link/Link.stories.tsx +6 -1
- package/link/Link.test.js +91 -0
- package/link/types.d.ts +5 -9
- package/list/List.d.ts +3 -6
- package/list/List.js +17 -7
- package/list/List.stories.tsx +25 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +5 -6
- package/main.js +28 -36
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/types.d.ts +16 -9
- package/package.json +6 -3
- package/paginator/Paginator.test.js +266 -0
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +13 -10
- package/progress-bar/ProgressBar.js +2 -2
- package/progress-bar/ProgressBar.test.js +65 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +66 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio/Radio.test.js +71 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +280 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.js +5 -2
- package/resultsetTable/ResultsetTable.stories.tsx +7 -8
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/row/Row.d.ts +3 -11
- package/row/Row.js +12 -9
- package/row/Row.stories.tsx +20 -6
- package/row/types.d.ts +28 -0
- package/row/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +148 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +94 -302
- package/select/Select.stories.tsx +91 -81
- package/select/Select.test.js +2057 -0
- package/select/types.d.ts +213 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.stories.tsx +18 -1
- package/sidenav/Sidenav.test.js +56 -0
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/stack/Stack.d.ts +3 -10
- package/stack/Stack.js +12 -9
- package/stack/Stack.stories.tsx +20 -6
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +19 -6
- package/switch/Switch.stories.tsx +7 -7
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +4 -0
- package/table/Table.stories.jsx +2 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +16 -18
- package/tabs/Tabs.stories.tsx +8 -11
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +27 -15
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +15 -22
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text/Text.js +1 -1
- package/text-input/TextInput.js +22 -12
- package/text-input/TextInput.stories.tsx +34 -16
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +18 -11
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +10 -38
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +12 -14
- package/toggle-group/ToggleGroup.stories.tsx +27 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +46 -25
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +71 -16
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +13 -23
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +8 -8
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/select/index.d.ts +0 -131
- package/textarea/index.d.ts +0 -127
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Tabs = _interopRequireDefault(require("./Tabs"));
|
|
10
|
+
|
|
11
|
+
var sampleTabs = [{
|
|
12
|
+
label: "Tab-1"
|
|
13
|
+
}, {
|
|
14
|
+
label: "Tab-2"
|
|
15
|
+
}, {
|
|
16
|
+
label: "Tab-3"
|
|
17
|
+
}];
|
|
18
|
+
var sampleTabsWithBadge = [{
|
|
19
|
+
label: "Tab-1",
|
|
20
|
+
notificationNumber: "10"
|
|
21
|
+
}, {
|
|
22
|
+
label: "Tab-2",
|
|
23
|
+
notificationNumber: "20"
|
|
24
|
+
}, {
|
|
25
|
+
label: "Tab-3",
|
|
26
|
+
notificationNumber: "101"
|
|
27
|
+
}];
|
|
28
|
+
describe("Tabs component tests", function () {
|
|
29
|
+
test("Tabs render with correct labels", function () {
|
|
30
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
31
|
+
tabs: sampleTabs
|
|
32
|
+
})),
|
|
33
|
+
getByText = _render.getByText,
|
|
34
|
+
getAllByRole = _render.getAllByRole;
|
|
35
|
+
|
|
36
|
+
var tabs = getAllByRole("tab");
|
|
37
|
+
expect(getByText("Tab-1")).toBeTruthy();
|
|
38
|
+
expect(getByText("Tab-2")).toBeTruthy();
|
|
39
|
+
expect(getByText("Tab-3")).toBeTruthy();
|
|
40
|
+
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
41
|
+
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
42
|
+
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
43
|
+
});
|
|
44
|
+
test("Tabs render with correct labels and badges", function () {
|
|
45
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
46
|
+
tabs: sampleTabsWithBadge
|
|
47
|
+
})),
|
|
48
|
+
getByText = _render2.getByText;
|
|
49
|
+
|
|
50
|
+
expect(getByText("10")).toBeTruthy();
|
|
51
|
+
expect(getByText("20")).toBeTruthy();
|
|
52
|
+
expect(getByText("+99")).toBeTruthy();
|
|
53
|
+
});
|
|
54
|
+
test("Tabs render with an initially active tab", function () {
|
|
55
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
56
|
+
defaultActiveTabIndex: 2,
|
|
57
|
+
tabs: sampleTabsWithBadge
|
|
58
|
+
})),
|
|
59
|
+
getAllByRole = _render3.getAllByRole;
|
|
60
|
+
|
|
61
|
+
var tabs = getAllByRole("tab");
|
|
62
|
+
expect(tabs[0].getAttribute("aria-selected")).toBe("false");
|
|
63
|
+
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
64
|
+
expect(tabs[2].getAttribute("aria-selected")).toBe("true");
|
|
65
|
+
});
|
|
66
|
+
test("Tabs render with correct icons", function () {
|
|
67
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
68
|
+
tabs: [{
|
|
69
|
+
label: "Tab-1",
|
|
70
|
+
icon: "/testIcon1.png"
|
|
71
|
+
}, {
|
|
72
|
+
label: "Tab-2",
|
|
73
|
+
icon: "/testIcon2.png"
|
|
74
|
+
}, {
|
|
75
|
+
label: "Tab-3",
|
|
76
|
+
icon: "/testIcon3.png"
|
|
77
|
+
}]
|
|
78
|
+
})),
|
|
79
|
+
getAllByRole = _render4.getAllByRole;
|
|
80
|
+
|
|
81
|
+
expect(getAllByRole("img")[0].getAttribute("src")).toBe("/testIcon1.png");
|
|
82
|
+
expect(getAllByRole("img")[1].getAttribute("src")).toBe("/testIcon2.png");
|
|
83
|
+
expect(getAllByRole("img")[2].getAttribute("src")).toBe("/testIcon3.png");
|
|
84
|
+
});
|
|
85
|
+
test("Tabs render with disabled tab", function () {
|
|
86
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
87
|
+
tabs: [{
|
|
88
|
+
label: "Tab-1",
|
|
89
|
+
isDisabled: true
|
|
90
|
+
}, {
|
|
91
|
+
label: "Tab-2"
|
|
92
|
+
}]
|
|
93
|
+
})),
|
|
94
|
+
getAllByRole = _render5.getAllByRole;
|
|
95
|
+
|
|
96
|
+
expect(getAllByRole("tab")[0].hasAttribute("disabled")).toBeTruthy();
|
|
97
|
+
expect(getAllByRole("tab")[1].hasAttribute("disabled")).toBeFalsy();
|
|
98
|
+
});
|
|
99
|
+
test("Uncontrolled tabs", function () {
|
|
100
|
+
var onTabClick = jest.fn();
|
|
101
|
+
|
|
102
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
103
|
+
tabs: sampleTabs,
|
|
104
|
+
onTabClick: onTabClick
|
|
105
|
+
})),
|
|
106
|
+
getByText = _render6.getByText;
|
|
107
|
+
|
|
108
|
+
var tab1 = getByText("Tab-1");
|
|
109
|
+
var tab2 = getByText("Tab-2");
|
|
110
|
+
|
|
111
|
+
_react2.fireEvent.click(tab2);
|
|
112
|
+
|
|
113
|
+
expect(onTabClick).toHaveBeenCalledWith(1);
|
|
114
|
+
|
|
115
|
+
_react2.fireEvent.click(tab1);
|
|
116
|
+
|
|
117
|
+
expect(onTabClick).toHaveBeenCalledWith(0);
|
|
118
|
+
});
|
|
119
|
+
test("Controlled tabs", function () {
|
|
120
|
+
var onTabClick = jest.fn();
|
|
121
|
+
|
|
122
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
123
|
+
tabs: sampleTabs,
|
|
124
|
+
onTabClick: onTabClick,
|
|
125
|
+
activeTabIndex: 0
|
|
126
|
+
})),
|
|
127
|
+
getByText = _render7.getByText;
|
|
128
|
+
|
|
129
|
+
var tab2 = getByText("Tab-2");
|
|
130
|
+
var tab3 = getByText("Tab-3");
|
|
131
|
+
|
|
132
|
+
_react2.fireEvent.click(tab2);
|
|
133
|
+
|
|
134
|
+
expect(onTabClick).toHaveBeenCalledWith(1);
|
|
135
|
+
|
|
136
|
+
_react2.fireEvent.click(tab3);
|
|
137
|
+
|
|
138
|
+
expect(onTabClick).toHaveBeenCalledWith(2);
|
|
139
|
+
});
|
|
140
|
+
});
|
package/tabs/types.d.ts
CHANGED
|
@@ -6,20 +6,8 @@ declare type Margin = {
|
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
declare type SVG = React.SVGProps<SVGSVGElement
|
|
10
|
-
declare type
|
|
11
|
-
/**
|
|
12
|
-
* Tab label.
|
|
13
|
-
*/
|
|
14
|
-
label?: string;
|
|
15
|
-
/**
|
|
16
|
-
* Element used as the icon that will be displayed in the tab.
|
|
17
|
-
*/
|
|
18
|
-
icon?: SVG;
|
|
19
|
-
/**
|
|
20
|
-
* @deprecated URL of the icon to be displayed in the tab.
|
|
21
|
-
*/
|
|
22
|
-
iconSrc?: string;
|
|
9
|
+
declare type SVG = React.SVGProps<SVGSVGElement>;
|
|
10
|
+
declare type TabCommonProps = {
|
|
23
11
|
/**
|
|
24
12
|
* Whether the tab is disabled or not.
|
|
25
13
|
*/
|
|
@@ -33,15 +21,39 @@ declare type Tab = {
|
|
|
33
21
|
*/
|
|
34
22
|
notificationNumber?: boolean | number;
|
|
35
23
|
};
|
|
24
|
+
declare type TabLabelProps = TabCommonProps & {
|
|
25
|
+
/**
|
|
26
|
+
* Tab label.
|
|
27
|
+
*/
|
|
28
|
+
label: string;
|
|
29
|
+
/**
|
|
30
|
+
* Element or path used as the icon that will be displayed in the tab.
|
|
31
|
+
*/
|
|
32
|
+
icon?: string | SVG;
|
|
33
|
+
};
|
|
34
|
+
declare type TabIconProps = TabCommonProps & {
|
|
35
|
+
/**
|
|
36
|
+
* Tab label.
|
|
37
|
+
*/
|
|
38
|
+
label?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Element or path used as the icon that will be displayed in the tab.
|
|
41
|
+
*/
|
|
42
|
+
icon: string | SVG;
|
|
43
|
+
};
|
|
36
44
|
declare type Props = {
|
|
37
45
|
/**
|
|
38
46
|
* An array of objects representing the tabs.
|
|
39
47
|
*/
|
|
40
|
-
tabs:
|
|
48
|
+
tabs: (TabLabelProps | TabIconProps)[];
|
|
41
49
|
/**
|
|
42
50
|
* Whether the icon should appear above or to the left of the label.
|
|
43
51
|
*/
|
|
44
52
|
iconPosition?: "top" | "left";
|
|
53
|
+
/**
|
|
54
|
+
* Initially active tab, only when it is uncontrolled.
|
|
55
|
+
*/
|
|
56
|
+
defaultActiveTabIndex?: number;
|
|
45
57
|
/**
|
|
46
58
|
* The index of the active tab. If undefined, the component will be
|
|
47
59
|
* uncontrolled and the active tab will be managed internally by the component.
|
package/tag/Tag.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import TagPropsType from "./types";
|
|
3
|
-
declare const DxcTag: ({ icon,
|
|
3
|
+
declare const DxcTag: ({ icon, label, linkHref, onClick, iconBgColor, labelPosition, newWindow, margin, size, tabIndex, }: TagPropsType) => JSX.Element;
|
|
4
4
|
export default DxcTag;
|
package/tag/Tag.js
CHANGED
|
@@ -9,10 +9,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
17
|
|
|
18
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -27,7 +27,7 @@ var _utils = require("../common/utils.js");
|
|
|
27
27
|
|
|
28
28
|
var _Box = _interopRequireDefault(require("../box/Box"));
|
|
29
29
|
|
|
30
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
31
31
|
|
|
32
32
|
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); }
|
|
33
33
|
|
|
@@ -35,7 +35,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
35
35
|
|
|
36
36
|
var DxcTag = function DxcTag(_ref) {
|
|
37
37
|
var icon = _ref.icon,
|
|
38
|
-
iconSrc = _ref.iconSrc,
|
|
39
38
|
_ref$label = _ref.label,
|
|
40
39
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
41
40
|
linkHref = _ref.linkHref,
|
|
@@ -67,11 +66,11 @@ var DxcTag = function DxcTag(_ref) {
|
|
|
67
66
|
shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
|
|
68
67
|
}, /*#__PURE__*/_react["default"].createElement(TagContent, {
|
|
69
68
|
labelPosition: labelPosition
|
|
70
|
-
}, /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
69
|
+
}, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
71
70
|
iconBgColor: iconBgColor
|
|
72
|
-
},
|
|
73
|
-
src:
|
|
74
|
-
})), size !== "small" && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
|
|
71
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(TagIcon, {
|
|
72
|
+
src: icon
|
|
73
|
+
}) : icon), size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
|
|
75
74
|
|
|
76
75
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
77
76
|
theme: colorsTheme.tag
|
|
@@ -146,19 +145,7 @@ var StyledButton = _styledComponents["default"].button(_templateObject4 || (_tem
|
|
|
146
145
|
return props.theme.focusColor;
|
|
147
146
|
});
|
|
148
147
|
|
|
149
|
-
var
|
|
150
|
-
return props.theme.iconWidth;
|
|
151
|
-
}, function (props) {
|
|
152
|
-
return props.theme.iconHeight;
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
var TagIconContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
156
|
-
return props.theme.iconWidth;
|
|
157
|
-
}, function (props) {
|
|
158
|
-
return props.theme.iconHeight;
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (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"])), function (_ref9) {
|
|
148
|
+
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 img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (_ref9) {
|
|
162
149
|
var iconBgColor = _ref9.iconBgColor;
|
|
163
150
|
return iconBgColor;
|
|
164
151
|
}, function (props) {
|
|
@@ -167,9 +154,15 @@ var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templ
|
|
|
167
154
|
return props.theme.iconColor;
|
|
168
155
|
}, function (props) {
|
|
169
156
|
return props.theme.iconSectionWidth;
|
|
157
|
+
}, function (props) {
|
|
158
|
+
return props.theme.iconWidth;
|
|
159
|
+
}, function (props) {
|
|
160
|
+
return props.theme.iconHeight;
|
|
170
161
|
});
|
|
171
162
|
|
|
172
|
-
var
|
|
163
|
+
var TagIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
164
|
+
|
|
165
|
+
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) {
|
|
173
166
|
return props.theme.fontFamily;
|
|
174
167
|
}, function (props) {
|
|
175
168
|
return props.theme.fontSize;
|
package/tag/Tag.stories.tsx
CHANGED
|
@@ -9,29 +9,22 @@ export default {
|
|
|
9
9
|
component: DxcTag,
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
const icon = (
|
|
13
|
-
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
</svg>
|
|
26
|
-
);
|
|
27
|
-
};
|
|
12
|
+
const icon = (
|
|
13
|
+
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
14
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
15
|
+
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
|
|
16
|
+
</svg>
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
const largeIcon = (
|
|
20
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
|
|
21
|
+
<path d="M0 0h24v24H0V0z" fill="none" />
|
|
22
|
+
<path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" />
|
|
23
|
+
</svg>
|
|
24
|
+
);
|
|
28
25
|
|
|
29
26
|
export const Chromatic = () => (
|
|
30
27
|
<>
|
|
31
|
-
<ExampleContainer>
|
|
32
|
-
<Title title="Without label" theme="light" level={4} />
|
|
33
|
-
<DxcTag />
|
|
34
|
-
</ExampleContainer>
|
|
35
28
|
<ExampleContainer>
|
|
36
29
|
<Title title="With icon" theme="light" level={4} />
|
|
37
30
|
<DxcTag icon={icon} />
|
|
@@ -46,7 +39,10 @@ export const Chromatic = () => (
|
|
|
46
39
|
</ExampleContainer>
|
|
47
40
|
<ExampleContainer>
|
|
48
41
|
<Title title="With label and icon" theme="light" level={4} />
|
|
49
|
-
<DxcTag
|
|
42
|
+
<DxcTag
|
|
43
|
+
label="Tag"
|
|
44
|
+
icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
|
|
45
|
+
/>
|
|
50
46
|
</ExampleContainer>
|
|
51
47
|
<ExampleContainer>
|
|
52
48
|
<Title title="With right icon" theme="light" level={4} />
|
|
@@ -102,37 +98,38 @@ export const Chromatic = () => (
|
|
|
102
98
|
<Title title="Sizes" theme="light" level={2} />
|
|
103
99
|
<ExampleContainer>
|
|
104
100
|
<Title title="Small size" theme="light" level={4} />
|
|
105
|
-
<DxcTag label="Small" size="small" />
|
|
101
|
+
<DxcTag label="Small" size="small" icon={icon} />
|
|
106
102
|
</ExampleContainer>
|
|
107
103
|
<ExampleContainer>
|
|
108
104
|
<Title title="Medium size" theme="light" level={4} />
|
|
109
|
-
<DxcTag label="Medium size medium s" size="medium" />
|
|
105
|
+
<DxcTag label="Medium size medium s" size="medium" icon={icon} />
|
|
110
106
|
</ExampleContainer>
|
|
111
107
|
<ExampleContainer>
|
|
112
108
|
<Title title="Medium size with ellipsis" theme="light" level={4} />
|
|
113
|
-
<DxcTag label="Medium size medium si medium" size="medium" />
|
|
109
|
+
<DxcTag label="Medium size medium si medium" size="medium" icon={icon} />
|
|
114
110
|
</ExampleContainer>
|
|
115
111
|
<ExampleContainer>
|
|
116
112
|
<Title title="Large size" theme="light" level={4} />
|
|
117
|
-
<DxcTag label="Large size large size large size large size large size" size="large" />
|
|
113
|
+
<DxcTag label="Large size large size large size large size large size" size="large" icon={icon} />
|
|
118
114
|
</ExampleContainer>
|
|
119
115
|
<ExampleContainer>
|
|
120
116
|
<Title title="Large size with ellipsis" theme="light" level={4} />
|
|
121
|
-
<DxcTag label="Large size large size large size large size large size large size" size="large" />
|
|
117
|
+
<DxcTag label="Large size large size large size large size large size large size" size="large" icon={icon} />
|
|
122
118
|
</ExampleContainer>
|
|
123
119
|
<ExampleContainer>
|
|
124
120
|
<Title title="FillParent size" theme="light" level={4} />
|
|
125
|
-
<DxcTag label="FillParent" size="fillParent" />
|
|
121
|
+
<DxcTag label="FillParent" size="fillParent" icon={icon} />
|
|
126
122
|
</ExampleContainer>
|
|
127
123
|
<ExampleContainer>
|
|
128
124
|
<Title title="FitContent size" theme="light" level={4} />
|
|
129
|
-
<DxcTag label="FitContent" size="fitContent" />
|
|
125
|
+
<DxcTag label="FitContent" size="fitContent" icon={icon} />
|
|
130
126
|
</ExampleContainer>
|
|
127
|
+
<hr />
|
|
131
128
|
</>
|
|
132
129
|
);
|
|
133
130
|
|
|
134
131
|
const LinkTag = () => (
|
|
135
|
-
<ExampleContainer>
|
|
132
|
+
<ExampleContainer expanded>
|
|
136
133
|
<Title title="Hover link tag" theme="light" level={4} />
|
|
137
134
|
<DxcTag label="Tag" icon={icon} linkHref="https://www.dxc.com" />
|
|
138
135
|
</ExampleContainer>
|
package/tag/Tag.test.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Tag = _interopRequireDefault(require("./Tag"));
|
|
10
|
+
|
|
11
|
+
describe("Tag component tests", function () {
|
|
12
|
+
test("Tag renders with correct label", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
14
|
+
label: "tag-test"
|
|
15
|
+
})),
|
|
16
|
+
getByText = _render.getByText;
|
|
17
|
+
|
|
18
|
+
expect(getByText("tag-test")).toBeTruthy();
|
|
19
|
+
});
|
|
20
|
+
test("Tag renders with correct label before", function () {
|
|
21
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
22
|
+
label: "tag-test",
|
|
23
|
+
labelPosition: "before"
|
|
24
|
+
})),
|
|
25
|
+
getByText = _render2.getByText;
|
|
26
|
+
|
|
27
|
+
expect(getByText("tag-test")).toBeTruthy();
|
|
28
|
+
});
|
|
29
|
+
test("Tag renders with correct icon", function () {
|
|
30
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
31
|
+
label: "tag-test",
|
|
32
|
+
icon: "/test-icon.jpg"
|
|
33
|
+
})),
|
|
34
|
+
getByRole = _render3.getByRole;
|
|
35
|
+
|
|
36
|
+
expect(getByRole("img").getAttribute("src")).toBe("/test-icon.jpg");
|
|
37
|
+
});
|
|
38
|
+
test("Tag renders with link href", function () {
|
|
39
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
40
|
+
label: "tag-test",
|
|
41
|
+
linkHref: "/test/page"
|
|
42
|
+
})),
|
|
43
|
+
getByRole = _render4.getByRole;
|
|
44
|
+
|
|
45
|
+
expect(getByRole("link").getAttribute("href")).toBe("/test/page");
|
|
46
|
+
});
|
|
47
|
+
test("Call correct function on click", function () {
|
|
48
|
+
var onClick = jest.fn();
|
|
49
|
+
|
|
50
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
|
|
51
|
+
label: "tag-test",
|
|
52
|
+
onClick: onClick
|
|
53
|
+
})),
|
|
54
|
+
getByText = _render5.getByText;
|
|
55
|
+
|
|
56
|
+
_react2.fireEvent.click(getByText("tag-test"));
|
|
57
|
+
|
|
58
|
+
expect(onClick).toHaveBeenCalled();
|
|
59
|
+
});
|
|
60
|
+
});
|
package/tag/types.d.ts
CHANGED
|
@@ -6,20 +6,8 @@ declare type Margin = {
|
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
declare type SVG = React.SVGProps<SVGSVGElement
|
|
10
|
-
declare type
|
|
11
|
-
/**
|
|
12
|
-
* Element used as the icon that will be placed next to the label.
|
|
13
|
-
*/
|
|
14
|
-
icon?: SVG;
|
|
15
|
-
/**
|
|
16
|
-
* @deprecated URL of the icon.
|
|
17
|
-
*/
|
|
18
|
-
iconSrc?: string;
|
|
19
|
-
/**
|
|
20
|
-
* Text to be placed next inside the tag.
|
|
21
|
-
*/
|
|
22
|
-
label?: string;
|
|
9
|
+
declare type SVG = React.SVGProps<SVGSVGElement>;
|
|
10
|
+
declare type TagCommonProps = {
|
|
23
11
|
/**
|
|
24
12
|
* If defined, the tag will be displayed as an anchor, using this prop as "href".
|
|
25
13
|
* Component will show some visual feedback on hover.
|
|
@@ -57,4 +45,25 @@ declare type Props = {
|
|
|
57
45
|
*/
|
|
58
46
|
tabIndex?: number;
|
|
59
47
|
};
|
|
48
|
+
declare type TagLabelProps = TagCommonProps & {
|
|
49
|
+
/**
|
|
50
|
+
* Element or path used as the icon that will be placed next to the label.
|
|
51
|
+
*/
|
|
52
|
+
icon?: string | SVG;
|
|
53
|
+
/**
|
|
54
|
+
* Text to be placed next inside the tag.
|
|
55
|
+
*/
|
|
56
|
+
label: string;
|
|
57
|
+
};
|
|
58
|
+
declare type TagIconProps = TagCommonProps & {
|
|
59
|
+
/**
|
|
60
|
+
* Element or path used as the icon that will be placed next to the label.
|
|
61
|
+
*/
|
|
62
|
+
icon: string | SVG;
|
|
63
|
+
/**
|
|
64
|
+
* Text to be placed next inside the tag.
|
|
65
|
+
*/
|
|
66
|
+
label?: string;
|
|
67
|
+
};
|
|
68
|
+
declare type Props = TagLabelProps | TagIconProps;
|
|
60
69
|
export default Props;
|
package/text/Text.js
CHANGED
|
@@ -24,7 +24,7 @@ function Text(_ref) {
|
|
|
24
24
|
}, children);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
var StyledText = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px;\n font-family: Open Sans, sans-serif;\n"])));
|
|
27
|
+
var StyledText = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px;\n font-family: Open Sans, sans-serif;\n line-height: 1.5em;\n"])));
|
|
28
28
|
|
|
29
29
|
var _default = Text;
|
|
30
30
|
exports["default"] = _default;
|
package/text-input/TextInput.js
CHANGED
|
@@ -135,6 +135,8 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
135
135
|
var label = _ref.label,
|
|
136
136
|
_ref$name = _ref.name,
|
|
137
137
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
138
|
+
_ref$defaultValue = _ref.defaultValue,
|
|
139
|
+
defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
|
|
138
140
|
value = _ref.value,
|
|
139
141
|
helperText = _ref.helperText,
|
|
140
142
|
_ref$placeholder = _ref.placeholder,
|
|
@@ -169,7 +171,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
169
171
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
170
172
|
inputId = _useState2[0];
|
|
171
173
|
|
|
172
|
-
var _useState3 = (0, _react.useState)(
|
|
174
|
+
var _useState3 = (0, _react.useState)(defaultValue),
|
|
173
175
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
174
176
|
innerValue = _useState4[0],
|
|
175
177
|
setInnerValue = _useState4[1];
|
|
@@ -205,7 +207,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
205
207
|
var colorsTheme = (0, _useTheme["default"])();
|
|
206
208
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
207
209
|
var autosuggestId = "".concat(inputId, "-listBox");
|
|
208
|
-
var errorId = "error-
|
|
210
|
+
var errorId = "error-".concat(inputId);
|
|
209
211
|
var numberInputContext = (0, _react.useContext)(_NumberInputContext["default"]);
|
|
210
212
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
211
213
|
return getLastOptionIndex(filteredSuggestions);
|
|
@@ -266,8 +268,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
266
268
|
value: changedValue,
|
|
267
269
|
error: getNumberErrorMessage(newValue)
|
|
268
270
|
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
269
|
-
value: changedValue
|
|
270
|
-
error: null
|
|
271
|
+
value: changedValue
|
|
271
272
|
});
|
|
272
273
|
};
|
|
273
274
|
|
|
@@ -300,8 +301,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
300
301
|
value: event.target.value,
|
|
301
302
|
error: getNumberErrorMessage(event.target.value)
|
|
302
303
|
});else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
303
|
-
value: event.target.value
|
|
304
|
-
error: null
|
|
304
|
+
value: event.target.value
|
|
305
305
|
});
|
|
306
306
|
};
|
|
307
307
|
|
|
@@ -539,16 +539,19 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
539
539
|
role: isTextInputType() && hasSuggestions() ? "combobox" : "textbox",
|
|
540
540
|
"aria-autocomplete": isTextInputType() && hasSuggestions() ? "list" : undefined,
|
|
541
541
|
"aria-controls": isTextInputType() && hasSuggestions() ? autosuggestId : undefined,
|
|
542
|
+
"aria-disabled": disabled,
|
|
542
543
|
"aria-expanded": isTextInputType() && hasSuggestions() ? isOpen ? "true" : "false" : undefined,
|
|
543
544
|
"aria-activedescendant": isTextInputType() && hasSuggestions() && isOpen && visualFocusedSuggIndex !== -1 ? "suggestion-".concat(visualFocusedSuggIndex) : undefined,
|
|
544
545
|
"aria-invalid": error ? "true" : "false",
|
|
545
|
-
"aria-
|
|
546
|
+
"aria-errormessage": error ? errorId : undefined,
|
|
546
547
|
"aria-required": optional ? "false" : "true"
|
|
547
548
|
}), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
|
|
548
549
|
backgroundType: backgroundType,
|
|
549
550
|
"aria-label": "Error"
|
|
550
551
|
}, textInputIcons.error), !disabled && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(Action, {
|
|
551
|
-
onClick:
|
|
552
|
+
onClick: function onClick() {
|
|
553
|
+
return handleClearActionOnClick();
|
|
554
|
+
},
|
|
552
555
|
onMouseDown: function onMouseDown(event) {
|
|
553
556
|
event.stopPropagation();
|
|
554
557
|
},
|
|
@@ -559,7 +562,9 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
559
562
|
}, textInputIcons.clear), (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(Action, {
|
|
560
563
|
ref: actionRef,
|
|
561
564
|
disabled: disabled,
|
|
562
|
-
onClick:
|
|
565
|
+
onClick: function onClick() {
|
|
566
|
+
return handleDecrementActionOnClick();
|
|
567
|
+
},
|
|
563
568
|
onMouseDown: function onMouseDown(event) {
|
|
564
569
|
event.stopPropagation();
|
|
565
570
|
},
|
|
@@ -570,7 +575,9 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
570
575
|
}, textInputIcons.decrement), /*#__PURE__*/_react["default"].createElement(Action, {
|
|
571
576
|
ref: actionRef,
|
|
572
577
|
disabled: disabled,
|
|
573
|
-
onClick:
|
|
578
|
+
onClick: function onClick() {
|
|
579
|
+
return handleIncrementActionOnClick();
|
|
580
|
+
},
|
|
574
581
|
onMouseDown: function onMouseDown(event) {
|
|
575
582
|
event.stopPropagation();
|
|
576
583
|
},
|
|
@@ -581,7 +588,9 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
581
588
|
}, textInputIcons.increment)) : action && /*#__PURE__*/_react["default"].createElement(Action, {
|
|
582
589
|
ref: actionRef,
|
|
583
590
|
disabled: disabled,
|
|
584
|
-
onClick:
|
|
591
|
+
onClick: function onClick() {
|
|
592
|
+
return action.onClick();
|
|
593
|
+
},
|
|
585
594
|
onMouseDown: function onMouseDown(event) {
|
|
586
595
|
event.stopPropagation();
|
|
587
596
|
},
|
|
@@ -613,7 +622,8 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
613
622
|
backgroundType: backgroundType
|
|
614
623
|
}, textInputIcons.error), "Error fetching data"))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
615
624
|
id: errorId,
|
|
616
|
-
backgroundType: backgroundType
|
|
625
|
+
backgroundType: backgroundType,
|
|
626
|
+
"aria-live": error ? "assertive" : "off"
|
|
617
627
|
}, error)));
|
|
618
628
|
});
|
|
619
629
|
|