@dxc-technology/halstack-react 0.0.0-9bd9511 → 0.0.0-9c20370
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 +3 -3
- package/BackgroundColorContext.js +12 -2
- package/HalstackContext.d.ts +1330 -7
- package/HalstackContext.js +84 -67
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +74 -55
- package/accordion/Accordion.stories.tsx +3 -101
- package/accordion/Accordion.test.js +34 -19
- package/accordion/types.d.ts +4 -16
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +49 -42
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +62 -54
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +6 -18
- package/alert/Alert.js +47 -20
- package/alert/Alert.test.js +46 -29
- package/alert/types.d.ts +3 -3
- package/badge/Badge.js +14 -2
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +21 -13
- package/bleed/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +33 -33
- package/box/Box.stories.tsx +25 -53
- package/box/Box.test.js +7 -2
- package/box/types.d.ts +3 -15
- package/bulleted-list/BulletedList.js +36 -9
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +83 -71
- package/button/Button.stories.tsx +4 -4
- package/button/Button.test.js +28 -8
- package/button/types.d.ts +8 -4
- package/card/Card.d.ts +1 -1
- package/card/Card.js +67 -62
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +22 -11
- package/card/types.d.ts +4 -10
- package/checkbox/Checkbox.js +71 -27
- package/checkbox/Checkbox.test.js +60 -33
- package/checkbox/types.d.ts +4 -4
- package/chip/Chip.js +51 -48
- package/chip/Chip.stories.tsx +25 -17
- package/chip/Chip.test.js +29 -17
- package/chip/types.d.ts +4 -4
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +8 -3
- package/common/variables.d.ts +226 -175
- package/common/variables.js +956 -1133
- package/date-input/Calendar.js +55 -12
- package/date-input/DateInput.js +82 -35
- package/date-input/DateInput.test.js +351 -164
- package/date-input/DatePicker.js +38 -8
- package/date-input/Icons.js +12 -0
- package/date-input/YearPicker.js +30 -5
- package/date-input/types.d.ts +7 -7
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +83 -86
- package/dialog/Dialog.stories.tsx +127 -221
- package/dialog/Dialog.test.js +331 -18
- package/dialog/types.d.ts +1 -14
- package/dropdown/Dropdown.js +86 -32
- package/dropdown/Dropdown.test.js +211 -104
- package/dropdown/DropdownMenu.js +22 -8
- package/dropdown/DropdownMenuItem.js +15 -6
- package/dropdown/types.d.ts +8 -8
- package/file-input/FileInput.js +218 -134
- package/file-input/FileInput.test.js +343 -331
- package/file-input/FileItem.js +39 -12
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +39 -25
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +80 -68
- package/footer/Footer.stories.tsx +12 -89
- package/footer/Footer.test.js +47 -40
- package/footer/Icons.js +4 -0
- package/footer/types.d.ts +15 -17
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +72 -55
- package/header/Header.stories.tsx +7 -71
- package/header/Header.test.js +26 -13
- package/header/Icons.js +4 -0
- package/header/types.d.ts +2 -16
- package/heading/Heading.js +28 -7
- package/heading/Heading.test.js +88 -71
- package/heading/types.d.ts +3 -3
- package/inset/Inset.js +21 -13
- 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 +57 -15
- package/layout/Icons.js +10 -0
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +4 -0
- package/layout/types.d.ts +5 -6
- package/link/Link.js +41 -21
- package/link/Link.test.js +42 -26
- package/link/types.d.ts +4 -4
- package/main.d.ts +2 -1
- package/main.js +55 -0
- package/nav-tabs/NavTabs.d.ts +2 -2
- package/nav-tabs/NavTabs.js +43 -16
- package/nav-tabs/NavTabs.stories.tsx +14 -0
- package/nav-tabs/NavTabs.test.js +44 -37
- package/nav-tabs/Tab.js +71 -45
- package/nav-tabs/types.d.ts +10 -11
- package/number-input/NumberInput.js +30 -20
- package/number-input/NumberInput.test.js +249 -113
- package/number-input/NumberInputContext.js +5 -0
- package/number-input/numberInputContextTypes.d.ts +1 -1
- package/number-input/types.d.ts +4 -4
- package/package.json +7 -7
- package/paginator/Icons.js +10 -0
- package/paginator/Paginator.js +39 -17
- package/paginator/Paginator.test.js +156 -104
- package/paginator/types.d.ts +1 -1
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +18 -8
- package/password-input/PasswordInput.js +51 -22
- package/password-input/PasswordInput.test.js +94 -51
- package/password-input/types.d.ts +4 -4
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +39 -14
- package/progress-bar/ProgressBar.test.js +53 -36
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +24 -2
- package/quick-nav/types.d.ts +2 -2
- package/radio-group/Radio.js +53 -22
- package/radio-group/RadioGroup.js +84 -41
- package/radio-group/RadioGroup.test.js +288 -186
- package/radio-group/types.d.ts +4 -4
- package/resultsetTable/Icons.js +3 -0
- package/resultsetTable/ResultsetTable.js +56 -21
- package/resultsetTable/ResultsetTable.test.js +75 -42
- package/resultsetTable/types.d.ts +5 -5
- package/select/Icons.js +3 -0
- package/select/Listbox.js +35 -10
- package/select/Option.js +24 -8
- package/select/Select.js +143 -56
- package/select/Select.test.js +839 -456
- package/select/types.d.ts +12 -12
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +116 -104
- package/sidenav/Sidenav.stories.tsx +60 -60
- package/sidenav/Sidenav.test.js +10 -3
- package/sidenav/types.d.ts +26 -23
- package/slider/Slider.js +84 -38
- package/slider/Slider.test.js +104 -76
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +51 -28
- package/spinner/Spinner.stories.jsx +28 -28
- package/spinner/Spinner.test.js +35 -26
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.js +66 -24
- package/switch/Switch.test.js +97 -52
- package/switch/types.d.ts +4 -4
- package/table/Table.js +22 -4
- package/table/Table.test.js +7 -2
- package/table/types.d.ts +3 -3
- package/tabs/Tab.js +39 -22
- package/tabs/Tabs.js +131 -62
- package/tabs/Tabs.test.js +122 -67
- package/tabs/types.d.ts +8 -8
- package/tag/Tag.js +54 -27
- package/tag/Tag.test.js +31 -20
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.js +3 -0
- package/text-input/Suggestion.js +24 -8
- package/text-input/Suggestions.js +36 -11
- package/text-input/TextInput.js +144 -59
- package/text-input/TextInput.stories.tsx +1 -1
- package/text-input/TextInput.test.js +858 -539
- package/text-input/types.d.ts +9 -9
- package/textarea/Textarea.js +73 -38
- package/textarea/Textarea.test.js +173 -98
- package/textarea/types.d.ts +4 -4
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +59 -21
- package/toggle-group/ToggleGroup.test.js +72 -40
- package/toggle-group/types.d.ts +11 -11
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +23 -110
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +6 -0
- package/useTranslatedLabels.d.ts +84 -2
- package/useTranslatedLabels.js +5 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +47 -13
- package/wizard/Wizard.test.js +81 -54
- package/wizard/types.d.ts +7 -8
- package/card/ice-cream.jpg +0 -0
- package/translatedLabelsType.d.ts +0 -82
- /package/{translatedLabelsType.js → grid/types.js} +0 -0
package/dropdown/Dropdown.js
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports["default"] = void 0;
|
|
11
|
+
|
|
9
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
+
|
|
10
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
11
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
12
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
13
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
+
|
|
14
22
|
var _variables = require("../common/variables");
|
|
15
|
-
|
|
23
|
+
|
|
24
|
+
var _utils = require("../common/utils");
|
|
25
|
+
|
|
16
26
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
|
+
|
|
17
28
|
var _uuid = require("uuid");
|
|
29
|
+
|
|
18
30
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
31
|
+
|
|
19
32
|
var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
|
|
33
|
+
|
|
20
34
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
35
|
+
|
|
21
36
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
37
|
+
|
|
22
38
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
+
|
|
23
40
|
var upArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
24
41
|
xmlns: "http://www.w3.org/2000/svg",
|
|
25
42
|
width: "24",
|
|
@@ -32,6 +49,7 @@ var upArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
32
49
|
d: "M0 0h24v24H0z",
|
|
33
50
|
fill: "none"
|
|
34
51
|
}));
|
|
52
|
+
|
|
35
53
|
var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
36
54
|
xmlns: "http://www.w3.org/2000/svg",
|
|
37
55
|
width: "24",
|
|
@@ -44,11 +62,13 @@ var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
44
62
|
d: "M0 0h24v24H0z",
|
|
45
63
|
fill: "none"
|
|
46
64
|
}));
|
|
65
|
+
|
|
47
66
|
var useWidth = function useWidth(target) {
|
|
48
67
|
var _useState = (0, _react.useState)(0),
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
68
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
69
|
+
width = _useState2[0],
|
|
70
|
+
setWidth = _useState2[1];
|
|
71
|
+
|
|
52
72
|
(0, _react.useEffect)(function () {
|
|
53
73
|
if (target != null) {
|
|
54
74
|
setWidth(target.getBoundingClientRect().width);
|
|
@@ -64,64 +84,77 @@ var useWidth = function useWidth(target) {
|
|
|
64
84
|
}, [target]);
|
|
65
85
|
return width;
|
|
66
86
|
};
|
|
87
|
+
|
|
67
88
|
var DxcDropdown = function DxcDropdown(_ref) {
|
|
68
89
|
var options = _ref.options,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
90
|
+
_ref$optionsIconPosit = _ref.optionsIconPosition,
|
|
91
|
+
optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
|
|
92
|
+
icon = _ref.icon,
|
|
93
|
+
_ref$iconPosition = _ref.iconPosition,
|
|
94
|
+
iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
|
|
95
|
+
_ref$label = _ref.label,
|
|
96
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
97
|
+
_ref$caretHidden = _ref.caretHidden,
|
|
98
|
+
caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
|
|
99
|
+
_ref$disabled = _ref.disabled,
|
|
100
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
101
|
+
_ref$expandOnHover = _ref.expandOnHover,
|
|
102
|
+
expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
|
|
103
|
+
onSelectOption = _ref.onSelectOption,
|
|
104
|
+
margin = _ref.margin,
|
|
105
|
+
_ref$size = _ref.size,
|
|
106
|
+
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
107
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
108
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
109
|
+
|
|
88
110
|
var _useState3 = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
|
|
89
|
-
|
|
90
|
-
|
|
111
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
112
|
+
triggerId = _useState4[0];
|
|
113
|
+
|
|
91
114
|
var menuId = "menu-".concat(triggerId);
|
|
115
|
+
|
|
92
116
|
var _useState5 = (0, _react.useState)(false),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
117
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
118
|
+
isOpen = _useState6[0],
|
|
119
|
+
changeIsOpen = _useState6[1];
|
|
120
|
+
|
|
96
121
|
var _useState7 = (0, _react.useState)(0),
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
122
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
123
|
+
visualFocusIndex = _useState8[0],
|
|
124
|
+
setVisualFocusIndex = _useState8[1];
|
|
125
|
+
|
|
100
126
|
var colorsTheme = (0, _useTheme["default"])();
|
|
101
127
|
var triggerRef = (0, _react.useRef)(null);
|
|
102
128
|
var menuRef = (0, _react.useRef)(null);
|
|
103
129
|
var width = useWidth(triggerRef.current);
|
|
130
|
+
|
|
104
131
|
var handleOnOpenMenu = function handleOnOpenMenu() {
|
|
105
132
|
changeIsOpen(true);
|
|
106
133
|
};
|
|
134
|
+
|
|
107
135
|
var handleOnCloseMenu = function handleOnCloseMenu() {
|
|
108
136
|
changeIsOpen(false);
|
|
109
137
|
setVisualFocusIndex(0);
|
|
110
138
|
};
|
|
139
|
+
|
|
111
140
|
var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
|
|
112
141
|
var _triggerRef$current;
|
|
142
|
+
|
|
113
143
|
onSelectOption(value);
|
|
114
144
|
handleOnCloseMenu();
|
|
115
145
|
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
|
|
116
146
|
}, [onSelectOption]);
|
|
147
|
+
|
|
117
148
|
var handleOnBlur = function handleOnBlur(event) {
|
|
118
149
|
!event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
|
|
119
150
|
};
|
|
151
|
+
|
|
120
152
|
var handleTriggerOnClick = function handleTriggerOnClick() {
|
|
121
153
|
changeIsOpen(function (isOpen) {
|
|
122
154
|
return !isOpen;
|
|
123
155
|
});
|
|
124
156
|
};
|
|
157
|
+
|
|
125
158
|
var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
|
|
126
159
|
switch (event.key) {
|
|
127
160
|
case "Up":
|
|
@@ -130,6 +163,7 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
130
163
|
setVisualFocusIndex(options.length - 1);
|
|
131
164
|
handleOnOpenMenu();
|
|
132
165
|
break;
|
|
166
|
+
|
|
133
167
|
case " ":
|
|
134
168
|
case "Down":
|
|
135
169
|
case "ArrowDown":
|
|
@@ -139,52 +173,62 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
139
173
|
break;
|
|
140
174
|
}
|
|
141
175
|
};
|
|
176
|
+
|
|
142
177
|
var setPreviousIndexFocus = function setPreviousIndexFocus() {
|
|
143
178
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
144
179
|
var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
|
|
145
180
|
return index;
|
|
146
181
|
});
|
|
147
182
|
};
|
|
183
|
+
|
|
148
184
|
var setNextIndexFocus = function setNextIndexFocus() {
|
|
149
185
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
150
186
|
var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
|
|
151
187
|
return index;
|
|
152
188
|
});
|
|
153
189
|
};
|
|
190
|
+
|
|
154
191
|
var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
|
|
155
192
|
var _triggerRef$current2, _triggerRef$current3;
|
|
193
|
+
|
|
156
194
|
switch (event.key) {
|
|
157
195
|
case "Up":
|
|
158
196
|
case "ArrowUp":
|
|
159
197
|
event.preventDefault();
|
|
160
198
|
setPreviousIndexFocus();
|
|
161
199
|
break;
|
|
200
|
+
|
|
162
201
|
case "Down":
|
|
163
202
|
case "ArrowDown":
|
|
164
203
|
event.preventDefault();
|
|
165
204
|
setNextIndexFocus();
|
|
166
205
|
break;
|
|
206
|
+
|
|
167
207
|
case " ":
|
|
168
208
|
case "Enter":
|
|
169
209
|
event.preventDefault();
|
|
170
210
|
handleMenuItemOnClick(options[visualFocusIndex].value);
|
|
171
211
|
break;
|
|
212
|
+
|
|
172
213
|
case "Esc":
|
|
173
214
|
case "Escape":
|
|
174
215
|
event.preventDefault();
|
|
175
216
|
handleOnCloseMenu();
|
|
176
217
|
(_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
|
|
177
218
|
break;
|
|
219
|
+
|
|
178
220
|
case "Home":
|
|
179
221
|
case "PageUp":
|
|
180
222
|
event.preventDefault();
|
|
181
223
|
setVisualFocusIndex(0);
|
|
182
224
|
break;
|
|
225
|
+
|
|
183
226
|
case "End":
|
|
184
227
|
case "PageDown":
|
|
185
228
|
event.preventDefault();
|
|
186
229
|
setVisualFocusIndex(options.length - 1);
|
|
187
230
|
break;
|
|
231
|
+
|
|
188
232
|
case "Tab":
|
|
189
233
|
handleOnCloseMenu();
|
|
190
234
|
(_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
|
|
@@ -193,6 +237,7 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
193
237
|
}, [onSelectOption, visualFocusIndex, options]);
|
|
194
238
|
(0, _react.useLayoutEffect)(function () {
|
|
195
239
|
var _menuRef$current, _visualFocusedMenuIte;
|
|
240
|
+
|
|
196
241
|
var visualFocusedMenuItem = menuRef === null || menuRef === void 0 ? void 0 : (_menuRef$current = menuRef.current) === null || _menuRef$current === void 0 ? void 0 : _menuRef$current.querySelectorAll("[role='menuitem']")[visualFocusIndex];
|
|
197
242
|
visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
|
|
198
243
|
block: "nearest",
|
|
@@ -200,7 +245,7 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
200
245
|
});
|
|
201
246
|
}, [visualFocusIndex]);
|
|
202
247
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
203
|
-
theme: colorsTheme
|
|
248
|
+
theme: colorsTheme.dropdown
|
|
204
249
|
}, /*#__PURE__*/_react["default"].createElement(DropdownContainer, {
|
|
205
250
|
onMouseEnter: !disabled && expandOnHover ? handleOnOpenMenu : undefined,
|
|
206
251
|
onMouseLeave: !disabled && expandOnHover ? handleOnCloseMenu : undefined,
|
|
@@ -252,6 +297,7 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
252
297
|
ref: menuRef
|
|
253
298
|
})))));
|
|
254
299
|
};
|
|
300
|
+
|
|
255
301
|
var sizes = {
|
|
256
302
|
small: "60px",
|
|
257
303
|
medium: "240px",
|
|
@@ -259,9 +305,11 @@ var sizes = {
|
|
|
259
305
|
fillParent: "100%",
|
|
260
306
|
fitContent: "fit-content"
|
|
261
307
|
};
|
|
308
|
+
|
|
262
309
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
263
310
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
264
311
|
};
|
|
312
|
+
|
|
265
313
|
var DropdownContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
266
314
|
return calculateWidth(props.margin, props.size);
|
|
267
315
|
}, function (props) {
|
|
@@ -275,6 +323,7 @@ var DropdownContainer = _styledComponents["default"].div(_templateObject || (_te
|
|
|
275
323
|
}, function (props) {
|
|
276
324
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
277
325
|
});
|
|
326
|
+
|
|
278
327
|
var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ", ";\n width: 100%;\n min-height: 40px;\n min-width: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n background-color: ", ";\n color: ", ";\n cursor: ", ";\n\n ", ";\n"])), function (props) {
|
|
279
328
|
return props.theme.caretIconSpacing;
|
|
280
329
|
}, function (props) {
|
|
@@ -304,9 +353,11 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_
|
|
|
304
353
|
}, function (props) {
|
|
305
354
|
return !props.disabled && "\n &:focus {\n outline: ".concat(props.theme.focusColor, " solid 2px;\n outline-offset: -2px;\n }\n &:hover {\n background-color: ").concat(props.theme.hoverButtonBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeButtonBackgroundColor, ";\n }\n ");
|
|
306
355
|
});
|
|
356
|
+
|
|
307
357
|
var DropdownTriggerContent = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n gap: ", ";\n margin-left: 0px;\n margin-right: 0px;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
|
|
308
358
|
return props.theme.buttonIconSpacing;
|
|
309
359
|
});
|
|
360
|
+
|
|
310
361
|
var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n"])), function (props) {
|
|
311
362
|
return props.theme.buttonFontFamily;
|
|
312
363
|
}, function (props) {
|
|
@@ -316,6 +367,7 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 ||
|
|
|
316
367
|
}, function (props) {
|
|
317
368
|
return props.theme.buttonFontWeight;
|
|
318
369
|
});
|
|
370
|
+
|
|
319
371
|
var DropdownTriggerIcon = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
320
372
|
return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
|
|
321
373
|
}, function (props) {
|
|
@@ -323,6 +375,7 @@ var DropdownTriggerIcon = _styledComponents["default"].span(_templateObject5 ||
|
|
|
323
375
|
}, function (props) {
|
|
324
376
|
return props.theme.buttonIconSize;
|
|
325
377
|
});
|
|
378
|
+
|
|
326
379
|
var CaretIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
327
380
|
return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
|
|
328
381
|
}, function (props) {
|
|
@@ -330,5 +383,6 @@ var CaretIcon = _styledComponents["default"].span(_templateObject6 || (_template
|
|
|
330
383
|
}, function (props) {
|
|
331
384
|
return props.theme.caretIconSize;
|
|
332
385
|
});
|
|
386
|
+
|
|
333
387
|
var _default = DxcDropdown;
|
|
334
388
|
exports["default"] = _default;
|