@dxc-technology/halstack-react 0.0.0-28a98e5 → 0.0.0-293a019

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 (389) 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 +4 -0
  6. package/accordion/Accordion.js +120 -175
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +63 -98
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +10 -30
  19. package/alert/Alert.stories.tsx +198 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +6 -4
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +342 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +31 -69
  34. package/box/Box.stories.tsx +147 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +125 -0
  40. package/bulleted-list/BulletedList.stories.tsx +206 -0
  41. package/bulleted-list/types.d.ts +38 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +59 -88
  45. package/button/Button.stories.tsx +403 -284
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +12 -16
  48. package/card/Card.d.ts +4 -0
  49. package/card/Card.js +47 -87
  50. package/card/Card.stories.tsx +200 -0
  51. package/card/Card.test.js +50 -0
  52. package/card/ice-cream.jpg +0 -0
  53. package/card/types.d.ts +68 -0
  54. package/card/types.js +5 -0
  55. package/checkbox/Checkbox.d.ts +4 -0
  56. package/checkbox/Checkbox.js +108 -133
  57. package/checkbox/Checkbox.stories.tsx +260 -0
  58. package/checkbox/Checkbox.test.js +155 -0
  59. package/checkbox/types.d.ts +68 -0
  60. package/checkbox/types.js +5 -0
  61. package/chip/Chip.d.ts +4 -0
  62. package/chip/Chip.js +37 -118
  63. package/chip/Chip.stories.tsx +214 -0
  64. package/chip/Chip.test.js +54 -0
  65. package/chip/types.d.ts +45 -0
  66. package/chip/types.js +5 -0
  67. package/common/OpenSans.css +68 -80
  68. package/common/coreTokens.d.ts +146 -0
  69. package/common/coreTokens.js +167 -0
  70. package/common/utils.d.ts +1 -0
  71. package/common/utils.js +4 -4
  72. package/common/variables.d.ts +1482 -0
  73. package/common/variables.js +1100 -1306
  74. package/date-input/Calendar.d.ts +4 -0
  75. package/date-input/Calendar.js +258 -0
  76. package/date-input/DateInput.d.ts +4 -0
  77. package/date-input/DateInput.js +173 -300
  78. package/date-input/DateInput.stories.tsx +304 -0
  79. package/date-input/DateInput.test.js +835 -0
  80. package/date-input/DatePicker.d.ts +4 -0
  81. package/date-input/DatePicker.js +146 -0
  82. package/date-input/Icons.d.ts +6 -0
  83. package/date-input/Icons.js +75 -0
  84. package/date-input/YearPicker.d.ts +4 -0
  85. package/date-input/YearPicker.js +126 -0
  86. package/date-input/types.d.ts +158 -0
  87. package/date-input/types.js +5 -0
  88. package/dialog/Dialog.d.ts +4 -0
  89. package/dialog/Dialog.js +78 -113
  90. package/dialog/Dialog.stories.tsx +319 -0
  91. package/dialog/Dialog.test.js +369 -0
  92. package/dialog/types.d.ts +44 -0
  93. package/dialog/types.js +5 -0
  94. package/dropdown/Dropdown.d.ts +4 -0
  95. package/dropdown/Dropdown.js +244 -306
  96. package/dropdown/Dropdown.stories.tsx +438 -0
  97. package/dropdown/Dropdown.test.js +586 -0
  98. package/dropdown/DropdownMenu.d.ts +4 -0
  99. package/dropdown/DropdownMenu.js +74 -0
  100. package/dropdown/DropdownMenuItem.d.ts +4 -0
  101. package/dropdown/DropdownMenuItem.js +79 -0
  102. package/dropdown/types.d.ts +100 -0
  103. package/dropdown/types.js +5 -0
  104. package/file-input/FileInput.d.ts +4 -0
  105. package/file-input/FileInput.js +183 -168
  106. package/file-input/FileInput.stories.tsx +618 -0
  107. package/file-input/FileInput.test.js +457 -0
  108. package/file-input/FileItem.d.ts +4 -0
  109. package/file-input/FileItem.js +50 -81
  110. package/file-input/types.d.ts +129 -0
  111. package/file-input/types.js +5 -0
  112. package/flex/Flex.d.ts +4 -0
  113. package/flex/Flex.js +71 -0
  114. package/flex/Flex.stories.tsx +112 -0
  115. package/flex/types.d.ts +97 -0
  116. package/flex/types.js +5 -0
  117. package/footer/Footer.d.ts +4 -0
  118. package/footer/Footer.js +37 -151
  119. package/footer/Footer.stories.tsx +228 -0
  120. package/footer/Footer.test.js +97 -0
  121. package/footer/Icons.d.ts +2 -0
  122. package/footer/Icons.js +4 -4
  123. package/footer/types.d.ts +66 -0
  124. package/footer/types.js +5 -0
  125. package/grid/Grid.d.ts +7 -0
  126. package/grid/Grid.js +91 -0
  127. package/grid/Grid.stories.tsx +219 -0
  128. package/grid/types.d.ts +115 -0
  129. package/grid/types.js +5 -0
  130. package/header/Header.d.ts +8 -0
  131. package/header/Header.js +127 -150
  132. package/header/Header.stories.tsx +315 -0
  133. package/header/Header.test.js +79 -0
  134. package/header/Icons.d.ts +2 -0
  135. package/header/Icons.js +4 -29
  136. package/header/types.d.ts +48 -0
  137. package/header/types.js +5 -0
  138. package/heading/Heading.d.ts +4 -0
  139. package/heading/Heading.js +8 -25
  140. package/heading/Heading.stories.tsx +54 -0
  141. package/heading/Heading.test.js +186 -0
  142. package/heading/types.d.ts +33 -0
  143. package/heading/types.js +5 -0
  144. package/inset/Inset.d.ts +3 -0
  145. package/inset/Inset.js +51 -0
  146. package/inset/Inset.stories.tsx +230 -0
  147. package/inset/types.d.ts +37 -0
  148. package/inset/types.js +5 -0
  149. package/layout/ApplicationLayout.d.ts +20 -0
  150. package/layout/ApplicationLayout.js +72 -136
  151. package/layout/ApplicationLayout.stories.tsx +162 -0
  152. package/layout/Icons.d.ts +5 -0
  153. package/layout/Icons.js +13 -2
  154. package/layout/SidenavContext.d.ts +5 -0
  155. package/layout/SidenavContext.js +19 -0
  156. package/layout/types.d.ts +41 -0
  157. package/layout/types.js +5 -0
  158. package/link/Link.d.ts +4 -0
  159. package/link/Link.js +62 -109
  160. package/link/Link.stories.tsx +253 -0
  161. package/link/Link.test.js +81 -0
  162. package/link/types.d.ts +54 -0
  163. package/link/types.js +5 -0
  164. package/main.d.ts +13 -12
  165. package/main.js +68 -54
  166. package/nav-tabs/NavTabs.d.ts +8 -0
  167. package/nav-tabs/NavTabs.js +125 -0
  168. package/nav-tabs/NavTabs.stories.tsx +260 -0
  169. package/nav-tabs/NavTabs.test.js +82 -0
  170. package/nav-tabs/Tab.d.ts +4 -0
  171. package/nav-tabs/Tab.js +150 -0
  172. package/nav-tabs/types.d.ts +53 -0
  173. package/nav-tabs/types.js +5 -0
  174. package/number-input/NumberInput.d.ts +4 -0
  175. package/number-input/NumberInput.js +16 -68
  176. package/number-input/NumberInput.stories.tsx +115 -0
  177. package/number-input/NumberInput.test.js +542 -0
  178. package/number-input/NumberInputContext.d.ts +4 -0
  179. package/number-input/NumberInputContext.js +5 -2
  180. package/number-input/numberInputContextTypes.d.ts +19 -0
  181. package/number-input/numberInputContextTypes.js +5 -0
  182. package/number-input/types.d.ts +124 -0
  183. package/number-input/types.js +5 -0
  184. package/package.json +23 -24
  185. package/paginator/Icons.d.ts +5 -0
  186. package/paginator/Icons.js +16 -28
  187. package/paginator/Paginator.d.ts +4 -0
  188. package/paginator/Paginator.js +21 -79
  189. package/paginator/Paginator.stories.tsx +87 -0
  190. package/paginator/Paginator.test.js +305 -0
  191. package/paginator/types.d.ts +38 -0
  192. package/paginator/types.js +5 -0
  193. package/paragraph/Paragraph.d.ts +5 -0
  194. package/paragraph/Paragraph.js +38 -0
  195. package/paragraph/Paragraph.stories.tsx +44 -0
  196. package/password-input/PasswordInput.d.ts +4 -0
  197. package/password-input/PasswordInput.js +24 -57
  198. package/password-input/PasswordInput.stories.tsx +131 -0
  199. package/password-input/PasswordInput.test.js +181 -0
  200. package/password-input/types.d.ts +110 -0
  201. package/password-input/types.js +5 -0
  202. package/progress-bar/ProgressBar.d.ts +4 -0
  203. package/progress-bar/ProgressBar.js +64 -76
  204. package/progress-bar/ProgressBar.stories.jsx +93 -0
  205. package/progress-bar/ProgressBar.test.js +110 -0
  206. package/progress-bar/types.d.ts +37 -0
  207. package/progress-bar/types.js +5 -0
  208. package/quick-nav/QuickNav.d.ts +4 -0
  209. package/quick-nav/QuickNav.js +117 -0
  210. package/quick-nav/QuickNav.stories.tsx +356 -0
  211. package/quick-nav/types.d.ts +21 -0
  212. package/quick-nav/types.js +5 -0
  213. package/radio-group/Radio.d.ts +4 -0
  214. package/radio-group/Radio.js +156 -0
  215. package/radio-group/RadioGroup.d.ts +4 -0
  216. package/radio-group/RadioGroup.js +283 -0
  217. package/radio-group/RadioGroup.stories.tsx +214 -0
  218. package/radio-group/RadioGroup.test.js +722 -0
  219. package/radio-group/types.d.ts +114 -0
  220. package/radio-group/types.js +5 -0
  221. package/resultsetTable/Icons.d.ts +7 -0
  222. package/resultsetTable/Icons.js +51 -0
  223. package/resultsetTable/ResultsetTable.d.ts +4 -0
  224. package/resultsetTable/ResultsetTable.js +54 -133
  225. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  226. package/resultsetTable/ResultsetTable.test.js +325 -0
  227. package/resultsetTable/types.d.ts +67 -0
  228. package/resultsetTable/types.js +5 -0
  229. package/select/Icons.d.ts +10 -0
  230. package/select/Icons.js +93 -0
  231. package/select/Listbox.d.ts +4 -0
  232. package/select/Listbox.js +169 -0
  233. package/select/Option.d.ts +4 -0
  234. package/select/Option.js +97 -0
  235. package/select/Select.d.ts +4 -0
  236. package/select/Select.js +255 -453
  237. package/select/Select.stories.tsx +971 -0
  238. package/select/Select.test.js +2228 -0
  239. package/select/types.d.ts +210 -0
  240. package/select/types.js +5 -0
  241. package/sidenav/Icons.d.ts +7 -0
  242. package/sidenav/Icons.js +51 -0
  243. package/sidenav/Sidenav.d.ts +10 -0
  244. package/sidenav/Sidenav.js +147 -54
  245. package/sidenav/Sidenav.stories.tsx +282 -0
  246. package/sidenav/Sidenav.test.js +44 -0
  247. package/sidenav/types.d.ts +76 -0
  248. package/sidenav/types.js +5 -0
  249. package/slider/Slider.d.ts +4 -0
  250. package/slider/Slider.js +160 -158
  251. package/slider/Slider.stories.tsx +240 -0
  252. package/slider/Slider.test.js +250 -0
  253. package/slider/types.d.ts +86 -0
  254. package/slider/types.js +5 -0
  255. package/spinner/Spinner.d.ts +4 -0
  256. package/spinner/Spinner.js +26 -49
  257. package/spinner/Spinner.stories.jsx +129 -0
  258. package/spinner/Spinner.test.js +64 -0
  259. package/spinner/types.d.ts +32 -0
  260. package/spinner/types.js +5 -0
  261. package/switch/Switch.d.ts +4 -0
  262. package/switch/Switch.js +156 -102
  263. package/switch/Switch.stories.tsx +171 -0
  264. package/switch/Switch.test.js +225 -0
  265. package/switch/types.d.ts +66 -0
  266. package/switch/types.js +5 -0
  267. package/table/Table.d.ts +4 -0
  268. package/table/Table.js +6 -6
  269. package/table/Table.stories.jsx +356 -0
  270. package/table/Table.test.js +26 -0
  271. package/table/types.d.ts +21 -0
  272. package/table/types.js +5 -0
  273. package/tabs/Tab.d.ts +4 -0
  274. package/tabs/Tab.js +132 -0
  275. package/tabs/Tabs.d.ts +4 -0
  276. package/tabs/Tabs.js +361 -159
  277. package/tabs/Tabs.stories.tsx +226 -0
  278. package/tabs/Tabs.test.js +350 -0
  279. package/tabs/types.d.ts +92 -0
  280. package/tabs/types.js +5 -0
  281. package/tag/Tag.d.ts +4 -0
  282. package/tag/Tag.js +38 -65
  283. package/tag/Tag.stories.tsx +155 -0
  284. package/tag/Tag.test.js +60 -0
  285. package/tag/types.d.ts +69 -0
  286. package/tag/types.js +5 -0
  287. package/text-input/Icons.d.ts +8 -0
  288. package/text-input/Icons.js +60 -0
  289. package/text-input/Suggestion.d.ts +4 -0
  290. package/text-input/Suggestion.js +84 -0
  291. package/text-input/Suggestions.d.ts +4 -0
  292. package/text-input/Suggestions.js +134 -0
  293. package/text-input/TextInput.d.ts +4 -0
  294. package/text-input/TextInput.js +259 -404
  295. package/text-input/TextInput.stories.tsx +569 -0
  296. package/text-input/TextInput.test.js +1723 -0
  297. package/text-input/types.d.ts +197 -0
  298. package/text-input/types.js +5 -0
  299. package/textarea/Textarea.d.ts +4 -0
  300. package/textarea/Textarea.js +41 -80
  301. package/textarea/Textarea.stories.jsx +216 -0
  302. package/textarea/Textarea.test.js +435 -0
  303. package/textarea/types.d.ts +137 -0
  304. package/textarea/types.js +5 -0
  305. package/toggle-group/ToggleGroup.d.ts +4 -0
  306. package/toggle-group/ToggleGroup.js +24 -49
  307. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  308. package/toggle-group/ToggleGroup.test.js +156 -0
  309. package/toggle-group/types.d.ts +105 -0
  310. package/toggle-group/types.js +5 -0
  311. package/typography/Typography.d.ts +4 -0
  312. package/typography/Typography.js +32 -0
  313. package/typography/Typography.stories.tsx +198 -0
  314. package/typography/types.d.ts +18 -0
  315. package/typography/types.js +5 -0
  316. package/useTheme.d.ts +1235 -0
  317. package/useTheme.js +3 -3
  318. package/useTranslatedLabels.d.ts +85 -0
  319. package/useTranslatedLabels.js +20 -0
  320. package/utils/BaseTypography.d.ts +21 -0
  321. package/utils/BaseTypography.js +108 -0
  322. package/utils/FocusLock.d.ts +13 -0
  323. package/utils/FocusLock.js +139 -0
  324. package/wizard/Wizard.d.ts +4 -0
  325. package/wizard/Wizard.js +119 -105
  326. package/wizard/Wizard.stories.tsx +253 -0
  327. package/wizard/Wizard.test.js +141 -0
  328. package/wizard/types.d.ts +64 -0
  329. package/wizard/types.js +5 -0
  330. package/ThemeContext.js +0 -246
  331. package/V3Select/V3Select.js +0 -455
  332. package/V3Select/index.d.ts +0 -27
  333. package/V3Textarea/V3Textarea.js +0 -260
  334. package/V3Textarea/index.d.ts +0 -27
  335. package/accordion/index.d.ts +0 -28
  336. package/accordion-group/index.d.ts +0 -16
  337. package/alert/index.d.ts +0 -51
  338. package/box/index.d.ts +0 -25
  339. package/card/index.d.ts +0 -22
  340. package/checkbox/index.d.ts +0 -24
  341. package/chip/index.d.ts +0 -22
  342. package/common/RequiredComponent.js +0 -32
  343. package/date/Date.js +0 -373
  344. package/date/index.d.ts +0 -27
  345. package/date-input/index.d.ts +0 -95
  346. package/dialog/index.d.ts +0 -18
  347. package/dropdown/index.d.ts +0 -26
  348. package/file-input/index.d.ts +0 -81
  349. package/footer/index.d.ts +0 -25
  350. package/header/index.d.ts +0 -25
  351. package/heading/index.d.ts +0 -17
  352. package/input-text/Icons.js +0 -22
  353. package/input-text/InputText.js +0 -611
  354. package/input-text/index.d.ts +0 -36
  355. package/link/index.d.ts +0 -23
  356. package/number-input/index.d.ts +0 -113
  357. package/paginator/index.d.ts +0 -20
  358. package/password-input/index.d.ts +0 -94
  359. package/progress-bar/index.d.ts +0 -18
  360. package/radio/Radio.js +0 -195
  361. package/radio/index.d.ts +0 -23
  362. package/resultsetTable/index.d.ts +0 -19
  363. package/select/index.d.ts +0 -131
  364. package/sidenav/index.d.ts +0 -13
  365. package/slider/index.d.ts +0 -29
  366. package/spinner/index.d.ts +0 -17
  367. package/switch/index.d.ts +0 -24
  368. package/table/index.d.ts +0 -13
  369. package/tabs/index.d.ts +0 -19
  370. package/tag/index.d.ts +0 -24
  371. package/text-input/index.d.ts +0 -135
  372. package/textarea/index.d.ts +0 -117
  373. package/toggle/Toggle.js +0 -186
  374. package/toggle/index.d.ts +0 -21
  375. package/toggle-group/index.d.ts +0 -21
  376. package/upload/Upload.js +0 -201
  377. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  378. package/upload/buttons-upload/Icons.js +0 -40
  379. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  380. package/upload/dragAndDropArea/Icons.js +0 -39
  381. package/upload/file-upload/FileToUpload.js +0 -115
  382. package/upload/file-upload/Icons.js +0 -66
  383. package/upload/files-upload/FilesToUpload.js +0 -109
  384. package/upload/index.d.ts +0 -15
  385. package/upload/transaction/Icons.js +0 -160
  386. package/upload/transaction/Transaction.js +0 -104
  387. package/upload/transactions/Transactions.js +0 -94
  388. package/wizard/Icons.js +0 -65
  389. package/wizard/index.d.ts +0 -18
package/dialog/Dialog.js CHANGED
@@ -9,34 +9,46 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
15
 
18
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
16
  var _react = _interopRequireWildcard(require("react"));
21
17
 
22
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
19
 
24
- var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
20
+ var _variables = require("../common/variables");
25
21
 
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
27
23
 
28
- var _variables = require("../common/variables.js");
24
+ var _BackgroundColorContext = require("../BackgroundColorContext");
29
25
 
30
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
26
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
31
27
 
32
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
28
+ var _reactDom = require("react-dom");
33
29
 
34
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
30
+ var _FocusLock = _interopRequireDefault(require("../utils/FocusLock"));
31
+
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
35
33
 
36
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); }
37
35
 
38
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; }
39
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
+
40
52
  var DxcDialog = function DxcDialog(_ref) {
41
53
  var _ref$isCloseVisible = _ref.isCloseVisible,
42
54
  isCloseVisible = _ref$isCloseVisible === void 0 ? true : _ref$isCloseVisible,
@@ -45,140 +57,93 @@ var DxcDialog = function DxcDialog(_ref) {
45
57
  _ref$overlay = _ref.overlay,
46
58
  overlay = _ref$overlay === void 0 ? true : _ref$overlay,
47
59
  onBackgroundClick = _ref.onBackgroundClick,
48
- padding = _ref.padding,
60
+ _ref$padding = _ref.padding,
61
+ padding = _ref$padding === void 0 ? "small" : _ref$padding,
49
62
  _ref$tabIndex = _ref.tabIndex,
50
63
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
51
-
52
- var _useState = (0, _react.useState)(),
53
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
54
- isResponsive = _useState2[0],
55
- setIsResponsive = _useState2[1];
56
-
57
64
  var colorsTheme = (0, _useTheme["default"])();
58
-
59
- var handleClose = function handleClose() {
60
- typeof onCloseClick === "function" && onCloseClick();
61
- };
62
-
63
- var handleOverlayClick = function handleOverlayClick() {
64
- typeof onBackgroundClick === "function" && onBackgroundClick();
65
- };
66
-
67
- var handleResize = function handleResize(width) {
68
- width && width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false);
69
- };
70
-
71
- var handleEventListener = function handleEventListener() {
72
- handleResize(window.innerWidth);
73
- };
74
-
65
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
75
66
  (0, _react.useEffect)(function () {
76
- window.addEventListener("resize", handleEventListener);
77
- 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);
78
75
  return function () {
79
- window.removeEventListener("resize", handleEventListener);
76
+ document.removeEventListener("keydown", handleKeyDown);
80
77
  };
81
- }, []);
78
+ }, [onCloseClick]);
82
79
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
83
80
  theme: colorsTheme.dialog
84
- }, /*#__PURE__*/_react["default"].createElement(DialogContainer, {
85
- open: true,
86
- isCloseVisible: isCloseVisible,
87
- onClose: handleOverlayClick,
88
- overlay: overlay,
89
- padding: padding,
90
- isResponsive: isResponsive
91
- }, isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
92
- onClick: handleClose,
93
- tabIndex: tabIndex
94
- }, /*#__PURE__*/_react["default"].createElement(CloseIcon, {
95
- xmlns: "http://www.w3.org/2000/svg",
96
- width: "24",
97
- height: "24",
98
- viewBox: "0 0 24 24",
99
- fill: "currentColor"
100
- }, /*#__PURE__*/_react["default"].createElement("path", {
101
- d: "M0 0h24v24H0V0z",
102
- fill: "none"
103
- }), /*#__PURE__*/_react["default"].createElement("path", {
104
- 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"
105
- }))), /*#__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, {
106
92
  color: colorsTheme.dialog.backgroundColor
107
- }, 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));
108
100
  };
109
101
 
110
- 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) {
111
- return props.theme.fontFamily;
112
- }, function (props) {
113
- return props.overlay === true ? props.theme.overlayColor : "transparent";
114
- }, function (props) {
115
- return props.overlay === true && props.theme.overlayOpacity;
116
- }, 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) {
117
111
  return props.theme.backgroundColor;
118
112
  }, function (props) {
119
- return props.isResponsive ? "92%" : "80%";
120
- }, function (props) {
121
- return props.isResponsive ? "92%" : "800px";
122
- }, function (props) {
123
- return props.isCloseVisible ? "72px" : "";
113
+ return props.isCloseVisible && "min-height: 72px;";
124
114
  }, function (props) {
125
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;
126
120
  }, function (props) {
127
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
128
- }, function (props) {
129
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
130
- }, function (props) {
131
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
121
+ return props.theme.closeIconColor;
132
122
  }, function (props) {
133
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
123
+ return props.theme.closeIconBorderRadius;
134
124
  }, function (props) {
135
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
136
- });
137
-
138
- var Children = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
139
-
140
- 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) {
141
- return props.theme.closeIconTopPosition;
125
+ return props.theme.closeIconBorderThickness;
142
126
  }, function (props) {
143
- return props.theme.closeIconRightPosition;
127
+ return props.theme.closeIconBorderStyle;
144
128
  }, function (props) {
145
- return props.theme.closeIconColor;
129
+ return props.theme.closeIconBorderColor;
146
130
  }, function (props) {
147
131
  return props.theme.closeIconWidth;
148
132
  }, function (props) {
149
133
  return props.theme.closeIconHeight;
150
134
  });
151
135
 
152
- 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) {
153
- return props.theme.closeIconBackgroundColor;
154
- }, function (props) {
155
- return props.theme.closeIconWidth;
156
- }, function (props) {
157
- 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"];
158
138
  }, function (props) {
159
- return props.theme.closeIconBorderRadius;
139
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
160
140
  }, function (props) {
161
- return props.theme.closeIconBorderThickness;
141
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
162
142
  }, function (props) {
163
- return props.theme.closeIconBorderStyle;
143
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
164
144
  }, function (props) {
165
- return props.theme.closeIconBorderColor;
145
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
166
146
  });
167
147
 
168
- DxcDialog.propTypes = {
169
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
170
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
171
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
172
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
173
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
174
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
175
- isVisible: _propTypes["default"].bool,
176
- isCloseVisible: _propTypes["default"].bool,
177
- onClose: _propTypes["default"].func,
178
- onCloseClick: _propTypes["default"].func,
179
- onBackgroundClick: _propTypes["default"].func,
180
- overlay: _propTypes["default"].bool,
181
- tabIndex: _propTypes["default"].number
182
- };
183
148
  var _default = DxcDialog;
184
149
  exports["default"] = _default;
@@ -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
+ };