@dxc-technology/halstack-react 0.0.0-5aa300b → 0.0.0-5b15506
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1243 -6
- package/HalstackContext.js +122 -106
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +41 -109
- package/accordion/Accordion.stories.tsx +53 -148
- package/accordion/Accordion.test.js +19 -34
- package/accordion/types.d.ts +6 -18
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -2
- package/accordion-group/AccordionGroup.js +29 -77
- package/accordion-group/AccordionGroup.stories.tsx +78 -77
- package/accordion-group/AccordionGroup.test.js +44 -72
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -19
- 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 +31 -124
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- 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/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +18 -59
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -15
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.js +22 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +70 -103
- package/button/Button.stories.tsx +105 -114
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +9 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +48 -89
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -12
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +87 -122
- package/checkbox/Checkbox.stories.tsx +68 -54
- package/checkbox/Checkbox.test.js +108 -64
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +42 -67
- package/chip/Chip.stories.tsx +73 -29
- package/chip/Chip.test.js +18 -33
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1395 -0
- package/common/variables.js +899 -1144
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/date-input/Calendar.d.ts +1 -1
- package/date-input/Calendar.js +52 -96
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/DateInput.js +102 -107
- package/date-input/DateInput.stories.tsx +194 -60
- package/date-input/DateInput.test.js +676 -620
- package/date-input/DatePicker.js +53 -92
- package/date-input/YearPicker.d.ts +1 -1
- package/date-input/YearPicker.js +29 -44
- package/date-input/types.d.ts +32 -28
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +61 -119
- package/dialog/Dialog.stories.tsx +310 -212
- package/dialog/Dialog.test.js +270 -33
- package/dialog/types.d.ts +18 -26
- 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 +61 -131
- package/dropdown/Dropdown.stories.tsx +205 -98
- package/dropdown/Dropdown.test.js +393 -379
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +15 -37
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +184 -292
- package/file-input/FileInput.stories.tsx +86 -3
- package/file-input/FileInput.test.js +279 -395
- package/file-input/FileItem.js +27 -67
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +27 -39
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +73 -118
- package/footer/Footer.stories.tsx +82 -23
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +26 -28
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +53 -149
- package/header/Header.stories.tsx +115 -36
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -22
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- 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/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +30 -67
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +49 -59
- package/layout/types.d.ts +5 -6
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.js +31 -50
- package/link/Link.stories.tsx +62 -2
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +10 -5
- package/main.js +47 -59
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
- package/nav-tabs/NavTabs.stories.tsx +279 -0
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -46
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +117 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -413
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -5
- package/package.json +41 -39
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +17 -47
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +252 -225
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +56 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +158 -141
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +23 -55
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +15 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +31 -63
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +45 -93
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +505 -471
- 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 +274 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +46 -71
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +165 -114
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +22 -75
- package/select/Option.js +28 -48
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +134 -181
- package/select/Select.stories.tsx +488 -264
- package/select/Select.test.js +1950 -1907
- package/select/types.d.ts +17 -18
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +90 -155
- package/sidenav/Sidenav.stories.tsx +113 -25
- 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 +33 -30
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +70 -128
- package/slider/Slider.test.js +108 -104
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +29 -73
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.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 +89 -0
- package/switch/Switch.js +51 -99
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +52 -97
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +651 -0
- package/table/Table.test.js +94 -7
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +27 -43
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +69 -163
- package/tabs/Tabs.stories.tsx +40 -4
- package/tabs/Tabs.test.js +61 -136
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +34 -66
- package/tag/Tag.stories.tsx +18 -8
- package/tag/Tag.test.js +18 -37
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +11 -28
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +223 -329
- package/text-input/TextInput.stories.tsx +118 -153
- package/text-input/TextInput.test.js +1228 -1196
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +70 -113
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +94 -107
- package/toggle-group/ToggleGroup.stories.tsx +52 -7
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +28 -19
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +15 -123
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1147 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +29 -67
- package/wizard/Wizard.stories.tsx +39 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +10 -11
- package/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- 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/number-input/numberInputContextTypes.d.ts +0 -19
- 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/slider/Slider.stories.tsx +0 -183
- package/table/Table.stories.jsx +0 -277
- package/tabs-nav/NavTabs.d.ts +0 -8
- package/tabs-nav/NavTabs.stories.tsx +0 -172
- package/tabs-nav/Tab.js +0 -128
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → container}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/select/Select.js
CHANGED
|
@@ -1,69 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
|
|
20
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
14
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
|
-
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
16
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
27
|
-
|
|
28
|
-
var _variables = require("../common/variables.js");
|
|
29
|
-
|
|
17
|
+
var _variables = require("../common/variables");
|
|
30
18
|
var _uuid = require("uuid");
|
|
31
|
-
|
|
32
|
-
var _utils = require("../common/utils.js");
|
|
33
|
-
|
|
34
|
-
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
35
|
-
|
|
19
|
+
var _utils = require("../common/utils");
|
|
36
20
|
var _Listbox = _interopRequireDefault(require("./Listbox"));
|
|
37
|
-
|
|
38
21
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
39
|
-
|
|
22
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
40
23
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
41
|
-
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var groupsHaveOptions = function groupsHaveOptions(innerOptions) {
|
|
47
|
-
return innerOptions[0].hasOwnProperty("options") ? innerOptions[0].options ? innerOptions.some(function (groupOption) {
|
|
48
|
-
return groupOption.options.length > 0;
|
|
49
|
-
}) : false : true;
|
|
24
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
26
|
+
var isOptionGroup = function isOptionGroup(option) {
|
|
27
|
+
return "options" in option && option.options != null;
|
|
50
28
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
29
|
+
var isArrayOfOptionGroups = function isArrayOfOptionGroups(options) {
|
|
30
|
+
return isOptionGroup(options[0]);
|
|
31
|
+
};
|
|
32
|
+
var groupsHaveOptions = function groupsHaveOptions(filteredOptions) {
|
|
33
|
+
return isArrayOfOptionGroups(filteredOptions) ? filteredOptions.some(function (groupOption) {
|
|
54
34
|
var _groupOption$options;
|
|
55
|
-
|
|
56
35
|
return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
|
|
57
36
|
}) : true;
|
|
58
37
|
};
|
|
59
|
-
|
|
60
38
|
var canOpenOptions = function canOpenOptions(options, disabled) {
|
|
61
39
|
return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions(options);
|
|
62
40
|
};
|
|
63
|
-
|
|
64
41
|
var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
|
|
65
42
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
66
|
-
if (options
|
|
43
|
+
if (isArrayOfOptionGroups(options)) return options.map(function (optionGroup) {
|
|
67
44
|
var group = {
|
|
68
45
|
label: optionGroup.label,
|
|
69
46
|
options: optionGroup.options.filter(function (option) {
|
|
@@ -76,32 +53,24 @@ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, se
|
|
|
76
53
|
});
|
|
77
54
|
}
|
|
78
55
|
};
|
|
79
|
-
|
|
80
56
|
var getLastOptionIndex = function getLastOptionIndex(options, filteredOptions, searchable, optional, multiple) {
|
|
81
57
|
var last = 0;
|
|
82
|
-
|
|
83
58
|
var reducer = function reducer(acc, current) {
|
|
84
59
|
var _current$options;
|
|
85
|
-
|
|
86
60
|
return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
|
|
87
61
|
};
|
|
88
|
-
|
|
89
|
-
if (searchable && filteredOptions.length > 0) filteredOptions[0].options ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) options[0].options ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
|
|
62
|
+
if (searchable && (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0) isArrayOfOptionGroups(filteredOptions) ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) isArrayOfOptionGroups(options) ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
|
|
90
63
|
return optional && !multiple ? last + 1 : last;
|
|
91
64
|
};
|
|
92
|
-
|
|
93
65
|
var getSelectedOption = function getSelectedOption(value, options, multiple, optional, optionalItem) {
|
|
94
66
|
var selectedOption = multiple ? [] : {};
|
|
95
67
|
var singleSelectionIndex;
|
|
96
|
-
|
|
97
68
|
if (multiple) {
|
|
98
69
|
if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
99
70
|
options.forEach(function (option) {
|
|
100
|
-
if (option.options) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
});
|
|
104
|
-
} else if (value.includes(option.value)) selectedOption.push(option);
|
|
71
|
+
if (isOptionGroup(option)) option.options.forEach(function (singleOption) {
|
|
72
|
+
if (value.includes(singleOption.value) && Array.isArray(selectedOption)) selectedOption.push(singleOption);
|
|
73
|
+
});else if (value.includes(option.value) && Array.isArray(selectedOption)) selectedOption.push(option);
|
|
105
74
|
});
|
|
106
75
|
}
|
|
107
76
|
} else {
|
|
@@ -111,14 +80,13 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
111
80
|
} else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
|
|
112
81
|
var group_index = 0;
|
|
113
82
|
options.some(function (option, index) {
|
|
114
|
-
if (option
|
|
83
|
+
if (isOptionGroup(option)) {
|
|
115
84
|
option.options.some(function (singleOption) {
|
|
116
85
|
if (singleOption.value === value) {
|
|
117
86
|
selectedOption = singleOption;
|
|
118
87
|
singleSelectionIndex = optional ? group_index + 1 : group_index;
|
|
119
88
|
return true;
|
|
120
89
|
}
|
|
121
|
-
|
|
122
90
|
group_index++;
|
|
123
91
|
});
|
|
124
92
|
} else if (option.value === value) {
|
|
@@ -129,76 +97,93 @@ var getSelectedOption = function getSelectedOption(value, options, multiple, opt
|
|
|
129
97
|
});
|
|
130
98
|
}
|
|
131
99
|
}
|
|
132
|
-
|
|
133
100
|
return {
|
|
134
101
|
selectedOption: selectedOption,
|
|
135
102
|
singleSelectionIndex: singleSelectionIndex
|
|
136
103
|
};
|
|
137
104
|
};
|
|
138
|
-
|
|
105
|
+
var getSelectedOptionLabel = function getSelectedOptionLabel(placeholder, selectedOption) {
|
|
106
|
+
var _selectedOption$label;
|
|
107
|
+
if (Array.isArray(selectedOption)) return selectedOption.length === 0 ? placeholder : selectedOption.map(function (option) {
|
|
108
|
+
return option.label;
|
|
109
|
+
}).join(", ");else return (_selectedOption$label = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _selectedOption$label !== void 0 ? _selectedOption$label : placeholder;
|
|
110
|
+
};
|
|
139
111
|
var notOptionalCheck = function notOptionalCheck(value, multiple, optional) {
|
|
140
112
|
return !optional && (multiple ? value.length === 0 : value === "");
|
|
141
113
|
};
|
|
142
|
-
|
|
114
|
+
var useWidth = function useWidth(target) {
|
|
115
|
+
var _useState = (0, _react.useState)(0),
|
|
116
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
117
|
+
width = _useState2[0],
|
|
118
|
+
setWidth = _useState2[1];
|
|
119
|
+
(0, _react.useEffect)(function () {
|
|
120
|
+
if (target != null) {
|
|
121
|
+
setWidth(target.getBoundingClientRect().width);
|
|
122
|
+
var triggerObserver = new ResizeObserver(function (entries) {
|
|
123
|
+
var rect = entries[0].target.getBoundingClientRect();
|
|
124
|
+
setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
|
|
125
|
+
});
|
|
126
|
+
triggerObserver.observe(target);
|
|
127
|
+
return function () {
|
|
128
|
+
triggerObserver.unobserve(target);
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}, [target]);
|
|
132
|
+
return width;
|
|
133
|
+
};
|
|
143
134
|
var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
144
|
-
var
|
|
145
|
-
|
|
135
|
+
var _ref4;
|
|
146
136
|
var label = _ref.label,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
selectId = _useState2[0];
|
|
175
|
-
|
|
137
|
+
_ref$name = _ref.name,
|
|
138
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
139
|
+
defaultValue = _ref.defaultValue,
|
|
140
|
+
value = _ref.value,
|
|
141
|
+
options = _ref.options,
|
|
142
|
+
helperText = _ref.helperText,
|
|
143
|
+
_ref$placeholder = _ref.placeholder,
|
|
144
|
+
placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
|
|
145
|
+
_ref$disabled = _ref.disabled,
|
|
146
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
147
|
+
_ref$optional = _ref.optional,
|
|
148
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
149
|
+
_ref$searchable = _ref.searchable,
|
|
150
|
+
searchable = _ref$searchable === void 0 ? false : _ref$searchable,
|
|
151
|
+
_ref$multiple = _ref.multiple,
|
|
152
|
+
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
153
|
+
onChange = _ref.onChange,
|
|
154
|
+
onBlur = _ref.onBlur,
|
|
155
|
+
error = _ref.error,
|
|
156
|
+
margin = _ref.margin,
|
|
157
|
+
_ref$size = _ref.size,
|
|
158
|
+
size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
159
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
160
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
161
|
+
var _useState3 = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
|
|
162
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
163
|
+
selectId = _useState4[0];
|
|
176
164
|
var selectLabelId = "label-".concat(selectId);
|
|
177
165
|
var errorId = "error-".concat(selectId);
|
|
178
166
|
var optionsListId = "".concat(selectId, "-listbox");
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
var _useState9 = (0, _react.useState)(false),
|
|
196
|
-
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
197
|
-
isOpen = _useState10[0],
|
|
198
|
-
changeIsOpen = _useState10[1];
|
|
199
|
-
|
|
167
|
+
var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
168
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
169
|
+
innerValue = _useState6[0],
|
|
170
|
+
setInnerValue = _useState6[1];
|
|
171
|
+
var _useState7 = (0, _react.useState)(""),
|
|
172
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
173
|
+
searchValue = _useState8[0],
|
|
174
|
+
setSearchValue = _useState8[1];
|
|
175
|
+
var _useState9 = (0, _react.useState)(-1),
|
|
176
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
177
|
+
visualFocusIndex = _useState10[0],
|
|
178
|
+
changeVisualFocusIndex = _useState10[1];
|
|
179
|
+
var _useState11 = (0, _react.useState)(false),
|
|
180
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
181
|
+
isOpen = _useState12[0],
|
|
182
|
+
changeIsOpen = _useState12[1];
|
|
200
183
|
var selectRef = (0, _react.useRef)(null);
|
|
201
184
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
185
|
+
var selectedOptionLabelRef = (0, _react.useRef)(null);
|
|
186
|
+
var width = useWidth(selectRef.current);
|
|
202
187
|
var colorsTheme = (0, _useTheme["default"])();
|
|
203
188
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
204
189
|
var optionalItem = {
|
|
@@ -211,33 +196,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
211
196
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
212
197
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
213
198
|
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
214
|
-
|
|
215
199
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
200
|
+
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
201
|
+
}, [value, innerValue, options, multiple, optional, optionalItem]),
|
|
202
|
+
selectedOption = _useMemo.selectedOption,
|
|
203
|
+
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
221
204
|
var openOptions = function openOptions() {
|
|
222
205
|
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
223
206
|
};
|
|
224
|
-
|
|
225
207
|
var closeOptions = function closeOptions() {
|
|
226
208
|
if (isOpen) {
|
|
227
209
|
changeIsOpen(false);
|
|
228
210
|
changeVisualFocusIndex(-1);
|
|
229
211
|
}
|
|
230
212
|
};
|
|
231
|
-
|
|
232
213
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
233
214
|
var newValue;
|
|
234
|
-
|
|
235
215
|
if (multiple) {
|
|
236
|
-
|
|
216
|
+
var _ref2, _ref3;
|
|
217
|
+
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = ((_ref2 = value && Array.isArray(value) && value) !== null && _ref2 !== void 0 ? _ref2 : innerValue && Array.isArray(innerValue) && innerValue).filter(function (optionVal) {
|
|
237
218
|
return optionVal !== newOption.value;
|
|
238
|
-
});else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null &&
|
|
219
|
+
});else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
|
|
239
220
|
} else newValue = newOption.value;
|
|
240
|
-
|
|
241
221
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
242
222
|
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
243
223
|
value: newValue,
|
|
@@ -246,22 +226,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
246
226
|
value: newValue
|
|
247
227
|
});
|
|
248
228
|
};
|
|
249
|
-
|
|
250
229
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
251
230
|
searchable && selectSearchInputRef.current.focus();
|
|
252
|
-
|
|
253
231
|
if (isOpen) {
|
|
254
232
|
closeOptions();
|
|
255
233
|
setSearchValue("");
|
|
256
234
|
} else openOptions();
|
|
257
235
|
};
|
|
258
|
-
|
|
259
236
|
var handleSelectOnFocus = function handleSelectOnFocus(event) {
|
|
260
237
|
if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
|
|
261
238
|
};
|
|
262
|
-
|
|
263
239
|
var handleSelectOnBlur = function handleSelectOnBlur(event) {
|
|
264
|
-
// focus leaves container (outside, not to
|
|
240
|
+
// focus leaves container (outside, not to a child)
|
|
265
241
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
266
242
|
closeOptions();
|
|
267
243
|
setSearchValue("");
|
|
@@ -274,7 +250,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
274
250
|
});
|
|
275
251
|
}
|
|
276
252
|
};
|
|
277
|
-
|
|
278
253
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
279
254
|
switch (event.key) {
|
|
280
255
|
case "Down":
|
|
@@ -285,7 +260,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
285
260
|
});
|
|
286
261
|
openOptions();
|
|
287
262
|
break;
|
|
288
|
-
|
|
289
263
|
case "Up":
|
|
290
264
|
case "ArrowUp":
|
|
291
265
|
event.preventDefault();
|
|
@@ -294,21 +268,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
294
268
|
});
|
|
295
269
|
openOptions();
|
|
296
270
|
break;
|
|
297
|
-
|
|
298
271
|
case "Esc":
|
|
299
272
|
case "Escape":
|
|
300
273
|
event.preventDefault();
|
|
301
274
|
closeOptions();
|
|
302
275
|
setSearchValue("");
|
|
303
276
|
break;
|
|
304
|
-
|
|
305
277
|
case "Enter":
|
|
306
278
|
if (isOpen && visualFocusIndex >= 0) {
|
|
307
279
|
var accLength = optional && !multiple ? 1 : 0;
|
|
308
|
-
|
|
309
280
|
if (searchable) {
|
|
310
281
|
if (filteredOptions.length > 0) {
|
|
311
|
-
if (optional && !multiple && visualFocusIndex === 0 &&
|
|
282
|
+
if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
312
283
|
var groupLength = accLength + groupOption.options.length;
|
|
313
284
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
314
285
|
accLength = groupLength;
|
|
@@ -316,28 +287,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
316
287
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
317
288
|
}
|
|
318
289
|
} else {
|
|
319
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options
|
|
290
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
|
|
320
291
|
var groupLength = accLength + groupOption.options.length;
|
|
321
292
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
322
293
|
accLength = groupLength;
|
|
323
294
|
return groupLength > visualFocusIndex;
|
|
324
295
|
}) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
|
|
325
296
|
}
|
|
326
|
-
|
|
327
297
|
!multiple && closeOptions();
|
|
328
298
|
setSearchValue("");
|
|
329
299
|
}
|
|
330
|
-
|
|
331
300
|
break;
|
|
332
301
|
}
|
|
333
302
|
};
|
|
334
|
-
|
|
335
303
|
var handleSearchIOnChange = function handleSearchIOnChange(event) {
|
|
336
304
|
setSearchValue(event.target.value);
|
|
337
305
|
changeVisualFocusIndex(-1);
|
|
338
306
|
openOptions();
|
|
339
307
|
};
|
|
340
|
-
|
|
341
308
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
342
309
|
event.stopPropagation();
|
|
343
310
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
@@ -348,23 +315,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
348
315
|
value: []
|
|
349
316
|
});
|
|
350
317
|
};
|
|
351
|
-
|
|
352
318
|
var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
|
|
353
319
|
event.stopPropagation();
|
|
354
320
|
setSearchValue("");
|
|
355
321
|
};
|
|
356
|
-
|
|
357
322
|
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
358
323
|
handleSelectChangeValue(option);
|
|
359
324
|
!multiple && closeOptions();
|
|
360
325
|
setSearchValue("");
|
|
361
326
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
}, []);
|
|
327
|
+
(0, _react.useEffect)(function () {
|
|
328
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
|
|
329
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.scrollWidth) > (selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.clientWidth)) selectedOptionLabelRef.current.title = getSelectedOptionLabel(placeholder, selectedOption);else selectedOptionLabelRef.current.title = "";
|
|
330
|
+
}
|
|
331
|
+
}, [placeholder, selectedOption]);
|
|
368
332
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
369
333
|
theme: colorsTheme.select
|
|
370
334
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -405,7 +369,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
405
369
|
"aria-invalid": error ? true : false,
|
|
406
370
|
"aria-errormessage": error ? errorId : undefined,
|
|
407
371
|
"aria-required": !disabled && !optional
|
|
408
|
-
}, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
372
|
+
}, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
409
373
|
disabled: disabled
|
|
410
374
|
}, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
|
|
411
375
|
disabled: disabled,
|
|
@@ -417,10 +381,12 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
417
381
|
tabIndex: -1,
|
|
418
382
|
title: translatedLabels.select.actionClearSelectionTitle,
|
|
419
383
|
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
420
|
-
},
|
|
384
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
385
|
+
icon: "clear"
|
|
386
|
+
}))), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
421
387
|
name: name,
|
|
422
388
|
disabled: disabled,
|
|
423
|
-
value: multiple ? (value !== null &&
|
|
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,
|
|
424
390
|
readOnly: true,
|
|
425
391
|
"aria-hidden": "true"
|
|
426
392
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
@@ -431,15 +397,14 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
431
397
|
autoComplete: "nope",
|
|
432
398
|
autoCorrect: "nope",
|
|
433
399
|
size: 1
|
|
434
|
-
}), (!searchable || searchValue === "") &&
|
|
400
|
+
}), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
435
401
|
disabled: disabled,
|
|
436
|
-
atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || searchable && isOpen
|
|
437
|
-
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel,
|
|
438
|
-
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
}, /*#__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, {
|
|
443
408
|
onMouseDown: function onMouseDown(event) {
|
|
444
409
|
// Avoid input to lose focus
|
|
445
410
|
event.preventDefault();
|
|
@@ -448,10 +413,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
448
413
|
tabIndex: -1,
|
|
449
414
|
title: translatedLabels.select.actionClearSearchTitle,
|
|
450
415
|
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
451
|
-
},
|
|
416
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
417
|
+
icon: "clear"
|
|
418
|
+
})), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
452
419
|
disabled: disabled
|
|
453
|
-
},
|
|
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, {
|
|
454
423
|
sideOffset: 4,
|
|
424
|
+
style: {
|
|
425
|
+
zIndex: "2147483647"
|
|
426
|
+
},
|
|
455
427
|
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
456
428
|
// Avoid select to lose focus when the list is opened
|
|
457
429
|
event.preventDefault();
|
|
@@ -471,24 +443,23 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
471
443
|
optionalItem: optionalItem,
|
|
472
444
|
searchable: searchable,
|
|
473
445
|
handleOptionOnClick: handleOptionOnClick,
|
|
474
|
-
|
|
475
|
-
|
|
446
|
+
styles: {
|
|
447
|
+
width: width
|
|
448
|
+
}
|
|
449
|
+
})))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
476
450
|
id: errorId,
|
|
477
451
|
"aria-live": error ? "assertive" : "off"
|
|
478
452
|
}, error)));
|
|
479
453
|
});
|
|
480
|
-
|
|
481
454
|
var sizes = {
|
|
482
455
|
small: "240px",
|
|
483
456
|
medium: "360px",
|
|
484
457
|
large: "480px",
|
|
485
458
|
fillParent: "100%"
|
|
486
459
|
};
|
|
487
|
-
|
|
488
460
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
489
461
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
490
462
|
};
|
|
491
|
-
|
|
492
463
|
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) {
|
|
493
464
|
return calculateWidth(props.margin, props.size);
|
|
494
465
|
}, function (props) {
|
|
@@ -502,7 +473,6 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
502
473
|
}, function (props) {
|
|
503
474
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
504
475
|
});
|
|
505
|
-
|
|
506
476
|
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) {
|
|
507
477
|
return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
|
|
508
478
|
}, function (props) {
|
|
@@ -518,11 +488,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
|
|
|
518
488
|
}, function (props) {
|
|
519
489
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
520
490
|
});
|
|
521
|
-
|
|
522
491
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
523
492
|
return props.theme.optionalLabelFontWeight;
|
|
524
493
|
});
|
|
525
|
-
|
|
526
494
|
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) {
|
|
527
495
|
return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
|
|
528
496
|
}, function (props) {
|
|
@@ -536,7 +504,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
536
504
|
}, function (props) {
|
|
537
505
|
return props.theme.helperTextLineHeight;
|
|
538
506
|
});
|
|
539
|
-
|
|
540
507
|
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) {
|
|
541
508
|
return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
|
|
542
509
|
}, function (props) {
|
|
@@ -548,11 +515,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
|
|
|
548
515
|
}, function (props) {
|
|
549
516
|
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 ");
|
|
550
517
|
});
|
|
551
|
-
|
|
552
518
|
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) {
|
|
553
519
|
return props.theme.selectionIndicatorBorderColor;
|
|
554
520
|
});
|
|
555
|
-
|
|
556
521
|
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) {
|
|
557
522
|
return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
|
|
558
523
|
}, function (props) {
|
|
@@ -570,8 +535,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
570
535
|
}, function (props) {
|
|
571
536
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
572
537
|
});
|
|
573
|
-
|
|
574
|
-
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) {
|
|
538
|
+
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) {
|
|
575
539
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
576
540
|
}, function (props) {
|
|
577
541
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -580,9 +544,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
|
|
|
580
544
|
}, function (props) {
|
|
581
545
|
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 ");
|
|
582
546
|
});
|
|
583
|
-
|
|
584
547
|
var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
|
|
585
|
-
|
|
586
548
|
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) {
|
|
587
549
|
if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
|
|
588
550
|
}, function (props) {
|
|
@@ -594,11 +556,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
594
556
|
}, function (props) {
|
|
595
557
|
return props.theme.valueFontWeight;
|
|
596
558
|
});
|
|
597
|
-
|
|
598
559
|
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
599
|
-
|
|
600
560
|
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
601
|
-
|
|
602
561
|
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) {
|
|
603
562
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
604
563
|
}, function (props) {
|
|
@@ -610,22 +569,18 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
|
|
|
610
569
|
}, function (props) {
|
|
611
570
|
return props.theme.valueFontWeight;
|
|
612
571
|
});
|
|
613
|
-
|
|
614
|
-
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) {
|
|
572
|
+
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) {
|
|
615
573
|
return props.theme.errorIconColor;
|
|
616
574
|
});
|
|
617
|
-
|
|
618
575
|
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) {
|
|
619
576
|
return props.theme.errorMessageColor;
|
|
620
577
|
}, function (props) {
|
|
621
578
|
return props.theme.fontFamily;
|
|
622
579
|
});
|
|
623
|
-
|
|
624
580
|
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) {
|
|
625
581
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
626
582
|
});
|
|
627
|
-
|
|
628
|
-
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) {
|
|
583
|
+
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) {
|
|
629
584
|
return props.theme.fontFamily;
|
|
630
585
|
}, function (props) {
|
|
631
586
|
return props.theme.actionBackgroundColor;
|
|
@@ -640,6 +595,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
|
|
|
640
595
|
}, function (props) {
|
|
641
596
|
return props.theme.activeActionIconColor;
|
|
642
597
|
});
|
|
643
|
-
|
|
644
|
-
var _default = DxcSelect;
|
|
645
|
-
exports["default"] = _default;
|
|
598
|
+
var _default = exports["default"] = DxcSelect;
|