@dxc-technology/halstack-react 0.0.0-9253572 → 0.0.0-9282b45

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 (364) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +7 -6
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +129 -237
  7. package/accordion/Accordion.stories.tsx +306 -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 +68 -105
  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 +44 -154
  19. package/alert/Alert.stories.tsx +170 -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 +15 -17
  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 +341 -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 +37 -77
  34. package/box/Box.stories.tsx +132 -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 +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +63 -145
  45. package/button/Button.stories.tsx +283 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +44 -137
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +68 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +106 -156
  58. package/checkbox/Checkbox.stories.tsx +188 -0
  59. package/checkbox/Checkbox.test.js +155 -0
  60. package/checkbox/types.d.ts +64 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +26 -130
  64. package/chip/Chip.stories.tsx +119 -0
  65. package/chip/Chip.test.js +56 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/common/RequiredComponent.js +3 -11
  69. package/common/variables.js +322 -381
  70. package/date-input/DateInput.d.ts +4 -0
  71. package/date-input/DateInput.js +83 -111
  72. package/date-input/DateInput.stories.tsx +138 -0
  73. package/date-input/DateInput.test.js +479 -0
  74. package/date-input/types.d.ts +107 -0
  75. package/date-input/types.js +5 -0
  76. package/dialog/Dialog.d.ts +4 -0
  77. package/dialog/Dialog.js +60 -116
  78. package/dialog/Dialog.stories.tsx +267 -0
  79. package/dialog/Dialog.test.js +70 -0
  80. package/dialog/types.d.ts +44 -0
  81. package/dialog/types.js +5 -0
  82. package/dropdown/Dropdown.d.ts +4 -0
  83. package/dropdown/Dropdown.js +243 -399
  84. package/dropdown/Dropdown.stories.tsx +312 -0
  85. package/dropdown/Dropdown.test.js +590 -0
  86. package/dropdown/DropdownMenu.d.ts +4 -0
  87. package/dropdown/DropdownMenu.js +80 -0
  88. package/dropdown/DropdownMenuItem.d.ts +4 -0
  89. package/dropdown/DropdownMenuItem.js +92 -0
  90. package/dropdown/types.d.ts +100 -0
  91. package/dropdown/types.js +5 -0
  92. package/file-input/FileInput.d.ts +4 -0
  93. package/file-input/FileInput.js +200 -251
  94. package/file-input/FileInput.stories.tsx +507 -0
  95. package/file-input/FileInput.test.js +457 -0
  96. package/file-input/FileItem.d.ts +14 -0
  97. package/file-input/FileItem.js +44 -145
  98. package/file-input/types.d.ts +112 -0
  99. package/file-input/types.js +5 -0
  100. package/flex/Flex.d.ts +4 -0
  101. package/flex/Flex.js +69 -0
  102. package/flex/Flex.stories.tsx +103 -0
  103. package/flex/types.d.ts +32 -0
  104. package/flex/types.js +5 -0
  105. package/footer/Footer.d.ts +4 -0
  106. package/footer/Footer.js +50 -286
  107. package/footer/Footer.stories.tsx +137 -0
  108. package/footer/Footer.test.js +109 -0
  109. package/footer/Icons.d.ts +2 -0
  110. package/footer/Icons.js +16 -16
  111. package/footer/types.d.ts +66 -0
  112. package/footer/types.js +5 -0
  113. package/header/Header.d.ts +7 -0
  114. package/header/Header.js +131 -296
  115. package/header/Header.stories.tsx +172 -0
  116. package/header/Header.test.js +79 -0
  117. package/header/Icons.d.ts +2 -0
  118. package/header/Icons.js +9 -34
  119. package/header/types.d.ts +48 -0
  120. package/header/types.js +5 -0
  121. package/heading/Heading.d.ts +4 -0
  122. package/heading/Heading.js +25 -96
  123. package/heading/Heading.stories.tsx +54 -0
  124. package/heading/Heading.test.js +186 -0
  125. package/heading/types.d.ts +33 -0
  126. package/heading/types.js +5 -0
  127. package/inset/Inset.d.ts +3 -0
  128. package/inset/Inset.js +51 -0
  129. package/inset/Inset.stories.tsx +229 -0
  130. package/inset/types.d.ts +37 -0
  131. package/inset/types.js +5 -0
  132. package/layout/ApplicationLayout.d.ts +20 -0
  133. package/layout/ApplicationLayout.js +76 -232
  134. package/layout/ApplicationLayout.stories.tsx +162 -0
  135. package/layout/Icons.d.ts +5 -0
  136. package/layout/Icons.js +19 -8
  137. package/layout/SidenavContext.d.ts +5 -0
  138. package/layout/SidenavContext.js +19 -0
  139. package/layout/types.d.ts +42 -0
  140. package/layout/types.js +5 -0
  141. package/link/Link.d.ts +4 -0
  142. package/link/Link.js +64 -165
  143. package/link/Link.stories.tsx +193 -0
  144. package/link/Link.test.js +83 -0
  145. package/link/types.d.ts +54 -0
  146. package/link/types.js +5 -0
  147. package/main.d.ts +44 -40
  148. package/main.js +114 -104
  149. package/number-input/NumberInput.d.ts +4 -0
  150. package/number-input/NumberInput.js +21 -81
  151. package/number-input/NumberInput.stories.tsx +115 -0
  152. package/number-input/NumberInput.test.js +506 -0
  153. package/number-input/NumberInputContext.d.ts +4 -0
  154. package/number-input/NumberInputContext.js +5 -2
  155. package/number-input/numberInputContextTypes.d.ts +19 -0
  156. package/number-input/numberInputContextTypes.js +5 -0
  157. package/number-input/types.d.ts +124 -0
  158. package/number-input/types.js +5 -0
  159. package/package.json +30 -23
  160. package/paginator/Icons.js +9 -9
  161. package/paginator/Paginator.d.ts +4 -0
  162. package/paginator/Paginator.js +32 -166
  163. package/paginator/Paginator.stories.tsx +63 -0
  164. package/paginator/Paginator.test.js +308 -0
  165. package/paginator/types.d.ts +38 -0
  166. package/paginator/types.js +5 -0
  167. package/paragraph/Paragraph.d.ts +6 -0
  168. package/paragraph/Paragraph.js +38 -0
  169. package/paragraph/Paragraph.stories.tsx +44 -0
  170. package/password-input/PasswordInput.d.ts +4 -0
  171. package/password-input/PasswordInput.js +44 -79
  172. package/password-input/PasswordInput.stories.tsx +131 -0
  173. package/password-input/PasswordInput.test.js +181 -0
  174. package/password-input/types.d.ts +110 -0
  175. package/password-input/types.js +5 -0
  176. package/progress-bar/ProgressBar.d.ts +4 -0
  177. package/progress-bar/ProgressBar.js +72 -138
  178. package/progress-bar/ProgressBar.stories.jsx +60 -0
  179. package/progress-bar/ProgressBar.test.js +110 -0
  180. package/progress-bar/types.d.ts +36 -0
  181. package/progress-bar/types.js +5 -0
  182. package/quick-nav/QuickNav.d.ts +4 -0
  183. package/quick-nav/QuickNav.js +117 -0
  184. package/quick-nav/QuickNav.stories.tsx +342 -0
  185. package/quick-nav/types.d.ts +21 -0
  186. package/quick-nav/types.js +5 -0
  187. package/radio-group/Radio.d.ts +4 -0
  188. package/radio-group/Radio.js +156 -0
  189. package/radio-group/RadioGroup.d.ts +4 -0
  190. package/radio-group/RadioGroup.js +283 -0
  191. package/radio-group/RadioGroup.stories.tsx +101 -0
  192. package/radio-group/RadioGroup.test.js +722 -0
  193. package/radio-group/types.d.ts +114 -0
  194. package/radio-group/types.js +5 -0
  195. package/resultsetTable/ResultsetTable.d.ts +4 -0
  196. package/resultsetTable/ResultsetTable.js +43 -147
  197. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  198. package/resultsetTable/ResultsetTable.test.js +348 -0
  199. package/resultsetTable/types.d.ts +67 -0
  200. package/resultsetTable/types.js +5 -0
  201. package/select/Icons.d.ts +10 -0
  202. package/select/Icons.js +93 -0
  203. package/select/Listbox.d.ts +4 -0
  204. package/select/Listbox.js +198 -0
  205. package/select/Option.d.ts +4 -0
  206. package/select/Option.js +110 -0
  207. package/select/Select.d.ts +4 -0
  208. package/select/Select.js +231 -724
  209. package/select/Select.stories.tsx +627 -0
  210. package/select/Select.test.js +2233 -0
  211. package/select/types.d.ts +210 -0
  212. package/select/types.js +5 -0
  213. package/sidenav/Sidenav.d.ts +10 -0
  214. package/sidenav/Sidenav.js +194 -105
  215. package/sidenav/Sidenav.stories.tsx +180 -0
  216. package/sidenav/Sidenav.test.js +44 -0
  217. package/sidenav/types.d.ts +73 -0
  218. package/sidenav/types.js +5 -0
  219. package/slider/Slider.d.ts +4 -0
  220. package/slider/Slider.js +162 -224
  221. package/slider/Slider.stories.tsx +183 -0
  222. package/slider/Slider.test.js +250 -0
  223. package/slider/types.d.ts +82 -0
  224. package/slider/types.js +5 -0
  225. package/spinner/Spinner.d.ts +4 -0
  226. package/spinner/Spinner.js +46 -177
  227. package/spinner/Spinner.stories.jsx +103 -0
  228. package/spinner/Spinner.test.js +64 -0
  229. package/spinner/types.d.ts +32 -0
  230. package/spinner/types.js +5 -0
  231. package/switch/Switch.d.ts +4 -0
  232. package/switch/Switch.js +158 -119
  233. package/switch/Switch.stories.tsx +138 -0
  234. package/switch/Switch.test.js +225 -0
  235. package/switch/types.d.ts +61 -0
  236. package/switch/types.js +5 -0
  237. package/table/Table.d.ts +4 -0
  238. package/table/Table.js +12 -26
  239. package/table/Table.stories.jsx +277 -0
  240. package/table/Table.test.js +26 -0
  241. package/table/types.d.ts +21 -0
  242. package/table/types.js +5 -0
  243. package/tabs/Tab.d.ts +4 -0
  244. package/tabs/Tab.js +135 -0
  245. package/tabs/Tabs.d.ts +4 -0
  246. package/tabs/Tabs.js +353 -229
  247. package/tabs/Tabs.stories.tsx +186 -0
  248. package/tabs/Tabs.test.js +351 -0
  249. package/tabs/types.d.ts +92 -0
  250. package/tabs/types.js +5 -0
  251. package/tabs-nav/NavTabs.d.ts +8 -0
  252. package/tabs-nav/NavTabs.js +125 -0
  253. package/tabs-nav/NavTabs.stories.tsx +170 -0
  254. package/tabs-nav/NavTabs.test.js +82 -0
  255. package/tabs-nav/Tab.d.ts +4 -0
  256. package/tabs-nav/Tab.js +130 -0
  257. package/tabs-nav/types.d.ts +53 -0
  258. package/tabs-nav/types.js +5 -0
  259. package/tag/Tag.d.ts +4 -0
  260. package/tag/Tag.js +45 -144
  261. package/tag/Tag.stories.tsx +142 -0
  262. package/tag/Tag.test.js +60 -0
  263. package/tag/types.d.ts +69 -0
  264. package/tag/types.js +5 -0
  265. package/text-input/Icons.d.ts +8 -0
  266. package/text-input/Icons.js +60 -0
  267. package/text-input/Suggestion.d.ts +4 -0
  268. package/text-input/Suggestion.js +57 -0
  269. package/text-input/Suggestions.d.ts +4 -0
  270. package/text-input/Suggestions.js +134 -0
  271. package/text-input/TextInput.d.ts +4 -0
  272. package/text-input/TextInput.js +256 -575
  273. package/text-input/TextInput.stories.tsx +481 -0
  274. package/text-input/TextInput.test.js +1714 -0
  275. package/text-input/types.d.ts +197 -0
  276. package/text-input/types.js +5 -0
  277. package/textarea/Textarea.d.ts +4 -0
  278. package/textarea/Textarea.js +50 -142
  279. package/textarea/Textarea.stories.jsx +157 -0
  280. package/textarea/Textarea.test.js +437 -0
  281. package/textarea/types.d.ts +137 -0
  282. package/textarea/types.js +5 -0
  283. package/toggle-group/ToggleGroup.d.ts +4 -0
  284. package/toggle-group/ToggleGroup.js +36 -148
  285. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  286. package/toggle-group/ToggleGroup.test.js +156 -0
  287. package/toggle-group/types.d.ts +105 -0
  288. package/toggle-group/types.js +5 -0
  289. package/typography/Typography.d.ts +4 -0
  290. package/typography/Typography.js +131 -0
  291. package/typography/Typography.stories.tsx +198 -0
  292. package/typography/types.d.ts +18 -0
  293. package/typography/types.js +5 -0
  294. package/useTheme.d.ts +2 -0
  295. package/useTheme.js +2 -2
  296. package/useTranslatedLabels.d.ts +2 -0
  297. package/useTranslatedLabels.js +20 -0
  298. package/wizard/Wizard.d.ts +4 -0
  299. package/wizard/Wizard.js +132 -252
  300. package/wizard/Wizard.stories.tsx +233 -0
  301. package/wizard/Wizard.test.js +141 -0
  302. package/wizard/types.d.ts +65 -0
  303. package/wizard/types.js +5 -0
  304. package/ThemeContext.js +0 -250
  305. package/V3Select/V3Select.js +0 -549
  306. package/V3Select/index.d.ts +0 -27
  307. package/V3Textarea/V3Textarea.js +0 -264
  308. package/V3Textarea/index.d.ts +0 -27
  309. package/accordion/index.d.ts +0 -28
  310. package/accordion-group/index.d.ts +0 -16
  311. package/alert/index.d.ts +0 -51
  312. package/box/index.d.ts +0 -25
  313. package/button/Button.stories.js +0 -27
  314. package/button/index.d.ts +0 -24
  315. package/card/index.d.ts +0 -22
  316. package/checkbox/index.d.ts +0 -24
  317. package/chip/index.d.ts +0 -22
  318. package/date/Date.js +0 -379
  319. package/date/index.d.ts +0 -27
  320. package/date-input/index.d.ts +0 -95
  321. package/dialog/index.d.ts +0 -18
  322. package/dropdown/index.d.ts +0 -26
  323. package/file-input/index.d.ts +0 -81
  324. package/footer/index.d.ts +0 -25
  325. package/header/index.d.ts +0 -25
  326. package/heading/index.d.ts +0 -17
  327. package/input-text/Icons.js +0 -22
  328. package/input-text/InputText.js +0 -705
  329. package/input-text/index.d.ts +0 -36
  330. package/link/index.d.ts +0 -23
  331. package/number-input/index.d.ts +0 -113
  332. package/paginator/index.d.ts +0 -20
  333. package/password-input/index.d.ts +0 -94
  334. package/progress-bar/index.d.ts +0 -18
  335. package/radio/Radio.js +0 -209
  336. package/radio/index.d.ts +0 -23
  337. package/resultsetTable/index.d.ts +0 -19
  338. package/select/index.d.ts +0 -131
  339. package/sidenav/index.d.ts +0 -13
  340. package/slider/index.d.ts +0 -29
  341. package/spinner/index.d.ts +0 -17
  342. package/switch/index.d.ts +0 -24
  343. package/table/index.d.ts +0 -13
  344. package/tabs/index.d.ts +0 -19
  345. package/tag/index.d.ts +0 -24
  346. package/text-input/index.d.ts +0 -135
  347. package/textarea/index.d.ts +0 -117
  348. package/toggle/Toggle.js +0 -220
  349. package/toggle/index.d.ts +0 -21
  350. package/toggle-group/index.d.ts +0 -21
  351. package/upload/Upload.js +0 -205
  352. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  353. package/upload/buttons-upload/Icons.js +0 -40
  354. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  355. package/upload/dragAndDropArea/Icons.js +0 -39
  356. package/upload/file-upload/FileToUpload.js +0 -189
  357. package/upload/file-upload/Icons.js +0 -66
  358. package/upload/files-upload/FilesToUpload.js +0 -123
  359. package/upload/index.d.ts +0 -15
  360. package/upload/transaction/Icons.js +0 -160
  361. package/upload/transaction/Transaction.js +0 -148
  362. package/upload/transactions/Transactions.js +0 -138
  363. package/wizard/Icons.js +0 -65
  364. package/wizard/index.d.ts +0 -18
package/dialog/Dialog.js CHANGED
@@ -1,75 +1,33 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
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"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
20
  var _variables = require("../common/variables.js");
29
21
 
30
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
31
23
 
32
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
24
+ var _BackgroundColorContext = require("../BackgroundColorContext");
33
25
 
34
- function _templateObject4() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n"]);
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
36
27
 
37
- _templateObject4 = function _templateObject4() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject3() {
45
- var data = (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"]);
46
-
47
- _templateObject3 = function _templateObject3() {
48
- return data;
49
- };
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
50
29
 
51
- return data;
52
- }
53
-
54
- function _templateObject2() {
55
- var data = (0, _taggedTemplateLiteral2["default"])([""]);
56
-
57
- _templateObject2 = function _templateObject2() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject() {
65
- var data = (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"]);
66
-
67
- _templateObject = function _templateObject() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
30
+ 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; }
73
31
 
74
32
  var DxcDialog = function DxcDialog(_ref) {
75
33
  var _ref$isCloseVisible = _ref.isCloseVisible,
@@ -79,85 +37,92 @@ var DxcDialog = function DxcDialog(_ref) {
79
37
  _ref$overlay = _ref.overlay,
80
38
  overlay = _ref$overlay === void 0 ? true : _ref$overlay,
81
39
  onBackgroundClick = _ref.onBackgroundClick,
82
- padding = _ref.padding,
40
+ _ref$padding = _ref.padding,
41
+ padding = _ref$padding === void 0 ? "small" : _ref$padding,
83
42
  _ref$tabIndex = _ref.tabIndex,
84
43
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
85
-
86
- var _useState = (0, _react.useState)(),
87
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
88
- isResponsive = _useState2[0],
89
- setIsResponsive = _useState2[1];
90
-
91
44
  var colorsTheme = (0, _useTheme["default"])();
92
45
 
93
46
  var handleClose = function handleClose() {
94
- typeof onCloseClick === "function" && onCloseClick();
47
+ onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
95
48
  };
96
49
 
97
50
  var handleOverlayClick = function handleOverlayClick() {
98
- typeof onBackgroundClick === "function" && onBackgroundClick();
51
+ onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
99
52
  };
100
53
 
101
- var handleResize = function handleResize(width) {
102
- width && width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false);
103
- };
104
-
105
- var handleEventListener = function handleEventListener() {
106
- handleResize(window.innerWidth);
54
+ var handleOnKeyDown = function handleOnKeyDown(event) {
55
+ if (event.key === "Escape") {
56
+ event.preventDefault();
57
+ handleClose();
58
+ }
107
59
  };
108
60
 
109
61
  (0, _react.useEffect)(function () {
110
- window.addEventListener("resize", handleEventListener);
111
- handleResize(window.innerWidth);
62
+ if (isCloseVisible) {
63
+ window.addEventListener("keydown", handleOnKeyDown);
64
+ }
65
+
112
66
  return function () {
113
- window.removeEventListener("resize", handleEventListener);
67
+ window.removeEventListener("keydown", handleOnKeyDown);
114
68
  };
115
- }, []);
116
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
69
+ }, [isCloseVisible]);
70
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
117
71
  theme: colorsTheme.dialog
118
- }, _react["default"].createElement(DialogContainer, {
119
- open: true,
120
- isCloseVisible: isCloseVisible,
121
- onClose: handleOverlayClick,
122
- overlay: overlay,
123
- padding: padding,
124
- isResponsive: isResponsive
125
- }, isCloseVisible && _react["default"].createElement(CloseIconContainer, {
72
+ }, /*#__PURE__*/_react["default"].createElement(BodyStyle, null), /*#__PURE__*/_react["default"].createElement(DialogContainer, {
73
+ role: "presentation"
74
+ }, overlay && /*#__PURE__*/_react["default"].createElement(Overlay, {
75
+ onClick: handleOverlayClick
76
+ }), /*#__PURE__*/_react["default"].createElement(Dialog, {
77
+ role: "dialog",
78
+ "aria-modal": overlay,
79
+ isCloseVisible: isCloseVisible
80
+ }, /*#__PURE__*/_react["default"].createElement(Children, {
81
+ padding: padding
82
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
83
+ color: colorsTheme.dialog.backgroundColor
84
+ }, children)), isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
126
85
  onClick: handleClose,
127
86
  tabIndex: tabIndex
128
- }, _react["default"].createElement(CloseIcon, {
87
+ }, /*#__PURE__*/_react["default"].createElement(CloseIcon, {
129
88
  xmlns: "http://www.w3.org/2000/svg",
130
89
  width: "24",
131
90
  height: "24",
132
91
  viewBox: "0 0 24 24",
133
92
  fill: "currentColor"
134
- }, _react["default"].createElement("path", {
93
+ }, /*#__PURE__*/_react["default"].createElement("path", {
135
94
  d: "M0 0h24v24H0V0z",
136
95
  fill: "none"
137
- }), _react["default"].createElement("path", {
96
+ }), /*#__PURE__*/_react["default"].createElement("path", {
138
97
  d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
139
- }))), _react["default"].createElement(Children, null, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
140
- color: colorsTheme.dialog.backgroundColor
141
- }, children))));
98
+ }))))));
142
99
  };
143
100
 
144
- var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_templateObject(), function (props) {
145
- return props.theme.fontFamily;
146
- }, function (props) {
147
- return props.overlay === true ? props.theme.overlayColor : "transparent";
148
- }, function (props) {
149
- return props.overlay === true && props.theme.overlayOpacity;
101
+ var BodyStyle = (0, _styledComponents.createGlobalStyle)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n body {\n overflow: hidden;\n }\n"])));
102
+
103
+ var DialogContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n inset: 0px;\n height: 100%;\n z-index: 1300;\n"])));
104
+
105
+ var Overlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n inset: 0px;\n height: 100%;\n background-color: ", ";\n opacity: ", ";\n"])), function (props) {
106
+ return props.theme.overlayColor;
150
107
  }, function (props) {
108
+ return props.theme.overlayOpacity;
109
+ });
110
+
111
+ var Dialog = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n z-index: 1300;\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n ", "\n box-sizing: border-box;\n box-shadow: ", ";\n border-radius: 4px;\n position: relative;\n\n @media (min-width: ", "rem) {\n max-width: 80%;\n min-width: 800px;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 92%;\n min-width: 92%;\n }\n"])), function (props) {
151
112
  return props.theme.backgroundColor;
152
113
  }, function (props) {
153
- return props.isResponsive ? "92%" : "80%";
114
+ return props.theme.fontFamily;
154
115
  }, function (props) {
155
- return props.isResponsive ? "92%" : "800px";
116
+ return props.theme.fontSize;
156
117
  }, function (props) {
157
- return props.isCloseVisible ? "72px" : "";
118
+ return props.theme.fontWeight;
158
119
  }, function (props) {
159
- return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
120
+ return props.isCloseVisible && "min-height: 72px; padding-top: 24px;";
160
121
  }, function (props) {
122
+ return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
123
+ }, _variables.responsiveSizes.medium, _variables.responsiveSizes.medium);
124
+
125
+ var Children = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
161
126
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
162
127
  }, function (props) {
163
128
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
@@ -169,13 +134,7 @@ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_tem
169
134
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
170
135
  });
171
136
 
172
- var Children = _styledComponents["default"].div(_templateObject2());
173
-
174
- var CloseIconContainer = _styledComponents["default"].button(_templateObject3(), function (props) {
175
- return props.theme.closeIconTopPosition;
176
- }, function (props) {
177
- return props.theme.closeIconRightPosition;
178
- }, function (props) {
137
+ var CloseIconContainer = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n position: absolute;\n top: 20px;\n right: 20px;\n color: ", ";\n width: ", ";\n height: ", ";\n"])), function (props) {
179
138
  return props.theme.closeIconColor;
180
139
  }, function (props) {
181
140
  return props.theme.closeIconWidth;
@@ -183,7 +142,7 @@ var CloseIconContainer = _styledComponents["default"].button(_templateObject3(),
183
142
  return props.theme.closeIconHeight;
184
143
  });
185
144
 
186
- var CloseIcon = _styledComponents["default"].svg(_templateObject4(), function (props) {
145
+ var CloseIcon = _styledComponents["default"].svg(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n"])), function (props) {
187
146
  return props.theme.closeIconBackgroundColor;
188
147
  }, function (props) {
189
148
  return props.theme.closeIconWidth;
@@ -199,20 +158,5 @@ var CloseIcon = _styledComponents["default"].svg(_templateObject4(), function (p
199
158
  return props.theme.closeIconBorderColor;
200
159
  });
201
160
 
202
- DxcDialog.propTypes = {
203
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
204
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
205
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
206
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
207
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
208
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
209
- isVisible: _propTypes["default"].bool,
210
- isCloseVisible: _propTypes["default"].bool,
211
- onClose: _propTypes["default"].func,
212
- onCloseClick: _propTypes["default"].func,
213
- onBackgroundClick: _propTypes["default"].func,
214
- overlay: _propTypes["default"].bool,
215
- tabIndex: _propTypes["default"].number
216
- };
217
161
  var _default = DxcDialog;
218
162
  exports["default"] = _default;
@@ -0,0 +1,267 @@
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
+
10
+ export default {
11
+ title: "Dialog ",
12
+ component: DxcDialog,
13
+ };
14
+
15
+ export const DefaultDialog = () => (
16
+ <>
17
+ <ExampleContainer expanded={true}>
18
+ <Title title="Default dialog" theme="light" level={4} />
19
+ <DxcDialog>
20
+ {" "}
21
+ <p>
22
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
23
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
24
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
25
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
26
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
27
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
28
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
29
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
30
+ dignissim, pharetra neque molestie, molestie lectus.
31
+ </p>{" "}
32
+ </DxcDialog>
33
+ </ExampleContainer>
34
+ </>
35
+ );
36
+
37
+ export const DialogWithInputs = () => (
38
+ <>
39
+ <ExampleContainer expanded={true}>
40
+ <Title title="Dialog with inputs" theme="light" level={4} />
41
+ <DxcDialog>
42
+ <DxcInset bottom="1rem">
43
+ <DxcFlex gap="2rem" direction="column">
44
+ <DxcFlex gap="1rem" direction="column">
45
+ <DxcTextInput size="fillParent" label="Name"></DxcTextInput>
46
+ <DxcTextInput size="fillParent" label="Surname"></DxcTextInput>
47
+ </DxcFlex>
48
+ <DxcFlex justifyContent="flex-end" gap="1rem">
49
+ <DxcButton label="Save"></DxcButton>
50
+ <DxcButton label="Cancel" mode="secondary"></DxcButton>
51
+ </DxcFlex>
52
+ </DxcFlex>
53
+ </DxcInset>
54
+ </DxcDialog>
55
+ </ExampleContainer>
56
+ </>
57
+ );
58
+
59
+ const RespDialog = () => (
60
+ <>
61
+ <ExampleContainer expanded={true}>
62
+ <Title title="Responsive dialog" theme="light" level={4} />
63
+ <DxcDialog>
64
+ <DxcInset bottom="1rem">
65
+ <DxcFlex gap="2rem" direction="column">
66
+ <DxcFlex gap="1rem" direction="column">
67
+ <DxcTextInput size="fillParent" label="Name"></DxcTextInput>
68
+ <DxcTextInput size="fillParent" label="Surname"></DxcTextInput>
69
+ </DxcFlex>
70
+ <DxcFlex justifyContent="flex-end" gap="1rem">
71
+ <DxcButton label="Save"></DxcButton>
72
+ <DxcButton label="Cancel" mode="secondary"></DxcButton>
73
+ </DxcFlex>
74
+ </DxcFlex>
75
+ </DxcInset>
76
+ </DxcDialog>
77
+ </ExampleContainer>
78
+ </>
79
+ );
80
+
81
+ export const DialogWithoutOverlay = () => (
82
+ <ExampleContainer expanded={true}>
83
+ <Title title="Dialog Without Overlay" theme="light" level={4} />
84
+ <DxcDialog overlay={false}>
85
+ {" "}
86
+ <p>
87
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
88
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
89
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
90
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
91
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
92
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
93
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
94
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
95
+ dignissim, pharetra neque molestie, molestie lectus.
96
+ </p>{" "}
97
+ </DxcDialog>
98
+ </ExampleContainer>
99
+ );
100
+
101
+ export const DialogCloseVisibleFalse = () => (
102
+ <ExampleContainer expanded={true}>
103
+ <Title title="Dialog Close Visible" theme="dark" level={4} />
104
+ <DxcDialog isCloseVisible={false}>
105
+ {" "}
106
+ <p>
107
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
108
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
109
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
110
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
111
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
112
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
113
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
114
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
115
+ dignissim, pharetra neque molestie, molestie lectus.
116
+ </p>{" "}
117
+ </DxcDialog>
118
+ </ExampleContainer>
119
+ );
120
+
121
+ export const DialogWithXxsmallPadding = () => (
122
+ <ExampleContainer expanded={true}>
123
+ <Title title="Dialog With Xxsmall Padding" theme="light" level={4} />
124
+ <DxcDialog padding={"xxsmall"}>
125
+ {" "}
126
+ <p>
127
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
128
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
129
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
130
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
131
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
132
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
133
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
134
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
135
+ dignissim, pharetra neque molestie, molestie lectus.
136
+ </p>{" "}
137
+ </DxcDialog>
138
+ </ExampleContainer>
139
+ );
140
+
141
+ export const DialogWithXsmallPadding = () => (
142
+ <ExampleContainer expanded={true}>
143
+ <Title title="Dialog With Xsmall Padding" theme="light" level={4} />
144
+ <DxcDialog padding={"xsmall"}>
145
+ {" "}
146
+ <p>
147
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
148
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
149
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
150
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
151
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
152
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
153
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
154
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
155
+ dignissim, pharetra neque molestie, molestie lectus.
156
+ </p>{" "}
157
+ </DxcDialog>
158
+ </ExampleContainer>
159
+ );
160
+
161
+ export const DialogWithSmallPadding = () => (
162
+ <ExampleContainer expanded={true}>
163
+ <Title title="Dialog With Small Padding" theme="light" level={4} />
164
+ <DxcDialog padding={"small"}>
165
+ {" "}
166
+ <p>
167
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
168
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
169
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
170
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
171
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
172
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
173
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
174
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
175
+ dignissim, pharetra neque molestie, molestie lectus.
176
+ </p>{" "}
177
+ </DxcDialog>
178
+ </ExampleContainer>
179
+ );
180
+
181
+ export const DialogWithMediumPadding = () => (
182
+ <ExampleContainer expanded={true}>
183
+ <Title title="Dialog With Medium Padding" theme="light" level={4} />
184
+ <DxcDialog padding={"medium"}>
185
+ {" "}
186
+ <p>
187
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
188
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
189
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
190
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
191
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
192
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
193
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
194
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
195
+ dignissim, pharetra neque molestie, molestie lectus.
196
+ </p>{" "}
197
+ </DxcDialog>
198
+ </ExampleContainer>
199
+ );
200
+
201
+ export const DialogWithLargePadding = () => (
202
+ <ExampleContainer expanded={true}>
203
+ <Title title="Dialog With Large Padding" theme="light" level={4} />
204
+ <DxcDialog padding={"large"}>
205
+ {" "}
206
+ <p>
207
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
208
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
209
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
210
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
211
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
212
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
213
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
214
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
215
+ dignissim, pharetra neque molestie, molestie lectus.
216
+ </p>{" "}
217
+ </DxcDialog>
218
+ </ExampleContainer>
219
+ );
220
+
221
+ export const DialogWithXlargePadding = () => (
222
+ <ExampleContainer expanded={true}>
223
+ <Title title="Dialog With Xlarge Padding" theme="light" level={4} />
224
+ <DxcDialog padding={"xlarge"}>
225
+ {" "}
226
+ <p>
227
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
228
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
229
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
230
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
231
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
232
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
233
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
234
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
235
+ dignissim, pharetra neque molestie, molestie lectus.
236
+ </p>{" "}
237
+ </DxcDialog>
238
+ </ExampleContainer>
239
+ );
240
+
241
+ export const DialogWithXxlargePadding = () => (
242
+ <ExampleContainer expanded={true}>
243
+ <Title title="Dialog With Xxlarge Padding" theme="light" level={4} />
244
+ <DxcDialog padding={"xxlarge"}>
245
+ {" "}
246
+ <p>
247
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
248
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
249
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
250
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
251
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
252
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
253
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
254
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
255
+ dignissim, pharetra neque molestie, molestie lectus.
256
+ </p>{" "}
257
+ </DxcDialog>
258
+ </ExampleContainer>
259
+ );
260
+
261
+ export const ResponsiveDialog = RespDialog.bind({});
262
+ ResponsiveDialog.parameters = {
263
+ viewport: {
264
+ defaultViewport: "iphonex",
265
+ },
266
+ chromatic: { viewports: [375] },
267
+ };
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Dialog = _interopRequireDefault(require("./Dialog"));
10
+
11
+ describe("Dialog component tests", function () {
12
+ test("Dialog renders with correct text and accesibility attributes", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "dialog-text")),
14
+ getByText = _render.getByText,
15
+ getByRole = _render.getByRole;
16
+
17
+ expect(getByRole("dialog")).toBeTruthy();
18
+ expect(getByRole("dialog").getAttribute("aria-modal")).toBe("true");
19
+ expect(getByText("dialog-text")).toBeTruthy();
20
+ });
21
+ test("Dialog renders without close button", function () {
22
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
23
+ isCloseVisible: false
24
+ }, "dialog-text")),
25
+ queryByRole = _render2.queryByRole;
26
+
27
+ expect(queryByRole("button")).toBeFalsy();
28
+ });
29
+ test("Dialog renders with aria-modal false when overlay is not used", function () {
30
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
31
+ isCloseVisible: false,
32
+ overlay: false
33
+ }, "dialog-text")),
34
+ getByRole = _render3.getByRole;
35
+
36
+ expect(getByRole("dialog")).toBeTruthy();
37
+ expect(getByRole("dialog").getAttribute("aria-modal")).toBe("false");
38
+ });
39
+ test("Calls correct function onCloseClick", function () {
40
+ var onCloseClick = jest.fn();
41
+
42
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
43
+ onCloseClick: onCloseClick
44
+ }, "dialog-text")),
45
+ getByRole = _render4.getByRole;
46
+
47
+ var closeButton = getByRole("button");
48
+
49
+ _react2.fireEvent.click(closeButton);
50
+
51
+ expect(onCloseClick).toHaveBeenCalled();
52
+ });
53
+ test("Calls correct function onCloseClick when 'escape' key is pressed", function () {
54
+ var onCloseClick = jest.fn();
55
+
56
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
57
+ onCloseClick: onCloseClick
58
+ }, "dialog-text")),
59
+ getByRole = _render5.getByRole;
60
+
61
+ _react2.fireEvent.keyDown(getByRole("button"), {
62
+ key: "Escape",
63
+ code: "Escape",
64
+ keyCode: 27,
65
+ charCode: 27
66
+ });
67
+
68
+ expect(onCloseClick).toHaveBeenCalled();
69
+ });
70
+ });
@@ -0,0 +1,44 @@
1
+ /// <reference types="react" />
2
+ export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ export declare type Padding = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Props = {
10
+ /**
11
+ * If true, the close 'x' button will be visible.
12
+ */
13
+ isCloseVisible?: boolean;
14
+ /**
15
+ * This function will be called when the user clicks the close 'x' button.
16
+ * The responsibility of hiding the modal lies with the user.
17
+ */
18
+ onCloseClick?: () => void;
19
+ /**
20
+ * If true, the dialog will be displayed over a darker background that covers the content behind.
21
+ */
22
+ overlay?: boolean;
23
+ /**
24
+ * This function will be called when the user clicks background of the modal.
25
+ * The responsibility of hiding the modal lies with the user.
26
+ */
27
+ onBackgroundClick?: () => void;
28
+ /**
29
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
30
+ * Size of the padding to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
31
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
32
+ */
33
+ padding?: Padding | Space;
34
+ /**
35
+ * Value of the tabindex given to the close 'x' button.
36
+ */
37
+ tabIndex?: number;
38
+ /**
39
+ * The area inside the dialog. This area can be used to render
40
+ * custom content.
41
+ */
42
+ children: React.ReactNode;
43
+ };
44
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });