@dxc-technology/halstack-react 0.0.0-2c3a5e1 → 0.0.0-2d5bb6f

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 (294) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -11
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +123 -167
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +10 -5
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +28 -77
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +108 -0
  14. package/accordion-group/types.d.ts +17 -6
  15. package/alert/Alert.js +18 -46
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +75 -0
  18. package/alert/types.d.ts +3 -3
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -16
  21. package/badge/types.d.ts +5 -0
  22. package/bleed/Bleed.js +14 -55
  23. package/bleed/Bleed.stories.tsx +94 -95
  24. package/bleed/types.d.ts +26 -2
  25. package/box/Box.js +34 -63
  26. package/box/Box.stories.tsx +15 -0
  27. package/box/Box.test.js +13 -0
  28. package/box/types.d.ts +5 -4
  29. package/bulleted-list/BulletedList.d.ts +7 -0
  30. package/bulleted-list/BulletedList.js +98 -0
  31. package/bulleted-list/BulletedList.stories.tsx +200 -0
  32. package/bulleted-list/types.d.ts +11 -0
  33. package/button/Button.js +61 -100
  34. package/button/Button.stories.tsx +159 -8
  35. package/button/Button.test.js +26 -0
  36. package/button/types.d.ts +8 -8
  37. package/card/Card.js +44 -70
  38. package/card/Card.test.js +39 -0
  39. package/card/types.d.ts +4 -3
  40. package/checkbox/Checkbox.d.ts +2 -2
  41. package/checkbox/Checkbox.js +115 -162
  42. package/checkbox/Checkbox.stories.tsx +198 -130
  43. package/checkbox/Checkbox.test.js +128 -0
  44. package/checkbox/types.d.ts +14 -6
  45. package/chip/Chip.js +26 -50
  46. package/chip/Chip.stories.tsx +96 -9
  47. package/chip/Chip.test.js +42 -0
  48. package/chip/types.d.ts +4 -4
  49. package/common/utils.js +1 -6
  50. package/common/variables.d.ts +1431 -0
  51. package/common/variables.js +480 -553
  52. package/date-input/Calendar.d.ts +4 -0
  53. package/date-input/Calendar.js +215 -0
  54. package/date-input/DateInput.js +164 -300
  55. package/date-input/DateInput.stories.tsx +199 -33
  56. package/date-input/DateInput.test.js +648 -0
  57. package/date-input/DatePicker.d.ts +4 -0
  58. package/date-input/DatePicker.js +116 -0
  59. package/date-input/Icons.d.ts +6 -0
  60. package/date-input/Icons.js +63 -0
  61. package/date-input/YearPicker.d.ts +4 -0
  62. package/date-input/YearPicker.js +101 -0
  63. package/date-input/types.d.ts +71 -13
  64. package/dialog/Dialog.js +52 -84
  65. package/dialog/Dialog.stories.tsx +99 -22
  66. package/dialog/Dialog.test.js +56 -0
  67. package/dialog/types.d.ts +4 -3
  68. package/dropdown/Dropdown.d.ts +1 -1
  69. package/dropdown/Dropdown.js +239 -300
  70. package/dropdown/Dropdown.stories.tsx +245 -56
  71. package/dropdown/Dropdown.test.js +479 -0
  72. package/dropdown/DropdownMenu.d.ts +4 -0
  73. package/dropdown/DropdownMenu.js +60 -0
  74. package/dropdown/DropdownMenuItem.d.ts +4 -0
  75. package/dropdown/DropdownMenuItem.js +70 -0
  76. package/dropdown/types.d.ts +26 -6
  77. package/file-input/FileInput.d.ts +2 -2
  78. package/file-input/FileInput.js +224 -351
  79. package/file-input/FileInput.stories.tsx +122 -11
  80. package/file-input/FileInput.test.js +445 -0
  81. package/file-input/FileItem.d.ts +4 -14
  82. package/file-input/FileItem.js +48 -97
  83. package/file-input/types.d.ts +24 -7
  84. package/flex/Flex.d.ts +4 -0
  85. package/flex/Flex.js +57 -0
  86. package/flex/Flex.stories.tsx +103 -0
  87. package/flex/types.d.ts +32 -0
  88. package/footer/Footer.js +28 -133
  89. package/footer/Footer.stories.tsx +99 -1
  90. package/footer/Footer.test.js +92 -0
  91. package/footer/Icons.js +1 -5
  92. package/footer/types.d.ts +7 -6
  93. package/header/Header.js +112 -177
  94. package/header/Header.stories.tsx +189 -36
  95. package/header/Header.test.js +66 -0
  96. package/header/Icons.js +2 -6
  97. package/header/types.d.ts +4 -3
  98. package/heading/Heading.js +8 -29
  99. package/heading/Heading.test.js +169 -0
  100. package/heading/types.d.ts +3 -3
  101. package/inset/Inset.js +14 -55
  102. package/inset/Inset.stories.tsx +36 -36
  103. package/inset/types.d.ts +26 -2
  104. package/layout/ApplicationLayout.d.ts +16 -6
  105. package/layout/ApplicationLayout.js +71 -164
  106. package/layout/ApplicationLayout.stories.tsx +84 -93
  107. package/layout/Icons.d.ts +5 -0
  108. package/layout/Icons.js +11 -10
  109. package/layout/SidenavContext.d.ts +5 -0
  110. package/layout/SidenavContext.js +15 -0
  111. package/layout/types.d.ts +18 -33
  112. package/link/Link.d.ts +3 -2
  113. package/link/Link.js +61 -106
  114. package/link/Link.stories.tsx +159 -52
  115. package/link/Link.test.js +65 -0
  116. package/link/types.d.ts +9 -29
  117. package/main.d.ts +10 -15
  118. package/main.js +43 -124
  119. package/nav-tabs/NavTabs.d.ts +8 -0
  120. package/nav-tabs/NavTabs.js +95 -0
  121. package/nav-tabs/NavTabs.stories.tsx +260 -0
  122. package/nav-tabs/NavTabs.test.js +75 -0
  123. package/nav-tabs/Tab.d.ts +4 -0
  124. package/nav-tabs/Tab.js +120 -0
  125. package/nav-tabs/types.d.ts +53 -0
  126. package/number-input/NumberInput.js +21 -38
  127. package/number-input/NumberInput.stories.tsx +5 -5
  128. package/number-input/NumberInput.test.js +406 -0
  129. package/number-input/NumberInputContext.js +0 -5
  130. package/number-input/numberInputContextTypes.d.ts +1 -1
  131. package/number-input/types.d.ts +21 -14
  132. package/package.json +22 -25
  133. package/paginator/Icons.d.ts +5 -0
  134. package/paginator/Icons.js +16 -38
  135. package/paginator/Paginator.js +31 -82
  136. package/paginator/Paginator.stories.tsx +24 -0
  137. package/paginator/Paginator.test.js +266 -0
  138. package/paginator/types.d.ts +1 -1
  139. package/paragraph/Paragraph.d.ts +6 -0
  140. package/paragraph/Paragraph.js +28 -0
  141. package/paragraph/Paragraph.stories.tsx +44 -0
  142. package/password-input/PasswordInput.js +28 -54
  143. package/password-input/PasswordInput.test.js +138 -0
  144. package/password-input/types.d.ts +18 -15
  145. package/progress-bar/ProgressBar.d.ts +2 -2
  146. package/progress-bar/ProgressBar.js +65 -84
  147. package/progress-bar/ProgressBar.stories.jsx +47 -12
  148. package/progress-bar/ProgressBar.test.js +93 -0
  149. package/progress-bar/types.d.ts +3 -4
  150. package/quick-nav/QuickNav.d.ts +4 -0
  151. package/quick-nav/QuickNav.js +95 -0
  152. package/quick-nav/QuickNav.stories.tsx +356 -0
  153. package/quick-nav/types.d.ts +21 -0
  154. package/quick-nav/types.js +5 -0
  155. package/radio-group/Radio.d.ts +1 -1
  156. package/radio-group/Radio.js +55 -70
  157. package/radio-group/RadioGroup.js +91 -126
  158. package/radio-group/RadioGroup.stories.tsx +171 -36
  159. package/radio-group/RadioGroup.test.js +529 -157
  160. package/radio-group/types.d.ts +86 -8
  161. package/resultsetTable/Icons.d.ts +7 -0
  162. package/resultsetTable/Icons.js +48 -0
  163. package/resultsetTable/ResultsetTable.js +66 -157
  164. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  165. package/resultsetTable/ResultsetTable.test.js +292 -0
  166. package/resultsetTable/types.d.ts +5 -5
  167. package/select/Icons.d.ts +10 -0
  168. package/select/Icons.js +90 -0
  169. package/select/Listbox.d.ts +4 -0
  170. package/select/Listbox.js +144 -0
  171. package/select/Option.d.ts +4 -0
  172. package/select/Option.js +81 -0
  173. package/select/Select.js +201 -485
  174. package/select/Select.stories.tsx +600 -201
  175. package/select/Select.test.js +1845 -0
  176. package/select/types.d.ts +62 -22
  177. package/sidenav/Sidenav.d.ts +6 -5
  178. package/sidenav/Sidenav.js +164 -74
  179. package/sidenav/Sidenav.stories.tsx +249 -149
  180. package/sidenav/Sidenav.test.js +37 -0
  181. package/sidenav/types.d.ts +50 -27
  182. package/slider/Slider.d.ts +2 -2
  183. package/slider/Slider.js +143 -164
  184. package/slider/Slider.stories.tsx +72 -9
  185. package/slider/Slider.test.js +222 -0
  186. package/slider/types.d.ts +11 -3
  187. package/spinner/Spinner.js +12 -41
  188. package/spinner/Spinner.stories.jsx +27 -1
  189. package/spinner/Spinner.test.js +55 -0
  190. package/spinner/types.d.ts +3 -3
  191. package/switch/Switch.d.ts +2 -2
  192. package/switch/Switch.js +148 -107
  193. package/switch/Switch.stories.tsx +53 -42
  194. package/switch/Switch.test.js +180 -0
  195. package/switch/types.d.ts +13 -5
  196. package/table/Table.js +5 -23
  197. package/table/Table.stories.jsx +80 -1
  198. package/table/Table.test.js +21 -0
  199. package/table/types.d.ts +3 -3
  200. package/tabs/Tab.d.ts +4 -0
  201. package/tabs/Tab.js +115 -0
  202. package/tabs/Tabs.d.ts +1 -1
  203. package/tabs/Tabs.js +318 -139
  204. package/tabs/Tabs.stories.tsx +119 -13
  205. package/tabs/Tabs.test.js +295 -0
  206. package/tabs/types.d.ts +21 -7
  207. package/tag/Tag.js +34 -68
  208. package/tag/Tag.stories.tsx +25 -8
  209. package/tag/Tag.test.js +49 -0
  210. package/tag/types.d.ts +7 -7
  211. package/text-input/Icons.d.ts +8 -0
  212. package/text-input/Icons.js +57 -0
  213. package/text-input/Suggestion.d.ts +4 -0
  214. package/text-input/Suggestion.js +68 -0
  215. package/text-input/Suggestions.d.ts +4 -0
  216. package/text-input/Suggestions.js +109 -0
  217. package/text-input/TextInput.js +232 -438
  218. package/text-input/TextInput.stories.tsx +310 -197
  219. package/text-input/TextInput.test.js +1404 -0
  220. package/text-input/types.d.ts +55 -17
  221. package/textarea/Textarea.js +53 -96
  222. package/textarea/Textarea.stories.jsx +93 -13
  223. package/textarea/Textarea.test.js +360 -0
  224. package/textarea/types.d.ts +22 -15
  225. package/toggle-group/ToggleGroup.d.ts +1 -1
  226. package/toggle-group/ToggleGroup.js +23 -57
  227. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  228. package/toggle-group/ToggleGroup.test.js +124 -0
  229. package/toggle-group/types.d.ts +19 -11
  230. package/translatedLabelsType.d.ts +82 -0
  231. package/translatedLabelsType.js +5 -0
  232. package/typography/Typography.d.ts +4 -0
  233. package/typography/Typography.js +119 -0
  234. package/typography/Typography.stories.tsx +198 -0
  235. package/typography/types.d.ts +18 -0
  236. package/typography/types.js +5 -0
  237. package/useTheme.d.ts +1 -1
  238. package/useTheme.js +3 -9
  239. package/useTranslatedLabels.d.ts +3 -0
  240. package/useTranslatedLabels.js +15 -0
  241. package/wizard/Wizard.d.ts +1 -1
  242. package/wizard/Wizard.js +68 -98
  243. package/wizard/Wizard.stories.tsx +48 -19
  244. package/wizard/Wizard.test.js +114 -0
  245. package/wizard/types.d.ts +12 -7
  246. package/ThemeContext.d.ts +0 -15
  247. package/ThemeContext.js +0 -243
  248. package/V3Select/V3Select.js +0 -455
  249. package/V3Select/index.d.ts +0 -27
  250. package/V3Textarea/V3Textarea.js +0 -260
  251. package/V3Textarea/index.d.ts +0 -27
  252. package/common/RequiredComponent.js +0 -32
  253. package/date/Date.js +0 -373
  254. package/date/index.d.ts +0 -27
  255. package/input-text/Icons.js +0 -22
  256. package/input-text/InputText.js +0 -611
  257. package/input-text/index.d.ts +0 -36
  258. package/list/List.d.ts +0 -4
  259. package/list/List.js +0 -47
  260. package/list/List.stories.tsx +0 -95
  261. package/list/types.d.ts +0 -7
  262. package/radio/Radio.d.ts +0 -4
  263. package/radio/Radio.js +0 -174
  264. package/radio/Radio.stories.tsx +0 -192
  265. package/radio/types.d.ts +0 -54
  266. package/row/Row.d.ts +0 -3
  267. package/row/Row.js +0 -127
  268. package/row/Row.stories.tsx +0 -237
  269. package/row/types.d.ts +0 -10
  270. package/stack/Stack.d.ts +0 -3
  271. package/stack/Stack.js +0 -97
  272. package/stack/Stack.stories.tsx +0 -164
  273. package/stack/types.d.ts +0 -9
  274. package/text/Text.d.ts +0 -7
  275. package/text/Text.js +0 -30
  276. package/text/Text.stories.tsx +0 -19
  277. package/toggle/Toggle.js +0 -186
  278. package/toggle/index.d.ts +0 -21
  279. package/upload/Upload.js +0 -201
  280. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  281. package/upload/buttons-upload/Icons.js +0 -40
  282. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  283. package/upload/dragAndDropArea/Icons.js +0 -39
  284. package/upload/file-upload/FileToUpload.js +0 -115
  285. package/upload/file-upload/Icons.js +0 -66
  286. package/upload/files-upload/FilesToUpload.js +0 -109
  287. package/upload/index.d.ts +0 -15
  288. package/upload/transaction/Icons.js +0 -160
  289. package/upload/transaction/Transaction.js +0 -104
  290. package/upload/transactions/Transactions.js +0 -94
  291. /package/{list → badge}/types.js +0 -0
  292. /package/{radio → bulleted-list}/types.js +0 -0
  293. /package/{row → flex}/types.js +0 -0
  294. /package/{stack → nav-tabs}/types.js +0 -0
@@ -1,20 +1,31 @@
1
1
  import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
3
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";
4
7
  import Title from "../../.storybook/components/Title";
5
8
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
9
+ import { HalstackProvider } from "../HalstackContext";
6
10
 
7
11
  export default {
8
12
  title: "Dialog ",
9
13
  component: DxcDialog,
10
14
  };
11
15
 
16
+ const opinionatedTheme = {
17
+ dialog: {
18
+ baseColor: "#ffffff",
19
+ closeIconColor: "#000000",
20
+ overlayColor: "#000000b3",
21
+ },
22
+ };
23
+
12
24
  export const DefaultDialog = () => (
13
25
  <>
14
26
  <ExampleContainer expanded={true}>
15
27
  <Title title="Default dialog" theme="light" level={4} />
16
28
  <DxcDialog>
17
- {" "}
18
29
  <p>
19
30
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
20
31
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -25,7 +36,74 @@ export const DefaultDialog = () => (
25
36
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
26
37
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
27
38
  dignissim, pharetra neque molestie, molestie lectus.
28
- </p>{" "}
39
+ </p>
40
+ </DxcDialog>
41
+ </ExampleContainer>
42
+ </>
43
+ );
44
+
45
+ export const DefaultDialogOpinionated = () => (
46
+ <>
47
+ <ExampleContainer expanded={true}>
48
+ <Title title="Default dialog" theme="light" level={4} />
49
+ <HalstackProvider theme={opinionatedTheme}>
50
+ <DxcDialog>
51
+ <p>
52
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
53
+ placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
54
+ elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
55
+ tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
56
+ eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue
57
+ gravida enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare,
58
+ malesuada urna eu, fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam
59
+ sit amet maximus augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo.
60
+ Praesent quis nunc dignissim, pharetra neque molestie, molestie lectus.
61
+ </p>
62
+ </DxcDialog>
63
+ </HalstackProvider>
64
+ </ExampleContainer>
65
+ </>
66
+ );
67
+
68
+ export const DialogWithInputs = () => (
69
+ <>
70
+ <ExampleContainer expanded={true}>
71
+ <Title title="Dialog with inputs" theme="light" level={4} />
72
+ <DxcDialog>
73
+ <DxcInset bottom="1rem">
74
+ <DxcFlex gap="2rem" direction="column">
75
+ <DxcFlex gap="1rem" direction="column">
76
+ <DxcTextInput size="fillParent" label="Name"></DxcTextInput>
77
+ <DxcTextInput size="fillParent" label="Surname"></DxcTextInput>
78
+ </DxcFlex>
79
+ <DxcFlex justifyContent="flex-end" gap="1rem">
80
+ <DxcButton label="Save"></DxcButton>
81
+ <DxcButton label="Cancel" mode="secondary"></DxcButton>
82
+ </DxcFlex>
83
+ </DxcFlex>
84
+ </DxcInset>
85
+ </DxcDialog>
86
+ </ExampleContainer>
87
+ </>
88
+ );
89
+
90
+ const RespDialog = () => (
91
+ <>
92
+ <ExampleContainer expanded={true}>
93
+ <Title title="Responsive dialog" theme="light" level={4} />
94
+ <DxcDialog>
95
+ <DxcInset bottom="1rem">
96
+ <DxcFlex gap="2rem" direction="column">
97
+ <DxcFlex gap="1rem" direction="column">
98
+ <DxcTextInput size="fillParent" label="Name"></DxcTextInput>
99
+ <DxcTextInput size="fillParent" label="Surname"></DxcTextInput>
100
+ </DxcFlex>
101
+ <DxcFlex justifyContent="flex-end" gap="1rem">
102
+ <DxcButton label="Save"></DxcButton>
103
+ <DxcButton label="Cancel" mode="secondary"></DxcButton>
104
+ </DxcFlex>
105
+ </DxcFlex>
106
+ </DxcInset>
29
107
  </DxcDialog>
30
108
  </ExampleContainer>
31
109
  </>
@@ -35,7 +113,6 @@ export const DialogWithoutOverlay = () => (
35
113
  <ExampleContainer expanded={true}>
36
114
  <Title title="Dialog Without Overlay" theme="light" level={4} />
37
115
  <DxcDialog overlay={false}>
38
- {" "}
39
116
  <p>
40
117
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
41
118
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -46,7 +123,7 @@ export const DialogWithoutOverlay = () => (
46
123
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
47
124
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
48
125
  dignissim, pharetra neque molestie, molestie lectus.
49
- </p>{" "}
126
+ </p>
50
127
  </DxcDialog>
51
128
  </ExampleContainer>
52
129
  );
@@ -55,7 +132,6 @@ export const DialogCloseVisibleFalse = () => (
55
132
  <ExampleContainer expanded={true}>
56
133
  <Title title="Dialog Close Visible" theme="dark" level={4} />
57
134
  <DxcDialog isCloseVisible={false}>
58
- {" "}
59
135
  <p>
60
136
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
61
137
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -66,7 +142,7 @@ export const DialogCloseVisibleFalse = () => (
66
142
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
67
143
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
68
144
  dignissim, pharetra neque molestie, molestie lectus.
69
- </p>{" "}
145
+ </p>
70
146
  </DxcDialog>
71
147
  </ExampleContainer>
72
148
  );
@@ -75,7 +151,6 @@ export const DialogWithXxsmallPadding = () => (
75
151
  <ExampleContainer expanded={true}>
76
152
  <Title title="Dialog With Xxsmall Padding" theme="light" level={4} />
77
153
  <DxcDialog padding={"xxsmall"}>
78
- {" "}
79
154
  <p>
80
155
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
81
156
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -86,7 +161,7 @@ export const DialogWithXxsmallPadding = () => (
86
161
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
87
162
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
88
163
  dignissim, pharetra neque molestie, molestie lectus.
89
- </p>{" "}
164
+ </p>
90
165
  </DxcDialog>
91
166
  </ExampleContainer>
92
167
  );
@@ -95,7 +170,6 @@ export const DialogWithXsmallPadding = () => (
95
170
  <ExampleContainer expanded={true}>
96
171
  <Title title="Dialog With Xsmall Padding" theme="light" level={4} />
97
172
  <DxcDialog padding={"xsmall"}>
98
- {" "}
99
173
  <p>
100
174
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
101
175
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -106,7 +180,7 @@ export const DialogWithXsmallPadding = () => (
106
180
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
107
181
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
108
182
  dignissim, pharetra neque molestie, molestie lectus.
109
- </p>{" "}
183
+ </p>
110
184
  </DxcDialog>
111
185
  </ExampleContainer>
112
186
  );
@@ -115,7 +189,6 @@ export const DialogWithSmallPadding = () => (
115
189
  <ExampleContainer expanded={true}>
116
190
  <Title title="Dialog With Small Padding" theme="light" level={4} />
117
191
  <DxcDialog padding={"small"}>
118
- {" "}
119
192
  <p>
120
193
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
121
194
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -126,7 +199,7 @@ export const DialogWithSmallPadding = () => (
126
199
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
127
200
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
128
201
  dignissim, pharetra neque molestie, molestie lectus.
129
- </p>{" "}
202
+ </p>
130
203
  </DxcDialog>
131
204
  </ExampleContainer>
132
205
  );
@@ -135,7 +208,6 @@ export const DialogWithMediumPadding = () => (
135
208
  <ExampleContainer expanded={true}>
136
209
  <Title title="Dialog With Medium Padding" theme="light" level={4} />
137
210
  <DxcDialog padding={"medium"}>
138
- {" "}
139
211
  <p>
140
212
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
141
213
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -146,7 +218,7 @@ export const DialogWithMediumPadding = () => (
146
218
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
147
219
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
148
220
  dignissim, pharetra neque molestie, molestie lectus.
149
- </p>{" "}
221
+ </p>
150
222
  </DxcDialog>
151
223
  </ExampleContainer>
152
224
  );
@@ -155,7 +227,6 @@ export const DialogWithLargePadding = () => (
155
227
  <ExampleContainer expanded={true}>
156
228
  <Title title="Dialog With Large Padding" theme="light" level={4} />
157
229
  <DxcDialog padding={"large"}>
158
- {" "}
159
230
  <p>
160
231
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
161
232
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -166,7 +237,7 @@ export const DialogWithLargePadding = () => (
166
237
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
167
238
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
168
239
  dignissim, pharetra neque molestie, molestie lectus.
169
- </p>{" "}
240
+ </p>
170
241
  </DxcDialog>
171
242
  </ExampleContainer>
172
243
  );
@@ -175,7 +246,6 @@ export const DialogWithXlargePadding = () => (
175
246
  <ExampleContainer expanded={true}>
176
247
  <Title title="Dialog With Xlarge Padding" theme="light" level={4} />
177
248
  <DxcDialog padding={"xlarge"}>
178
- {" "}
179
249
  <p>
180
250
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
181
251
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -186,7 +256,7 @@ export const DialogWithXlargePadding = () => (
186
256
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
187
257
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
188
258
  dignissim, pharetra neque molestie, molestie lectus.
189
- </p>{" "}
259
+ </p>
190
260
  </DxcDialog>
191
261
  </ExampleContainer>
192
262
  );
@@ -195,7 +265,6 @@ export const DialogWithXxlargePadding = () => (
195
265
  <ExampleContainer expanded={true}>
196
266
  <Title title="Dialog With Xxlarge Padding" theme="light" level={4} />
197
267
  <DxcDialog padding={"xxlarge"}>
198
- {" "}
199
268
  <p>
200
269
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
201
270
  placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
@@ -206,7 +275,15 @@ export const DialogWithXxlargePadding = () => (
206
275
  fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
207
276
  augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
208
277
  dignissim, pharetra neque molestie, molestie lectus.
209
- </p>{" "}
278
+ </p>
210
279
  </DxcDialog>
211
280
  </ExampleContainer>
212
- );
281
+ );
282
+
283
+ export const ResponsiveDialog = RespDialog.bind({});
284
+ ResponsiveDialog.parameters = {
285
+ viewport: {
286
+ defaultViewport: "iphonex",
287
+ },
288
+ chromatic: { viewports: [375] },
289
+ };
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _Dialog = _interopRequireDefault(require("./Dialog"));
7
+ describe("Dialog component tests", function () {
8
+ test("Dialog renders with correct text and accesibility attributes", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "dialog-text")),
10
+ getByText = _render.getByText,
11
+ getByRole = _render.getByRole;
12
+ expect(getByRole("dialog")).toBeTruthy();
13
+ expect(getByRole("dialog").getAttribute("aria-modal")).toBe("true");
14
+ expect(getByText("dialog-text")).toBeTruthy();
15
+ });
16
+ test("Dialog renders without close button", function () {
17
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
18
+ isCloseVisible: false
19
+ }, "dialog-text")),
20
+ queryByRole = _render2.queryByRole;
21
+ expect(queryByRole("button")).toBeFalsy();
22
+ });
23
+ test("Dialog renders with aria-modal false when overlay is not used", function () {
24
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
25
+ isCloseVisible: false,
26
+ overlay: false
27
+ }, "dialog-text")),
28
+ getByRole = _render3.getByRole;
29
+ expect(getByRole("dialog")).toBeTruthy();
30
+ expect(getByRole("dialog").getAttribute("aria-modal")).toBe("false");
31
+ });
32
+ test("Calls correct function onCloseClick", function () {
33
+ var onCloseClick = jest.fn();
34
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
35
+ onCloseClick: onCloseClick
36
+ }, "dialog-text")),
37
+ getByRole = _render4.getByRole;
38
+ var closeButton = getByRole("button");
39
+ _react2.fireEvent.click(closeButton);
40
+ expect(onCloseClick).toHaveBeenCalled();
41
+ });
42
+ test("Calls correct function onCloseClick when 'escape' key is pressed", function () {
43
+ var onCloseClick = jest.fn();
44
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
45
+ onCloseClick: onCloseClick
46
+ }, "dialog-text")),
47
+ getByRole = _render5.getByRole;
48
+ _react2.fireEvent.keyDown(getByRole("button"), {
49
+ key: "Escape",
50
+ code: "Escape",
51
+ keyCode: 27,
52
+ charCode: 27
53
+ });
54
+ expect(onCloseClick).toHaveBeenCalled();
55
+ });
56
+ });
package/dialog/types.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Padding = {
2
+ export type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ export type Padding = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type Props = {
9
+ type Props = {
10
10
  /**
11
11
  * If true, the close 'x' button will be visible.
12
12
  */
@@ -26,6 +26,7 @@ declare type Props = {
26
26
  */
27
27
  onBackgroundClick?: () => void;
28
28
  /**
29
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
29
30
  * Size of the padding to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
30
31
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
31
32
  */
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import DropdownPropsType from "./types";
3
- declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, onSelectOption, expandOnHover, margin, size, tabIndex, disabled, }: DropdownPropsType) => JSX.Element;
3
+ declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, disabled, expandOnHover, onSelectOption, margin, size, tabIndex, }: DropdownPropsType) => JSX.Element;
4
4
  export default DxcDropdown;