@dxc-technology/halstack-react 0.0.0-a7970fd → 0.0.0-a7fec42
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/HalstackContext.d.ts +4 -2
- package/HalstackContext.js +110 -58
- package/accordion/Accordion.js +122 -103
- package/accordion/Accordion.stories.tsx +2 -3
- package/accordion/Accordion.test.js +9 -10
- package/accordion/types.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +2 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +20 -45
- package/accordion-group/types.d.ts +10 -3
- package/alert/Alert.js +5 -2
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.js +23 -33
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +43 -61
- package/button/Button.stories.tsx +9 -0
- package/button/types.d.ts +7 -7
- package/card/Card.js +34 -36
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.js +90 -95
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +2 -2
- package/chip/types.d.ts +1 -1
- package/common/variables.js +232 -96
- package/date-input/DateInput.js +8 -5
- package/dialog/Dialog.js +52 -28
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +244 -247
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +509 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.js +9 -6
- package/file-input/FileItem.js +7 -5
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/{quick-nav-container → flex}/types.js +0 -0
- package/footer/Footer.js +7 -5
- package/footer/Footer.stories.tsx +8 -1
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +80 -75
- package/header/Header.stories.tsx +4 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +1 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +70 -117
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +57 -70
- package/link/Link.stories.tsx +95 -53
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +8 -11
- package/main.js +40 -58
- package/number-input/NumberInput.test.js +1 -1
- package/number-input/types.d.ts +1 -1
- package/package.json +10 -9
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +42 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +11 -6
- package/password-input/PasswordInput.test.js +14 -14
- package/password-input/types.d.ts +1 -1
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.js +75 -22
- package/quick-nav/QuickNav.stories.tsx +131 -26
- package/quick-nav/types.d.ts +1 -1
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +30 -27
- package/radio-group/RadioGroup.stories.tsx +1 -0
- package/radio-group/RadioGroup.test.js +123 -96
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/ResultsetTable.test.js +42 -0
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +58 -8
- package/select/Select.js +80 -90
- package/select/Select.stories.tsx +145 -100
- package/select/Select.test.js +425 -249
- package/select/types.d.ts +2 -5
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +184 -52
- package/sidenav/Sidenav.stories.tsx +154 -156
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.js +116 -92
- package/slider/Slider.stories.tsx +7 -1
- package/slider/Slider.test.js +121 -21
- package/slider/types.d.ts +2 -2
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +135 -66
- package/switch/Switch.stories.tsx +8 -30
- package/switch/Switch.test.js +144 -17
- package/switch/types.d.ts +3 -4
- package/table/Table.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +74 -0
- package/tabs/Tabs.test.js +217 -6
- package/tabs/types.d.ts +15 -5
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/{radio → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +57 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +206 -329
- package/text-input/TextInput.stories.tsx +189 -182
- package/text-input/TextInput.test.js +166 -164
- package/text-input/types.d.ts +35 -4
- package/textarea/Textarea.js +10 -19
- package/textarea/types.d.ts +1 -1
- package/toggle-group/types.d.ts +1 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/{row → typography}/types.js +0 -0
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.js +36 -41
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/types.d.ts +5 -4
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/quick-nav-container/HeadingLink.d.ts +0 -8
- package/quick-nav-container/HeadingLink.js +0 -58
- package/quick-nav-container/QuickNavContainer.d.ts +0 -4
- package/quick-nav-container/QuickNavContainer.js +0 -69
- package/quick-nav-container/Section.d.ts +0 -9
- package/quick-nav-container/Section.js +0 -37
- package/quick-nav-container/types.d.ts +0 -34
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -173
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/stack/types.js +0 -5
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
package/dialog/Dialog.js
CHANGED
|
@@ -13,19 +13,17 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var _react =
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
|
|
18
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
19
|
|
|
20
|
-
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
21
|
-
|
|
22
20
|
var _variables = require("../common/variables.js");
|
|
23
21
|
|
|
24
22
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
23
|
|
|
26
24
|
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
27
25
|
|
|
28
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
26
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
29
27
|
|
|
30
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
29
|
|
|
@@ -53,15 +51,37 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
53
51
|
onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
|
|
54
52
|
};
|
|
55
53
|
|
|
54
|
+
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
55
|
+
if (event.key === "Escape") {
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
handleClose();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
(0, _react.useEffect)(function () {
|
|
62
|
+
if (isCloseVisible) {
|
|
63
|
+
window.addEventListener("keydown", handleOnKeyDown);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return function () {
|
|
67
|
+
window.removeEventListener("keydown", handleOnKeyDown);
|
|
68
|
+
};
|
|
69
|
+
}, [isCloseVisible]);
|
|
56
70
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
57
71
|
theme: colorsTheme.dialog
|
|
58
|
-
}, /*#__PURE__*/_react["default"].createElement(DialogContainer, {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
72
|
+
}, /*#__PURE__*/_react["default"].createElement(BodyStyle, null), /*#__PURE__*/_react["default"].createElement(DialogContainer, {
|
|
73
|
+
role: "presentation"
|
|
74
|
+
}, overlay && /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
75
|
+
onClick: handleOverlayClick
|
|
76
|
+
}), /*#__PURE__*/_react["default"].createElement(Dialog, {
|
|
77
|
+
role: "dialog",
|
|
78
|
+
"aria-modal": overlay,
|
|
79
|
+
isCloseVisible: isCloseVisible
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement(Children, {
|
|
63
81
|
padding: padding
|
|
64
|
-
},
|
|
82
|
+
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
83
|
+
color: colorsTheme.dialog.backgroundColor
|
|
84
|
+
}, children)), isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
|
|
65
85
|
onClick: handleClose,
|
|
66
86
|
tabIndex: tabIndex
|
|
67
87
|
}, /*#__PURE__*/_react["default"].createElement(CloseIcon, {
|
|
@@ -75,24 +95,34 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
75
95
|
fill: "none"
|
|
76
96
|
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
77
97
|
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
78
|
-
})))
|
|
79
|
-
color: colorsTheme.dialog.backgroundColor
|
|
80
|
-
}, children))));
|
|
98
|
+
}))))));
|
|
81
99
|
};
|
|
82
100
|
|
|
83
|
-
var
|
|
101
|
+
var BodyStyle = (0, _styledComponents.createGlobalStyle)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n body {\n overflow: hidden;\n }\n"])));
|
|
102
|
+
|
|
103
|
+
var DialogContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n inset: 0px;\n height: 100%;\n z-index: 1300;\n"])));
|
|
104
|
+
|
|
105
|
+
var Overlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n inset: 0px;\n height: 100%;\n background-color: ", ";\n opacity: ", ";\n"])), function (props) {
|
|
106
|
+
return props.theme.overlayColor;
|
|
107
|
+
}, function (props) {
|
|
108
|
+
return props.theme.overlayOpacity;
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
var Dialog = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n z-index: 1300;\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n ", "\n box-sizing: border-box;\n box-shadow: ", ";\n border-radius: 4px;\n position: relative;\n\n @media (min-width: ", "rem) {\n max-width: 80%;\n min-width: 800px;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 92%;\n min-width: 92%;\n }\n"])), function (props) {
|
|
112
|
+
return props.theme.backgroundColor;
|
|
113
|
+
}, function (props) {
|
|
84
114
|
return props.theme.fontFamily;
|
|
85
115
|
}, function (props) {
|
|
86
|
-
return props.
|
|
116
|
+
return props.theme.fontSize;
|
|
87
117
|
}, function (props) {
|
|
88
|
-
return props.
|
|
118
|
+
return props.theme.fontWeight;
|
|
89
119
|
}, function (props) {
|
|
90
|
-
return props.
|
|
91
|
-
}, _variables.responsiveSizes.medium, _variables.responsiveSizes.medium, function (props) {
|
|
92
|
-
return props.isCloseVisible ? "72px" : "";
|
|
120
|
+
return props.isCloseVisible && "min-height: 72px; padding-top: 24px;";
|
|
93
121
|
}, function (props) {
|
|
94
122
|
return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
|
|
95
|
-
},
|
|
123
|
+
}, _variables.responsiveSizes.medium, _variables.responsiveSizes.medium);
|
|
124
|
+
|
|
125
|
+
var Children = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
|
|
96
126
|
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
|
|
97
127
|
}, function (props) {
|
|
98
128
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
@@ -104,13 +134,7 @@ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_tem
|
|
|
104
134
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
105
135
|
});
|
|
106
136
|
|
|
107
|
-
var
|
|
108
|
-
|
|
109
|
-
var CloseIconContainer = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n position: absolute;\n top: ", ";\n right: ", ";\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n color: ", ";\n width: ", ";\n height: ", ";\n border: none;\n"])), function (props) {
|
|
110
|
-
return props.theme.closeIconTopPosition;
|
|
111
|
-
}, function (props) {
|
|
112
|
-
return props.theme.closeIconRightPosition;
|
|
113
|
-
}, function (props) {
|
|
137
|
+
var CloseIconContainer = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n position: absolute;\n top: 20px;\n right: 20px;\n color: ", ";\n width: ", ";\n height: ", ";\n"])), function (props) {
|
|
114
138
|
return props.theme.closeIconColor;
|
|
115
139
|
}, function (props) {
|
|
116
140
|
return props.theme.closeIconWidth;
|
|
@@ -118,7 +142,7 @@ var CloseIconContainer = _styledComponents["default"].button(_templateObject3 ||
|
|
|
118
142
|
return props.theme.closeIconHeight;
|
|
119
143
|
});
|
|
120
144
|
|
|
121
|
-
var CloseIcon = _styledComponents["default"].svg(
|
|
145
|
+
var CloseIcon = _styledComponents["default"].svg(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n"])), function (props) {
|
|
122
146
|
return props.theme.closeIconBackgroundColor;
|
|
123
147
|
}, function (props) {
|
|
124
148
|
return props.theme.closeIconWidth;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { userEvent, within } from "@storybook/testing-library";
|
|
3
2
|
import DxcDialog from "./Dialog";
|
|
3
|
+
import DxcTextInput from "../text-input/TextInput";
|
|
4
|
+
import DxcButton from "../button/Button";
|
|
5
|
+
import DxcFlex from "../flex/Flex";
|
|
6
|
+
import DxcInset from "../inset/Inset";
|
|
4
7
|
import Title from "../../.storybook/components/Title";
|
|
5
8
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
9
|
|
|
@@ -31,6 +34,50 @@ export const DefaultDialog = () => (
|
|
|
31
34
|
</>
|
|
32
35
|
);
|
|
33
36
|
|
|
37
|
+
export const DialogWithInputs = () => (
|
|
38
|
+
<>
|
|
39
|
+
<ExampleContainer expanded={true}>
|
|
40
|
+
<Title title="Dialog with inputs" theme="light" level={4} />
|
|
41
|
+
<DxcDialog>
|
|
42
|
+
<DxcInset bottom="1rem">
|
|
43
|
+
<DxcFlex gap="2rem" direction="column">
|
|
44
|
+
<DxcFlex gap="1rem" direction="column">
|
|
45
|
+
<DxcTextInput size="fillParent" label="Name"></DxcTextInput>
|
|
46
|
+
<DxcTextInput size="fillParent" label="Surname"></DxcTextInput>
|
|
47
|
+
</DxcFlex>
|
|
48
|
+
<DxcFlex justifyContent="flex-end" gap="1rem">
|
|
49
|
+
<DxcButton label="Save"></DxcButton>
|
|
50
|
+
<DxcButton label="Cancel" mode="secondary"></DxcButton>
|
|
51
|
+
</DxcFlex>
|
|
52
|
+
</DxcFlex>
|
|
53
|
+
</DxcInset>
|
|
54
|
+
</DxcDialog>
|
|
55
|
+
</ExampleContainer>
|
|
56
|
+
</>
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
const RespDialog = () => (
|
|
60
|
+
<>
|
|
61
|
+
<ExampleContainer expanded={true}>
|
|
62
|
+
<Title title="Responsive dialog" theme="light" level={4} />
|
|
63
|
+
<DxcDialog>
|
|
64
|
+
<DxcInset bottom="1rem">
|
|
65
|
+
<DxcFlex gap="2rem" direction="column">
|
|
66
|
+
<DxcFlex gap="1rem" direction="column">
|
|
67
|
+
<DxcTextInput size="fillParent" label="Name"></DxcTextInput>
|
|
68
|
+
<DxcTextInput size="fillParent" label="Surname"></DxcTextInput>
|
|
69
|
+
</DxcFlex>
|
|
70
|
+
<DxcFlex justifyContent="flex-end" gap="1rem">
|
|
71
|
+
<DxcButton label="Save"></DxcButton>
|
|
72
|
+
<DxcButton label="Cancel" mode="secondary"></DxcButton>
|
|
73
|
+
</DxcFlex>
|
|
74
|
+
</DxcFlex>
|
|
75
|
+
</DxcInset>
|
|
76
|
+
</DxcDialog>
|
|
77
|
+
</ExampleContainer>
|
|
78
|
+
</>
|
|
79
|
+
);
|
|
80
|
+
|
|
34
81
|
export const DialogWithoutOverlay = () => (
|
|
35
82
|
<ExampleContainer expanded={true}>
|
|
36
83
|
<Title title="Dialog Without Overlay" theme="light" level={4} />
|
|
@@ -209,4 +256,12 @@ export const DialogWithXxlargePadding = () => (
|
|
|
209
256
|
</p>{" "}
|
|
210
257
|
</DxcDialog>
|
|
211
258
|
</ExampleContainer>
|
|
212
|
-
);
|
|
259
|
+
);
|
|
260
|
+
|
|
261
|
+
export const ResponsiveDialog = RespDialog.bind({});
|
|
262
|
+
ResponsiveDialog.parameters = {
|
|
263
|
+
viewport: {
|
|
264
|
+
defaultViewport: "iphonex",
|
|
265
|
+
},
|
|
266
|
+
chromatic: { viewports: [375] },
|
|
267
|
+
};
|
package/dialog/Dialog.test.js
CHANGED
|
@@ -9,10 +9,13 @@ var _react2 = require("@testing-library/react");
|
|
|
9
9
|
var _Dialog = _interopRequireDefault(require("./Dialog"));
|
|
10
10
|
|
|
11
11
|
describe("Dialog component tests", function () {
|
|
12
|
-
test("Dialog renders with correct text", function () {
|
|
12
|
+
test("Dialog renders with correct text and accesibility attributes", function () {
|
|
13
13
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "dialog-text")),
|
|
14
|
-
getByText = _render.getByText
|
|
14
|
+
getByText = _render.getByText,
|
|
15
|
+
getByRole = _render.getByRole;
|
|
15
16
|
|
|
17
|
+
expect(getByRole("dialog")).toBeTruthy();
|
|
18
|
+
expect(getByRole("dialog").getAttribute("aria-modal")).toBe("true");
|
|
16
19
|
expect(getByText("dialog-text")).toBeTruthy();
|
|
17
20
|
});
|
|
18
21
|
test("Dialog renders without close button", function () {
|
|
@@ -23,18 +26,45 @@ describe("Dialog component tests", function () {
|
|
|
23
26
|
|
|
24
27
|
expect(queryByRole("button")).toBeFalsy();
|
|
25
28
|
});
|
|
29
|
+
test("Dialog renders with aria-modal false when overlay is not used", function () {
|
|
30
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
31
|
+
isCloseVisible: false,
|
|
32
|
+
overlay: false
|
|
33
|
+
}, "dialog-text")),
|
|
34
|
+
getByRole = _render3.getByRole;
|
|
35
|
+
|
|
36
|
+
expect(getByRole("dialog")).toBeTruthy();
|
|
37
|
+
expect(getByRole("dialog").getAttribute("aria-modal")).toBe("false");
|
|
38
|
+
});
|
|
26
39
|
test("Calls correct function onCloseClick", function () {
|
|
27
40
|
var onCloseClick = jest.fn();
|
|
28
41
|
|
|
29
|
-
var
|
|
42
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
30
43
|
onCloseClick: onCloseClick
|
|
31
44
|
}, "dialog-text")),
|
|
32
|
-
getByRole =
|
|
45
|
+
getByRole = _render4.getByRole;
|
|
33
46
|
|
|
34
47
|
var closeButton = getByRole("button");
|
|
35
48
|
|
|
36
49
|
_react2.fireEvent.click(closeButton);
|
|
37
50
|
|
|
51
|
+
expect(onCloseClick).toHaveBeenCalled();
|
|
52
|
+
});
|
|
53
|
+
test("Calls correct function onCloseClick when 'escape' key is pressed", function () {
|
|
54
|
+
var onCloseClick = jest.fn();
|
|
55
|
+
|
|
56
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
57
|
+
onCloseClick: onCloseClick
|
|
58
|
+
}, "dialog-text")),
|
|
59
|
+
getByRole = _render5.getByRole;
|
|
60
|
+
|
|
61
|
+
_react2.fireEvent.keyDown(getByRole("button"), {
|
|
62
|
+
key: "Escape",
|
|
63
|
+
code: "Escape",
|
|
64
|
+
keyCode: 27,
|
|
65
|
+
charCode: 27
|
|
66
|
+
});
|
|
67
|
+
|
|
38
68
|
expect(onCloseClick).toHaveBeenCalled();
|
|
39
69
|
});
|
|
40
70
|
});
|
package/dialog/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
-
declare type Padding = {
|
|
2
|
+
export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
export declare type Padding = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
@@ -26,6 +26,7 @@ declare type Props = {
|
|
|
26
26
|
*/
|
|
27
27
|
onBackgroundClick?: () => void;
|
|
28
28
|
/**
|
|
29
|
+
* @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
|
|
29
30
|
* Size of the padding to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
30
31
|
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
|
|
31
32
|
*/
|
package/dropdown/Dropdown.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import DropdownPropsType from "./types";
|
|
3
|
-
declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden,
|
|
3
|
+
declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, disabled, expandOnHover, onSelectOption, margin, size, tabIndex, }: DropdownPropsType) => JSX.Element;
|
|
4
4
|
export default DxcDropdown;
|