@dxc-technology/halstack-react 0.0.0-9e83fd2 → 0.0.0-9f6fced
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 +53 -143
- package/HalstackContext.js +10 -35
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +33 -87
- 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 -126
- 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 +54 -144
- package/common/variables.js +128 -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 +54 -104
- 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 +66 -135
- 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 +179 -286
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +293 -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 +66 -9
- 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 +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/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +32 -69
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -5
- package/layout/Icons.js +41 -59
- 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 +9 -4
- package/main.js +46 -59
- 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 +42 -40
- 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 -57
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +40 -88
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -472
- 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 +36 -54
- package/select/Option.js +28 -36
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +110 -177
- 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 +66 -125
- package/slider/Slider.stories.tsx +0 -60
- 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 -100
- 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 +197 -286
- 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 +67 -111
- 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 -67
- package/toggle-group/ToggleGroup.stories.tsx +7 -7
- 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 +51 -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/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,45 @@
|
|
|
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
|
-
var _uuid = require("uuid");
|
|
31
|
-
|
|
32
18
|
var _utils = require("../common/utils");
|
|
33
|
-
|
|
34
|
-
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
35
|
-
|
|
36
19
|
var _Listbox = _interopRequireDefault(require("./Listbox"));
|
|
37
|
-
|
|
38
20
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
39
|
-
|
|
21
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
40
22
|
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;
|
|
23
|
+
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); }
|
|
24
|
+
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; }
|
|
25
|
+
var isOptionGroup = function isOptionGroup(option) {
|
|
26
|
+
return "options" in option && option.options != null;
|
|
50
27
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
28
|
+
var isArrayOfOptionGroups = function isArrayOfOptionGroups(options) {
|
|
29
|
+
return isOptionGroup(options[0]);
|
|
30
|
+
};
|
|
31
|
+
var groupsHaveOptions = function groupsHaveOptions(filteredOptions) {
|
|
32
|
+
return isArrayOfOptionGroups(filteredOptions) ? filteredOptions.some(function (groupOption) {
|
|
54
33
|
var _groupOption$options;
|
|
55
|
-
|
|
56
34
|
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
57
35
|
}) : true;
|
|
58
36
|
};
|
|
59
|
-
|
|
60
37
|
var canOpenOptions = function canOpenOptions(options, disabled) {
|
|
61
38
|
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
62
39
|
};
|
|
63
|
-
|
|
64
40
|
var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
65
41
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
66
|
-
if (options
|
|
42
|
+
if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
|
|
67
43
|
var group = {
|
|
68
44
|
label: optionGroup.label,
|
|
69
45
|
options: optionGroup.options.filter(function (option) {
|
|
@@ -76,32 +52,24 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
|
|
|
76
52
|
});
|
|
77
53
|
}
|
|
78
54
|
};
|
|
79
|
-
|
|
80
55
|
var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
|
|
81
56
|
var last = 0;
|
|
82
|
-
|
|
83
57
|
var reducer = function reducer(acc, current) {
|
|
84
58
|
var _current$options;
|
|
85
|
-
|
|
86
59
|
return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
|
|
87
60
|
};
|
|
88
|
-
|
|
89
|
-
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;
|
|
61
|
+
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
62
|
return optional && !multiple ? last + 1 : last;
|
|
91
63
|
};
|
|
92
|
-
|
|
93
64
|
var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
|
|
94
65
|
var selectedOption = multiple ? [] : {};
|
|
95
66
|
var singleSelectionIndex;
|
|
96
|
-
|
|
97
67
|
if (multiple) {
|
|
98
68
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
99
69
|
options.forEach(function (option) {
|
|
100
|
-
if (option.options) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
});
|
|
104
|
-
} else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
|
|
70
|
+
if (isOptionGroup(option)) option.options.forEach(function (singleOption) {
|
|
71
|
+
if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
|
|
72
|
+
});else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
|
|
105
73
|
});
|
|
106
74
|
}
|
|
107
75
|
} else {
|
|
@@ -111,14 +79,13 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
111
79
|
} else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
112
80
|
var group_index = 0;
|
|
113
81
|
options.some(function (option, index) {
|
|
114
|
-
if (option
|
|
82
|
+
if (isOptionGroup(option)) {
|
|
115
83
|
option.options.some(function (singleOption) {
|
|
116
84
|
if (singleOption.value === value) {
|
|
117
85
|
selectedOption = singleOption;
|
|
118
86
|
singleSelectionIndex = optional ? group_index + 1 : group_index;
|
|
119
87
|
return true;
|
|
120
88
|
}
|
|
121
|
-
|
|
122
89
|
group_index++;
|
|
123
90
|
});
|
|
124
91
|
} else if (option.value === value) {
|
|
@@ -129,23 +96,25 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
129
96
|
});
|
|
130
97
|
}
|
|
131
98
|
}
|
|
132
|
-
|
|
133
99
|
return {
|
|
134
100
|
selectedOption: selectedOption,
|
|
135
101
|
singleSelectionIndex: singleSelectionIndex
|
|
136
102
|
};
|
|
137
103
|
};
|
|
138
|
-
|
|
104
|
+
var getSelectedOptionLabel = function getSelectedOptionLabel(placeholder, selectedOption) {
|
|
105
|
+
var _selectedOption$label;
|
|
106
|
+
if (Array.isArray(selectedOption)) return selectedOption.length === 0 ? placeholder : selectedOption.map(function (option) {
|
|
107
|
+
return option.label;
|
|
108
|
+
}).join(", ");else return (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder;
|
|
109
|
+
};
|
|
139
110
|
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
140
111
|
return !optional && (multiple ? value.length === 0 : value === "");
|
|
141
112
|
};
|
|
142
|
-
|
|
143
113
|
var useWidth = function useWidth(target) {
|
|
144
114
|
var _useState = (0, _react.useState)(0),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
115
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
116
|
+
width = _useState2[0],
|
|
117
|
+
setWidth = _useState2[1];
|
|
149
118
|
(0, _react.useEffect)(function () {
|
|
150
119
|
if (target != null) {
|
|
151
120
|
setWidth(target.getBoundingClientRect().width);
|
|
@@ -161,66 +130,57 @@ var useWidth = function useWidth(target) {
|
|
|
161
130
|
}, [target]);
|
|
162
131
|
return width;
|
|
163
132
|
};
|
|
164
|
-
|
|
165
133
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
166
|
-
var _ref4
|
|
167
|
-
|
|
134
|
+
var _ref4;
|
|
168
135
|
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
|
-
|
|
194
|
-
var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
|
|
195
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
196
|
-
selectId = _useState4[0];
|
|
197
|
-
|
|
136
|
+
_ref$name = _ref.name,
|
|
137
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
138
|
+
defaultValue = _ref.defaultValue,
|
|
139
|
+
value = _ref.value,
|
|
140
|
+
options = _ref.options,
|
|
141
|
+
helperText = _ref.helperText,
|
|
142
|
+
_ref$placeholder = _ref.placeholder,
|
|
143
|
+
placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
|
|
144
|
+
_ref$disabled = _ref.disabled,
|
|
145
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
146
|
+
_ref$optional = _ref.optional,
|
|
147
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
148
|
+
_ref$searchable = _ref.searchable,
|
|
149
|
+
searchable = _ref$searchable === void 0 ? false : _ref$searchable,
|
|
150
|
+
_ref$multiple = _ref.multiple,
|
|
151
|
+
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
152
|
+
onChange = _ref.onChange,
|
|
153
|
+
onBlur = _ref.onBlur,
|
|
154
|
+
error = _ref.error,
|
|
155
|
+
margin = _ref.margin,
|
|
156
|
+
_ref$size = _ref.size,
|
|
157
|
+
size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
158
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
159
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
160
|
+
var selectId = "select-".concat((0, _react.useId)());
|
|
198
161
|
var selectLabelId = "label-".concat(selectId);
|
|
162
|
+
var searchableInputId = "searchable-input-".concat(selectId);
|
|
199
163
|
var errorId = "error-".concat(selectId);
|
|
200
164
|
var optionsListId = "".concat(selectId, "-listbox");
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
var _useState11 = (0, _react.useState)(false),
|
|
218
|
-
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
219
|
-
isOpen = _useState12[0],
|
|
220
|
-
changeIsOpen = _useState12[1];
|
|
221
|
-
|
|
165
|
+
var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
166
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
167
|
+
innerValue = _useState4[0],
|
|
168
|
+
setInnerValue = _useState4[1];
|
|
169
|
+
var _useState5 = (0, _react.useState)(""),
|
|
170
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
171
|
+
searchValue = _useState6[0],
|
|
172
|
+
setSearchValue = _useState6[1];
|
|
173
|
+
var _useState7 = (0, _react.useState)(-1),
|
|
174
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
175
|
+
visualFocusIndex = _useState8[0],
|
|
176
|
+
changeVisualFocusIndex = _useState8[1];
|
|
177
|
+
var _useState9 = (0, _react.useState)(false),
|
|
178
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
179
|
+
isOpen = _useState10[0],
|
|
180
|
+
changeIsOpen = _useState10[1];
|
|
222
181
|
var selectRef = (0, _react.useRef)(null);
|
|
223
182
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
183
|
+
var selectedOptionLabelRef = (0, _react.useRef)(null);
|
|
224
184
|
var width = useWidth(selectRef.current);
|
|
225
185
|
var colorsTheme = (0, _useTheme["default"])();
|
|
226
186
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
@@ -234,35 +194,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
234
194
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
235
195
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
236
196
|
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
237
|
-
|
|
238
197
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
198
|
+
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
199
|
+
}, [value, innerValue, options, multiple, optional, optionalItem]),
|
|
200
|
+
selectedOption = _useMemo.selectedOption,
|
|
201
|
+
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
244
202
|
var openOptions = function openOptions() {
|
|
245
203
|
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
246
204
|
};
|
|
247
|
-
|
|
248
205
|
var closeOptions = function closeOptions() {
|
|
249
206
|
if (isOpen) {
|
|
250
207
|
changeIsOpen(false);
|
|
251
208
|
changeVisualFocusIndex(-1);
|
|
252
209
|
}
|
|
253
210
|
};
|
|
254
|
-
|
|
255
211
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
256
212
|
var newValue;
|
|
257
|
-
|
|
258
213
|
if (multiple) {
|
|
259
214
|
var _ref2, _ref3;
|
|
260
|
-
|
|
261
215
|
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
216
|
return optionVal !== newOption.value;
|
|
263
217
|
});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
218
|
} else newValue = newOption.value;
|
|
265
|
-
|
|
266
219
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
267
220
|
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
268
221
|
value: newValue,
|
|
@@ -271,22 +224,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
271
224
|
value: newValue
|
|
272
225
|
});
|
|
273
226
|
};
|
|
274
|
-
|
|
275
227
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
276
228
|
searchable && selectSearchInputRef.current.focus();
|
|
277
|
-
|
|
278
229
|
if (isOpen) {
|
|
279
230
|
closeOptions();
|
|
280
231
|
setSearchValue("");
|
|
281
232
|
} else openOptions();
|
|
282
233
|
};
|
|
283
|
-
|
|
284
234
|
var handleSelectOnFocus = function handleSelectOnFocus(event) {
|
|
285
235
|
if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
|
|
286
236
|
};
|
|
287
|
-
|
|
288
237
|
var handleSelectOnBlur = function handleSelectOnBlur(event) {
|
|
289
|
-
// focus leaves container (outside, not to
|
|
238
|
+
// focus leaves container (outside, not to a child)
|
|
290
239
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
291
240
|
closeOptions();
|
|
292
241
|
setSearchValue("");
|
|
@@ -299,7 +248,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
299
248
|
});
|
|
300
249
|
}
|
|
301
250
|
};
|
|
302
|
-
|
|
303
251
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
304
252
|
switch (event.key) {
|
|
305
253
|
case "Down":
|
|
@@ -310,7 +258,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
310
258
|
});
|
|
311
259
|
openOptions();
|
|
312
260
|
break;
|
|
313
|
-
|
|
314
261
|
case "Up":
|
|
315
262
|
case "ArrowUp":
|
|
316
263
|
event.preventDefault();
|
|
@@ -319,21 +266,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
319
266
|
});
|
|
320
267
|
openOptions();
|
|
321
268
|
break;
|
|
322
|
-
|
|
323
269
|
case "Esc":
|
|
324
270
|
case "Escape":
|
|
325
271
|
event.preventDefault();
|
|
326
272
|
closeOptions();
|
|
327
273
|
setSearchValue("");
|
|
328
274
|
break;
|
|
329
|
-
|
|
330
275
|
case "Enter":
|
|
331
276
|
if (isOpen && visualFocusIndex >= 0) {
|
|
332
277
|
var accLength = optional && !multiple ? 1 : 0;
|
|
333
|
-
|
|
334
278
|
if (searchable) {
|
|
335
279
|
if (filteredOptions.length > 0) {
|
|
336
|
-
if (optional && !multiple && visualFocusIndex === 0 &&
|
|
280
|
+
if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
337
281
|
var groupLength = accLength + groupOption.options.length;
|
|
338
282
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
339
283
|
accLength = groupLength;
|
|
@@ -341,28 +285,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
341
285
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
342
286
|
}
|
|
343
287
|
} else {
|
|
344
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options
|
|
288
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
|
|
345
289
|
var groupLength = accLength + groupOption.options.length;
|
|
346
290
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
347
291
|
accLength = groupLength;
|
|
348
292
|
return groupLength > visualFocusIndex;
|
|
349
293
|
}) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
|
|
350
294
|
}
|
|
351
|
-
|
|
352
295
|
!multiple && closeOptions();
|
|
353
296
|
setSearchValue("");
|
|
354
297
|
}
|
|
355
|
-
|
|
356
298
|
break;
|
|
357
299
|
}
|
|
358
300
|
};
|
|
359
|
-
|
|
360
301
|
var handleSearchIOnChange = function handleSearchIOnChange(event) {
|
|
361
302
|
setSearchValue(event.target.value);
|
|
362
303
|
changeVisualFocusIndex(-1);
|
|
363
304
|
openOptions();
|
|
364
305
|
};
|
|
365
|
-
|
|
366
306
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
367
307
|
event.stopPropagation();
|
|
368
308
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
@@ -373,17 +313,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
373
313
|
value: []
|
|
374
314
|
});
|
|
375
315
|
};
|
|
376
|
-
|
|
377
316
|
var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
|
|
378
317
|
event.stopPropagation();
|
|
379
318
|
setSearchValue("");
|
|
380
319
|
};
|
|
381
|
-
|
|
382
320
|
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
383
321
|
handleSelectChangeValue(option);
|
|
384
322
|
!multiple && closeOptions();
|
|
385
323
|
setSearchValue("");
|
|
386
324
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
325
|
+
(0, _react.useEffect)(function () {
|
|
326
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
|
|
327
|
+
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 = "";
|
|
328
|
+
}
|
|
329
|
+
}, [placeholder, selectedOption]);
|
|
387
330
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
388
331
|
theme: colorsTheme.select
|
|
389
332
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -396,7 +339,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
396
339
|
onClick: function onClick() {
|
|
397
340
|
selectRef.current.focus();
|
|
398
341
|
},
|
|
399
|
-
helperText: helperText
|
|
342
|
+
helperText: helperText,
|
|
343
|
+
htmlFor: searchable ? searchableInputId : undefined
|
|
400
344
|
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
401
345
|
disabled: disabled
|
|
402
346
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
@@ -436,13 +380,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
436
380
|
tabIndex: -1,
|
|
437
381
|
title: translatedLabels.select.actionClearSelectionTitle,
|
|
438
382
|
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
439
|
-
},
|
|
383
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
384
|
+
icon: "clear"
|
|
385
|
+
}))), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
440
386
|
name: name,
|
|
441
387
|
disabled: disabled,
|
|
442
388
|
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
389
|
readOnly: true,
|
|
444
390
|
"aria-hidden": "true"
|
|
445
391
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
392
|
+
id: searchableInputId,
|
|
446
393
|
value: searchValue,
|
|
447
394
|
disabled: disabled,
|
|
448
395
|
onChange: handleSearchIOnChange,
|
|
@@ -450,15 +397,14 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
450
397
|
autoComplete: "nope",
|
|
451
398
|
autoCorrect: "nope",
|
|
452
399
|
size: 1
|
|
453
|
-
}), (!searchable || searchValue === "") &&
|
|
400
|
+
}), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
454
401
|
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, {
|
|
402
|
+
atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
|
|
403
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
|
|
404
|
+
ref: selectedOptionLabelRef
|
|
405
|
+
}, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
406
|
+
icon: "filled_error"
|
|
407
|
+
})), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
|
|
462
408
|
onMouseDown: function onMouseDown(event) {
|
|
463
409
|
// Avoid input to lose focus
|
|
464
410
|
event.preventDefault();
|
|
@@ -467,10 +413,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
467
413
|
tabIndex: -1,
|
|
468
414
|
title: translatedLabels.select.actionClearSearchTitle,
|
|
469
415
|
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
470
|
-
},
|
|
416
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
417
|
+
icon: "clear"
|
|
418
|
+
})), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
471
419
|
disabled: disabled
|
|
472
|
-
},
|
|
420
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
421
|
+
icon: isOpen ? "keyboard_arrow_up" : "keyboard_arrow_down"
|
|
422
|
+
})))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
473
423
|
sideOffset: 4,
|
|
424
|
+
style: {
|
|
425
|
+
zIndex: "2147483647"
|
|
426
|
+
},
|
|
474
427
|
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
475
428
|
// Avoid select to lose focus when the list is opened
|
|
476
429
|
event.preventDefault();
|
|
@@ -493,23 +446,21 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
493
446
|
styles: {
|
|
494
447
|
width: width
|
|
495
448
|
}
|
|
496
|
-
}))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
449
|
+
})))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
497
450
|
id: errorId,
|
|
451
|
+
role: "alert",
|
|
498
452
|
"aria-live": error ? "assertive" : "off"
|
|
499
453
|
}, error)));
|
|
500
454
|
});
|
|
501
|
-
|
|
502
455
|
var sizes = {
|
|
503
456
|
small: "240px",
|
|
504
457
|
medium: "360px",
|
|
505
458
|
large: "480px",
|
|
506
459
|
fillParent: "100%"
|
|
507
460
|
};
|
|
508
|
-
|
|
509
461
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
510
462
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
511
463
|
};
|
|
512
|
-
|
|
513
464
|
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
465
|
return calculateWidth(props.margin, props.size);
|
|
515
466
|
}, function (props) {
|
|
@@ -523,8 +474,7 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
523
474
|
}, function (props) {
|
|
524
475
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
525
476
|
});
|
|
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) {
|
|
477
|
+
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
478
|
return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
|
|
529
479
|
}, function (props) {
|
|
530
480
|
return props.theme.fontFamily;
|
|
@@ -539,11 +489,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
|
|
|
539
489
|
}, function (props) {
|
|
540
490
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
541
491
|
});
|
|
542
|
-
|
|
543
492
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
544
493
|
return props.theme.optionalLabelFontWeight;
|
|
545
494
|
});
|
|
546
|
-
|
|
547
495
|
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
496
|
return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
|
|
549
497
|
}, function (props) {
|
|
@@ -557,7 +505,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
557
505
|
}, function (props) {
|
|
558
506
|
return props.theme.helperTextLineHeight;
|
|
559
507
|
});
|
|
560
|
-
|
|
561
508
|
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
509
|
return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
|
|
563
510
|
}, function (props) {
|
|
@@ -569,11 +516,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
|
|
|
569
516
|
}, function (props) {
|
|
570
517
|
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
518
|
});
|
|
572
|
-
|
|
573
519
|
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
520
|
return props.theme.selectionIndicatorBorderColor;
|
|
575
521
|
});
|
|
576
|
-
|
|
577
522
|
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
523
|
return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
|
|
579
524
|
}, function (props) {
|
|
@@ -591,8 +536,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
591
536
|
}, function (props) {
|
|
592
537
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
593
538
|
});
|
|
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) {
|
|
539
|
+
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
540
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
597
541
|
}, function (props) {
|
|
598
542
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -601,9 +545,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
|
|
|
601
545
|
}, function (props) {
|
|
602
546
|
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
547
|
});
|
|
604
|
-
|
|
605
548
|
var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
|
|
606
|
-
|
|
607
549
|
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
550
|
if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
|
|
609
551
|
}, function (props) {
|
|
@@ -615,11 +557,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
615
557
|
}, function (props) {
|
|
616
558
|
return props.theme.valueFontWeight;
|
|
617
559
|
});
|
|
618
|
-
|
|
619
560
|
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
620
|
-
|
|
621
561
|
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
622
|
-
|
|
623
562
|
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
563
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
625
564
|
}, function (props) {
|
|
@@ -631,22 +570,18 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
|
|
|
631
570
|
}, function (props) {
|
|
632
571
|
return props.theme.valueFontWeight;
|
|
633
572
|
});
|
|
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) {
|
|
573
|
+
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
574
|
return props.theme.errorIconColor;
|
|
637
575
|
});
|
|
638
|
-
|
|
639
576
|
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
577
|
return props.theme.errorMessageColor;
|
|
641
578
|
}, function (props) {
|
|
642
579
|
return props.theme.fontFamily;
|
|
643
580
|
});
|
|
644
|
-
|
|
645
581
|
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
582
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
647
583
|
});
|
|
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) {
|
|
584
|
+
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
585
|
return props.theme.fontFamily;
|
|
651
586
|
}, function (props) {
|
|
652
587
|
return props.theme.actionBackgroundColor;
|
|
@@ -661,6 +596,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
|
|
|
661
596
|
}, function (props) {
|
|
662
597
|
return props.theme.activeActionIconColor;
|
|
663
598
|
});
|
|
664
|
-
|
|
665
|
-
var _default = DxcSelect;
|
|
666
|
-
exports["default"] = _default;
|
|
599
|
+
var _default = exports["default"] = DxcSelect;
|