@dxc-technology/halstack-react 0.0.0-d30020b → 0.0.0-d3554d7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/ThemeContext.d.ts +4 -9
  2. package/ThemeContext.js +32 -32
  3. package/accordion/Accordion.test.js +57 -0
  4. package/accordion-group/AccordionGroup.test.js +133 -0
  5. package/alert/Alert.test.js +92 -0
  6. package/badge/Badge.d.ts +4 -0
  7. package/badge/types.d.ts +4 -0
  8. package/badge/types.js +5 -0
  9. package/box/Box.test.js +18 -0
  10. package/button/Button.test.js +35 -0
  11. package/card/Card.test.js +50 -0
  12. package/checkbox/Checkbox.test.js +65 -0
  13. package/chip/Chip.test.js +56 -0
  14. package/common/variables.js +0 -238
  15. package/date-input/DateInput.test.js +469 -0
  16. package/dialog/Dialog.test.js +40 -0
  17. package/dropdown/Dropdown.test.js +189 -0
  18. package/file-input/FileInput.test.js +457 -0
  19. package/footer/Footer.test.js +109 -0
  20. package/header/Header.test.js +63 -0
  21. package/heading/Heading.test.js +186 -0
  22. package/link/Link.test.js +91 -0
  23. package/main.d.ts +3 -6
  24. package/main.js +12 -36
  25. package/number-input/NumberInput.test.js +508 -0
  26. package/package.json +1 -1
  27. package/paginator/Paginator.test.js +266 -0
  28. package/password-input/PasswordInput.test.js +183 -0
  29. package/progress-bar/ProgressBar.test.js +65 -0
  30. package/radio/Radio.test.js +71 -0
  31. package/radio-group/Radio.d.ts +1 -1
  32. package/radio-group/Radio.js +24 -23
  33. package/radio-group/RadioGroup.js +38 -32
  34. package/radio-group/RadioGroup.stories.tsx +57 -40
  35. package/radio-group/RadioGroup.test.js +518 -72
  36. package/radio-group/types.d.ts +3 -2
  37. package/resultsetTable/ResultsetTable.test.js +306 -0
  38. package/select/Select.js +7 -1
  39. package/select/Select.stories.tsx +72 -62
  40. package/select/Select.test.js +1900 -0
  41. package/sidenav/Sidenav.test.js +56 -0
  42. package/slider/Slider.test.js +129 -0
  43. package/spinner/Spinner.test.js +64 -0
  44. package/switch/Switch.test.js +73 -0
  45. package/table/Table.test.js +26 -0
  46. package/tabs/Tabs.test.js +123 -0
  47. package/tag/Tag.test.js +60 -0
  48. package/text-input/TextInput.js +5 -3
  49. package/text-input/TextInput.stories.tsx +20 -2
  50. package/text-input/TextInput.test.js +1691 -0
  51. package/textarea/Textarea.js +5 -3
  52. package/textarea/Textarea.stories.jsx +30 -9
  53. package/textarea/Textarea.test.js +436 -0
  54. package/toggle-group/ToggleGroup.test.js +125 -0
  55. package/wizard/Wizard.test.js +128 -0
  56. package/V3Select/V3Select.js +0 -455
  57. package/V3Select/index.d.ts +0 -27
  58. package/V3Textarea/V3Textarea.js +0 -260
  59. package/V3Textarea/index.d.ts +0 -27
  60. package/date/Date.js +0 -373
  61. package/date/index.d.ts +0 -27
  62. package/input-text/Icons.js +0 -22
  63. package/input-text/InputText.js +0 -611
  64. package/input-text/index.d.ts +0 -36
  65. package/toggle/Toggle.js +0 -186
  66. package/toggle/index.d.ts +0 -21
  67. package/upload/Upload.js +0 -201
  68. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  69. package/upload/buttons-upload/Icons.js +0 -40
  70. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  71. package/upload/dragAndDropArea/Icons.js +0 -39
  72. package/upload/file-upload/FileToUpload.js +0 -115
  73. package/upload/file-upload/Icons.js +0 -66
  74. package/upload/files-upload/FilesToUpload.js +0 -109
  75. package/upload/index.d.ts +0 -15
  76. package/upload/transaction/Icons.js +0 -160
  77. package/upload/transaction/Transaction.js +0 -104
  78. package/upload/transactions/Transactions.js +0 -94
@@ -0,0 +1,56 @@
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 _Sidenav = _interopRequireDefault(require("./Sidenav"));
10
+
11
+ var navContent = /*#__PURE__*/_react["default"].createElement("p", null, "nav-content-test");
12
+
13
+ describe("Sidenav component tests", function () {
14
+ test("Sidenav renders nav content", function () {
15
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, navContent)),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("nav-content-test")).toBeTruthy();
19
+ });
20
+ test("Sidenav renders nav and page content in mobile version", function () {
21
+ //425 is mobile width
22
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
23
+ configurable: true,
24
+ value: 425
25
+ });
26
+
27
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, navContent)),
28
+ getByText = _render2.getByText;
29
+
30
+ expect(getByText("nav-content-test")).toBeTruthy();
31
+ });
32
+ test("Sidenav renders compound components", function () {
33
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Title, null, "test-title"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Subtitle, null, "test-subtitle"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
34
+ href: "#"
35
+ }, "test-link"))),
36
+ getByText = _render3.getByText;
37
+
38
+ expect(getByText("test-title")).toBeTruthy();
39
+ expect(getByText("test-subtitle")).toBeTruthy();
40
+ expect(getByText("test-link")).toBeTruthy();
41
+ });
42
+ test("Sidenav link onClick", function () {
43
+ var onClick = jest.fn();
44
+
45
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
46
+ onClick: onClick
47
+ }, "test-link"))),
48
+ getByText = _render4.getByText;
49
+
50
+ var link = getByText("test-link");
51
+
52
+ _react2.fireEvent.click(link);
53
+
54
+ expect(onClick).toHaveBeenCalled();
55
+ });
56
+ });
@@ -0,0 +1,129 @@
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 _Slider = _interopRequireDefault(require("./Slider"));
10
+
11
+ describe("Slider component tests", function () {
12
+ test("Slider renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
14
+ minValue: 0,
15
+ maxValue: 100,
16
+ showLimitsValues: true
17
+ })),
18
+ getByText = _render.getByText;
19
+
20
+ expect(getByText("0")).toBeTruthy();
21
+ expect(getByText("100")).toBeTruthy();
22
+ });
23
+ test("Calls correct function onChange in controlled slider", function () {
24
+ var onChange = jest.fn();
25
+
26
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
27
+ minValue: 0,
28
+ maxValue: 100,
29
+ onChange: onChange,
30
+ showLimitsValues: true,
31
+ value: 13,
32
+ showInput: true
33
+ })),
34
+ getByRole = _render2.getByRole;
35
+
36
+ (0, _react2.act)(function () {
37
+ _react2.fireEvent.change(getByRole("textbox"), {
38
+ target: {
39
+ value: 25
40
+ }
41
+ });
42
+ });
43
+ expect(onChange).toHaveBeenCalledWith(25);
44
+ });
45
+ test("Calls correct function onChange in uncontrolled slider", function () {
46
+ var onChange = jest.fn();
47
+
48
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
49
+ minValue: 0,
50
+ maxValue: 100,
51
+ onChange: onChange,
52
+ showLimitsValues: true,
53
+ showInput: true
54
+ })),
55
+ getByRole = _render3.getByRole;
56
+
57
+ (0, _react2.act)(function () {
58
+ _react2.fireEvent.change(getByRole("textbox"), {
59
+ target: {
60
+ value: 25
61
+ }
62
+ });
63
+ });
64
+ expect(onChange).toHaveBeenCalledWith(25);
65
+ });
66
+ test("Disabled slider have disabled input", function () {
67
+ var onChange = jest.fn();
68
+
69
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
70
+ minValue: 0,
71
+ maxValue: 100,
72
+ onChange: onChange,
73
+ showLimitsValues: true,
74
+ disabled: true,
75
+ showInput: true,
76
+ value: 13
77
+ })),
78
+ getByRole = _render4.getByRole;
79
+
80
+ (0, _react2.act)(function () {
81
+ _react2.fireEvent.change(getByRole("textbox"), {
82
+ target: {
83
+ value: 25
84
+ }
85
+ });
86
+ });
87
+ expect(getByRole("textbox").hasAttribute("disabled")).toBeTruthy();
88
+ expect(getByRole("textbox").value).toBe("13");
89
+ });
90
+ test("Calls correct function onDragEnd", function () {
91
+ var onDragEnd = jest.fn();
92
+
93
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
94
+ minValue: 0,
95
+ maxValue: 100,
96
+ showLimitsValues: true,
97
+ showInput: true,
98
+ onDragEnd: onDragEnd,
99
+ value: 25
100
+ })),
101
+ getByRole = _render5.getByRole;
102
+
103
+ (0, _react2.act)(function () {
104
+ _react2.fireEvent.mouseDown(getByRole("slider"));
105
+
106
+ _react2.fireEvent.mouseUp(getByRole("slider"));
107
+ });
108
+ expect(onDragEnd).toHaveBeenCalled();
109
+ });
110
+ test("Calls correct function labelFormatCallback", function () {
111
+ var labelFormatCallback = jest.fn(function (x) {
112
+ return "".concat(x, "$");
113
+ });
114
+
115
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
116
+ minValue: 0,
117
+ maxValue: 100,
118
+ showLimitsValues: true,
119
+ showInput: true,
120
+ value: 25,
121
+ labelFormatCallback: labelFormatCallback
122
+ })),
123
+ getByText = _render6.getByText;
124
+
125
+ expect(getByText("0$")).toBeTruthy();
126
+ expect(getByText("100$")).toBeTruthy();
127
+ expect(labelFormatCallback).toHaveBeenCalledTimes(2);
128
+ });
129
+ });
@@ -0,0 +1,64 @@
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 _Spinner = _interopRequireDefault(require("./Spinner"));
10
+
11
+ describe("Spinner component tests", function () {
12
+ test("Spinner renders with correct label", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
14
+ label: "test-loading"
15
+ })),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("test-loading")).toBeTruthy();
19
+ });
20
+ test("Spinner shows value correctly", function () {
21
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
22
+ label: "test-loading",
23
+ value: 75,
24
+ showValue: true
25
+ })),
26
+ getByText = _render2.getByText;
27
+
28
+ expect(getByText("75%")).toBeTruthy();
29
+ });
30
+ test("Small spinner hides value and label correctly", function () {
31
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
32
+ mode: "small",
33
+ label: "test-loading",
34
+ value: 75,
35
+ showValue: true
36
+ })),
37
+ queryByText = _render3.queryByText;
38
+
39
+ expect(queryByText("test-loading")).toBeFalsy();
40
+ expect(queryByText("75%")).toBeFalsy();
41
+ });
42
+ test("Overlay spinner shows value and label correctly", function () {
43
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
44
+ mode: "overlay",
45
+ label: "test-loading",
46
+ value: 75,
47
+ showValue: true
48
+ })),
49
+ getByText = _render4.getByText;
50
+
51
+ expect(getByText("test-loading")).toBeTruthy();
52
+ expect(getByText("75%")).toBeTruthy();
53
+ });
54
+ test("Get spinner by role", function () {
55
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
56
+ label: "test-loading",
57
+ value: 75,
58
+ showValue: true
59
+ })),
60
+ getByRole = _render5.getByRole;
61
+
62
+ expect(getByRole("progressbar")).toBeTruthy();
63
+ });
64
+ });
@@ -0,0 +1,73 @@
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 _Switch = _interopRequireDefault(require("./Switch"));
10
+
11
+ describe("Switch component tests", function () {
12
+ test("Switch renders with correct text", function () {
13
+ var onChange = jest.fn(function (returnedValue) {
14
+ expect(returnedValue).toBe(true);
15
+ });
16
+
17
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
18
+ label: "SwitchComponent",
19
+ checked: false,
20
+ onChange: onChange
21
+ })),
22
+ getByText = _render.getByText;
23
+
24
+ expect(getByText("SwitchComponent")).toBeTruthy();
25
+ });
26
+ test("Calls correct function on click", function () {
27
+ var onChange = jest.fn();
28
+
29
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
30
+ label: "SwitchComponent",
31
+ checked: false,
32
+ onChange: onChange
33
+ })),
34
+ getByText = _render2.getByText;
35
+
36
+ _react2.fireEvent.click(getByText("SwitchComponent"));
37
+
38
+ expect(onChange).toHaveBeenCalled();
39
+ });
40
+ test("Everytime the user clicks the component the onchange function is called with the correct value CONTROLLED COMPONENT", function () {
41
+ var onChange = jest.fn();
42
+
43
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
44
+ label: "SwitchComponent",
45
+ checked: false,
46
+ onChange: onChange
47
+ })),
48
+ getByText = _render3.getByText;
49
+
50
+ _react2.fireEvent.click(getByText("SwitchComponent"));
51
+
52
+ _react2.fireEvent.click(getByText("SwitchComponent"));
53
+
54
+ expect(onChange.mock.calls[0][0]).toBe(true);
55
+ expect(onChange.mock.calls[1][0]).toBe(true);
56
+ });
57
+ test("Everytime the user clicks the component the onchange function is called with the correct value UNCONTROLLED COMPONENT", function () {
58
+ var onChange = jest.fn();
59
+
60
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
61
+ label: "SwitchComponent",
62
+ onChange: onChange
63
+ })),
64
+ getByText = _render4.getByText;
65
+
66
+ _react2.fireEvent.click(getByText("SwitchComponent"));
67
+
68
+ _react2.fireEvent.click(getByText("SwitchComponent"));
69
+
70
+ expect(onChange.mock.calls[0][0]).toBe(true);
71
+ expect(onChange.mock.calls[1][0]).toBe(false);
72
+ });
73
+ });
@@ -0,0 +1,26 @@
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 _Table = _interopRequireDefault(require("./Table"));
10
+
11
+ describe("Table component tests", function () {
12
+ test("Table renders with correct content", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Table["default"], null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, "header-1"), /*#__PURE__*/_react["default"].createElement("th", null, "header-2"), /*#__PURE__*/_react["default"].createElement("th", null, "header-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-1"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-2"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-4"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-5"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-6")))),
14
+ getByText = _render.getByText;
15
+
16
+ expect(getByText("header-1")).toBeTruthy();
17
+ expect(getByText("header-2")).toBeTruthy();
18
+ expect(getByText("header-3")).toBeTruthy();
19
+ expect(getByText("cell-1")).toBeTruthy();
20
+ expect(getByText("cell-2")).toBeTruthy();
21
+ expect(getByText("cell-3")).toBeTruthy();
22
+ expect(getByText("cell-4")).toBeTruthy();
23
+ expect(getByText("cell-5")).toBeTruthy();
24
+ expect(getByText("cell-6")).toBeTruthy();
25
+ });
26
+ });
@@ -0,0 +1,123 @@
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
+
35
+ expect(getByText("Tab-1")).toBeTruthy();
36
+ expect(getByText("Tab-2")).toBeTruthy();
37
+ expect(getByText("Tab-3")).toBeTruthy();
38
+ });
39
+ test("Tabs render with correct labels and badges", function () {
40
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
41
+ tabs: sampleTabsWithBadge
42
+ })),
43
+ getByText = _render2.getByText;
44
+
45
+ expect(getByText("10")).toBeTruthy();
46
+ expect(getByText("20")).toBeTruthy();
47
+ expect(getByText("+99")).toBeTruthy();
48
+ });
49
+ test("Tabs render with correct icons", function () {
50
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
51
+ tabs: [{
52
+ label: "Tab-1",
53
+ icon: "/testIcon1.png"
54
+ }, {
55
+ label: "Tab-2",
56
+ icon: "/testIcon2.png"
57
+ }, {
58
+ label: "Tab-3",
59
+ icon: "/testIcon3.png"
60
+ }]
61
+ })),
62
+ getAllByRole = _render3.getAllByRole;
63
+
64
+ expect(getAllByRole("img")[0].getAttribute("src")).toBe("/testIcon1.png");
65
+ expect(getAllByRole("img")[1].getAttribute("src")).toBe("/testIcon2.png");
66
+ expect(getAllByRole("img")[2].getAttribute("src")).toBe("/testIcon3.png");
67
+ });
68
+ test("Tabs render with disabled tab", function () {
69
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
70
+ tabs: [{
71
+ label: "Tab-1",
72
+ isDisabled: true
73
+ }, {
74
+ label: "Tab-2"
75
+ }]
76
+ })),
77
+ getAllByRole = _render4.getAllByRole;
78
+
79
+ expect(getAllByRole("tab")[0].hasAttribute("disabled")).toBeTruthy();
80
+ expect(getAllByRole("tab")[1].hasAttribute("disabled")).toBeFalsy();
81
+ });
82
+ test("Uncontrolled tabs", function () {
83
+ var onTabClick = jest.fn();
84
+
85
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
86
+ tabs: sampleTabs,
87
+ onTabClick: onTabClick
88
+ })),
89
+ getByText = _render5.getByText;
90
+
91
+ var tab1 = getByText("Tab-1");
92
+ var tab2 = getByText("Tab-2");
93
+
94
+ _react2.fireEvent.click(tab2);
95
+
96
+ expect(onTabClick).toHaveBeenCalledWith(1);
97
+
98
+ _react2.fireEvent.click(tab1);
99
+
100
+ expect(onTabClick).toHaveBeenCalledWith(0);
101
+ });
102
+ test("Controlled tabs", function () {
103
+ var onTabClick = jest.fn();
104
+
105
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
106
+ tabs: sampleTabs,
107
+ onTabClick: onTabClick,
108
+ activeTabIndex: 0
109
+ })),
110
+ getByText = _render6.getByText;
111
+
112
+ var tab2 = getByText("Tab-2");
113
+ var tab3 = getByText("Tab-3");
114
+
115
+ _react2.fireEvent.click(tab2);
116
+
117
+ expect(onTabClick).toHaveBeenCalledWith(1);
118
+
119
+ _react2.fireEvent.click(tab3);
120
+
121
+ expect(onTabClick).toHaveBeenCalledWith(2);
122
+ });
123
+ });
@@ -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
+ });
@@ -205,7 +205,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
205
205
  var colorsTheme = (0, _useTheme["default"])();
206
206
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
207
207
  var autosuggestId = "".concat(inputId, "-listBox");
208
- var errorId = "error-message-".concat(inputId);
208
+ var errorId = "error-".concat(inputId);
209
209
  var numberInputContext = (0, _react.useContext)(_NumberInputContext["default"]);
210
210
  var lastOptionIndex = (0, _react.useMemo)(function () {
211
211
  return getLastOptionIndex(filteredSuggestions);
@@ -539,10 +539,11 @@ 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-describedby": error ? errorId : undefined,
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,
@@ -621,7 +622,8 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
621
622
  backgroundType: backgroundType
622
623
  }, textInputIcons.error), "Error fetching data"))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
623
624
  id: errorId,
624
- backgroundType: backgroundType
625
+ backgroundType: backgroundType,
626
+ "aria-live": error ? "assertive" : "off"
625
627
  }, error)));
626
628
  });
627
629
 
@@ -113,6 +113,15 @@ export const Chromatic = () => (
113
113
  action={action}
114
114
  />
115
115
  </ExampleContainer>
116
+ <ExampleContainer pseudoState="pseudo-hover">
117
+ <Title title="Invalid and hovered" theme="light" level={4} />
118
+ <DxcTextInput
119
+ label="Error text input"
120
+ helperText="Help message"
121
+ placeholder="Placeholder"
122
+ error="Error message."
123
+ />
124
+ </ExampleContainer>
116
125
  <ExampleContainer>
117
126
  <Title title="Disabled and placeholder" theme="light" level={4} />
118
127
  <DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" />
@@ -168,9 +177,9 @@ export const Chromatic = () => (
168
177
  />
169
178
  </ExampleContainer>
170
179
  <ExampleContainer>
171
- <Title title="Helper text, clearable value, error and action" theme="dark" level={4} />
180
+ <Title title="Invalid" theme="dark" level={4} />
172
181
  <DxcTextInput
173
- label="Text input"
182
+ label="Error text input"
174
183
  helperText="Help message"
175
184
  error="Error message."
176
185
  value="Text"
@@ -178,6 +187,15 @@ export const Chromatic = () => (
178
187
  action={action}
179
188
  />
180
189
  </ExampleContainer>
190
+ <ExampleContainer pseudoState="pseudo-hover">
191
+ <Title title="Invalid and hovered" theme="dark" level={4} />
192
+ <DxcTextInput
193
+ label="Error text input"
194
+ helperText="Help message"
195
+ placeholder="Placeholder"
196
+ error="Error message."
197
+ />
198
+ </ExampleContainer>
181
199
  <ExampleContainer>
182
200
  <Title title="Prefix and suffix" theme="dark" level={4} />
183
201
  <DxcTextInput label="With prefix and suffix" prefix="+34" suffix="USD" />