@dxc-technology/halstack-react 0.0.0-0ddd74a → 0.0.0-0def59e

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 (428) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  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 +226 -0
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +169 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +43 -153
  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 +61 -0
  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 +116 -0
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -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 +156 -0
  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 +161 -0
  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 +67 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/{dist/checkbox → checkbox}/Checkbox.js +55 -98
  58. package/checkbox/Checkbox.stories.tsx +188 -0
  59. package/checkbox/Checkbox.test.js +78 -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 +161 -0
  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/{dist/common → common}/OpenSans.css +0 -0
  69. package/{dist/common → common}/RequiredComponent.js +3 -11
  70. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  71. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  72. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  73. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  74. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  75. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  76. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  77. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  78. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  79. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  80. package/{dist/common → common}/utils.js +0 -0
  81. package/{dist/common → common}/variables.js +363 -432
  82. package/date-input/DateInput.d.ts +4 -0
  83. package/{dist/date-input → date-input}/DateInput.js +80 -108
  84. package/date-input/DateInput.stories.tsx +138 -0
  85. package/date-input/DateInput.test.js +479 -0
  86. package/date-input/types.d.ts +107 -0
  87. package/date-input/types.js +5 -0
  88. package/dialog/Dialog.d.ts +4 -0
  89. package/dialog/Dialog.js +162 -0
  90. package/dialog/Dialog.stories.tsx +211 -0
  91. package/dialog/Dialog.test.js +70 -0
  92. package/dialog/types.d.ts +43 -0
  93. package/dialog/types.js +5 -0
  94. package/dropdown/Dropdown.d.ts +4 -0
  95. package/{dist/dropdown → dropdown}/Dropdown.js +54 -207
  96. package/dropdown/Dropdown.stories.tsx +249 -0
  97. package/dropdown/Dropdown.test.js +189 -0
  98. package/dropdown/types.d.ts +80 -0
  99. package/dropdown/types.js +5 -0
  100. package/file-input/FileInput.d.ts +4 -0
  101. package/file-input/FileInput.js +593 -0
  102. package/file-input/FileInput.stories.tsx +507 -0
  103. package/file-input/FileInput.test.js +457 -0
  104. package/file-input/FileItem.d.ts +14 -0
  105. package/file-input/FileItem.js +186 -0
  106. package/file-input/types.d.ts +112 -0
  107. package/file-input/types.js +5 -0
  108. package/flex/Flex.d.ts +4 -0
  109. package/flex/Flex.js +57 -0
  110. package/flex/Flex.stories.tsx +103 -0
  111. package/flex/types.d.ts +21 -0
  112. package/flex/types.js +5 -0
  113. package/footer/Footer.d.ts +4 -0
  114. package/footer/Footer.js +185 -0
  115. package/footer/Footer.stories.tsx +130 -0
  116. package/footer/Footer.test.js +109 -0
  117. package/footer/Icons.d.ts +2 -0
  118. package/{dist/footer → footer}/Icons.js +16 -16
  119. package/footer/types.d.ts +65 -0
  120. package/footer/types.js +5 -0
  121. package/header/Header.d.ts +7 -0
  122. package/header/Header.js +303 -0
  123. package/header/Header.stories.tsx +172 -0
  124. package/header/Header.test.js +79 -0
  125. package/header/Icons.d.ts +2 -0
  126. package/{dist/header → header}/Icons.js +7 -32
  127. package/header/types.d.ts +47 -0
  128. package/header/types.js +5 -0
  129. package/heading/Heading.d.ts +4 -0
  130. package/{dist/heading → heading}/Heading.js +31 -90
  131. package/heading/Heading.stories.tsx +54 -0
  132. package/heading/Heading.test.js +186 -0
  133. package/heading/types.d.ts +33 -0
  134. package/heading/types.js +5 -0
  135. package/inset/Inset.d.ts +3 -0
  136. package/inset/Inset.js +51 -0
  137. package/inset/Inset.stories.tsx +229 -0
  138. package/inset/types.d.ts +37 -0
  139. package/inset/types.js +5 -0
  140. package/layout/ApplicationLayout.d.ts +20 -0
  141. package/layout/ApplicationLayout.js +171 -0
  142. package/layout/ApplicationLayout.stories.tsx +161 -0
  143. package/layout/Icons.d.ts +5 -0
  144. package/{dist/layout → layout}/Icons.js +19 -8
  145. package/layout/SidenavContext.d.ts +5 -0
  146. package/layout/SidenavContext.js +19 -0
  147. package/layout/types.d.ts +42 -0
  148. package/layout/types.js +5 -0
  149. package/link/Link.d.ts +4 -0
  150. package/link/Link.js +136 -0
  151. package/link/Link.stories.tsx +193 -0
  152. package/link/Link.test.js +83 -0
  153. package/link/types.d.ts +54 -0
  154. package/link/types.js +5 -0
  155. package/main.d.ts +44 -0
  156. package/{dist/main.js → main.js} +111 -109
  157. package/number-input/NumberInput.d.ts +4 -0
  158. package/number-input/NumberInput.js +76 -0
  159. package/number-input/NumberInput.stories.tsx +115 -0
  160. package/number-input/NumberInput.test.js +506 -0
  161. package/number-input/NumberInputContext.d.ts +4 -0
  162. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  163. package/number-input/numberInputContextTypes.d.ts +19 -0
  164. package/number-input/numberInputContextTypes.js +5 -0
  165. package/number-input/types.d.ts +124 -0
  166. package/number-input/types.js +5 -0
  167. package/package.json +40 -29
  168. package/{dist/paginator → paginator}/Icons.js +9 -9
  169. package/paginator/Paginator.d.ts +4 -0
  170. package/paginator/Paginator.js +171 -0
  171. package/paginator/Paginator.stories.tsx +63 -0
  172. package/paginator/Paginator.test.js +308 -0
  173. package/paginator/types.d.ts +38 -0
  174. package/paginator/types.js +5 -0
  175. package/paragraph/Paragraph.d.ts +6 -0
  176. package/paragraph/Paragraph.js +38 -0
  177. package/paragraph/Paragraph.stories.tsx +44 -0
  178. package/password-input/PasswordInput.d.ts +4 -0
  179. package/{dist/password-input → password-input}/PasswordInput.js +45 -77
  180. package/password-input/PasswordInput.stories.tsx +131 -0
  181. package/password-input/PasswordInput.test.js +180 -0
  182. package/password-input/types.d.ts +110 -0
  183. package/password-input/types.js +5 -0
  184. package/progress-bar/ProgressBar.d.ts +4 -0
  185. package/progress-bar/ProgressBar.js +181 -0
  186. package/progress-bar/ProgressBar.stories.jsx +60 -0
  187. package/progress-bar/ProgressBar.test.js +110 -0
  188. package/progress-bar/types.d.ts +36 -0
  189. package/progress-bar/types.js +5 -0
  190. package/quick-nav/QuickNav.d.ts +4 -0
  191. package/quick-nav/QuickNav.js +118 -0
  192. package/quick-nav/QuickNav.stories.tsx +264 -0
  193. package/quick-nav/types.d.ts +21 -0
  194. package/quick-nav/types.js +5 -0
  195. package/radio-group/Radio.d.ts +4 -0
  196. package/radio-group/Radio.js +141 -0
  197. package/radio-group/RadioGroup.d.ts +4 -0
  198. package/radio-group/RadioGroup.js +283 -0
  199. package/radio-group/RadioGroup.stories.tsx +100 -0
  200. package/radio-group/RadioGroup.test.js +695 -0
  201. package/radio-group/types.d.ts +114 -0
  202. package/radio-group/types.js +5 -0
  203. package/resultsetTable/ResultsetTable.d.ts +4 -0
  204. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  205. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  206. package/resultsetTable/ResultsetTable.test.js +348 -0
  207. package/resultsetTable/types.d.ts +67 -0
  208. package/resultsetTable/types.js +5 -0
  209. package/select/Icons.d.ts +10 -0
  210. package/select/Icons.js +93 -0
  211. package/select/Listbox.d.ts +4 -0
  212. package/select/Listbox.js +199 -0
  213. package/select/Option.d.ts +4 -0
  214. package/select/Option.js +110 -0
  215. package/select/Select.d.ts +4 -0
  216. package/select/Select.js +643 -0
  217. package/select/Select.stories.tsx +627 -0
  218. package/select/Select.test.js +2175 -0
  219. package/select/types.d.ts +210 -0
  220. package/select/types.js +5 -0
  221. package/sidenav/Sidenav.d.ts +10 -0
  222. package/sidenav/Sidenav.js +268 -0
  223. package/sidenav/Sidenav.stories.tsx +180 -0
  224. package/sidenav/Sidenav.test.js +44 -0
  225. package/sidenav/types.d.ts +73 -0
  226. package/sidenav/types.js +5 -0
  227. package/slider/Slider.d.ts +4 -0
  228. package/{dist/slider → slider}/Slider.js +76 -162
  229. package/slider/Slider.stories.tsx +177 -0
  230. package/slider/Slider.test.js +150 -0
  231. package/slider/types.d.ts +82 -0
  232. package/slider/types.js +5 -0
  233. package/spinner/Spinner.d.ts +4 -0
  234. package/spinner/Spinner.js +250 -0
  235. package/spinner/Spinner.stories.jsx +103 -0
  236. package/spinner/Spinner.test.js +64 -0
  237. package/spinner/types.d.ts +32 -0
  238. package/spinner/types.js +5 -0
  239. package/switch/Switch.d.ts +4 -0
  240. package/switch/Switch.js +195 -0
  241. package/switch/Switch.stories.tsx +160 -0
  242. package/switch/Switch.test.js +98 -0
  243. package/switch/types.d.ts +62 -0
  244. package/switch/types.js +5 -0
  245. package/table/Table.d.ts +4 -0
  246. package/{dist/table → table}/Table.js +12 -26
  247. package/table/Table.stories.jsx +277 -0
  248. package/table/Table.test.js +26 -0
  249. package/table/types.d.ts +21 -0
  250. package/table/types.js +5 -0
  251. package/tabs/Tabs.d.ts +4 -0
  252. package/tabs/Tabs.js +211 -0
  253. package/tabs/Tabs.stories.tsx +112 -0
  254. package/tabs/Tabs.test.js +140 -0
  255. package/tabs/types.d.ts +82 -0
  256. package/tabs/types.js +5 -0
  257. package/tabs-nav/NavTabs.d.ts +8 -0
  258. package/tabs-nav/NavTabs.js +125 -0
  259. package/tabs-nav/NavTabs.stories.tsx +170 -0
  260. package/tabs-nav/NavTabs.test.js +82 -0
  261. package/tabs-nav/Tab.d.ts +4 -0
  262. package/tabs-nav/Tab.js +132 -0
  263. package/tabs-nav/types.d.ts +53 -0
  264. package/tabs-nav/types.js +5 -0
  265. package/tag/Tag.d.ts +4 -0
  266. package/tag/Tag.js +183 -0
  267. package/tag/Tag.stories.tsx +142 -0
  268. package/tag/Tag.test.js +60 -0
  269. package/tag/types.d.ts +69 -0
  270. package/tag/types.js +5 -0
  271. package/text-input/Suggestion.d.ts +4 -0
  272. package/text-input/Suggestion.js +55 -0
  273. package/text-input/TextInput.d.ts +4 -0
  274. package/{dist/text-input → text-input}/TextInput.js +284 -485
  275. package/text-input/TextInput.stories.tsx +473 -0
  276. package/text-input/TextInput.test.js +1712 -0
  277. package/text-input/types.d.ts +178 -0
  278. package/text-input/types.js +5 -0
  279. package/textarea/Textarea.d.ts +4 -0
  280. package/{dist/textarea → textarea}/Textarea.js +50 -142
  281. package/textarea/Textarea.stories.jsx +157 -0
  282. package/textarea/Textarea.test.js +437 -0
  283. package/textarea/types.d.ts +137 -0
  284. package/textarea/types.js +5 -0
  285. package/toggle-group/ToggleGroup.d.ts +4 -0
  286. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +36 -148
  287. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  288. package/toggle-group/ToggleGroup.test.js +156 -0
  289. package/toggle-group/types.d.ts +105 -0
  290. package/toggle-group/types.js +5 -0
  291. package/typography/Typography.d.ts +4 -0
  292. package/typography/Typography.js +131 -0
  293. package/typography/Typography.stories.tsx +198 -0
  294. package/typography/types.d.ts +18 -0
  295. package/typography/types.js +5 -0
  296. package/useTheme.d.ts +2 -0
  297. package/{dist/useTheme.js → useTheme.js} +2 -2
  298. package/useTranslatedLabels.d.ts +2 -0
  299. package/useTranslatedLabels.js +20 -0
  300. package/wizard/Wizard.d.ts +4 -0
  301. package/wizard/Wizard.js +285 -0
  302. package/wizard/Wizard.stories.tsx +233 -0
  303. package/wizard/Wizard.test.js +141 -0
  304. package/wizard/types.d.ts +65 -0
  305. package/wizard/types.js +5 -0
  306. package/README.md +0 -66
  307. package/babel.config.js +0 -8
  308. package/dist/BackgroundColorContext.js +0 -46
  309. package/dist/ThemeContext.js +0 -248
  310. package/dist/V3Textarea/V3Textarea.js +0 -264
  311. package/dist/accordion/Accordion.js +0 -353
  312. package/dist/accordion-group/AccordionGroup.js +0 -186
  313. package/dist/alert/index.d.ts +0 -51
  314. package/dist/badge/Badge.js +0 -63
  315. package/dist/box/Box.js +0 -156
  316. package/dist/button/Button.js +0 -238
  317. package/dist/card/Card.js +0 -254
  318. package/dist/checkbox/Checkbox.stories.js +0 -144
  319. package/dist/checkbox/readme.md +0 -116
  320. package/dist/chip/Chip.js +0 -265
  321. package/dist/date/Date.js +0 -379
  322. package/dist/date/Date.stories.js +0 -205
  323. package/dist/date/readme.md +0 -73
  324. package/dist/date-input/index.d.ts +0 -95
  325. package/dist/dialog/Dialog.js +0 -218
  326. package/dist/file-input/FileInput.js +0 -644
  327. package/dist/file-input/FileItem.js +0 -280
  328. package/dist/file-input/index.d.ts +0 -81
  329. package/dist/footer/Footer.js +0 -421
  330. package/dist/header/Header.js +0 -434
  331. package/dist/input-text/Icons.js +0 -22
  332. package/dist/input-text/InputText.js +0 -705
  333. package/dist/layout/ApplicationLayout.js +0 -327
  334. package/dist/link/Link.js +0 -237
  335. package/dist/link/readme.md +0 -51
  336. package/dist/main.d.ts +0 -8
  337. package/dist/new-select/NewSelect.js +0 -836
  338. package/dist/new-select/index.d.ts +0 -53
  339. package/dist/number-input/NumberInput.js +0 -136
  340. package/dist/number-input/index.d.ts +0 -113
  341. package/dist/paginator/Paginator.js +0 -283
  342. package/dist/password-input/index.d.ts +0 -94
  343. package/dist/progress-bar/ProgressBar.js +0 -242
  344. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  345. package/dist/progress-bar/readme.md +0 -63
  346. package/dist/radio/Radio.js +0 -209
  347. package/dist/radio/Radio.stories.js +0 -166
  348. package/dist/radio/readme.md +0 -70
  349. package/dist/select/Select.js +0 -549
  350. package/dist/sidenav/Sidenav.js +0 -179
  351. package/dist/slider/readme.md +0 -64
  352. package/dist/spinner/Spinner.js +0 -381
  353. package/dist/spinner/Spinner.stories.js +0 -183
  354. package/dist/spinner/readme.md +0 -65
  355. package/dist/switch/Switch.js +0 -222
  356. package/dist/switch/Switch.stories.js +0 -134
  357. package/dist/switch/readme.md +0 -133
  358. package/dist/tabs/Tabs.js +0 -343
  359. package/dist/tabs/Tabs.stories.js +0 -130
  360. package/dist/tabs/readme.md +0 -78
  361. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  362. package/dist/tabs-for-sections/readme.md +0 -78
  363. package/dist/tag/Tag.js +0 -282
  364. package/dist/text-input/index.d.ts +0 -135
  365. package/dist/textarea/index.d.ts +0 -117
  366. package/dist/toggle/Toggle.js +0 -220
  367. package/dist/toggle/Toggle.stories.js +0 -297
  368. package/dist/toggle/readme.md +0 -80
  369. package/dist/upload/Upload.js +0 -205
  370. package/dist/upload/Upload.stories.js +0 -72
  371. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  372. package/dist/upload/buttons-upload/Icons.js +0 -40
  373. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  374. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  375. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  376. package/dist/upload/file-upload/FileToUpload.js +0 -184
  377. package/dist/upload/file-upload/audio-icon.svg +0 -4
  378. package/dist/upload/file-upload/close.svg +0 -4
  379. package/dist/upload/file-upload/file-icon.svg +0 -4
  380. package/dist/upload/file-upload/video-icon.svg +0 -4
  381. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  382. package/dist/upload/readme.md +0 -37
  383. package/dist/upload/transaction/Icons.js +0 -160
  384. package/dist/upload/transaction/Transaction.js +0 -148
  385. package/dist/upload/transactions/Transactions.js +0 -138
  386. package/dist/wizard/Icons.js +0 -65
  387. package/dist/wizard/Wizard.js +0 -405
  388. package/test/Accordion.test.js +0 -33
  389. package/test/AccordionGroup.test.js +0 -125
  390. package/test/Alert.test.js +0 -53
  391. package/test/Box.test.js +0 -10
  392. package/test/Button.test.js +0 -18
  393. package/test/Card.test.js +0 -30
  394. package/test/Checkbox.test.js +0 -45
  395. package/test/Chip.test.js +0 -25
  396. package/test/Date.test.js +0 -397
  397. package/test/DateInput.test.js +0 -242
  398. package/test/Dialog.test.js +0 -23
  399. package/test/Dropdown.test.js +0 -145
  400. package/test/FileInput.test.js +0 -201
  401. package/test/Footer.test.js +0 -94
  402. package/test/Header.test.js +0 -34
  403. package/test/Heading.test.js +0 -35
  404. package/test/InputText.test.js +0 -248
  405. package/test/Link.test.js +0 -43
  406. package/test/NumberInput.test.js +0 -259
  407. package/test/Paginator.test.js +0 -177
  408. package/test/PasswordInput.test.js +0 -83
  409. package/test/ProgressBar.test.js +0 -35
  410. package/test/Radio.test.js +0 -37
  411. package/test/ResultsetTable.test.js +0 -329
  412. package/test/Select.test.js +0 -212
  413. package/test/Sidenav.test.js +0 -45
  414. package/test/Slider.test.js +0 -74
  415. package/test/Spinner.test.js +0 -32
  416. package/test/Switch.test.js +0 -45
  417. package/test/Table.test.js +0 -36
  418. package/test/Tabs.test.js +0 -109
  419. package/test/TabsForSections.test.js +0 -34
  420. package/test/Tag.test.js +0 -32
  421. package/test/TextInput.test.js +0 -732
  422. package/test/Textarea.test.js +0 -193
  423. package/test/ToggleGroup.test.js +0 -85
  424. package/test/Upload.test.js +0 -60
  425. package/test/V3TextArea.test.js +0 -51
  426. package/test/Wizard.test.js +0 -130
  427. package/test/mocks/pngMock.js +0 -1
  428. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
20
+ var _variables = require("../common/variables.js");
21
+
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
23
+
24
+ var _BackgroundColorContext = require("../BackgroundColorContext");
25
+
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
27
+
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); }
29
+
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; }
31
+
32
+ var DxcDialog = function DxcDialog(_ref) {
33
+ var _ref$isCloseVisible = _ref.isCloseVisible,
34
+ isCloseVisible = _ref$isCloseVisible === void 0 ? true : _ref$isCloseVisible,
35
+ onCloseClick = _ref.onCloseClick,
36
+ children = _ref.children,
37
+ _ref$overlay = _ref.overlay,
38
+ overlay = _ref$overlay === void 0 ? true : _ref$overlay,
39
+ onBackgroundClick = _ref.onBackgroundClick,
40
+ _ref$padding = _ref.padding,
41
+ padding = _ref$padding === void 0 ? "small" : _ref$padding,
42
+ _ref$tabIndex = _ref.tabIndex,
43
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
44
+ var colorsTheme = (0, _useTheme["default"])();
45
+
46
+ var handleClose = function handleClose() {
47
+ onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
48
+ };
49
+
50
+ var handleOverlayClick = function handleOverlayClick() {
51
+ onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
52
+ };
53
+
54
+ var handleOnKeyDown = function handleOnKeyDown(event) {
55
+ if (event.key === "Escape") {
56
+ event.preventDefault();
57
+ handleClose();
58
+ }
59
+ };
60
+
61
+ (0, _react.useEffect)(function () {
62
+ if (isCloseVisible) {
63
+ window.addEventListener("keydown", handleOnKeyDown);
64
+ }
65
+
66
+ return function () {
67
+ window.removeEventListener("keydown", handleOnKeyDown);
68
+ };
69
+ }, [isCloseVisible]);
70
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
71
+ theme: colorsTheme.dialog
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, {
85
+ onClick: handleClose,
86
+ tabIndex: tabIndex
87
+ }, /*#__PURE__*/_react["default"].createElement(CloseIcon, {
88
+ xmlns: "http://www.w3.org/2000/svg",
89
+ width: "24",
90
+ height: "24",
91
+ viewBox: "0 0 24 24",
92
+ fill: "currentColor"
93
+ }, /*#__PURE__*/_react["default"].createElement("path", {
94
+ d: "M0 0h24v24H0V0z",
95
+ fill: "none"
96
+ }), /*#__PURE__*/_react["default"].createElement("path", {
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"
98
+ }))))));
99
+ };
100
+
101
+ var BodyStyle = (0, _styledComponents.createGlobalStyle)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n body {\n overflow: hidden;\n }\n"])));
102
+
103
+ var DialogContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n inset: 0px;\n height: 100%;\n z-index: 1300;\n"])));
104
+
105
+ var Overlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n inset: 0px;\n height: 100%;\n background-color: ", ";\n opacity: ", ";\n"])), function (props) {
106
+ return props.theme.overlayColor;
107
+ }, function (props) {
108
+ return props.theme.overlayOpacity;
109
+ });
110
+
111
+ var Dialog = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n z-index: 1300;\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n ", "\n box-sizing: border-box;\n box-shadow: ", ";\n border-radius: 4px;\n\n @media (min-width: ", "rem) {\n max-width: 80%;\n min-width: 800px;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 92%;\n min-width: 92%;\n }\n"])), function (props) {
112
+ return props.theme.backgroundColor;
113
+ }, function (props) {
114
+ return props.theme.fontFamily;
115
+ }, function (props) {
116
+ return props.theme.fontSize;
117
+ }, function (props) {
118
+ return props.theme.fontWeight;
119
+ }, function (props) {
120
+ return props.isCloseVisible && "min-height: 72px;";
121
+ }, function (props) {
122
+ return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
123
+ }, _variables.responsiveSizes.medium, _variables.responsiveSizes.medium);
124
+
125
+ var Children = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
126
+ return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
127
+ }, function (props) {
128
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
129
+ }, function (props) {
130
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
131
+ }, function (props) {
132
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
133
+ }, function (props) {
134
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
135
+ });
136
+
137
+ var CloseIconContainer = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n position: relative;\n top: 20px;\n right: 20px;\n color: ", ";\n width: ", ";\n height: ", ";\n"])), function (props) {
138
+ return props.theme.closeIconColor;
139
+ }, function (props) {
140
+ return props.theme.closeIconWidth;
141
+ }, function (props) {
142
+ return props.theme.closeIconHeight;
143
+ });
144
+
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) {
146
+ return props.theme.closeIconBackgroundColor;
147
+ }, function (props) {
148
+ return props.theme.closeIconWidth;
149
+ }, function (props) {
150
+ return props.theme.closeIconHeight;
151
+ }, function (props) {
152
+ return props.theme.closeIconBorderRadius;
153
+ }, function (props) {
154
+ return props.theme.closeIconBorderThickness;
155
+ }, function (props) {
156
+ return props.theme.closeIconBorderStyle;
157
+ }, function (props) {
158
+ return props.theme.closeIconBorderColor;
159
+ });
160
+
161
+ var _default = DxcDialog;
162
+ exports["default"] = _default;
@@ -0,0 +1,211 @@
1
+ import React from "react";
2
+ import DxcDialog from "./Dialog";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+
6
+ export default {
7
+ title: "Dialog ",
8
+ component: DxcDialog,
9
+ };
10
+
11
+ export const DefaultDialog = () => (
12
+ <>
13
+ <ExampleContainer expanded={true}>
14
+ <Title title="Default dialog" theme="light" level={4} />
15
+ <DxcDialog>
16
+ {" "}
17
+ <p>
18
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
19
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
20
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
21
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
22
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
23
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
24
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
25
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
26
+ dignissim, pharetra neque molestie, molestie lectus.
27
+ </p>{" "}
28
+ </DxcDialog>
29
+ </ExampleContainer>
30
+ </>
31
+ );
32
+
33
+ export const DialogWithoutOverlay = () => (
34
+ <ExampleContainer expanded={true}>
35
+ <Title title="Dialog Without Overlay" theme="light" level={4} />
36
+ <DxcDialog overlay={false}>
37
+ {" "}
38
+ <p>
39
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
40
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
41
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
42
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
43
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
44
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
45
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
46
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
47
+ dignissim, pharetra neque molestie, molestie lectus.
48
+ </p>{" "}
49
+ </DxcDialog>
50
+ </ExampleContainer>
51
+ );
52
+
53
+ export const DialogCloseVisibleFalse = () => (
54
+ <ExampleContainer expanded={true}>
55
+ <Title title="Dialog Close Visible" theme="dark" level={4} />
56
+ <DxcDialog isCloseVisible={false}>
57
+ {" "}
58
+ <p>
59
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
60
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
61
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
62
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
63
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
64
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
65
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
66
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
67
+ dignissim, pharetra neque molestie, molestie lectus.
68
+ </p>{" "}
69
+ </DxcDialog>
70
+ </ExampleContainer>
71
+ );
72
+
73
+ export const DialogWithXxsmallPadding = () => (
74
+ <ExampleContainer expanded={true}>
75
+ <Title title="Dialog With Xxsmall Padding" theme="light" level={4} />
76
+ <DxcDialog padding={"xxsmall"}>
77
+ {" "}
78
+ <p>
79
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
80
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
81
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
82
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
83
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
84
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
85
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
86
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
87
+ dignissim, pharetra neque molestie, molestie lectus.
88
+ </p>{" "}
89
+ </DxcDialog>
90
+ </ExampleContainer>
91
+ );
92
+
93
+ export const DialogWithXsmallPadding = () => (
94
+ <ExampleContainer expanded={true}>
95
+ <Title title="Dialog With Xsmall Padding" theme="light" level={4} />
96
+ <DxcDialog padding={"xsmall"}>
97
+ {" "}
98
+ <p>
99
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
100
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
101
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
102
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
103
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
104
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
105
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
106
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
107
+ dignissim, pharetra neque molestie, molestie lectus.
108
+ </p>{" "}
109
+ </DxcDialog>
110
+ </ExampleContainer>
111
+ );
112
+
113
+ export const DialogWithSmallPadding = () => (
114
+ <ExampleContainer expanded={true}>
115
+ <Title title="Dialog With Small Padding" theme="light" level={4} />
116
+ <DxcDialog padding={"small"}>
117
+ {" "}
118
+ <p>
119
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
120
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
121
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
122
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
123
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
124
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
125
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
126
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
127
+ dignissim, pharetra neque molestie, molestie lectus.
128
+ </p>{" "}
129
+ </DxcDialog>
130
+ </ExampleContainer>
131
+ );
132
+
133
+ export const DialogWithMediumPadding = () => (
134
+ <ExampleContainer expanded={true}>
135
+ <Title title="Dialog With Medium Padding" theme="light" level={4} />
136
+ <DxcDialog padding={"medium"}>
137
+ {" "}
138
+ <p>
139
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
140
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
141
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
142
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
143
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
144
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
145
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
146
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
147
+ dignissim, pharetra neque molestie, molestie lectus.
148
+ </p>{" "}
149
+ </DxcDialog>
150
+ </ExampleContainer>
151
+ );
152
+
153
+ export const DialogWithLargePadding = () => (
154
+ <ExampleContainer expanded={true}>
155
+ <Title title="Dialog With Large Padding" theme="light" level={4} />
156
+ <DxcDialog padding={"large"}>
157
+ {" "}
158
+ <p>
159
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
160
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
161
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
162
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
163
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
164
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
165
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
166
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
167
+ dignissim, pharetra neque molestie, molestie lectus.
168
+ </p>{" "}
169
+ </DxcDialog>
170
+ </ExampleContainer>
171
+ );
172
+
173
+ export const DialogWithXlargePadding = () => (
174
+ <ExampleContainer expanded={true}>
175
+ <Title title="Dialog With Xlarge Padding" theme="light" level={4} />
176
+ <DxcDialog padding={"xlarge"}>
177
+ {" "}
178
+ <p>
179
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
180
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
181
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
182
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
183
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
184
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
185
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
186
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
187
+ dignissim, pharetra neque molestie, molestie lectus.
188
+ </p>{" "}
189
+ </DxcDialog>
190
+ </ExampleContainer>
191
+ );
192
+
193
+ export const DialogWithXxlargePadding = () => (
194
+ <ExampleContainer expanded={true}>
195
+ <Title title="Dialog With Xxlarge Padding" theme="light" level={4} />
196
+ <DxcDialog padding={"xxlarge"}>
197
+ {" "}
198
+ <p>
199
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
200
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
201
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
202
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
203
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
204
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
205
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
206
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
207
+ dignissim, pharetra neque molestie, molestie lectus.
208
+ </p>{" "}
209
+ </DxcDialog>
210
+ </ExampleContainer>
211
+ );
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Dialog = _interopRequireDefault(require("./Dialog"));
10
+
11
+ describe("Dialog component tests", function () {
12
+ test("Dialog renders with correct text and accesibility attributes", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "dialog-text")),
14
+ getByText = _render.getByText,
15
+ getByRole = _render.getByRole;
16
+
17
+ expect(getByRole("dialog")).toBeTruthy();
18
+ expect(getByRole("dialog").getAttribute("aria-modal")).toBe("true");
19
+ expect(getByText("dialog-text")).toBeTruthy();
20
+ });
21
+ test("Dialog renders without close button", function () {
22
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
23
+ isCloseVisible: false
24
+ }, "dialog-text")),
25
+ queryByRole = _render2.queryByRole;
26
+
27
+ expect(queryByRole("button")).toBeFalsy();
28
+ });
29
+ test("Dialog renders with aria-modal false when overlay is not used", function () {
30
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
31
+ isCloseVisible: false,
32
+ overlay: false
33
+ }, "dialog-text")),
34
+ getByRole = _render3.getByRole;
35
+
36
+ expect(getByRole("dialog")).toBeTruthy();
37
+ expect(getByRole("dialog").getAttribute("aria-modal")).toBe("false");
38
+ });
39
+ test("Calls correct function onCloseClick", function () {
40
+ var onCloseClick = jest.fn();
41
+
42
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
43
+ onCloseClick: onCloseClick
44
+ }, "dialog-text")),
45
+ getByRole = _render4.getByRole;
46
+
47
+ var closeButton = getByRole("button");
48
+
49
+ _react2.fireEvent.click(closeButton);
50
+
51
+ expect(onCloseClick).toHaveBeenCalled();
52
+ });
53
+ test("Calls correct function onCloseClick when 'escape' key is pressed", function () {
54
+ var onCloseClick = jest.fn();
55
+
56
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
57
+ onCloseClick: onCloseClick
58
+ }, "dialog-text")),
59
+ getByRole = _render5.getByRole;
60
+
61
+ _react2.fireEvent.keyDown(getByRole("button"), {
62
+ key: "Escape",
63
+ code: "Escape",
64
+ keyCode: 27,
65
+ charCode: 27
66
+ });
67
+
68
+ expect(onCloseClick).toHaveBeenCalled();
69
+ });
70
+ });
@@ -0,0 +1,43 @@
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
+ * Size of the padding to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
30
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
31
+ */
32
+ padding?: Padding | Space;
33
+ /**
34
+ * Value of the tabindex given to the close 'x' button.
35
+ */
36
+ tabIndex?: number;
37
+ /**
38
+ * The area inside the dialog. This area can be used to render
39
+ * custom content.
40
+ */
41
+ children: React.ReactNode;
42
+ };
43
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import DropdownPropsType from "./types";
3
+ declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, onSelectOption, expandOnHover, margin, size, tabIndex, disabled, }: DropdownPropsType) => JSX.Element;
4
+ export default DxcDropdown;