@dxc-technology/halstack-react 0.0.0-e1386cf → 0.0.0-e19ca5f
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 +1240 -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 +44 -118
- package/accordion/Accordion.stories.tsx +82 -147
- 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 +36 -126
- 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/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/bulleted-list/BulletedList.accessibility.test.js +119 -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 +71 -106
- package/button/Button.stories.tsx +143 -101
- 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 +49 -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 +90 -125
- 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 +45 -80
- package/chip/Chip.stories.tsx +107 -27
- 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 +1392 -0
- package/common/variables.js +969 -1213
- 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 +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.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +149 -299
- package/date-input/DateInput.stories.tsx +210 -56
- package/date-input/DateInput.test.js +694 -429
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +121 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +72 -15
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +51 -120
- package/dialog/Dialog.stories.tsx +316 -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 +66 -136
- package/dropdown/Dropdown.stories.tsx +209 -94
- package/dropdown/Dropdown.test.js +404 -390
- package/dropdown/DropdownMenu.js +23 -40
- package/dropdown/DropdownMenuItem.js +17 -38
- 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 +31 -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 +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +73 -118
- package/footer/Footer.stories.tsx +94 -23
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +53 -22
- 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 +93 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +55 -150
- package/header/Header.stories.tsx +130 -35
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +3 -13
- 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 +36 -70
- 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 +5 -6
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +31 -50
- package/link/Link.stories.tsx +64 -4
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +11 -5
- package/main.js +54 -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/nav-tabs/NavTabs.test.js +77 -0
- 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 +43 -46
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +34 -67
- 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 +58 -127
- 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 +28 -58
- 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 +46 -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/{text-input → resultset-table}/Icons.js +13 -26
- package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +171 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
- package/resultset-table/ResultsetTable.test.js +381 -0
- 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 +43 -86
- package/select/Option.js +35 -56
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +140 -183
- package/select/Select.stories.tsx +496 -204
- package/select/Select.test.js +1949 -1917
- 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 -157
- package/sidenav/Sidenav.stories.tsx +160 -63
- 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 +75 -132
- 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 +34 -74
- 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 +98 -0
- package/switch/Switch.js +52 -100
- package/switch/Switch.stories.tsx +45 -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 +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +663 -0
- package/table/Table.test.js +94 -7
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +28 -46
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +69 -163
- package/tabs/Tabs.stories.tsx +50 -6
- 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 +35 -25
- 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 +229 -335
- package/text-input/TextInput.stories.tsx +155 -162
- package/text-input/TextInput.test.js +1289 -1157
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +71 -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 +1144 -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 -75
- 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/RequiredComponent.js +0 -32
- 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/paginator/Icons.js +0 -66
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -252
- package/resultsetTable/ResultsetTable.test.js +0 -348
- 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 -170
- package/tabs-nav/NavTabs.test.js +0 -82
- package/tabs-nav/Tab.js +0 -130
- package/text-input/Icons.d.ts +0 -8
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → breadcrumbs}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/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 && {}.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,94 @@ 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);
|
|
165
|
+
var searchableInputId = "searchable-input-".concat(selectId);
|
|
177
166
|
var errorId = "error-".concat(selectId);
|
|
178
167
|
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
|
-
|
|
168
|
+
var _useState5 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : ""),
|
|
169
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
170
|
+
innerValue = _useState6[0],
|
|
171
|
+
setInnerValue = _useState6[1];
|
|
172
|
+
var _useState7 = (0, _react.useState)(""),
|
|
173
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
174
|
+
searchValue = _useState8[0],
|
|
175
|
+
setSearchValue = _useState8[1];
|
|
176
|
+
var _useState9 = (0, _react.useState)(-1),
|
|
177
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
178
|
+
visualFocusIndex = _useState10[0],
|
|
179
|
+
changeVisualFocusIndex = _useState10[1];
|
|
180
|
+
var _useState11 = (0, _react.useState)(false),
|
|
181
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
182
|
+
isOpen = _useState12[0],
|
|
183
|
+
changeIsOpen = _useState12[1];
|
|
200
184
|
var selectRef = (0, _react.useRef)(null);
|
|
201
185
|
var selectSearchInputRef = (0, _react.useRef)(null);
|
|
186
|
+
var selectedOptionLabelRef = (0, _react.useRef)(null);
|
|
187
|
+
var width = useWidth(selectRef.current);
|
|
202
188
|
var colorsTheme = (0, _useTheme["default"])();
|
|
203
189
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
204
190
|
var optionalItem = {
|
|
@@ -211,33 +197,28 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
211
197
|
var lastOptionIndex = (0, _react.useMemo)(function () {
|
|
212
198
|
return getLastOptionIndex(options, filteredOptions, searchable, optional, multiple);
|
|
213
199
|
}, [options, filteredOptions, searchable, optional, multiple]);
|
|
214
|
-
|
|
215
200
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
201
|
+
return getSelectedOption(value !== null && value !== void 0 ? value : innerValue, options, multiple, optional, optionalItem);
|
|
202
|
+
}, [value, innerValue, options, multiple, optional, optionalItem]),
|
|
203
|
+
selectedOption = _useMemo.selectedOption,
|
|
204
|
+
singleSelectionIndex = _useMemo.singleSelectionIndex;
|
|
221
205
|
var openOptions = function openOptions() {
|
|
222
206
|
if (!isOpen && canOpenOptions(options, disabled)) changeIsOpen(true);
|
|
223
207
|
};
|
|
224
|
-
|
|
225
208
|
var closeOptions = function closeOptions() {
|
|
226
209
|
if (isOpen) {
|
|
227
210
|
changeIsOpen(false);
|
|
228
211
|
changeVisualFocusIndex(-1);
|
|
229
212
|
}
|
|
230
213
|
};
|
|
231
|
-
|
|
232
214
|
var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
|
|
233
215
|
var newValue;
|
|
234
|
-
|
|
235
216
|
if (multiple) {
|
|
236
|
-
|
|
217
|
+
var _ref2, _ref3;
|
|
218
|
+
if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) newValue = ((_ref2 = value && Array.isArray(value) && value) !== null && _ref2 !== void 0 ? _ref2 : innerValue && Array.isArray(innerValue) && innerValue).filter(function (optionVal) {
|
|
237
219
|
return optionVal !== newOption.value;
|
|
238
|
-
});else newValue = [].concat((0, _toConsumableArray2["default"])(value !== null &&
|
|
220
|
+
});else newValue = [].concat((0, _toConsumableArray2["default"])((_ref3 = value && Array.isArray(value) && value) !== null && _ref3 !== void 0 ? _ref3 : innerValue && Array.isArray(innerValue) && innerValue), [newOption.value]);
|
|
239
221
|
} else newValue = newOption.value;
|
|
240
|
-
|
|
241
222
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
242
223
|
notOptionalCheck(newValue, multiple, optional) ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
243
224
|
value: newValue,
|
|
@@ -246,22 +227,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
246
227
|
value: newValue
|
|
247
228
|
});
|
|
248
229
|
};
|
|
249
|
-
|
|
250
230
|
var handleSelectOnClick = function handleSelectOnClick() {
|
|
251
231
|
searchable && selectSearchInputRef.current.focus();
|
|
252
|
-
|
|
253
232
|
if (isOpen) {
|
|
254
233
|
closeOptions();
|
|
255
234
|
setSearchValue("");
|
|
256
235
|
} else openOptions();
|
|
257
236
|
};
|
|
258
|
-
|
|
259
237
|
var handleSelectOnFocus = function handleSelectOnFocus(event) {
|
|
260
238
|
if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
|
|
261
239
|
};
|
|
262
|
-
|
|
263
240
|
var handleSelectOnBlur = function handleSelectOnBlur(event) {
|
|
264
|
-
// focus leaves container (outside, not to
|
|
241
|
+
// focus leaves container (outside, not to a child)
|
|
265
242
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
266
243
|
closeOptions();
|
|
267
244
|
setSearchValue("");
|
|
@@ -274,7 +251,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
274
251
|
});
|
|
275
252
|
}
|
|
276
253
|
};
|
|
277
|
-
|
|
278
254
|
var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
|
|
279
255
|
switch (event.key) {
|
|
280
256
|
case "Down":
|
|
@@ -285,7 +261,6 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
285
261
|
});
|
|
286
262
|
openOptions();
|
|
287
263
|
break;
|
|
288
|
-
|
|
289
264
|
case "Up":
|
|
290
265
|
case "ArrowUp":
|
|
291
266
|
event.preventDefault();
|
|
@@ -294,21 +269,18 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
294
269
|
});
|
|
295
270
|
openOptions();
|
|
296
271
|
break;
|
|
297
|
-
|
|
298
272
|
case "Esc":
|
|
299
273
|
case "Escape":
|
|
300
274
|
event.preventDefault();
|
|
301
275
|
closeOptions();
|
|
302
276
|
setSearchValue("");
|
|
303
277
|
break;
|
|
304
|
-
|
|
305
278
|
case "Enter":
|
|
306
279
|
if (isOpen && visualFocusIndex >= 0) {
|
|
307
280
|
var accLength = optional && !multiple ? 1 : 0;
|
|
308
|
-
|
|
309
281
|
if (searchable) {
|
|
310
282
|
if (filteredOptions.length > 0) {
|
|
311
|
-
if (optional && !multiple && visualFocusIndex === 0 &&
|
|
283
|
+
if (optional && !multiple && visualFocusIndex === 0 && groupsHaveOptions(filteredOptions)) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(filteredOptions) ? groupsHaveOptions(filteredOptions) && filteredOptions.some(function (groupOption) {
|
|
312
284
|
var groupLength = accLength + groupOption.options.length;
|
|
313
285
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
314
286
|
accLength = groupLength;
|
|
@@ -316,28 +288,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
316
288
|
}) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
|
|
317
289
|
}
|
|
318
290
|
} else {
|
|
319
|
-
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else options
|
|
291
|
+
if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalItem);else isArrayOfOptionGroups(options) ? options.some(function (groupOption) {
|
|
320
292
|
var groupLength = accLength + groupOption.options.length;
|
|
321
293
|
groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
|
|
322
294
|
accLength = groupLength;
|
|
323
295
|
return groupLength > visualFocusIndex;
|
|
324
296
|
}) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
|
|
325
297
|
}
|
|
326
|
-
|
|
327
298
|
!multiple && closeOptions();
|
|
328
299
|
setSearchValue("");
|
|
329
300
|
}
|
|
330
|
-
|
|
331
301
|
break;
|
|
332
302
|
}
|
|
333
303
|
};
|
|
334
|
-
|
|
335
304
|
var handleSearchIOnChange = function handleSearchIOnChange(event) {
|
|
336
305
|
setSearchValue(event.target.value);
|
|
337
306
|
changeVisualFocusIndex(-1);
|
|
338
307
|
openOptions();
|
|
339
308
|
};
|
|
340
|
-
|
|
341
309
|
var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
|
|
342
310
|
event.stopPropagation();
|
|
343
311
|
value !== null && value !== void 0 ? value : setInnerValue([]);
|
|
@@ -348,23 +316,20 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
348
316
|
value: []
|
|
349
317
|
});
|
|
350
318
|
};
|
|
351
|
-
|
|
352
319
|
var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
|
|
353
320
|
event.stopPropagation();
|
|
354
321
|
setSearchValue("");
|
|
355
322
|
};
|
|
356
|
-
|
|
357
323
|
var handleOptionOnClick = (0, _react.useCallback)(function (option) {
|
|
358
324
|
handleSelectChangeValue(option);
|
|
359
325
|
!multiple && closeOptions();
|
|
360
326
|
setSearchValue("");
|
|
361
327
|
}, [handleSelectChangeValue, closeOptions, multiple]);
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
}, []);
|
|
328
|
+
(0, _react.useEffect)(function () {
|
|
329
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current) != null) {
|
|
330
|
+
if ((selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.scrollWidth) > (selectedOptionLabelRef === null || selectedOptionLabelRef === void 0 ? void 0 : selectedOptionLabelRef.current.clientWidth)) selectedOptionLabelRef.current.title = getSelectedOptionLabel(placeholder, selectedOption);else selectedOptionLabelRef.current.title = "";
|
|
331
|
+
}
|
|
332
|
+
}, [placeholder, selectedOption]);
|
|
368
333
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
369
334
|
theme: colorsTheme.select
|
|
370
335
|
}, /*#__PURE__*/_react["default"].createElement(SelectContainer, {
|
|
@@ -377,7 +342,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
377
342
|
onClick: function onClick() {
|
|
378
343
|
selectRef.current.focus();
|
|
379
344
|
},
|
|
380
|
-
helperText: helperText
|
|
345
|
+
helperText: helperText,
|
|
346
|
+
htmlFor: searchable ? searchableInputId : undefined
|
|
381
347
|
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
382
348
|
disabled: disabled
|
|
383
349
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
@@ -405,7 +371,7 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
405
371
|
"aria-invalid": error ? true : false,
|
|
406
372
|
"aria-errormessage": error ? errorId : undefined,
|
|
407
373
|
"aria-required": !disabled && !optional
|
|
408
|
-
}, multiple && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
374
|
+
}, multiple && Array.isArray(selectedOption) && selectedOption.length > 0 && /*#__PURE__*/_react["default"].createElement(SelectionIndicator, null, /*#__PURE__*/_react["default"].createElement(SelectionNumber, {
|
|
409
375
|
disabled: disabled
|
|
410
376
|
}, selectedOption.length), /*#__PURE__*/_react["default"].createElement(ClearOptionsAction, {
|
|
411
377
|
disabled: disabled,
|
|
@@ -417,13 +383,16 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
417
383
|
tabIndex: -1,
|
|
418
384
|
title: translatedLabels.select.actionClearSelectionTitle,
|
|
419
385
|
"aria-label": translatedLabels.select.actionClearSelectionTitle
|
|
420
|
-
},
|
|
386
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
387
|
+
icon: "clear"
|
|
388
|
+
}))), /*#__PURE__*/_react["default"].createElement(SearchableValueContainer, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
421
389
|
name: name,
|
|
422
390
|
disabled: disabled,
|
|
423
|
-
value: multiple ? (value !== null &&
|
|
391
|
+
value: multiple ? ((_ref4 = value && Array.isArray(value) && value) !== null && _ref4 !== void 0 ? _ref4 : innerValue && Array.isArray(innerValue) && innerValue).join(",") : value !== null && value !== void 0 ? value : innerValue,
|
|
424
392
|
readOnly: true,
|
|
425
393
|
"aria-hidden": "true"
|
|
426
394
|
}), searchable && /*#__PURE__*/_react["default"].createElement(SearchInput, {
|
|
395
|
+
id: searchableInputId,
|
|
427
396
|
value: searchValue,
|
|
428
397
|
disabled: disabled,
|
|
429
398
|
onChange: handleSearchIOnChange,
|
|
@@ -431,15 +400,14 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
431
400
|
autoComplete: "nope",
|
|
432
401
|
autoCorrect: "nope",
|
|
433
402
|
size: 1
|
|
434
|
-
}), (!searchable || searchValue === "") &&
|
|
403
|
+
}), (!searchable || searchValue === "") && /*#__PURE__*/_react["default"].createElement(SelectedOption, {
|
|
435
404
|
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, {
|
|
405
|
+
atBackground: (multiple ? (value !== null && value !== void 0 ? value : innerValue).length === 0 : !(value !== null && value !== void 0 ? value : innerValue)) || searchable && isOpen
|
|
406
|
+
}, /*#__PURE__*/_react["default"].createElement(SelectedOptionLabel, {
|
|
407
|
+
ref: selectedOptionLabelRef
|
|
408
|
+
}, getSelectedOptionLabel(placeholder, selectedOption)))), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
409
|
+
icon: "filled_error"
|
|
410
|
+
})), searchable && searchValue.length > 0 && /*#__PURE__*/_react["default"].createElement(ClearSearchAction, {
|
|
443
411
|
onMouseDown: function onMouseDown(event) {
|
|
444
412
|
// Avoid input to lose focus
|
|
445
413
|
event.preventDefault();
|
|
@@ -448,10 +416,17 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
448
416
|
tabIndex: -1,
|
|
449
417
|
title: translatedLabels.select.actionClearSearchTitle,
|
|
450
418
|
"aria-label": translatedLabels.select.actionClearSearchTitle
|
|
451
|
-
},
|
|
419
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
420
|
+
icon: "clear"
|
|
421
|
+
})), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
452
422
|
disabled: disabled
|
|
453
|
-
},
|
|
423
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
424
|
+
icon: isOpen ? "keyboard_arrow_up" : "keyboard_arrow_down"
|
|
425
|
+
})))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
454
426
|
sideOffset: 4,
|
|
427
|
+
style: {
|
|
428
|
+
zIndex: "2147483647"
|
|
429
|
+
},
|
|
455
430
|
onOpenAutoFocus: function onOpenAutoFocus(event) {
|
|
456
431
|
// Avoid select to lose focus when the list is opened
|
|
457
432
|
event.preventDefault();
|
|
@@ -471,24 +446,24 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
471
446
|
optionalItem: optionalItem,
|
|
472
447
|
searchable: searchable,
|
|
473
448
|
handleOptionOnClick: handleOptionOnClick,
|
|
474
|
-
|
|
475
|
-
|
|
449
|
+
styles: {
|
|
450
|
+
width: width
|
|
451
|
+
}
|
|
452
|
+
})))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
476
453
|
id: errorId,
|
|
454
|
+
role: "alert",
|
|
477
455
|
"aria-live": error ? "assertive" : "off"
|
|
478
456
|
}, error)));
|
|
479
457
|
});
|
|
480
|
-
|
|
481
458
|
var sizes = {
|
|
482
459
|
small: "240px",
|
|
483
460
|
medium: "360px",
|
|
484
461
|
large: "480px",
|
|
485
462
|
fillParent: "100%"
|
|
486
463
|
};
|
|
487
|
-
|
|
488
464
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
489
465
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
490
466
|
};
|
|
491
|
-
|
|
492
467
|
var SelectContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
493
468
|
return calculateWidth(props.margin, props.size);
|
|
494
469
|
}, function (props) {
|
|
@@ -502,8 +477,7 @@ var SelectContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
502
477
|
}, function (props) {
|
|
503
478
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
504
479
|
});
|
|
505
|
-
|
|
506
|
-
var Label = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n ", "\n"])), function (props) {
|
|
480
|
+
var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n ", "\n"])), function (props) {
|
|
507
481
|
return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
|
|
508
482
|
}, function (props) {
|
|
509
483
|
return props.theme.fontFamily;
|
|
@@ -518,11 +492,9 @@ var Label = _styledComponents["default"].span(_templateObject2 || (_templateObje
|
|
|
518
492
|
}, function (props) {
|
|
519
493
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
520
494
|
});
|
|
521
|
-
|
|
522
495
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
523
496
|
return props.theme.optionalLabelFontWeight;
|
|
524
497
|
});
|
|
525
|
-
|
|
526
498
|
var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: 0.25rem;\n"])), function (props) {
|
|
527
499
|
return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
|
|
528
500
|
}, function (props) {
|
|
@@ -536,7 +508,6 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
536
508
|
}, function (props) {
|
|
537
509
|
return props.theme.helperTextLineHeight;
|
|
538
510
|
});
|
|
539
|
-
|
|
540
511
|
var Select = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n outline: none;\n ", ";\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
|
|
541
512
|
return props.disabled && "background-color: ".concat(props.theme.disabledInputBackgroundColor);
|
|
542
513
|
}, function (props) {
|
|
@@ -548,11 +519,9 @@ var Select = _styledComponents["default"].div(_templateObject5 || (_templateObje
|
|
|
548
519
|
}, function (props) {
|
|
549
520
|
return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.theme.hoverInputBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.theme.hoverInputErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusInputBorderColor, ";\n }\n ");
|
|
550
521
|
});
|
|
551
|
-
|
|
552
522
|
var SelectionIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n max-height: 22px;\n width: 46px;\n"])), function (props) {
|
|
553
523
|
return props.theme.selectionIndicatorBorderColor;
|
|
554
524
|
});
|
|
555
|
-
|
|
556
525
|
var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n user-select: none;\n ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"])), function (props) {
|
|
557
526
|
return !props.disabled && "background-color: ".concat(props.theme.selectionIndicatorBackgroundColor);
|
|
558
527
|
}, function (props) {
|
|
@@ -570,8 +539,7 @@ var SelectionNumber = _styledComponents["default"].span(_templateObject7 || (_te
|
|
|
570
539
|
}, function (props) {
|
|
571
540
|
return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
|
|
572
541
|
});
|
|
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) {
|
|
542
|
+
var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n width: 23px;\n height: 22px;\n border: none;\n padding: 0.25rem;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n font-size:16px;\n"])), function (props) {
|
|
575
543
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
576
544
|
}, function (props) {
|
|
577
545
|
return props.disabled ? "transparent" : props.theme.enabledSelectionIndicatorActionBackgroundColor;
|
|
@@ -580,9 +548,7 @@ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8 ||
|
|
|
580
548
|
}, function (props) {
|
|
581
549
|
return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.hoverSelectionIndicatorActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.activeSelectionIndicatorActionIconColor, ";\n }\n ");
|
|
582
550
|
});
|
|
583
|
-
|
|
584
551
|
var SearchableValueContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"])));
|
|
585
|
-
|
|
586
552
|
var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n display: inline-flex;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n user-select: none;\n overflow: hidden;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
587
553
|
if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
|
|
588
554
|
}, function (props) {
|
|
@@ -594,11 +560,8 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10 || (_te
|
|
|
594
560
|
}, function (props) {
|
|
595
561
|
return props.theme.valueFontWeight;
|
|
596
562
|
});
|
|
597
|
-
|
|
598
563
|
var SelectedOptionLabel = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
599
|
-
|
|
600
564
|
var ValueInput = _styledComponents["default"].input(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
601
|
-
|
|
602
565
|
var SearchInput = _styledComponents["default"].input(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(2.5rem - 2px);\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
|
|
603
566
|
return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
|
|
604
567
|
}, function (props) {
|
|
@@ -610,22 +573,18 @@ var SearchInput = _styledComponents["default"].input(_templateObject13 || (_temp
|
|
|
610
573
|
}, function (props) {
|
|
611
574
|
return props.theme.valueFontWeight;
|
|
612
575
|
});
|
|
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) {
|
|
576
|
+
var ErrorIcon = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n pointer-events: none;\n color: ", ";\n\n font-size: 1.25rem;\n"])), function (props) {
|
|
615
577
|
return props.theme.errorIconColor;
|
|
616
578
|
});
|
|
617
|
-
|
|
618
579
|
var Error = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
|
|
619
580
|
return props.theme.errorMessageColor;
|
|
620
581
|
}, function (props) {
|
|
621
582
|
return props.theme.fontFamily;
|
|
622
583
|
});
|
|
623
|
-
|
|
624
584
|
var CollapseIndicator = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: 0.25rem;\n color: ", ";\n"])), function (props) {
|
|
625
585
|
return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
|
|
626
586
|
});
|
|
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) {
|
|
587
|
+
var ClearSearchAction = _styledComponents["default"].button(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: 0.25rem;\n background-color: ", ";\n color: ", ";\n\n cursor: pointer;\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n }\n font-size: 16px;\n"])), function (props) {
|
|
629
588
|
return props.theme.fontFamily;
|
|
630
589
|
}, function (props) {
|
|
631
590
|
return props.theme.actionBackgroundColor;
|
|
@@ -640,6 +599,4 @@ var ClearSearchAction = _styledComponents["default"].button(_templateObject17 ||
|
|
|
640
599
|
}, function (props) {
|
|
641
600
|
return props.theme.activeActionIconColor;
|
|
642
601
|
});
|
|
643
|
-
|
|
644
|
-
var _default = DxcSelect;
|
|
645
|
-
exports["default"] = _default;
|
|
602
|
+
var _default = exports["default"] = DxcSelect;
|