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

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 (291) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +15 -47
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +8 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +15 -17
  12. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  13. package/accordion-group/AccordionGroup.test.js +151 -0
  14. package/accordion-group/types.d.ts +8 -8
  15. package/alert/Alert.js +6 -3
  16. package/alert/Alert.stories.tsx +170 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/alert/types.d.ts +1 -1
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -4
  21. package/badge/types.d.ts +5 -0
  22. package/{radio → badge}/types.js +0 -0
  23. package/bleed/Bleed.d.ts +3 -0
  24. package/bleed/Bleed.js +84 -0
  25. package/bleed/Bleed.stories.tsx +342 -0
  26. package/bleed/types.d.ts +37 -0
  27. package/bleed/types.js +5 -0
  28. package/box/Box.d.ts +1 -1
  29. package/box/Box.js +26 -39
  30. package/box/Box.test.js +18 -0
  31. package/box/types.d.ts +0 -4
  32. package/button/Button.d.ts +1 -1
  33. package/button/Button.js +24 -27
  34. package/button/Button.stories.tsx +222 -241
  35. package/button/Button.test.js +35 -0
  36. package/button/types.d.ts +5 -9
  37. package/card/Card.js +26 -30
  38. package/card/Card.stories.tsx +201 -0
  39. package/card/Card.test.js +50 -0
  40. package/card/ice-cream.jpg +0 -0
  41. package/card/types.d.ts +4 -6
  42. package/checkbox/Checkbox.d.ts +1 -1
  43. package/checkbox/Checkbox.js +45 -41
  44. package/checkbox/Checkbox.stories.tsx +124 -128
  45. package/checkbox/Checkbox.test.js +78 -0
  46. package/checkbox/types.d.ts +9 -5
  47. package/chip/Chip.d.ts +4 -0
  48. package/chip/Chip.js +16 -76
  49. package/chip/Chip.stories.tsx +119 -0
  50. package/chip/Chip.test.js +56 -0
  51. package/chip/types.d.ts +45 -0
  52. package/chip/types.js +5 -0
  53. package/common/variables.js +247 -346
  54. package/date-input/DateInput.js +63 -52
  55. package/date-input/DateInput.stories.tsx +138 -0
  56. package/date-input/DateInput.test.js +479 -0
  57. package/date-input/types.d.ts +16 -9
  58. package/dialog/Dialog.js +8 -35
  59. package/dialog/Dialog.stories.tsx +212 -0
  60. package/dialog/Dialog.test.js +40 -0
  61. package/dropdown/Dropdown.d.ts +1 -1
  62. package/dropdown/Dropdown.js +22 -48
  63. package/dropdown/Dropdown.stories.tsx +249 -0
  64. package/dropdown/Dropdown.test.js +189 -0
  65. package/dropdown/types.d.ts +6 -15
  66. package/file-input/FileInput.d.ts +4 -0
  67. package/file-input/FileInput.js +172 -111
  68. package/file-input/FileInput.stories.tsx +507 -0
  69. package/file-input/FileInput.test.js +457 -0
  70. package/file-input/FileItem.d.ts +14 -0
  71. package/file-input/FileItem.js +16 -23
  72. package/file-input/types.d.ts +112 -0
  73. package/file-input/types.js +5 -0
  74. package/footer/Footer.d.ts +1 -1
  75. package/footer/Footer.js +32 -113
  76. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
  77. package/footer/Footer.test.js +109 -0
  78. package/footer/Icons.d.ts +2 -0
  79. package/footer/Icons.js +3 -3
  80. package/footer/types.d.ts +22 -18
  81. package/header/Header.js +29 -50
  82. package/header/Header.stories.tsx +172 -0
  83. package/header/Header.test.js +79 -0
  84. package/header/Icons.d.ts +2 -0
  85. package/header/types.d.ts +4 -2
  86. package/heading/Heading.d.ts +4 -0
  87. package/heading/Heading.js +7 -24
  88. package/heading/Heading.stories.tsx +54 -0
  89. package/heading/Heading.test.js +186 -0
  90. package/heading/types.d.ts +33 -0
  91. package/heading/types.js +5 -0
  92. package/inset/Inset.d.ts +3 -0
  93. package/inset/Inset.js +84 -0
  94. package/inset/Inset.stories.tsx +229 -0
  95. package/inset/types.d.ts +37 -0
  96. package/inset/types.js +5 -0
  97. package/layout/ApplicationLayout.d.ts +11 -0
  98. package/layout/ApplicationLayout.js +84 -120
  99. package/layout/ApplicationLayout.stories.tsx +126 -0
  100. package/layout/Icons.d.ts +5 -0
  101. package/layout/Icons.js +13 -2
  102. package/layout/SidenavContext.d.ts +5 -0
  103. package/layout/SidenavContext.js +19 -0
  104. package/layout/types.d.ts +52 -0
  105. package/layout/types.js +5 -0
  106. package/link/Link.d.ts +3 -2
  107. package/link/Link.js +61 -86
  108. package/link/Link.stories.tsx +186 -0
  109. package/link/Link.test.js +83 -0
  110. package/link/types.d.ts +9 -29
  111. package/list/List.d.ts +4 -0
  112. package/list/List.js +47 -0
  113. package/list/List.stories.tsx +95 -0
  114. package/list/types.d.ts +7 -0
  115. package/list/types.js +5 -0
  116. package/main.d.ts +12 -9
  117. package/main.js +72 -42
  118. package/number-input/NumberInput.d.ts +4 -0
  119. package/number-input/NumberInput.js +16 -68
  120. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +5 -5
  121. package/number-input/NumberInput.test.js +506 -0
  122. package/number-input/NumberInputContext.d.ts +4 -0
  123. package/number-input/NumberInputContext.js +5 -2
  124. package/number-input/numberInputContextTypes.d.ts +19 -0
  125. package/number-input/numberInputContextTypes.js +5 -0
  126. package/number-input/types.d.ts +124 -0
  127. package/number-input/types.js +5 -0
  128. package/package.json +9 -6
  129. package/paginator/Paginator.js +19 -46
  130. package/paginator/Paginator.test.js +266 -0
  131. package/password-input/PasswordInput.js +23 -19
  132. package/password-input/PasswordInput.stories.tsx +3 -3
  133. package/password-input/PasswordInput.test.js +180 -0
  134. package/password-input/types.d.ts +29 -19
  135. package/progress-bar/ProgressBar.js +5 -5
  136. package/progress-bar/ProgressBar.stories.jsx +11 -11
  137. package/progress-bar/ProgressBar.test.js +65 -0
  138. package/quick-nav/QuickNav.d.ts +4 -0
  139. package/quick-nav/QuickNav.js +112 -0
  140. package/quick-nav/QuickNav.stories.tsx +237 -0
  141. package/quick-nav/types.d.ts +21 -0
  142. package/quick-nav/types.js +5 -0
  143. package/radio-group/Radio.d.ts +4 -0
  144. package/radio-group/Radio.js +141 -0
  145. package/radio-group/RadioGroup.d.ts +4 -0
  146. package/radio-group/RadioGroup.js +282 -0
  147. package/radio-group/RadioGroup.stories.tsx +100 -0
  148. package/radio-group/RadioGroup.test.js +695 -0
  149. package/radio-group/types.d.ts +114 -0
  150. package/radio-group/types.js +5 -0
  151. package/resultsetTable/ResultsetTable.d.ts +4 -0
  152. package/resultsetTable/ResultsetTable.js +9 -29
  153. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  154. package/resultsetTable/ResultsetTable.test.js +306 -0
  155. package/resultsetTable/types.d.ts +67 -0
  156. package/resultsetTable/types.js +5 -0
  157. package/row/Row.d.ts +3 -0
  158. package/row/Row.js +127 -0
  159. package/row/Row.stories.tsx +237 -0
  160. package/row/types.d.ts +28 -0
  161. package/row/types.js +5 -0
  162. package/select/Icons.d.ts +10 -0
  163. package/select/Icons.js +93 -0
  164. package/select/Listbox.d.ts +4 -0
  165. package/select/Listbox.js +152 -0
  166. package/select/Option.d.ts +4 -0
  167. package/select/Option.js +110 -0
  168. package/select/Select.d.ts +4 -0
  169. package/select/Select.js +122 -342
  170. package/select/Select.stories.tsx +594 -0
  171. package/select/Select.test.js +2120 -0
  172. package/select/types.d.ts +213 -0
  173. package/select/types.js +5 -0
  174. package/sidenav/Sidenav.d.ts +9 -0
  175. package/sidenav/Sidenav.js +26 -24
  176. package/sidenav/Sidenav.stories.tsx +182 -0
  177. package/sidenav/Sidenav.test.js +56 -0
  178. package/sidenav/types.d.ts +50 -0
  179. package/sidenav/types.js +5 -0
  180. package/slider/Slider.d.ts +1 -1
  181. package/slider/Slider.js +45 -33
  182. package/slider/Slider.stories.tsx +177 -0
  183. package/slider/Slider.test.js +150 -0
  184. package/slider/types.d.ts +6 -7
  185. package/spinner/Spinner.js +3 -3
  186. package/spinner/Spinner.stories.jsx +1 -0
  187. package/spinner/Spinner.test.js +64 -0
  188. package/stack/Stack.d.ts +3 -0
  189. package/stack/Stack.js +97 -0
  190. package/stack/Stack.stories.tsx +164 -0
  191. package/stack/types.d.ts +24 -0
  192. package/stack/types.js +5 -0
  193. package/switch/Switch.d.ts +1 -1
  194. package/switch/Switch.js +37 -21
  195. package/switch/Switch.stories.tsx +15 -15
  196. package/switch/Switch.test.js +98 -0
  197. package/switch/types.d.ts +6 -2
  198. package/table/Table.js +3 -3
  199. package/table/Table.stories.jsx +2 -1
  200. package/table/Table.test.js +26 -0
  201. package/tabs/Tabs.d.ts +1 -1
  202. package/tabs/Tabs.js +20 -20
  203. package/tabs/Tabs.stories.tsx +112 -0
  204. package/tabs/Tabs.test.js +140 -0
  205. package/tabs/types.d.ts +29 -18
  206. package/tabs-nav/NavTabs.d.ts +8 -0
  207. package/tabs-nav/NavTabs.js +125 -0
  208. package/tabs-nav/NavTabs.stories.tsx +170 -0
  209. package/tabs-nav/NavTabs.test.js +82 -0
  210. package/tabs-nav/Tab.d.ts +4 -0
  211. package/tabs-nav/Tab.js +132 -0
  212. package/tabs-nav/types.d.ts +53 -0
  213. package/tabs-nav/types.js +5 -0
  214. package/tag/Tag.d.ts +1 -1
  215. package/tag/Tag.js +18 -28
  216. package/tag/Tag.stories.tsx +26 -29
  217. package/tag/Tag.test.js +60 -0
  218. package/tag/types.d.ts +23 -14
  219. package/text/Text.d.ts +7 -0
  220. package/text/Text.js +30 -0
  221. package/text/Text.stories.tsx +19 -0
  222. package/text-input/Suggestion.d.ts +4 -0
  223. package/text-input/Suggestion.js +55 -0
  224. package/text-input/TextInput.d.ts +4 -0
  225. package/text-input/TextInput.js +91 -146
  226. package/text-input/TextInput.stories.tsx +474 -0
  227. package/text-input/TextInput.test.js +1712 -0
  228. package/text-input/types.d.ts +178 -0
  229. package/text-input/types.js +5 -0
  230. package/textarea/Textarea.d.ts +4 -0
  231. package/textarea/Textarea.js +39 -79
  232. package/textarea/Textarea.stories.jsx +37 -15
  233. package/textarea/Textarea.test.js +437 -0
  234. package/textarea/types.d.ts +137 -0
  235. package/textarea/types.js +5 -0
  236. package/toggle-group/ToggleGroup.d.ts +4 -0
  237. package/toggle-group/ToggleGroup.js +18 -46
  238. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  239. package/toggle-group/ToggleGroup.test.js +156 -0
  240. package/toggle-group/types.d.ts +105 -0
  241. package/toggle-group/types.js +5 -0
  242. package/useTheme.d.ts +2 -0
  243. package/useTheme.js +2 -2
  244. package/useTranslatedLabels.d.ts +2 -0
  245. package/useTranslatedLabels.js +20 -0
  246. package/wizard/Wizard.d.ts +4 -0
  247. package/wizard/Wizard.js +115 -94
  248. package/wizard/Wizard.stories.tsx +214 -0
  249. package/wizard/Wizard.test.js +141 -0
  250. package/wizard/types.d.ts +64 -0
  251. package/wizard/types.js +5 -0
  252. package/ThemeContext.js +0 -246
  253. package/V3Select/V3Select.js +0 -455
  254. package/V3Select/index.d.ts +0 -27
  255. package/V3Textarea/V3Textarea.js +0 -260
  256. package/V3Textarea/index.d.ts +0 -27
  257. package/chip/index.d.ts +0 -22
  258. package/date/Date.js +0 -373
  259. package/date/index.d.ts +0 -27
  260. package/file-input/index.d.ts +0 -81
  261. package/heading/index.d.ts +0 -17
  262. package/input-text/Icons.js +0 -22
  263. package/input-text/InputText.js +0 -611
  264. package/input-text/index.d.ts +0 -36
  265. package/number-input/index.d.ts +0 -113
  266. package/radio/Radio.d.ts +0 -4
  267. package/radio/Radio.js +0 -174
  268. package/radio/Radio.stories.tsx +0 -192
  269. package/radio/types.d.ts +0 -54
  270. package/resultsetTable/index.d.ts +0 -19
  271. package/select/index.d.ts +0 -131
  272. package/sidenav/index.d.ts +0 -13
  273. package/text-input/index.d.ts +0 -135
  274. package/textarea/index.d.ts +0 -117
  275. package/toggle/Toggle.js +0 -186
  276. package/toggle/index.d.ts +0 -21
  277. package/toggle-group/index.d.ts +0 -21
  278. package/upload/Upload.js +0 -201
  279. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  280. package/upload/buttons-upload/Icons.js +0 -40
  281. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  282. package/upload/dragAndDropArea/Icons.js +0 -39
  283. package/upload/file-upload/FileToUpload.js +0 -115
  284. package/upload/file-upload/Icons.js +0 -66
  285. package/upload/files-upload/FilesToUpload.js +0 -109
  286. package/upload/index.d.ts +0 -15
  287. package/upload/transaction/Icons.js +0 -160
  288. package/upload/transaction/Transaction.js +0 -104
  289. package/upload/transactions/Transactions.js +0 -94
  290. package/wizard/Icons.js +0 -65
  291. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,212 @@
1
+ import React from "react";
2
+ import { userEvent, within } from "@storybook/testing-library";
3
+ import DxcDialog from "./Dialog";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+
7
+ export default {
8
+ title: "Dialog ",
9
+ component: DxcDialog,
10
+ };
11
+
12
+ export const DefaultDialog = () => (
13
+ <>
14
+ <ExampleContainer expanded={true}>
15
+ <Title title="Default dialog" theme="light" level={4} />
16
+ <DxcDialog>
17
+ {" "}
18
+ <p>
19
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
20
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
21
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
22
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
23
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
24
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
25
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
26
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
27
+ dignissim, pharetra neque molestie, molestie lectus.
28
+ </p>{" "}
29
+ </DxcDialog>
30
+ </ExampleContainer>
31
+ </>
32
+ );
33
+
34
+ export const DialogWithoutOverlay = () => (
35
+ <ExampleContainer expanded={true}>
36
+ <Title title="Dialog Without Overlay" theme="light" level={4} />
37
+ <DxcDialog overlay={false}>
38
+ {" "}
39
+ <p>
40
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
41
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
42
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
43
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
44
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
45
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
46
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
47
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
48
+ dignissim, pharetra neque molestie, molestie lectus.
49
+ </p>{" "}
50
+ </DxcDialog>
51
+ </ExampleContainer>
52
+ );
53
+
54
+ export const DialogCloseVisibleFalse = () => (
55
+ <ExampleContainer expanded={true}>
56
+ <Title title="Dialog Close Visible" theme="dark" level={4} />
57
+ <DxcDialog isCloseVisible={false}>
58
+ {" "}
59
+ <p>
60
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
61
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
62
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
63
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
64
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
65
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
66
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
67
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
68
+ dignissim, pharetra neque molestie, molestie lectus.
69
+ </p>{" "}
70
+ </DxcDialog>
71
+ </ExampleContainer>
72
+ );
73
+
74
+ export const DialogWithXxsmallPadding = () => (
75
+ <ExampleContainer expanded={true}>
76
+ <Title title="Dialog With Xxsmall Padding" theme="light" level={4} />
77
+ <DxcDialog padding={"xxsmall"}>
78
+ {" "}
79
+ <p>
80
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
81
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
82
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
83
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
84
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
85
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
86
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
87
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
88
+ dignissim, pharetra neque molestie, molestie lectus.
89
+ </p>{" "}
90
+ </DxcDialog>
91
+ </ExampleContainer>
92
+ );
93
+
94
+ export const DialogWithXsmallPadding = () => (
95
+ <ExampleContainer expanded={true}>
96
+ <Title title="Dialog With Xsmall Padding" theme="light" level={4} />
97
+ <DxcDialog padding={"xsmall"}>
98
+ {" "}
99
+ <p>
100
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
101
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
102
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
103
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
104
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
105
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
106
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
107
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
108
+ dignissim, pharetra neque molestie, molestie lectus.
109
+ </p>{" "}
110
+ </DxcDialog>
111
+ </ExampleContainer>
112
+ );
113
+
114
+ export const DialogWithSmallPadding = () => (
115
+ <ExampleContainer expanded={true}>
116
+ <Title title="Dialog With Small Padding" theme="light" level={4} />
117
+ <DxcDialog padding={"small"}>
118
+ {" "}
119
+ <p>
120
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
121
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
122
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
123
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
124
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
125
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
126
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
127
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
128
+ dignissim, pharetra neque molestie, molestie lectus.
129
+ </p>{" "}
130
+ </DxcDialog>
131
+ </ExampleContainer>
132
+ );
133
+
134
+ export const DialogWithMediumPadding = () => (
135
+ <ExampleContainer expanded={true}>
136
+ <Title title="Dialog With Medium Padding" theme="light" level={4} />
137
+ <DxcDialog padding={"medium"}>
138
+ {" "}
139
+ <p>
140
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
141
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
142
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
143
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
144
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
145
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
146
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
147
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
148
+ dignissim, pharetra neque molestie, molestie lectus.
149
+ </p>{" "}
150
+ </DxcDialog>
151
+ </ExampleContainer>
152
+ );
153
+
154
+ export const DialogWithLargePadding = () => (
155
+ <ExampleContainer expanded={true}>
156
+ <Title title="Dialog With Large Padding" theme="light" level={4} />
157
+ <DxcDialog padding={"large"}>
158
+ {" "}
159
+ <p>
160
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
161
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
162
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
163
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
164
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
165
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
166
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
167
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
168
+ dignissim, pharetra neque molestie, molestie lectus.
169
+ </p>{" "}
170
+ </DxcDialog>
171
+ </ExampleContainer>
172
+ );
173
+
174
+ export const DialogWithXlargePadding = () => (
175
+ <ExampleContainer expanded={true}>
176
+ <Title title="Dialog With Xlarge Padding" theme="light" level={4} />
177
+ <DxcDialog padding={"xlarge"}>
178
+ {" "}
179
+ <p>
180
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
181
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
182
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
183
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
184
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
185
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
186
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
187
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
188
+ dignissim, pharetra neque molestie, molestie lectus.
189
+ </p>{" "}
190
+ </DxcDialog>
191
+ </ExampleContainer>
192
+ );
193
+
194
+ export const DialogWithXxlargePadding = () => (
195
+ <ExampleContainer expanded={true}>
196
+ <Title title="Dialog With Xxlarge Padding" theme="light" level={4} />
197
+ <DxcDialog padding={"xxlarge"}>
198
+ {" "}
199
+ <p>
200
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
201
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
202
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
203
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
204
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
205
+ enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
206
+ fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
207
+ augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
208
+ dignissim, pharetra neque molestie, molestie lectus.
209
+ </p>{" "}
210
+ </DxcDialog>
211
+ </ExampleContainer>
212
+ );
@@ -0,0 +1,40 @@
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", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "dialog-text")),
14
+ getByText = _render.getByText;
15
+
16
+ expect(getByText("dialog-text")).toBeTruthy();
17
+ });
18
+ test("Dialog renders without close button", function () {
19
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
20
+ isCloseVisible: false
21
+ }, "dialog-text")),
22
+ queryByRole = _render2.queryByRole;
23
+
24
+ expect(queryByRole("button")).toBeFalsy();
25
+ });
26
+ test("Calls correct function onCloseClick", function () {
27
+ var onCloseClick = jest.fn();
28
+
29
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
30
+ onCloseClick: onCloseClick
31
+ }, "dialog-text")),
32
+ getByRole = _render3.getByRole;
33
+
34
+ var closeButton = getByRole("button");
35
+
36
+ _react2.fireEvent.click(closeButton);
37
+
38
+ expect(onCloseClick).toHaveBeenCalled();
39
+ });
40
+ });
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import DropdownPropsType from "./types";
3
- declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconSrc, iconPosition, label, caretHidden, onSelectOption, expandOnHover, margin, size, tabIndex, disabled, }: DropdownPropsType) => JSX.Element;
3
+ declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, onSelectOption, expandOnHover, margin, size, tabIndex, disabled, }: DropdownPropsType) => JSX.Element;
4
4
  export default DxcDropdown;
@@ -9,10 +9,10 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
@@ -35,7 +35,7 @@ var _variables = require("../common/variables.js");
35
35
 
36
36
  var _utils = require("../common/utils.js");
37
37
 
38
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
38
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
39
39
 
40
40
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
41
41
 
@@ -48,8 +48,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
48
48
  _ref$optionsIconPosit = _ref.optionsIconPosition,
49
49
  optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
50
50
  icon = _ref.icon,
51
- _ref$iconSrc = _ref.iconSrc,
52
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
53
51
  _ref$iconPosition = _ref.iconPosition,
54
52
  iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
55
53
  _ref$label = _ref.label,
@@ -140,6 +138,11 @@ var DxcDropdown = function DxcDropdown(_ref) {
140
138
  }));
141
139
  };
142
140
 
141
+ var labelComponent = /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, {
142
+ iconPosition: iconPosition,
143
+ label: label
144
+ }, label);
145
+
143
146
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
144
147
  theme: colorsTheme.dropdown
145
148
  }, /*#__PURE__*/_react["default"].createElement(DXCDropdownContainer, {
@@ -162,20 +165,14 @@ var DxcDropdown = function DxcDropdown(_ref) {
162
165
  ref: ref,
163
166
  tabIndex: tabIndex
164
167
  }, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContainer, {
165
- iconPosition: iconPosition,
166
168
  caretHidden: caretHidden
167
- }, icon ? /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
169
+ }, iconPosition === "after" && labelComponent, icon && /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
168
170
  label: label,
169
171
  iconPosition: iconPosition,
170
172
  disabled: disabled
171
- }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
172
- label: label,
173
- src: iconSrc,
174
- iconPosition: iconPosition
175
- }), /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, {
176
- iconPosition: iconPosition,
177
- label: label
178
- }, label)), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
173
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
174
+ src: icon
175
+ }) : icon), iconPosition === "before" && labelComponent), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
179
176
  caretHidden: caretHidden,
180
177
  disabled: disabled
181
178
  }, !caretHidden && (anchorEl === null ? /*#__PURE__*/_react["default"].createElement(DownArrowIcon, null) : /*#__PURE__*/_react["default"].createElement(UpArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(DXCMenu, {
@@ -191,7 +188,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
191
188
  vertical: "top",
192
189
  horizontal: "left"
193
190
  },
194
- optionsIconPosition: optionsIconPosition,
195
191
  size: size,
196
192
  width: width,
197
193
  role: undefined,
@@ -213,14 +209,14 @@ var DxcDropdown = function DxcDropdown(_ref) {
213
209
  onClick: function onClick(event) {
214
210
  return handleMenuItemClick(option);
215
211
  }
216
- }, option.icon ? /*#__PURE__*/_react["default"].createElement(ListIconContainer, {
217
- label: option.label,
218
- iconPosition: optionsIconPosition
219
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)) : option.iconSrc && /*#__PURE__*/_react["default"].createElement(ListIcon, {
212
+ }, optionsIconPosition === "after" && /*#__PURE__*/_react["default"].createElement("span", {
213
+ className: "optionLabel"
214
+ }, option.label), option.icon && /*#__PURE__*/_react["default"].createElement(ListIconContainer, {
220
215
  label: option.label,
221
- src: option.iconSrc,
222
216
  iconPosition: optionsIconPosition
223
- }), /*#__PURE__*/_react["default"].createElement("span", {
217
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(ListIcon, {
218
+ src: option.icon
219
+ }) : option.icon), optionsIconPosition === "before" && /*#__PURE__*/_react["default"].createElement("span", {
224
220
  className: "optionLabel"
225
221
  }, option.label));
226
222
  })))));
@@ -257,7 +253,7 @@ var DXCDropdownContainer = _styledComponents["default"].div(_templateObject || (
257
253
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
258
254
  });
259
255
 
260
- var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n flex-direction: ", ";\n justify-content: ", ";\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:focus {\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n }\n .MuiListItem-button:active {\n background-color: ", ";\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n }\n"])), function (props) {
256
+ var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:focus {\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n }\n .MuiListItem-button:active {\n background-color: ", ";\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n }\n"])), function (props) {
261
257
  return calculateWidth(props.margin, props.size);
262
258
  }, function (props) {
263
259
  return props.theme.optionPaddingTop;
@@ -283,10 +279,6 @@ var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObj
283
279
  return props.theme.scrollBarTrackColor;
284
280
  }, function (props) {
285
281
  return props.theme.scrollBarThumbColor;
286
- }, function (props) {
287
- return props.optionsIconPosition === "after" && "row-reverse" || "row";
288
- }, function (props) {
289
- return props.optionsIconPosition === "after" && "flex-end" || "";
290
282
  }, function (props) {
291
283
  return props.theme.optionBackgroundColor;
292
284
  }, function (props) {
@@ -351,21 +343,11 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_
351
343
 
352
344
  var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
353
345
 
354
- var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-direction: ", ";\n margin-left: 0px;\n margin-right: 0px;\n width: ", ";\n white-space: nowrap;\n"])), function (props) {
355
- return props.iconPosition === "after" && "row-reverse" || "row";
356
- }, function (props) {
346
+ var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-left: 0px;\n margin-right: 0px;\n width: ", ";\n white-space: nowrap;\n"])), function (props) {
357
347
  return props.caretHidden ? "100%" : "calc(100% - 36px)";
358
348
  });
359
349
 
360
- var ButtonIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
361
- return props.theme.buttonIconSize;
362
- }, function (props) {
363
- return props.theme.buttonIconSize;
364
- }, function (props) {
365
- return props.iconPosition === "after" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
366
- }, function (props) {
367
- return props.iconPosition === "before" && props.label !== "" && props.theme.buttonIconSpacing || "0px";
368
- });
350
+ var ButtonIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
369
351
 
370
352
  var ButtonIconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
371
353
  return props.theme.buttonIconSize;
@@ -379,15 +361,7 @@ var ButtonIconContainer = _styledComponents["default"].div(_templateObject7 || (
379
361
  return props.disabled ? props.theme.disabledColor : props.theme.buttonIconColor;
380
362
  });
381
363
 
382
- var ListIcon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
383
- return props.theme.optionIconSize;
384
- }, function (props) {
385
- return props.theme.optionIconSize;
386
- }, function (props) {
387
- return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
388
- }, function (props) {
389
- return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
390
- });
364
+ var ListIcon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])([""])));
391
365
 
392
366
  var ListIconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
393
367
  return props.theme.optionIconSize;