@dxc-technology/halstack-react 0.0.0-b41d935 → 0.0.0-b4aec06
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 +126 -111
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +42 -118
- package/accordion/Accordion.stories.tsx +85 -139
- package/accordion/Accordion.test.js +19 -34
- package/accordion/types.d.ts +6 -18
- 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.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.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.d.ts +1 -1
- package/badge/Badge.js +141 -43
- 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.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.js +19 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +71 -106
- package/button/Button.stories.tsx +144 -101
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +9 -5
- 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.d.ts +2 -2
- package/checkbox/Checkbox.js +90 -124
- package/checkbox/Checkbox.stories.tsx +68 -54
- package/checkbox/Checkbox.test.js +108 -64
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.js +39 -79
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +16 -31
- 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 +914 -1156
- 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.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 +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +150 -299
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +700 -371
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -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.d.ts +1 -1
- package/dialog/Dialog.js +61 -119
- package/dialog/Dialog.stories.tsx +310 -212
- package/dialog/Dialog.test.js +269 -32
- package/dialog/types.d.ts +18 -26
- 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.js +84 -153
- package/dropdown/Dropdown.stories.tsx +209 -94
- package/dropdown/Dropdown.test.js +409 -400
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +15 -37
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +193 -262
- package/file-input/FileInput.stories.tsx +86 -3
- package/file-input/FileInput.test.js +356 -395
- package/file-input/FileItem.js +15 -41
- package/file-input/types.d.ts +13 -9
- package/flex/Flex.js +27 -39
- 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 +70 -117
- package/footer/Footer.stories.tsx +55 -21
- 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 +25 -27
- 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.d.ts +4 -3
- package/header/Header.js +48 -133
- 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.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- 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.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 +51 -59
- package/layout/types.d.ts +5 -6
- package/link/Link.js +25 -46
- package/link/Link.stories.tsx +60 -0
- 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.d.ts +7 -0
- package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +118 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -414
- 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 +37 -40
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +22 -58
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +252 -225
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -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.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.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.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/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +170 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -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/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +17 -72
- package/select/Option.js +27 -50
- package/select/Select.js +120 -175
- package/select/Select.stories.tsx +497 -153
- package/select/Select.test.js +1974 -1837
- package/select/types.d.ts +16 -17
- package/sidenav/Icons.d.ts +7 -0
- package/{text-input → sidenav}/Icons.js +10 -23
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +83 -154
- package/sidenav/Sidenav.stories.tsx +165 -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 +31 -28
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +77 -134
- package/slider/Slider.test.js +108 -104
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.js +31 -75
- 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.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.d.ts +3 -3
- package/switch/Switch.js +56 -103
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +52 -97
- package/switch/types.d.ts +8 -3
- package/table/DropdownTheme.js +62 -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 +95 -8
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +26 -45
- package/tabs/Tabs.js +62 -145
- package/tabs/Tabs.stories.tsx +46 -6
- package/tabs/Tabs.test.js +66 -123
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +28 -60
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +20 -31
- package/tag/types.d.ts +7 -7
- package/text-input/Suggestion.js +35 -25
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.js +223 -333
- package/text-input/TextInput.stories.tsx +139 -155
- package/text-input/TextInput.test.js +1389 -1404
- package/text-input/types.d.ts +25 -17
- 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.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -106
- package/toggle-group/ToggleGroup.stories.tsx +49 -4
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +26 -17
- 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.js +16 -51
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +9 -10
- 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/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -252
- package/resultsetTable/ResultsetTable.test.js +0 -348
- 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/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 → 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/dropdown/Dropdown.js
CHANGED
|
@@ -1,142 +1,104 @@
|
|
|
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var _utils = require("../common/utils.js");
|
|
25
|
-
|
|
14
|
+
var _variables = require("../common/variables");
|
|
15
|
+
var _utils = require("../common/utils");
|
|
26
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
|
-
|
|
28
17
|
var _uuid = require("uuid");
|
|
29
|
-
|
|
30
18
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
31
|
-
|
|
32
19
|
var _DropdownMenu = _interopRequireDefault(require("./DropdownMenu"));
|
|
33
|
-
|
|
20
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
34
21
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
width
|
|
56
|
-
|
|
57
|
-
viewBox: "0 0 24 24",
|
|
58
|
-
fill: "currentColor"
|
|
59
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
60
|
-
d: "M7 10l5 5 5-5z"
|
|
61
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
62
|
-
d: "M0 0h24v24H0z",
|
|
63
|
-
fill: "none"
|
|
64
|
-
}));
|
|
65
|
-
|
|
22
|
+
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); }
|
|
23
|
+
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; }
|
|
24
|
+
var useWidth = function useWidth(target) {
|
|
25
|
+
var _useState = (0, _react.useState)(0),
|
|
26
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
27
|
+
width = _useState2[0],
|
|
28
|
+
setWidth = _useState2[1];
|
|
29
|
+
(0, _react.useEffect)(function () {
|
|
30
|
+
if (target != null) {
|
|
31
|
+
setWidth(target.getBoundingClientRect().width);
|
|
32
|
+
var triggerObserver = new ResizeObserver(function (entries) {
|
|
33
|
+
var rect = entries[0].target.getBoundingClientRect();
|
|
34
|
+
setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
|
|
35
|
+
});
|
|
36
|
+
triggerObserver.observe(target);
|
|
37
|
+
return function () {
|
|
38
|
+
triggerObserver.unobserve(target);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}, [target]);
|
|
42
|
+
return width;
|
|
43
|
+
};
|
|
66
44
|
var DxcDropdown = function DxcDropdown(_ref) {
|
|
67
45
|
var options = _ref.options,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
triggerId = _useState2[0];
|
|
91
|
-
|
|
46
|
+
_ref$optionsIconPosit = _ref.optionsIconPosition,
|
|
47
|
+
optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
|
|
48
|
+
icon = _ref.icon,
|
|
49
|
+
_ref$iconPosition = _ref.iconPosition,
|
|
50
|
+
iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
|
|
51
|
+
_ref$label = _ref.label,
|
|
52
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
53
|
+
_ref$caretHidden = _ref.caretHidden,
|
|
54
|
+
caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
|
|
55
|
+
_ref$disabled = _ref.disabled,
|
|
56
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
57
|
+
_ref$expandOnHover = _ref.expandOnHover,
|
|
58
|
+
expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
|
|
59
|
+
onSelectOption = _ref.onSelectOption,
|
|
60
|
+
margin = _ref.margin,
|
|
61
|
+
_ref$size = _ref.size,
|
|
62
|
+
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
63
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
64
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
65
|
+
var _useState3 = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
|
|
66
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
67
|
+
triggerId = _useState4[0];
|
|
92
68
|
var menuId = "menu-".concat(triggerId);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
changeIsOpen = _useState4[1];
|
|
98
|
-
|
|
99
|
-
var _useState5 = (0, _react.useState)(null),
|
|
100
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
101
|
-
menuStyles = _useState6[0],
|
|
102
|
-
setMenuStyles = _useState6[1];
|
|
103
|
-
|
|
69
|
+
var _useState5 = (0, _react.useState)(false),
|
|
70
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
71
|
+
isOpen = _useState6[0],
|
|
72
|
+
changeIsOpen = _useState6[1];
|
|
104
73
|
var _useState7 = (0, _react.useState)(0),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
74
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
75
|
+
visualFocusIndex = _useState8[0],
|
|
76
|
+
setVisualFocusIndex = _useState8[1];
|
|
109
77
|
var colorsTheme = (0, _useTheme["default"])();
|
|
110
78
|
var triggerRef = (0, _react.useRef)(null);
|
|
111
79
|
var menuRef = (0, _react.useRef)(null);
|
|
112
|
-
|
|
80
|
+
var width = useWidth(triggerRef.current);
|
|
113
81
|
var handleOnOpenMenu = function handleOnOpenMenu() {
|
|
114
82
|
changeIsOpen(true);
|
|
115
83
|
};
|
|
116
|
-
|
|
117
84
|
var handleOnCloseMenu = function handleOnCloseMenu() {
|
|
118
85
|
changeIsOpen(false);
|
|
119
86
|
setVisualFocusIndex(0);
|
|
120
87
|
};
|
|
121
|
-
|
|
122
88
|
var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
|
|
123
89
|
var _triggerRef$current;
|
|
124
|
-
|
|
125
90
|
onSelectOption(value);
|
|
126
91
|
handleOnCloseMenu();
|
|
127
92
|
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
|
|
128
93
|
}, [onSelectOption]);
|
|
129
|
-
|
|
130
94
|
var handleOnBlur = function handleOnBlur(event) {
|
|
131
95
|
!event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
|
|
132
96
|
};
|
|
133
|
-
|
|
134
97
|
var handleTriggerOnClick = function handleTriggerOnClick() {
|
|
135
98
|
changeIsOpen(function (isOpen) {
|
|
136
99
|
return !isOpen;
|
|
137
100
|
});
|
|
138
101
|
};
|
|
139
|
-
|
|
140
102
|
var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
|
|
141
103
|
switch (event.key) {
|
|
142
104
|
case "Up":
|
|
@@ -145,7 +107,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
145
107
|
setVisualFocusIndex(options.length - 1);
|
|
146
108
|
handleOnOpenMenu();
|
|
147
109
|
break;
|
|
148
|
-
|
|
149
110
|
case " ":
|
|
150
111
|
case "Down":
|
|
151
112
|
case "ArrowDown":
|
|
@@ -155,62 +116,52 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
155
116
|
break;
|
|
156
117
|
}
|
|
157
118
|
};
|
|
158
|
-
|
|
159
119
|
var setPreviousIndexFocus = function setPreviousIndexFocus() {
|
|
160
120
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
161
121
|
var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
|
|
162
122
|
return index;
|
|
163
123
|
});
|
|
164
124
|
};
|
|
165
|
-
|
|
166
125
|
var setNextIndexFocus = function setNextIndexFocus() {
|
|
167
126
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
168
127
|
var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
|
|
169
128
|
return index;
|
|
170
129
|
});
|
|
171
130
|
};
|
|
172
|
-
|
|
173
131
|
var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
|
|
174
132
|
var _triggerRef$current2, _triggerRef$current3;
|
|
175
|
-
|
|
176
133
|
switch (event.key) {
|
|
177
134
|
case "Up":
|
|
178
135
|
case "ArrowUp":
|
|
179
136
|
event.preventDefault();
|
|
180
137
|
setPreviousIndexFocus();
|
|
181
138
|
break;
|
|
182
|
-
|
|
183
139
|
case "Down":
|
|
184
140
|
case "ArrowDown":
|
|
185
141
|
event.preventDefault();
|
|
186
142
|
setNextIndexFocus();
|
|
187
143
|
break;
|
|
188
|
-
|
|
189
144
|
case " ":
|
|
190
145
|
case "Enter":
|
|
191
146
|
event.preventDefault();
|
|
192
147
|
handleMenuItemOnClick(options[visualFocusIndex].value);
|
|
193
148
|
break;
|
|
194
|
-
|
|
195
149
|
case "Esc":
|
|
196
150
|
case "Escape":
|
|
197
151
|
event.preventDefault();
|
|
198
152
|
handleOnCloseMenu();
|
|
199
153
|
(_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
|
|
200
154
|
break;
|
|
201
|
-
|
|
202
155
|
case "Home":
|
|
203
156
|
case "PageUp":
|
|
204
157
|
event.preventDefault();
|
|
205
158
|
setVisualFocusIndex(0);
|
|
206
159
|
break;
|
|
207
|
-
|
|
208
160
|
case "End":
|
|
209
161
|
case "PageDown":
|
|
210
162
|
event.preventDefault();
|
|
211
163
|
setVisualFocusIndex(options.length - 1);
|
|
212
164
|
break;
|
|
213
|
-
|
|
214
165
|
case "Tab":
|
|
215
166
|
handleOnCloseMenu();
|
|
216
167
|
(_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
|
|
@@ -219,30 +170,12 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
219
170
|
}, [onSelectOption, visualFocusIndex, options]);
|
|
220
171
|
(0, _react.useLayoutEffect)(function () {
|
|
221
172
|
var _menuRef$current, _visualFocusedMenuIte;
|
|
222
|
-
|
|
223
173
|
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];
|
|
224
174
|
visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
|
|
225
175
|
block: "nearest",
|
|
226
176
|
inline: "start"
|
|
227
177
|
});
|
|
228
178
|
}, [visualFocusIndex]);
|
|
229
|
-
|
|
230
|
-
var handleMenuResize = function handleMenuResize() {
|
|
231
|
-
var _triggerRef$current4;
|
|
232
|
-
|
|
233
|
-
var rect = triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.getBoundingClientRect();
|
|
234
|
-
setMenuStyles({
|
|
235
|
-
width: rect === null || rect === void 0 ? void 0 : rect.width
|
|
236
|
-
});
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
(0, _react.useEffect)(function () {
|
|
240
|
-
handleMenuResize();
|
|
241
|
-
window.addEventListener("resize", handleMenuResize);
|
|
242
|
-
return function () {
|
|
243
|
-
window.removeEventListener("resize", handleMenuResize);
|
|
244
|
-
};
|
|
245
|
-
}, []);
|
|
246
179
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
247
180
|
theme: colorsTheme.dropdown
|
|
248
181
|
}, /*#__PURE__*/_react["default"].createElement(DropdownContainer, {
|
|
@@ -257,7 +190,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
257
190
|
asChild: true,
|
|
258
191
|
type: undefined
|
|
259
192
|
}, /*#__PURE__*/_react["default"].createElement(DropdownTrigger, {
|
|
260
|
-
opened: isOpen,
|
|
261
193
|
onClick: handleTriggerOnClick,
|
|
262
194
|
onKeyDown: handleTriggerOnKeyDown,
|
|
263
195
|
onBlur: function onBlur(event) {
|
|
@@ -274,17 +206,17 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
274
206
|
tabIndex: tabIndex,
|
|
275
207
|
ref: triggerRef
|
|
276
208
|
}, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContent, null, label && iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(DropdownTriggerIcon, {
|
|
277
|
-
label: label,
|
|
278
|
-
iconPosition: iconPosition,
|
|
279
209
|
disabled: disabled,
|
|
280
210
|
role: typeof icon === "string" ? undefined : "img"
|
|
281
|
-
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("
|
|
282
|
-
|
|
211
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
212
|
+
icon: icon
|
|
283
213
|
}) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label)), !caretHidden && /*#__PURE__*/_react["default"].createElement(CaretIcon, {
|
|
284
214
|
disabled: disabled
|
|
285
|
-
},
|
|
286
|
-
|
|
287
|
-
|
|
215
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
216
|
+
icon: isOpen ? "arrow_drop_up" : "arrow_drop_down"
|
|
217
|
+
}), " "))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
218
|
+
asChild: true,
|
|
219
|
+
sideOffset: 1
|
|
288
220
|
}, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
|
|
289
221
|
id: menuId,
|
|
290
222
|
dropdownTriggerId: triggerId,
|
|
@@ -293,11 +225,13 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
293
225
|
visualFocusIndex: visualFocusIndex,
|
|
294
226
|
menuItemOnClick: handleMenuItemOnClick,
|
|
295
227
|
onKeyDown: handleMenuOnKeyDown,
|
|
296
|
-
styles:
|
|
228
|
+
styles: {
|
|
229
|
+
width: width,
|
|
230
|
+
zIndex: "2147483647"
|
|
231
|
+
},
|
|
297
232
|
ref: menuRef
|
|
298
|
-
})))));
|
|
233
|
+
}))))));
|
|
299
234
|
};
|
|
300
|
-
|
|
301
235
|
var sizes = {
|
|
302
236
|
small: "60px",
|
|
303
237
|
medium: "240px",
|
|
@@ -305,12 +239,10 @@ var sizes = {
|
|
|
305
239
|
fillParent: "100%",
|
|
306
240
|
fitContent: "fit-content"
|
|
307
241
|
};
|
|
308
|
-
|
|
309
242
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
310
243
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
311
244
|
};
|
|
312
|
-
|
|
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) {
|
|
245
|
+
var DropdownContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
314
246
|
return calculateWidth(props.margin, props.size);
|
|
315
247
|
}, function (props) {
|
|
316
248
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -323,19 +255,20 @@ var DropdownContainer = _styledComponents["default"].div(_templateObject || (_te
|
|
|
323
255
|
}, function (props) {
|
|
324
256
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
325
257
|
});
|
|
326
|
-
|
|
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) {
|
|
258
|
+
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 height: ", ";\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) {
|
|
328
259
|
return props.theme.caretIconSpacing;
|
|
260
|
+
}, function (props) {
|
|
261
|
+
return props.theme.buttonHeight;
|
|
329
262
|
}, function (props) {
|
|
330
263
|
return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
|
|
331
264
|
}, function (props) {
|
|
332
|
-
return props.theme.
|
|
265
|
+
return props.theme.buttonBorderRadius;
|
|
333
266
|
}, function (props) {
|
|
334
|
-
return props.theme.
|
|
267
|
+
return props.theme.buttonBorderThickness;
|
|
335
268
|
}, function (props) {
|
|
336
|
-
return props.theme.
|
|
269
|
+
return props.theme.buttonBorderStyle;
|
|
337
270
|
}, function (props) {
|
|
338
|
-
return props.disabled ? props.theme.
|
|
271
|
+
return props.disabled ? props.theme.disabledButtonBorderColor : props.theme.buttonBorderColor;
|
|
339
272
|
}, function (props) {
|
|
340
273
|
return props.theme.buttonPaddingTop;
|
|
341
274
|
}, function (props) {
|
|
@@ -351,13 +284,11 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_
|
|
|
351
284
|
}, function (props) {
|
|
352
285
|
return props.disabled ? "not-allowed" : "pointer";
|
|
353
286
|
}, function (props) {
|
|
354
|
-
return !props.disabled && "\n &:focus {\n outline: ".concat(props.theme.focusColor, "
|
|
287
|
+
return !props.disabled && "\n &:focus {\n outline: 2px solid ".concat(props.theme.focusColor, ";\n }\n &:hover {\n background-color: ").concat(props.theme.hoverButtonBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeButtonBackgroundColor, ";\n }\n ");
|
|
355
288
|
});
|
|
356
|
-
|
|
357
289
|
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) {
|
|
358
290
|
return props.theme.buttonIconSpacing;
|
|
359
291
|
});
|
|
360
|
-
|
|
361
292
|
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) {
|
|
362
293
|
return props.theme.buttonFontFamily;
|
|
363
294
|
}, function (props) {
|
|
@@ -367,22 +298,22 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 ||
|
|
|
367
298
|
}, function (props) {
|
|
368
299
|
return props.theme.buttonFontWeight;
|
|
369
300
|
});
|
|
370
|
-
|
|
371
|
-
|
|
301
|
+
var DropdownTriggerIcon = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n font-size: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
302
|
+
return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
|
|
303
|
+
}, function (props) {
|
|
372
304
|
return props.theme.buttonIconSize;
|
|
373
305
|
}, function (props) {
|
|
374
306
|
return props.theme.buttonIconSize;
|
|
375
307
|
}, function (props) {
|
|
376
|
-
return props.
|
|
308
|
+
return props.theme.buttonIconSize;
|
|
377
309
|
});
|
|
378
|
-
|
|
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) {
|
|
310
|
+
var CaretIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n font-size: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
380
311
|
return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
|
|
381
312
|
}, function (props) {
|
|
382
313
|
return props.theme.caretIconSize;
|
|
383
314
|
}, function (props) {
|
|
384
315
|
return props.theme.caretIconSize;
|
|
316
|
+
}, function (props) {
|
|
317
|
+
return props.theme.caretIconSize;
|
|
385
318
|
});
|
|
386
|
-
|
|
387
|
-
var _default = DxcDropdown;
|
|
388
|
-
exports["default"] = _default;
|
|
319
|
+
var _default = exports["default"] = DxcDropdown;
|