@dxc-technology/halstack-react 0.0.0-4dc6bb3 → 0.0.0-4e1277a
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 +37 -100
- package/accordion/Accordion.stories.tsx +101 -124
- package/accordion/Accordion.test.js +19 -34
- package/accordion/types.d.ts +5 -17
- 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 +6 -18
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +47 -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 +19 -58
- 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 +92 -126
- package/checkbox/Checkbox.stories.tsx +128 -94
- 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 +921 -1162
- 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 +75 -127
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +409 -400
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +9 -34
- package/dropdown/types.d.ts +18 -20
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +241 -355
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +369 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +45 -96
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +40 -40
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +84 -8
- 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 +26 -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 -377
- 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 +23 -59
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +253 -226
- 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 +7 -28
- package/quick-nav/QuickNav.stories.tsx +82 -26
- 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 +51 -95
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +513 -422
- 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 +166 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +152 -30
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +167 -144
- package/{resultsetTable → resultset-table}/types.d.ts +13 -7
- 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 +121 -175
- package/select/Select.stories.tsx +497 -153
- package/select/Select.test.js +1970 -1775
- package/select/types.d.ts +16 -17
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- 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 +87 -35
- package/table/Table.stories.tsx +658 -0
- package/table/Table.test.js +95 -8
- package/table/types.d.ts +48 -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/Icons.d.ts +5 -5
- package/text-input/Icons.js +1 -5
- package/text-input/Suggestion.js +35 -25
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +15 -65
- package/text-input/TextInput.js +220 -328
- package/text-input/TextInput.stories.tsx +139 -155
- package/text-input/TextInput.test.js +1389 -1347
- 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 -254
- 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/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,42 +1,25 @@
|
|
|
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
|
-
|
|
34
20
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
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
|
-
|
|
21
|
+
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); }
|
|
22
|
+
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; }
|
|
40
23
|
var upArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
24
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42
25
|
width: "24",
|
|
@@ -49,7 +32,6 @@ var upArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
49
32
|
d: "M0 0h24v24H0z",
|
|
50
33
|
fill: "none"
|
|
51
34
|
}));
|
|
52
|
-
|
|
53
35
|
var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
54
36
|
xmlns: "http://www.w3.org/2000/svg",
|
|
55
37
|
width: "24",
|
|
@@ -62,81 +44,84 @@ var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
62
44
|
d: "M0 0h24v24H0z",
|
|
63
45
|
fill: "none"
|
|
64
46
|
}));
|
|
65
|
-
|
|
47
|
+
var useWidth = function useWidth(target) {
|
|
48
|
+
var _useState = (0, _react.useState)(0),
|
|
49
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
50
|
+
width = _useState2[0],
|
|
51
|
+
setWidth = _useState2[1];
|
|
52
|
+
(0, _react.useEffect)(function () {
|
|
53
|
+
if (target != null) {
|
|
54
|
+
setWidth(target.getBoundingClientRect().width);
|
|
55
|
+
var triggerObserver = new ResizeObserver(function (entries) {
|
|
56
|
+
var rect = entries[0].target.getBoundingClientRect();
|
|
57
|
+
setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
|
|
58
|
+
});
|
|
59
|
+
triggerObserver.observe(target);
|
|
60
|
+
return function () {
|
|
61
|
+
triggerObserver.unobserve(target);
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}, [target]);
|
|
65
|
+
return width;
|
|
66
|
+
};
|
|
66
67
|
var DxcDropdown = function DxcDropdown(_ref) {
|
|
67
68
|
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
|
-
|
|
69
|
+
_ref$optionsIconPosit = _ref.optionsIconPosition,
|
|
70
|
+
optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
|
|
71
|
+
icon = _ref.icon,
|
|
72
|
+
_ref$iconPosition = _ref.iconPosition,
|
|
73
|
+
iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
|
|
74
|
+
_ref$label = _ref.label,
|
|
75
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
76
|
+
_ref$caretHidden = _ref.caretHidden,
|
|
77
|
+
caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
|
|
78
|
+
_ref$disabled = _ref.disabled,
|
|
79
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
80
|
+
_ref$expandOnHover = _ref.expandOnHover,
|
|
81
|
+
expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
|
|
82
|
+
onSelectOption = _ref.onSelectOption,
|
|
83
|
+
margin = _ref.margin,
|
|
84
|
+
_ref$size = _ref.size,
|
|
85
|
+
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
86
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
87
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
88
|
+
var _useState3 = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
|
|
89
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
90
|
+
triggerId = _useState4[0];
|
|
92
91
|
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
|
-
|
|
92
|
+
var _useState5 = (0, _react.useState)(false),
|
|
93
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
94
|
+
isOpen = _useState6[0],
|
|
95
|
+
changeIsOpen = _useState6[1];
|
|
104
96
|
var _useState7 = (0, _react.useState)(0),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
97
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
98
|
+
visualFocusIndex = _useState8[0],
|
|
99
|
+
setVisualFocusIndex = _useState8[1];
|
|
109
100
|
var colorsTheme = (0, _useTheme["default"])();
|
|
110
101
|
var triggerRef = (0, _react.useRef)(null);
|
|
111
102
|
var menuRef = (0, _react.useRef)(null);
|
|
112
|
-
|
|
103
|
+
var width = useWidth(triggerRef.current);
|
|
113
104
|
var handleOnOpenMenu = function handleOnOpenMenu() {
|
|
114
105
|
changeIsOpen(true);
|
|
115
106
|
};
|
|
116
|
-
|
|
117
107
|
var handleOnCloseMenu = function handleOnCloseMenu() {
|
|
118
108
|
changeIsOpen(false);
|
|
119
109
|
setVisualFocusIndex(0);
|
|
120
110
|
};
|
|
121
|
-
|
|
122
111
|
var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
|
|
123
112
|
var _triggerRef$current;
|
|
124
|
-
|
|
125
113
|
onSelectOption(value);
|
|
126
114
|
handleOnCloseMenu();
|
|
127
115
|
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
|
|
128
116
|
}, [onSelectOption]);
|
|
129
|
-
|
|
130
117
|
var handleOnBlur = function handleOnBlur(event) {
|
|
131
118
|
!event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
|
|
132
119
|
};
|
|
133
|
-
|
|
134
120
|
var handleTriggerOnClick = function handleTriggerOnClick() {
|
|
135
121
|
changeIsOpen(function (isOpen) {
|
|
136
122
|
return !isOpen;
|
|
137
123
|
});
|
|
138
124
|
};
|
|
139
|
-
|
|
140
125
|
var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
|
|
141
126
|
switch (event.key) {
|
|
142
127
|
case "Up":
|
|
@@ -145,7 +130,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
145
130
|
setVisualFocusIndex(options.length - 1);
|
|
146
131
|
handleOnOpenMenu();
|
|
147
132
|
break;
|
|
148
|
-
|
|
149
133
|
case " ":
|
|
150
134
|
case "Down":
|
|
151
135
|
case "ArrowDown":
|
|
@@ -155,62 +139,52 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
155
139
|
break;
|
|
156
140
|
}
|
|
157
141
|
};
|
|
158
|
-
|
|
159
142
|
var setPreviousIndexFocus = function setPreviousIndexFocus() {
|
|
160
143
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
161
144
|
var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
|
|
162
145
|
return index;
|
|
163
146
|
});
|
|
164
147
|
};
|
|
165
|
-
|
|
166
148
|
var setNextIndexFocus = function setNextIndexFocus() {
|
|
167
149
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
168
150
|
var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
|
|
169
151
|
return index;
|
|
170
152
|
});
|
|
171
153
|
};
|
|
172
|
-
|
|
173
154
|
var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
|
|
174
155
|
var _triggerRef$current2, _triggerRef$current3;
|
|
175
|
-
|
|
176
156
|
switch (event.key) {
|
|
177
157
|
case "Up":
|
|
178
158
|
case "ArrowUp":
|
|
179
159
|
event.preventDefault();
|
|
180
160
|
setPreviousIndexFocus();
|
|
181
161
|
break;
|
|
182
|
-
|
|
183
162
|
case "Down":
|
|
184
163
|
case "ArrowDown":
|
|
185
164
|
event.preventDefault();
|
|
186
165
|
setNextIndexFocus();
|
|
187
166
|
break;
|
|
188
|
-
|
|
189
167
|
case " ":
|
|
190
168
|
case "Enter":
|
|
191
169
|
event.preventDefault();
|
|
192
170
|
handleMenuItemOnClick(options[visualFocusIndex].value);
|
|
193
171
|
break;
|
|
194
|
-
|
|
195
172
|
case "Esc":
|
|
196
173
|
case "Escape":
|
|
197
174
|
event.preventDefault();
|
|
198
175
|
handleOnCloseMenu();
|
|
199
176
|
(_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
|
|
200
177
|
break;
|
|
201
|
-
|
|
202
178
|
case "Home":
|
|
203
179
|
case "PageUp":
|
|
204
180
|
event.preventDefault();
|
|
205
181
|
setVisualFocusIndex(0);
|
|
206
182
|
break;
|
|
207
|
-
|
|
208
183
|
case "End":
|
|
209
184
|
case "PageDown":
|
|
210
185
|
event.preventDefault();
|
|
211
186
|
setVisualFocusIndex(options.length - 1);
|
|
212
187
|
break;
|
|
213
|
-
|
|
214
188
|
case "Tab":
|
|
215
189
|
handleOnCloseMenu();
|
|
216
190
|
(_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
|
|
@@ -219,30 +193,12 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
219
193
|
}, [onSelectOption, visualFocusIndex, options]);
|
|
220
194
|
(0, _react.useLayoutEffect)(function () {
|
|
221
195
|
var _menuRef$current, _visualFocusedMenuIte;
|
|
222
|
-
|
|
223
196
|
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
197
|
visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
|
|
225
198
|
block: "nearest",
|
|
226
199
|
inline: "start"
|
|
227
200
|
});
|
|
228
201
|
}, [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
202
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
247
203
|
theme: colorsTheme.dropdown
|
|
248
204
|
}, /*#__PURE__*/_react["default"].createElement(DropdownContainer, {
|
|
@@ -257,7 +213,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
257
213
|
asChild: true,
|
|
258
214
|
type: undefined
|
|
259
215
|
}, /*#__PURE__*/_react["default"].createElement(DropdownTrigger, {
|
|
260
|
-
opened: isOpen,
|
|
261
216
|
onClick: handleTriggerOnClick,
|
|
262
217
|
onKeyDown: handleTriggerOnKeyDown,
|
|
263
218
|
onBlur: function onBlur(event) {
|
|
@@ -274,17 +229,15 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
274
229
|
tabIndex: tabIndex,
|
|
275
230
|
ref: triggerRef
|
|
276
231
|
}, /*#__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
232
|
disabled: disabled,
|
|
280
233
|
role: typeof icon === "string" ? undefined : "img"
|
|
281
234
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
282
235
|
src: icon
|
|
283
236
|
}) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label)), !caretHidden && /*#__PURE__*/_react["default"].createElement(CaretIcon, {
|
|
284
237
|
disabled: disabled
|
|
285
|
-
}, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
286
|
-
|
|
287
|
-
|
|
238
|
+
}, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
239
|
+
asChild: true,
|
|
240
|
+
sideOffset: 1
|
|
288
241
|
}, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
|
|
289
242
|
id: menuId,
|
|
290
243
|
dropdownTriggerId: triggerId,
|
|
@@ -293,11 +246,13 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
293
246
|
visualFocusIndex: visualFocusIndex,
|
|
294
247
|
menuItemOnClick: handleMenuItemOnClick,
|
|
295
248
|
onKeyDown: handleMenuOnKeyDown,
|
|
296
|
-
styles:
|
|
249
|
+
styles: {
|
|
250
|
+
width: width,
|
|
251
|
+
zIndex: "2147483647"
|
|
252
|
+
},
|
|
297
253
|
ref: menuRef
|
|
298
|
-
})))));
|
|
254
|
+
}))))));
|
|
299
255
|
};
|
|
300
|
-
|
|
301
256
|
var sizes = {
|
|
302
257
|
small: "60px",
|
|
303
258
|
medium: "240px",
|
|
@@ -305,12 +260,10 @@ var sizes = {
|
|
|
305
260
|
fillParent: "100%",
|
|
306
261
|
fitContent: "fit-content"
|
|
307
262
|
};
|
|
308
|
-
|
|
309
263
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
310
264
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
311
265
|
};
|
|
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) {
|
|
266
|
+
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
267
|
return calculateWidth(props.margin, props.size);
|
|
315
268
|
}, function (props) {
|
|
316
269
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -323,19 +276,20 @@ var DropdownContainer = _styledComponents["default"].div(_templateObject || (_te
|
|
|
323
276
|
}, function (props) {
|
|
324
277
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
325
278
|
});
|
|
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) {
|
|
279
|
+
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
280
|
return props.theme.caretIconSpacing;
|
|
281
|
+
}, function (props) {
|
|
282
|
+
return props.theme.buttonHeight;
|
|
329
283
|
}, function (props) {
|
|
330
284
|
return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
|
|
331
285
|
}, function (props) {
|
|
332
|
-
return props.theme.
|
|
286
|
+
return props.theme.buttonBorderRadius;
|
|
333
287
|
}, function (props) {
|
|
334
|
-
return props.theme.
|
|
288
|
+
return props.theme.buttonBorderThickness;
|
|
335
289
|
}, function (props) {
|
|
336
|
-
return props.theme.
|
|
290
|
+
return props.theme.buttonBorderStyle;
|
|
337
291
|
}, function (props) {
|
|
338
|
-
return props.disabled ? props.theme.
|
|
292
|
+
return props.disabled ? props.theme.disabledButtonBorderColor : props.theme.buttonBorderColor;
|
|
339
293
|
}, function (props) {
|
|
340
294
|
return props.theme.buttonPaddingTop;
|
|
341
295
|
}, function (props) {
|
|
@@ -351,13 +305,11 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_
|
|
|
351
305
|
}, function (props) {
|
|
352
306
|
return props.disabled ? "not-allowed" : "pointer";
|
|
353
307
|
}, function (props) {
|
|
354
|
-
return !props.disabled && "\n &:focus {\n outline: ".concat(props.theme.focusColor, "
|
|
308
|
+
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
309
|
});
|
|
356
|
-
|
|
357
310
|
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
311
|
return props.theme.buttonIconSpacing;
|
|
359
312
|
});
|
|
360
|
-
|
|
361
313
|
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
314
|
return props.theme.buttonFontFamily;
|
|
363
315
|
}, function (props) {
|
|
@@ -367,15 +319,13 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 ||
|
|
|
367
319
|
}, function (props) {
|
|
368
320
|
return props.theme.buttonFontWeight;
|
|
369
321
|
});
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
return props.theme.buttonIconSize;
|
|
322
|
+
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) {
|
|
323
|
+
return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
|
|
373
324
|
}, function (props) {
|
|
374
325
|
return props.theme.buttonIconSize;
|
|
375
326
|
}, function (props) {
|
|
376
|
-
return props.
|
|
327
|
+
return props.theme.buttonIconSize;
|
|
377
328
|
});
|
|
378
|
-
|
|
379
329
|
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) {
|
|
380
330
|
return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
|
|
381
331
|
}, function (props) {
|
|
@@ -383,6 +333,4 @@ var CaretIcon = _styledComponents["default"].span(_templateObject6 || (_template
|
|
|
383
333
|
}, function (props) {
|
|
384
334
|
return props.theme.caretIconSize;
|
|
385
335
|
});
|
|
386
|
-
|
|
387
|
-
var _default = DxcDropdown;
|
|
388
|
-
exports["default"] = _default;
|
|
336
|
+
var _default = exports["default"] = DxcDropdown;
|