@dxc-technology/halstack-react 0.0.0-fdc49d2 → 0.0.0-ff5083e
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 +3 -3
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +13 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +24 -6
- package/accordion-group/types.d.ts +4 -0
- 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 +31 -32
- 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 +120 -0
- package/bulleted-list/BulletedList.stories.tsx +203 -0
- package/bulleted-list/types.d.ts +11 -0
- package/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +14 -11
- 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/common/variables.js +197 -84
- package/date-input/DateInput.js +38 -20
- package/date-input/DateInput.test.js +9 -22
- package/date-input/types.d.ts +12 -9
- package/dialog/Dialog.js +4 -32
- package/dropdown/Dropdown.js +13 -17
- package/file-input/FileInput.js +9 -6
- package/file-input/FileItem.js +7 -5
- package/footer/Footer.js +15 -88
- package/header/Header.js +27 -48
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +32 -32
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +4 -3
- package/layout/ApplicationLayout.js +82 -114
- package/layout/ApplicationLayout.stories.tsx +14 -59
- 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 +5 -10
- package/link/Link.d.ts +3 -2
- package/link/Link.js +57 -74
- package/link/Link.stories.tsx +87 -52
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +6 -5
- package/main.js +37 -23
- package/number-input/NumberInput.test.js +2 -4
- package/number-input/types.d.ts +13 -10
- package/package.json +6 -5
- package/paginator/Paginator.js +17 -38
- 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.js +1 -1
- package/progress-bar/ProgressBar.stories.jsx +11 -11
- package/quick-nav/QuickNav.js +75 -23
- package/quick-nav/QuickNav.stories.tsx +13 -13
- package/quick-nav/types.d.ts +4 -8
- package/radio-group/Radio.js +1 -1
- package/radio-group/RadioGroup.js +8 -6
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +152 -0
- package/select/Option.js +1 -1
- package/select/Select.js +66 -161
- package/select/Select.stories.tsx +14 -2
- package/select/Select.test.js +335 -231
- package/select/types.d.ts +33 -11
- package/sidenav/Sidenav.d.ts +1 -1
- package/sidenav/Sidenav.js +20 -9
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +31 -10
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +19 -16
- package/switch/Switch.stories.tsx +8 -8
- package/switch/types.d.ts +2 -2
- 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 +4 -0
- 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 +132 -0
- package/tabs-nav/types.d.ts +53 -0
- package/{radio → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +5 -8
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +48 -76
- 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 +8 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +175 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/typography/typographyContextTypes.d.ts +16 -0
- package/typography/typographyContextTypes.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.js +35 -29
- 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/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,24 @@ 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 _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
37
39
|
|
|
38
40
|
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
41
|
|
|
40
42
|
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
43
|
|
|
42
|
-
var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
|
|
43
|
-
return "This field is required. Please, enter a value.";
|
|
44
|
-
};
|
|
45
|
-
|
|
46
44
|
var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
|
|
47
45
|
return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
|
|
48
46
|
return groupOption.options.length > 0;
|
|
@@ -57,6 +55,10 @@ var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptio
|
|
|
57
55
|
}) : true;
|
|
58
56
|
};
|
|
59
57
|
|
|
58
|
+
var canOpenOptions = function canOpenOptions(options, disabled) {
|
|
59
|
+
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
60
|
+
};
|
|
61
|
+
|
|
60
62
|
var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
61
63
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
62
64
|
if (options[0].options) return options.map(function (optionGroup) {
|
|
@@ -132,6 +134,10 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
132
134
|
};
|
|
133
135
|
};
|
|
134
136
|
|
|
137
|
+
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
138
|
+
return !optional && (multiple ? value.length === 0 : value === "");
|
|
139
|
+
};
|
|
140
|
+
|
|
135
141
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
136
142
|
var _selectedOption$label;
|
|
137
143
|
|
|
@@ -193,6 +199,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
193
199
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
194
200
|
var selectOptionsListRef = (0, _react.useRef)(null);
|
|
195
201
|
var colorsTheme = (0, _useTheme["default"])();
|
|
202
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
196
203
|
var optionalItem = {
|
|
197
204
|
label: placeholder,
|
|
198
205
|
value: ""
|
|
@@ -202,7 +209,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
202
209
|
}, [options, searchValue]);
|
|
203
210
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
204
211
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
205
|
-
}, [options, filteredOptions, searchable, optional, multiple
|
|
212
|
+
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
206
213
|
|
|
207
214
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
208
215
|
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
@@ -210,20 +217,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
210
217
|
selectedOption = _useMemo.selectedOption,
|
|
211
218
|
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
212
219
|
|
|
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
220
|
var openOptions = function openOptions() {
|
|
226
|
-
if (!isOpen &&
|
|
221
|
+
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
227
222
|
};
|
|
228
223
|
|
|
229
224
|
var closeOptions = function closeOptions() {
|
|
@@ -234,36 +229,21 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
234
229
|
};
|
|
235
230
|
|
|
236
231
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
237
|
-
|
|
238
|
-
var _res, _res2;
|
|
232
|
+
var newValue;
|
|
239
233
|
|
|
240
|
-
|
|
241
|
-
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) value ?
|
|
234
|
+
if (multiple) {
|
|
235
|
+
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = (value !== null && value !== void 0 ? value : innerValue).filter(function (optionVal) {
|
|
242
236
|
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
|
-
}
|
|
237
|
+
});else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null && value !== void 0 ? value : innerValue), [newOption.value]);
|
|
238
|
+
} else newValue = newOption.value;
|
|
239
|
+
|
|
240
|
+
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
241
|
+
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
242
|
+
value: newValue,
|
|
243
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
244
|
+
}) : onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
245
|
+
value: newValue
|
|
246
|
+
});
|
|
267
247
|
};
|
|
268
248
|
|
|
269
249
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
@@ -284,12 +264,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
284
264
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
285
265
|
closeOptions();
|
|
286
266
|
setSearchValue("");
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
267
|
+
var currentValue = value !== null && value !== void 0 ? value : innerValue;
|
|
268
|
+
notOptionalCheck(currentValue, multiple, optional) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
269
|
+
value: currentValue,
|
|
270
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
271
|
+
}) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
272
|
+
value: currentValue
|
|
293
273
|
});
|
|
294
274
|
}
|
|
295
275
|
};
|
|
@@ -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
|
|
|
@@ -397,46 +379,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
397
379
|
inline: "start"
|
|
398
380
|
});
|
|
399
381
|
}, [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
|
-
};
|
|
439
|
-
|
|
440
382
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
441
383
|
theme: colorsTheme.select
|
|
442
384
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -450,7 +392,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
450
392
|
selectContainerRef.current.focus();
|
|
451
393
|
},
|
|
452
394
|
helperText: helperText
|
|
453
|
-
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null,
|
|
395
|
+
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
454
396
|
disabled: disabled
|
|
455
397
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Select, {
|
|
456
398
|
id: selectId,
|
|
@@ -482,8 +424,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
482
424
|
},
|
|
483
425
|
onClick: handleClearOptionsActionOnClick,
|
|
484
426
|
tabIndex: -1,
|
|
485
|
-
title:
|
|
486
|
-
"aria-label":
|
|
427
|
+
title: translatedLabels.select.actionClearSelectionTitle,
|
|
428
|
+
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
487
429
|
}, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
488
430
|
name: name,
|
|
489
431
|
value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
|
|
@@ -496,48 +438,39 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
496
438
|
ref: selectSearchInputRef,
|
|
497
439
|
autoComplete: "nope",
|
|
498
440
|
autoCorrect: "nope",
|
|
499
|
-
size:
|
|
441
|
+
size: 1
|
|
500
442
|
}), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
501
443
|
disabled: disabled,
|
|
502
444
|
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
503
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
445
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
|
|
504
446
|
return option.label;
|
|
505
447
|
}).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
506
448
|
disabled: disabled,
|
|
507
449
|
atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
|
|
508
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
450
|
+
}, /*#__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
451
|
onMouseDown: function onMouseDown(event) {
|
|
510
452
|
// Avoid input to lose focus
|
|
511
453
|
event.preventDefault();
|
|
512
454
|
},
|
|
513
455
|
onClick: handleClearSearchActionOnClick,
|
|
514
456
|
tabIndex: -1,
|
|
515
|
-
title:
|
|
516
|
-
"aria-label":
|
|
457
|
+
title: translatedLabels.select.actionClearSearchTitle,
|
|
458
|
+
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
517
459
|
}, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
518
460
|
disabled: disabled
|
|
519
|
-
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown), isOpen && /*#__PURE__*/_react["default"].createElement(
|
|
461
|
+
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown), isOpen && /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
|
|
520
462
|
id: optionsListId,
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
event.preventDefault();
|
|
526
|
-
},
|
|
527
|
-
ref: selectOptionsListRef,
|
|
528
|
-
role: "listbox",
|
|
529
|
-
"aria-multiselectable": multiple,
|
|
530
|
-
"aria-orientation": "vertical"
|
|
531
|
-
}, searchable && (filteredOptions.length === 0 || !filteredGroupsHaveOptions(filteredOptions)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, _Icons["default"].searchOff), "No matches found") : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
532
|
-
id: "option-".concat(0),
|
|
533
|
-
option: optionalItem,
|
|
534
|
-
onClick: handleOptionOnClick,
|
|
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
|
+
ref: selectOptionsListRef
|
|
473
|
+
})), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
541
474
|
id: errorId,
|
|
542
475
|
"aria-live": error ? "assertive" : "off"
|
|
543
476
|
}, error)));
|
|
@@ -662,9 +595,11 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
662
595
|
return props.theme.valueFontWeight;
|
|
663
596
|
});
|
|
664
597
|
|
|
665
|
-
var
|
|
598
|
+
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
599
|
+
|
|
600
|
+
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
666
601
|
|
|
667
|
-
var SearchInput = _styledComponents["default"].input(
|
|
602
|
+
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
603
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
669
604
|
}, function (props) {
|
|
670
605
|
return props.theme.fontFamily;
|
|
@@ -676,21 +611,21 @@ var SearchInput = _styledComponents["default"].input(_templateObject12 || (_temp
|
|
|
676
611
|
return props.theme.valueFontWeight;
|
|
677
612
|
});
|
|
678
613
|
|
|
679
|
-
var ErrorIcon = _styledComponents["default"].span(
|
|
614
|
+
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
615
|
return props.theme.errorIconColor;
|
|
681
616
|
});
|
|
682
617
|
|
|
683
|
-
var Error = _styledComponents["default"].span(
|
|
618
|
+
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
619
|
return props.theme.errorMessageColor;
|
|
685
620
|
}, function (props) {
|
|
686
621
|
return props.theme.fontFamily;
|
|
687
622
|
});
|
|
688
623
|
|
|
689
|
-
var CollapseIndicator = _styledComponents["default"].span(
|
|
624
|
+
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
625
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
691
626
|
});
|
|
692
627
|
|
|
693
|
-
var ClearSearchAction = _styledComponents["default"].button(
|
|
628
|
+
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
629
|
return props.theme.fontFamily;
|
|
695
630
|
}, function (props) {
|
|
696
631
|
return props.theme.actionBackgroundColor;
|
|
@@ -706,35 +641,5 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject16 ||
|
|
|
706
641
|
return props.theme.activeActionIconColor;
|
|
707
642
|
});
|
|
708
643
|
|
|
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
644
|
var _default = DxcSelect;
|
|
740
645
|
exports["default"] = _default;
|
|
@@ -371,7 +371,13 @@ const SearchableSelect = () => (
|
|
|
371
371
|
const SearchableWithValue = () => (
|
|
372
372
|
<ExampleContainer expanded>
|
|
373
373
|
<Title title="Searchable select with value" theme="light" level={4} />
|
|
374
|
-
<DxcSelect
|
|
374
|
+
<DxcSelect
|
|
375
|
+
label="Select Label"
|
|
376
|
+
searchable
|
|
377
|
+
defaultValue="1"
|
|
378
|
+
options={single_options}
|
|
379
|
+
placeholder="Choose an option"
|
|
380
|
+
/>
|
|
375
381
|
</ExampleContainer>
|
|
376
382
|
);
|
|
377
383
|
|
|
@@ -398,7 +404,13 @@ const DefaultGroupedOptionsSelect = () => (
|
|
|
398
404
|
const MultipleGroupedOptionsSelect = () => (
|
|
399
405
|
<ExampleContainer expanded>
|
|
400
406
|
<Title title="Grouped options multiple select" theme="light" level={4} />
|
|
401
|
-
<DxcSelect
|
|
407
|
+
<DxcSelect
|
|
408
|
+
label="Label"
|
|
409
|
+
options={group_options}
|
|
410
|
+
defaultValue={["0", "2"]}
|
|
411
|
+
multiple
|
|
412
|
+
placeholder="Choose an option"
|
|
413
|
+
/>
|
|
402
414
|
</ExampleContainer>
|
|
403
415
|
);
|
|
404
416
|
const RescaledIcons = () => (
|