@dxc-technology/halstack-react 6.0.0 → 6.2.0
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/accordion/Accordion.js +122 -103
- package/accordion/Accordion.stories.tsx +1 -2
- package/accordion/Accordion.test.js +9 -10
- package/accordion/types.d.ts +4 -4
- package/accordion-group/AccordionGroup.js +1 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +20 -45
- package/accordion-group/types.d.ts +9 -3
- package/alert/Alert.js +1 -1
- package/box/Box.js +1 -1
- package/bulleted-list/types.d.ts +1 -1
- package/button/Button.js +43 -61
- package/button/Button.stories.tsx +9 -0
- package/button/types.d.ts +7 -7
- package/checkbox/Checkbox.js +88 -95
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +2 -2
- package/chip/types.d.ts +1 -1
- package/common/variables.js +23 -10
- package/date-input/DateInput.js +3 -3
- package/dialog/Dialog.js +52 -28
- package/dialog/Dialog.stories.tsx +1 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +2 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +243 -247
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +510 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/flex/Flex.js +1 -1
- package/flex/types.d.ts +1 -1
- package/footer/Footer.stories.tsx +8 -1
- package/footer/types.d.ts +1 -1
- package/header/Header.js +74 -72
- package/header/Header.stories.tsx +4 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +2 -2
- package/layout/ApplicationLayout.js +3 -3
- package/layout/ApplicationLayout.stories.tsx +1 -0
- package/link/Link.js +1 -1
- package/link/Link.stories.tsx +12 -5
- package/link/types.d.ts +1 -1
- package/package.json +10 -10
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +56 -50
- package/progress-bar/ProgressBar.stories.jsx +3 -1
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/radio-group/RadioGroup.js +11 -13
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +25 -2
- package/select/Select.js +14 -31
- package/select/Select.stories.tsx +6 -5
- package/select/Select.test.js +63 -50
- package/select/types.d.ts +2 -4
- package/sidenav/Sidenav.js +15 -3
- package/sidenav/types.d.ts +1 -1
- package/slider/Slider.js +114 -93
- package/slider/Slider.stories.tsx +7 -1
- package/slider/Slider.test.js +121 -21
- package/slider/types.d.ts +2 -2
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +111 -55
- package/switch/Switch.stories.tsx +8 -30
- package/switch/Switch.test.js +122 -8
- package/switch/types.d.ts +3 -4
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +74 -0
- package/tabs/Tabs.test.js +217 -6
- package/tabs/types.d.ts +15 -5
- package/tabs-nav/NavTabs.js +5 -5
- package/tabs-nav/Tab.js +3 -5
- package/tabs-nav/types.d.ts +1 -1
- package/tag/Tag.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +7 -5
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +115 -222
- package/text-input/TextInput.stories.tsx +189 -182
- package/text-input/TextInput.test.js +163 -162
- package/text-input/types.d.ts +17 -3
- package/toggle-group/types.d.ts +1 -1
- package/wizard/types.d.ts +1 -1
package/text-input/TextInput.js
CHANGED
|
@@ -27,66 +27,33 @@ var _variables = require("../common/variables.js");
|
|
|
27
27
|
|
|
28
28
|
var _utils = require("../common/utils.js");
|
|
29
29
|
|
|
30
|
-
var _uuid = require("uuid");
|
|
31
|
-
|
|
32
30
|
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
33
31
|
|
|
34
32
|
var _NumberInputContext = _interopRequireDefault(require("../number-input/NumberInputContext"));
|
|
35
33
|
|
|
36
|
-
var
|
|
34
|
+
var _Suggestions = _interopRequireDefault(require("./Suggestions"));
|
|
35
|
+
|
|
36
|
+
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
37
|
+
|
|
38
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
39
|
+
|
|
40
|
+
var _uuid = require("uuid");
|
|
37
41
|
|
|
38
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12
|
|
42
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
39
43
|
|
|
40
44
|
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); }
|
|
41
45
|
|
|
42
46
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
47
|
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
})),
|
|
54
|
-
clear: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
55
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
56
|
-
width: "24",
|
|
57
|
-
height: "24",
|
|
58
|
-
viewBox: "0 0 24 24",
|
|
59
|
-
fill: "currentColor"
|
|
60
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
61
|
-
d: "M0 0h24v24H0V0z",
|
|
62
|
-
fill: "none"
|
|
63
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
64
|
-
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
65
|
-
})),
|
|
66
|
-
increment: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
67
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
68
|
-
height: "24px",
|
|
69
|
-
viewBox: "0 0 24 24",
|
|
70
|
-
width: "24px",
|
|
71
|
-
fill: "currentColor"
|
|
72
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
73
|
-
d: "M0 0h24v24H0z",
|
|
74
|
-
fill: "none"
|
|
75
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
76
|
-
d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
|
|
77
|
-
})),
|
|
78
|
-
decrement: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
79
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
80
|
-
height: "24px",
|
|
81
|
-
viewBox: "0 0 24 24",
|
|
82
|
-
width: "24px",
|
|
83
|
-
fill: "currentColor"
|
|
84
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
85
|
-
d: "M0 0h24v24H0z",
|
|
86
|
-
fill: "none"
|
|
87
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
88
|
-
d: "M19 13H5v-2h14v2z"
|
|
89
|
-
}))
|
|
48
|
+
var sizes = {
|
|
49
|
+
small: "240px",
|
|
50
|
+
medium: "360px",
|
|
51
|
+
large: "480px",
|
|
52
|
+
fillParent: "100%"
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
var calculateWidth = function calculateWidth(margin, size) {
|
|
56
|
+
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
90
57
|
};
|
|
91
58
|
|
|
92
59
|
var makeCancelable = function makeCancelable(promise) {
|
|
@@ -110,29 +77,8 @@ var makeCancelable = function makeCancelable(promise) {
|
|
|
110
77
|
};
|
|
111
78
|
};
|
|
112
79
|
|
|
113
|
-
var
|
|
114
|
-
return
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
var getPatternErrorMessage = function getPatternErrorMessage() {
|
|
118
|
-
return "Please match the format requested.";
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
var patternMatch = function patternMatch(pattern, value) {
|
|
122
|
-
return new RegExp(pattern).test(value);
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
var getLastOptionIndex = function getLastOptionIndex(filteredSuggestions) {
|
|
126
|
-
var last = 0;
|
|
127
|
-
|
|
128
|
-
var reducer = function reducer(acc, current) {
|
|
129
|
-
var _current$options;
|
|
130
|
-
|
|
131
|
-
return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
if (filteredSuggestions.length > 0) filteredSuggestions[0].options ? last = filteredSuggestions.reduce(reducer, 0) - 1 : last = filteredSuggestions.length - 1;
|
|
135
|
-
return last;
|
|
80
|
+
var patternMissmatch = function patternMissmatch(pattern, value) {
|
|
81
|
+
return pattern && !new RegExp(pattern).test(value);
|
|
136
82
|
};
|
|
137
83
|
|
|
138
84
|
var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
@@ -170,53 +116,48 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
170
116
|
size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
171
117
|
_ref$tabIndex = _ref.tabIndex,
|
|
172
118
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
119
|
+
var id = (0, _react.useState)((0, _uuid.v4)());
|
|
120
|
+
var inputId = "input-".concat(id);
|
|
121
|
+
var autosuggestId = "suggestions-".concat(id);
|
|
122
|
+
var errorId = "error-".concat(id);
|
|
173
123
|
|
|
174
|
-
var _useState = (0, _react.useState)(
|
|
175
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState,
|
|
176
|
-
|
|
124
|
+
var _useState = (0, _react.useState)(defaultValue),
|
|
125
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
126
|
+
innerValue = _useState2[0],
|
|
127
|
+
setInnerValue = _useState2[1];
|
|
177
128
|
|
|
178
|
-
var _useState3 = (0, _react.useState)(
|
|
129
|
+
var _useState3 = (0, _react.useState)(false),
|
|
179
130
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
180
|
-
|
|
181
|
-
|
|
131
|
+
isOpen = _useState4[0],
|
|
132
|
+
changeIsOpen = _useState4[1];
|
|
182
133
|
|
|
183
134
|
var _useState5 = (0, _react.useState)(false),
|
|
184
135
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
185
|
-
|
|
186
|
-
|
|
136
|
+
isSearching = _useState6[0],
|
|
137
|
+
changeIsSearching = _useState6[1];
|
|
187
138
|
|
|
188
139
|
var _useState7 = (0, _react.useState)(false),
|
|
189
140
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
190
|
-
|
|
191
|
-
|
|
141
|
+
isAutosuggestError = _useState8[0],
|
|
142
|
+
changeIsAutosuggestError = _useState8[1];
|
|
192
143
|
|
|
193
|
-
var _useState9 = (0, _react.useState)(
|
|
144
|
+
var _useState9 = (0, _react.useState)([]),
|
|
194
145
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
195
|
-
|
|
196
|
-
|
|
146
|
+
filteredSuggestions = _useState10[0],
|
|
147
|
+
changeFilteredSuggestions = _useState10[1];
|
|
197
148
|
|
|
198
|
-
var _useState11 = (0, _react.useState)(
|
|
149
|
+
var _useState11 = (0, _react.useState)(-1),
|
|
199
150
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
var _useState13 = (0, _react.useState)(-1),
|
|
204
|
-
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
205
|
-
visualFocusedSuggIndex = _useState14[0],
|
|
206
|
-
changeVisualFocusedSuggIndex = _useState14[1];
|
|
151
|
+
visualFocusIndex = _useState12[0],
|
|
152
|
+
changeVisualFocusIndex = _useState12[1];
|
|
207
153
|
|
|
208
|
-
var
|
|
154
|
+
var inputContainerRef = (0, _react.useRef)(null);
|
|
209
155
|
var inputRef = (0, _react.useRef)(null);
|
|
210
156
|
var actionRef = (0, _react.useRef)(null);
|
|
211
157
|
var colorsTheme = (0, _useTheme["default"])();
|
|
212
158
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
213
159
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
214
|
-
var autosuggestId = "".concat(inputId, "-listBox");
|
|
215
|
-
var errorId = "error-".concat(inputId);
|
|
216
160
|
var numberInputContext = (0, _react.useContext)(_NumberInputContext["default"]);
|
|
217
|
-
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
218
|
-
return getLastOptionIndex(filteredSuggestions);
|
|
219
|
-
}, [filteredSuggestions]);
|
|
220
161
|
|
|
221
162
|
var isNotOptional = function isNotOptional(value) {
|
|
222
163
|
return value === "" && !optional;
|
|
@@ -249,8 +190,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
249
190
|
};
|
|
250
191
|
|
|
251
192
|
var closeSuggestions = function closeSuggestions() {
|
|
252
|
-
|
|
253
|
-
|
|
193
|
+
if (hasSuggestions()) {
|
|
194
|
+
changeIsOpen(false);
|
|
195
|
+
changeVisualFocusIndex(-1);
|
|
196
|
+
}
|
|
254
197
|
};
|
|
255
198
|
|
|
256
199
|
var changeValue = function changeValue(newValue) {
|
|
@@ -262,10 +205,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
262
205
|
});else if (isLengthIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
263
206
|
value: changedValue,
|
|
264
207
|
error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
|
|
265
|
-
});else if (
|
|
208
|
+
});else if (patternMissmatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
266
209
|
value: changedValue,
|
|
267
210
|
error: translatedLabels.formFields.formatRequestedErrorMessage
|
|
268
|
-
});else if (
|
|
211
|
+
});else if (isNumberIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
269
212
|
value: changedValue,
|
|
270
213
|
error: getNumberErrorMessage(newValue)
|
|
271
214
|
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
@@ -288,17 +231,17 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
288
231
|
};
|
|
289
232
|
|
|
290
233
|
var handleIOnBlur = function handleIOnBlur(event) {
|
|
291
|
-
|
|
234
|
+
closeSuggestions();
|
|
292
235
|
if (isNotOptional(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
293
236
|
value: event.target.value,
|
|
294
237
|
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
295
238
|
});else if (isLengthIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
296
239
|
value: event.target.value,
|
|
297
240
|
error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
|
|
298
|
-
});else if (
|
|
241
|
+
});else if (patternMissmatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
299
242
|
value: event.target.value,
|
|
300
243
|
error: translatedLabels.formFields.formatRequestedErrorMessage
|
|
301
|
-
});else if (
|
|
244
|
+
});else if (isNumberIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
302
245
|
value: event.target.value,
|
|
303
246
|
error: getNumberErrorMessage(event.target.value)
|
|
304
247
|
});else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
@@ -307,18 +250,18 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
307
250
|
};
|
|
308
251
|
|
|
309
252
|
var handleIOnKeyDown = function handleIOnKeyDown(event) {
|
|
310
|
-
switch (event.
|
|
311
|
-
case
|
|
312
|
-
|
|
253
|
+
switch (event.key) {
|
|
254
|
+
case "Down":
|
|
255
|
+
case "ArrowDown":
|
|
256
|
+
event.preventDefault();
|
|
257
|
+
|
|
313
258
|
if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
|
|
314
259
|
decrementNumber();
|
|
315
|
-
event.preventDefault();
|
|
316
260
|
} else {
|
|
317
|
-
event.preventDefault();
|
|
318
261
|
openSuggestions();
|
|
319
262
|
|
|
320
263
|
if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
|
|
321
|
-
|
|
264
|
+
changeVisualFocusIndex(function (visualFocusedSuggIndex) {
|
|
322
265
|
if (visualFocusedSuggIndex < filteredSuggestions.length - 1) return visualFocusedSuggIndex + 1;else if (visualFocusedSuggIndex === filteredSuggestions.length - 1) return 0;
|
|
323
266
|
});
|
|
324
267
|
}
|
|
@@ -326,17 +269,17 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
326
269
|
|
|
327
270
|
break;
|
|
328
271
|
|
|
329
|
-
case
|
|
330
|
-
|
|
272
|
+
case "Up":
|
|
273
|
+
case "ArrowUp":
|
|
274
|
+
event.preventDefault();
|
|
275
|
+
|
|
331
276
|
if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
|
|
332
277
|
incrementNumber();
|
|
333
|
-
event.preventDefault();
|
|
334
278
|
} else {
|
|
335
|
-
event.preventDefault();
|
|
336
279
|
openSuggestions();
|
|
337
280
|
|
|
338
281
|
if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
|
|
339
|
-
|
|
282
|
+
changeVisualFocusIndex(function (visualFocusedSuggIndex) {
|
|
340
283
|
if (visualFocusedSuggIndex === 0 || visualFocusedSuggIndex === -1) return filteredSuggestions.length > 0 ? filteredSuggestions.length - 1 : suggestions.length - 1;else return visualFocusedSuggIndex - 1;
|
|
341
284
|
});
|
|
342
285
|
}
|
|
@@ -344,8 +287,8 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
344
287
|
|
|
345
288
|
break;
|
|
346
289
|
|
|
347
|
-
case
|
|
348
|
-
|
|
290
|
+
case "Esc":
|
|
291
|
+
case "Escape":
|
|
349
292
|
event.preventDefault();
|
|
350
293
|
|
|
351
294
|
if (hasSuggestions()) {
|
|
@@ -355,11 +298,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
355
298
|
|
|
356
299
|
break;
|
|
357
300
|
|
|
358
|
-
case
|
|
359
|
-
// Enter
|
|
301
|
+
case "Enter":
|
|
360
302
|
if (hasSuggestions() && !isSearching) {
|
|
361
|
-
var validFocusedSuggestion = filteredSuggestions.length > 0 &&
|
|
362
|
-
validFocusedSuggestion && changeValue(filteredSuggestions[
|
|
303
|
+
var validFocusedSuggestion = filteredSuggestions.length > 0 && visualFocusIndex >= 0 && visualFocusIndex < filteredSuggestions.length;
|
|
304
|
+
validFocusedSuggestion && changeValue(filteredSuggestions[visualFocusIndex]);
|
|
363
305
|
isOpen && closeSuggestions();
|
|
364
306
|
}
|
|
365
307
|
|
|
@@ -432,15 +374,12 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
432
374
|
}
|
|
433
375
|
};
|
|
434
376
|
|
|
435
|
-
(0, _react.
|
|
436
|
-
var
|
|
377
|
+
var getTextInputWidth = (0, _react.useCallback)(function () {
|
|
378
|
+
var _inputContainerRef$cu;
|
|
437
379
|
|
|
438
|
-
var
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
inline: "start"
|
|
442
|
-
});
|
|
443
|
-
}, [visualFocusedSuggIndex]);
|
|
380
|
+
var rect = inputContainerRef === null || inputContainerRef === void 0 ? void 0 : (_inputContainerRef$cu = inputContainerRef.current) === null || _inputContainerRef$cu === void 0 ? void 0 : _inputContainerRef$cu.getBoundingClientRect();
|
|
381
|
+
return rect === null || rect === void 0 ? void 0 : rect.width;
|
|
382
|
+
}, []);
|
|
444
383
|
(0, _react.useEffect)(function () {
|
|
445
384
|
if (typeof suggestions === "function") {
|
|
446
385
|
changeIsSearching(true);
|
|
@@ -464,7 +403,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
464
403
|
changeFilteredSuggestions(suggestions.filter(function (suggestion) {
|
|
465
404
|
return suggestion.toUpperCase().startsWith((value !== null && value !== void 0 ? value : innerValue).toUpperCase());
|
|
466
405
|
}));
|
|
467
|
-
|
|
406
|
+
changeVisualFocusIndex(-1);
|
|
468
407
|
}
|
|
469
408
|
|
|
470
409
|
(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && setNumberProps(numberInputContext.typeNumber, numberInputContext.minNumber, numberInputContext.maxNumber, numberInputContext.stepNumber);
|
|
@@ -483,12 +422,17 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
483
422
|
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
484
423
|
disabled: disabled,
|
|
485
424
|
backgroundType: backgroundType
|
|
486
|
-
}, helperText), /*#__PURE__*/_react["default"].createElement(
|
|
425
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
426
|
+
open: isOpen && (filteredSuggestions.length > 0 || isSearching || isAutosuggestError)
|
|
427
|
+
}, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
|
|
428
|
+
asChild: true
|
|
429
|
+
}, /*#__PURE__*/_react["default"].createElement(InputContainer, {
|
|
487
430
|
error: error ? true : false,
|
|
488
431
|
disabled: disabled,
|
|
489
432
|
backgroundType: backgroundType,
|
|
490
433
|
onClick: handleInputContainerOnClick,
|
|
491
|
-
onMouseDown: handleInputContainerOnMouseDown
|
|
434
|
+
onMouseDown: handleInputContainerOnMouseDown,
|
|
435
|
+
ref: inputContainerRef
|
|
492
436
|
}, prefix && /*#__PURE__*/_react["default"].createElement(Prefix, {
|
|
493
437
|
disabled: disabled,
|
|
494
438
|
backgroundType: backgroundType
|
|
@@ -499,9 +443,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
499
443
|
placeholder: placeholder,
|
|
500
444
|
onBlur: handleIOnBlur,
|
|
501
445
|
onChange: handleIOnChange,
|
|
502
|
-
onFocus:
|
|
503
|
-
openSuggestions();
|
|
504
|
-
},
|
|
446
|
+
onFocus: openSuggestions,
|
|
505
447
|
onKeyDown: handleIOnKeyDown,
|
|
506
448
|
onMouseDown: function onMouseDown(event) {
|
|
507
449
|
event.stopPropagation();
|
|
@@ -512,24 +454,22 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
512
454
|
pattern: pattern,
|
|
513
455
|
minLength: minLength,
|
|
514
456
|
maxLength: maxLength,
|
|
515
|
-
autoComplete: autocomplete,
|
|
457
|
+
autoComplete: autocomplete === "off" ? "nope" : autocomplete,
|
|
516
458
|
tabIndex: tabIndex,
|
|
517
459
|
role: isTextInputType() && hasSuggestions() ? "combobox" : "textbox",
|
|
518
460
|
"aria-autocomplete": isTextInputType() && hasSuggestions() ? "list" : undefined,
|
|
519
461
|
"aria-controls": isTextInputType() && hasSuggestions() ? autosuggestId : undefined,
|
|
520
462
|
"aria-disabled": disabled,
|
|
521
|
-
"aria-expanded": isTextInputType() && hasSuggestions() ? isOpen
|
|
522
|
-
"aria-activedescendant": isTextInputType() && hasSuggestions() && isOpen &&
|
|
523
|
-
"aria-invalid": error ?
|
|
463
|
+
"aria-expanded": isTextInputType() && hasSuggestions() ? isOpen : undefined,
|
|
464
|
+
"aria-activedescendant": isTextInputType() && hasSuggestions() && isOpen && visualFocusIndex !== -1 ? "suggestion-".concat(visualFocusIndex) : undefined,
|
|
465
|
+
"aria-invalid": error ? true : false,
|
|
524
466
|
"aria-errormessage": error ? errorId : undefined,
|
|
525
|
-
"aria-required": optional ?
|
|
467
|
+
"aria-required": optional ? false : true
|
|
526
468
|
}), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
|
|
527
469
|
backgroundType: backgroundType,
|
|
528
470
|
"aria-label": "Error"
|
|
529
|
-
},
|
|
530
|
-
onClick:
|
|
531
|
-
return handleClearActionOnClick();
|
|
532
|
-
},
|
|
471
|
+
}, _Icons["default"].error), !disabled && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(Action, {
|
|
472
|
+
onClick: handleClearActionOnClick,
|
|
533
473
|
onMouseDown: function onMouseDown(event) {
|
|
534
474
|
event.stopPropagation();
|
|
535
475
|
},
|
|
@@ -537,12 +477,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
537
477
|
tabIndex: tabIndex,
|
|
538
478
|
title: translatedLabels.textInput.clearFieldActionTitle,
|
|
539
479
|
"aria-label": translatedLabels.textInput.clearFieldActionTitle
|
|
540
|
-
},
|
|
480
|
+
}, _Icons["default"].clear), (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(Action, {
|
|
541
481
|
ref: actionRef,
|
|
542
482
|
disabled: disabled,
|
|
543
|
-
onClick:
|
|
544
|
-
return handleDecrementActionOnClick();
|
|
545
|
-
},
|
|
483
|
+
onClick: handleDecrementActionOnClick,
|
|
546
484
|
onMouseDown: function onMouseDown(event) {
|
|
547
485
|
event.stopPropagation();
|
|
548
486
|
},
|
|
@@ -550,12 +488,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
550
488
|
tabIndex: tabIndex,
|
|
551
489
|
title: translatedLabels.numberInput.decrementValueTitle,
|
|
552
490
|
"aria-label": translatedLabels.numberInput.decrementValueTitle
|
|
553
|
-
},
|
|
491
|
+
}, _Icons["default"].decrement), /*#__PURE__*/_react["default"].createElement(Action, {
|
|
554
492
|
ref: actionRef,
|
|
555
493
|
disabled: disabled,
|
|
556
|
-
onClick:
|
|
557
|
-
return handleIncrementActionOnClick();
|
|
558
|
-
},
|
|
494
|
+
onClick: handleIncrementActionOnClick,
|
|
559
495
|
onMouseDown: function onMouseDown(event) {
|
|
560
496
|
event.stopPropagation();
|
|
561
497
|
},
|
|
@@ -563,12 +499,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
563
499
|
tabIndex: tabIndex,
|
|
564
500
|
title: translatedLabels.numberInput.incrementValueTitle,
|
|
565
501
|
"aria-label": translatedLabels.numberInput.incrementValueTitle
|
|
566
|
-
},
|
|
502
|
+
}, _Icons["default"].increment)), action && /*#__PURE__*/_react["default"].createElement(Action, {
|
|
567
503
|
ref: actionRef,
|
|
568
504
|
disabled: disabled,
|
|
569
|
-
onClick:
|
|
570
|
-
return action.onClick();
|
|
571
|
-
},
|
|
505
|
+
onClick: action.onClick,
|
|
572
506
|
onMouseDown: function onMouseDown(event) {
|
|
573
507
|
event.stopPropagation();
|
|
574
508
|
},
|
|
@@ -581,49 +515,36 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
581
515
|
}) : action.icon), suffix && /*#__PURE__*/_react["default"].createElement(Suffix, {
|
|
582
516
|
disabled: disabled,
|
|
583
517
|
backgroundType: backgroundType
|
|
584
|
-
}, suffix),
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
518
|
+
}, suffix))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
519
|
+
sideOffset: 4,
|
|
520
|
+
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
521
|
+
// Avoid select to lose focus when the list is opened
|
|
588
522
|
event.preventDefault();
|
|
589
523
|
},
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
}),
|
|
608
|
-
backgroundType: backgroundType
|
|
609
|
-
}, textInputIcons.error), translatedLabels.textInput.fetchingDataErrorMessage))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
524
|
+
onCloseAutoFocus: function onCloseAutoFocus(event) {
|
|
525
|
+
// Avoid select to lose focus when the list is closed
|
|
526
|
+
event.preventDefault();
|
|
527
|
+
}
|
|
528
|
+
}, /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], {
|
|
529
|
+
id: autosuggestId,
|
|
530
|
+
value: value !== null && value !== void 0 ? value : innerValue,
|
|
531
|
+
suggestions: filteredSuggestions,
|
|
532
|
+
visualFocusIndex: visualFocusIndex,
|
|
533
|
+
highlightedSuggestions: typeof suggestions !== "function",
|
|
534
|
+
searchHasErrors: isAutosuggestError,
|
|
535
|
+
isSearching: isSearching,
|
|
536
|
+
suggestionOnClick: function suggestionOnClick(suggestion) {
|
|
537
|
+
changeValue(suggestion);
|
|
538
|
+
closeSuggestions();
|
|
539
|
+
},
|
|
540
|
+
getTextInputWidth: getTextInputWidth
|
|
541
|
+
}))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
610
542
|
id: errorId,
|
|
611
543
|
backgroundType: backgroundType,
|
|
612
544
|
"aria-live": error ? "assertive" : "off"
|
|
613
545
|
}, error)));
|
|
614
546
|
});
|
|
615
547
|
|
|
616
|
-
var sizes = {
|
|
617
|
-
small: "240px",
|
|
618
|
-
medium: "360px",
|
|
619
|
-
large: "480px",
|
|
620
|
-
fillParent: "100%"
|
|
621
|
-
};
|
|
622
|
-
|
|
623
|
-
var calculateWidth = function calculateWidth(margin, size) {
|
|
624
|
-
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
625
|
-
};
|
|
626
|
-
|
|
627
548
|
var TextInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
628
549
|
return calculateWidth(props.margin, props.size);
|
|
629
550
|
}, function (props) {
|
|
@@ -738,33 +659,5 @@ var Error = _styledComponents["default"].span(_templateObject12 || (_templateObj
|
|
|
738
659
|
return props.theme.fontFamily;
|
|
739
660
|
});
|
|
740
661
|
|
|
741
|
-
var Suggestions = _styledComponents["default"].ul(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-y: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 0.25rem 0;\n width: 100%;\n background-color: ", ";\n border: 1px solid\n ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
742
|
-
return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
|
|
743
|
-
}, function (props) {
|
|
744
|
-
return props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
|
|
745
|
-
}, function (props) {
|
|
746
|
-
return props.theme.listOptionFontColor;
|
|
747
|
-
}, function (props) {
|
|
748
|
-
return props.theme.fontFamily;
|
|
749
|
-
}, function (props) {
|
|
750
|
-
return props.theme.listOptionFontSize;
|
|
751
|
-
}, function (props) {
|
|
752
|
-
return props.theme.listOptionFontStyle;
|
|
753
|
-
}, function (props) {
|
|
754
|
-
return props.theme.listOptionFontWeight;
|
|
755
|
-
});
|
|
756
|
-
|
|
757
|
-
var SuggestionsSystemMessage = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n color: ", ";\n line-height: 1.715em;\n"])), function (props) {
|
|
758
|
-
return props.theme.systemMessageFontColor;
|
|
759
|
-
});
|
|
760
|
-
|
|
761
|
-
var SuggestionsErrorIcon = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 0.5rem;\n height: 18px;\n width: 18px;\n color: ", ";\n"])), function (props) {
|
|
762
|
-
return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
|
|
763
|
-
});
|
|
764
|
-
|
|
765
|
-
var SuggestionsError = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n align-items: center;\n line-height: 1.715em;\n color: ", ";\n"])), function (props) {
|
|
766
|
-
return props.theme.errorListDialogFontColor;
|
|
767
|
-
});
|
|
768
|
-
|
|
769
662
|
var _default = DxcTextInput;
|
|
770
663
|
exports["default"] = _default;
|