@dxc-technology/halstack-react 0.0.0-c680086 → 0.0.0-c6bd008
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 +7 -28
- package/accordion/Accordion.stories.tsx +11 -11
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +4 -0
- 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 +151 -0
- package/accordion-group/types.d.ts +4 -0
- package/alert/Alert.js +4 -1
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +62 -63
- package/bleed/types.d.ts +25 -1
- package/box/Box.js +22 -32
- package/box/Box.test.js +18 -0
- package/button/Button.js +14 -11
- package/button/Button.test.js +35 -0
- 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/common/variables.js +181 -322
- package/date-input/DateInput.js +53 -39
- 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 +4 -32
- package/dialog/Dialog.test.js +40 -0
- package/dropdown/Dropdown.js +13 -17
- package/dropdown/Dropdown.test.js +189 -0
- package/file-input/FileInput.js +9 -6
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +7 -5
- package/footer/Footer.js +15 -88
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.js +1 -1
- package/header/Header.js +27 -48
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/heading/Heading.test.js +186 -0
- package/inline/Inline.d.ts +4 -0
- package/inline/Inline.js +56 -0
- package/inline/Inline.stories.tsx +264 -0
- package/inline/types.d.ts +32 -0
- package/inline/types.js +5 -0
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +33 -33
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +4 -3
- package/layout/ApplicationLayout.js +84 -110
- 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 +83 -0
- package/link/types.d.ts +7 -23
- package/list/List.js +1 -1
- package/list/List.stories.tsx +16 -22
- package/list/types.d.ts +1 -1
- package/main.d.ts +7 -8
- package/main.js +39 -41
- 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 +7 -5
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +308 -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.js +1 -1
- package/progress-bar/ProgressBar.stories.jsx +11 -11
- package/progress-bar/ProgressBar.test.js +65 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +116 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +25 -24
- package/radio-group/RadioGroup.js +46 -37
- 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/row/types.d.ts +18 -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 +175 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.js +148 -351
- package/select/Select.stories.tsx +230 -176
- package/select/Select.test.js +2162 -0
- package/select/types.d.ts +53 -11
- package/sidenav/Sidenav.d.ts +1 -1
- package/sidenav/Sidenav.js +20 -9
- package/sidenav/Sidenav.test.js +56 -0
- 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 +150 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +1 -1
- package/spinner/Spinner.test.js +64 -0
- package/stack/Stack.d.ts +2 -1
- package/stack/Stack.js +26 -71
- package/stack/Stack.stories.tsx +139 -78
- package/stack/types.d.ts +23 -4
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +35 -19
- package/switch/Switch.stories.tsx +14 -14
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +6 -2
- package/table/Table.test.js +26 -0
- 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 +140 -0
- 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/tabs-nav/types.js +5 -0
- package/tag/Tag.js +14 -19
- package/tag/Tag.stories.tsx +12 -8
- package/tag/Tag.test.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +56 -80
- package/text-input/TextInput.stories.tsx +30 -12
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +31 -12
- package/textarea/Textarea.js +20 -27
- 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 +8 -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 +55 -44
- package/wizard/Wizard.stories.tsx +13 -23
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +6 -2
- 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/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/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- 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,
|
|
@@ -231,9 +174,10 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
231
174
|
selectId = _useState2[0];
|
|
232
175
|
|
|
233
176
|
var selectLabelId = "label-".concat(selectId);
|
|
177
|
+
var errorId = "error-".concat(selectId);
|
|
234
178
|
var optionsListId = "".concat(selectId, "-listbox");
|
|
235
179
|
|
|
236
|
-
var _useState3 = (0, _react.useState)(multiple ? [] : ""),
|
|
180
|
+
var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
237
181
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
238
182
|
innerValue = _useState4[0],
|
|
239
183
|
setInnerValue = _useState4[1];
|
|
@@ -253,11 +197,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
253
197
|
isOpen = _useState10[0],
|
|
254
198
|
changeIsOpen = _useState10[1];
|
|
255
199
|
|
|
256
|
-
var
|
|
200
|
+
var _useState11 = (0, _react.useState)(null),
|
|
201
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
202
|
+
listboxStyles = _useState12[0],
|
|
203
|
+
setListboxStyles = _useState12[1];
|
|
204
|
+
|
|
205
|
+
var selectRef = (0, _react.useRef)(null);
|
|
257
206
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
258
|
-
var selectOptionsListRef = (0, _react.useRef)(null);
|
|
259
207
|
var colorsTheme = (0, _useTheme["default"])();
|
|
260
|
-
var
|
|
208
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
209
|
+
var optionalItem = {
|
|
261
210
|
label: placeholder,
|
|
262
211
|
value: ""
|
|
263
212
|
};
|
|
@@ -266,42 +215,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
266
215
|
}, [options, searchValue]);
|
|
267
216
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
268
217
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
269
|
-
}, [
|
|
218
|
+
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
270
219
|
|
|
271
220
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
272
|
-
return getSelectedOption(options, multiple, optional,
|
|
273
|
-
}, [options, multiple, optional,
|
|
221
|
+
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
222
|
+
}, [value, innerValue, options, multiple, optional, optionalItem]),
|
|
274
223
|
selectedOption = _useMemo.selectedOption,
|
|
275
224
|
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
276
225
|
|
|
277
|
-
var notOptionalCheck = function notOptionalCheck(value) {
|
|
278
|
-
return value === "" && !optional;
|
|
279
|
-
};
|
|
280
|
-
|
|
281
|
-
var notOptionalMultipleCheck = function notOptionalMultipleCheck() {
|
|
282
|
-
return (value !== null && value !== void 0 ? value : innerValue).length === 0 && !optional;
|
|
283
|
-
};
|
|
284
|
-
|
|
285
|
-
var canBeOpenOptions = function canBeOpenOptions() {
|
|
286
|
-
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions();
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
var groupsHaveOptions = function groupsHaveOptions() {
|
|
290
|
-
return options[0].hasOwnProperty("options") ? options[0].options ? options.some(function (groupOption) {
|
|
291
|
-
return groupOption.options.length > 0;
|
|
292
|
-
}) : false : true;
|
|
293
|
-
};
|
|
294
|
-
|
|
295
|
-
var filteredGroupsHaveOptions = function filteredGroupsHaveOptions() {
|
|
296
|
-
return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
|
|
297
|
-
var _groupOption$options;
|
|
298
|
-
|
|
299
|
-
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
300
|
-
}) : true;
|
|
301
|
-
};
|
|
302
|
-
|
|
303
226
|
var openOptions = function openOptions() {
|
|
304
|
-
if (!isOpen &&
|
|
227
|
+
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
305
228
|
};
|
|
306
229
|
|
|
307
230
|
var closeOptions = function closeOptions() {
|
|
@@ -312,36 +235,21 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
312
235
|
};
|
|
313
236
|
|
|
314
237
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
315
|
-
|
|
316
|
-
var _res, _res2;
|
|
238
|
+
var newValue;
|
|
317
239
|
|
|
318
|
-
|
|
319
|
-
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) value ?
|
|
240
|
+
if (multiple) {
|
|
241
|
+
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = (value !== null && value !== void 0 ? value : innerValue).filter(function (optionVal) {
|
|
320
242
|
return optionVal !== newOption.value;
|
|
321
|
-
})
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
332
|
-
value: (_res2 = res) !== null && _res2 !== void 0 ? _res2 : innerValue,
|
|
333
|
-
error: null
|
|
334
|
-
});
|
|
335
|
-
} else {
|
|
336
|
-
value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
|
|
337
|
-
if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
338
|
-
value: newOption.value,
|
|
339
|
-
error: getNotOptionalErrorMessage()
|
|
340
|
-
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
341
|
-
value: newOption.value,
|
|
342
|
-
error: null
|
|
343
|
-
});
|
|
344
|
-
}
|
|
243
|
+
});else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null && value !== void 0 ? value : innerValue), [newOption.value]);
|
|
244
|
+
} else newValue = newOption.value;
|
|
245
|
+
|
|
246
|
+
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
247
|
+
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
248
|
+
value: newValue,
|
|
249
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
250
|
+
}) : onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
251
|
+
value: newValue
|
|
252
|
+
});
|
|
345
253
|
};
|
|
346
254
|
|
|
347
255
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
@@ -362,12 +270,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
362
270
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
363
271
|
closeOptions();
|
|
364
272
|
setSearchValue("");
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
273
|
+
var currentValue = value !== null && value !== void 0 ? value : innerValue;
|
|
274
|
+
notOptionalCheck(currentValue, multiple, optional) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
275
|
+
value: currentValue,
|
|
276
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
277
|
+
}) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
278
|
+
value: currentValue
|
|
371
279
|
});
|
|
372
280
|
}
|
|
373
281
|
};
|
|
@@ -406,7 +314,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
406
314
|
|
|
407
315
|
if (searchable) {
|
|
408
316
|
if (filteredOptions.length > 0) {
|
|
409
|
-
if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions()) handleSelectChangeValue(
|
|
317
|
+
if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
410
318
|
var groupLength = accLength + groupOption.options.length;
|
|
411
319
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
412
320
|
accLength = groupLength;
|
|
@@ -414,7 +322,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
414
322
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
415
323
|
}
|
|
416
324
|
} else {
|
|
417
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(
|
|
325
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options[0].options ? options.some(function (groupOption) {
|
|
418
326
|
var groupLength = accLength + groupOption.options.length;
|
|
419
327
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
420
328
|
accLength = groupLength;
|
|
@@ -439,9 +347,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
439
347
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
440
348
|
event.stopPropagation();
|
|
441
349
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
442
|
-
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
350
|
+
!optional ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
443
351
|
value: [],
|
|
444
|
-
error:
|
|
352
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
353
|
+
}) : onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
354
|
+
value: []
|
|
445
355
|
});
|
|
446
356
|
};
|
|
447
357
|
|
|
@@ -450,96 +360,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
450
360
|
setSearchValue("");
|
|
451
361
|
};
|
|
452
362
|
|
|
453
|
-
(0, _react.
|
|
454
|
-
|
|
455
|
-
|
|
363
|
+
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
364
|
+
handleSelectChangeValue(option);
|
|
365
|
+
!multiple && closeOptions();
|
|
366
|
+
setSearchValue("");
|
|
367
|
+
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
456
368
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
|
|
460
|
-
top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
|
|
461
|
-
});
|
|
462
|
-
}
|
|
463
|
-
}, [isOpen]);
|
|
464
|
-
(0, _react.useLayoutEffect)(function () {
|
|
465
|
-
var _selectOptionsListRef, _visualFocusedOptionE;
|
|
466
|
-
|
|
467
|
-
var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
|
|
468
|
-
visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
|
|
469
|
-
block: "nearest",
|
|
470
|
-
inline: "start"
|
|
471
|
-
});
|
|
472
|
-
}, [visualFocusIndex]);
|
|
473
|
-
|
|
474
|
-
var Option = function Option(_ref2) {
|
|
475
|
-
var option = _ref2.option,
|
|
476
|
-
index = _ref2.index,
|
|
477
|
-
_ref2$isGroupedOption = _ref2.isGroupedOption,
|
|
478
|
-
isGroupedOption = _ref2$isGroupedOption === void 0 ? false : _ref2$isGroupedOption;
|
|
479
|
-
var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
|
|
480
|
-
var isLastOption = index === lastOptionIndex;
|
|
481
|
-
return /*#__PURE__*/_react["default"].createElement(OptionItem, {
|
|
482
|
-
id: "option-".concat(index),
|
|
483
|
-
onClick: function onClick() {
|
|
484
|
-
handleSelectChangeValue(option);
|
|
485
|
-
!multiple && closeOptions();
|
|
486
|
-
setSearchValue("");
|
|
487
|
-
},
|
|
488
|
-
visualFocused: visualFocusIndex === index,
|
|
489
|
-
selected: isSelected,
|
|
490
|
-
role: "option",
|
|
491
|
-
"aria-selected": isSelected
|
|
492
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledOption, {
|
|
493
|
-
visualFocused: visualFocusIndex === index,
|
|
494
|
-
selected: isSelected,
|
|
495
|
-
last: isLastOption,
|
|
496
|
-
grouped: isGroupedOption,
|
|
497
|
-
multiple: multiple
|
|
498
|
-
}, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
499
|
-
tabIndex: -1,
|
|
500
|
-
checked: isSelected
|
|
501
|
-
}), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
|
|
502
|
-
grouped: isGroupedOption,
|
|
503
|
-
multiple: multiple,
|
|
504
|
-
role: !(typeof option.icon === "string") && "img"
|
|
505
|
-
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(OptionIconImg, {
|
|
506
|
-
src: option.icon
|
|
507
|
-
}) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
|
|
508
|
-
grouped: isGroupedOption,
|
|
509
|
-
hasIcon: option.icon,
|
|
510
|
-
multiple: multiple
|
|
511
|
-
}, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
|
|
512
|
-
};
|
|
369
|
+
var handleListboxResize = function handleListboxResize() {
|
|
370
|
+
var _selectRef$current;
|
|
513
371
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
var groupId = "group-".concat(mapIndex);
|
|
519
|
-
return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(GroupList, {
|
|
520
|
-
role: "group",
|
|
521
|
-
"aria-labelledby": groupId
|
|
522
|
-
}, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
|
|
523
|
-
role: "presentation",
|
|
524
|
-
id: groupId
|
|
525
|
-
}, option.label), option.options.map(function (singleOption) {
|
|
526
|
-
globalIndex++;
|
|
527
|
-
return /*#__PURE__*/_react["default"].createElement(Option, {
|
|
528
|
-
option: singleOption,
|
|
529
|
-
index: globalIndex,
|
|
530
|
-
isGroupedOption: true
|
|
531
|
-
});
|
|
532
|
-
})));
|
|
533
|
-
} else {
|
|
534
|
-
globalIndex++;
|
|
535
|
-
return /*#__PURE__*/_react["default"].createElement(Option, {
|
|
536
|
-
key: "option-".concat(option.value),
|
|
537
|
-
option: option,
|
|
538
|
-
index: globalIndex
|
|
539
|
-
});
|
|
540
|
-
}
|
|
372
|
+
var rect = selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect();
|
|
373
|
+
setListboxStyles({
|
|
374
|
+
width: rect === null || rect === void 0 ? void 0 : rect.width
|
|
375
|
+
});
|
|
541
376
|
};
|
|
542
377
|
|
|
378
|
+
(0, _react.useEffect)(function () {
|
|
379
|
+
handleListboxResize();
|
|
380
|
+
window.addEventListener("resize", handleListboxResize);
|
|
381
|
+
return function () {
|
|
382
|
+
window.removeEventListener("resize", handleListboxResize);
|
|
383
|
+
};
|
|
384
|
+
}, [setListboxStyles]);
|
|
543
385
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
544
386
|
theme: colorsTheme.select
|
|
545
387
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -550,12 +392,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
550
392
|
id: selectLabelId,
|
|
551
393
|
disabled: disabled,
|
|
552
394
|
onClick: function onClick() {
|
|
553
|
-
|
|
395
|
+
selectRef.current.focus();
|
|
554
396
|
},
|
|
555
397
|
helperText: helperText
|
|
556
|
-
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null,
|
|
398
|
+
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
557
399
|
disabled: disabled
|
|
558
|
-
}, helperText), /*#__PURE__*/_react["default"].createElement(
|
|
400
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
401
|
+
open: isOpen
|
|
402
|
+
}, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
|
|
403
|
+
asChild: true
|
|
404
|
+
}, /*#__PURE__*/_react["default"].createElement(Select, {
|
|
559
405
|
id: selectId,
|
|
560
406
|
disabled: disabled,
|
|
561
407
|
error: error,
|
|
@@ -563,16 +409,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
563
409
|
onClick: handleSelectOnClick,
|
|
564
410
|
onFocus: handleSelectOnFocus,
|
|
565
411
|
onKeyDown: handleSelectOnKeyDown,
|
|
566
|
-
ref:
|
|
412
|
+
ref: selectRef,
|
|
567
413
|
tabIndex: tabIndex,
|
|
568
414
|
role: "combobox",
|
|
569
415
|
"aria-controls": optionsListId,
|
|
416
|
+
"aria-disabled": disabled,
|
|
570
417
|
"aria-expanded": isOpen,
|
|
571
418
|
"aria-haspopup": "listbox",
|
|
572
|
-
"aria-labelledby": selectLabelId,
|
|
419
|
+
"aria-labelledby": label ? selectLabelId : undefined,
|
|
573
420
|
"aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
|
|
574
421
|
"aria-invalid": error ? "true" : "false",
|
|
575
|
-
"aria-
|
|
422
|
+
"aria-errormessage": error ? errorId : undefined,
|
|
423
|
+
"aria-required": !disabled && !optional
|
|
576
424
|
}, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
577
425
|
disabled: disabled
|
|
578
426
|
}, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
|
|
@@ -583,11 +431,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
583
431
|
},
|
|
584
432
|
onClick: handleClearOptionsActionOnClick,
|
|
585
433
|
tabIndex: -1,
|
|
586
|
-
title:
|
|
587
|
-
"aria-label":
|
|
588
|
-
},
|
|
434
|
+
title: translatedLabels.select.actionClearSelectionTitle,
|
|
435
|
+
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
436
|
+
}, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
589
437
|
name: name,
|
|
590
|
-
value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",
|
|
438
|
+
value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
|
|
591
439
|
readOnly: true,
|
|
592
440
|
"aria-hidden": "true"
|
|
593
441
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
@@ -595,43 +443,54 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
595
443
|
disabled: disabled,
|
|
596
444
|
onChange: handleSearchIOnChange,
|
|
597
445
|
ref: selectSearchInputRef,
|
|
598
|
-
autoComplete: "
|
|
599
|
-
autoCorrect: "
|
|
600
|
-
size:
|
|
446
|
+
autoComplete: "nope",
|
|
447
|
+
autoCorrect: "nope",
|
|
448
|
+
size: 1
|
|
601
449
|
}), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
602
450
|
disabled: disabled,
|
|
603
451
|
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
604
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
452
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
|
|
605
453
|
return option.label;
|
|
606
454
|
}).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
607
455
|
disabled: disabled,
|
|
608
456
|
atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
|
|
609
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
457
|
+
}, /*#__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, {
|
|
610
458
|
onMouseDown: function onMouseDown(event) {
|
|
611
459
|
// Avoid input to lose focus
|
|
612
460
|
event.preventDefault();
|
|
613
461
|
},
|
|
614
462
|
onClick: handleClearSearchActionOnClick,
|
|
615
463
|
tabIndex: -1,
|
|
616
|
-
title:
|
|
617
|
-
"aria-label":
|
|
618
|
-
},
|
|
464
|
+
title: translatedLabels.select.actionClearSearchTitle,
|
|
465
|
+
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
466
|
+
}, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
619
467
|
disabled: disabled
|
|
620
|
-
}, isOpen ?
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
},
|
|
625
|
-
onMouseDown: function onMouseDown(event) {
|
|
468
|
+
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
469
|
+
sideOffset: 4,
|
|
470
|
+
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
471
|
+
// Avoid select to lose focus when the list is opened
|
|
626
472
|
event.preventDefault();
|
|
627
473
|
},
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
474
|
+
onCloseAutoFocus: function onCloseAutoFocus(event) {
|
|
475
|
+
// Avoid select to lose focus when the list is closed
|
|
476
|
+
event.preventDefault();
|
|
477
|
+
}
|
|
478
|
+
}, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
|
|
479
|
+
id: optionsListId,
|
|
480
|
+
currentValue: value !== null && value !== void 0 ? value : innerValue,
|
|
481
|
+
options: searchable ? filteredOptions : options,
|
|
482
|
+
visualFocusIndex: visualFocusIndex,
|
|
483
|
+
lastOptionIndex: lastOptionIndex,
|
|
484
|
+
multiple: multiple,
|
|
485
|
+
optional: optional,
|
|
486
|
+
optionalItem: optionalItem,
|
|
487
|
+
searchable: searchable,
|
|
488
|
+
handleOptionOnClick: handleOptionOnClick,
|
|
489
|
+
styles: listboxStyles
|
|
490
|
+
}))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
491
|
+
id: errorId,
|
|
492
|
+
"aria-live": error ? "assertive" : "off"
|
|
493
|
+
}, error)));
|
|
635
494
|
});
|
|
636
495
|
|
|
637
496
|
var sizes = {
|
|
@@ -727,9 +586,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
727
586
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
728
587
|
});
|
|
729
588
|
|
|
730
|
-
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
|
|
731
|
-
return props.theme.fontFamily;
|
|
732
|
-
}, function (props) {
|
|
589
|
+
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) {
|
|
733
590
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
734
591
|
}, function (props) {
|
|
735
592
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -753,9 +610,11 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
753
610
|
return props.theme.valueFontWeight;
|
|
754
611
|
});
|
|
755
612
|
|
|
756
|
-
var
|
|
613
|
+
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
614
|
+
|
|
615
|
+
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
757
616
|
|
|
758
|
-
var SearchInput = _styledComponents["default"].input(
|
|
617
|
+
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) {
|
|
759
618
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
760
619
|
}, function (props) {
|
|
761
620
|
return props.theme.fontFamily;
|
|
@@ -767,21 +626,21 @@ var SearchInput = _styledComponents["default"].input(_templateObject12 || (_temp
|
|
|
767
626
|
return props.theme.valueFontWeight;
|
|
768
627
|
});
|
|
769
628
|
|
|
770
|
-
var ErrorIcon = _styledComponents["default"].span(
|
|
629
|
+
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) {
|
|
771
630
|
return props.theme.errorIconColor;
|
|
772
631
|
});
|
|
773
632
|
|
|
774
|
-
var Error = _styledComponents["default"].span(
|
|
633
|
+
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) {
|
|
775
634
|
return props.theme.errorMessageColor;
|
|
776
635
|
}, function (props) {
|
|
777
636
|
return props.theme.fontFamily;
|
|
778
637
|
});
|
|
779
638
|
|
|
780
|
-
var CollapseIndicator = _styledComponents["default"].span(
|
|
639
|
+
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) {
|
|
781
640
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
782
641
|
});
|
|
783
642
|
|
|
784
|
-
var ClearSearchAction = _styledComponents["default"].button(
|
|
643
|
+
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) {
|
|
785
644
|
return props.theme.fontFamily;
|
|
786
645
|
}, function (props) {
|
|
787
646
|
return props.theme.actionBackgroundColor;
|
|
@@ -797,67 +656,5 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject16 ||
|
|
|
797
656
|
return props.theme.activeActionIconColor;
|
|
798
657
|
});
|
|
799
658
|
|
|
800
|
-
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) {
|
|
801
|
-
return props.theme.listDialogBackgroundColor;
|
|
802
|
-
}, function (props) {
|
|
803
|
-
return props.theme.listDialogBorderColor;
|
|
804
|
-
}, function (props) {
|
|
805
|
-
return props.theme.listOptionFontColor;
|
|
806
|
-
}, function (props) {
|
|
807
|
-
return props.theme.fontFamily;
|
|
808
|
-
}, function (props) {
|
|
809
|
-
return props.theme.listOptionFontSize;
|
|
810
|
-
}, function (props) {
|
|
811
|
-
return props.theme.listOptionFontStyle;
|
|
812
|
-
}, function (props) {
|
|
813
|
-
return props.theme.listOptionFontWeight;
|
|
814
|
-
});
|
|
815
|
-
|
|
816
|
-
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) {
|
|
817
|
-
return props.theme.systemMessageFontColor;
|
|
818
|
-
});
|
|
819
|
-
|
|
820
|
-
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"])));
|
|
821
|
-
|
|
822
|
-
var GroupList = _styledComponents["default"].ul(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
|
|
823
|
-
|
|
824
|
-
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) {
|
|
825
|
-
return props.theme.listGroupLabelFontWeight;
|
|
826
|
-
});
|
|
827
|
-
|
|
828
|
-
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) {
|
|
829
|
-
return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
|
|
830
|
-
}, function (props) {
|
|
831
|
-
return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
|
|
832
|
-
}, function (props) {
|
|
833
|
-
return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
|
|
834
|
-
}, function (props) {
|
|
835
|
-
return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
|
|
836
|
-
});
|
|
837
|
-
|
|
838
|
-
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) {
|
|
839
|
-
return props.grouped && props.multiple && "padding-left: 16px;";
|
|
840
|
-
}, function (props) {
|
|
841
|
-
return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
|
|
842
|
-
});
|
|
843
|
-
|
|
844
|
-
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) {
|
|
845
|
-
return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
|
|
846
|
-
});
|
|
847
|
-
|
|
848
|
-
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) {
|
|
849
|
-
return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
|
|
850
|
-
}, function (props) {
|
|
851
|
-
return props.theme.listOptionIconColor;
|
|
852
|
-
});
|
|
853
|
-
|
|
854
|
-
var OptionIconImg = _styledComponents["default"].img(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
|
|
855
|
-
|
|
856
|
-
var OptionLabel = _styledComponents["default"].span(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
857
|
-
|
|
858
|
-
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) {
|
|
859
|
-
return props.theme.selectedListOptionIconColor;
|
|
860
|
-
});
|
|
861
|
-
|
|
862
659
|
var _default = DxcSelect;
|
|
863
660
|
exports["default"] = _default;
|