@dxc-technology/halstack-react 0.0.0-c908d78 → 0.0.0-ca55cbe

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 (337) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +2 -5
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +118 -142
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +9 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +18 -39
  12. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/types.d.ts +15 -8
  15. package/alert/Alert.js +10 -9
  16. package/alert/Alert.stories.tsx +198 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/alert/types.d.ts +1 -1
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -4
  21. package/badge/types.d.ts +5 -0
  22. package/bleed/Bleed.d.ts +3 -0
  23. package/bleed/Bleed.js +51 -0
  24. package/bleed/Bleed.stories.tsx +342 -0
  25. package/bleed/types.d.ts +37 -0
  26. package/bleed/types.js +5 -0
  27. package/box/Box.d.ts +1 -1
  28. package/box/Box.js +29 -44
  29. package/box/Box.stories.tsx +15 -0
  30. package/box/Box.test.js +18 -0
  31. package/box/types.d.ts +1 -4
  32. package/bulleted-list/BulletedList.d.ts +7 -0
  33. package/bulleted-list/BulletedList.js +125 -0
  34. package/bulleted-list/BulletedList.stories.tsx +206 -0
  35. package/bulleted-list/types.d.ts +11 -0
  36. package/bulleted-list/types.js +5 -0
  37. package/button/Button.d.ts +1 -1
  38. package/button/Button.js +61 -85
  39. package/button/Button.stories.tsx +375 -243
  40. package/button/Button.test.js +35 -0
  41. package/button/types.d.ts +8 -12
  42. package/card/Card.js +35 -40
  43. package/card/Card.stories.tsx +200 -0
  44. package/card/Card.test.js +50 -0
  45. package/card/ice-cream.jpg +0 -0
  46. package/card/types.d.ts +5 -6
  47. package/checkbox/Checkbox.d.ts +2 -2
  48. package/checkbox/Checkbox.js +108 -111
  49. package/checkbox/Checkbox.stories.tsx +198 -130
  50. package/checkbox/Checkbox.test.js +155 -0
  51. package/checkbox/types.d.ts +13 -5
  52. package/chip/Chip.d.ts +4 -0
  53. package/chip/Chip.js +24 -92
  54. package/chip/Chip.stories.tsx +206 -0
  55. package/chip/Chip.test.js +54 -0
  56. package/chip/types.d.ts +45 -0
  57. package/chip/types.js +5 -0
  58. package/common/OpenSans.css +68 -80
  59. package/common/coreTokens.d.ts +146 -0
  60. package/common/coreTokens.js +167 -0
  61. package/common/utils.d.ts +1 -0
  62. package/common/utils.js +4 -4
  63. package/common/variables.d.ts +1482 -0
  64. package/common/variables.js +1100 -1308
  65. package/date-input/Calendar.d.ts +4 -0
  66. package/date-input/Calendar.js +258 -0
  67. package/date-input/DateInput.js +174 -266
  68. package/date-input/DateInput.stories.tsx +304 -0
  69. package/date-input/DateInput.test.js +835 -0
  70. package/date-input/DatePicker.d.ts +4 -0
  71. package/date-input/DatePicker.js +146 -0
  72. package/date-input/Icons.d.ts +6 -0
  73. package/date-input/Icons.js +75 -0
  74. package/date-input/YearPicker.d.ts +4 -0
  75. package/date-input/YearPicker.js +126 -0
  76. package/date-input/types.d.ts +67 -9
  77. package/dialog/Dialog.js +79 -95
  78. package/dialog/Dialog.stories.tsx +319 -0
  79. package/dialog/Dialog.test.js +369 -0
  80. package/dialog/types.d.ts +1 -0
  81. package/dropdown/Dropdown.d.ts +1 -1
  82. package/dropdown/Dropdown.js +248 -277
  83. package/dropdown/Dropdown.stories.tsx +438 -0
  84. package/dropdown/Dropdown.test.js +586 -0
  85. package/dropdown/DropdownMenu.d.ts +4 -0
  86. package/dropdown/DropdownMenu.js +74 -0
  87. package/dropdown/DropdownMenuItem.d.ts +4 -0
  88. package/dropdown/DropdownMenuItem.js +79 -0
  89. package/dropdown/types.d.ts +28 -17
  90. package/file-input/FileInput.d.ts +4 -0
  91. package/file-input/FileInput.js +183 -168
  92. package/file-input/FileInput.stories.tsx +618 -0
  93. package/file-input/FileInput.test.js +457 -0
  94. package/file-input/FileItem.d.ts +4 -0
  95. package/file-input/FileItem.js +50 -81
  96. package/file-input/types.d.ts +129 -0
  97. package/file-input/types.js +5 -0
  98. package/flex/Flex.d.ts +4 -0
  99. package/flex/Flex.js +71 -0
  100. package/flex/Flex.stories.tsx +112 -0
  101. package/flex/types.d.ts +97 -0
  102. package/flex/types.js +5 -0
  103. package/footer/Footer.d.ts +1 -1
  104. package/footer/Footer.js +34 -117
  105. package/footer/Footer.stories.tsx +228 -0
  106. package/footer/Footer.test.js +97 -0
  107. package/footer/Icons.d.ts +2 -0
  108. package/footer/Icons.js +4 -4
  109. package/footer/types.d.ts +23 -18
  110. package/grid/Grid.d.ts +7 -0
  111. package/grid/Grid.js +91 -0
  112. package/grid/Grid.stories.tsx +219 -0
  113. package/grid/types.d.ts +115 -0
  114. package/grid/types.js +5 -0
  115. package/header/Header.d.ts +3 -2
  116. package/header/Header.js +110 -131
  117. package/header/Header.stories.tsx +315 -0
  118. package/header/Header.test.js +79 -0
  119. package/header/Icons.d.ts +2 -0
  120. package/header/Icons.js +2 -2
  121. package/header/types.d.ts +5 -2
  122. package/heading/Heading.d.ts +4 -0
  123. package/heading/Heading.js +8 -25
  124. package/heading/Heading.stories.tsx +54 -0
  125. package/heading/Heading.test.js +186 -0
  126. package/heading/types.d.ts +33 -0
  127. package/heading/types.js +5 -0
  128. package/inset/Inset.d.ts +3 -0
  129. package/inset/Inset.js +51 -0
  130. package/inset/Inset.stories.tsx +230 -0
  131. package/inset/types.d.ts +37 -0
  132. package/inset/types.js +5 -0
  133. package/layout/ApplicationLayout.d.ts +20 -0
  134. package/layout/ApplicationLayout.js +72 -136
  135. package/layout/ApplicationLayout.stories.tsx +162 -0
  136. package/layout/Icons.d.ts +5 -0
  137. package/layout/Icons.js +13 -2
  138. package/layout/SidenavContext.d.ts +5 -0
  139. package/layout/SidenavContext.js +19 -0
  140. package/layout/types.d.ts +41 -0
  141. package/layout/types.js +5 -0
  142. package/link/Link.d.ts +3 -2
  143. package/link/Link.js +64 -89
  144. package/link/Link.stories.tsx +253 -0
  145. package/link/Link.test.js +81 -0
  146. package/link/types.d.ts +7 -27
  147. package/main.d.ts +13 -12
  148. package/main.js +68 -54
  149. package/nav-tabs/NavTabs.d.ts +8 -0
  150. package/nav-tabs/NavTabs.js +125 -0
  151. package/nav-tabs/NavTabs.stories.tsx +260 -0
  152. package/nav-tabs/NavTabs.test.js +82 -0
  153. package/nav-tabs/Tab.d.ts +4 -0
  154. package/nav-tabs/Tab.js +150 -0
  155. package/nav-tabs/types.d.ts +53 -0
  156. package/nav-tabs/types.js +5 -0
  157. package/number-input/NumberInput.d.ts +4 -0
  158. package/number-input/NumberInput.js +16 -68
  159. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +5 -5
  160. package/number-input/NumberInput.test.js +542 -0
  161. package/number-input/NumberInputContext.d.ts +4 -0
  162. package/number-input/NumberInputContext.js +5 -2
  163. package/number-input/numberInputContextTypes.d.ts +19 -0
  164. package/number-input/numberInputContextTypes.js +5 -0
  165. package/number-input/types.d.ts +124 -0
  166. package/number-input/types.js +5 -0
  167. package/package.json +22 -23
  168. package/paginator/Icons.d.ts +5 -0
  169. package/paginator/Icons.js +16 -28
  170. package/paginator/Paginator.js +21 -56
  171. package/paginator/Paginator.stories.tsx +24 -0
  172. package/paginator/Paginator.test.js +305 -0
  173. package/paragraph/Paragraph.d.ts +5 -0
  174. package/paragraph/Paragraph.js +38 -0
  175. package/paragraph/Paragraph.stories.tsx +44 -0
  176. package/password-input/PasswordInput.js +23 -19
  177. package/password-input/PasswordInput.stories.tsx +3 -3
  178. package/password-input/PasswordInput.test.js +181 -0
  179. package/password-input/types.d.ts +29 -19
  180. package/progress-bar/ProgressBar.js +63 -57
  181. package/progress-bar/ProgressBar.stories.jsx +47 -12
  182. package/progress-bar/ProgressBar.test.js +110 -0
  183. package/quick-nav/QuickNav.d.ts +4 -0
  184. package/quick-nav/QuickNav.js +117 -0
  185. package/quick-nav/QuickNav.stories.tsx +356 -0
  186. package/quick-nav/types.d.ts +21 -0
  187. package/quick-nav/types.js +5 -0
  188. package/radio-group/Radio.d.ts +4 -0
  189. package/radio-group/Radio.js +156 -0
  190. package/radio-group/RadioGroup.d.ts +4 -0
  191. package/radio-group/RadioGroup.js +283 -0
  192. package/radio-group/RadioGroup.stories.tsx +214 -0
  193. package/radio-group/RadioGroup.test.js +722 -0
  194. package/radio-group/types.d.ts +114 -0
  195. package/radio-group/types.js +5 -0
  196. package/resultsetTable/Icons.d.ts +7 -0
  197. package/resultsetTable/Icons.js +51 -0
  198. package/resultsetTable/ResultsetTable.d.ts +4 -0
  199. package/resultsetTable/ResultsetTable.js +54 -133
  200. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  201. package/resultsetTable/ResultsetTable.test.js +325 -0
  202. package/resultsetTable/types.d.ts +67 -0
  203. package/resultsetTable/types.js +5 -0
  204. package/select/Icons.d.ts +10 -0
  205. package/select/Icons.js +93 -0
  206. package/select/Listbox.d.ts +4 -0
  207. package/select/Listbox.js +169 -0
  208. package/select/Option.d.ts +4 -0
  209. package/select/Option.js +97 -0
  210. package/select/Select.d.ts +4 -0
  211. package/select/Select.js +202 -401
  212. package/select/Select.stories.tsx +971 -0
  213. package/select/Select.test.js +2228 -0
  214. package/select/types.d.ts +210 -0
  215. package/select/types.js +5 -0
  216. package/sidenav/Icons.d.ts +7 -0
  217. package/sidenav/Icons.js +51 -0
  218. package/sidenav/Sidenav.d.ts +10 -0
  219. package/sidenav/Sidenav.js +147 -54
  220. package/sidenav/Sidenav.stories.tsx +282 -0
  221. package/sidenav/Sidenav.test.js +44 -0
  222. package/sidenav/types.d.ts +76 -0
  223. package/sidenav/types.js +5 -0
  224. package/slider/Slider.d.ts +2 -2
  225. package/slider/Slider.js +150 -114
  226. package/slider/Slider.stories.tsx +240 -0
  227. package/slider/Slider.test.js +250 -0
  228. package/slider/types.d.ts +10 -7
  229. package/spinner/Spinner.js +20 -26
  230. package/spinner/Spinner.stories.jsx +53 -26
  231. package/spinner/Spinner.test.js +64 -0
  232. package/switch/Switch.d.ts +2 -2
  233. package/switch/Switch.js +153 -70
  234. package/switch/Switch.stories.tsx +54 -43
  235. package/switch/Switch.test.js +225 -0
  236. package/switch/types.d.ts +10 -2
  237. package/table/Table.js +6 -6
  238. package/table/Table.stories.jsx +81 -1
  239. package/table/Table.test.js +26 -0
  240. package/tabs/Tab.d.ts +4 -0
  241. package/tabs/Tab.js +132 -0
  242. package/tabs/Tabs.d.ts +1 -1
  243. package/tabs/Tabs.js +362 -112
  244. package/tabs/Tabs.stories.tsx +226 -0
  245. package/tabs/Tabs.test.js +350 -0
  246. package/tabs/types.d.ts +39 -18
  247. package/tag/Tag.d.ts +1 -1
  248. package/tag/Tag.js +25 -37
  249. package/tag/Tag.stories.tsx +38 -28
  250. package/tag/Tag.test.js +60 -0
  251. package/tag/types.d.ts +23 -14
  252. package/text-input/Icons.d.ts +8 -0
  253. package/text-input/Icons.js +60 -0
  254. package/text-input/Suggestion.d.ts +4 -0
  255. package/text-input/Suggestion.js +84 -0
  256. package/text-input/Suggestions.d.ts +4 -0
  257. package/text-input/Suggestions.js +134 -0
  258. package/text-input/TextInput.d.ts +4 -0
  259. package/text-input/TextInput.js +235 -387
  260. package/text-input/TextInput.stories.tsx +569 -0
  261. package/text-input/TextInput.test.js +1723 -0
  262. package/text-input/types.d.ts +197 -0
  263. package/text-input/types.js +5 -0
  264. package/textarea/Textarea.d.ts +4 -0
  265. package/textarea/Textarea.js +41 -82
  266. package/textarea/Textarea.stories.jsx +96 -15
  267. package/textarea/Textarea.test.js +435 -0
  268. package/textarea/types.d.ts +137 -0
  269. package/textarea/types.js +5 -0
  270. package/toggle-group/ToggleGroup.d.ts +4 -0
  271. package/toggle-group/ToggleGroup.js +24 -49
  272. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  273. package/toggle-group/ToggleGroup.test.js +156 -0
  274. package/toggle-group/types.d.ts +105 -0
  275. package/toggle-group/types.js +5 -0
  276. package/typography/Typography.d.ts +4 -0
  277. package/typography/Typography.js +32 -0
  278. package/typography/Typography.stories.tsx +198 -0
  279. package/typography/types.d.ts +18 -0
  280. package/typography/types.js +5 -0
  281. package/useTheme.d.ts +1235 -0
  282. package/useTheme.js +3 -3
  283. package/useTranslatedLabels.d.ts +85 -0
  284. package/useTranslatedLabels.js +20 -0
  285. package/utils/BaseTypography.d.ts +21 -0
  286. package/utils/BaseTypography.js +108 -0
  287. package/utils/FocusLock.d.ts +13 -0
  288. package/utils/FocusLock.js +139 -0
  289. package/wizard/Wizard.d.ts +4 -0
  290. package/wizard/Wizard.js +119 -105
  291. package/wizard/Wizard.stories.tsx +253 -0
  292. package/wizard/Wizard.test.js +141 -0
  293. package/wizard/types.d.ts +64 -0
  294. package/wizard/types.js +5 -0
  295. package/ThemeContext.js +0 -246
  296. package/V3Select/V3Select.js +0 -455
  297. package/V3Select/index.d.ts +0 -27
  298. package/V3Textarea/V3Textarea.js +0 -260
  299. package/V3Textarea/index.d.ts +0 -27
  300. package/chip/index.d.ts +0 -22
  301. package/common/RequiredComponent.js +0 -32
  302. package/date/Date.js +0 -373
  303. package/date/index.d.ts +0 -27
  304. package/file-input/index.d.ts +0 -81
  305. package/footer/Footer.stories.jsx +0 -151
  306. package/heading/index.d.ts +0 -17
  307. package/input-text/Icons.js +0 -22
  308. package/input-text/InputText.js +0 -611
  309. package/input-text/index.d.ts +0 -36
  310. package/number-input/index.d.ts +0 -113
  311. package/radio/Radio.d.ts +0 -4
  312. package/radio/Radio.js +0 -174
  313. package/radio/Radio.stories.tsx +0 -192
  314. package/radio/types.d.ts +0 -54
  315. package/resultsetTable/index.d.ts +0 -19
  316. package/select/index.d.ts +0 -131
  317. package/sidenav/index.d.ts +0 -13
  318. package/text-input/index.d.ts +0 -135
  319. package/textarea/index.d.ts +0 -117
  320. package/toggle/Toggle.js +0 -186
  321. package/toggle/index.d.ts +0 -21
  322. package/toggle-group/index.d.ts +0 -21
  323. package/upload/Upload.js +0 -201
  324. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  325. package/upload/buttons-upload/Icons.js +0 -40
  326. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  327. package/upload/dragAndDropArea/Icons.js +0 -39
  328. package/upload/file-upload/FileToUpload.js +0 -115
  329. package/upload/file-upload/Icons.js +0 -66
  330. package/upload/files-upload/FilesToUpload.js +0 -109
  331. package/upload/index.d.ts +0 -15
  332. package/upload/transaction/Icons.js +0 -160
  333. package/upload/transaction/Transaction.js +0 -104
  334. package/upload/transactions/Transactions.js +0 -94
  335. package/wizard/Icons.js +0 -65
  336. package/wizard/index.d.ts +0 -18
  337. /package/{radio → badge}/types.js +0 -0
package/dialog/Dialog.js CHANGED
@@ -13,26 +13,42 @@ 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"));
20
+ var _variables = require("../common/variables");
21
+
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
23
23
 
24
- var _variables = require("../common/variables.js");
24
+ var _BackgroundColorContext = require("../BackgroundColorContext");
25
25
 
26
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
26
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
27
 
28
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
28
+ var _reactDom = require("react-dom");
29
29
 
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
30
+ var _FocusLock = _interopRequireDefault(require("../utils/FocusLock"));
31
+
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
31
33
 
32
34
  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
35
 
34
36
  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; }
35
37
 
38
+ var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
39
+ role: "img",
40
+ xmlns: "http://www.w3.org/2000/svg",
41
+ width: "24",
42
+ height: "24",
43
+ viewBox: "0 0 24 24",
44
+ fill: "currentColor"
45
+ }, /*#__PURE__*/_react["default"].createElement("path", {
46
+ d: "M0 0h24v24H0V0z",
47
+ fill: "none"
48
+ }), /*#__PURE__*/_react["default"].createElement("path", {
49
+ 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"
50
+ }));
51
+
36
52
  var DxcDialog = function DxcDialog(_ref) {
37
53
  var _ref$isCloseVisible = _ref.isCloseVisible,
38
54
  isCloseVisible = _ref$isCloseVisible === void 0 ? true : _ref$isCloseVisible,
@@ -41,124 +57,92 @@ var DxcDialog = function DxcDialog(_ref) {
41
57
  _ref$overlay = _ref.overlay,
42
58
  overlay = _ref$overlay === void 0 ? true : _ref$overlay,
43
59
  onBackgroundClick = _ref.onBackgroundClick,
44
- padding = _ref.padding,
60
+ _ref$padding = _ref.padding,
61
+ padding = _ref$padding === void 0 ? "small" : _ref$padding,
45
62
  _ref$tabIndex = _ref.tabIndex,
46
63
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
47
-
48
- var _useState = (0, _react.useState)(false),
49
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
- isResponsive = _useState2[0],
51
- setIsResponsive = _useState2[1];
52
-
53
64
  var colorsTheme = (0, _useTheme["default"])();
54
-
55
- var handleClose = function handleClose() {
56
- onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
57
- };
58
-
59
- var handleOverlayClick = function handleOverlayClick() {
60
- onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
61
- };
62
-
63
- var handleResize = function handleResize(width) {
64
- setIsResponsive(width && width <= _variables.responsiveSizes.tablet);
65
- };
66
-
67
- var handleEventListener = function handleEventListener() {
68
- handleResize(window.innerWidth);
69
- };
70
-
65
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
71
66
  (0, _react.useEffect)(function () {
72
- window.addEventListener("resize", handleEventListener);
73
- handleResize(window.innerWidth);
67
+ var handleKeyDown = function handleKeyDown(event) {
68
+ if (event.key === "Escape") {
69
+ event.preventDefault();
70
+ onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
71
+ }
72
+ };
73
+
74
+ document.addEventListener("keydown", handleKeyDown);
74
75
  return function () {
75
- window.removeEventListener("resize", handleEventListener);
76
+ document.removeEventListener("keydown", handleKeyDown);
76
77
  };
77
- }, []);
78
+ }, [onCloseClick]);
78
79
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
79
80
  theme: colorsTheme.dialog
80
- }, /*#__PURE__*/_react["default"].createElement(DialogContainer, {
81
- open: true,
82
- isCloseVisible: isCloseVisible,
83
- onClose: handleOverlayClick,
84
- overlay: overlay,
85
- padding: padding,
86
- isResponsive: isResponsive
87
- }, isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
88
- onClick: handleClose,
89
- tabIndex: tabIndex
90
- }, /*#__PURE__*/_react["default"].createElement(CloseIcon, {
91
- xmlns: "http://www.w3.org/2000/svg",
92
- width: "24",
93
- height: "24",
94
- viewBox: "0 0 24 24",
95
- fill: "currentColor"
96
- }, /*#__PURE__*/_react["default"].createElement("path", {
97
- d: "M0 0h24v24H0V0z",
98
- fill: "none"
99
- }), /*#__PURE__*/_react["default"].createElement("path", {
100
- 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"
101
- }))), /*#__PURE__*/_react["default"].createElement(Children, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
81
+ }, /*#__PURE__*/_react["default"].createElement(BodyStyle, null), /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react["default"].createElement(_FocusLock["default"], null, /*#__PURE__*/_react["default"].createElement(DialogContainer, null, overlay && /*#__PURE__*/_react["default"].createElement(Overlay, {
82
+ onClick: function onClick() {
83
+ onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
84
+ }
85
+ }), /*#__PURE__*/_react["default"].createElement(Dialog, {
86
+ role: "dialog",
87
+ "aria-modal": overlay,
88
+ isCloseVisible: isCloseVisible
89
+ }, /*#__PURE__*/_react["default"].createElement(Children, {
90
+ padding: padding
91
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
102
92
  color: colorsTheme.dialog.backgroundColor
103
- }, children))));
93
+ }, children)), isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconAction, {
94
+ onClick: function onClick() {
95
+ onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
96
+ },
97
+ "aria-label": translatedLabels.dialog.closeIconAriaLabel,
98
+ tabIndex: tabIndex
99
+ }, closeIcon)))), document.body));
104
100
  };
105
101
 
106
- 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) {
107
- return props.theme.fontFamily;
108
- }, function (props) {
109
- return props.overlay === true ? props.theme.overlayColor : "transparent";
110
- }, function (props) {
111
- return props.overlay === true && props.theme.overlayOpacity;
112
- }, function (props) {
102
+ var BodyStyle = (0, _styledComponents.createGlobalStyle)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n body {\n overflow: hidden;\n }\n"])));
103
+
104
+ var DialogContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n z-index: 2147483647;\n"])));
105
+
106
+ var Overlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n inset: 0;\n height: 100%;\n background-color: ", ";\n"])), function (props) {
107
+ return props.theme.overlayColor;
108
+ });
109
+
110
+ var Dialog = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n box-sizing: border-box;\n max-width: 80%;\n min-width: 696px;\n border-radius: 4px;\n background-color: ", ";\n ", "\n box-shadow: ", ";\n z-index: 2147483647;\n\n @media (max-width: ", "rem) {\n max-width: 92%;\n min-width: 92%;\n }\n"])), function (props) {
113
111
  return props.theme.backgroundColor;
114
112
  }, function (props) {
115
- return props.isResponsive ? "92%" : "80%";
116
- }, function (props) {
117
- return props.isResponsive ? "92%" : "800px";
118
- }, function (props) {
119
- return props.isCloseVisible ? "72px" : "";
113
+ return props.isCloseVisible && "min-height: 72px;";
120
114
  }, function (props) {
121
115
  return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
116
+ }, _variables.responsiveSizes.medium);
117
+
118
+ var CloseIconAction = _styledComponents["default"].button(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n position: absolute;\n top: 24px;\n right: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n box-shadow: 0 0 0 2px transparent;\n color: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n cursor: pointer;\n z-index: 1;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n &:hover {\n background-color: #f2f2f2;\n }\n &:active {\n background-color: #cccccc;\n }\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
119
+ return props.theme.closeIconBackgroundColor;
122
120
  }, function (props) {
123
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
124
- }, function (props) {
125
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
126
- }, function (props) {
127
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
121
+ return props.theme.closeIconColor;
128
122
  }, function (props) {
129
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
123
+ return props.theme.closeIconBorderRadius;
130
124
  }, function (props) {
131
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
132
- });
133
-
134
- var Children = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
135
-
136
- 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) {
137
- return props.theme.closeIconTopPosition;
125
+ return props.theme.closeIconBorderThickness;
138
126
  }, function (props) {
139
- return props.theme.closeIconRightPosition;
127
+ return props.theme.closeIconBorderStyle;
140
128
  }, function (props) {
141
- return props.theme.closeIconColor;
129
+ return props.theme.closeIconBorderColor;
142
130
  }, function (props) {
143
131
  return props.theme.closeIconWidth;
144
132
  }, function (props) {
145
133
  return props.theme.closeIconHeight;
146
134
  });
147
135
 
148
- 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) {
149
- return props.theme.closeIconBackgroundColor;
150
- }, function (props) {
151
- return props.theme.closeIconWidth;
152
- }, function (props) {
153
- return props.theme.closeIconHeight;
136
+ var Children = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
137
+ return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
154
138
  }, function (props) {
155
- return props.theme.closeIconBorderRadius;
139
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
156
140
  }, function (props) {
157
- return props.theme.closeIconBorderThickness;
141
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
158
142
  }, function (props) {
159
- return props.theme.closeIconBorderStyle;
143
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
160
144
  }, function (props) {
161
- return props.theme.closeIconBorderColor;
145
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
162
146
  });
163
147
 
164
148
  var _default = DxcDialog;
@@ -0,0 +1,319 @@
1
+ import React from "react";
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";
7
+ import Title from "../../.storybook/components/Title";
8
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
9
+ import { HalstackProvider } from "../HalstackContext";
10
+ import DxcHeading from "../heading/Heading";
11
+ import DxcParagraph from "../paragraph/Paragraph";
12
+ import DxcAlert from "../alert/Alert";
13
+
14
+ export default {
15
+ title: "Dialog ",
16
+ component: DxcDialog,
17
+ };
18
+
19
+ const opinionatedTheme = {
20
+ dialog: {
21
+ baseColor: "#ffffff",
22
+ closeIconColor: "#000000",
23
+ overlayColor: "#000000b3",
24
+ },
25
+ };
26
+
27
+ export const DefaultDialog = () => (
28
+ <ExampleContainer expanded={true}>
29
+ <Title title="Default dialog" theme="light" level={4} />
30
+ <DxcDialog>
31
+ <DxcFlex direction="column" gap="1rem">
32
+ <DxcHeading level={4} text="Example title" />
33
+ <DxcParagraph>
34
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
35
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
36
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
37
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
38
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
39
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
40
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
41
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
42
+ dignissim, pharetra neque molestie, molestie lectus.
43
+ </DxcParagraph>
44
+ </DxcFlex>
45
+ </DxcDialog>
46
+ </ExampleContainer>
47
+ );
48
+
49
+ export const DefaultDialogOpinionated = () => (
50
+ <ExampleContainer expanded={true}>
51
+ <Title title="Default dialog" theme="light" level={4} />
52
+ <HalstackProvider theme={opinionatedTheme}>
53
+ <DxcDialog>
54
+ <DxcFlex direction="column" gap="1rem">
55
+ <DxcHeading level={4} text="Example title" />
56
+ <DxcParagraph>
57
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
58
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
59
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
60
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
61
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue
62
+ gravida enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare,
63
+ malesuada urna eu, fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam
64
+ sit amet maximus augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo.
65
+ Praesent quis nunc dignissim, pharetra neque molestie, molestie lectus.
66
+ </DxcParagraph>
67
+ </DxcFlex>
68
+ </DxcDialog>
69
+ </HalstackProvider>
70
+ </ExampleContainer>
71
+ );
72
+
73
+ export const DialogWithInputs = () => (
74
+ <ExampleContainer expanded={true}>
75
+ <Title title="Dialog with inputs" theme="light" level={4} />
76
+ <DxcDialog>
77
+ <DxcInset bottom="1rem">
78
+ <DxcFlex gap="2rem" direction="column">
79
+ <DxcHeading level={4} text="Example form" />
80
+ <DxcFlex gap="1rem" direction="column">
81
+ <DxcTextInput size="fillParent" label="Name" />
82
+ <DxcTextInput size="fillParent" label="Surname" />
83
+ </DxcFlex>
84
+ <DxcAlert
85
+ type="error"
86
+ inlineText="User: arn:aws:xxx::xxxxxxxxxxxx:assumed-role/assure-sandbox-xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxx/sandbox-xxxx-xxxxxxxxxxxxxxxxxx is not authorized to perform: lambda:xxxxxxxxxxxxxx on resource: arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:sandbox-xxxx-xx-xxxxxxx-xxxxxxx-lambda because no identity-based policy allows the lambda:xxxxxxxxxxxxxx action"
87
+ size="fillParent"
88
+ margin={{ bottom: "xsmall" }}
89
+ />
90
+ <DxcFlex justifyContent="flex-end" gap="0.5rem">
91
+ <DxcButton label="Cancel" mode="text" />
92
+ <DxcButton label="Save" />
93
+ </DxcFlex>
94
+ </DxcFlex>
95
+ </DxcInset>
96
+ </DxcDialog>
97
+ </ExampleContainer>
98
+ );
99
+
100
+ const RespDialog = () => (
101
+ <ExampleContainer expanded={true}>
102
+ <Title title="Responsive dialog" theme="light" level={4} />
103
+ <DxcDialog>
104
+ <DxcInset bottom="1rem">
105
+ <DxcFlex gap="2rem" direction="column">
106
+ <DxcHeading level={4} text="Example form" />
107
+ <DxcFlex gap="1rem" direction="column">
108
+ <DxcTextInput size="fillParent" label="Name" />
109
+ <DxcTextInput size="fillParent" label="Surname" />
110
+ </DxcFlex>
111
+ <DxcFlex justifyContent="flex-end" gap="0.5rem">
112
+ <DxcButton label="Cancel" mode="text" />
113
+ <DxcButton label="Save" />
114
+ </DxcFlex>
115
+ </DxcFlex>
116
+ </DxcInset>
117
+ </DxcDialog>
118
+ </ExampleContainer>
119
+ );
120
+
121
+ export const DialogWithoutOverlay = () => (
122
+ <ExampleContainer expanded={true}>
123
+ <Title title="Dialog Without Overlay" theme="light" level={4} />
124
+ <DxcDialog overlay={false}>
125
+ <DxcFlex direction="column" gap="1rem">
126
+ <DxcHeading level={4} text="Example title" />
127
+ <DxcParagraph>
128
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
129
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
130
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
131
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
132
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
133
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
134
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
135
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
136
+ dignissim, pharetra neque molestie, molestie lectus.
137
+ </DxcParagraph>
138
+ </DxcFlex>
139
+ </DxcDialog>
140
+ </ExampleContainer>
141
+ );
142
+
143
+ export const DialogCloseVisibleFalse = () => (
144
+ <ExampleContainer expanded={true}>
145
+ <Title title="Dialog Close Visible" theme="dark" level={4} />
146
+ <DxcDialog isCloseVisible={false}>
147
+ <DxcParagraph>
148
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
149
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
150
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
151
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
152
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
153
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
154
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
155
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
156
+ dignissim, pharetra neque molestie, molestie lectus.
157
+ </DxcParagraph>
158
+ </DxcDialog>
159
+ </ExampleContainer>
160
+ );
161
+
162
+ export const DialogWithXxsmallPadding = () => (
163
+ <ExampleContainer expanded={true}>
164
+ <Title title="Dialog With Xxsmall Padding" theme="light" level={4} />
165
+ <DxcDialog padding="xxsmall">
166
+ <DxcFlex direction="column" gap="0.25rem">
167
+ <DxcHeading level={4} text="Example title" />
168
+ <DxcParagraph>
169
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
170
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
171
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
172
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
173
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
174
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
175
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
176
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
177
+ dignissim, pharetra neque molestie, molestie lectus.
178
+ </DxcParagraph>
179
+ </DxcFlex>
180
+ </DxcDialog>
181
+ </ExampleContainer>
182
+ );
183
+
184
+ export const DialogWithXsmallPadding = () => (
185
+ <ExampleContainer expanded={true}>
186
+ <Title title="Dialog With Xsmall Padding" theme="light" level={4} />
187
+ <DxcDialog padding={"xsmall"}>
188
+ <DxcFlex direction="column" gap="1rem">
189
+ <DxcHeading level={4} text="Example title" />
190
+ <DxcParagraph>
191
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
192
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
193
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
194
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
195
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
196
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
197
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
198
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
199
+ dignissim, pharetra neque molestie, molestie lectus.
200
+ </DxcParagraph>
201
+ </DxcFlex>
202
+ </DxcDialog>
203
+ </ExampleContainer>
204
+ );
205
+
206
+ export const DialogWithMediumPadding = () => (
207
+ <ExampleContainer expanded={true}>
208
+ <Title title="Dialog With Medium Padding" theme="light" level={4} />
209
+ <DxcDialog padding="medium">
210
+ <DxcFlex direction="column" gap="1rem">
211
+ <DxcHeading level={4} text="Example title" />
212
+ <DxcParagraph>
213
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
214
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
215
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
216
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
217
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
218
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
219
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
220
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
221
+ dignissim, pharetra neque molestie, molestie lectus.
222
+ </DxcParagraph>
223
+ </DxcFlex>
224
+ </DxcDialog>
225
+ </ExampleContainer>
226
+ );
227
+
228
+ export const DialogWithLargePadding = () => (
229
+ <ExampleContainer expanded={true}>
230
+ <Title title="Dialog With Large Padding" theme="light" level={4} />
231
+ <DxcDialog padding="large">
232
+ <DxcFlex direction="column" gap="1rem">
233
+ <DxcHeading level={4} text="Example title" />
234
+ <DxcParagraph>
235
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
236
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
237
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
238
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
239
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
240
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
241
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
242
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
243
+ dignissim, pharetra neque molestie, molestie lectus.
244
+ </DxcParagraph>
245
+ </DxcFlex>
246
+ </DxcDialog>
247
+ </ExampleContainer>
248
+ );
249
+
250
+ export const DialogWithXlargePadding = () => (
251
+ <ExampleContainer expanded={true}>
252
+ <Title title="Dialog With Xlarge Padding" theme="light" level={4} />
253
+ <DxcDialog padding="xlarge">
254
+ <DxcFlex direction="column" gap="1rem">
255
+ <DxcHeading level={4} text="Example title" />
256
+ <DxcParagraph>
257
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
258
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
259
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
260
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
261
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
262
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
263
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
264
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
265
+ dignissim, pharetra neque molestie, molestie lectus.
266
+ </DxcParagraph>
267
+ </DxcFlex>
268
+ </DxcDialog>
269
+ </ExampleContainer>
270
+ );
271
+
272
+ export const DialogWithXxlargePadding = () => (
273
+ <ExampleContainer expanded={true}>
274
+ <Title title="Dialog With Xxlarge Padding" theme="light" level={4} />
275
+ <DxcDialog padding="xxlarge">
276
+ <DxcFlex direction="column" gap="1rem">
277
+ <DxcHeading level={4} text="Example title" />
278
+ <DxcParagraph>
279
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
280
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
281
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
282
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
283
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
284
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
285
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
286
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
287
+ dignissim, pharetra neque molestie, molestie lectus.
288
+ </DxcParagraph>
289
+ </DxcFlex>
290
+ </DxcDialog>
291
+ </ExampleContainer>
292
+ );
293
+
294
+ const customViewports = {
295
+ resizedScreen: {
296
+ name: 'Custom viewport',
297
+ styles: {
298
+ width: '720px',
299
+ height: '900px',
300
+ },
301
+ },
302
+ };
303
+
304
+ export const ResponsiveDialog = DefaultDialog.bind({});
305
+ ResponsiveDialog.parameters = {
306
+ viewport: {
307
+ viewports: customViewports,
308
+ defaultViewport: "resizedScreen",
309
+ },
310
+ chromatic: { viewports: [720] },
311
+ };
312
+
313
+ export const MobileResponsiveDialog = RespDialog.bind({});
314
+ MobileResponsiveDialog.parameters = {
315
+ viewport: {
316
+ defaultViewport: "iphonex",
317
+ },
318
+ chromatic: { viewports: [375] },
319
+ };