@dxc-technology/halstack-react 0.0.0-c680086 → 0.0.0-c702054

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 (97) 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/bleed/types.d.ts +24 -0
  10. package/box/Box.test.js +18 -0
  11. package/button/Button.test.js +35 -0
  12. package/card/Card.test.js +50 -0
  13. package/checkbox/Checkbox.test.js +65 -0
  14. package/chip/Chip.test.js +56 -0
  15. package/common/variables.js +0 -238
  16. package/date-input/DateInput.js +16 -20
  17. package/date-input/DateInput.stories.tsx +7 -7
  18. package/date-input/DateInput.test.js +492 -0
  19. package/date-input/types.d.ts +4 -0
  20. package/dialog/Dialog.test.js +40 -0
  21. package/dropdown/Dropdown.test.js +189 -0
  22. package/file-input/FileInput.test.js +457 -0
  23. package/footer/Footer.test.js +109 -0
  24. package/header/Header.test.js +63 -0
  25. package/heading/Heading.test.js +186 -0
  26. package/layout/ApplicationLayout.js +8 -2
  27. package/link/Link.test.js +91 -0
  28. package/main.d.ts +3 -6
  29. package/main.js +12 -36
  30. package/number-input/NumberInput.js +11 -18
  31. package/number-input/NumberInput.stories.tsx +5 -5
  32. package/number-input/NumberInput.test.js +508 -0
  33. package/number-input/types.d.ts +4 -0
  34. package/package.json +1 -1
  35. package/paginator/Paginator.test.js +266 -0
  36. package/password-input/PasswordInput.test.js +183 -0
  37. package/progress-bar/ProgressBar.test.js +65 -0
  38. package/radio/Radio.test.js +71 -0
  39. package/radio-group/Radio.d.ts +1 -1
  40. package/radio-group/Radio.js +24 -23
  41. package/radio-group/RadioGroup.js +39 -32
  42. package/radio-group/RadioGroup.stories.tsx +60 -39
  43. package/radio-group/RadioGroup.test.js +530 -83
  44. package/radio-group/types.d.ts +80 -2
  45. package/resultsetTable/ResultsetTable.test.js +306 -0
  46. package/row/types.d.ts +18 -0
  47. package/select/Icons.d.ts +10 -0
  48. package/select/Icons.js +93 -0
  49. package/select/Option.d.ts +4 -0
  50. package/select/Option.js +110 -0
  51. package/select/Select.js +82 -205
  52. package/select/Select.stories.tsx +91 -81
  53. package/select/Select.test.js +2016 -0
  54. package/select/types.d.ts +22 -1
  55. package/sidenav/Sidenav.test.js +56 -0
  56. package/slider/Slider.test.js +129 -0
  57. package/spinner/Spinner.test.js +64 -0
  58. package/stack/types.d.ts +15 -0
  59. package/switch/Switch.test.js +73 -0
  60. package/table/Table.test.js +26 -0
  61. package/tabs/Tabs.test.js +123 -0
  62. package/tag/Tag.js +12 -14
  63. package/tag/Tag.stories.tsx +12 -8
  64. package/tag/Tag.test.js +60 -0
  65. package/text-input/TextInput.js +8 -4
  66. package/text-input/TextInput.stories.tsx +30 -12
  67. package/text-input/TextInput.test.js +1725 -0
  68. package/text-input/types.d.ts +4 -0
  69. package/textarea/Textarea.js +8 -4
  70. package/textarea/Textarea.stories.jsx +33 -12
  71. package/textarea/Textarea.test.js +447 -0
  72. package/textarea/types.d.ts +4 -0
  73. package/toggle-group/ToggleGroup.test.js +125 -0
  74. package/wizard/Wizard.test.js +128 -0
  75. package/V3Select/V3Select.js +0 -455
  76. package/V3Select/index.d.ts +0 -27
  77. package/V3Textarea/V3Textarea.js +0 -260
  78. package/V3Textarea/index.d.ts +0 -27
  79. package/date/Date.js +0 -373
  80. package/date/index.d.ts +0 -27
  81. package/input-text/Icons.js +0 -22
  82. package/input-text/InputText.js +0 -611
  83. package/input-text/index.d.ts +0 -36
  84. package/toggle/Toggle.js +0 -186
  85. package/toggle/index.d.ts +0 -21
  86. package/upload/Upload.js +0 -201
  87. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  88. package/upload/buttons-upload/Icons.js +0 -40
  89. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  90. package/upload/dragAndDropArea/Icons.js +0 -39
  91. package/upload/file-upload/FileToUpload.js +0 -115
  92. package/upload/file-upload/Icons.js +0 -66
  93. package/upload/files-upload/FilesToUpload.js +0 -109
  94. package/upload/index.d.ts +0 -15
  95. package/upload/transaction/Icons.js +0 -160
  96. package/upload/transaction/Transaction.js +0 -104
  97. package/upload/transactions/Transactions.js +0 -94
@@ -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
+ });
@@ -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-message-".concat(inputId);
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);
@@ -539,10 +541,11 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
539
541
  role: isTextInputType() && hasSuggestions() ? "combobox" : "textbox",
540
542
  "aria-autocomplete": isTextInputType() && hasSuggestions() ? "list" : undefined,
541
543
  "aria-controls": isTextInputType() && hasSuggestions() ? autosuggestId : undefined,
544
+ "aria-disabled": disabled,
542
545
  "aria-expanded": isTextInputType() && hasSuggestions() ? isOpen ? "true" : "false" : undefined,
543
546
  "aria-activedescendant": isTextInputType() && hasSuggestions() && isOpen && visualFocusedSuggIndex !== -1 ? "suggestion-".concat(visualFocusedSuggIndex) : undefined,
544
547
  "aria-invalid": error ? "true" : "false",
545
- "aria-describedby": error ? errorId : undefined,
548
+ "aria-errormessage": error ? errorId : undefined,
546
549
  "aria-required": optional ? "false" : "true"
547
550
  }), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
548
551
  backgroundType: backgroundType,
@@ -621,7 +624,8 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
621
624
  backgroundType: backgroundType
622
625
  }, textInputIcons.error), "Error fetching data"))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
623
626
  id: errorId,
624
- backgroundType: backgroundType
627
+ backgroundType: backgroundType,
628
+ "aria-live": error ? "assertive" : "off"
625
629
  }, error)));
626
630
  });
627
631
 
@@ -70,7 +70,7 @@ export const Chromatic = () => (
70
70
  </ExampleContainer>
71
71
  <ExampleContainer pseudoState="pseudo-hover">
72
72
  <Title title="Hovered action" theme="light" level={4} />
73
- <DxcTextInput label="Text input" value="Text" clearable />
73
+ <DxcTextInput label="Text input" defaultValue="Text" clearable />
74
74
  </ExampleContainer>
75
75
  <ExampleContainer>
76
76
  <Title title="Without label" theme="light" level={4} />
@@ -82,13 +82,13 @@ export const Chromatic = () => (
82
82
  </ExampleContainer>
83
83
  <ExampleContainer>
84
84
  <Title title="Helper text, optional, and clearable" theme="light" level={4} />
85
- <DxcTextInput label="Text input" clearable value="Text" helperText="Help message" optional />
85
+ <DxcTextInput label="Text input" clearable defaultValue="Text" helperText="Help message" optional />
86
86
  </ExampleContainer>
87
87
  <ExampleContainer>
88
88
  <Title title="Clearable and large icon action" theme="light" level={4} />
89
89
  <DxcTextInput
90
90
  label="Text input"
91
- value="Text text text text text text text text text text"
91
+ defaultValue="Text text text text text text text text text text"
92
92
  clearable
93
93
  action={actionLargeIcon}
94
94
  />
@@ -107,12 +107,21 @@ export const Chromatic = () => (
107
107
  label="Error text input"
108
108
  helperText="Help message"
109
109
  error="Error message."
110
- value="Text"
110
+ defaultValue="Text"
111
111
  clearable
112
112
  optional
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" />
@@ -124,7 +133,7 @@ export const Chromatic = () => (
124
133
  helperText="Help message"
125
134
  disabled
126
135
  optional
127
- value="Text"
136
+ defaultValue="Text"
128
137
  action={action}
129
138
  />
130
139
  </ExampleContainer>
@@ -137,7 +146,7 @@ export const Chromatic = () => (
137
146
  optional
138
147
  prefix="+34"
139
148
  suffix="USD"
140
- value="Text"
149
+ defaultValue="Text"
141
150
  action={action}
142
151
  />
143
152
  </ExampleContainer>
@@ -154,7 +163,7 @@ export const Chromatic = () => (
154
163
  </ExampleContainer>
155
164
  <ExampleContainer pseudoState="pseudo-hover">
156
165
  <Title title="Hovered action" theme="dark" level={4} />
157
- <DxcTextInput label="Text input" value="Text" clearable />
166
+ <DxcTextInput label="Text input" defaultValue="Text" clearable />
158
167
  </ExampleContainer>
159
168
  <ExampleContainer>
160
169
  <Title title="Helper text, placeholder, optional and action" theme="dark" level={4} />
@@ -168,16 +177,25 @@ 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
- value="Text"
185
+ defaultValue="Text"
177
186
  clearable
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" />
@@ -193,7 +211,7 @@ export const Chromatic = () => (
193
211
  helperText="Help message"
194
212
  disabled
195
213
  optional
196
- value="Text"
214
+ defaultValue="Text"
197
215
  action={action}
198
216
  />
199
217
  </ExampleContainer>
@@ -206,7 +224,7 @@ export const Chromatic = () => (
206
224
  optional
207
225
  prefix="+34"
208
226
  suffix="USD"
209
- value="Text"
227
+ defaultValue="Text"
210
228
  action={action}
211
229
  />
212
230
  </ExampleContainer>