@dxc-technology/halstack-react 0.0.0-0f1b72b → 0.0.0-100df21
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 +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1229 -6
- package/HalstackContext.js +125 -110
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +116 -160
- 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 +20 -59
- 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 +13 -21
- package/bleed/Bleed.stories.tsx +64 -63
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -60
- 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 +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +63 -117
- 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 +140 -182
- 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 +1381 -0
- package/common/variables.js +914 -1131
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -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 +73 -107
- package/dialog/Dialog.stories.tsx +320 -167
- 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 +55 -115
- 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 -28
- 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 +85 -168
- 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 -19
- 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 +13 -21
- package/inset/Inset.stories.tsx +5 -4
- 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 -12
- package/main.js +41 -106
- 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 -46
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +23 -59
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +253 -226
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -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 -33
- package/password-input/PasswordInput.test.js +160 -142
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +65 -91
- 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 +27 -45
- 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 +101 -144
- 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 +17 -49
- package/select/Option.js +20 -50
- package/select/Select.js +119 -198
- package/select/Select.stories.tsx +497 -152
- package/select/Select.test.js +1966 -1758
- package/select/types.d.ts +16 -19
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +127 -78
- 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 +148 -181
- package/slider/Slider.test.js +185 -81
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.js +31 -75
- 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 +145 -126
- 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 +8 -30
- 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 +84 -0
- package/text-input/TextInput.js +291 -483
- 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 +70 -113
- package/textarea/Textarea.stories.tsx +174 -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 +92 -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 +1133 -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 +121 -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/inline/Inline.d.ts +0 -4
- package/inline/Inline.js +0 -54
- package/inline/Inline.stories.tsx +0 -240
- package/inline/types.d.ts +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/{inline → bulleted-list}/types.js +0 -0
- /package/{list → container}/types.js +0 -0
- /package/{resultsetTable → flex}/types.js +0 -0
- /package/{row → grid}/types.js +0 -0
- /package/{stack → image}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.js +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
- /package/{number-input/numberInputContextTypes.js → resultset-table/types.js} +0 -0
package/select/Select.js
CHANGED
|
@@ -1,69 +1,46 @@
|
|
|
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
22
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
39
|
-
|
|
40
23
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
41
|
-
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
|
|
47
|
-
return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
|
|
48
|
-
return groupOption.options.length > 0;
|
|
49
|
-
}) : false : true;
|
|
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; }
|
|
26
|
+
var isOptionGroup = function isOptionGroup(option) {
|
|
27
|
+
return "options" in option && option.options != null;
|
|
50
28
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
29
|
+
var isArrayOfOptionGroups = function isArrayOfOptionGroups(options) {
|
|
30
|
+
return isOptionGroup(options[0]);
|
|
31
|
+
};
|
|
32
|
+
var groupsHaveOptions = function groupsHaveOptions(filteredOptions) {
|
|
33
|
+
return isArrayOfOptionGroups(filteredOptions) ? filteredOptions.some(function (groupOption) {
|
|
54
34
|
var _groupOption$options;
|
|
55
|
-
|
|
56
35
|
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
57
36
|
}) : true;
|
|
58
37
|
};
|
|
59
|
-
|
|
60
38
|
var canOpenOptions = function canOpenOptions(options, disabled) {
|
|
61
39
|
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
62
40
|
};
|
|
63
|
-
|
|
64
41
|
var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
65
42
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
66
|
-
if (options
|
|
43
|
+
if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
|
|
67
44
|
var group = {
|
|
68
45
|
label: optionGroup.label,
|
|
69
46
|
options: optionGroup.options.filter(function (option) {
|
|
@@ -76,32 +53,24 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
|
|
|
76
53
|
});
|
|
77
54
|
}
|
|
78
55
|
};
|
|
79
|
-
|
|
80
56
|
var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
|
|
81
57
|
var last = 0;
|
|
82
|
-
|
|
83
58
|
var reducer = function reducer(acc, current) {
|
|
84
59
|
var _current$options;
|
|
85
|
-
|
|
86
60
|
return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
|
|
87
61
|
};
|
|
88
|
-
|
|
89
|
-
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;
|
|
62
|
+
if (searchable && (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0) isArrayOfOptionGroups(filteredOptions) ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) isArrayOfOptionGroups(options) ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
|
|
90
63
|
return optional && !multiple ? last + 1 : last;
|
|
91
64
|
};
|
|
92
|
-
|
|
93
65
|
var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
|
|
94
66
|
var selectedOption = multiple ? [] : {};
|
|
95
67
|
var singleSelectionIndex;
|
|
96
|
-
|
|
97
68
|
if (multiple) {
|
|
98
69
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
99
70
|
options.forEach(function (option) {
|
|
100
|
-
if (option.options) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
});
|
|
104
|
-
} else if (value.includes(option.value)) selectedOption.push(option);
|
|
71
|
+
if (isOptionGroup(option)) option.options.forEach(function (singleOption) {
|
|
72
|
+
if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
|
|
73
|
+
});else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
|
|
105
74
|
});
|
|
106
75
|
}
|
|
107
76
|
} else {
|
|
@@ -111,14 +80,13 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
111
80
|
} else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
112
81
|
var group_index = 0;
|
|
113
82
|
options.some(function (option, index) {
|
|
114
|
-
if (option
|
|
83
|
+
if (isOptionGroup(option)) {
|
|
115
84
|
option.options.some(function (singleOption) {
|
|
116
85
|
if (singleOption.value === value) {
|
|
117
86
|
selectedOption = singleOption;
|
|
118
87
|
singleSelectionIndex = optional ? group_index + 1 : group_index;
|
|
119
88
|
return true;
|
|
120
89
|
}
|
|
121
|
-
|
|
122
90
|
group_index++;
|
|
123
91
|
});
|
|
124
92
|
} else if (option.value === value) {
|
|
@@ -129,81 +97,86 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
129
97
|
});
|
|
130
98
|
}
|
|
131
99
|
}
|
|
132
|
-
|
|
133
100
|
return {
|
|
134
101
|
selectedOption: selectedOption,
|
|
135
102
|
singleSelectionIndex: singleSelectionIndex
|
|
136
103
|
};
|
|
137
104
|
};
|
|
138
|
-
|
|
139
105
|
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
140
106
|
return !optional && (multiple ? value.length === 0 : value === "");
|
|
141
107
|
};
|
|
142
|
-
|
|
108
|
+
var useWidth = function useWidth(target) {
|
|
109
|
+
var _useState = (0, _react.useState)(0),
|
|
110
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
111
|
+
width = _useState2[0],
|
|
112
|
+
setWidth = _useState2[1];
|
|
113
|
+
(0, _react.useEffect)(function () {
|
|
114
|
+
if (target != null) {
|
|
115
|
+
setWidth(target.getBoundingClientRect().width);
|
|
116
|
+
var triggerObserver = new ResizeObserver(function (entries) {
|
|
117
|
+
var rect = entries[0].target.getBoundingClientRect();
|
|
118
|
+
setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
|
|
119
|
+
});
|
|
120
|
+
triggerObserver.observe(target);
|
|
121
|
+
return function () {
|
|
122
|
+
triggerObserver.unobserve(target);
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}, [target]);
|
|
126
|
+
return width;
|
|
127
|
+
};
|
|
143
128
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
144
|
-
var _selectedOption$label;
|
|
145
|
-
|
|
129
|
+
var _ref4, _selectedOption$label;
|
|
146
130
|
var label = _ref.label,
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
selectId = _useState2[0];
|
|
175
|
-
|
|
131
|
+
_ref$name = _ref.name,
|
|
132
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
133
|
+
defaultValue = _ref.defaultValue,
|
|
134
|
+
value = _ref.value,
|
|
135
|
+
options = _ref.options,
|
|
136
|
+
helperText = _ref.helperText,
|
|
137
|
+
_ref$placeholder = _ref.placeholder,
|
|
138
|
+
placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
|
|
139
|
+
_ref$disabled = _ref.disabled,
|
|
140
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
141
|
+
_ref$optional = _ref.optional,
|
|
142
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
143
|
+
_ref$searchable = _ref.searchable,
|
|
144
|
+
searchable = _ref$searchable === void 0 ? false : _ref$searchable,
|
|
145
|
+
_ref$multiple = _ref.multiple,
|
|
146
|
+
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
147
|
+
onChange = _ref.onChange,
|
|
148
|
+
onBlur = _ref.onBlur,
|
|
149
|
+
error = _ref.error,
|
|
150
|
+
margin = _ref.margin,
|
|
151
|
+
_ref$size = _ref.size,
|
|
152
|
+
size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
153
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
154
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
155
|
+
var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
|
|
156
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
157
|
+
selectId = _useState4[0];
|
|
176
158
|
var selectLabelId = "label-".concat(selectId);
|
|
177
159
|
var errorId = "error-".concat(selectId);
|
|
178
160
|
var optionsListId = "".concat(selectId, "-listbox");
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
var _useState9 = (0, _react.useState)(false),
|
|
196
|
-
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
197
|
-
isOpen = _useState10[0],
|
|
198
|
-
changeIsOpen = _useState10[1];
|
|
199
|
-
|
|
200
|
-
var _useState11 = (0, _react.useState)(null),
|
|
201
|
-
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
202
|
-
listboxStyles = _useState12[0],
|
|
203
|
-
setListboxStyles = _useState12[1];
|
|
204
|
-
|
|
161
|
+
var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
162
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
163
|
+
innerValue = _useState6[0],
|
|
164
|
+
setInnerValue = _useState6[1];
|
|
165
|
+
var _useState7 = (0, _react.useState)(""),
|
|
166
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
167
|
+
searchValue = _useState8[0],
|
|
168
|
+
setSearchValue = _useState8[1];
|
|
169
|
+
var _useState9 = (0, _react.useState)(-1),
|
|
170
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
171
|
+
visualFocusIndex = _useState10[0],
|
|
172
|
+
changeVisualFocusIndex = _useState10[1];
|
|
173
|
+
var _useState11 = (0, _react.useState)(false),
|
|
174
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
175
|
+
isOpen = _useState12[0],
|
|
176
|
+
changeIsOpen = _useState12[1];
|
|
205
177
|
var selectRef = (0, _react.useRef)(null);
|
|
206
178
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
179
|
+
var width = useWidth(selectRef.current);
|
|
207
180
|
var colorsTheme = (0, _useTheme["default"])();
|
|
208
181
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
209
182
|
var optionalItem = {
|
|
@@ -216,33 +189,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
216
189
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
217
190
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
218
191
|
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
219
|
-
|
|
220
192
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
193
|
+
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
194
|
+
}, [value, innerValue, options, multiple, optional, optionalItem]),
|
|
195
|
+
selectedOption = _useMemo.selectedOption,
|
|
196
|
+
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
226
197
|
var openOptions = function openOptions() {
|
|
227
198
|
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
228
199
|
};
|
|
229
|
-
|
|
230
200
|
var closeOptions = function closeOptions() {
|
|
231
201
|
if (isOpen) {
|
|
232
202
|
changeIsOpen(false);
|
|
233
203
|
changeVisualFocusIndex(-1);
|
|
234
204
|
}
|
|
235
205
|
};
|
|
236
|
-
|
|
237
206
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
238
207
|
var newValue;
|
|
239
|
-
|
|
240
208
|
if (multiple) {
|
|
241
|
-
|
|
209
|
+
var _ref2, _ref3;
|
|
210
|
+
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) {
|
|
242
211
|
return optionVal !== newOption.value;
|
|
243
|
-
});else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null &&
|
|
212
|
+
});else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
|
|
244
213
|
} else newValue = newOption.value;
|
|
245
|
-
|
|
246
214
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
247
215
|
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
248
216
|
value: newValue,
|
|
@@ -251,22 +219,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
251
219
|
value: newValue
|
|
252
220
|
});
|
|
253
221
|
};
|
|
254
|
-
|
|
255
222
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
256
223
|
searchable && selectSearchInputRef.current.focus();
|
|
257
|
-
|
|
258
224
|
if (isOpen) {
|
|
259
225
|
closeOptions();
|
|
260
226
|
setSearchValue("");
|
|
261
227
|
} else openOptions();
|
|
262
228
|
};
|
|
263
|
-
|
|
264
229
|
var handleSelectOnFocus = function handleSelectOnFocus(event) {
|
|
265
230
|
if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
|
|
266
231
|
};
|
|
267
|
-
|
|
268
232
|
var handleSelectOnBlur = function handleSelectOnBlur(event) {
|
|
269
|
-
// focus leaves container (outside, not to
|
|
233
|
+
// focus leaves container (outside, not to a child)
|
|
270
234
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
271
235
|
closeOptions();
|
|
272
236
|
setSearchValue("");
|
|
@@ -279,42 +243,36 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
279
243
|
});
|
|
280
244
|
}
|
|
281
245
|
};
|
|
282
|
-
|
|
283
246
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
284
|
-
switch (event.
|
|
285
|
-
case
|
|
286
|
-
|
|
247
|
+
switch (event.key) {
|
|
248
|
+
case "Down":
|
|
249
|
+
case "ArrowDown":
|
|
287
250
|
event.preventDefault();
|
|
288
251
|
singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
|
|
289
252
|
if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
|
|
290
253
|
});
|
|
291
254
|
openOptions();
|
|
292
255
|
break;
|
|
293
|
-
|
|
294
|
-
case
|
|
295
|
-
// Arrow Up
|
|
256
|
+
case "Up":
|
|
257
|
+
case "ArrowUp":
|
|
296
258
|
event.preventDefault();
|
|
297
259
|
singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
|
|
298
260
|
return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
|
|
299
261
|
});
|
|
300
262
|
openOptions();
|
|
301
263
|
break;
|
|
302
|
-
|
|
303
|
-
case
|
|
304
|
-
// Esc
|
|
264
|
+
case "Esc":
|
|
265
|
+
case "Escape":
|
|
305
266
|
event.preventDefault();
|
|
306
267
|
closeOptions();
|
|
307
268
|
setSearchValue("");
|
|
308
269
|
break;
|
|
309
|
-
|
|
310
|
-
case 13:
|
|
311
|
-
// Enter
|
|
270
|
+
case "Enter":
|
|
312
271
|
if (isOpen && visualFocusIndex >= 0) {
|
|
313
272
|
var accLength = optional && !multiple ? 1 : 0;
|
|
314
|
-
|
|
315
273
|
if (searchable) {
|
|
316
274
|
if (filteredOptions.length > 0) {
|
|
317
|
-
if (optional && !multiple && visualFocusIndex === 0 &&
|
|
275
|
+
if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
318
276
|
var groupLength = accLength + groupOption.options.length;
|
|
319
277
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
320
278
|
accLength = groupLength;
|
|
@@ -322,28 +280,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
322
280
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
323
281
|
}
|
|
324
282
|
} else {
|
|
325
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options
|
|
283
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
|
|
326
284
|
var groupLength = accLength + groupOption.options.length;
|
|
327
285
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
328
286
|
accLength = groupLength;
|
|
329
287
|
return groupLength > visualFocusIndex;
|
|
330
288
|
}) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
|
|
331
289
|
}
|
|
332
|
-
|
|
333
290
|
!multiple && closeOptions();
|
|
334
291
|
setSearchValue("");
|
|
335
292
|
}
|
|
336
|
-
|
|
337
293
|
break;
|
|
338
294
|
}
|
|
339
295
|
};
|
|
340
|
-
|
|
341
296
|
var handleSearchIOnChange = function handleSearchIOnChange(event) {
|
|
342
297
|
setSearchValue(event.target.value);
|
|
343
298
|
changeVisualFocusIndex(-1);
|
|
344
299
|
openOptions();
|
|
345
300
|
};
|
|
346
|
-
|
|
347
301
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
348
302
|
event.stopPropagation();
|
|
349
303
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
@@ -354,34 +308,15 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
354
308
|
value: []
|
|
355
309
|
});
|
|
356
310
|
};
|
|
357
|
-
|
|
358
311
|
var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
|
|
359
312
|
event.stopPropagation();
|
|
360
313
|
setSearchValue("");
|
|
361
314
|
};
|
|
362
|
-
|
|
363
315
|
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
364
316
|
handleSelectChangeValue(option);
|
|
365
317
|
!multiple && closeOptions();
|
|
366
318
|
setSearchValue("");
|
|
367
319
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
368
|
-
|
|
369
|
-
var handleListboxResize = function handleListboxResize() {
|
|
370
|
-
var _selectRef$current;
|
|
371
|
-
|
|
372
|
-
var rect = selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect();
|
|
373
|
-
setListboxStyles({
|
|
374
|
-
width: rect === null || rect === void 0 ? void 0 : rect.width
|
|
375
|
-
});
|
|
376
|
-
};
|
|
377
|
-
|
|
378
|
-
(0, _react.useEffect)(function () {
|
|
379
|
-
handleListboxResize();
|
|
380
|
-
window.addEventListener("resize", handleListboxResize);
|
|
381
|
-
return function () {
|
|
382
|
-
window.removeEventListener("resize", handleListboxResize);
|
|
383
|
-
};
|
|
384
|
-
}, [setListboxStyles]);
|
|
385
320
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
386
321
|
theme: colorsTheme.select
|
|
387
322
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -400,7 +335,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
400
335
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
401
336
|
open: isOpen
|
|
402
337
|
}, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
|
|
403
|
-
asChild: true
|
|
338
|
+
asChild: true,
|
|
339
|
+
type: undefined
|
|
404
340
|
}, /*#__PURE__*/_react["default"].createElement(Select, {
|
|
405
341
|
id: selectId,
|
|
406
342
|
disabled: disabled,
|
|
@@ -410,7 +346,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
410
346
|
onFocus: handleSelectOnFocus,
|
|
411
347
|
onKeyDown: handleSelectOnKeyDown,
|
|
412
348
|
ref: selectRef,
|
|
413
|
-
tabIndex: tabIndex,
|
|
349
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
414
350
|
role: "combobox",
|
|
415
351
|
"aria-controls": optionsListId,
|
|
416
352
|
"aria-disabled": disabled,
|
|
@@ -418,10 +354,10 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
418
354
|
"aria-haspopup": "listbox",
|
|
419
355
|
"aria-labelledby": label ? selectLabelId : undefined,
|
|
420
356
|
"aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
|
|
421
|
-
"aria-invalid": error ?
|
|
357
|
+
"aria-invalid": error ? true : false,
|
|
422
358
|
"aria-errormessage": error ? errorId : undefined,
|
|
423
359
|
"aria-required": !disabled && !optional
|
|
424
|
-
}, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
360
|
+
}, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
425
361
|
disabled: disabled
|
|
426
362
|
}, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
|
|
427
363
|
disabled: disabled,
|
|
@@ -435,7 +371,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
435
371
|
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
436
372
|
}, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
437
373
|
name: name,
|
|
438
|
-
|
|
374
|
+
disabled: disabled,
|
|
375
|
+
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,
|
|
439
376
|
readOnly: true,
|
|
440
377
|
"aria-hidden": "true"
|
|
441
378
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
@@ -449,12 +386,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
449
386
|
}), (!searchable || searchValue === "") && (multiple ? /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
450
387
|
disabled: disabled,
|
|
451
388
|
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
452
|
-
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
|
|
389
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, Array.isArray(selectedOption) && selectedOption.map(function (option) {
|
|
453
390
|
return option.label;
|
|
454
|
-
}).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
391
|
+
}).join(", ")), Array.isArray(selectedOption) && selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
455
392
|
disabled: disabled,
|
|
456
393
|
atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
|
|
457
|
-
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
|
|
394
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, !Array.isArray(selectedOption) ? (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder : placeholder)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
|
|
458
395
|
onMouseDown: function onMouseDown(event) {
|
|
459
396
|
// Avoid input to lose focus
|
|
460
397
|
event.preventDefault();
|
|
@@ -465,8 +402,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
465
402
|
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
466
403
|
}, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
467
404
|
disabled: disabled
|
|
468
|
-
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
405
|
+
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
469
406
|
sideOffset: 4,
|
|
407
|
+
style: {
|
|
408
|
+
zIndex: "2147483647"
|
|
409
|
+
},
|
|
470
410
|
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
471
411
|
// Avoid select to lose focus when the list is opened
|
|
472
412
|
event.preventDefault();
|
|
@@ -486,24 +426,23 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
486
426
|
optionalItem: optionalItem,
|
|
487
427
|
searchable: searchable,
|
|
488
428
|
handleOptionOnClick: handleOptionOnClick,
|
|
489
|
-
styles:
|
|
490
|
-
|
|
429
|
+
styles: {
|
|
430
|
+
width: width
|
|
431
|
+
}
|
|
432
|
+
})))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
491
433
|
id: errorId,
|
|
492
434
|
"aria-live": error ? "assertive" : "off"
|
|
493
435
|
}, error)));
|
|
494
436
|
});
|
|
495
|
-
|
|
496
437
|
var sizes = {
|
|
497
438
|
small: "240px",
|
|
498
439
|
medium: "360px",
|
|
499
440
|
large: "480px",
|
|
500
441
|
fillParent: "100%"
|
|
501
442
|
};
|
|
502
|
-
|
|
503
443
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
504
444
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
505
445
|
};
|
|
506
|
-
|
|
507
446
|
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) {
|
|
508
447
|
return calculateWidth(props.margin, props.size);
|
|
509
448
|
}, function (props) {
|
|
@@ -517,7 +456,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
517
456
|
}, function (props) {
|
|
518
457
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
519
458
|
});
|
|
520
|
-
|
|
521
459
|
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) {
|
|
522
460
|
return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
|
|
523
461
|
}, function (props) {
|
|
@@ -533,11 +471,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
|
|
|
533
471
|
}, function (props) {
|
|
534
472
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
535
473
|
});
|
|
536
|
-
|
|
537
474
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
538
475
|
return props.theme.optionalLabelFontWeight;
|
|
539
476
|
});
|
|
540
|
-
|
|
541
477
|
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) {
|
|
542
478
|
return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
|
|
543
479
|
}, function (props) {
|
|
@@ -551,7 +487,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
551
487
|
}, function (props) {
|
|
552
488
|
return props.theme.helperTextLineHeight;
|
|
553
489
|
});
|
|
554
|
-
|
|
555
490
|
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) {
|
|
556
491
|
return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
|
|
557
492
|
}, function (props) {
|
|
@@ -563,11 +498,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
|
|
|
563
498
|
}, function (props) {
|
|
564
499
|
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 ");
|
|
565
500
|
});
|
|
566
|
-
|
|
567
501
|
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) {
|
|
568
502
|
return props.theme.selectionIndicatorBorderColor;
|
|
569
503
|
});
|
|
570
|
-
|
|
571
504
|
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) {
|
|
572
505
|
return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
|
|
573
506
|
}, function (props) {
|
|
@@ -585,7 +518,6 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
585
518
|
}, function (props) {
|
|
586
519
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
587
520
|
});
|
|
588
|
-
|
|
589
521
|
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) {
|
|
590
522
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
591
523
|
}, function (props) {
|
|
@@ -595,9 +527,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
|
|
|
595
527
|
}, function (props) {
|
|
596
528
|
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 ");
|
|
597
529
|
});
|
|
598
|
-
|
|
599
530
|
var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
|
|
600
|
-
|
|
601
531
|
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) {
|
|
602
532
|
if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
|
|
603
533
|
}, function (props) {
|
|
@@ -609,11 +539,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
609
539
|
}, function (props) {
|
|
610
540
|
return props.theme.valueFontWeight;
|
|
611
541
|
});
|
|
612
|
-
|
|
613
542
|
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
614
|
-
|
|
615
543
|
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
616
|
-
|
|
617
544
|
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) {
|
|
618
545
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
619
546
|
}, function (props) {
|
|
@@ -625,21 +552,17 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
|
|
|
625
552
|
}, function (props) {
|
|
626
553
|
return props.theme.valueFontWeight;
|
|
627
554
|
});
|
|
628
|
-
|
|
629
555
|
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) {
|
|
630
556
|
return props.theme.errorIconColor;
|
|
631
557
|
});
|
|
632
|
-
|
|
633
558
|
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) {
|
|
634
559
|
return props.theme.errorMessageColor;
|
|
635
560
|
}, function (props) {
|
|
636
561
|
return props.theme.fontFamily;
|
|
637
562
|
});
|
|
638
|
-
|
|
639
563
|
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) {
|
|
640
564
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
641
565
|
});
|
|
642
|
-
|
|
643
566
|
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) {
|
|
644
567
|
return props.theme.fontFamily;
|
|
645
568
|
}, function (props) {
|
|
@@ -655,6 +578,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
|
|
|
655
578
|
}, function (props) {
|
|
656
579
|
return props.theme.activeActionIconColor;
|
|
657
580
|
});
|
|
658
|
-
|
|
659
|
-
var _default = DxcSelect;
|
|
660
|
-
exports["default"] = _default;
|
|
581
|
+
var _default = exports["default"] = DxcSelect;
|