@dxc-technology/halstack-react 10.1.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +45 -143
- package/HalstackContext.js +10 -35
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +33 -84
- package/accordion/Accordion.stories.tsx +8 -64
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +24 -24
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -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.accessibility.test.js +95 -0
- package/alert/Alert.js +34 -120
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -42
- 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/types.d.ts +2 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +36 -59
- package/button/Button.stories.tsx +35 -135
- package/button/Button.test.js +13 -21
- package/button/types.d.ts +5 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +23 -45
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +88 -123
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +22 -36
- package/chip/Chip.stories.tsx +10 -25
- package/chip/Chip.test.js +17 -30
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +40 -23
- package/common/utils.js +2 -8
- package/common/variables.d.ts +46 -144
- package/common/variables.js +120 -225
- 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/container/types.js +5 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +51 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +53 -100
- package/date-input/DateInput.stories.tsx +19 -31
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +23 -48
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -22
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +21 -59
- package/dialog/Dialog.stories.tsx +176 -0
- package/dialog/Dialog.test.js +126 -188
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.accessibility.test.js +33 -0
- 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 +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +63 -130
- package/dropdown/Dropdown.stories.tsx +15 -26
- package/dropdown/Dropdown.test.js +402 -389
- package/dropdown/DropdownMenu.js +12 -23
- package/dropdown/DropdownMenuItem.js +13 -21
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +180 -284
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +279 -354
- package/file-input/FileItem.js +29 -66
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +43 -68
- package/footer/Footer.stories.tsx +58 -2
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +53 -22
- package/footer/types.d.ts +17 -17
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.accessibility.test.js +93 -0
- package/header/Header.d.ts +1 -1
- package/header/Header.js +38 -104
- package/header/Header.stories.tsx +16 -0
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +3 -13
- package/header/types.d.ts +7 -8
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.d.ts +2 -2
- package/image/Image.js +17 -32
- package/image/Image.stories.tsx +3 -1
- package/image/types.d.ts +2 -2
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +23 -60
- package/layout/Icons.d.ts +4 -5
- package/layout/Icons.js +2 -16
- package/layout/types.d.ts +3 -3
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +28 -47
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +8 -4
- package/main.js +39 -60
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +30 -25
- package/nav-tabs/NavTabs.test.js +45 -50
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +38 -67
- package/nav-tabs/types.d.ts +10 -10
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +47 -39
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +839 -575
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +17 -5
- package/package.json +41 -37
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +27 -52
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +32 -54
- package/password-input/PasswordInput.stories.tsx +1 -34
- package/password-input/PasswordInput.test.js +153 -129
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +26 -56
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +38 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +45 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +118 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.js +40 -54
- package/select/Option.js +28 -36
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +107 -171
- package/select/Select.stories.tsx +59 -111
- package/select/Select.test.js +1895 -1858
- package/select/types.d.ts +15 -16
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +44 -81
- package/sidenav/Sidenav.stories.tsx +4 -9
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +20 -20
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +70 -126
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +21 -55
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.js +157 -0
- 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.accessibility.test.js +98 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +12 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +309 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +22 -37
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +59 -147
- package/tabs/Tabs.stories.tsx +8 -4
- package/tabs/Tabs.test.js +57 -131
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +27 -57
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.js +17 -36
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +30 -70
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +203 -289
- package/text-input/TextInput.stories.tsx +65 -160
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +68 -109
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +25 -64
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +48 -81
- package/toggle-group/types.d.ts +12 -12
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +43 -141
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +25 -39
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +27 -73
- package/wizard/Wizard.stories.tsx +19 -0
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +8 -8
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -75
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -54
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -39
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -51
- package/slider/Slider.stories.tsx +0 -240
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +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
17
|
var _variables = require("../common/variables");
|
|
29
|
-
|
|
30
18
|
var _uuid = require("uuid");
|
|
31
|
-
|
|
32
19
|
var _utils = require("../common/utils");
|
|
33
|
-
|
|
34
|
-
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
35
|
-
|
|
36
20
|
var _Listbox = _interopRequireDefault(require("./Listbox"));
|
|
37
|
-
|
|
38
21
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
39
|
-
|
|
22
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
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 && {}.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) && Array.isArray(selectedOption)) 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,23 +97,25 @@ 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
|
-
|
|
143
114
|
var useWidth = function useWidth(target) {
|
|
144
115
|
var _useState = (0, _react.useState)(0),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
116
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
117
|
+
width = _useState2[0],
|
|
118
|
+
setWidth = _useState2[1];
|
|
149
119
|
(0, _react.useEffect)(function () {
|
|
150
120
|
if (target != null) {
|
|
151
121
|
setWidth(target.getBoundingClientRect().width);
|
|
@@ -161,66 +131,59 @@ var useWidth = function useWidth(target) {
|
|
|
161
131
|
}, [target]);
|
|
162
132
|
return width;
|
|
163
133
|
};
|
|
164
|
-
|
|
165
134
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
166
|
-
var _ref4
|
|
167
|
-
|
|
135
|
+
var _ref4;
|
|
168
136
|
var label = _ref.label,
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
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;
|
|
194
161
|
var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
162
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
163
|
+
selectId = _useState4[0];
|
|
198
164
|
var selectLabelId = "label-".concat(selectId);
|
|
165
|
+
var searchableInputId = "searchable-input-".concat(selectId);
|
|
199
166
|
var errorId = "error-".concat(selectId);
|
|
200
167
|
var optionsListId = "".concat(selectId, "-listbox");
|
|
201
|
-
|
|
202
168
|
var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
169
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
170
|
+
innerValue = _useState6[0],
|
|
171
|
+
setInnerValue = _useState6[1];
|
|
207
172
|
var _useState7 = (0, _react.useState)(""),
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
173
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
174
|
+
searchValue = _useState8[0],
|
|
175
|
+
setSearchValue = _useState8[1];
|
|
212
176
|
var _useState9 = (0, _react.useState)(-1),
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
177
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
178
|
+
visualFocusIndex = _useState10[0],
|
|
179
|
+
changeVisualFocusIndex = _useState10[1];
|
|
217
180
|
var _useState11 = (0, _react.useState)(false),
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
181
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
182
|
+
isOpen = _useState12[0],
|
|
183
|
+
changeIsOpen = _useState12[1];
|
|
222
184
|
var selectRef = (0, _react.useRef)(null);
|
|
223
185
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
186
|
+
var selectedOptionLabelRef = (0, _react.useRef)(null);
|
|
224
187
|
var width = useWidth(selectRef.current);
|
|
225
188
|
var colorsTheme = (0, _useTheme["default"])();
|
|
226
189
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
@@ -234,35 +197,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
234
197
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
235
198
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
236
199
|
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
237
|
-
|
|
238
200
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
201
|
+
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
202
|
+
}, [value, innerValue, options, multiple, optional, optionalItem]),
|
|
203
|
+
selectedOption = _useMemo.selectedOption,
|
|
204
|
+
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
244
205
|
var openOptions = function openOptions() {
|
|
245
206
|
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
246
207
|
};
|
|
247
|
-
|
|
248
208
|
var closeOptions = function closeOptions() {
|
|
249
209
|
if (isOpen) {
|
|
250
210
|
changeIsOpen(false);
|
|
251
211
|
changeVisualFocusIndex(-1);
|
|
252
212
|
}
|
|
253
213
|
};
|
|
254
|
-
|
|
255
214
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
256
215
|
var newValue;
|
|
257
|
-
|
|
258
216
|
if (multiple) {
|
|
259
217
|
var _ref2, _ref3;
|
|
260
|
-
|
|
261
218
|
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = ((_ref2 = value && Array.isArray(value) && value) !== null && _ref2 !== void 0 ? _ref2 : innerValue && Array.isArray(innerValue) && innerValue).filter(function (optionVal) {
|
|
262
219
|
return optionVal !== newOption.value;
|
|
263
220
|
});else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
|
|
264
221
|
} else newValue = newOption.value;
|
|
265
|
-
|
|
266
222
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
267
223
|
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
268
224
|
value: newValue,
|
|
@@ -271,22 +227,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
271
227
|
value: newValue
|
|
272
228
|
});
|
|
273
229
|
};
|
|
274
|
-
|
|
275
230
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
276
231
|
searchable && selectSearchInputRef.current.focus();
|
|
277
|
-
|
|
278
232
|
if (isOpen) {
|
|
279
233
|
closeOptions();
|
|
280
234
|
setSearchValue("");
|
|
281
235
|
} else openOptions();
|
|
282
236
|
};
|
|
283
|
-
|
|
284
237
|
var handleSelectOnFocus = function handleSelectOnFocus(event) {
|
|
285
238
|
if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
|
|
286
239
|
};
|
|
287
|
-
|
|
288
240
|
var handleSelectOnBlur = function handleSelectOnBlur(event) {
|
|
289
|
-
// focus leaves container (outside, not to
|
|
241
|
+
// focus leaves container (outside, not to a child)
|
|
290
242
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
291
243
|
closeOptions();
|
|
292
244
|
setSearchValue("");
|
|
@@ -299,7 +251,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
299
251
|
});
|
|
300
252
|
}
|
|
301
253
|
};
|
|
302
|
-
|
|
303
254
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
304
255
|
switch (event.key) {
|
|
305
256
|
case "Down":
|
|
@@ -310,7 +261,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
310
261
|
});
|
|
311
262
|
openOptions();
|
|
312
263
|
break;
|
|
313
|
-
|
|
314
264
|
case "Up":
|
|
315
265
|
case "ArrowUp":
|
|
316
266
|
event.preventDefault();
|
|
@@ -319,21 +269,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
319
269
|
});
|
|
320
270
|
openOptions();
|
|
321
271
|
break;
|
|
322
|
-
|
|
323
272
|
case "Esc":
|
|
324
273
|
case "Escape":
|
|
325
274
|
event.preventDefault();
|
|
326
275
|
closeOptions();
|
|
327
276
|
setSearchValue("");
|
|
328
277
|
break;
|
|
329
|
-
|
|
330
278
|
case "Enter":
|
|
331
279
|
if (isOpen && visualFocusIndex >= 0) {
|
|
332
280
|
var accLength = optional && !multiple ? 1 : 0;
|
|
333
|
-
|
|
334
281
|
if (searchable) {
|
|
335
282
|
if (filteredOptions.length > 0) {
|
|
336
|
-
if (optional && !multiple && visualFocusIndex === 0 &&
|
|
283
|
+
if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
337
284
|
var groupLength = accLength + groupOption.options.length;
|
|
338
285
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
339
286
|
accLength = groupLength;
|
|
@@ -341,28 +288,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
341
288
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
342
289
|
}
|
|
343
290
|
} else {
|
|
344
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options
|
|
291
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
|
|
345
292
|
var groupLength = accLength + groupOption.options.length;
|
|
346
293
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
347
294
|
accLength = groupLength;
|
|
348
295
|
return groupLength > visualFocusIndex;
|
|
349
296
|
}) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
|
|
350
297
|
}
|
|
351
|
-
|
|
352
298
|
!multiple && closeOptions();
|
|
353
299
|
setSearchValue("");
|
|
354
300
|
}
|
|
355
|
-
|
|
356
301
|
break;
|
|
357
302
|
}
|
|
358
303
|
};
|
|
359
|
-
|
|
360
304
|
var handleSearchIOnChange = function handleSearchIOnChange(event) {
|
|
361
305
|
setSearchValue(event.target.value);
|
|
362
306
|
changeVisualFocusIndex(-1);
|
|
363
307
|
openOptions();
|
|
364
308
|
};
|
|
365
|
-
|
|
366
309
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
367
310
|
event.stopPropagation();
|
|
368
311
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
@@ -373,17 +316,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
373
316
|
value: []
|
|
374
317
|
});
|
|
375
318
|
};
|
|
376
|
-
|
|
377
319
|
var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
|
|
378
320
|
event.stopPropagation();
|
|
379
321
|
setSearchValue("");
|
|
380
322
|
};
|
|
381
|
-
|
|
382
323
|
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
383
324
|
handleSelectChangeValue(option);
|
|
384
325
|
!multiple && closeOptions();
|
|
385
326
|
setSearchValue("");
|
|
386
327
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
328
|
+
(0, _react.useEffect)(function () {
|
|
329
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
|
|
330
|
+
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 = "";
|
|
331
|
+
}
|
|
332
|
+
}, [placeholder, selectedOption]);
|
|
387
333
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
388
334
|
theme: colorsTheme.select
|
|
389
335
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -396,7 +342,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
396
342
|
onClick: function onClick() {
|
|
397
343
|
selectRef.current.focus();
|
|
398
344
|
},
|
|
399
|
-
helperText: helperText
|
|
345
|
+
helperText: helperText,
|
|
346
|
+
htmlFor: searchable ? searchableInputId : undefined
|
|
400
347
|
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
401
348
|
disabled: disabled
|
|
402
349
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
@@ -436,13 +383,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
436
383
|
tabIndex: -1,
|
|
437
384
|
title: translatedLabels.select.actionClearSelectionTitle,
|
|
438
385
|
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
439
|
-
},
|
|
386
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
387
|
+
icon: "clear"
|
|
388
|
+
}))), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
440
389
|
name: name,
|
|
441
390
|
disabled: disabled,
|
|
442
391
|
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,
|
|
443
392
|
readOnly: true,
|
|
444
393
|
"aria-hidden": "true"
|
|
445
394
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
395
|
+
id: searchableInputId,
|
|
446
396
|
value: searchValue,
|
|
447
397
|
disabled: disabled,
|
|
448
398
|
onChange: handleSearchIOnChange,
|
|
@@ -450,15 +400,14 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
450
400
|
autoComplete: "nope",
|
|
451
401
|
autoCorrect: "nope",
|
|
452
402
|
size: 1
|
|
453
|
-
}), (!searchable || searchValue === "") &&
|
|
403
|
+
}), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
454
404
|
disabled: disabled,
|
|
455
|
-
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
456
|
-
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel,
|
|
457
|
-
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
}, /*#__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, {
|
|
405
|
+
atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
|
|
406
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
|
|
407
|
+
ref: selectedOptionLabelRef
|
|
408
|
+
}, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
409
|
+
icon: "filled_error"
|
|
410
|
+
})), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
|
|
462
411
|
onMouseDown: function onMouseDown(event) {
|
|
463
412
|
// Avoid input to lose focus
|
|
464
413
|
event.preventDefault();
|
|
@@ -467,10 +416,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
467
416
|
tabIndex: -1,
|
|
468
417
|
title: translatedLabels.select.actionClearSearchTitle,
|
|
469
418
|
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
470
|
-
},
|
|
419
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
420
|
+
icon: "clear"
|
|
421
|
+
})), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
471
422
|
disabled: disabled
|
|
472
|
-
},
|
|
423
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
424
|
+
icon: isOpen ? "keyboard_arrow_up" : "keyboard_arrow_down"
|
|
425
|
+
})))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
473
426
|
sideOffset: 4,
|
|
427
|
+
style: {
|
|
428
|
+
zIndex: "2147483647"
|
|
429
|
+
},
|
|
474
430
|
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
475
431
|
// Avoid select to lose focus when the list is opened
|
|
476
432
|
event.preventDefault();
|
|
@@ -493,23 +449,21 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
493
449
|
styles: {
|
|
494
450
|
width: width
|
|
495
451
|
}
|
|
496
|
-
}))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
452
|
+
})))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
497
453
|
id: errorId,
|
|
454
|
+
role: "alert",
|
|
498
455
|
"aria-live": error ? "assertive" : "off"
|
|
499
456
|
}, error)));
|
|
500
457
|
});
|
|
501
|
-
|
|
502
458
|
var sizes = {
|
|
503
459
|
small: "240px",
|
|
504
460
|
medium: "360px",
|
|
505
461
|
large: "480px",
|
|
506
462
|
fillParent: "100%"
|
|
507
463
|
};
|
|
508
|
-
|
|
509
464
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
510
465
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
511
466
|
};
|
|
512
|
-
|
|
513
467
|
var SelectContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
514
468
|
return calculateWidth(props.margin, props.size);
|
|
515
469
|
}, function (props) {
|
|
@@ -523,8 +477,7 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
523
477
|
}, function (props) {
|
|
524
478
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
525
479
|
});
|
|
526
|
-
|
|
527
|
-
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) {
|
|
480
|
+
var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n ", "\n"])), function (props) {
|
|
528
481
|
return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
|
|
529
482
|
}, function (props) {
|
|
530
483
|
return props.theme.fontFamily;
|
|
@@ -539,11 +492,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
|
|
|
539
492
|
}, function (props) {
|
|
540
493
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
541
494
|
});
|
|
542
|
-
|
|
543
495
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
544
496
|
return props.theme.optionalLabelFontWeight;
|
|
545
497
|
});
|
|
546
|
-
|
|
547
498
|
var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: 0.25rem;\n"])), function (props) {
|
|
548
499
|
return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
|
|
549
500
|
}, function (props) {
|
|
@@ -557,7 +508,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
557
508
|
}, function (props) {
|
|
558
509
|
return props.theme.helperTextLineHeight;
|
|
559
510
|
});
|
|
560
|
-
|
|
561
511
|
var Select = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n outline: none;\n ", ";\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
|
|
562
512
|
return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
|
|
563
513
|
}, function (props) {
|
|
@@ -569,11 +519,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
|
|
|
569
519
|
}, function (props) {
|
|
570
520
|
return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.theme.hoverInputBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.theme.hoverInputErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusInputBorderColor, ";\n }\n ");
|
|
571
521
|
});
|
|
572
|
-
|
|
573
522
|
var SelectionIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n max-height: 22px;\n width: 46px;\n"])), function (props) {
|
|
574
523
|
return props.theme.selectionIndicatorBorderColor;
|
|
575
524
|
});
|
|
576
|
-
|
|
577
525
|
var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n user-select: none;\n ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"])), function (props) {
|
|
578
526
|
return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
|
|
579
527
|
}, function (props) {
|
|
@@ -591,8 +539,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
591
539
|
}, function (props) {
|
|
592
540
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
593
541
|
});
|
|
594
|
-
|
|
595
|
-
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) {
|
|
542
|
+
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 font-size:16px;\n"])), function (props) {
|
|
596
543
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
597
544
|
}, function (props) {
|
|
598
545
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -601,9 +548,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
|
|
|
601
548
|
}, function (props) {
|
|
602
549
|
return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.hoverSelectionIndicatorActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.activeSelectionIndicatorActionIconColor, ";\n }\n ");
|
|
603
550
|
});
|
|
604
|
-
|
|
605
551
|
var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
|
|
606
|
-
|
|
607
552
|
var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n display: inline-flex;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n user-select: none;\n overflow: hidden;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
608
553
|
if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
|
|
609
554
|
}, function (props) {
|
|
@@ -615,11 +560,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
615
560
|
}, function (props) {
|
|
616
561
|
return props.theme.valueFontWeight;
|
|
617
562
|
});
|
|
618
|
-
|
|
619
563
|
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
620
|
-
|
|
621
564
|
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
622
|
-
|
|
623
565
|
var SearchInput = _styledComponents["default"].input(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(2.5rem - 2px);\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
|
|
624
566
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
625
567
|
}, function (props) {
|
|
@@ -631,22 +573,18 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
|
|
|
631
573
|
}, function (props) {
|
|
632
574
|
return props.theme.valueFontWeight;
|
|
633
575
|
});
|
|
634
|
-
|
|
635
|
-
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) {
|
|
576
|
+
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 font-size: 1.25rem;\n"])), function (props) {
|
|
636
577
|
return props.theme.errorIconColor;
|
|
637
578
|
});
|
|
638
|
-
|
|
639
579
|
var Error = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
|
|
640
580
|
return props.theme.errorMessageColor;
|
|
641
581
|
}, function (props) {
|
|
642
582
|
return props.theme.fontFamily;
|
|
643
583
|
});
|
|
644
|
-
|
|
645
584
|
var CollapseIndicator = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: 0.25rem;\n color: ", ";\n"])), function (props) {
|
|
646
585
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
647
586
|
});
|
|
648
|
-
|
|
649
|
-
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) {
|
|
587
|
+
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 font-size: 16px;\n"])), function (props) {
|
|
650
588
|
return props.theme.fontFamily;
|
|
651
589
|
}, function (props) {
|
|
652
590
|
return props.theme.actionBackgroundColor;
|
|
@@ -661,6 +599,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
|
|
|
661
599
|
}, function (props) {
|
|
662
600
|
return props.theme.activeActionIconColor;
|
|
663
601
|
});
|
|
664
|
-
|
|
665
|
-
var _default = DxcSelect;
|
|
666
|
-
exports["default"] = _default;
|
|
602
|
+
var _default = exports["default"] = DxcSelect;
|