@dxc-technology/halstack-react 0.0.0-9e83fd2 → 0.0.0-9ef63cd
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 +61 -108
- 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 +175 -0
- package/dialog/Dialog.test.js +206 -204
- 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 +67 -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 +111 -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 +198 -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,19 @@ 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();
|
|
272
|
+
isOpen && event.stopPropagation();
|
|
326
273
|
closeOptions();
|
|
327
274
|
setSearchValue("");
|
|
328
275
|
break;
|
|
329
|
-
|
|
330
276
|
case "Enter":
|
|
331
277
|
if (isOpen && visualFocusIndex >= 0) {
|
|
332
278
|
var accLength = optional && !multiple ? 1 : 0;
|
|
333
|
-
|
|
334
279
|
if (searchable) {
|
|
335
280
|
if (filteredOptions.length > 0) {
|
|
336
|
-
if (optional && !multiple && visualFocusIndex === 0 &&
|
|
281
|
+
if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
337
282
|
var groupLength = accLength + groupOption.options.length;
|
|
338
283
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
339
284
|
accLength = groupLength;
|
|
@@ -341,28 +286,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
341
286
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
342
287
|
}
|
|
343
288
|
} else {
|
|
344
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options
|
|
289
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
|
|
345
290
|
var groupLength = accLength + groupOption.options.length;
|
|
346
291
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
347
292
|
accLength = groupLength;
|
|
348
293
|
return groupLength > visualFocusIndex;
|
|
349
294
|
}) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
|
|
350
295
|
}
|
|
351
|
-
|
|
352
296
|
!multiple && closeOptions();
|
|
353
297
|
setSearchValue("");
|
|
354
298
|
}
|
|
355
|
-
|
|
356
299
|
break;
|
|
357
300
|
}
|
|
358
301
|
};
|
|
359
|
-
|
|
360
302
|
var handleSearchIOnChange = function handleSearchIOnChange(event) {
|
|
361
303
|
setSearchValue(event.target.value);
|
|
362
304
|
changeVisualFocusIndex(-1);
|
|
363
305
|
openOptions();
|
|
364
306
|
};
|
|
365
|
-
|
|
366
307
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
367
308
|
event.stopPropagation();
|
|
368
309
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
@@ -373,17 +314,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
373
314
|
value: []
|
|
374
315
|
});
|
|
375
316
|
};
|
|
376
|
-
|
|
377
317
|
var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
|
|
378
318
|
event.stopPropagation();
|
|
379
319
|
setSearchValue("");
|
|
380
320
|
};
|
|
381
|
-
|
|
382
321
|
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
383
322
|
handleSelectChangeValue(option);
|
|
384
323
|
!multiple && closeOptions();
|
|
385
324
|
setSearchValue("");
|
|
386
325
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
326
|
+
(0, _react.useEffect)(function () {
|
|
327
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
|
|
328
|
+
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 = "";
|
|
329
|
+
}
|
|
330
|
+
}, [placeholder, selectedOption]);
|
|
387
331
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
388
332
|
theme: colorsTheme.select
|
|
389
333
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -396,7 +340,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
396
340
|
onClick: function onClick() {
|
|
397
341
|
selectRef.current.focus();
|
|
398
342
|
},
|
|
399
|
-
helperText: helperText
|
|
343
|
+
helperText: helperText,
|
|
344
|
+
htmlFor: searchable ? searchableInputId : undefined
|
|
400
345
|
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
401
346
|
disabled: disabled
|
|
402
347
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
@@ -436,13 +381,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
436
381
|
tabIndex: -1,
|
|
437
382
|
title: translatedLabels.select.actionClearSelectionTitle,
|
|
438
383
|
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
439
|
-
},
|
|
384
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
385
|
+
icon: "clear"
|
|
386
|
+
}))), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
440
387
|
name: name,
|
|
441
388
|
disabled: disabled,
|
|
442
389
|
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
390
|
readOnly: true,
|
|
444
391
|
"aria-hidden": "true"
|
|
445
392
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
393
|
+
id: searchableInputId,
|
|
446
394
|
value: searchValue,
|
|
447
395
|
disabled: disabled,
|
|
448
396
|
onChange: handleSearchIOnChange,
|
|
@@ -450,15 +398,14 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
450
398
|
autoComplete: "nope",
|
|
451
399
|
autoCorrect: "nope",
|
|
452
400
|
size: 1
|
|
453
|
-
}), (!searchable || searchValue === "") &&
|
|
401
|
+
}), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
454
402
|
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, {
|
|
403
|
+
atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
|
|
404
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
|
|
405
|
+
ref: selectedOptionLabelRef
|
|
406
|
+
}, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
407
|
+
icon: "filled_error"
|
|
408
|
+
})), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
|
|
462
409
|
onMouseDown: function onMouseDown(event) {
|
|
463
410
|
// Avoid input to lose focus
|
|
464
411
|
event.preventDefault();
|
|
@@ -467,10 +414,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
467
414
|
tabIndex: -1,
|
|
468
415
|
title: translatedLabels.select.actionClearSearchTitle,
|
|
469
416
|
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
470
|
-
},
|
|
417
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
418
|
+
icon: "clear"
|
|
419
|
+
})), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
471
420
|
disabled: disabled
|
|
472
|
-
},
|
|
421
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
422
|
+
icon: isOpen ? "keyboard_arrow_up" : "keyboard_arrow_down"
|
|
423
|
+
})))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
473
424
|
sideOffset: 4,
|
|
425
|
+
style: {
|
|
426
|
+
zIndex: "2147483647"
|
|
427
|
+
},
|
|
474
428
|
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
475
429
|
// Avoid select to lose focus when the list is opened
|
|
476
430
|
event.preventDefault();
|
|
@@ -493,23 +447,21 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
493
447
|
styles: {
|
|
494
448
|
width: width
|
|
495
449
|
}
|
|
496
|
-
}))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
450
|
+
})))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
497
451
|
id: errorId,
|
|
452
|
+
role: "alert",
|
|
498
453
|
"aria-live": error ? "assertive" : "off"
|
|
499
454
|
}, error)));
|
|
500
455
|
});
|
|
501
|
-
|
|
502
456
|
var sizes = {
|
|
503
457
|
small: "240px",
|
|
504
458
|
medium: "360px",
|
|
505
459
|
large: "480px",
|
|
506
460
|
fillParent: "100%"
|
|
507
461
|
};
|
|
508
|
-
|
|
509
462
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
510
463
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
511
464
|
};
|
|
512
|
-
|
|
513
465
|
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
466
|
return calculateWidth(props.margin, props.size);
|
|
515
467
|
}, function (props) {
|
|
@@ -523,8 +475,7 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
523
475
|
}, function (props) {
|
|
524
476
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
525
477
|
});
|
|
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) {
|
|
478
|
+
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
479
|
return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
|
|
529
480
|
}, function (props) {
|
|
530
481
|
return props.theme.fontFamily;
|
|
@@ -539,11 +490,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
|
|
|
539
490
|
}, function (props) {
|
|
540
491
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
541
492
|
});
|
|
542
|
-
|
|
543
493
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
544
494
|
return props.theme.optionalLabelFontWeight;
|
|
545
495
|
});
|
|
546
|
-
|
|
547
496
|
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
497
|
return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
|
|
549
498
|
}, function (props) {
|
|
@@ -557,7 +506,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
557
506
|
}, function (props) {
|
|
558
507
|
return props.theme.helperTextLineHeight;
|
|
559
508
|
});
|
|
560
|
-
|
|
561
509
|
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
510
|
return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
|
|
563
511
|
}, function (props) {
|
|
@@ -569,11 +517,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
|
|
|
569
517
|
}, function (props) {
|
|
570
518
|
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
519
|
});
|
|
572
|
-
|
|
573
520
|
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
521
|
return props.theme.selectionIndicatorBorderColor;
|
|
575
522
|
});
|
|
576
|
-
|
|
577
523
|
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
524
|
return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
|
|
579
525
|
}, function (props) {
|
|
@@ -591,8 +537,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
591
537
|
}, function (props) {
|
|
592
538
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
593
539
|
});
|
|
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) {
|
|
540
|
+
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
541
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
597
542
|
}, function (props) {
|
|
598
543
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -601,9 +546,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
|
|
|
601
546
|
}, function (props) {
|
|
602
547
|
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
548
|
});
|
|
604
|
-
|
|
605
549
|
var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
|
|
606
|
-
|
|
607
550
|
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
551
|
if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
|
|
609
552
|
}, function (props) {
|
|
@@ -615,11 +558,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
615
558
|
}, function (props) {
|
|
616
559
|
return props.theme.valueFontWeight;
|
|
617
560
|
});
|
|
618
|
-
|
|
619
561
|
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
620
|
-
|
|
621
562
|
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
622
|
-
|
|
623
563
|
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
564
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
625
565
|
}, function (props) {
|
|
@@ -631,22 +571,18 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
|
|
|
631
571
|
}, function (props) {
|
|
632
572
|
return props.theme.valueFontWeight;
|
|
633
573
|
});
|
|
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) {
|
|
574
|
+
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
575
|
return props.theme.errorIconColor;
|
|
637
576
|
});
|
|
638
|
-
|
|
639
577
|
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
578
|
return props.theme.errorMessageColor;
|
|
641
579
|
}, function (props) {
|
|
642
580
|
return props.theme.fontFamily;
|
|
643
581
|
});
|
|
644
|
-
|
|
645
582
|
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
583
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
647
584
|
});
|
|
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) {
|
|
585
|
+
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
586
|
return props.theme.fontFamily;
|
|
651
587
|
}, function (props) {
|
|
652
588
|
return props.theme.actionBackgroundColor;
|
|
@@ -661,6 +597,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
|
|
|
661
597
|
}, function (props) {
|
|
662
598
|
return props.theme.activeActionIconColor;
|
|
663
599
|
});
|
|
664
|
-
|
|
665
|
-
var _default = DxcSelect;
|
|
666
|
-
exports["default"] = _default;
|
|
600
|
+
var _default = exports["default"] = DxcSelect;
|