@dxc-technology/halstack-react 10.1.0 → 11.0.0
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/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +5 -17
- package/HalstackContext.d.ts +18 -6
- package/HalstackContext.js +9 -34
- package/accordion/Accordion.js +21 -58
- package/accordion/Accordion.stories.tsx +1 -15
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +5 -5
- package/accordion-group/AccordionGroup.js +15 -42
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +9 -21
- package/accordion-group/types.d.ts +6 -6
- package/alert/Alert.js +14 -46
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.js +4 -17
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.js +10 -29
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +7 -33
- package/bulleted-list/BulletedList.stories.tsx +1 -91
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.js +23 -46
- package/button/Button.stories.tsx +5 -86
- package/button/Button.test.js +11 -21
- package/button/types.d.ts +4 -4
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.js +81 -111
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.js +1 -2
- package/common/utils.js +2 -8
- package/common/variables.d.ts +15 -6
- package/common/variables.js +17 -15
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +27 -21
- package/dialog/Dialog.js +11 -35
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/dropdown/Dropdown.js +39 -93
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +5 -17
- package/dropdown/types.d.ts +17 -19
- package/file-input/FileInput.js +131 -220
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +293 -342
- package/file-input/FileItem.js +12 -39
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.js +9 -39
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +2 -2
- package/footer/Icons.js +2 -7
- package/footer/types.d.ts +13 -13
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +1 -1
- package/header/Header.js +19 -64
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +5 -7
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +2 -2
- package/image/Image.js +17 -32
- package/image/types.d.ts +2 -2
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +14 -54
- package/layout/Icons.d.ts +5 -5
- package/layout/Icons.js +1 -5
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +1 -1
- package/main.js +3 -52
- package/nav-tabs/NavTabs.js +11 -43
- package/nav-tabs/NavTabs.stories.tsx +1 -1
- package/nav-tabs/NavTabs.test.js +36 -43
- package/nav-tabs/Tab.js +16 -45
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.d.ts +1 -1
- package/number-input/NumberInput.js +24 -35
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +682 -577
- package/number-input/types.d.ts +11 -5
- package/package.json +27 -25
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +14 -39
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -14
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +3 -3
- package/password-input/Icons.js +1 -5
- package/password-input/PasswordInput.js +26 -48
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +153 -129
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +16 -42
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.js +22 -58
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
- package/{resultsetTable → resultset-table}/types.d.ts +7 -7
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +9 -26
- package/select/Select.js +54 -138
- package/select/Select.test.js +1902 -1796
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +24 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +38 -86
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +10 -40
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.js +26 -69
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/Table.js +4 -23
- package/table/Table.test.js +1 -6
- package/table/types.d.ts +8 -8
- package/tabs/Tab.js +10 -29
- package/tabs/Tabs.js +48 -124
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +5 -5
- package/text-input/Icons.js +1 -5
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +12 -57
- package/text-input/TextInput.js +128 -193
- package/text-input/TextInput.stories.tsx +48 -152
- package/text-input/TextInput.test.js +1210 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +60 -96
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -99
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +20 -57
- package/toggle-group/ToggleGroup.stories.tsx +1 -1
- package/toggle-group/ToggleGroup.test.js +48 -81
- package/toggle-group/types.d.ts +10 -10
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +12 -3
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +12 -36
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +6 -6
- package/resultsetTable/Icons.d.ts +0 -7
- package/slider/Slider.stories.tsx +0 -240
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
- /package/{resultsetTable → resultset-table}/types.js +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
- /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
package/select/Select.js
CHANGED
|
@@ -1,66 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
|
|
20
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
14
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
|
-
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
16
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
27
|
-
|
|
28
17
|
var _variables = require("../common/variables");
|
|
29
|
-
|
|
30
18
|
var _uuid = require("uuid");
|
|
31
|
-
|
|
32
19
|
var _utils = require("../common/utils");
|
|
33
|
-
|
|
34
20
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
35
|
-
|
|
36
21
|
var _Listbox = _interopRequireDefault(require("./Listbox"));
|
|
37
|
-
|
|
38
22
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
39
|
-
|
|
40
|
-
var
|
|
41
|
-
|
|
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); }
|
|
43
|
-
|
|
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; }
|
|
45
|
-
|
|
23
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17; // @ts-nocheck
|
|
24
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
46
26
|
var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
|
|
47
27
|
return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
|
|
48
28
|
return groupOption.options.length > 0;
|
|
49
29
|
}) : false : true;
|
|
50
30
|
};
|
|
51
|
-
|
|
52
31
|
var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptions) {
|
|
53
32
|
return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
|
|
54
33
|
var _groupOption$options;
|
|
55
|
-
|
|
56
34
|
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
57
35
|
}) : true;
|
|
58
36
|
};
|
|
59
|
-
|
|
60
37
|
var canOpenOptions = function canOpenOptions(options, disabled) {
|
|
61
38
|
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
62
39
|
};
|
|
63
|
-
|
|
64
40
|
var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
65
41
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
66
42
|
if (options[0].options) return options.map(function (optionGroup) {
|
|
@@ -76,24 +52,18 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
|
|
|
76
52
|
});
|
|
77
53
|
}
|
|
78
54
|
};
|
|
79
|
-
|
|
80
55
|
var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
|
|
81
56
|
var last = 0;
|
|
82
|
-
|
|
83
57
|
var reducer = function reducer(acc, current) {
|
|
84
58
|
var _current$options;
|
|
85
|
-
|
|
86
59
|
return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
|
|
87
60
|
};
|
|
88
|
-
|
|
89
61
|
if (searchable && filteredOptions.length > 0) filteredOptions[0].options ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) options[0].options ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
|
|
90
62
|
return optional && !multiple ? last + 1 : last;
|
|
91
63
|
};
|
|
92
|
-
|
|
93
64
|
var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
|
|
94
65
|
var selectedOption = multiple ? [] : {};
|
|
95
66
|
var singleSelectionIndex;
|
|
96
|
-
|
|
97
67
|
if (multiple) {
|
|
98
68
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
99
69
|
options.forEach(function (option) {
|
|
@@ -118,7 +88,6 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
118
88
|
singleSelectionIndex = optional ? group_index + 1 : group_index;
|
|
119
89
|
return true;
|
|
120
90
|
}
|
|
121
|
-
|
|
122
91
|
group_index++;
|
|
123
92
|
});
|
|
124
93
|
} else if (option.value === value) {
|
|
@@ -129,23 +98,19 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
129
98
|
});
|
|
130
99
|
}
|
|
131
100
|
}
|
|
132
|
-
|
|
133
101
|
return {
|
|
134
102
|
selectedOption: selectedOption,
|
|
135
103
|
singleSelectionIndex: singleSelectionIndex
|
|
136
104
|
};
|
|
137
105
|
};
|
|
138
|
-
|
|
139
106
|
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
140
107
|
return !optional && (multiple ? value.length === 0 : value === "");
|
|
141
108
|
};
|
|
142
|
-
|
|
143
109
|
var useWidth = function useWidth(target) {
|
|
144
110
|
var _useState = (0, _react.useState)(0),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
111
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
112
|
+
width = _useState2[0],
|
|
113
|
+
setWidth = _useState2[1];
|
|
149
114
|
(0, _react.useEffect)(function () {
|
|
150
115
|
if (target != null) {
|
|
151
116
|
setWidth(target.getBoundingClientRect().width);
|
|
@@ -161,64 +126,55 @@ var useWidth = function useWidth(target) {
|
|
|
161
126
|
}, [target]);
|
|
162
127
|
return width;
|
|
163
128
|
};
|
|
164
|
-
|
|
165
129
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
166
130
|
var _ref4, _selectedOption$label;
|
|
167
|
-
|
|
168
131
|
var label = _ref.label,
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
132
|
+
_ref$name = _ref.name,
|
|
133
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
134
|
+
defaultValue = _ref.defaultValue,
|
|
135
|
+
value = _ref.value,
|
|
136
|
+
options = _ref.options,
|
|
137
|
+
helperText = _ref.helperText,
|
|
138
|
+
_ref$placeholder = _ref.placeholder,
|
|
139
|
+
placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
|
|
140
|
+
_ref$disabled = _ref.disabled,
|
|
141
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
142
|
+
_ref$optional = _ref.optional,
|
|
143
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
144
|
+
_ref$searchable = _ref.searchable,
|
|
145
|
+
searchable = _ref$searchable === void 0 ? false : _ref$searchable,
|
|
146
|
+
_ref$multiple = _ref.multiple,
|
|
147
|
+
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
148
|
+
onChange = _ref.onChange,
|
|
149
|
+
onBlur = _ref.onBlur,
|
|
150
|
+
error = _ref.error,
|
|
151
|
+
margin = _ref.margin,
|
|
152
|
+
_ref$size = _ref.size,
|
|
153
|
+
size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
154
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
155
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
194
156
|
var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
157
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
158
|
+
selectId = _useState4[0];
|
|
198
159
|
var selectLabelId = "label-".concat(selectId);
|
|
199
160
|
var errorId = "error-".concat(selectId);
|
|
200
161
|
var optionsListId = "".concat(selectId, "-listbox");
|
|
201
|
-
|
|
202
162
|
var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
163
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
164
|
+
innerValue = _useState6[0],
|
|
165
|
+
setInnerValue = _useState6[1];
|
|
207
166
|
var _useState7 = (0, _react.useState)(""),
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
167
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
168
|
+
searchValue = _useState8[0],
|
|
169
|
+
setSearchValue = _useState8[1];
|
|
212
170
|
var _useState9 = (0, _react.useState)(-1),
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
171
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
172
|
+
visualFocusIndex = _useState10[0],
|
|
173
|
+
changeVisualFocusIndex = _useState10[1];
|
|
217
174
|
var _useState11 = (0, _react.useState)(false),
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
175
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
176
|
+
isOpen = _useState12[0],
|
|
177
|
+
changeIsOpen = _useState12[1];
|
|
222
178
|
var selectRef = (0, _react.useRef)(null);
|
|
223
179
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
224
180
|
var width = useWidth(selectRef.current);
|
|
@@ -234,35 +190,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
234
190
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
235
191
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
236
192
|
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
237
|
-
|
|
238
193
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
194
|
+
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
195
|
+
}, [value, innerValue, options, multiple, optional, optionalItem]),
|
|
196
|
+
selectedOption = _useMemo.selectedOption,
|
|
197
|
+
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
244
198
|
var openOptions = function openOptions() {
|
|
245
199
|
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
246
200
|
};
|
|
247
|
-
|
|
248
201
|
var closeOptions = function closeOptions() {
|
|
249
202
|
if (isOpen) {
|
|
250
203
|
changeIsOpen(false);
|
|
251
204
|
changeVisualFocusIndex(-1);
|
|
252
205
|
}
|
|
253
206
|
};
|
|
254
|
-
|
|
255
207
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
256
208
|
var newValue;
|
|
257
|
-
|
|
258
209
|
if (multiple) {
|
|
259
210
|
var _ref2, _ref3;
|
|
260
|
-
|
|
261
211
|
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = ((_ref2 = value && Array.isArray(value) && value) !== null && _ref2 !== void 0 ? _ref2 : innerValue && Array.isArray(innerValue) && innerValue).filter(function (optionVal) {
|
|
262
212
|
return optionVal !== newOption.value;
|
|
263
213
|
});else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
|
|
264
214
|
} else newValue = newOption.value;
|
|
265
|
-
|
|
266
215
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
267
216
|
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
268
217
|
value: newValue,
|
|
@@ -271,20 +220,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
271
220
|
value: newValue
|
|
272
221
|
});
|
|
273
222
|
};
|
|
274
|
-
|
|
275
223
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
276
224
|
searchable && selectSearchInputRef.current.focus();
|
|
277
|
-
|
|
278
225
|
if (isOpen) {
|
|
279
226
|
closeOptions();
|
|
280
227
|
setSearchValue("");
|
|
281
228
|
} else openOptions();
|
|
282
229
|
};
|
|
283
|
-
|
|
284
230
|
var handleSelectOnFocus = function handleSelectOnFocus(event) {
|
|
285
231
|
if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
|
|
286
232
|
};
|
|
287
|
-
|
|
288
233
|
var handleSelectOnBlur = function handleSelectOnBlur(event) {
|
|
289
234
|
// focus leaves container (outside, not to childs)
|
|
290
235
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
@@ -299,7 +244,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
299
244
|
});
|
|
300
245
|
}
|
|
301
246
|
};
|
|
302
|
-
|
|
303
247
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
304
248
|
switch (event.key) {
|
|
305
249
|
case "Down":
|
|
@@ -310,7 +254,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
310
254
|
});
|
|
311
255
|
openOptions();
|
|
312
256
|
break;
|
|
313
|
-
|
|
314
257
|
case "Up":
|
|
315
258
|
case "ArrowUp":
|
|
316
259
|
event.preventDefault();
|
|
@@ -319,18 +262,15 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
319
262
|
});
|
|
320
263
|
openOptions();
|
|
321
264
|
break;
|
|
322
|
-
|
|
323
265
|
case "Esc":
|
|
324
266
|
case "Escape":
|
|
325
267
|
event.preventDefault();
|
|
326
268
|
closeOptions();
|
|
327
269
|
setSearchValue("");
|
|
328
270
|
break;
|
|
329
|
-
|
|
330
271
|
case "Enter":
|
|
331
272
|
if (isOpen && visualFocusIndex >= 0) {
|
|
332
273
|
var accLength = optional && !multiple ? 1 : 0;
|
|
333
|
-
|
|
334
274
|
if (searchable) {
|
|
335
275
|
if (filteredOptions.length > 0) {
|
|
336
276
|
if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
@@ -348,21 +288,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
348
288
|
return groupLength > visualFocusIndex;
|
|
349
289
|
}) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
|
|
350
290
|
}
|
|
351
|
-
|
|
352
291
|
!multiple && closeOptions();
|
|
353
292
|
setSearchValue("");
|
|
354
293
|
}
|
|
355
|
-
|
|
356
294
|
break;
|
|
357
295
|
}
|
|
358
296
|
};
|
|
359
|
-
|
|
360
297
|
var handleSearchIOnChange = function handleSearchIOnChange(event) {
|
|
361
298
|
setSearchValue(event.target.value);
|
|
362
299
|
changeVisualFocusIndex(-1);
|
|
363
300
|
openOptions();
|
|
364
301
|
};
|
|
365
|
-
|
|
366
302
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
367
303
|
event.stopPropagation();
|
|
368
304
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
@@ -373,12 +309,10 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
373
309
|
value: []
|
|
374
310
|
});
|
|
375
311
|
};
|
|
376
|
-
|
|
377
312
|
var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
|
|
378
313
|
event.stopPropagation();
|
|
379
314
|
setSearchValue("");
|
|
380
315
|
};
|
|
381
|
-
|
|
382
316
|
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
383
317
|
handleSelectChangeValue(option);
|
|
384
318
|
!multiple && closeOptions();
|
|
@@ -469,8 +403,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
469
403
|
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
470
404
|
}, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
471
405
|
disabled: disabled
|
|
472
|
-
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
406
|
+
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
473
407
|
sideOffset: 4,
|
|
408
|
+
style: {
|
|
409
|
+
zIndex: "2147483647"
|
|
410
|
+
},
|
|
474
411
|
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
475
412
|
// Avoid select to lose focus when the list is opened
|
|
476
413
|
event.preventDefault();
|
|
@@ -493,23 +430,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
493
430
|
styles: {
|
|
494
431
|
width: width
|
|
495
432
|
}
|
|
496
|
-
}))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
433
|
+
})))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
497
434
|
id: errorId,
|
|
498
435
|
"aria-live": error ? "assertive" : "off"
|
|
499
436
|
}, error)));
|
|
500
437
|
});
|
|
501
|
-
|
|
502
438
|
var sizes = {
|
|
503
439
|
small: "240px",
|
|
504
440
|
medium: "360px",
|
|
505
441
|
large: "480px",
|
|
506
442
|
fillParent: "100%"
|
|
507
443
|
};
|
|
508
|
-
|
|
509
444
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
510
445
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
511
446
|
};
|
|
512
|
-
|
|
513
447
|
var SelectContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
514
448
|
return calculateWidth(props.margin, props.size);
|
|
515
449
|
}, function (props) {
|
|
@@ -523,7 +457,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
523
457
|
}, function (props) {
|
|
524
458
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
525
459
|
});
|
|
526
|
-
|
|
527
460
|
var Label = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n ", "\n"])), function (props) {
|
|
528
461
|
return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
|
|
529
462
|
}, function (props) {
|
|
@@ -539,11 +472,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
|
|
|
539
472
|
}, function (props) {
|
|
540
473
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
541
474
|
});
|
|
542
|
-
|
|
543
475
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
544
476
|
return props.theme.optionalLabelFontWeight;
|
|
545
477
|
});
|
|
546
|
-
|
|
547
478
|
var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: 0.25rem;\n"])), function (props) {
|
|
548
479
|
return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
|
|
549
480
|
}, function (props) {
|
|
@@ -557,7 +488,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
557
488
|
}, function (props) {
|
|
558
489
|
return props.theme.helperTextLineHeight;
|
|
559
490
|
});
|
|
560
|
-
|
|
561
491
|
var Select = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n outline: none;\n ", ";\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
|
|
562
492
|
return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
|
|
563
493
|
}, function (props) {
|
|
@@ -569,11 +499,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
|
|
|
569
499
|
}, function (props) {
|
|
570
500
|
return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.theme.hoverInputBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.theme.hoverInputErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusInputBorderColor, ";\n }\n ");
|
|
571
501
|
});
|
|
572
|
-
|
|
573
502
|
var SelectionIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n max-height: 22px;\n width: 46px;\n"])), function (props) {
|
|
574
503
|
return props.theme.selectionIndicatorBorderColor;
|
|
575
504
|
});
|
|
576
|
-
|
|
577
505
|
var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n user-select: none;\n ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"])), function (props) {
|
|
578
506
|
return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
|
|
579
507
|
}, function (props) {
|
|
@@ -591,7 +519,6 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
591
519
|
}, function (props) {
|
|
592
520
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
593
521
|
});
|
|
594
|
-
|
|
595
522
|
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) {
|
|
596
523
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
597
524
|
}, function (props) {
|
|
@@ -601,9 +528,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
|
|
|
601
528
|
}, function (props) {
|
|
602
529
|
return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.hoverSelectionIndicatorActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.activeSelectionIndicatorActionIconColor, ";\n }\n ");
|
|
603
530
|
});
|
|
604
|
-
|
|
605
531
|
var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
|
|
606
|
-
|
|
607
532
|
var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n display: inline-flex;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n user-select: none;\n overflow: hidden;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
608
533
|
if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
|
|
609
534
|
}, function (props) {
|
|
@@ -615,11 +540,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
615
540
|
}, function (props) {
|
|
616
541
|
return props.theme.valueFontWeight;
|
|
617
542
|
});
|
|
618
|
-
|
|
619
543
|
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
620
|
-
|
|
621
544
|
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
622
|
-
|
|
623
545
|
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) {
|
|
624
546
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
625
547
|
}, function (props) {
|
|
@@ -631,21 +553,17 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
|
|
|
631
553
|
}, function (props) {
|
|
632
554
|
return props.theme.valueFontWeight;
|
|
633
555
|
});
|
|
634
|
-
|
|
635
556
|
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) {
|
|
636
557
|
return props.theme.errorIconColor;
|
|
637
558
|
});
|
|
638
|
-
|
|
639
559
|
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) {
|
|
640
560
|
return props.theme.errorMessageColor;
|
|
641
561
|
}, function (props) {
|
|
642
562
|
return props.theme.fontFamily;
|
|
643
563
|
});
|
|
644
|
-
|
|
645
564
|
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) {
|
|
646
565
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
647
566
|
});
|
|
648
|
-
|
|
649
567
|
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) {
|
|
650
568
|
return props.theme.fontFamily;
|
|
651
569
|
}, function (props) {
|
|
@@ -661,6 +579,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
|
|
|
661
579
|
}, function (props) {
|
|
662
580
|
return props.theme.activeActionIconColor;
|
|
663
581
|
});
|
|
664
|
-
|
|
665
|
-
var _default = DxcSelect;
|
|
666
|
-
exports["default"] = _default;
|
|
582
|
+
var _default = exports["default"] = DxcSelect;
|