@dxc-technology/halstack-react 0.0.0-49c38a4 → 0.0.0-4a67e25
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 +294 -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 +25 -11
- package/accordion/types.d.ts +9 -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 +30 -37
- package/accordion-group/types.d.ts +14 -3
- package/alert/Alert.js +5 -2
- 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 +23 -33
- package/box/types.d.ts +1 -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/types.d.ts +7 -7
- package/card/Card.js +24 -27
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +106 -109
- package/checkbox/Checkbox.stories.tsx +146 -130
- package/checkbox/Checkbox.test.js +100 -10
- package/checkbox/types.d.ts +13 -5
- package/chip/types.d.ts +1 -1
- package/common/variables.js +236 -106
- package/date-input/DateInput.js +56 -42
- package/date-input/DateInput.stories.tsx +19 -8
- package/date-input/DateInput.test.js +161 -87
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +46 -50
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +247 -251
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +504 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +183 -222
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +43 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/{radio → flex}/types.js +0 -0
- package/footer/Footer.js +15 -88
- package/footer/Footer.stories.tsx +8 -1
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +95 -114
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +71 -131
- package/layout/ApplicationLayout.stories.tsx +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 +58 -75
- package/link/Link.stories.tsx +95 -53
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +8 -10
- package/main.js +46 -56
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +45 -11
- package/number-input/types.d.ts +17 -10
- package/package.json +20 -16
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +43 -1
- 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 +16 -18
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +342 -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 +43 -28
- package/radio-group/RadioGroup.js +32 -28
- package/radio-group/RadioGroup.stories.tsx +5 -0
- package/radio-group/RadioGroup.test.js +144 -116
- package/radio-group/types.d.ts +79 -2
- package/resultsetTable/ResultsetTable.js +1 -3
- package/resultsetTable/ResultsetTable.test.js +42 -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 +198 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.js +141 -365
- package/select/Select.stories.tsx +160 -115
- package/select/Select.test.js +609 -276
- 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 +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +122 -96
- package/slider/Slider.stories.tsx +15 -9
- package/slider/Slider.test.js +142 -21
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +150 -67
- package/switch/Switch.stories.tsx +20 -42
- package/switch/Switch.test.js +155 -3
- package/switch/types.d.ts +12 -4
- package/table/Table.js +1 -1
- package/table/Table.test.js +1 -1
- 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 +241 -13
- 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 +15 -20
- package/tag/Tag.stories.tsx +12 -8
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +57 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +214 -333
- package/text-input/TextInput.stories.tsx +199 -192
- package/text-input/TextInput.test.js +686 -753
- package/text-input/types.d.ts +50 -12
- package/textarea/Textarea.js +15 -24
- package/textarea/Textarea.stories.jsx +5 -5
- package/textarea/Textarea.test.js +37 -36
- 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 +35 -4
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/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 +36 -23
- package/wizard/types.d.ts +10 -5
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -235
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -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/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,17 @@ 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
|
+
type: undefined
|
|
388
|
+
}, /*#__PURE__*/_react["default"].createElement(Select, {
|
|
560
389
|
id: selectId,
|
|
561
390
|
disabled: disabled,
|
|
562
391
|
error: error,
|
|
@@ -564,18 +393,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
564
393
|
onClick: handleSelectOnClick,
|
|
565
394
|
onFocus: handleSelectOnFocus,
|
|
566
395
|
onKeyDown: handleSelectOnKeyDown,
|
|
567
|
-
ref:
|
|
568
|
-
tabIndex: tabIndex,
|
|
396
|
+
ref: selectRef,
|
|
397
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
569
398
|
role: "combobox",
|
|
570
399
|
"aria-controls": optionsListId,
|
|
571
400
|
"aria-disabled": disabled,
|
|
572
401
|
"aria-expanded": isOpen,
|
|
573
402
|
"aria-haspopup": "listbox",
|
|
574
|
-
"aria-labelledby": selectLabelId,
|
|
403
|
+
"aria-labelledby": label ? selectLabelId : undefined,
|
|
575
404
|
"aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
|
|
576
|
-
"aria-invalid": error ?
|
|
405
|
+
"aria-invalid": error ? true : false,
|
|
577
406
|
"aria-errormessage": error ? errorId : undefined,
|
|
578
|
-
"aria-required": !optional
|
|
407
|
+
"aria-required": !disabled && !optional
|
|
579
408
|
}, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
580
409
|
disabled: disabled
|
|
581
410
|
}, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
|
|
@@ -586,11 +415,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
586
415
|
},
|
|
587
416
|
onClick: handleClearOptionsActionOnClick,
|
|
588
417
|
tabIndex: -1,
|
|
589
|
-
title:
|
|
590
|
-
"aria-label":
|
|
591
|
-
},
|
|
418
|
+
title: translatedLabels.select.actionClearSelectionTitle,
|
|
419
|
+
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
420
|
+
}, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
592
421
|
name: name,
|
|
593
|
-
|
|
422
|
+
disabled: disabled,
|
|
423
|
+
value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
|
|
594
424
|
readOnly: true,
|
|
595
425
|
"aria-hidden": "true"
|
|
596
426
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
@@ -598,43 +428,51 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
598
428
|
disabled: disabled,
|
|
599
429
|
onChange: handleSearchIOnChange,
|
|
600
430
|
ref: selectSearchInputRef,
|
|
601
|
-
autoComplete: "
|
|
602
|
-
autoCorrect: "
|
|
603
|
-
size:
|
|
431
|
+
autoComplete: "nope",
|
|
432
|
+
autoCorrect: "nope",
|
|
433
|
+
size: 1
|
|
604
434
|
}), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
605
435
|
disabled: disabled,
|
|
606
436
|
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
607
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
437
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
|
|
608
438
|
return option.label;
|
|
609
439
|
}).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
610
440
|
disabled: disabled,
|
|
611
441
|
atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
|
|
612
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
442
|
+
}, /*#__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
443
|
onMouseDown: function onMouseDown(event) {
|
|
614
444
|
// Avoid input to lose focus
|
|
615
445
|
event.preventDefault();
|
|
616
446
|
},
|
|
617
447
|
onClick: handleClearSearchActionOnClick,
|
|
618
448
|
tabIndex: -1,
|
|
619
|
-
title:
|
|
620
|
-
"aria-label":
|
|
621
|
-
},
|
|
449
|
+
title: translatedLabels.select.actionClearSearchTitle,
|
|
450
|
+
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
451
|
+
}, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
622
452
|
disabled: disabled
|
|
623
|
-
}, isOpen ?
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
},
|
|
628
|
-
onMouseDown: function onMouseDown(event) {
|
|
453
|
+
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
454
|
+
sideOffset: 4,
|
|
455
|
+
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
456
|
+
// Avoid select to lose focus when the list is opened
|
|
629
457
|
event.preventDefault();
|
|
630
458
|
},
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
459
|
+
onCloseAutoFocus: function onCloseAutoFocus(event) {
|
|
460
|
+
// Avoid select to lose focus when the list is closed
|
|
461
|
+
event.preventDefault();
|
|
462
|
+
}
|
|
463
|
+
}, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
|
|
464
|
+
id: optionsListId,
|
|
465
|
+
currentValue: value !== null && value !== void 0 ? value : innerValue,
|
|
466
|
+
options: searchable ? filteredOptions : options,
|
|
467
|
+
visualFocusIndex: visualFocusIndex,
|
|
468
|
+
lastOptionIndex: lastOptionIndex,
|
|
469
|
+
multiple: multiple,
|
|
470
|
+
optional: optional,
|
|
471
|
+
optionalItem: optionalItem,
|
|
472
|
+
searchable: searchable,
|
|
473
|
+
handleOptionOnClick: handleOptionOnClick,
|
|
474
|
+
getSelectWidth: getSelectWidth
|
|
475
|
+
}))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
638
476
|
id: errorId,
|
|
639
477
|
"aria-live": error ? "assertive" : "off"
|
|
640
478
|
}, error)));
|
|
@@ -733,9 +571,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
733
571
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
734
572
|
});
|
|
735
573
|
|
|
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) {
|
|
574
|
+
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
575
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
740
576
|
}, function (props) {
|
|
741
577
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -759,9 +595,11 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
759
595
|
return props.theme.valueFontWeight;
|
|
760
596
|
});
|
|
761
597
|
|
|
762
|
-
var
|
|
598
|
+
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
599
|
+
|
|
600
|
+
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
763
601
|
|
|
764
|
-
var SearchInput = _styledComponents["default"].input(
|
|
602
|
+
var SearchInput = _styledComponents["default"].input(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(2.5rem - 2px);\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
|
|
765
603
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
766
604
|
}, function (props) {
|
|
767
605
|
return props.theme.fontFamily;
|
|
@@ -773,21 +611,21 @@ var SearchInput = _styledComponents["default"].input(_templateObject12 || (_temp
|
|
|
773
611
|
return props.theme.valueFontWeight;
|
|
774
612
|
});
|
|
775
613
|
|
|
776
|
-
var ErrorIcon = _styledComponents["default"].span(
|
|
614
|
+
var ErrorIcon = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n pointer-events: none;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
|
|
777
615
|
return props.theme.errorIconColor;
|
|
778
616
|
});
|
|
779
617
|
|
|
780
|
-
var Error = _styledComponents["default"].span(
|
|
618
|
+
var Error = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
|
|
781
619
|
return props.theme.errorMessageColor;
|
|
782
620
|
}, function (props) {
|
|
783
621
|
return props.theme.fontFamily;
|
|
784
622
|
});
|
|
785
623
|
|
|
786
|
-
var CollapseIndicator = _styledComponents["default"].span(
|
|
624
|
+
var CollapseIndicator = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: 0.25rem;\n color: ", ";\n"])), function (props) {
|
|
787
625
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
788
626
|
});
|
|
789
627
|
|
|
790
|
-
var ClearSearchAction = _styledComponents["default"].button(
|
|
628
|
+
var ClearSearchAction = _styledComponents["default"].button(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: 0.25rem;\n background-color: ", ";\n color: ", ";\n\n cursor: pointer;\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n svg {\n line-height: 18px;\n }\n"])), function (props) {
|
|
791
629
|
return props.theme.fontFamily;
|
|
792
630
|
}, function (props) {
|
|
793
631
|
return props.theme.actionBackgroundColor;
|
|
@@ -803,67 +641,5 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject16 ||
|
|
|
803
641
|
return props.theme.activeActionIconColor;
|
|
804
642
|
});
|
|
805
643
|
|
|
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
644
|
var _default = DxcSelect;
|
|
869
645
|
exports["default"] = _default;
|