@dxc-technology/halstack-react 0.0.0-e201636 → 0.0.0-e2a3793

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.
Files changed (118) hide show
  1. package/accordion/Accordion.stories.tsx +1 -1
  2. package/accordion/types.d.ts +1 -1
  3. package/accordion-group/AccordionGroup.js +1 -0
  4. package/accordion-group/types.d.ts +1 -1
  5. package/bleed/Bleed.js +1 -34
  6. package/bleed/Bleed.stories.tsx +94 -95
  7. package/bleed/types.d.ts +1 -1
  8. package/bulleted-list/BulletedList.d.ts +7 -0
  9. package/bulleted-list/BulletedList.js +123 -0
  10. package/bulleted-list/BulletedList.stories.tsx +200 -0
  11. package/bulleted-list/types.d.ts +11 -0
  12. package/{list → bulleted-list}/types.js +0 -0
  13. package/button/Button.js +43 -61
  14. package/button/Button.stories.tsx +9 -0
  15. package/button/types.d.ts +7 -7
  16. package/card/Card.js +34 -36
  17. package/chip/types.d.ts +1 -1
  18. package/common/variables.js +48 -14
  19. package/date-input/DateInput.js +3 -3
  20. package/dialog/Dialog.js +52 -28
  21. package/dialog/Dialog.stories.tsx +1 -2
  22. package/dialog/Dialog.test.js +34 -4
  23. package/dialog/types.d.ts +2 -2
  24. package/dropdown/Dropdown.d.ts +1 -1
  25. package/dropdown/Dropdown.js +242 -246
  26. package/dropdown/Dropdown.stories.tsx +126 -63
  27. package/dropdown/Dropdown.test.js +510 -108
  28. package/dropdown/DropdownMenu.d.ts +4 -0
  29. package/dropdown/DropdownMenu.js +80 -0
  30. package/dropdown/DropdownMenuItem.d.ts +4 -0
  31. package/dropdown/DropdownMenuItem.js +92 -0
  32. package/dropdown/types.d.ts +25 -5
  33. package/flex/Flex.d.ts +4 -0
  34. package/flex/Flex.js +57 -0
  35. package/flex/Flex.stories.tsx +103 -0
  36. package/flex/types.d.ts +21 -0
  37. package/{row → flex}/types.js +0 -0
  38. package/footer/Icons.js +1 -1
  39. package/footer/types.d.ts +1 -1
  40. package/header/Header.js +74 -72
  41. package/header/Icons.js +2 -2
  42. package/header/types.d.ts +2 -2
  43. package/inset/Inset.js +1 -34
  44. package/inset/Inset.stories.tsx +36 -36
  45. package/inset/types.d.ts +1 -1
  46. package/layout/ApplicationLayout.d.ts +15 -6
  47. package/layout/ApplicationLayout.js +37 -65
  48. package/layout/ApplicationLayout.stories.tsx +79 -44
  49. package/layout/types.d.ts +17 -27
  50. package/link/Link.js +1 -1
  51. package/link/Link.stories.tsx +13 -6
  52. package/link/types.d.ts +1 -1
  53. package/main.d.ts +5 -8
  54. package/main.js +28 -52
  55. package/package.json +8 -7
  56. package/paginator/Paginator.test.js +42 -0
  57. package/paragraph/Paragraph.d.ts +6 -0
  58. package/paragraph/Paragraph.js +38 -0
  59. package/paragraph/Paragraph.stories.tsx +44 -0
  60. package/progress-bar/ProgressBar.d.ts +2 -2
  61. package/progress-bar/ProgressBar.js +56 -50
  62. package/progress-bar/ProgressBar.stories.jsx +3 -1
  63. package/progress-bar/ProgressBar.test.js +67 -22
  64. package/progress-bar/types.d.ts +3 -4
  65. package/quick-nav/QuickNav.js +21 -15
  66. package/quick-nav/QuickNav.stories.tsx +41 -14
  67. package/radio-group/RadioGroup.js +13 -14
  68. package/resultsetTable/ResultsetTable.test.js +42 -0
  69. package/select/Listbox.d.ts +1 -1
  70. package/select/Listbox.js +54 -7
  71. package/select/Select.js +41 -43
  72. package/select/Select.stories.tsx +131 -98
  73. package/select/Select.test.js +105 -50
  74. package/select/types.d.ts +2 -5
  75. package/sidenav/Sidenav.d.ts +6 -5
  76. package/sidenav/Sidenav.js +176 -55
  77. package/sidenav/Sidenav.stories.tsx +154 -156
  78. package/sidenav/Sidenav.test.js +25 -37
  79. package/sidenav/types.d.ts +50 -27
  80. package/slider/Slider.js +3 -3
  81. package/slider/Slider.test.js +37 -0
  82. package/switch/Switch.d.ts +1 -1
  83. package/switch/Switch.js +110 -54
  84. package/switch/Switch.stories.tsx +8 -30
  85. package/switch/Switch.test.js +122 -8
  86. package/switch/types.d.ts +3 -4
  87. package/tabs/types.d.ts +1 -1
  88. package/tabs-nav/NavTabs.js +5 -5
  89. package/tabs-nav/Tab.js +3 -5
  90. package/tabs-nav/types.d.ts +1 -1
  91. package/tag/types.d.ts +1 -1
  92. package/text-input/TextInput.js +12 -21
  93. package/text-input/TextInput.stories.tsx +1 -2
  94. package/text-input/types.d.ts +1 -1
  95. package/toggle-group/types.d.ts +1 -1
  96. package/typography/Typography.d.ts +4 -0
  97. package/typography/Typography.js +131 -0
  98. package/typography/Typography.stories.tsx +198 -0
  99. package/typography/types.d.ts +18 -0
  100. package/{stack → typography}/types.js +0 -0
  101. package/wizard/Wizard.js +9 -16
  102. package/wizard/Wizard.stories.tsx +20 -1
  103. package/wizard/types.d.ts +5 -4
  104. package/list/List.d.ts +0 -4
  105. package/list/List.js +0 -47
  106. package/list/List.stories.tsx +0 -95
  107. package/list/types.d.ts +0 -7
  108. package/row/Row.d.ts +0 -3
  109. package/row/Row.js +0 -127
  110. package/row/Row.stories.tsx +0 -237
  111. package/row/types.d.ts +0 -28
  112. package/stack/Stack.d.ts +0 -3
  113. package/stack/Stack.js +0 -97
  114. package/stack/Stack.stories.tsx +0 -164
  115. package/stack/types.d.ts +0 -24
  116. package/text/Text.d.ts +0 -7
  117. package/text/Text.js +0 -30
  118. package/text/Text.stories.tsx +0 -19
@@ -267,6 +267,15 @@ var componentTokens = {
267
267
  twoShadowDepthShadowSpread: "0px",
268
268
  twoShadowDepthShadowColor: globalTokens.color_grey_a_300
269
269
  },
270
+ bulletedList: {
271
+ fontColor: globalTokens.hal_black,
272
+ fontColorOnDark: globalTokens.hal_white,
273
+ bulletIconHeight: "1.5rem",
274
+ bulletIconWidth: "1.5rem",
275
+ bulletHeight: "5px",
276
+ bulletWidth: "5px",
277
+ bulletMarginRight: "0.5rem"
278
+ },
270
279
  button: {
271
280
  labelFontLineHeight: globalTokens.type_leading_normal,
272
281
  labelLetterSpacing: globalTokens.type_spacing_wide_01,
@@ -426,7 +435,10 @@ var componentTokens = {
426
435
  boxShadowOffsetY: "1px",
427
436
  boxShadowBlur: "3px",
428
437
  boxShadowColor: "rgba(0, 0, 0, 0.2)",
429
- overlayOpacity: "0.7"
438
+ overlayOpacity: "0.7",
439
+ fontFamily: globalTokens.type_sans,
440
+ fontSize: globalTokens.type_scale_03,
441
+ fontWeight: globalTokens.type_regular
430
442
  },
431
443
  dropdown: {
432
444
  buttonBackgroundColor: globalTokens.hal_white,
@@ -734,6 +746,13 @@ var componentTokens = {
734
746
  activeUnderlineColor: globalTokens.black,
735
747
  focusColor: globalTokens.hal_blue_l_50
736
748
  },
749
+ paragraph: {
750
+ fontColor: globalTokens.hal_black,
751
+ fontColorOnDark: globalTokens.hal_white,
752
+ display: "block",
753
+ fontSize: globalTokens.type_scale_03,
754
+ fontWeight: globalTokens.type_regular
755
+ },
737
756
  paginator: {
738
757
  backgroundColor: globalTokens.darkWhite,
739
758
  fontColor: globalTokens.hal_black,
@@ -910,24 +929,35 @@ var componentTokens = {
910
929
  arrowContainerColor: globalTokens.hal_grey_l_90,
911
930
  arrowColor: globalTokens.hal_black,
912
931
  titleFontFamily: globalTokens.type_sans,
913
- titleFontSize: globalTokens.type_scale_05,
932
+ titleFontSize: globalTokens.type_scale_04,
914
933
  titleFontStyle: globalTokens.type_normal,
915
- titleFontWeight: globalTokens.type_regular,
916
- titleFontColor: globalTokens.hal_black,
934
+ titleFontWeight: globalTokens.type_semibold,
935
+ titleFontColor: globalTokens.color_grey_800,
917
936
  titleFontTextTransform: "none",
918
937
  titleFontLetterSpacing: globalTokens.type_spacing_normal,
919
- subtitleFontFamily: globalTokens.type_sans,
920
- subtitleFontSize: globalTokens.type_scale_03,
921
- subtitleFontStyle: globalTokens.type_normal,
922
- subtitleFontWeight: globalTokens.type_regular,
923
- subtitleFontColor: globalTokens.color_grey_800,
924
- subtitleFontTextTransform: globalTokens.type_uppercase,
925
- subtitleFontLetterSpacing: globalTokens.type_spacing_wide_02,
938
+ groupTitleFontFamily: globalTokens.type_sans,
939
+ groupTitleFontSize: globalTokens.type_scale_02,
940
+ groupTitleFontStyle: globalTokens.type_normal,
941
+ groupTitleFontWeight: globalTokens.type_semibold,
942
+ groupTitleFontColor: globalTokens.black,
943
+ groupTitleHoverBackgroundColor: globalTokens.hal_grey_l_90,
944
+ groupTitleActiveBackgroundColor: globalTokens.hal_grey_l_80,
945
+ groupTitleSelectedFontColor: globalTokens.white,
946
+ groupTitleSelectedBackgroundColor: globalTokens.color_grey_800,
947
+ groupTitleSelectedHoverFontColor: globalTokens.white,
948
+ groupTitleSelectedHoverBackgroundColor: globalTokens.color_grey_600,
949
+ groupTitleFontTextTransform: globalTokens.type_uppercase,
950
+ groupTitleFontLetterSpacing: globalTokens.type_spacing_wide_02,
926
951
  linkFontFamily: globalTokens.type_sans,
927
952
  linkFontSize: globalTokens.type_scale_02,
928
953
  linkFontStyle: globalTokens.type_normal,
929
954
  linkFontWeight: globalTokens.type_regular,
930
955
  linkFontColor: globalTokens.color_grey_800,
956
+ linkHoverBackgroundColor: globalTokens.hal_grey_l_90,
957
+ linkSelectedFontColor: globalTokens.white,
958
+ linkSelectedBackgroundColor: globalTokens.color_grey_800,
959
+ linkSelectedHoverFontColor: globalTokens.white,
960
+ linkSelectedHoverBackgroundColor: globalTokens.color_grey_600,
931
961
  linkFontTextTransform: "none",
932
962
  linkFontLetterSpacing: globalTokens.type_spacing_wide_01,
933
963
  linkTextDecoration: globalTokens.type_no_line,
@@ -1076,10 +1106,10 @@ var componentTokens = {
1076
1106
  thumbFocusColorOnDark: "#1682FF",
1077
1107
  thumbHeight: "24px",
1078
1108
  thumbWidth: "24px",
1079
- thumbShift: "40%",
1109
+ thumbShift: "1.25rem",
1080
1110
  trackHeight: "12px",
1081
- trackWidth: "60px",
1082
- spaceBetweenLabelSwitch: "0px"
1111
+ trackWidth: "36px",
1112
+ spaceBetweenLabelSwitch: "8px"
1083
1113
  },
1084
1114
  tag: {
1085
1115
  fontFamily: globalTokens.type_sans,
@@ -1417,6 +1447,10 @@ var defaultTranslatedComponentLabels = {
1417
1447
  return "\xA9 DXC Technology ".concat(year, ". All rights reserved.");
1418
1448
  }
1419
1449
  },
1450
+ header: {
1451
+ closeIcon: "Close menu",
1452
+ hamburguerTitle: "Menu"
1453
+ },
1420
1454
  numberInput: {
1421
1455
  valueGreaterThanOrEqualToErrorMessage: function valueGreaterThanOrEqualToErrorMessage(value) {
1422
1456
  return "Value must be greater than or equal to ".concat(value, ".");
@@ -93,9 +93,9 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
93
93
  var refDate = ref || (0, _react.useRef)(null);
94
94
 
95
95
  var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
96
- switch (event.keyCode) {
97
- case 27:
98
- // Esc
96
+ switch (event.key) {
97
+ case "Esc":
98
+ case "Escape":
99
99
  event.preventDefault();
100
100
  setIsOpen(false);
101
101
  break;
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 = _interopRequireDefault(require("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
- open: true,
60
- isCloseVisible: isCloseVisible,
61
- onClose: handleOverlayClick,
62
- overlay: overlay,
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
- }, isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
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
- }))), /*#__PURE__*/_react["default"].createElement(Children, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
79
- color: colorsTheme.dialog.backgroundColor
80
- }, children))));
98
+ }))))));
81
99
  };
82
100
 
83
- var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n overflow: unset;\n font-family: ", ";\n\n .MuiBackdrop-root {\n background-color: ", ";\n opacity: ", " !important;\n }\n .MuiDialog-paperWidthSm {\n background-color: ", ";\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\n box-sizing: border-box;\n min-height: ", ";\n box-shadow: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"])), function (props) {
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\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.overlay === true ? props.theme.overlayColor : "transparent";
116
+ return props.theme.fontSize;
87
117
  }, function (props) {
88
- return props.overlay === true && props.theme.overlayOpacity;
118
+ return props.theme.fontWeight;
89
119
  }, function (props) {
90
- return props.theme.backgroundColor;
91
- }, _variables.responsiveSizes.medium, _variables.responsiveSizes.medium, function (props) {
92
- return props.isCloseVisible ? "72px" : "";
120
+ return props.isCloseVisible && "min-height: 72px;";
93
121
  }, function (props) {
94
122
  return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
95
- }, function (props) {
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\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 Children = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
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: relative;\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(_templateObject4 || (_templateObject4 = (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) {
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,5 +1,4 @@
1
1
  import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
3
2
  import DxcDialog from "./Dialog";
4
3
  import Title from "../../.storybook/components/Title";
5
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
@@ -209,4 +208,4 @@ export const DialogWithXxlargePadding = () => (
209
208
  </p>{" "}
210
209
  </DxcDialog>
211
210
  </ExampleContainer>
212
- );
211
+ );
@@ -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 _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
42
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
30
43
  onCloseClick: onCloseClick
31
44
  }, "dialog-text")),
32
- getByRole = _render3.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;
@@ -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, onSelectOption, expandOnHover, margin, size, tabIndex, disabled, }: DropdownPropsType) => JSX.Element;
3
+ declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, disabled, expandOnHover, onSelectOption, margin, size, tabIndex, }: DropdownPropsType) => JSX.Element;
4
4
  export default DxcDropdown;