@dxc-technology/halstack-react 0.0.0-c9b5c13 → 0.0.0-c9c1158
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 +3 -3
- package/BackgroundColorContext.js +6 -18
- package/HalstackContext.d.ts +1347 -6
- package/HalstackContext.js +125 -110
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +116 -157
- package/accordion/Accordion.stories.tsx +102 -126
- package/accordion/Accordion.test.js +25 -41
- package/accordion/types.d.ts +5 -16
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +31 -98
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.js +52 -105
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +11 -16
- package/alert/Alert.js +19 -55
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.js +4 -17
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +14 -55
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +18 -56
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -14
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +99 -0
- package/bulleted-list/BulletedList.stories.tsx +116 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +61 -114
- package/button/Button.stories.tsx +160 -90
- package/button/Button.test.js +18 -17
- package/button/types.d.ts +12 -8
- package/card/Card.d.ts +1 -1
- package/card/Card.js +48 -89
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +141 -178
- package/checkbox/Checkbox.stories.tsx +128 -94
- package/checkbox/Checkbox.test.js +160 -39
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.js +39 -79
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +16 -31
- package/chip/types.d.ts +4 -4
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1499 -0
- package/common/variables.js +1027 -1126
- package/container/Container.d.ts +4 -0
- package/container/Container.js +198 -0
- package/container/Container.stories.tsx +229 -0
- package/container/types.d.ts +74 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +150 -299
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +700 -371
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +72 -15
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +75 -106
- package/dialog/Dialog.stories.tsx +154 -171
- package/dialog/Dialog.test.js +287 -20
- package/dialog/types.d.ts +18 -25
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +243 -300
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +575 -165
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +32 -14
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +241 -355
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +369 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +45 -96
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +51 -101
- package/footer/Footer.stories.tsx +41 -19
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +2 -2
- package/footer/Icons.js +3 -8
- package/footer/types.d.ts +21 -22
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +90 -162
- package/header/Header.stories.tsx +118 -39
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +4 -9
- package/header/types.d.ts +5 -20
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +14 -55
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +15 -6
- package/layout/ApplicationLayout.js +51 -116
- package/layout/ApplicationLayout.stories.tsx +81 -45
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +21 -32
- package/link/Link.js +25 -46
- package/link/Link.stories.tsx +73 -6
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +10 -10
- package/main.js +45 -95
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +22 -57
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +111 -7
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +37 -44
- package/nav-tabs/Tab.js +117 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +26 -35
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +701 -377
- package/number-input/types.d.ts +11 -5
- package/package.json +43 -45
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +22 -55
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +280 -211
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +27 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -32
- package/password-input/PasswordInput.test.js +160 -142
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +67 -87
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
- package/progress-bar/ProgressBar.test.js +72 -44
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +29 -47
- package/quick-nav/QuickNav.stories.tsx +146 -27
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +59 -76
- package/radio-group/RadioGroup.js +67 -114
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +518 -457
- package/radio-group/types.d.ts +10 -10
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +117 -118
- package/{resultsetTable → resultset-table}/types.d.ts +7 -7
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +42 -51
- package/select/Option.js +20 -50
- package/select/Select.js +125 -188
- package/select/Select.stories.tsx +516 -139
- package/select/Select.test.js +1965 -1751
- package/select/types.d.ts +16 -20
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +129 -77
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +26 -45
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +144 -168
- package/slider/Slider.test.js +185 -81
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.js +27 -63
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +148 -124
- package/switch/Switch.stories.tsx +37 -60
- package/switch/Switch.test.js +138 -56
- package/switch/types.d.ts +7 -3
- package/table/Table.js +7 -26
- package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
- package/table/Table.test.js +3 -8
- package/table/types.d.ts +8 -8
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.js +315 -141
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +223 -69
- package/tabs/types.d.ts +28 -18
- package/tag/Tag.js +29 -61
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +20 -31
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.js +40 -28
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +89 -0
- package/text-input/TextInput.js +280 -458
- package/text-input/TextInput.stories.tsx +266 -275
- package/text-input/TextInput.test.js +1402 -1375
- package/text-input/types.d.ts +43 -16
- package/textarea/Textarea.js +63 -100
- package/textarea/Textarea.stories.tsx +175 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +95 -106
- package/toggle-group/ToggleGroup.stories.tsx +49 -4
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1251 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +114 -0
- package/wizard/Wizard.js +24 -66
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +7 -7
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- 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/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/ResultsetTable.js +0 -254
- 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 -28
- package/slider/Slider.stories.tsx +0 -177
- 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 -24
- package/tabs-nav/Tab.js +0 -132
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{resultsetTable → container}/types.js +0 -0
- /package/{row → flex}/types.js +0 -0
- /package/{stack → grid}/types.js +0 -0
- /package/{tabs-nav → image}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
package/select/Select.js
CHANGED
|
@@ -1,64 +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
|
-
var _variables = require("../common/variables.js");
|
|
29
|
-
|
|
17
|
+
var _variables = require("../common/variables");
|
|
30
18
|
var _uuid = require("uuid");
|
|
31
|
-
|
|
32
|
-
var _utils = require("../common/utils.js");
|
|
33
|
-
|
|
19
|
+
var _utils = require("../common/utils");
|
|
34
20
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
35
|
-
|
|
36
21
|
var _Listbox = _interopRequireDefault(require("./Listbox"));
|
|
37
|
-
|
|
38
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
39
|
-
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
|
-
|
|
22
|
+
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
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; }
|
|
44
26
|
var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
|
|
45
27
|
return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
|
|
46
28
|
return groupOption.options.length > 0;
|
|
47
29
|
}) : false : true;
|
|
48
30
|
};
|
|
49
|
-
|
|
50
31
|
var filteredGroupsHaveOptions = function filteredGroupsHaveOptions(filteredOptions) {
|
|
51
32
|
return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
|
|
52
33
|
var _groupOption$options;
|
|
53
|
-
|
|
54
34
|
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
55
35
|
}) : true;
|
|
56
36
|
};
|
|
57
|
-
|
|
58
37
|
var canOpenOptions = function canOpenOptions(options, disabled) {
|
|
59
38
|
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
60
39
|
};
|
|
61
|
-
|
|
62
40
|
var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
63
41
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
64
42
|
if (options[0].options) return options.map(function (optionGroup) {
|
|
@@ -74,32 +52,26 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
|
|
|
74
52
|
});
|
|
75
53
|
}
|
|
76
54
|
};
|
|
77
|
-
|
|
78
55
|
var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
|
|
79
56
|
var last = 0;
|
|
80
|
-
|
|
81
57
|
var reducer = function reducer(acc, current) {
|
|
82
58
|
var _current$options;
|
|
83
|
-
|
|
84
59
|
return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
|
|
85
60
|
};
|
|
86
|
-
|
|
87
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;
|
|
88
62
|
return optional && !multiple ? last + 1 : last;
|
|
89
63
|
};
|
|
90
|
-
|
|
91
64
|
var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
|
|
92
65
|
var selectedOption = multiple ? [] : {};
|
|
93
66
|
var singleSelectionIndex;
|
|
94
|
-
|
|
95
67
|
if (multiple) {
|
|
96
68
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
97
69
|
options.forEach(function (option) {
|
|
98
70
|
if (option.options) {
|
|
99
71
|
option.options.forEach(function (singleOption) {
|
|
100
|
-
if (value.includes(singleOption.value)) selectedOption.push(singleOption);
|
|
72
|
+
if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
|
|
101
73
|
});
|
|
102
|
-
} else if (value.includes(option.value)) selectedOption.push(option);
|
|
74
|
+
} else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
|
|
103
75
|
});
|
|
104
76
|
}
|
|
105
77
|
} else {
|
|
@@ -116,7 +88,6 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
116
88
|
singleSelectionIndex = optional ? group_index + 1 : group_index;
|
|
117
89
|
return true;
|
|
118
90
|
}
|
|
119
|
-
|
|
120
91
|
group_index++;
|
|
121
92
|
});
|
|
122
93
|
} else if (option.value === value) {
|
|
@@ -127,77 +98,86 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
127
98
|
});
|
|
128
99
|
}
|
|
129
100
|
}
|
|
130
|
-
|
|
131
101
|
return {
|
|
132
102
|
selectedOption: selectedOption,
|
|
133
103
|
singleSelectionIndex: singleSelectionIndex
|
|
134
104
|
};
|
|
135
105
|
};
|
|
136
|
-
|
|
137
106
|
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
138
107
|
return !optional && (multiple ? value.length === 0 : value === "");
|
|
139
108
|
};
|
|
140
|
-
|
|
109
|
+
var useWidth = function useWidth(target) {
|
|
110
|
+
var _useState = (0, _react.useState)(0),
|
|
111
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
112
|
+
width = _useState2[0],
|
|
113
|
+
setWidth = _useState2[1];
|
|
114
|
+
(0, _react.useEffect)(function () {
|
|
115
|
+
if (target != null) {
|
|
116
|
+
setWidth(target.getBoundingClientRect().width);
|
|
117
|
+
var triggerObserver = new ResizeObserver(function (entries) {
|
|
118
|
+
var rect = entries[0].target.getBoundingClientRect();
|
|
119
|
+
setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
|
|
120
|
+
});
|
|
121
|
+
triggerObserver.observe(target);
|
|
122
|
+
return function () {
|
|
123
|
+
triggerObserver.unobserve(target);
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}, [target]);
|
|
127
|
+
return width;
|
|
128
|
+
};
|
|
141
129
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
142
|
-
var _selectedOption$label;
|
|
143
|
-
|
|
130
|
+
var _ref4, _selectedOption$label;
|
|
144
131
|
var label = _ref.label,
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
selectId = _useState2[0];
|
|
173
|
-
|
|
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;
|
|
156
|
+
var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
|
|
157
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
158
|
+
selectId = _useState4[0];
|
|
174
159
|
var selectLabelId = "label-".concat(selectId);
|
|
175
160
|
var errorId = "error-".concat(selectId);
|
|
176
161
|
var optionsListId = "".concat(selectId, "-listbox");
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
var
|
|
194
|
-
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
195
|
-
isOpen = _useState10[0],
|
|
196
|
-
changeIsOpen = _useState10[1];
|
|
197
|
-
|
|
198
|
-
var selectContainerRef = (0, _react.useRef)(null);
|
|
162
|
+
var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
163
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
164
|
+
innerValue = _useState6[0],
|
|
165
|
+
setInnerValue = _useState6[1];
|
|
166
|
+
var _useState7 = (0, _react.useState)(""),
|
|
167
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
168
|
+
searchValue = _useState8[0],
|
|
169
|
+
setSearchValue = _useState8[1];
|
|
170
|
+
var _useState9 = (0, _react.useState)(-1),
|
|
171
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
172
|
+
visualFocusIndex = _useState10[0],
|
|
173
|
+
changeVisualFocusIndex = _useState10[1];
|
|
174
|
+
var _useState11 = (0, _react.useState)(false),
|
|
175
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
176
|
+
isOpen = _useState12[0],
|
|
177
|
+
changeIsOpen = _useState12[1];
|
|
178
|
+
var selectRef = (0, _react.useRef)(null);
|
|
199
179
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
200
|
-
var
|
|
180
|
+
var width = useWidth(selectRef.current);
|
|
201
181
|
var colorsTheme = (0, _useTheme["default"])();
|
|
202
182
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
203
183
|
var optionalItem = {
|
|
@@ -210,33 +190,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
210
190
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
211
191
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
212
192
|
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
213
|
-
|
|
214
193
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
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;
|
|
220
198
|
var openOptions = function openOptions() {
|
|
221
199
|
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
222
200
|
};
|
|
223
|
-
|
|
224
201
|
var closeOptions = function closeOptions() {
|
|
225
202
|
if (isOpen) {
|
|
226
203
|
changeIsOpen(false);
|
|
227
204
|
changeVisualFocusIndex(-1);
|
|
228
205
|
}
|
|
229
206
|
};
|
|
230
|
-
|
|
231
207
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
232
208
|
var newValue;
|
|
233
|
-
|
|
234
209
|
if (multiple) {
|
|
235
|
-
|
|
210
|
+
var _ref2, _ref3;
|
|
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) {
|
|
236
212
|
return optionVal !== newOption.value;
|
|
237
|
-
});else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null &&
|
|
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]);
|
|
238
214
|
} else newValue = newOption.value;
|
|
239
|
-
|
|
240
215
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
241
216
|
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
242
217
|
value: newValue,
|
|
@@ -245,20 +220,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
245
220
|
value: newValue
|
|
246
221
|
});
|
|
247
222
|
};
|
|
248
|
-
|
|
249
223
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
250
224
|
searchable && selectSearchInputRef.current.focus();
|
|
251
|
-
|
|
252
225
|
if (isOpen) {
|
|
253
226
|
closeOptions();
|
|
254
227
|
setSearchValue("");
|
|
255
228
|
} else openOptions();
|
|
256
229
|
};
|
|
257
|
-
|
|
258
230
|
var handleSelectOnFocus = function handleSelectOnFocus(event) {
|
|
259
231
|
if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
|
|
260
232
|
};
|
|
261
|
-
|
|
262
233
|
var handleSelectOnBlur = function handleSelectOnBlur(event) {
|
|
263
234
|
// focus leaves container (outside, not to childs)
|
|
264
235
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
@@ -273,39 +244,33 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
273
244
|
});
|
|
274
245
|
}
|
|
275
246
|
};
|
|
276
|
-
|
|
277
247
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
278
|
-
switch (event.
|
|
279
|
-
case
|
|
280
|
-
|
|
248
|
+
switch (event.key) {
|
|
249
|
+
case "Down":
|
|
250
|
+
case "ArrowDown":
|
|
281
251
|
event.preventDefault();
|
|
282
252
|
singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
|
|
283
253
|
if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
|
|
284
254
|
});
|
|
285
255
|
openOptions();
|
|
286
256
|
break;
|
|
287
|
-
|
|
288
|
-
case
|
|
289
|
-
// Arrow Up
|
|
257
|
+
case "Up":
|
|
258
|
+
case "ArrowUp":
|
|
290
259
|
event.preventDefault();
|
|
291
260
|
singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
|
|
292
261
|
return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
|
|
293
262
|
});
|
|
294
263
|
openOptions();
|
|
295
264
|
break;
|
|
296
|
-
|
|
297
|
-
case
|
|
298
|
-
// Esc
|
|
265
|
+
case "Esc":
|
|
266
|
+
case "Escape":
|
|
299
267
|
event.preventDefault();
|
|
300
268
|
closeOptions();
|
|
301
269
|
setSearchValue("");
|
|
302
270
|
break;
|
|
303
|
-
|
|
304
|
-
case 13:
|
|
305
|
-
// Enter
|
|
271
|
+
case "Enter":
|
|
306
272
|
if (isOpen && visualFocusIndex >= 0) {
|
|
307
273
|
var accLength = optional && !multiple ? 1 : 0;
|
|
308
|
-
|
|
309
274
|
if (searchable) {
|
|
310
275
|
if (filteredOptions.length > 0) {
|
|
311
276
|
if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else filteredOptions[0].options ? filteredGroupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
@@ -323,21 +288,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
323
288
|
return groupLength > visualFocusIndex;
|
|
324
289
|
}) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
|
|
325
290
|
}
|
|
326
|
-
|
|
327
291
|
!multiple && closeOptions();
|
|
328
292
|
setSearchValue("");
|
|
329
293
|
}
|
|
330
|
-
|
|
331
294
|
break;
|
|
332
295
|
}
|
|
333
296
|
};
|
|
334
|
-
|
|
335
297
|
var handleSearchIOnChange = function handleSearchIOnChange(event) {
|
|
336
298
|
setSearchValue(event.target.value);
|
|
337
299
|
changeVisualFocusIndex(-1);
|
|
338
300
|
openOptions();
|
|
339
301
|
};
|
|
340
|
-
|
|
341
302
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
342
303
|
event.stopPropagation();
|
|
343
304
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
@@ -348,37 +309,15 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
348
309
|
value: []
|
|
349
310
|
});
|
|
350
311
|
};
|
|
351
|
-
|
|
352
312
|
var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
|
|
353
313
|
event.stopPropagation();
|
|
354
314
|
setSearchValue("");
|
|
355
315
|
};
|
|
356
|
-
|
|
357
316
|
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
358
317
|
handleSelectChangeValue(option);
|
|
359
318
|
!multiple && closeOptions();
|
|
360
319
|
setSearchValue("");
|
|
361
320
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
362
|
-
(0, _react.useLayoutEffect)(function () {
|
|
363
|
-
if (isOpen && singleSelectionIndex) {
|
|
364
|
-
var _listEl$scrollTo;
|
|
365
|
-
|
|
366
|
-
var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
|
|
367
|
-
var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
|
|
368
|
-
listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
|
|
369
|
-
top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
}, [isOpen]);
|
|
373
|
-
(0, _react.useLayoutEffect)(function () {
|
|
374
|
-
var _selectOptionsListRef, _visualFocusedOptionE;
|
|
375
|
-
|
|
376
|
-
var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
|
|
377
|
-
visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
|
|
378
|
-
block: "nearest",
|
|
379
|
-
inline: "start"
|
|
380
|
-
});
|
|
381
|
-
}, [visualFocusIndex]);
|
|
382
321
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
383
322
|
theme: colorsTheme.select
|
|
384
323
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -389,12 +328,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
389
328
|
id: selectLabelId,
|
|
390
329
|
disabled: disabled,
|
|
391
330
|
onClick: function onClick() {
|
|
392
|
-
|
|
331
|
+
selectRef.current.focus();
|
|
393
332
|
},
|
|
394
333
|
helperText: helperText
|
|
395
334
|
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
396
335
|
disabled: disabled
|
|
397
|
-
}, helperText), /*#__PURE__*/_react["default"].createElement(
|
|
336
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
337
|
+
open: isOpen
|
|
338
|
+
}, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
|
|
339
|
+
asChild: true,
|
|
340
|
+
type: undefined
|
|
341
|
+
}, /*#__PURE__*/_react["default"].createElement(Select, {
|
|
398
342
|
id: selectId,
|
|
399
343
|
disabled: disabled,
|
|
400
344
|
error: error,
|
|
@@ -402,19 +346,19 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
402
346
|
onClick: handleSelectOnClick,
|
|
403
347
|
onFocus: handleSelectOnFocus,
|
|
404
348
|
onKeyDown: handleSelectOnKeyDown,
|
|
405
|
-
ref:
|
|
406
|
-
tabIndex: tabIndex,
|
|
349
|
+
ref: selectRef,
|
|
350
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
407
351
|
role: "combobox",
|
|
408
352
|
"aria-controls": optionsListId,
|
|
409
353
|
"aria-disabled": disabled,
|
|
410
354
|
"aria-expanded": isOpen,
|
|
411
355
|
"aria-haspopup": "listbox",
|
|
412
|
-
"aria-labelledby": selectLabelId,
|
|
356
|
+
"aria-labelledby": label ? selectLabelId : undefined,
|
|
413
357
|
"aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
|
|
414
|
-
"aria-invalid": error ?
|
|
358
|
+
"aria-invalid": error ? true : false,
|
|
415
359
|
"aria-errormessage": error ? errorId : undefined,
|
|
416
360
|
"aria-required": !disabled && !optional
|
|
417
|
-
}, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
361
|
+
}, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
418
362
|
disabled: disabled
|
|
419
363
|
}, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
|
|
420
364
|
disabled: disabled,
|
|
@@ -428,7 +372,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
428
372
|
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
429
373
|
}, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
430
374
|
name: name,
|
|
431
|
-
|
|
375
|
+
disabled: disabled,
|
|
376
|
+
value: multiple ? ((_ref4 = value && Array.isArray(value) && value) !== null && _ref4 !== void 0 ? _ref4 : innerValue && Array.isArray(innerValue) && innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
|
|
432
377
|
readOnly: true,
|
|
433
378
|
"aria-hidden": "true"
|
|
434
379
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
@@ -442,9 +387,9 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
442
387
|
}), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
443
388
|
disabled: disabled,
|
|
444
389
|
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
445
|
-
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
|
|
390
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, Array.isArray(selectedOption) && selectedOption.map(function (option) {
|
|
446
391
|
return option.label;
|
|
447
|
-
}).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
392
|
+
}).join(", ")), Array.isArray(selectedOption) && selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
448
393
|
disabled: disabled,
|
|
449
394
|
atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
|
|
450
395
|
}, /*#__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, {
|
|
@@ -458,7 +403,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
458
403
|
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
459
404
|
}, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
460
405
|
disabled: disabled
|
|
461
|
-
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown),
|
|
406
|
+
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
407
|
+
sideOffset: 4,
|
|
408
|
+
style: {
|
|
409
|
+
zIndex: "2147483647"
|
|
410
|
+
},
|
|
411
|
+
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
412
|
+
// Avoid select to lose focus when the list is opened
|
|
413
|
+
event.preventDefault();
|
|
414
|
+
},
|
|
415
|
+
onCloseAutoFocus: function onCloseAutoFocus(event) {
|
|
416
|
+
// Avoid select to lose focus when the list is closed
|
|
417
|
+
event.preventDefault();
|
|
418
|
+
}
|
|
419
|
+
}, /*#__PURE__*/_react["default"].createElement(_Listbox["default"], {
|
|
462
420
|
id: optionsListId,
|
|
463
421
|
currentValue: value !== null && value !== void 0 ? value : innerValue,
|
|
464
422
|
options: searchable ? filteredOptions : options,
|
|
@@ -469,24 +427,23 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
469
427
|
optionalItem: optionalItem,
|
|
470
428
|
searchable: searchable,
|
|
471
429
|
handleOptionOnClick: handleOptionOnClick,
|
|
472
|
-
|
|
473
|
-
|
|
430
|
+
styles: {
|
|
431
|
+
width: width
|
|
432
|
+
}
|
|
433
|
+
})))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
474
434
|
id: errorId,
|
|
475
435
|
"aria-live": error ? "assertive" : "off"
|
|
476
436
|
}, error)));
|
|
477
437
|
});
|
|
478
|
-
|
|
479
438
|
var sizes = {
|
|
480
439
|
small: "240px",
|
|
481
440
|
medium: "360px",
|
|
482
441
|
large: "480px",
|
|
483
442
|
fillParent: "100%"
|
|
484
443
|
};
|
|
485
|
-
|
|
486
444
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
487
445
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
488
446
|
};
|
|
489
|
-
|
|
490
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) {
|
|
491
448
|
return calculateWidth(props.margin, props.size);
|
|
492
449
|
}, function (props) {
|
|
@@ -500,7 +457,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
500
457
|
}, function (props) {
|
|
501
458
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
502
459
|
});
|
|
503
|
-
|
|
504
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) {
|
|
505
461
|
return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
|
|
506
462
|
}, function (props) {
|
|
@@ -516,11 +472,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
|
|
|
516
472
|
}, function (props) {
|
|
517
473
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
518
474
|
});
|
|
519
|
-
|
|
520
475
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
521
476
|
return props.theme.optionalLabelFontWeight;
|
|
522
477
|
});
|
|
523
|
-
|
|
524
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) {
|
|
525
479
|
return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
|
|
526
480
|
}, function (props) {
|
|
@@ -534,7 +488,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
534
488
|
}, function (props) {
|
|
535
489
|
return props.theme.helperTextLineHeight;
|
|
536
490
|
});
|
|
537
|
-
|
|
538
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) {
|
|
539
492
|
return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
|
|
540
493
|
}, function (props) {
|
|
@@ -546,11 +499,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
|
|
|
546
499
|
}, function (props) {
|
|
547
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 ");
|
|
548
501
|
});
|
|
549
|
-
|
|
550
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) {
|
|
551
503
|
return props.theme.selectionIndicatorBorderColor;
|
|
552
504
|
});
|
|
553
|
-
|
|
554
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) {
|
|
555
506
|
return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
|
|
556
507
|
}, function (props) {
|
|
@@ -568,10 +519,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
568
519
|
}, function (props) {
|
|
569
520
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
570
521
|
});
|
|
571
|
-
|
|
572
|
-
var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n font-size: 1rem;\n font-family: ", ";\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) {
|
|
573
|
-
return props.theme.fontFamily;
|
|
574
|
-
}, function (props) {
|
|
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) {
|
|
575
523
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
576
524
|
}, function (props) {
|
|
577
525
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -580,9 +528,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
|
|
|
580
528
|
}, function (props) {
|
|
581
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 ");
|
|
582
530
|
});
|
|
583
|
-
|
|
584
531
|
var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
|
|
585
|
-
|
|
586
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) {
|
|
587
533
|
if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
|
|
588
534
|
}, function (props) {
|
|
@@ -594,11 +540,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
594
540
|
}, function (props) {
|
|
595
541
|
return props.theme.valueFontWeight;
|
|
596
542
|
});
|
|
597
|
-
|
|
598
543
|
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
599
|
-
|
|
600
544
|
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
601
|
-
|
|
602
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) {
|
|
603
546
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
604
547
|
}, function (props) {
|
|
@@ -610,21 +553,17 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
|
|
|
610
553
|
}, function (props) {
|
|
611
554
|
return props.theme.valueFontWeight;
|
|
612
555
|
});
|
|
613
|
-
|
|
614
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) {
|
|
615
557
|
return props.theme.errorIconColor;
|
|
616
558
|
});
|
|
617
|
-
|
|
618
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) {
|
|
619
560
|
return props.theme.errorMessageColor;
|
|
620
561
|
}, function (props) {
|
|
621
562
|
return props.theme.fontFamily;
|
|
622
563
|
});
|
|
623
|
-
|
|
624
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) {
|
|
625
565
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
626
566
|
});
|
|
627
|
-
|
|
628
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) {
|
|
629
568
|
return props.theme.fontFamily;
|
|
630
569
|
}, function (props) {
|
|
@@ -640,6 +579,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
|
|
|
640
579
|
}, function (props) {
|
|
641
580
|
return props.theme.activeActionIconColor;
|
|
642
581
|
});
|
|
643
|
-
|
|
644
|
-
var _default = DxcSelect;
|
|
645
|
-
exports["default"] = _default;
|
|
582
|
+
var _default = exports["default"] = DxcSelect;
|