@dxc-technology/halstack-react 0.0.0-7ef55ea → 0.0.0-7f5e42c
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.d.ts +1 -1
- package/accordion/Accordion.js +121 -123
- package/accordion/Accordion.stories.tsx +13 -14
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +8 -4
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -36
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +13 -3
- package/alert/Alert.js +4 -1
- package/alert/Alert.test.js +92 -0
- 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 +25 -1
- package/box/Box.js +22 -32
- package/box/Box.test.js +18 -0
- 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/Button.test.js +35 -0
- package/button/types.d.ts +7 -7
- package/card/Card.js +24 -27
- package/card/Card.test.js +50 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +43 -39
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +7 -3
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +1 -1
- package/common/variables.js +236 -339
- package/date-input/DateInput.js +56 -42
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +46 -50
- package/dialog/Dialog.stories.tsx +1 -2
- package/dialog/Dialog.test.js +70 -0
- 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 +591 -0
- 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/FileInput.test.js +457 -0
- 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/Footer.test.js +109 -0
- 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 +79 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +2 -2
- package/heading/Heading.test.js +186 -0
- 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 +84 -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 +83 -0
- package/link/types.d.ts +7 -23
- package/main.d.ts +8 -15
- package/main.js +38 -88
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +14 -12
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +308 -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 +180 -0
- 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 +110 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +118 -0
- package/quick-nav/QuickNav.stories.tsx +264 -0
- package/quick-nav/types.d.ts +21 -0
- package/{row → quick-nav}/types.js +0 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +25 -24
- package/radio-group/RadioGroup.js +58 -50
- package/radio-group/RadioGroup.stories.tsx +60 -39
- package/radio-group/RadioGroup.test.js +530 -83
- package/radio-group/types.d.ts +80 -2
- package/resultsetTable/ResultsetTable.test.js +348 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +199 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.js +139 -365
- package/select/Select.stories.tsx +231 -176
- package/select/Select.test.js +2175 -0
- package/select/types.d.ts +52 -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 +44 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +114 -98
- package/slider/Slider.stories.tsx +15 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +6 -2
- package/spinner/Spinner.js +1 -1
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +127 -55
- package/switch/Switch.stories.tsx +20 -42
- package/switch/Switch.test.js +212 -0
- package/switch/types.d.ts +9 -6
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +362 -108
- package/tabs/Tabs.stories.tsx +74 -8
- package/tabs/Tabs.test.js +351 -0
- package/tabs/types.d.ts +19 -5
- 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/{stack → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +14 -19
- package/tag/Tag.stories.tsx +12 -8
- package/tag/Tag.test.js +60 -0
- 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 +63 -98
- package/text-input/TextInput.stories.tsx +31 -14
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +31 -12
- package/textarea/Textarea.js +15 -24
- package/textarea/Textarea.stories.jsx +33 -12
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +18 -11
- 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 +156 -0
- 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/typography/types.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +58 -54
- package/wizard/Wizard.stories.tsx +33 -24
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +10 -5
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- 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/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 -10
- 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 -9
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
package/select/Select.js
CHANGED
|
@@ -23,103 +23,42 @@ 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
|
|
34
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
35
|
+
|
|
36
|
+
var _Listbox = _interopRequireDefault(require("./Listbox"));
|
|
37
|
+
|
|
38
|
+
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
33
39
|
|
|
34
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17
|
|
40
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
35
41
|
|
|
36
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); }
|
|
37
43
|
|
|
38
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; }
|
|
39
45
|
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
role: "img",
|
|
53
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
54
|
-
height: "24px",
|
|
55
|
-
viewBox: "0 0 24 24",
|
|
56
|
-
width: "24px",
|
|
57
|
-
fill: "currentColor"
|
|
58
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
59
|
-
d: "M0 0h24v24H0V0z",
|
|
60
|
-
fill: "none"
|
|
61
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
62
|
-
d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
|
|
63
|
-
})),
|
|
64
|
-
arrowDown: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
65
|
-
role: "img",
|
|
66
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
67
|
-
height: "24px",
|
|
68
|
-
viewBox: "0 0 24 24",
|
|
69
|
-
width: "24px",
|
|
70
|
-
fill: "currentColor"
|
|
71
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
72
|
-
d: "M0 0h24v24H0V0z",
|
|
73
|
-
fill: "none"
|
|
74
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
75
|
-
d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
|
|
76
|
-
})),
|
|
77
|
-
clear: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
78
|
-
role: "img",
|
|
79
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
80
|
-
width: "24",
|
|
81
|
-
height: "24",
|
|
82
|
-
viewBox: "0 0 24 24",
|
|
83
|
-
fill: "currentColor"
|
|
84
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
85
|
-
d: "M0 0h24v24H0V0z",
|
|
86
|
-
fill: "none"
|
|
87
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
88
|
-
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"
|
|
89
|
-
})),
|
|
90
|
-
selected: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
91
|
-
role: "img",
|
|
92
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
93
|
-
height: "24px",
|
|
94
|
-
viewBox: "0 0 24 24",
|
|
95
|
-
width: "24px",
|
|
96
|
-
fill: "currentColor"
|
|
97
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
98
|
-
d: "M0 0h24v24H0z",
|
|
99
|
-
fill: "none"
|
|
100
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
101
|
-
d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
|
|
102
|
-
})),
|
|
103
|
-
searchOff: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
104
|
-
role: "img",
|
|
105
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
106
|
-
height: "24px",
|
|
107
|
-
viewBox: "0 0 24 24",
|
|
108
|
-
width: "24px",
|
|
109
|
-
fill: "currentColor"
|
|
110
|
-
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
111
|
-
fill: "none",
|
|
112
|
-
height: "24",
|
|
113
|
-
width: "24"
|
|
114
|
-
})), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
115
|
-
d: "M15.5,14h-0.79l-0.28-0.27C15.41,12.59,16,11.11,16,9.5C16,5.91,13.09,3,9.5,3C6.08,3,3.28,5.64,3.03,9h2.02 C5.3,6.75,7.18,5,9.5,5C11.99,5,14,7.01,14,9.5S11.99,14,9.5,14c-0.17,0-0.33-0.03-0.5-0.05v2.02C9.17,15.99,9.33,16,9.5,16 c1.61,0,3.09-0.59,4.23-1.57L14,14.71v0.79l5,4.99L20.49,19L15.5,14z"
|
|
116
|
-
}), /*#__PURE__*/_react["default"].createElement("polygon", {
|
|
117
|
-
points: "6.47,10.82 4,13.29 1.53,10.82 0.82,11.53 3.29,14 0.82,16.47 1.53,17.18 4,14.71 6.47,17.18 7.18,16.47 4.71,14 7.18,11.53"
|
|
118
|
-
}))))
|
|
46
|
+
var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
|
|
47
|
+
return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
|
|
48
|
+
return groupOption.options.length > 0;
|
|
49
|
+
}) : false : true;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptions) {
|
|
53
|
+
return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
|
|
54
|
+
var _groupOption$options;
|
|
55
|
+
|
|
56
|
+
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
57
|
+
}) : true;
|
|
119
58
|
};
|
|
120
59
|
|
|
121
|
-
var
|
|
122
|
-
return
|
|
60
|
+
var canOpenOptions = function canOpenOptions(options, disabled) {
|
|
61
|
+
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
123
62
|
};
|
|
124
63
|
|
|
125
64
|
var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
@@ -151,8 +90,7 @@ var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, s
|
|
|
151
90
|
return optional && !multiple ? last + 1 : last;
|
|
152
91
|
};
|
|
153
92
|
|
|
154
|
-
var getSelectedOption = function getSelectedOption(options, multiple, optional,
|
|
155
|
-
var val = value !== null && value !== void 0 ? value : innerValue;
|
|
93
|
+
var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
|
|
156
94
|
var selectedOption = multiple ? [] : {};
|
|
157
95
|
var singleSelectionIndex;
|
|
158
96
|
|
|
@@ -161,21 +99,21 @@ var getSelectedOption = function getSelectedOption(options, multiple, optional,
|
|
|
161
99
|
options.forEach(function (option) {
|
|
162
100
|
if (option.options) {
|
|
163
101
|
option.options.forEach(function (singleOption) {
|
|
164
|
-
if (
|
|
102
|
+
if (value.includes(singleOption.value)) selectedOption.push(singleOption);
|
|
165
103
|
});
|
|
166
|
-
} else if (
|
|
104
|
+
} else if (value.includes(option.value)) selectedOption.push(option);
|
|
167
105
|
});
|
|
168
106
|
}
|
|
169
107
|
} else {
|
|
170
|
-
if (optional &&
|
|
171
|
-
selectedOption =
|
|
108
|
+
if (optional && value === "") {
|
|
109
|
+
selectedOption = optionalItem;
|
|
172
110
|
singleSelectionIndex = 0;
|
|
173
111
|
} else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
174
112
|
var group_index = 0;
|
|
175
113
|
options.some(function (option, index) {
|
|
176
114
|
if (option.options) {
|
|
177
115
|
option.options.some(function (singleOption) {
|
|
178
|
-
if (singleOption.value ===
|
|
116
|
+
if (singleOption.value === value) {
|
|
179
117
|
selectedOption = singleOption;
|
|
180
118
|
singleSelectionIndex = optional ? group_index + 1 : group_index;
|
|
181
119
|
return true;
|
|
@@ -183,7 +121,7 @@ var getSelectedOption = function getSelectedOption(options, multiple, optional,
|
|
|
183
121
|
|
|
184
122
|
group_index++;
|
|
185
123
|
});
|
|
186
|
-
} else if (option.value ===
|
|
124
|
+
} else if (option.value === value) {
|
|
187
125
|
selectedOption = option;
|
|
188
126
|
singleSelectionIndex = optional ? index + 1 : index;
|
|
189
127
|
return true;
|
|
@@ -198,12 +136,17 @@ var getSelectedOption = function getSelectedOption(options, multiple, optional,
|
|
|
198
136
|
};
|
|
199
137
|
};
|
|
200
138
|
|
|
139
|
+
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
140
|
+
return !optional && (multiple ? value.length === 0 : value === "");
|
|
141
|
+
};
|
|
142
|
+
|
|
201
143
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
202
144
|
var _selectedOption$label;
|
|
203
145
|
|
|
204
146
|
var label = _ref.label,
|
|
205
147
|
_ref$name = _ref.name,
|
|
206
148
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
149
|
+
defaultValue = _ref.defaultValue,
|
|
207
150
|
value = _ref.value,
|
|
208
151
|
options = _ref.options,
|
|
209
152
|
helperText = _ref.helperText,
|
|
@@ -234,7 +177,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
234
177
|
var errorId = "error-".concat(selectId);
|
|
235
178
|
var optionsListId = "".concat(selectId, "-listbox");
|
|
236
179
|
|
|
237
|
-
var _useState3 = (0, _react.useState)(multiple ? [] : ""),
|
|
180
|
+
var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
238
181
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
239
182
|
innerValue = _useState4[0],
|
|
240
183
|
setInnerValue = _useState4[1];
|
|
@@ -254,11 +197,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
254
197
|
isOpen = _useState10[0],
|
|
255
198
|
changeIsOpen = _useState10[1];
|
|
256
199
|
|
|
257
|
-
var
|
|
200
|
+
var selectRef = (0, _react.useRef)(null);
|
|
258
201
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
259
|
-
var selectOptionsListRef = (0, _react.useRef)(null);
|
|
260
202
|
var colorsTheme = (0, _useTheme["default"])();
|
|
261
|
-
var
|
|
203
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
204
|
+
var optionalItem = {
|
|
262
205
|
label: placeholder,
|
|
263
206
|
value: ""
|
|
264
207
|
};
|
|
@@ -267,42 +210,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
267
210
|
}, [options, searchValue]);
|
|
268
211
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
269
212
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
270
|
-
}, [
|
|
213
|
+
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
271
214
|
|
|
272
215
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
273
|
-
return getSelectedOption(options, multiple, optional,
|
|
274
|
-
}, [options, multiple, optional,
|
|
216
|
+
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
217
|
+
}, [value, innerValue, options, multiple, optional, optionalItem]),
|
|
275
218
|
selectedOption = _useMemo.selectedOption,
|
|
276
219
|
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
277
220
|
|
|
278
|
-
var notOptionalCheck = function notOptionalCheck(value) {
|
|
279
|
-
return value === "" && !optional;
|
|
280
|
-
};
|
|
281
|
-
|
|
282
|
-
var notOptionalMultipleCheck = function notOptionalMultipleCheck() {
|
|
283
|
-
return (value !== null && value !== void 0 ? value : innerValue).length === 0 && !optional;
|
|
284
|
-
};
|
|
285
|
-
|
|
286
|
-
var canBeOpenOptions = function canBeOpenOptions() {
|
|
287
|
-
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions();
|
|
288
|
-
};
|
|
289
|
-
|
|
290
|
-
var groupsHaveOptions = function groupsHaveOptions() {
|
|
291
|
-
return options[0].hasOwnProperty("options") ? options[0].options ? options.some(function (groupOption) {
|
|
292
|
-
return groupOption.options.length > 0;
|
|
293
|
-
}) : false : true;
|
|
294
|
-
};
|
|
295
|
-
|
|
296
|
-
var filteredGroupsHaveOptions = function filteredGroupsHaveOptions() {
|
|
297
|
-
return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
|
|
298
|
-
var _groupOption$options;
|
|
299
|
-
|
|
300
|
-
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
301
|
-
}) : true;
|
|
302
|
-
};
|
|
303
|
-
|
|
304
221
|
var openOptions = function openOptions() {
|
|
305
|
-
if (!isOpen &&
|
|
222
|
+
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
306
223
|
};
|
|
307
224
|
|
|
308
225
|
var closeOptions = function closeOptions() {
|
|
@@ -313,36 +230,21 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
313
230
|
};
|
|
314
231
|
|
|
315
232
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
316
|
-
|
|
317
|
-
var _res, _res2;
|
|
233
|
+
var newValue;
|
|
318
234
|
|
|
319
|
-
|
|
320
|
-
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) {
|
|
321
237
|
return optionVal !== newOption.value;
|
|
322
|
-
})
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
333
|
-
value: (_res2 = res) !== null && _res2 !== void 0 ? _res2 : innerValue,
|
|
334
|
-
error: null
|
|
335
|
-
});
|
|
336
|
-
} else {
|
|
337
|
-
value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
|
|
338
|
-
if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
339
|
-
value: newOption.value,
|
|
340
|
-
error: getNotOptionalErrorMessage()
|
|
341
|
-
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
342
|
-
value: newOption.value,
|
|
343
|
-
error: null
|
|
344
|
-
});
|
|
345
|
-
}
|
|
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
|
+
});
|
|
346
248
|
};
|
|
347
249
|
|
|
348
250
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
@@ -363,20 +265,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
363
265
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
364
266
|
closeOptions();
|
|
365
267
|
setSearchValue("");
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
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
|
|
372
274
|
});
|
|
373
275
|
}
|
|
374
276
|
};
|
|
375
277
|
|
|
376
278
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
377
|
-
switch (event.
|
|
378
|
-
case
|
|
379
|
-
|
|
279
|
+
switch (event.key) {
|
|
280
|
+
case "Down":
|
|
281
|
+
case "ArrowDown":
|
|
380
282
|
event.preventDefault();
|
|
381
283
|
singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
|
|
382
284
|
if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
|
|
@@ -384,8 +286,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
384
286
|
openOptions();
|
|
385
287
|
break;
|
|
386
288
|
|
|
387
|
-
case
|
|
388
|
-
|
|
289
|
+
case "Up":
|
|
290
|
+
case "ArrowUp":
|
|
389
291
|
event.preventDefault();
|
|
390
292
|
singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
|
|
391
293
|
return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
|
|
@@ -393,21 +295,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
393
295
|
openOptions();
|
|
394
296
|
break;
|
|
395
297
|
|
|
396
|
-
case
|
|
397
|
-
|
|
298
|
+
case "Esc":
|
|
299
|
+
case "Escape":
|
|
398
300
|
event.preventDefault();
|
|
399
301
|
closeOptions();
|
|
400
302
|
setSearchValue("");
|
|
401
303
|
break;
|
|
402
304
|
|
|
403
|
-
case
|
|
404
|
-
// Enter
|
|
305
|
+
case "Enter":
|
|
405
306
|
if (isOpen && visualFocusIndex >= 0) {
|
|
406
307
|
var accLength = optional && !multiple ? 1 : 0;
|
|
407
308
|
|
|
408
309
|
if (searchable) {
|
|
409
310
|
if (filteredOptions.length > 0) {
|
|
410
|
-
if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions()) handleSelectChangeValue(
|
|
311
|
+
if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
411
312
|
var groupLength = accLength + groupOption.options.length;
|
|
412
313
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
413
314
|
accLength = groupLength;
|
|
@@ -415,7 +316,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
415
316
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
416
317
|
}
|
|
417
318
|
} else {
|
|
418
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(
|
|
319
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options[0].options ? options.some(function (groupOption) {
|
|
419
320
|
var groupLength = accLength + groupOption.options.length;
|
|
420
321
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
421
322
|
accLength = groupLength;
|
|
@@ -440,9 +341,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
440
341
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
441
342
|
event.stopPropagation();
|
|
442
343
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
443
|
-
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
344
|
+
!optional ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
444
345
|
value: [],
|
|
445
|
-
error:
|
|
346
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
347
|
+
}) : onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
348
|
+
value: []
|
|
446
349
|
});
|
|
447
350
|
};
|
|
448
351
|
|
|
@@ -451,96 +354,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
451
354
|
setSearchValue("");
|
|
452
355
|
};
|
|
453
356
|
|
|
454
|
-
(0, _react.
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
|
|
462
|
-
});
|
|
463
|
-
}
|
|
464
|
-
}, [isOpen]);
|
|
465
|
-
(0, _react.useLayoutEffect)(function () {
|
|
466
|
-
var _selectOptionsListRef, _visualFocusedOptionE;
|
|
467
|
-
|
|
468
|
-
var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
|
|
469
|
-
visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
|
|
470
|
-
block: "nearest",
|
|
471
|
-
inline: "start"
|
|
472
|
-
});
|
|
473
|
-
}, [visualFocusIndex]);
|
|
474
|
-
|
|
475
|
-
var Option = function Option(_ref2) {
|
|
476
|
-
var option = _ref2.option,
|
|
477
|
-
index = _ref2.index,
|
|
478
|
-
_ref2$isGroupedOption = _ref2.isGroupedOption,
|
|
479
|
-
isGroupedOption = _ref2$isGroupedOption === void 0 ? false : _ref2$isGroupedOption;
|
|
480
|
-
var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
|
|
481
|
-
var isLastOption = index === lastOptionIndex;
|
|
482
|
-
return /*#__PURE__*/_react["default"].createElement(OptionItem, {
|
|
483
|
-
id: "option-".concat(index),
|
|
484
|
-
onClick: function onClick() {
|
|
485
|
-
handleSelectChangeValue(option);
|
|
486
|
-
!multiple && closeOptions();
|
|
487
|
-
setSearchValue("");
|
|
488
|
-
},
|
|
489
|
-
visualFocused: visualFocusIndex === index,
|
|
490
|
-
selected: isSelected,
|
|
491
|
-
role: "option",
|
|
492
|
-
"aria-selected": isSelected
|
|
493
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledOption, {
|
|
494
|
-
visualFocused: visualFocusIndex === index,
|
|
495
|
-
selected: isSelected,
|
|
496
|
-
last: isLastOption,
|
|
497
|
-
grouped: isGroupedOption,
|
|
498
|
-
multiple: multiple
|
|
499
|
-
}, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
500
|
-
tabIndex: -1,
|
|
501
|
-
checked: isSelected
|
|
502
|
-
}), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
|
|
503
|
-
grouped: isGroupedOption,
|
|
504
|
-
multiple: multiple,
|
|
505
|
-
role: !(typeof option.icon === "string") && "img"
|
|
506
|
-
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(OptionIconImg, {
|
|
507
|
-
src: option.icon
|
|
508
|
-
}) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
|
|
509
|
-
grouped: isGroupedOption,
|
|
510
|
-
hasIcon: option.icon,
|
|
511
|
-
multiple: multiple
|
|
512
|
-
}, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
|
|
513
|
-
};
|
|
514
|
-
|
|
515
|
-
var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
|
|
516
|
-
|
|
517
|
-
var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
|
|
518
|
-
if (option.options) {
|
|
519
|
-
var groupId = "group-".concat(mapIndex);
|
|
520
|
-
return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(GroupList, {
|
|
521
|
-
role: "group",
|
|
522
|
-
"aria-labelledby": groupId
|
|
523
|
-
}, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
|
|
524
|
-
role: "presentation",
|
|
525
|
-
id: groupId
|
|
526
|
-
}, option.label), option.options.map(function (singleOption) {
|
|
527
|
-
globalIndex++;
|
|
528
|
-
return /*#__PURE__*/_react["default"].createElement(Option, {
|
|
529
|
-
option: singleOption,
|
|
530
|
-
index: globalIndex,
|
|
531
|
-
isGroupedOption: true
|
|
532
|
-
});
|
|
533
|
-
})));
|
|
534
|
-
} else {
|
|
535
|
-
globalIndex++;
|
|
536
|
-
return /*#__PURE__*/_react["default"].createElement(Option, {
|
|
537
|
-
key: "option-".concat(option.value),
|
|
538
|
-
option: option,
|
|
539
|
-
index: globalIndex
|
|
540
|
-
});
|
|
541
|
-
}
|
|
542
|
-
};
|
|
357
|
+
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
358
|
+
handleSelectChangeValue(option);
|
|
359
|
+
!multiple && closeOptions();
|
|
360
|
+
setSearchValue("");
|
|
361
|
+
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
362
|
+
var getSelectWidth = (0, _react.useCallback)(function () {
|
|
363
|
+
var _selectRef$current;
|
|
543
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
|
+
}, []);
|
|
544
368
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
545
369
|
theme: colorsTheme.select
|
|
546
370
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -551,12 +375,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
551
375
|
id: selectLabelId,
|
|
552
376
|
disabled: disabled,
|
|
553
377
|
onClick: function onClick() {
|
|
554
|
-
|
|
378
|
+
selectRef.current.focus();
|
|
555
379
|
},
|
|
556
380
|
helperText: helperText
|
|
557
|
-
}, 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, {
|
|
558
382
|
disabled: disabled
|
|
559
|
-
}, 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, {
|
|
560
388
|
id: selectId,
|
|
561
389
|
disabled: disabled,
|
|
562
390
|
error: error,
|
|
@@ -564,18 +392,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
564
392
|
onClick: handleSelectOnClick,
|
|
565
393
|
onFocus: handleSelectOnFocus,
|
|
566
394
|
onKeyDown: handleSelectOnKeyDown,
|
|
567
|
-
ref:
|
|
568
|
-
tabIndex: tabIndex,
|
|
395
|
+
ref: selectRef,
|
|
396
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
569
397
|
role: "combobox",
|
|
570
398
|
"aria-controls": optionsListId,
|
|
571
399
|
"aria-disabled": disabled,
|
|
572
400
|
"aria-expanded": isOpen,
|
|
573
401
|
"aria-haspopup": "listbox",
|
|
574
|
-
"aria-labelledby": selectLabelId,
|
|
402
|
+
"aria-labelledby": label ? selectLabelId : undefined,
|
|
575
403
|
"aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
|
|
576
|
-
"aria-invalid": error ?
|
|
404
|
+
"aria-invalid": error ? true : false,
|
|
577
405
|
"aria-errormessage": error ? errorId : undefined,
|
|
578
|
-
"aria-required": !optional
|
|
406
|
+
"aria-required": !disabled && !optional
|
|
579
407
|
}, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
580
408
|
disabled: disabled
|
|
581
409
|
}, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
|
|
@@ -586,11 +414,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
586
414
|
},
|
|
587
415
|
onClick: handleClearOptionsActionOnClick,
|
|
588
416
|
tabIndex: -1,
|
|
589
|
-
title:
|
|
590
|
-
"aria-label":
|
|
591
|
-
},
|
|
417
|
+
title: translatedLabels.select.actionClearSelectionTitle,
|
|
418
|
+
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
419
|
+
}, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
592
420
|
name: name,
|
|
593
|
-
value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",
|
|
421
|
+
value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
|
|
594
422
|
readOnly: true,
|
|
595
423
|
"aria-hidden": "true"
|
|
596
424
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
@@ -598,43 +426,51 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
598
426
|
disabled: disabled,
|
|
599
427
|
onChange: handleSearchIOnChange,
|
|
600
428
|
ref: selectSearchInputRef,
|
|
601
|
-
autoComplete: "
|
|
602
|
-
autoCorrect: "
|
|
603
|
-
size:
|
|
429
|
+
autoComplete: "nope",
|
|
430
|
+
autoCorrect: "nope",
|
|
431
|
+
size: 1
|
|
604
432
|
}), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
605
433
|
disabled: disabled,
|
|
606
434
|
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
607
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
435
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
|
|
608
436
|
return option.label;
|
|
609
437
|
}).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
610
438
|
disabled: disabled,
|
|
611
439
|
atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
|
|
612
|
-
}, /*#__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, {
|
|
613
441
|
onMouseDown: function onMouseDown(event) {
|
|
614
442
|
// Avoid input to lose focus
|
|
615
443
|
event.preventDefault();
|
|
616
444
|
},
|
|
617
445
|
onClick: handleClearSearchActionOnClick,
|
|
618
446
|
tabIndex: -1,
|
|
619
|
-
title:
|
|
620
|
-
"aria-label":
|
|
621
|
-
},
|
|
447
|
+
title: translatedLabels.select.actionClearSearchTitle,
|
|
448
|
+
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
449
|
+
}, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
622
450
|
disabled: disabled
|
|
623
|
-
}, isOpen ?
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
},
|
|
628
|
-
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
|
|
629
455
|
event.preventDefault();
|
|
630
456
|
},
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
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,
|
|
467
|
+
multiple: multiple,
|
|
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, {
|
|
638
474
|
id: errorId,
|
|
639
475
|
"aria-live": error ? "assertive" : "off"
|
|
640
476
|
}, error)));
|
|
@@ -733,9 +569,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
733
569
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
734
570
|
});
|
|
735
571
|
|
|
736
|
-
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
|
|
737
|
-
return props.theme.fontFamily;
|
|
738
|
-
}, 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) {
|
|
739
573
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
740
574
|
}, function (props) {
|
|
741
575
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -759,9 +593,11 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
759
593
|
return props.theme.valueFontWeight;
|
|
760
594
|
});
|
|
761
595
|
|
|
762
|
-
var
|
|
596
|
+
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
597
|
+
|
|
598
|
+
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
763
599
|
|
|
764
|
-
var SearchInput = _styledComponents["default"].input(
|
|
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) {
|
|
765
601
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
766
602
|
}, function (props) {
|
|
767
603
|
return props.theme.fontFamily;
|
|
@@ -773,21 +609,21 @@ var SearchInput = _styledComponents["default"].input(_templateObject12 || (_temp
|
|
|
773
609
|
return props.theme.valueFontWeight;
|
|
774
610
|
});
|
|
775
611
|
|
|
776
|
-
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) {
|
|
777
613
|
return props.theme.errorIconColor;
|
|
778
614
|
});
|
|
779
615
|
|
|
780
|
-
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) {
|
|
781
617
|
return props.theme.errorMessageColor;
|
|
782
618
|
}, function (props) {
|
|
783
619
|
return props.theme.fontFamily;
|
|
784
620
|
});
|
|
785
621
|
|
|
786
|
-
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) {
|
|
787
623
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
788
624
|
});
|
|
789
625
|
|
|
790
|
-
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) {
|
|
791
627
|
return props.theme.fontFamily;
|
|
792
628
|
}, function (props) {
|
|
793
629
|
return props.theme.actionBackgroundColor;
|
|
@@ -803,67 +639,5 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject16 ||
|
|
|
803
639
|
return props.theme.activeActionIconColor;
|
|
804
640
|
});
|
|
805
641
|
|
|
806
|
-
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) {
|
|
807
|
-
return props.theme.listDialogBackgroundColor;
|
|
808
|
-
}, function (props) {
|
|
809
|
-
return props.theme.listDialogBorderColor;
|
|
810
|
-
}, function (props) {
|
|
811
|
-
return props.theme.listOptionFontColor;
|
|
812
|
-
}, function (props) {
|
|
813
|
-
return props.theme.fontFamily;
|
|
814
|
-
}, function (props) {
|
|
815
|
-
return props.theme.listOptionFontSize;
|
|
816
|
-
}, function (props) {
|
|
817
|
-
return props.theme.listOptionFontStyle;
|
|
818
|
-
}, function (props) {
|
|
819
|
-
return props.theme.listOptionFontWeight;
|
|
820
|
-
});
|
|
821
|
-
|
|
822
|
-
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) {
|
|
823
|
-
return props.theme.systemMessageFontColor;
|
|
824
|
-
});
|
|
825
|
-
|
|
826
|
-
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"])));
|
|
827
|
-
|
|
828
|
-
var GroupList = _styledComponents["default"].ul(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
|
|
829
|
-
|
|
830
|
-
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) {
|
|
831
|
-
return props.theme.listGroupLabelFontWeight;
|
|
832
|
-
});
|
|
833
|
-
|
|
834
|
-
var OptionItem = _styledComponents["default"].li(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
|
|
835
|
-
return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
|
|
836
|
-
}, function (props) {
|
|
837
|
-
return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
|
|
838
|
-
}, function (props) {
|
|
839
|
-
return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
|
|
840
|
-
}, function (props) {
|
|
841
|
-
return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
|
|
842
|
-
});
|
|
843
|
-
|
|
844
|
-
var StyledOption = _styledComponents["default"].span(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 0.5rem 0.188rem 0;\n min-height: 24px;\n ", "\n ", ";\n"])), function (props) {
|
|
845
|
-
return props.grouped && props.multiple && "padding-left: 16px;";
|
|
846
|
-
}, function (props) {
|
|
847
|
-
return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
|
|
848
|
-
});
|
|
849
|
-
|
|
850
|
-
var OptionContent = _styledComponents["default"].span(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n ", "\n"])), function (props) {
|
|
851
|
-
return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
|
|
852
|
-
});
|
|
853
|
-
|
|
854
|
-
var OptionIcon = _styledComponents["default"].span(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n ", "\n color: ", ";\n"])), function (props) {
|
|
855
|
-
return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
|
|
856
|
-
}, function (props) {
|
|
857
|
-
return props.theme.listOptionIconColor;
|
|
858
|
-
});
|
|
859
|
-
|
|
860
|
-
var OptionIconImg = _styledComponents["default"].img(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
|
|
861
|
-
|
|
862
|
-
var OptionLabel = _styledComponents["default"].span(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
863
|
-
|
|
864
|
-
var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"])), function (props) {
|
|
865
|
-
return props.theme.selectedListOptionIconColor;
|
|
866
|
-
});
|
|
867
|
-
|
|
868
642
|
var _default = DxcSelect;
|
|
869
643
|
exports["default"] = _default;
|