@dxc-technology/halstack-react 0.0.0-ec7b867 → 0.0.0-ecc45e2

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 (240) hide show
  1. package/HalstackContext.d.ts +12 -0
  2. package/HalstackContext.js +295 -0
  3. package/accordion/Accordion.d.ts +1 -1
  4. package/accordion/Accordion.js +7 -28
  5. package/accordion/Accordion.stories.tsx +12 -12
  6. package/accordion/Accordion.test.js +72 -0
  7. package/accordion/types.d.ts +5 -1
  8. package/accordion-group/AccordionGroup.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.js +14 -15
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +151 -0
  12. package/accordion-group/types.d.ts +5 -1
  13. package/alert/Alert.js +4 -1
  14. package/alert/Alert.test.js +92 -0
  15. package/badge/Badge.d.ts +4 -0
  16. package/badge/Badge.js +5 -3
  17. package/badge/types.d.ts +5 -0
  18. package/{list → badge}/types.js +0 -0
  19. package/bleed/Bleed.js +1 -34
  20. package/bleed/Bleed.stories.tsx +94 -95
  21. package/bleed/types.d.ts +25 -1
  22. package/box/Box.js +22 -32
  23. package/box/Box.test.js +18 -0
  24. package/bulleted-list/BulletedList.d.ts +7 -0
  25. package/bulleted-list/BulletedList.js +123 -0
  26. package/bulleted-list/BulletedList.stories.tsx +200 -0
  27. package/bulleted-list/types.d.ts +11 -0
  28. package/{radio → bulleted-list}/types.js +0 -0
  29. package/button/Button.js +53 -68
  30. package/button/Button.stories.tsx +9 -0
  31. package/button/Button.test.js +35 -0
  32. package/button/types.d.ts +7 -7
  33. package/card/Card.js +24 -27
  34. package/card/Card.test.js +50 -0
  35. package/checkbox/Checkbox.d.ts +1 -1
  36. package/checkbox/Checkbox.js +43 -39
  37. package/checkbox/Checkbox.stories.tsx +124 -128
  38. package/checkbox/Checkbox.test.js +78 -0
  39. package/checkbox/types.d.ts +7 -3
  40. package/chip/Chip.test.js +56 -0
  41. package/chip/types.d.ts +1 -1
  42. package/common/variables.js +229 -336
  43. package/date-input/DateInput.js +56 -42
  44. package/date-input/DateInput.stories.tsx +7 -7
  45. package/date-input/DateInput.test.js +479 -0
  46. package/date-input/types.d.ts +16 -9
  47. package/dialog/Dialog.js +46 -50
  48. package/dialog/Dialog.stories.tsx +1 -2
  49. package/dialog/Dialog.test.js +70 -0
  50. package/dialog/types.d.ts +2 -2
  51. package/dropdown/Dropdown.d.ts +1 -1
  52. package/dropdown/Dropdown.js +242 -250
  53. package/dropdown/Dropdown.stories.tsx +126 -63
  54. package/dropdown/Dropdown.test.js +591 -0
  55. package/dropdown/DropdownMenu.d.ts +4 -0
  56. package/dropdown/DropdownMenu.js +80 -0
  57. package/dropdown/DropdownMenuItem.d.ts +4 -0
  58. package/dropdown/DropdownMenuItem.js +92 -0
  59. package/dropdown/types.d.ts +25 -5
  60. package/file-input/FileInput.js +9 -6
  61. package/file-input/FileInput.test.js +457 -0
  62. package/file-input/FileItem.js +7 -5
  63. package/flex/Flex.d.ts +4 -0
  64. package/flex/Flex.js +57 -0
  65. package/flex/Flex.stories.tsx +103 -0
  66. package/flex/types.d.ts +21 -0
  67. package/{row → flex}/types.js +0 -0
  68. package/footer/Footer.js +15 -88
  69. package/footer/Footer.test.js +109 -0
  70. package/footer/Icons.js +1 -1
  71. package/footer/types.d.ts +1 -1
  72. package/header/Header.js +95 -114
  73. package/header/Header.stories.tsx +46 -36
  74. package/header/Header.test.js +79 -0
  75. package/header/Icons.js +2 -2
  76. package/header/types.d.ts +2 -2
  77. package/heading/Heading.test.js +186 -0
  78. package/inset/Inset.js +1 -34
  79. package/inset/Inset.stories.tsx +36 -36
  80. package/inset/types.d.ts +25 -1
  81. package/layout/ApplicationLayout.d.ts +16 -6
  82. package/layout/ApplicationLayout.js +71 -131
  83. package/layout/ApplicationLayout.stories.tsx +83 -93
  84. package/layout/Icons.d.ts +5 -0
  85. package/layout/Icons.js +13 -2
  86. package/layout/SidenavContext.d.ts +5 -0
  87. package/layout/SidenavContext.js +19 -0
  88. package/layout/types.d.ts +18 -33
  89. package/link/Link.d.ts +3 -2
  90. package/link/Link.js +57 -74
  91. package/link/Link.stories.tsx +95 -53
  92. package/link/Link.test.js +83 -0
  93. package/link/types.d.ts +7 -23
  94. package/main.d.ts +10 -15
  95. package/main.js +48 -82
  96. package/number-input/NumberInput.js +11 -18
  97. package/number-input/NumberInput.stories.tsx +5 -5
  98. package/number-input/NumberInput.test.js +506 -0
  99. package/number-input/types.d.ts +17 -10
  100. package/package.json +12 -10
  101. package/paginator/Paginator.js +17 -38
  102. package/paginator/Paginator.test.js +308 -0
  103. package/paragraph/Paragraph.d.ts +6 -0
  104. package/paragraph/Paragraph.js +38 -0
  105. package/paragraph/Paragraph.stories.tsx +44 -0
  106. package/password-input/PasswordInput.js +7 -4
  107. package/password-input/PasswordInput.test.js +180 -0
  108. package/password-input/types.d.ts +14 -11
  109. package/progress-bar/ProgressBar.d.ts +2 -2
  110. package/progress-bar/ProgressBar.js +57 -51
  111. package/progress-bar/ProgressBar.stories.jsx +13 -11
  112. package/progress-bar/ProgressBar.test.js +110 -0
  113. package/progress-bar/types.d.ts +3 -4
  114. package/quick-nav/QuickNav.d.ts +4 -0
  115. package/quick-nav/QuickNav.js +118 -0
  116. package/quick-nav/QuickNav.stories.tsx +264 -0
  117. package/quick-nav/types.d.ts +21 -0
  118. package/{stack → quick-nav}/types.js +0 -0
  119. package/radio-group/Radio.d.ts +1 -1
  120. package/radio-group/Radio.js +25 -24
  121. package/radio-group/RadioGroup.js +58 -50
  122. package/radio-group/RadioGroup.stories.tsx +60 -39
  123. package/radio-group/RadioGroup.test.js +530 -83
  124. package/radio-group/types.d.ts +80 -2
  125. package/resultsetTable/ResultsetTable.test.js +348 -0
  126. package/select/Icons.d.ts +10 -0
  127. package/select/Icons.js +93 -0
  128. package/select/Listbox.d.ts +4 -0
  129. package/select/Listbox.js +199 -0
  130. package/select/Option.d.ts +4 -0
  131. package/select/Option.js +110 -0
  132. package/select/Select.js +145 -365
  133. package/select/Select.stories.tsx +231 -176
  134. package/select/Select.test.js +2175 -0
  135. package/select/types.d.ts +52 -12
  136. package/sidenav/Sidenav.d.ts +6 -5
  137. package/sidenav/Sidenav.js +184 -52
  138. package/sidenav/Sidenav.stories.tsx +154 -156
  139. package/sidenav/Sidenav.test.js +44 -0
  140. package/sidenav/types.d.ts +50 -27
  141. package/slider/Slider.d.ts +1 -1
  142. package/slider/Slider.js +5 -4
  143. package/slider/Slider.stories.tsx +8 -8
  144. package/slider/Slider.test.js +187 -0
  145. package/slider/types.d.ts +4 -0
  146. package/spinner/Spinner.js +1 -1
  147. package/spinner/Spinner.test.js +64 -0
  148. package/switch/Switch.d.ts +2 -2
  149. package/switch/Switch.js +127 -55
  150. package/switch/Switch.stories.tsx +20 -42
  151. package/switch/Switch.test.js +212 -0
  152. package/switch/types.d.ts +9 -6
  153. package/table/Table.test.js +26 -0
  154. package/tabs/Tabs.d.ts +1 -1
  155. package/tabs/Tabs.js +9 -11
  156. package/tabs/Tabs.stories.tsx +0 -8
  157. package/tabs/Tabs.test.js +140 -0
  158. package/tabs/types.d.ts +5 -1
  159. package/tabs-nav/NavTabs.d.ts +8 -0
  160. package/tabs-nav/NavTabs.js +125 -0
  161. package/tabs-nav/NavTabs.stories.tsx +170 -0
  162. package/tabs-nav/NavTabs.test.js +82 -0
  163. package/tabs-nav/Tab.d.ts +4 -0
  164. package/tabs-nav/Tab.js +130 -0
  165. package/tabs-nav/types.d.ts +53 -0
  166. package/tabs-nav/types.js +5 -0
  167. package/tag/Tag.js +14 -19
  168. package/tag/Tag.stories.tsx +12 -8
  169. package/tag/Tag.test.js +60 -0
  170. package/tag/types.d.ts +1 -1
  171. package/text-input/Suggestion.d.ts +4 -0
  172. package/text-input/Suggestion.js +55 -0
  173. package/text-input/TextInput.js +68 -101
  174. package/text-input/TextInput.stories.tsx +31 -14
  175. package/text-input/TextInput.test.js +1712 -0
  176. package/text-input/types.d.ts +31 -12
  177. package/textarea/Textarea.js +20 -27
  178. package/textarea/Textarea.stories.jsx +33 -12
  179. package/textarea/Textarea.test.js +437 -0
  180. package/textarea/types.d.ts +18 -11
  181. package/toggle-group/ToggleGroup.d.ts +1 -1
  182. package/toggle-group/ToggleGroup.js +5 -4
  183. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  184. package/toggle-group/ToggleGroup.test.js +156 -0
  185. package/toggle-group/types.d.ts +9 -1
  186. package/typography/Typography.d.ts +4 -0
  187. package/typography/Typography.js +131 -0
  188. package/typography/Typography.stories.tsx +198 -0
  189. package/typography/types.d.ts +18 -0
  190. package/typography/types.js +5 -0
  191. package/useTheme.js +2 -2
  192. package/useTranslatedLabels.d.ts +2 -0
  193. package/useTranslatedLabels.js +20 -0
  194. package/wizard/Wizard.d.ts +1 -1
  195. package/wizard/Wizard.js +58 -54
  196. package/wizard/Wizard.stories.tsx +33 -24
  197. package/wizard/Wizard.test.js +141 -0
  198. package/wizard/types.d.ts +10 -5
  199. package/ThemeContext.d.ts +0 -15
  200. package/ThemeContext.js +0 -243
  201. package/V3Select/V3Select.js +0 -455
  202. package/V3Select/index.d.ts +0 -27
  203. package/V3Textarea/V3Textarea.js +0 -260
  204. package/V3Textarea/index.d.ts +0 -27
  205. package/date/Date.js +0 -373
  206. package/date/index.d.ts +0 -27
  207. package/input-text/Icons.js +0 -22
  208. package/input-text/InputText.js +0 -611
  209. package/input-text/index.d.ts +0 -36
  210. package/list/List.d.ts +0 -4
  211. package/list/List.js +0 -47
  212. package/list/List.stories.tsx +0 -95
  213. package/list/types.d.ts +0 -7
  214. package/radio/Radio.d.ts +0 -4
  215. package/radio/Radio.js +0 -174
  216. package/radio/Radio.stories.tsx +0 -192
  217. package/radio/types.d.ts +0 -54
  218. package/row/Row.d.ts +0 -3
  219. package/row/Row.js +0 -127
  220. package/row/Row.stories.tsx +0 -237
  221. package/row/types.d.ts +0 -10
  222. package/stack/Stack.d.ts +0 -3
  223. package/stack/Stack.js +0 -97
  224. package/stack/Stack.stories.tsx +0 -164
  225. package/stack/types.d.ts +0 -9
  226. package/text/Text.d.ts +0 -7
  227. package/text/Text.js +0 -30
  228. package/text/Text.stories.tsx +0 -19
  229. package/upload/Upload.js +0 -201
  230. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  231. package/upload/buttons-upload/Icons.js +0 -40
  232. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  233. package/upload/dragAndDropArea/Icons.js +0 -39
  234. package/upload/file-upload/FileToUpload.js +0 -115
  235. package/upload/file-upload/Icons.js +0 -66
  236. package/upload/files-upload/FilesToUpload.js +0 -109
  237. package/upload/index.d.ts +0 -15
  238. package/upload/transaction/Icons.js +0 -160
  239. package/upload/transaction/Transaction.js +0 -104
  240. package/upload/transactions/Transactions.js +0 -94
package/dialog/Dialog.js CHANGED
@@ -13,21 +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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
16
  var _react = _interopRequireWildcard(require("react"));
19
17
 
20
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
19
 
22
- var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
23
-
24
20
  var _variables = require("../common/variables.js");
25
21
 
26
22
  var _useTheme = _interopRequireDefault(require("../useTheme"));
27
23
 
28
24
  var _BackgroundColorContext = require("../BackgroundColorContext");
29
25
 
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
31
27
 
32
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); }
33
29
 
@@ -45,12 +41,6 @@ var DxcDialog = function DxcDialog(_ref) {
45
41
  padding = _ref$padding === void 0 ? "small" : _ref$padding,
46
42
  _ref$tabIndex = _ref.tabIndex,
47
43
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
48
-
49
- var _useState = (0, _react.useState)(false),
50
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
- isResponsive = _useState2[0],
52
- setIsResponsive = _useState2[1];
53
-
54
44
  var colorsTheme = (0, _useTheme["default"])();
55
45
 
56
46
  var handleClose = function handleClose() {
@@ -61,31 +51,37 @@ var DxcDialog = function DxcDialog(_ref) {
61
51
  onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
62
52
  };
63
53
 
64
- var handleResize = function handleResize(width) {
65
- setIsResponsive(width && width <= _variables.responsiveSizes.tablet);
66
- };
67
-
68
- var handleEventListener = function handleEventListener() {
69
- handleResize(window.innerWidth);
54
+ var handleOnKeyDown = function handleOnKeyDown(event) {
55
+ if (event.key === "Escape") {
56
+ event.preventDefault();
57
+ handleClose();
58
+ }
70
59
  };
71
60
 
72
61
  (0, _react.useEffect)(function () {
73
- window.addEventListener("resize", handleEventListener);
74
- handleResize(window.innerWidth);
62
+ if (isCloseVisible) {
63
+ window.addEventListener("keydown", handleOnKeyDown);
64
+ }
65
+
75
66
  return function () {
76
- window.removeEventListener("resize", handleEventListener);
67
+ window.removeEventListener("keydown", handleOnKeyDown);
77
68
  };
78
- }, []);
69
+ }, [isCloseVisible]);
79
70
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
80
71
  theme: colorsTheme.dialog
81
- }, /*#__PURE__*/_react["default"].createElement(DialogContainer, {
82
- open: true,
83
- isCloseVisible: isCloseVisible,
84
- onClose: handleOverlayClick,
85
- overlay: overlay,
86
- padding: padding,
87
- isResponsive: isResponsive
88
- }, isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
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, {
81
+ padding: padding
82
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
83
+ color: colorsTheme.dialog.backgroundColor
84
+ }, children)), isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
89
85
  onClick: handleClose,
90
86
  tabIndex: tabIndex
91
87
  }, /*#__PURE__*/_react["default"].createElement(CloseIcon, {
@@ -99,28 +95,34 @@ var DxcDialog = function DxcDialog(_ref) {
99
95
  fill: "none"
100
96
  }), /*#__PURE__*/_react["default"].createElement("path", {
101
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"
102
- }))), /*#__PURE__*/_react["default"].createElement(Children, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
103
- color: colorsTheme.dialog.backgroundColor
104
- }, children))));
98
+ }))))));
105
99
  };
106
100
 
107
- 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 max-width: ", ";\n min-width: ", ";\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) {
108
- return props.theme.fontFamily;
109
- }, function (props) {
110
- return props.overlay === true ? props.theme.overlayColor : "transparent";
111
- }, function (props) {
112
- return props.overlay === true && props.theme.overlayOpacity;
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;
113
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) {
114
112
  return props.theme.backgroundColor;
115
113
  }, function (props) {
116
- return props.isResponsive ? "92%" : "80%";
114
+ return props.theme.fontFamily;
117
115
  }, function (props) {
118
- return props.isResponsive ? "92%" : "800px";
116
+ return props.theme.fontSize;
119
117
  }, function (props) {
120
- return props.isCloseVisible ? "72px" : "";
118
+ return props.theme.fontWeight;
121
119
  }, function (props) {
122
- return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
120
+ return props.isCloseVisible && "min-height: 72px;";
123
121
  }, function (props) {
122
+ return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
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) {
124
126
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
125
127
  }, function (props) {
126
128
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
@@ -132,13 +134,7 @@ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_tem
132
134
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
133
135
  });
134
136
 
135
- var Children = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
136
-
137
- 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) {
138
- return props.theme.closeIconTopPosition;
139
- }, function (props) {
140
- return props.theme.closeIconRightPosition;
141
- }, 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) {
142
138
  return props.theme.closeIconColor;
143
139
  }, function (props) {
144
140
  return props.theme.closeIconWidth;
@@ -146,7 +142,7 @@ var CloseIconContainer = _styledComponents["default"].button(_templateObject3 ||
146
142
  return props.theme.closeIconHeight;
147
143
  });
148
144
 
149
- 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) {
150
146
  return props.theme.closeIconBackgroundColor;
151
147
  }, function (props) {
152
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
+ );
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Dialog = _interopRequireDefault(require("./Dialog"));
10
+
11
+ describe("Dialog component tests", function () {
12
+ test("Dialog renders with correct text and accesibility attributes", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "dialog-text")),
14
+ getByText = _render.getByText,
15
+ getByRole = _render.getByRole;
16
+
17
+ expect(getByRole("dialog")).toBeTruthy();
18
+ expect(getByRole("dialog").getAttribute("aria-modal")).toBe("true");
19
+ expect(getByText("dialog-text")).toBeTruthy();
20
+ });
21
+ test("Dialog renders without close button", function () {
22
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
23
+ isCloseVisible: false
24
+ }, "dialog-text")),
25
+ queryByRole = _render2.queryByRole;
26
+
27
+ expect(queryByRole("button")).toBeFalsy();
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
+ });
39
+ test("Calls correct function onCloseClick", function () {
40
+ var onCloseClick = jest.fn();
41
+
42
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
43
+ onCloseClick: onCloseClick
44
+ }, "dialog-text")),
45
+ getByRole = _render4.getByRole;
46
+
47
+ var closeButton = getByRole("button");
48
+
49
+ _react2.fireEvent.click(closeButton);
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
+
68
+ expect(onCloseClick).toHaveBeenCalled();
69
+ });
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;