@dxc-technology/halstack-react 0.0.0-fdc49d2 → 0.0.0-feed711
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/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.js +5 -27
- package/accordion/Accordion.stories.tsx +4 -4
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +14 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +24 -6
- package/accordion-group/types.d.ts +5 -1
- package/alert/Alert.js +4 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.js +22 -32
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +53 -68
- package/button/Button.stories.tsx +9 -0
- package/button/types.d.ts +7 -7
- package/card/Card.js +24 -27
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +38 -28
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/types.d.ts +3 -3
- package/chip/types.d.ts +1 -1
- package/common/variables.js +229 -98
- package/date-input/DateInput.js +41 -23
- package/date-input/DateInput.test.js +9 -22
- package/date-input/types.d.ts +12 -9
- package/dialog/Dialog.js +46 -50
- 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 +242 -250
- 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/file-input/FileInput.js +9 -6
- package/file-input/FileItem.js +7 -5
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +21 -0
- package/{radio → flex}/types.js +0 -0
- package/footer/Footer.js +15 -88
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +1 -1
- package/header/Header.js +95 -114
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +2 -2
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +71 -131
- package/layout/ApplicationLayout.stories.tsx +83 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +57 -74
- package/link/Link.stories.tsx +95 -53
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +7 -10
- package/main.js +43 -61
- package/number-input/NumberInput.test.js +2 -4
- package/number-input/types.d.ts +13 -10
- package/package.json +14 -12
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +42 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +3 -6
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.js +83 -25
- package/quick-nav/QuickNav.stories.tsx +43 -16
- package/quick-nav/types.d.ts +4 -8
- package/radio-group/Radio.js +1 -1
- package/radio-group/RadioGroup.js +21 -20
- package/resultsetTable/ResultsetTable.test.js +42 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +199 -0
- package/select/Option.js +1 -1
- package/select/Select.js +102 -199
- package/select/Select.stories.tsx +145 -100
- package/select/Select.test.js +440 -281
- package/select/types.d.ts +31 -12
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +184 -52
- package/sidenav/Sidenav.stories.tsx +154 -156
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +5 -4
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +68 -10
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +113 -54
- package/switch/Switch.stories.tsx +16 -38
- package/switch/Switch.test.js +122 -8
- package/switch/types.d.ts +5 -6
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +9 -11
- package/tabs/Tabs.stories.tsx +0 -8
- package/tabs/Tabs.test.js +26 -9
- package/tabs/types.d.ts +5 -1
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/{row → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +5 -8
- package/tag/types.d.ts +1 -1
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +60 -97
- package/text-input/TextInput.stories.tsx +1 -2
- package/text-input/TextInput.test.js +22 -35
- package/text-input/types.d.ts +27 -12
- package/textarea/Textarea.js +10 -19
- package/textarea/types.d.ts +10 -7
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +35 -4
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/{stack → typography}/types.js +0 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.js +43 -44
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/types.d.ts +5 -4
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
package/select/Select.js
CHANGED
|
@@ -23,26 +23,26 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
23
23
|
|
|
24
24
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
25
|
|
|
26
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
27
|
+
|
|
26
28
|
var _variables = require("../common/variables.js");
|
|
27
29
|
|
|
28
30
|
var _uuid = require("uuid");
|
|
29
31
|
|
|
30
32
|
var _utils = require("../common/utils.js");
|
|
31
33
|
|
|
32
|
-
var _Option = _interopRequireDefault(require("../select/Option"));
|
|
33
|
-
|
|
34
34
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _Listbox = _interopRequireDefault(require("./Listbox"));
|
|
37
|
+
|
|
38
|
+
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
39
|
+
|
|
40
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
37
41
|
|
|
38
42
|
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); }
|
|
39
43
|
|
|
40
44
|
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; }
|
|
41
45
|
|
|
42
|
-
var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
|
|
43
|
-
return "This field is required. Please, enter a value.";
|
|
44
|
-
};
|
|
45
|
-
|
|
46
46
|
var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
|
|
47
47
|
return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
|
|
48
48
|
return groupOption.options.length > 0;
|
|
@@ -57,6 +57,10 @@ var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptio
|
|
|
57
57
|
}) : true;
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
+
var canOpenOptions = function canOpenOptions(options, disabled) {
|
|
61
|
+
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
62
|
+
};
|
|
63
|
+
|
|
60
64
|
var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
61
65
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
62
66
|
if (options[0].options) return options.map(function (optionGroup) {
|
|
@@ -132,6 +136,10 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
132
136
|
};
|
|
133
137
|
};
|
|
134
138
|
|
|
139
|
+
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
140
|
+
return !optional && (multiple ? value.length === 0 : value === "");
|
|
141
|
+
};
|
|
142
|
+
|
|
135
143
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
136
144
|
var _selectedOption$label;
|
|
137
145
|
|
|
@@ -189,10 +197,10 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
189
197
|
isOpen = _useState10[0],
|
|
190
198
|
changeIsOpen = _useState10[1];
|
|
191
199
|
|
|
192
|
-
var
|
|
200
|
+
var selectRef = (0, _react.useRef)(null);
|
|
193
201
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
194
|
-
var selectOptionsListRef = (0, _react.useRef)(null);
|
|
195
202
|
var colorsTheme = (0, _useTheme["default"])();
|
|
203
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
196
204
|
var optionalItem = {
|
|
197
205
|
label: placeholder,
|
|
198
206
|
value: ""
|
|
@@ -202,7 +210,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
202
210
|
}, [options, searchValue]);
|
|
203
211
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
204
212
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
205
|
-
}, [options, filteredOptions, searchable, optional, multiple
|
|
213
|
+
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
206
214
|
|
|
207
215
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
208
216
|
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
@@ -210,20 +218,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
210
218
|
selectedOption = _useMemo.selectedOption,
|
|
211
219
|
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
212
220
|
|
|
213
|
-
var notOptionalCheck = function notOptionalCheck(value) {
|
|
214
|
-
return value === "" && !optional;
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
var notOptionalMultipleCheck = function notOptionalMultipleCheck() {
|
|
218
|
-
return (value !== null && value !== void 0 ? value : innerValue).length === 0 && !optional;
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
var canBeOpenOptions = function canBeOpenOptions() {
|
|
222
|
-
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
223
|
-
};
|
|
224
|
-
|
|
225
221
|
var openOptions = function openOptions() {
|
|
226
|
-
if (!isOpen &&
|
|
222
|
+
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
227
223
|
};
|
|
228
224
|
|
|
229
225
|
var closeOptions = function closeOptions() {
|
|
@@ -234,36 +230,21 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
234
230
|
};
|
|
235
231
|
|
|
236
232
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
237
|
-
|
|
238
|
-
var _res, _res2;
|
|
233
|
+
var newValue;
|
|
239
234
|
|
|
240
|
-
|
|
241
|
-
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) value ?
|
|
235
|
+
if (multiple) {
|
|
236
|
+
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = (value !== null && value !== void 0 ? value : innerValue).filter(function (optionVal) {
|
|
242
237
|
return optionVal !== newOption.value;
|
|
243
|
-
})
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
254
|
-
value: (_res2 = res) !== null && _res2 !== void 0 ? _res2 : innerValue,
|
|
255
|
-
error: null
|
|
256
|
-
});
|
|
257
|
-
} else {
|
|
258
|
-
value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
|
|
259
|
-
if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
260
|
-
value: newOption.value,
|
|
261
|
-
error: getNotOptionalErrorMessage()
|
|
262
|
-
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
263
|
-
value: newOption.value,
|
|
264
|
-
error: null
|
|
265
|
-
});
|
|
266
|
-
}
|
|
238
|
+
});else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null && value !== void 0 ? value : innerValue), [newOption.value]);
|
|
239
|
+
} else newValue = newOption.value;
|
|
240
|
+
|
|
241
|
+
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
242
|
+
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
243
|
+
value: newValue,
|
|
244
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
245
|
+
}) : onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
246
|
+
value: newValue
|
|
247
|
+
});
|
|
267
248
|
};
|
|
268
249
|
|
|
269
250
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
@@ -284,20 +265,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
284
265
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
285
266
|
closeOptions();
|
|
286
267
|
setSearchValue("");
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
268
|
+
var currentValue = value !== null && value !== void 0 ? value : innerValue;
|
|
269
|
+
notOptionalCheck(currentValue, multiple, optional) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
270
|
+
value: currentValue,
|
|
271
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
272
|
+
}) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
273
|
+
value: currentValue
|
|
293
274
|
});
|
|
294
275
|
}
|
|
295
276
|
};
|
|
296
277
|
|
|
297
278
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
298
|
-
switch (event.
|
|
299
|
-
case
|
|
300
|
-
|
|
279
|
+
switch (event.key) {
|
|
280
|
+
case "Down":
|
|
281
|
+
case "ArrowDown":
|
|
301
282
|
event.preventDefault();
|
|
302
283
|
singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
|
|
303
284
|
if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
|
|
@@ -305,8 +286,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
305
286
|
openOptions();
|
|
306
287
|
break;
|
|
307
288
|
|
|
308
|
-
case
|
|
309
|
-
|
|
289
|
+
case "Up":
|
|
290
|
+
case "ArrowUp":
|
|
310
291
|
event.preventDefault();
|
|
311
292
|
singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
|
|
312
293
|
return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
|
|
@@ -314,15 +295,14 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
314
295
|
openOptions();
|
|
315
296
|
break;
|
|
316
297
|
|
|
317
|
-
case
|
|
318
|
-
|
|
298
|
+
case "Esc":
|
|
299
|
+
case "Escape":
|
|
319
300
|
event.preventDefault();
|
|
320
301
|
closeOptions();
|
|
321
302
|
setSearchValue("");
|
|
322
303
|
break;
|
|
323
304
|
|
|
324
|
-
case
|
|
325
|
-
// Enter
|
|
305
|
+
case "Enter":
|
|
326
306
|
if (isOpen && visualFocusIndex >= 0) {
|
|
327
307
|
var accLength = optional && !multiple ? 1 : 0;
|
|
328
308
|
|
|
@@ -361,9 +341,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
361
341
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
362
342
|
event.stopPropagation();
|
|
363
343
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
364
|
-
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
344
|
+
!optional ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
365
345
|
value: [],
|
|
366
|
-
error:
|
|
346
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
347
|
+
}) : onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
348
|
+
value: []
|
|
367
349
|
});
|
|
368
350
|
};
|
|
369
351
|
|
|
@@ -377,66 +359,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
377
359
|
!multiple && closeOptions();
|
|
378
360
|
setSearchValue("");
|
|
379
361
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
380
|
-
(0, _react.
|
|
381
|
-
|
|
382
|
-
var _listEl$scrollTo;
|
|
383
|
-
|
|
384
|
-
var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
|
|
385
|
-
var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
|
|
386
|
-
listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
|
|
387
|
-
top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
|
|
388
|
-
});
|
|
389
|
-
}
|
|
390
|
-
}, [isOpen]);
|
|
391
|
-
(0, _react.useLayoutEffect)(function () {
|
|
392
|
-
var _selectOptionsListRef, _visualFocusedOptionE;
|
|
393
|
-
|
|
394
|
-
var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
|
|
395
|
-
visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
|
|
396
|
-
block: "nearest",
|
|
397
|
-
inline: "start"
|
|
398
|
-
});
|
|
399
|
-
}, [visualFocusIndex]);
|
|
400
|
-
var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
|
|
401
|
-
|
|
402
|
-
var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
|
|
403
|
-
if (option.options) {
|
|
404
|
-
var groupId = "group-".concat(mapIndex);
|
|
405
|
-
return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(GroupList, {
|
|
406
|
-
role: "group",
|
|
407
|
-
"aria-labelledby": groupId
|
|
408
|
-
}, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
|
|
409
|
-
role: "presentation",
|
|
410
|
-
id: groupId
|
|
411
|
-
}, option.label), option.options.map(function (singleOption) {
|
|
412
|
-
globalIndex++;
|
|
413
|
-
return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
414
|
-
id: "option-".concat(globalIndex),
|
|
415
|
-
option: singleOption,
|
|
416
|
-
onClick: handleOptionOnClick,
|
|
417
|
-
multiple: multiple,
|
|
418
|
-
visualFocused: visualFocusIndex === globalIndex,
|
|
419
|
-
isGroupedOption: true,
|
|
420
|
-
isLastOption: lastOptionIndex === globalIndex,
|
|
421
|
-
isSelected: multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(singleOption.value) : (value !== null && value !== void 0 ? value : innerValue) === singleOption.value
|
|
422
|
-
});
|
|
423
|
-
})));
|
|
424
|
-
} else {
|
|
425
|
-
globalIndex++;
|
|
426
|
-
return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
427
|
-
key: "option-".concat(option.value),
|
|
428
|
-
id: "option-".concat(globalIndex),
|
|
429
|
-
option: option,
|
|
430
|
-
onClick: handleOptionOnClick,
|
|
431
|
-
multiple: multiple,
|
|
432
|
-
visualFocused: visualFocusIndex === globalIndex,
|
|
433
|
-
isGroupedOption: false,
|
|
434
|
-
isLastOption: lastOptionIndex === globalIndex,
|
|
435
|
-
isSelected: multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value
|
|
436
|
-
});
|
|
437
|
-
}
|
|
438
|
-
};
|
|
362
|
+
var getSelectWidth = (0, _react.useCallback)(function () {
|
|
363
|
+
var _selectRef$current;
|
|
439
364
|
|
|
365
|
+
var rect = selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect();
|
|
366
|
+
return rect === null || rect === void 0 ? void 0 : rect.width;
|
|
367
|
+
}, []);
|
|
440
368
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
441
369
|
theme: colorsTheme.select
|
|
442
370
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -447,12 +375,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
447
375
|
id: selectLabelId,
|
|
448
376
|
disabled: disabled,
|
|
449
377
|
onClick: function onClick() {
|
|
450
|
-
|
|
378
|
+
selectRef.current.focus();
|
|
451
379
|
},
|
|
452
380
|
helperText: helperText
|
|
453
|
-
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null,
|
|
381
|
+
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
454
382
|
disabled: disabled
|
|
455
|
-
}, helperText), /*#__PURE__*/_react["default"].createElement(
|
|
383
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
384
|
+
open: isOpen
|
|
385
|
+
}, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
|
|
386
|
+
asChild: true
|
|
387
|
+
}, /*#__PURE__*/_react["default"].createElement(Select, {
|
|
456
388
|
id: selectId,
|
|
457
389
|
disabled: disabled,
|
|
458
390
|
error: error,
|
|
@@ -460,16 +392,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
460
392
|
onClick: handleSelectOnClick,
|
|
461
393
|
onFocus: handleSelectOnFocus,
|
|
462
394
|
onKeyDown: handleSelectOnKeyDown,
|
|
463
|
-
ref:
|
|
464
|
-
tabIndex: tabIndex,
|
|
395
|
+
ref: selectRef,
|
|
396
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
465
397
|
role: "combobox",
|
|
466
398
|
"aria-controls": optionsListId,
|
|
467
399
|
"aria-disabled": disabled,
|
|
468
400
|
"aria-expanded": isOpen,
|
|
469
401
|
"aria-haspopup": "listbox",
|
|
470
|
-
"aria-labelledby": selectLabelId,
|
|
402
|
+
"aria-labelledby": label ? selectLabelId : undefined,
|
|
471
403
|
"aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
|
|
472
|
-
"aria-invalid": error ?
|
|
404
|
+
"aria-invalid": error ? true : false,
|
|
473
405
|
"aria-errormessage": error ? errorId : undefined,
|
|
474
406
|
"aria-required": !disabled && !optional
|
|
475
407
|
}, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
@@ -482,8 +414,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
482
414
|
},
|
|
483
415
|
onClick: handleClearOptionsActionOnClick,
|
|
484
416
|
tabIndex: -1,
|
|
485
|
-
title:
|
|
486
|
-
"aria-label":
|
|
417
|
+
title: translatedLabels.select.actionClearSelectionTitle,
|
|
418
|
+
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
487
419
|
}, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
488
420
|
name: name,
|
|
489
421
|
value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
|
|
@@ -496,48 +428,49 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
496
428
|
ref: selectSearchInputRef,
|
|
497
429
|
autoComplete: "nope",
|
|
498
430
|
autoCorrect: "nope",
|
|
499
|
-
size:
|
|
431
|
+
size: 1
|
|
500
432
|
}), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
501
433
|
disabled: disabled,
|
|
502
434
|
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
503
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
435
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
|
|
504
436
|
return option.label;
|
|
505
437
|
}).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
506
438
|
disabled: disabled,
|
|
507
439
|
atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
|
|
508
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
440
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
|
|
509
441
|
onMouseDown: function onMouseDown(event) {
|
|
510
442
|
// Avoid input to lose focus
|
|
511
443
|
event.preventDefault();
|
|
512
444
|
},
|
|
513
445
|
onClick: handleClearSearchActionOnClick,
|
|
514
446
|
tabIndex: -1,
|
|
515
|
-
title:
|
|
516
|
-
"aria-label":
|
|
447
|
+
title: translatedLabels.select.actionClearSearchTitle,
|
|
448
|
+
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
517
449
|
}, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
518
450
|
disabled: disabled
|
|
519
|
-
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown),
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
},
|
|
524
|
-
onMouseDown: function onMouseDown(event) {
|
|
451
|
+
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
452
|
+
sideOffset: 4,
|
|
453
|
+
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
454
|
+
// Avoid select to lose focus when the list is opened
|
|
525
455
|
event.preventDefault();
|
|
526
456
|
},
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
},
|
|
532
|
-
id:
|
|
533
|
-
|
|
534
|
-
|
|
457
|
+
onCloseAutoFocus: function onCloseAutoFocus(event) {
|
|
458
|
+
// Avoid select to lose focus when the list is closed
|
|
459
|
+
event.preventDefault();
|
|
460
|
+
}
|
|
461
|
+
}, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
|
|
462
|
+
id: optionsListId,
|
|
463
|
+
currentValue: value !== null && value !== void 0 ? value : innerValue,
|
|
464
|
+
options: searchable ? filteredOptions : options,
|
|
465
|
+
visualFocusIndex: visualFocusIndex,
|
|
466
|
+
lastOptionIndex: lastOptionIndex,
|
|
535
467
|
multiple: multiple,
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
468
|
+
optional: optional,
|
|
469
|
+
optionalItem: optionalItem,
|
|
470
|
+
searchable: searchable,
|
|
471
|
+
handleOptionOnClick: handleOptionOnClick,
|
|
472
|
+
getSelectWidth: getSelectWidth
|
|
473
|
+
}))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
541
474
|
id: errorId,
|
|
542
475
|
"aria-live": error ? "assertive" : "off"
|
|
543
476
|
}, error)));
|
|
@@ -636,9 +569,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
636
569
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
637
570
|
});
|
|
638
571
|
|
|
639
|
-
var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n
|
|
640
|
-
return props.theme.fontFamily;
|
|
641
|
-
}, function (props) {
|
|
572
|
+
var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n border: none;\n padding: 0.25rem;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n svg {\n line-height: 18px;\n }\n"])), function (props) {
|
|
642
573
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
643
574
|
}, function (props) {
|
|
644
575
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -662,9 +593,11 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
662
593
|
return props.theme.valueFontWeight;
|
|
663
594
|
});
|
|
664
595
|
|
|
665
|
-
var
|
|
596
|
+
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
666
597
|
|
|
667
|
-
var
|
|
598
|
+
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
599
|
+
|
|
600
|
+
var SearchInput = _styledComponents["default"].input(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(2.5rem - 2px);\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
|
|
668
601
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
669
602
|
}, function (props) {
|
|
670
603
|
return props.theme.fontFamily;
|
|
@@ -676,21 +609,21 @@ var SearchInput = _styledComponents["default"].input(_templateObject12 || (_temp
|
|
|
676
609
|
return props.theme.valueFontWeight;
|
|
677
610
|
});
|
|
678
611
|
|
|
679
|
-
var ErrorIcon = _styledComponents["default"].span(
|
|
612
|
+
var ErrorIcon = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n pointer-events: none;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
|
|
680
613
|
return props.theme.errorIconColor;
|
|
681
614
|
});
|
|
682
615
|
|
|
683
|
-
var Error = _styledComponents["default"].span(
|
|
616
|
+
var Error = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
|
|
684
617
|
return props.theme.errorMessageColor;
|
|
685
618
|
}, function (props) {
|
|
686
619
|
return props.theme.fontFamily;
|
|
687
620
|
});
|
|
688
621
|
|
|
689
|
-
var CollapseIndicator = _styledComponents["default"].span(
|
|
622
|
+
var CollapseIndicator = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: 0.25rem;\n color: ", ";\n"])), function (props) {
|
|
690
623
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
691
624
|
});
|
|
692
625
|
|
|
693
|
-
var ClearSearchAction = _styledComponents["default"].button(
|
|
626
|
+
var ClearSearchAction = _styledComponents["default"].button(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: 0.25rem;\n background-color: ", ";\n color: ", ";\n\n cursor: pointer;\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n svg {\n line-height: 18px;\n }\n"])), function (props) {
|
|
694
627
|
return props.theme.fontFamily;
|
|
695
628
|
}, function (props) {
|
|
696
629
|
return props.theme.actionBackgroundColor;
|
|
@@ -706,35 +639,5 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject16 ||
|
|
|
706
639
|
return props.theme.activeActionIconColor;
|
|
707
640
|
});
|
|
708
641
|
|
|
709
|
-
var OptionsList = _styledComponents["default"].ul(_templateObject17 || (_templateObject17 = (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 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) {
|
|
710
|
-
return props.theme.listDialogBackgroundColor;
|
|
711
|
-
}, function (props) {
|
|
712
|
-
return props.theme.listDialogBorderColor;
|
|
713
|
-
}, function (props) {
|
|
714
|
-
return props.theme.listOptionFontColor;
|
|
715
|
-
}, function (props) {
|
|
716
|
-
return props.theme.fontFamily;
|
|
717
|
-
}, function (props) {
|
|
718
|
-
return props.theme.listOptionFontSize;
|
|
719
|
-
}, function (props) {
|
|
720
|
-
return props.theme.listOptionFontStyle;
|
|
721
|
-
}, function (props) {
|
|
722
|
-
return props.theme.listOptionFontWeight;
|
|
723
|
-
});
|
|
724
|
-
|
|
725
|
-
var OptionsSystemMessage = _styledComponents["default"].span(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"])), function (props) {
|
|
726
|
-
return props.theme.systemMessageFontColor;
|
|
727
|
-
});
|
|
728
|
-
|
|
729
|
-
var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: 0.25rem;\n"])));
|
|
730
|
-
|
|
731
|
-
var GroupList = _styledComponents["default"].ul(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
|
|
732
|
-
|
|
733
|
-
var GroupLabel = _styledComponents["default"].li(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"])), function (props) {
|
|
734
|
-
return props.theme.listGroupLabelFontWeight;
|
|
735
|
-
});
|
|
736
|
-
|
|
737
|
-
var OptionLabel = _styledComponents["default"].span(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
738
|
-
|
|
739
642
|
var _default = DxcSelect;
|
|
740
643
|
exports["default"] = _default;
|