@dxc-technology/halstack-react 0.0.0-de7c6b0 → 0.0.0-dec566a
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 +4 -21
- package/HalstackContext.d.ts +52 -139
- package/HalstackContext.js +11 -36
- package/README.md +47 -0
- package/accordion/Accordion.js +31 -84
- package/accordion/Accordion.stories.tsx +5 -50
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- 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 +29 -118
- package/alert/Alert.test.js +28 -45
- 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/types.d.ts +2 -2
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +68 -100
- package/button/Button.stories.tsx +33 -132
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +9 -5
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.js +85 -120
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +41 -24
- package/common/utils.js +2 -8
- package/common/variables.d.ts +52 -139
- package/common/variables.js +63 -157
- 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/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +15 -59
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -22
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- 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 +59 -128
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +11 -20
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.js +180 -248
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +356 -354
- package/file-input/FileItem.js +14 -41
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -102
- package/footer/Footer.stories.tsx +37 -6
- package/footer/Footer.test.js +21 -33
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -21
- package/grid/Grid.d.ts +1 -1
- package/grid/Grid.js +2 -17
- package/grid/Grid.stories.tsx +38 -38
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +1 -1
- package/header/Header.js +28 -84
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -8
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- 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/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- 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/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +8 -4
- package/main.js +39 -59
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +7 -5
- package/nav-tabs/NavTabs.test.js +38 -44
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +24 -52
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +859 -412
- 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 +30 -28
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +15 -43
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -19
- 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 +157 -140
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +21 -53
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- 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 +44 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- 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.js +13 -39
- package/select/Option.js +17 -27
- package/select/Select.js +87 -163
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1946 -1804
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +29 -70
- 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 +18 -18
- package/slider/Slider.js +68 -125
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +16 -54
- package/spinner/Spinner.test.js +25 -34
- 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 +49 -97
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +17 -33
- package/tabs/Tabs.js +52 -129
- package/tabs/Tabs.stories.tsx +1 -1
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.js +221 -327
- package/text-input/TextInput.stories.tsx +49 -153
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +67 -109
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +90 -107
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +49 -136
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +25 -39
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +7 -7
- package/common/OpenSans.css +0 -69
- 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/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/slider/Slider.stories.tsx +0 -240
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/dropdown/Dropdown.js
CHANGED
|
@@ -1,74 +1,31 @@
|
|
|
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
14
|
var _variables = require("../common/variables");
|
|
23
|
-
|
|
24
15
|
var _utils = require("../common/utils");
|
|
25
|
-
|
|
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
|
-
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
|
-
|
|
40
|
-
var upArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
-
width: "24",
|
|
43
|
-
height: "24",
|
|
44
|
-
viewBox: "0 0 24 24",
|
|
45
|
-
fill: "currentColor"
|
|
46
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
47
|
-
d: "M7 14l5-5 5 5z"
|
|
48
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
49
|
-
d: "M0 0h24v24H0z",
|
|
50
|
-
fill: "none"
|
|
51
|
-
}));
|
|
52
|
-
|
|
53
|
-
var downArrowIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
54
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
55
|
-
width: "24",
|
|
56
|
-
height: "24",
|
|
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; }
|
|
66
24
|
var useWidth = function useWidth(target) {
|
|
67
25
|
var _useState = (0, _react.useState)(0),
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
26
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
27
|
+
width = _useState2[0],
|
|
28
|
+
setWidth = _useState2[1];
|
|
72
29
|
(0, _react.useEffect)(function () {
|
|
73
30
|
if (target != null) {
|
|
74
31
|
setWidth(target.getBoundingClientRect().width);
|
|
@@ -84,77 +41,64 @@ var useWidth = function useWidth(target) {
|
|
|
84
41
|
}, [target]);
|
|
85
42
|
return width;
|
|
86
43
|
};
|
|
87
|
-
|
|
88
44
|
var DxcDropdown = function DxcDropdown(_ref) {
|
|
89
45
|
var options = _ref.options,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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;
|
|
110
65
|
var _useState3 = (0, _react.useState)("trigger-".concat((0, _uuid.v4)())),
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
66
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
67
|
+
triggerId = _useState4[0];
|
|
114
68
|
var menuId = "menu-".concat(triggerId);
|
|
115
|
-
|
|
116
69
|
var _useState5 = (0, _react.useState)(false),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
70
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
71
|
+
isOpen = _useState6[0],
|
|
72
|
+
changeIsOpen = _useState6[1];
|
|
121
73
|
var _useState7 = (0, _react.useState)(0),
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
74
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
75
|
+
visualFocusIndex = _useState8[0],
|
|
76
|
+
setVisualFocusIndex = _useState8[1];
|
|
126
77
|
var colorsTheme = (0, _useTheme["default"])();
|
|
127
78
|
var triggerRef = (0, _react.useRef)(null);
|
|
128
79
|
var menuRef = (0, _react.useRef)(null);
|
|
129
80
|
var width = useWidth(triggerRef.current);
|
|
130
|
-
|
|
131
81
|
var handleOnOpenMenu = function handleOnOpenMenu() {
|
|
132
82
|
changeIsOpen(true);
|
|
133
83
|
};
|
|
134
|
-
|
|
135
84
|
var handleOnCloseMenu = function handleOnCloseMenu() {
|
|
136
85
|
changeIsOpen(false);
|
|
137
86
|
setVisualFocusIndex(0);
|
|
138
87
|
};
|
|
139
|
-
|
|
140
88
|
var handleMenuItemOnClick = (0, _react.useCallback)(function (value) {
|
|
141
89
|
var _triggerRef$current;
|
|
142
|
-
|
|
143
90
|
onSelectOption(value);
|
|
144
91
|
handleOnCloseMenu();
|
|
145
92
|
(_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
|
|
146
93
|
}, [onSelectOption]);
|
|
147
|
-
|
|
148
94
|
var handleOnBlur = function handleOnBlur(event) {
|
|
149
95
|
!event.currentTarget.contains(event.relatedTarget) && handleOnCloseMenu();
|
|
150
96
|
};
|
|
151
|
-
|
|
152
97
|
var handleTriggerOnClick = function handleTriggerOnClick() {
|
|
153
98
|
changeIsOpen(function (isOpen) {
|
|
154
99
|
return !isOpen;
|
|
155
100
|
});
|
|
156
101
|
};
|
|
157
|
-
|
|
158
102
|
var handleTriggerOnKeyDown = function handleTriggerOnKeyDown(event) {
|
|
159
103
|
switch (event.key) {
|
|
160
104
|
case "Up":
|
|
@@ -163,7 +107,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
163
107
|
setVisualFocusIndex(options.length - 1);
|
|
164
108
|
handleOnOpenMenu();
|
|
165
109
|
break;
|
|
166
|
-
|
|
167
110
|
case " ":
|
|
168
111
|
case "Down":
|
|
169
112
|
case "ArrowDown":
|
|
@@ -173,62 +116,52 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
173
116
|
break;
|
|
174
117
|
}
|
|
175
118
|
};
|
|
176
|
-
|
|
177
119
|
var setPreviousIndexFocus = function setPreviousIndexFocus() {
|
|
178
120
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
179
121
|
var index = currentFocusIndex === 0 ? options.length - 1 : currentFocusIndex - 1;
|
|
180
122
|
return index;
|
|
181
123
|
});
|
|
182
124
|
};
|
|
183
|
-
|
|
184
125
|
var setNextIndexFocus = function setNextIndexFocus() {
|
|
185
126
|
setVisualFocusIndex(function (currentFocusIndex) {
|
|
186
127
|
var index = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;
|
|
187
128
|
return index;
|
|
188
129
|
});
|
|
189
130
|
};
|
|
190
|
-
|
|
191
131
|
var handleMenuOnKeyDown = (0, _react.useCallback)(function (event) {
|
|
192
132
|
var _triggerRef$current2, _triggerRef$current3;
|
|
193
|
-
|
|
194
133
|
switch (event.key) {
|
|
195
134
|
case "Up":
|
|
196
135
|
case "ArrowUp":
|
|
197
136
|
event.preventDefault();
|
|
198
137
|
setPreviousIndexFocus();
|
|
199
138
|
break;
|
|
200
|
-
|
|
201
139
|
case "Down":
|
|
202
140
|
case "ArrowDown":
|
|
203
141
|
event.preventDefault();
|
|
204
142
|
setNextIndexFocus();
|
|
205
143
|
break;
|
|
206
|
-
|
|
207
144
|
case " ":
|
|
208
145
|
case "Enter":
|
|
209
146
|
event.preventDefault();
|
|
210
147
|
handleMenuItemOnClick(options[visualFocusIndex].value);
|
|
211
148
|
break;
|
|
212
|
-
|
|
213
149
|
case "Esc":
|
|
214
150
|
case "Escape":
|
|
215
151
|
event.preventDefault();
|
|
216
152
|
handleOnCloseMenu();
|
|
217
153
|
(_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.focus();
|
|
218
154
|
break;
|
|
219
|
-
|
|
220
155
|
case "Home":
|
|
221
156
|
case "PageUp":
|
|
222
157
|
event.preventDefault();
|
|
223
158
|
setVisualFocusIndex(0);
|
|
224
159
|
break;
|
|
225
|
-
|
|
226
160
|
case "End":
|
|
227
161
|
case "PageDown":
|
|
228
162
|
event.preventDefault();
|
|
229
163
|
setVisualFocusIndex(options.length - 1);
|
|
230
164
|
break;
|
|
231
|
-
|
|
232
165
|
case "Tab":
|
|
233
166
|
handleOnCloseMenu();
|
|
234
167
|
(_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.focus();
|
|
@@ -237,7 +170,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
237
170
|
}, [onSelectOption, visualFocusIndex, options]);
|
|
238
171
|
(0, _react.useLayoutEffect)(function () {
|
|
239
172
|
var _menuRef$current, _visualFocusedMenuIte;
|
|
240
|
-
|
|
241
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];
|
|
242
174
|
visualFocusedMenuItem === null || visualFocusedMenuItem === void 0 ? void 0 : (_visualFocusedMenuIte = visualFocusedMenuItem.scrollIntoView) === null || _visualFocusedMenuIte === void 0 ? void 0 : _visualFocusedMenuIte.call(visualFocusedMenuItem, {
|
|
243
175
|
block: "nearest",
|
|
@@ -276,13 +208,15 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
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
209
|
disabled: disabled,
|
|
278
210
|
role: typeof icon === "string" ? undefined : "img"
|
|
279
|
-
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("
|
|
280
|
-
|
|
211
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
212
|
+
icon: icon
|
|
281
213
|
}) : icon), label && iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, null, label)), !caretHidden && /*#__PURE__*/_react["default"].createElement(CaretIcon, {
|
|
282
214
|
disabled: disabled
|
|
283
|
-
},
|
|
284
|
-
|
|
285
|
-
|
|
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
|
|
286
220
|
}, /*#__PURE__*/_react["default"].createElement(_DropdownMenu["default"], {
|
|
287
221
|
id: menuId,
|
|
288
222
|
dropdownTriggerId: triggerId,
|
|
@@ -292,12 +226,12 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
292
226
|
menuItemOnClick: handleMenuItemOnClick,
|
|
293
227
|
onKeyDown: handleMenuOnKeyDown,
|
|
294
228
|
styles: {
|
|
295
|
-
width: width
|
|
229
|
+
width: width,
|
|
230
|
+
zIndex: "2147483647"
|
|
296
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
|
-
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) {
|
|
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) {
|
|
372
302
|
return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
|
|
373
303
|
}, function (props) {
|
|
374
304
|
return props.theme.buttonIconSize;
|
|
375
305
|
}, function (props) {
|
|
376
306
|
return props.theme.buttonIconSize;
|
|
307
|
+
}, function (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;
|
|
@@ -15,11 +15,6 @@ export default {
|
|
|
15
15
|
component: DxcDropdown,
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
const hamburguerIcon = (
|
|
19
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20">
|
|
20
|
-
<path d="M3 14.5V13h14v1.5Zm0-3.75v-1.5h14v1.5ZM3 7V5.5h14V7Z" />
|
|
21
|
-
</svg>
|
|
22
|
-
);
|
|
23
18
|
const iconSVG = (
|
|
24
19
|
<svg viewBox="0 0 24 24" height="24" width="24" fill="currentColor">
|
|
25
20
|
<path d="M0 0h24v24H0z" fill="none" />
|
|
@@ -31,8 +26,7 @@ const iconSVGLarge = (
|
|
|
31
26
|
<path d="M11 44q-1.2 0-2.1-.9Q8 42.2 8 41V15q0-1.2.9-2.1.9-.9 2.1-.9h5.5v-.5q0-3.15 2.175-5.325Q20.85 4 24 4q3.15 0 5.325 2.175Q31.5 8.35 31.5 11.5v.5H37q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h26V15h-5.5v4.5q0 .65-.425 1.075Q30.65 21 30 21q-.65 0-1.075-.425-.425-.425-.425-1.075V15h-9v4.5q0 .65-.425 1.075Q18.65 21 18 21q-.65 0-1.075-.425-.425-.425-.425-1.075V15H11v26Zm8.5-29h9v-.5q0-1.9-1.3-3.2Q25.9 7 24 7q-1.9 0-3.2 1.3-1.3 1.3-1.3 3.2ZM11 41V15v26Z" />
|
|
32
27
|
</svg>
|
|
33
28
|
);
|
|
34
|
-
const
|
|
35
|
-
const icons = [iconSVG, iconSVGLarge, iconUrl];
|
|
29
|
+
const icons = [iconSVG, iconSVGLarge, "nutrition"];
|
|
36
30
|
|
|
37
31
|
const defaultOptions: Option[] = [
|
|
38
32
|
{
|
|
@@ -86,7 +80,7 @@ const optionWithIcon: Option[] = [
|
|
|
86
80
|
{
|
|
87
81
|
value: "1",
|
|
88
82
|
label: "Ebay",
|
|
89
|
-
icon:
|
|
83
|
+
icon: "shopping_cart",
|
|
90
84
|
},
|
|
91
85
|
];
|
|
92
86
|
|
|
@@ -136,7 +130,7 @@ const Dropdown = () => (
|
|
|
136
130
|
label="Icon after"
|
|
137
131
|
options={options}
|
|
138
132
|
onSelectOption={(value) => {}}
|
|
139
|
-
icon="
|
|
133
|
+
icon="shopping_cart"
|
|
140
134
|
iconPosition="after"
|
|
141
135
|
/>
|
|
142
136
|
</ExampleContainer>
|
|
@@ -146,7 +140,7 @@ const Dropdown = () => (
|
|
|
146
140
|
</ExampleContainer>
|
|
147
141
|
<ExampleContainer>
|
|
148
142
|
<Title title="Only icon without caret" theme="light" level={4} />
|
|
149
|
-
<DxcDropdown options={options} onSelectOption={(value) => {}} icon=
|
|
143
|
+
<DxcDropdown options={options} onSelectOption={(value) => {}} icon="menu" caretHidden />
|
|
150
144
|
</ExampleContainer>
|
|
151
145
|
<ExampleContainer>
|
|
152
146
|
<Title title="Large icon (SVG)" theme="light" level={4} />
|
|
@@ -154,12 +148,7 @@ const Dropdown = () => (
|
|
|
154
148
|
</ExampleContainer>
|
|
155
149
|
<ExampleContainer>
|
|
156
150
|
<Title title="Large icon (image)" theme="light" level={4} />
|
|
157
|
-
<DxcDropdown
|
|
158
|
-
label="Large icon"
|
|
159
|
-
options={options}
|
|
160
|
-
onSelectOption={(value) => {}}
|
|
161
|
-
icon="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Hamburger_icon.svg/2048px-Hamburger_icon.svg.png"
|
|
162
|
-
/>
|
|
151
|
+
<DxcDropdown label="Large icon" options={options} onSelectOption={(value) => {}} icon="menu" />
|
|
163
152
|
</ExampleContainer>
|
|
164
153
|
<ExampleContainer>
|
|
165
154
|
<Title title="Disabled with icon" theme="light" level={4} />
|