@dxc-technology/halstack-react 0.0.0-f53e801 → 0.0.0-f6290b3
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 +1243 -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 +101 -125
- 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 +30 -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/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +47 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- 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.d.ts +1 -1
- package/badge/Badge.js +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/Bleed.stories.tsx +1 -0
- 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.js +19 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +69 -105
- package/button/Button.stories.tsx +152 -91
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +8 -4
- 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 +1395 -0
- package/common/variables.js +927 -1164
- 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/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -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 +60 -118
- package/dialog/Dialog.stories.tsx +320 -166
- package/dialog/Dialog.test.js +269 -32
- package/dialog/types.d.ts +18 -25
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +19 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +81 -132
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +410 -402
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +10 -35
- package/dropdown/types.d.ts +18 -20
- 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 +1 -1
- package/flex/Flex.js +40 -40
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +84 -8
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -117
- package/footer/Footer.stories.tsx +60 -19
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -26
- 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/grid/types.js +5 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +48 -133
- 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 +2 -7
- package/header/types.d.ts +7 -21
- 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 +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +29 -66
- package/layout/ApplicationLayout.stories.tsx +2 -1
- 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 +5 -6
- package/link/Link.js +25 -46
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +9 -5
- package/main.js +40 -59
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
- package/nav-tabs/Tab.js +118 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +47 -37
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -377
- package/number-input/types.d.ts +11 -5
- package/package.json +39 -42
- 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 +3 -4
- package/paragraph/Paragraph.js +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- 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.d.ts +2 -2
- package/progress-bar/ProgressBar.js +23 -55
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +15 -39
- package/quick-nav/QuickNav.stories.tsx +112 -20
- 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 +59 -105
- 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.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +166 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +152 -30
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +167 -144
- package/{resultsetTable → resultset-table}/types.d.ts +13 -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 +17 -73
- package/select/Option.js +27 -50
- package/select/Select.js +123 -176
- package/select/Select.stories.tsx +497 -153
- package/select/Select.test.js +1970 -1775
- package/select/types.d.ts +16 -17
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +82 -153
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +31 -28
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +146 -179
- package/slider/Slider.test.js +164 -97
- 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/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +113 -150
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +70 -102
- package/switch/types.d.ts +8 -3
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +87 -35
- package/table/Table.stories.tsx +658 -0
- package/table/Table.test.js +95 -8
- package/table/types.d.ts +48 -6
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +116 -0
- package/tabs/Tabs.js +314 -141
- package/tabs/Tabs.stories.tsx +120 -6
- 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 +301 -497
- package/text-input/TextInput.stories.tsx +266 -274
- package/text-input/TextInput.test.js +1419 -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 +2 -2
- package/typography/Typography.js +15 -123
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1147 -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 +124 -0
- package/wizard/Wizard.js +16 -51
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +9 -10
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- 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.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -254
- package/slider/Slider.stories.tsx +0 -177
- package/table/Table.stories.jsx +0 -277
- package/tabs-nav/Tab.js +0 -130
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → container}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +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,76 +97,93 @@ 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
|
-
|
|
105
|
+
var getSelectedOptionLabel = function getSelectedOptionLabel(placeholder, selectedOption) {
|
|
106
|
+
var _selectedOption$label;
|
|
107
|
+
if (Array.isArray(selectedOption)) return selectedOption.length === 0 ? placeholder : selectedOption.map(function (option) {
|
|
108
|
+
return option.label;
|
|
109
|
+
}).join(", ");else return (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder;
|
|
110
|
+
};
|
|
139
111
|
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
140
112
|
return !optional && (multiple ? value.length === 0 : value === "");
|
|
141
113
|
};
|
|
142
|
-
|
|
114
|
+
var useWidth = function useWidth(target) {
|
|
115
|
+
var _useState = (0, _react.useState)(0),
|
|
116
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
117
|
+
width = _useState2[0],
|
|
118
|
+
setWidth = _useState2[1];
|
|
119
|
+
(0, _react.useEffect)(function () {
|
|
120
|
+
if (target != null) {
|
|
121
|
+
setWidth(target.getBoundingClientRect().width);
|
|
122
|
+
var triggerObserver = new ResizeObserver(function (entries) {
|
|
123
|
+
var rect = entries[0].target.getBoundingClientRect();
|
|
124
|
+
setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
|
|
125
|
+
});
|
|
126
|
+
triggerObserver.observe(target);
|
|
127
|
+
return function () {
|
|
128
|
+
triggerObserver.unobserve(target);
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}, [target]);
|
|
132
|
+
return width;
|
|
133
|
+
};
|
|
143
134
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
144
|
-
var
|
|
145
|
-
|
|
135
|
+
var _ref4;
|
|
146
136
|
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
|
-
|
|
137
|
+
_ref$name = _ref.name,
|
|
138
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
139
|
+
defaultValue = _ref.defaultValue,
|
|
140
|
+
value = _ref.value,
|
|
141
|
+
options = _ref.options,
|
|
142
|
+
helperText = _ref.helperText,
|
|
143
|
+
_ref$placeholder = _ref.placeholder,
|
|
144
|
+
placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
|
|
145
|
+
_ref$disabled = _ref.disabled,
|
|
146
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
147
|
+
_ref$optional = _ref.optional,
|
|
148
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
149
|
+
_ref$searchable = _ref.searchable,
|
|
150
|
+
searchable = _ref$searchable === void 0 ? false : _ref$searchable,
|
|
151
|
+
_ref$multiple = _ref.multiple,
|
|
152
|
+
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
153
|
+
onChange = _ref.onChange,
|
|
154
|
+
onBlur = _ref.onBlur,
|
|
155
|
+
error = _ref.error,
|
|
156
|
+
margin = _ref.margin,
|
|
157
|
+
_ref$size = _ref.size,
|
|
158
|
+
size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
159
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
160
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
161
|
+
var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
|
|
162
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
163
|
+
selectId = _useState4[0];
|
|
176
164
|
var selectLabelId = "label-".concat(selectId);
|
|
177
165
|
var errorId = "error-".concat(selectId);
|
|
178
166
|
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
|
-
|
|
167
|
+
var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
168
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
169
|
+
innerValue = _useState6[0],
|
|
170
|
+
setInnerValue = _useState6[1];
|
|
171
|
+
var _useState7 = (0, _react.useState)(""),
|
|
172
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
173
|
+
searchValue = _useState8[0],
|
|
174
|
+
setSearchValue = _useState8[1];
|
|
175
|
+
var _useState9 = (0, _react.useState)(-1),
|
|
176
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
177
|
+
visualFocusIndex = _useState10[0],
|
|
178
|
+
changeVisualFocusIndex = _useState10[1];
|
|
179
|
+
var _useState11 = (0, _react.useState)(false),
|
|
180
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
181
|
+
isOpen = _useState12[0],
|
|
182
|
+
changeIsOpen = _useState12[1];
|
|
200
183
|
var selectRef = (0, _react.useRef)(null);
|
|
201
184
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
185
|
+
var selectedOptionLabelRef = (0, _react.useRef)(null);
|
|
186
|
+
var width = useWidth(selectRef.current);
|
|
202
187
|
var colorsTheme = (0, _useTheme["default"])();
|
|
203
188
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
204
189
|
var optionalItem = {
|
|
@@ -211,33 +196,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
211
196
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
212
197
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
213
198
|
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
214
|
-
|
|
215
199
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
200
|
+
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
201
|
+
}, [value, innerValue, options, multiple, optional, optionalItem]),
|
|
202
|
+
selectedOption = _useMemo.selectedOption,
|
|
203
|
+
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
221
204
|
var openOptions = function openOptions() {
|
|
222
205
|
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
223
206
|
};
|
|
224
|
-
|
|
225
207
|
var closeOptions = function closeOptions() {
|
|
226
208
|
if (isOpen) {
|
|
227
209
|
changeIsOpen(false);
|
|
228
210
|
changeVisualFocusIndex(-1);
|
|
229
211
|
}
|
|
230
212
|
};
|
|
231
|
-
|
|
232
213
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
233
214
|
var newValue;
|
|
234
|
-
|
|
235
215
|
if (multiple) {
|
|
236
|
-
|
|
216
|
+
var _ref2, _ref3;
|
|
217
|
+
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) {
|
|
237
218
|
return optionVal !== newOption.value;
|
|
238
|
-
});else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null &&
|
|
219
|
+
});else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
|
|
239
220
|
} else newValue = newOption.value;
|
|
240
|
-
|
|
241
221
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
242
222
|
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
243
223
|
value: newValue,
|
|
@@ -246,22 +226,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
246
226
|
value: newValue
|
|
247
227
|
});
|
|
248
228
|
};
|
|
249
|
-
|
|
250
229
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
251
230
|
searchable && selectSearchInputRef.current.focus();
|
|
252
|
-
|
|
253
231
|
if (isOpen) {
|
|
254
232
|
closeOptions();
|
|
255
233
|
setSearchValue("");
|
|
256
234
|
} else openOptions();
|
|
257
235
|
};
|
|
258
|
-
|
|
259
236
|
var handleSelectOnFocus = function handleSelectOnFocus(event) {
|
|
260
237
|
if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
|
|
261
238
|
};
|
|
262
|
-
|
|
263
239
|
var handleSelectOnBlur = function handleSelectOnBlur(event) {
|
|
264
|
-
// focus leaves container (outside, not to
|
|
240
|
+
// focus leaves container (outside, not to a child)
|
|
265
241
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
266
242
|
closeOptions();
|
|
267
243
|
setSearchValue("");
|
|
@@ -274,7 +250,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
274
250
|
});
|
|
275
251
|
}
|
|
276
252
|
};
|
|
277
|
-
|
|
278
253
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
279
254
|
switch (event.key) {
|
|
280
255
|
case "Down":
|
|
@@ -285,7 +260,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
285
260
|
});
|
|
286
261
|
openOptions();
|
|
287
262
|
break;
|
|
288
|
-
|
|
289
263
|
case "Up":
|
|
290
264
|
case "ArrowUp":
|
|
291
265
|
event.preventDefault();
|
|
@@ -294,21 +268,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
294
268
|
});
|
|
295
269
|
openOptions();
|
|
296
270
|
break;
|
|
297
|
-
|
|
298
271
|
case "Esc":
|
|
299
272
|
case "Escape":
|
|
300
273
|
event.preventDefault();
|
|
301
274
|
closeOptions();
|
|
302
275
|
setSearchValue("");
|
|
303
276
|
break;
|
|
304
|
-
|
|
305
277
|
case "Enter":
|
|
306
278
|
if (isOpen && visualFocusIndex >= 0) {
|
|
307
279
|
var accLength = optional && !multiple ? 1 : 0;
|
|
308
|
-
|
|
309
280
|
if (searchable) {
|
|
310
281
|
if (filteredOptions.length > 0) {
|
|
311
|
-
if (optional && !multiple && visualFocusIndex === 0 &&
|
|
282
|
+
if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
312
283
|
var groupLength = accLength + groupOption.options.length;
|
|
313
284
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
314
285
|
accLength = groupLength;
|
|
@@ -316,28 +287,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
316
287
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
317
288
|
}
|
|
318
289
|
} else {
|
|
319
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options
|
|
290
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
|
|
320
291
|
var groupLength = accLength + groupOption.options.length;
|
|
321
292
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
322
293
|
accLength = groupLength;
|
|
323
294
|
return groupLength > visualFocusIndex;
|
|
324
295
|
}) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
|
|
325
296
|
}
|
|
326
|
-
|
|
327
297
|
!multiple && closeOptions();
|
|
328
298
|
setSearchValue("");
|
|
329
299
|
}
|
|
330
|
-
|
|
331
300
|
break;
|
|
332
301
|
}
|
|
333
302
|
};
|
|
334
|
-
|
|
335
303
|
var handleSearchIOnChange = function handleSearchIOnChange(event) {
|
|
336
304
|
setSearchValue(event.target.value);
|
|
337
305
|
changeVisualFocusIndex(-1);
|
|
338
306
|
openOptions();
|
|
339
307
|
};
|
|
340
|
-
|
|
341
308
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
342
309
|
event.stopPropagation();
|
|
343
310
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
@@ -348,23 +315,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
348
315
|
value: []
|
|
349
316
|
});
|
|
350
317
|
};
|
|
351
|
-
|
|
352
318
|
var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
|
|
353
319
|
event.stopPropagation();
|
|
354
320
|
setSearchValue("");
|
|
355
321
|
};
|
|
356
|
-
|
|
357
322
|
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
358
323
|
handleSelectChangeValue(option);
|
|
359
324
|
!multiple && closeOptions();
|
|
360
325
|
setSearchValue("");
|
|
361
326
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
}, []);
|
|
327
|
+
(0, _react.useEffect)(function () {
|
|
328
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
|
|
329
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.scrollWidth) > (selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.clientWidth)) selectedOptionLabelRef.current.title = getSelectedOptionLabel(placeholder, selectedOption);else selectedOptionLabelRef.current.title = "";
|
|
330
|
+
}
|
|
331
|
+
}, [placeholder, selectedOption]);
|
|
368
332
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
369
333
|
theme: colorsTheme.select
|
|
370
334
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -383,7 +347,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
383
347
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
384
348
|
open: isOpen
|
|
385
349
|
}, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
|
|
386
|
-
asChild: true
|
|
350
|
+
asChild: true,
|
|
351
|
+
type: undefined
|
|
387
352
|
}, /*#__PURE__*/_react["default"].createElement(Select, {
|
|
388
353
|
id: selectId,
|
|
389
354
|
disabled: disabled,
|
|
@@ -404,7 +369,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
404
369
|
"aria-invalid": error ? true : false,
|
|
405
370
|
"aria-errormessage": error ? errorId : undefined,
|
|
406
371
|
"aria-required": !disabled && !optional
|
|
407
|
-
}, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
372
|
+
}, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
408
373
|
disabled: disabled
|
|
409
374
|
}, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
|
|
410
375
|
disabled: disabled,
|
|
@@ -418,7 +383,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
418
383
|
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
419
384
|
}, _Icons["default"].clear)), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
420
385
|
name: name,
|
|
421
|
-
|
|
386
|
+
disabled: disabled,
|
|
387
|
+
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,
|
|
422
388
|
readOnly: true,
|
|
423
389
|
"aria-hidden": "true"
|
|
424
390
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
@@ -429,15 +395,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
429
395
|
autoComplete: "nope",
|
|
430
396
|
autoCorrect: "nope",
|
|
431
397
|
size: 1
|
|
432
|
-
}), (!searchable || searchValue === "") &&
|
|
433
|
-
disabled: disabled,
|
|
434
|
-
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
435
|
-
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, null, selectedOption.map(function (option) {
|
|
436
|
-
return option.label;
|
|
437
|
-
}).join(", ")), selectedOption.length === 0 && placeholder) : /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
398
|
+
}), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
438
399
|
disabled: disabled,
|
|
439
|
-
atBackground: !(value !== null && value !== void 0 ? value : innerValue) || searchable && isOpen
|
|
440
|
-
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel,
|
|
400
|
+
atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
|
|
401
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
|
|
402
|
+
ref: selectedOptionLabelRef
|
|
403
|
+
}, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, _Icons["default"].error), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
|
|
441
404
|
onMouseDown: function onMouseDown(event) {
|
|
442
405
|
// Avoid input to lose focus
|
|
443
406
|
event.preventDefault();
|
|
@@ -448,8 +411,11 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
448
411
|
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
449
412
|
}, _Icons["default"].clear), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
450
413
|
disabled: disabled
|
|
451
|
-
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
414
|
+
}, isOpen ? _Icons["default"].arrowUp : _Icons["default"].arrowDown))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
452
415
|
sideOffset: 4,
|
|
416
|
+
style: {
|
|
417
|
+
zIndex: "2147483647"
|
|
418
|
+
},
|
|
453
419
|
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
454
420
|
// Avoid select to lose focus when the list is opened
|
|
455
421
|
event.preventDefault();
|
|
@@ -469,24 +435,23 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
469
435
|
optionalItem: optionalItem,
|
|
470
436
|
searchable: searchable,
|
|
471
437
|
handleOptionOnClick: handleOptionOnClick,
|
|
472
|
-
|
|
473
|
-
|
|
438
|
+
styles: {
|
|
439
|
+
width: width
|
|
440
|
+
}
|
|
441
|
+
})))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
474
442
|
id: errorId,
|
|
475
443
|
"aria-live": error ? "assertive" : "off"
|
|
476
444
|
}, error)));
|
|
477
445
|
});
|
|
478
|
-
|
|
479
446
|
var sizes = {
|
|
480
447
|
small: "240px",
|
|
481
448
|
medium: "360px",
|
|
482
449
|
large: "480px",
|
|
483
450
|
fillParent: "100%"
|
|
484
451
|
};
|
|
485
|
-
|
|
486
452
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
487
453
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
488
454
|
};
|
|
489
|
-
|
|
490
455
|
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
456
|
return calculateWidth(props.margin, props.size);
|
|
492
457
|
}, function (props) {
|
|
@@ -500,7 +465,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
500
465
|
}, function (props) {
|
|
501
466
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
502
467
|
});
|
|
503
|
-
|
|
504
468
|
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
469
|
return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
|
|
506
470
|
}, function (props) {
|
|
@@ -516,11 +480,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
|
|
|
516
480
|
}, function (props) {
|
|
517
481
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
518
482
|
});
|
|
519
|
-
|
|
520
483
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
521
484
|
return props.theme.optionalLabelFontWeight;
|
|
522
485
|
});
|
|
523
|
-
|
|
524
486
|
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
487
|
return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
|
|
526
488
|
}, function (props) {
|
|
@@ -534,7 +496,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
534
496
|
}, function (props) {
|
|
535
497
|
return props.theme.helperTextLineHeight;
|
|
536
498
|
});
|
|
537
|
-
|
|
538
499
|
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
500
|
return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
|
|
540
501
|
}, function (props) {
|
|
@@ -546,11 +507,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
|
|
|
546
507
|
}, function (props) {
|
|
547
508
|
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
509
|
});
|
|
549
|
-
|
|
550
510
|
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
511
|
return props.theme.selectionIndicatorBorderColor;
|
|
552
512
|
});
|
|
553
|
-
|
|
554
513
|
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
514
|
return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
|
|
556
515
|
}, function (props) {
|
|
@@ -568,7 +527,6 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
568
527
|
}, function (props) {
|
|
569
528
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
570
529
|
});
|
|
571
|
-
|
|
572
530
|
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) {
|
|
573
531
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
574
532
|
}, function (props) {
|
|
@@ -578,9 +536,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
|
|
|
578
536
|
}, function (props) {
|
|
579
537
|
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 ");
|
|
580
538
|
});
|
|
581
|
-
|
|
582
539
|
var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
|
|
583
|
-
|
|
584
540
|
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) {
|
|
585
541
|
if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
|
|
586
542
|
}, function (props) {
|
|
@@ -592,11 +548,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
592
548
|
}, function (props) {
|
|
593
549
|
return props.theme.valueFontWeight;
|
|
594
550
|
});
|
|
595
|
-
|
|
596
551
|
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
597
|
-
|
|
598
552
|
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
599
|
-
|
|
600
553
|
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) {
|
|
601
554
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
602
555
|
}, function (props) {
|
|
@@ -608,21 +561,17 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
|
|
|
608
561
|
}, function (props) {
|
|
609
562
|
return props.theme.valueFontWeight;
|
|
610
563
|
});
|
|
611
|
-
|
|
612
564
|
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) {
|
|
613
565
|
return props.theme.errorIconColor;
|
|
614
566
|
});
|
|
615
|
-
|
|
616
567
|
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) {
|
|
617
568
|
return props.theme.errorMessageColor;
|
|
618
569
|
}, function (props) {
|
|
619
570
|
return props.theme.fontFamily;
|
|
620
571
|
});
|
|
621
|
-
|
|
622
572
|
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) {
|
|
623
573
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
624
574
|
});
|
|
625
|
-
|
|
626
575
|
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) {
|
|
627
576
|
return props.theme.fontFamily;
|
|
628
577
|
}, function (props) {
|
|
@@ -638,6 +587,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
|
|
|
638
587
|
}, function (props) {
|
|
639
588
|
return props.theme.activeActionIconColor;
|
|
640
589
|
});
|
|
641
|
-
|
|
642
|
-
var _default = DxcSelect;
|
|
643
|
-
exports["default"] = _default;
|
|
590
|
+
var _default = exports["default"] = DxcSelect;
|