@dxc-technology/halstack-react 0.0.0-f54247d → 0.0.0-f6290b3
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 +121 -105
- 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 +4 -3
- 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/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 +69 -105
- package/button/Button.stories.tsx +152 -91
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +8 -4
- 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.js +87 -122
- package/checkbox/Checkbox.stories.tsx +68 -54
- package/checkbox/Checkbox.test.js +108 -64
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.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/OpenSans.css +68 -80
- 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 +910 -1155
- 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 +1 -1
- package/date-input/Calendar.js +52 -96
- package/date-input/DateInput.js +103 -107
- package/date-input/DateInput.stories.tsx +194 -60
- package/date-input/DateInput.test.js +676 -620
- package/date-input/DatePicker.js +47 -92
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +1 -1
- package/date-input/YearPicker.js +29 -44
- package/date-input/types.d.ts +32 -28
- package/dialog/Dialog.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 +19 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +53 -108
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +393 -379
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +9 -34
- package/dropdown/types.d.ts +18 -20
- package/file-input/FileInput.js +184 -256
- 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 +10 -10
- package/flex/Flex.js +27 -39
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- package/footer/Footer.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/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 +29 -66
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +5 -6
- package/link/Link.js +24 -45
- 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 +9 -5
- package/main.js +40 -59
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
- 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.d.ts +7 -0
- package/number-input/NumberInput.js +47 -37
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -413
- package/number-input/types.d.ts +11 -5
- package/package.json +31 -29
- 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/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +37 -66
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +102 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +155 -114
- 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 +120 -175
- package/select/Select.stories.tsx +495 -148
- package/select/Select.test.js +1974 -1837
- 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 +82 -153
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +31 -28
- package/slider/Slider.js +73 -131
- package/slider/Slider.test.js +108 -104
- package/slider/types.d.ts +4 -4
- 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.js +52 -100
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +52 -97
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +87 -35
- package/table/Table.stories.tsx +658 -0
- package/table/Table.test.js +94 -7
- 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 -332
- package/text-input/TextInput.stories.tsx +139 -155
- package/text-input/TextInput.test.js +1289 -1157
- 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/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/slider/Slider.stories.tsx +0 -183
- package/table/Table.stories.jsx +0 -277
- 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,13 +44,11 @@ var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
62
44
|
d: "M0 0h24v24H0z",
|
|
63
45
|
fill: "none"
|
|
64
46
|
}));
|
|
65
|
-
|
|
66
47
|
var useWidth = function useWidth(target) {
|
|
67
48
|
var _useState = (0, _react.useState)(0),
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
49
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
50
|
+
width = _useState2[0],
|
|
51
|
+
setWidth = _useState2[1];
|
|
72
52
|
(0, _react.useEffect)(function () {
|
|
73
53
|
if (target != null) {
|
|
74
54
|
setWidth(target.getBoundingClientRect().width);
|
|
@@ -84,77 +64,64 @@ var useWidth = function useWidth(target) {
|
|
|
84
64
|
}, [target]);
|
|
85
65
|
return width;
|
|
86
66
|
};
|
|
87
|
-
|
|
88
67
|
var DxcDropdown = function DxcDropdown(_ref) {
|
|
89
68
|
var options = _ref.options,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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;
|
|
110
88
|
var _useState3 = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
89
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
90
|
+
triggerId = _useState4[0];
|
|
114
91
|
var menuId = "menu-".concat(triggerId);
|
|
115
|
-
|
|
116
92
|
var _useState5 = (0, _react.useState)(false),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
93
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
94
|
+
isOpen = _useState6[0],
|
|
95
|
+
changeIsOpen = _useState6[1];
|
|
121
96
|
var _useState7 = (0, _react.useState)(0),
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
97
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
98
|
+
visualFocusIndex = _useState8[0],
|
|
99
|
+
setVisualFocusIndex = _useState8[1];
|
|
126
100
|
var colorsTheme = (0, _useTheme["default"])();
|
|
127
101
|
var triggerRef = (0, _react.useRef)(null);
|
|
128
102
|
var menuRef = (0, _react.useRef)(null);
|
|
129
103
|
var width = useWidth(triggerRef.current);
|
|
130
|
-
|
|
131
104
|
var handleOnOpenMenu = function handleOnOpenMenu() {
|
|
132
105
|
changeIsOpen(true);
|
|
133
106
|
};
|
|
134
|
-
|
|
135
107
|
var handleOnCloseMenu = function handleOnCloseMenu() {
|
|
136
108
|
changeIsOpen(false);
|
|
137
109
|
setVisualFocusIndex(0);
|
|
138
110
|
};
|
|
139
|
-
|
|
140
111
|
var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
|
|
141
112
|
var _triggerRef$current;
|
|
142
|
-
|
|
143
113
|
onSelectOption(value);
|
|
144
114
|
handleOnCloseMenu();
|
|
145
115
|
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
|
|
146
116
|
}, [onSelectOption]);
|
|
147
|
-
|
|
148
117
|
var handleOnBlur = function handleOnBlur(event) {
|
|
149
118
|
!event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
|
|
150
119
|
};
|
|
151
|
-
|
|
152
120
|
var handleTriggerOnClick = function handleTriggerOnClick() {
|
|
153
121
|
changeIsOpen(function (isOpen) {
|
|
154
122
|
return !isOpen;
|
|
155
123
|
});
|
|
156
124
|
};
|
|
157
|
-
|
|
158
125
|
var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
|
|
159
126
|
switch (event.key) {
|
|
160
127
|
case "Up":
|
|
@@ -163,7 +130,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
163
130
|
setVisualFocusIndex(options.length - 1);
|
|
164
131
|
handleOnOpenMenu();
|
|
165
132
|
break;
|
|
166
|
-
|
|
167
133
|
case " ":
|
|
168
134
|
case "Down":
|
|
169
135
|
case "ArrowDown":
|
|
@@ -173,62 +139,52 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
173
139
|
break;
|
|
174
140
|
}
|
|
175
141
|
};
|
|
176
|
-
|
|
177
142
|
var setPreviousIndexFocus = function setPreviousIndexFocus() {
|
|
178
143
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
179
144
|
var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
|
|
180
145
|
return index;
|
|
181
146
|
});
|
|
182
147
|
};
|
|
183
|
-
|
|
184
148
|
var setNextIndexFocus = function setNextIndexFocus() {
|
|
185
149
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
186
150
|
var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
|
|
187
151
|
return index;
|
|
188
152
|
});
|
|
189
153
|
};
|
|
190
|
-
|
|
191
154
|
var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
|
|
192
155
|
var _triggerRef$current2, _triggerRef$current3;
|
|
193
|
-
|
|
194
156
|
switch (event.key) {
|
|
195
157
|
case "Up":
|
|
196
158
|
case "ArrowUp":
|
|
197
159
|
event.preventDefault();
|
|
198
160
|
setPreviousIndexFocus();
|
|
199
161
|
break;
|
|
200
|
-
|
|
201
162
|
case "Down":
|
|
202
163
|
case "ArrowDown":
|
|
203
164
|
event.preventDefault();
|
|
204
165
|
setNextIndexFocus();
|
|
205
166
|
break;
|
|
206
|
-
|
|
207
167
|
case " ":
|
|
208
168
|
case "Enter":
|
|
209
169
|
event.preventDefault();
|
|
210
170
|
handleMenuItemOnClick(options[visualFocusIndex].value);
|
|
211
171
|
break;
|
|
212
|
-
|
|
213
172
|
case "Esc":
|
|
214
173
|
case "Escape":
|
|
215
174
|
event.preventDefault();
|
|
216
175
|
handleOnCloseMenu();
|
|
217
176
|
(_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
|
|
218
177
|
break;
|
|
219
|
-
|
|
220
178
|
case "Home":
|
|
221
179
|
case "PageUp":
|
|
222
180
|
event.preventDefault();
|
|
223
181
|
setVisualFocusIndex(0);
|
|
224
182
|
break;
|
|
225
|
-
|
|
226
183
|
case "End":
|
|
227
184
|
case "PageDown":
|
|
228
185
|
event.preventDefault();
|
|
229
186
|
setVisualFocusIndex(options.length - 1);
|
|
230
187
|
break;
|
|
231
|
-
|
|
232
188
|
case "Tab":
|
|
233
189
|
handleOnCloseMenu();
|
|
234
190
|
(_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
|
|
@@ -237,7 +193,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
237
193
|
}, [onSelectOption, visualFocusIndex, options]);
|
|
238
194
|
(0, _react.useLayoutEffect)(function () {
|
|
239
195
|
var _menuRef$current, _visualFocusedMenuIte;
|
|
240
|
-
|
|
241
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];
|
|
242
197
|
visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
|
|
243
198
|
block: "nearest",
|
|
@@ -258,7 +213,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
258
213
|
asChild: true,
|
|
259
214
|
type: undefined
|
|
260
215
|
}, /*#__PURE__*/_react["default"].createElement(DropdownTrigger, {
|
|
261
|
-
opened: isOpen,
|
|
262
216
|
onClick: handleTriggerOnClick,
|
|
263
217
|
onKeyDown: handleTriggerOnKeyDown,
|
|
264
218
|
onBlur: function onBlur(event) {
|
|
@@ -275,17 +229,15 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
275
229
|
tabIndex: tabIndex,
|
|
276
230
|
ref: triggerRef
|
|
277
231
|
}, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContent, null, label && iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(DropdownTriggerIcon, {
|
|
278
|
-
label: label,
|
|
279
|
-
iconPosition: iconPosition,
|
|
280
232
|
disabled: disabled,
|
|
281
233
|
role: typeof icon === "string" ? undefined : "img"
|
|
282
234
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
283
235
|
src: icon
|
|
284
236
|
}) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label)), !caretHidden && /*#__PURE__*/_react["default"].createElement(CaretIcon, {
|
|
285
237
|
disabled: disabled
|
|
286
|
-
}, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
287
|
-
|
|
288
|
-
|
|
238
|
+
}, isOpen ? upArrowIcon : downArrowIcon))), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
239
|
+
asChild: true,
|
|
240
|
+
sideOffset: 1
|
|
289
241
|
}, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
|
|
290
242
|
id: menuId,
|
|
291
243
|
dropdownTriggerId: triggerId,
|
|
@@ -295,12 +247,12 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
295
247
|
menuItemOnClick: handleMenuItemOnClick,
|
|
296
248
|
onKeyDown: handleMenuOnKeyDown,
|
|
297
249
|
styles: {
|
|
298
|
-
width: width
|
|
250
|
+
width: width,
|
|
251
|
+
zIndex: "2147483647"
|
|
299
252
|
},
|
|
300
253
|
ref: menuRef
|
|
301
|
-
})))));
|
|
254
|
+
}))))));
|
|
302
255
|
};
|
|
303
|
-
|
|
304
256
|
var sizes = {
|
|
305
257
|
small: "60px",
|
|
306
258
|
medium: "240px",
|
|
@@ -308,12 +260,10 @@ var sizes = {
|
|
|
308
260
|
fillParent: "100%",
|
|
309
261
|
fitContent: "fit-content"
|
|
310
262
|
};
|
|
311
|
-
|
|
312
263
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
313
264
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
314
265
|
};
|
|
315
|
-
|
|
316
|
-
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) {
|
|
317
267
|
return calculateWidth(props.margin, props.size);
|
|
318
268
|
}, function (props) {
|
|
319
269
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -326,19 +276,20 @@ var DropdownContainer = _styledComponents["default"].div(_templateObject || (_te
|
|
|
326
276
|
}, function (props) {
|
|
327
277
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
328
278
|
});
|
|
329
|
-
|
|
330
|
-
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) {
|
|
331
280
|
return props.theme.caretIconSpacing;
|
|
281
|
+
}, function (props) {
|
|
282
|
+
return props.theme.buttonHeight;
|
|
332
283
|
}, function (props) {
|
|
333
284
|
return props.label === "" ? "0px" : calculateWidth(props.margin, props.size);
|
|
334
285
|
}, function (props) {
|
|
335
|
-
return props.theme.
|
|
286
|
+
return props.theme.buttonBorderRadius;
|
|
336
287
|
}, function (props) {
|
|
337
|
-
return props.theme.
|
|
288
|
+
return props.theme.buttonBorderThickness;
|
|
338
289
|
}, function (props) {
|
|
339
|
-
return props.theme.
|
|
290
|
+
return props.theme.buttonBorderStyle;
|
|
340
291
|
}, function (props) {
|
|
341
|
-
return props.disabled ? props.theme.
|
|
292
|
+
return props.disabled ? props.theme.disabledButtonBorderColor : props.theme.buttonBorderColor;
|
|
342
293
|
}, function (props) {
|
|
343
294
|
return props.theme.buttonPaddingTop;
|
|
344
295
|
}, function (props) {
|
|
@@ -354,13 +305,11 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject2 || (_
|
|
|
354
305
|
}, function (props) {
|
|
355
306
|
return props.disabled ? "not-allowed" : "pointer";
|
|
356
307
|
}, function (props) {
|
|
357
|
-
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 ");
|
|
358
309
|
});
|
|
359
|
-
|
|
360
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) {
|
|
361
311
|
return props.theme.buttonIconSpacing;
|
|
362
312
|
});
|
|
363
|
-
|
|
364
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) {
|
|
365
314
|
return props.theme.buttonFontFamily;
|
|
366
315
|
}, function (props) {
|
|
@@ -370,15 +319,13 @@ var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 ||
|
|
|
370
319
|
}, function (props) {
|
|
371
320
|
return props.theme.buttonFontWeight;
|
|
372
321
|
});
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
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;
|
|
376
324
|
}, function (props) {
|
|
377
325
|
return props.theme.buttonIconSize;
|
|
378
326
|
}, function (props) {
|
|
379
|
-
return props.
|
|
327
|
+
return props.theme.buttonIconSize;
|
|
380
328
|
});
|
|
381
|
-
|
|
382
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) {
|
|
383
330
|
return props.disabled ? props.theme.disabledColor : props.theme.caretIconColor;
|
|
384
331
|
}, function (props) {
|
|
@@ -386,6 +333,4 @@ var CaretIcon = _styledComponents["default"].span(_templateObject6 || (_template
|
|
|
386
333
|
}, function (props) {
|
|
387
334
|
return props.theme.caretIconSize;
|
|
388
335
|
});
|
|
389
|
-
|
|
390
|
-
var _default = DxcDropdown;
|
|
391
|
-
exports["default"] = _default;
|
|
336
|
+
var _default = exports["default"] = DxcDropdown;
|