@dxc-technology/halstack-react 0.0.0-0a9608a → 0.0.0-0ab346a

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 (365) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -6
  4. package/HalstackContext.js +122 -106
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +39 -109
  9. package/accordion/Accordion.stories.tsx +53 -148
  10. package/accordion/Accordion.test.js +19 -34
  11. package/accordion/types.d.ts +6 -18
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -2
  14. package/accordion-group/AccordionGroup.js +29 -77
  15. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  16. package/accordion-group/AccordionGroup.test.js +44 -72
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +7 -19
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +31 -124
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -42
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -3
  39. package/bleed/Bleed.js +13 -21
  40. package/bleed/Bleed.stories.tsx +1 -0
  41. package/bleed/types.d.ts +2 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +18 -59
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -15
  48. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  49. package/bulleted-list/BulletedList.js +22 -53
  50. package/bulleted-list/BulletedList.stories.tsx +8 -93
  51. package/bulleted-list/types.d.ts +32 -5
  52. package/button/Button.accessibility.test.js +127 -0
  53. package/button/Button.d.ts +1 -1
  54. package/button/Button.js +70 -103
  55. package/button/Button.stories.tsx +104 -119
  56. package/button/Button.test.js +20 -17
  57. package/button/types.d.ts +9 -5
  58. package/card/Card.accessibility.test.js +36 -0
  59. package/card/Card.d.ts +1 -1
  60. package/card/Card.js +48 -89
  61. package/card/Card.stories.tsx +12 -42
  62. package/card/Card.test.js +11 -22
  63. package/card/types.d.ts +6 -12
  64. package/checkbox/Checkbox.accessibility.test.js +87 -0
  65. package/checkbox/Checkbox.js +87 -122
  66. package/checkbox/Checkbox.stories.tsx +68 -54
  67. package/checkbox/Checkbox.test.js +108 -64
  68. package/checkbox/types.d.ts +8 -4
  69. package/chip/Chip.accessibility.test.js +67 -0
  70. package/chip/Chip.js +42 -67
  71. package/chip/Chip.stories.tsx +73 -29
  72. package/chip/Chip.test.js +18 -33
  73. package/chip/types.d.ts +4 -4
  74. package/common/coreTokens.d.ts +237 -0
  75. package/common/coreTokens.js +184 -0
  76. package/common/utils.d.ts +1 -0
  77. package/common/utils.js +6 -12
  78. package/common/variables.d.ts +1395 -0
  79. package/common/variables.js +898 -1143
  80. package/container/Container.d.ts +4 -0
  81. package/container/Container.js +194 -0
  82. package/container/Container.stories.tsx +214 -0
  83. package/container/types.d.ts +74 -0
  84. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  85. package/contextual-menu/ContextualMenu.d.ts +7 -0
  86. package/contextual-menu/ContextualMenu.js +71 -0
  87. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  88. package/contextual-menu/ContextualMenu.test.js +71 -0
  89. package/contextual-menu/MenuItemAction.d.ts +4 -0
  90. package/contextual-menu/MenuItemAction.js +46 -0
  91. package/contextual-menu/types.d.ts +22 -0
  92. package/date-input/Calendar.js +38 -70
  93. package/date-input/DateInput.accessibility.test.js +216 -0
  94. package/date-input/DateInput.js +50 -96
  95. package/date-input/DateInput.stories.tsx +78 -30
  96. package/date-input/DateInput.test.js +674 -701
  97. package/date-input/DatePicker.js +36 -53
  98. package/date-input/Icons.d.ts +6 -6
  99. package/date-input/Icons.js +6 -23
  100. package/date-input/YearPicker.js +28 -44
  101. package/date-input/types.d.ts +28 -22
  102. package/dialog/Dialog.accessibility.test.js +69 -0
  103. package/dialog/Dialog.d.ts +1 -1
  104. package/dialog/Dialog.js +61 -119
  105. package/dialog/Dialog.stories.tsx +310 -212
  106. package/dialog/Dialog.test.js +270 -33
  107. package/dialog/types.d.ts +18 -26
  108. package/divider/Divider.accessibility.test.js +33 -0
  109. package/divider/Divider.d.ts +4 -0
  110. package/divider/Divider.js +36 -0
  111. package/divider/Divider.stories.tsx +223 -0
  112. package/divider/Divider.test.js +38 -0
  113. package/divider/types.d.ts +21 -0
  114. package/divider/types.js +5 -0
  115. package/dropdown/Dropdown.accessibility.test.js +180 -0
  116. package/dropdown/Dropdown.js +61 -130
  117. package/dropdown/Dropdown.stories.tsx +51 -17
  118. package/dropdown/Dropdown.test.js +393 -379
  119. package/dropdown/DropdownMenu.js +13 -20
  120. package/dropdown/DropdownMenuItem.js +11 -22
  121. package/dropdown/types.d.ts +20 -24
  122. package/file-input/FileInput.accessibility.test.js +160 -0
  123. package/file-input/FileInput.js +184 -292
  124. package/file-input/FileInput.stories.tsx +86 -3
  125. package/file-input/FileInput.test.js +279 -395
  126. package/file-input/FileItem.js +27 -67
  127. package/file-input/types.d.ts +10 -10
  128. package/flex/Flex.js +27 -39
  129. package/flex/Flex.stories.tsx +35 -26
  130. package/flex/types.d.ts +74 -9
  131. package/footer/Footer.accessibility.test.js +117 -0
  132. package/footer/Footer.d.ts +1 -1
  133. package/footer/Footer.js +73 -118
  134. package/footer/Footer.stories.tsx +82 -23
  135. package/footer/Footer.test.js +33 -57
  136. package/footer/Icons.d.ts +3 -2
  137. package/footer/Icons.js +66 -7
  138. package/footer/types.d.ts +26 -28
  139. package/grid/Grid.d.ts +7 -0
  140. package/grid/Grid.js +76 -0
  141. package/grid/Grid.stories.tsx +219 -0
  142. package/grid/types.d.ts +115 -0
  143. package/grid/types.js +5 -0
  144. package/header/Header.accessibility.test.js +84 -0
  145. package/header/Header.d.ts +4 -3
  146. package/header/Header.js +42 -136
  147. package/header/Header.stories.tsx +81 -35
  148. package/header/Header.test.js +13 -26
  149. package/header/Icons.d.ts +2 -2
  150. package/header/Icons.js +2 -7
  151. package/header/types.d.ts +7 -22
  152. package/heading/Heading.accessibility.test.js +33 -0
  153. package/heading/Heading.js +10 -32
  154. package/heading/Heading.test.js +71 -88
  155. package/heading/types.d.ts +7 -7
  156. package/icon/Icon.accessibility.test.js +30 -0
  157. package/icon/Icon.d.ts +4 -0
  158. package/icon/Icon.js +33 -0
  159. package/icon/Icon.stories.tsx +28 -0
  160. package/icon/types.d.ts +4 -0
  161. package/icon/types.js +5 -0
  162. package/image/Image.accessibility.test.js +56 -0
  163. package/image/Image.d.ts +4 -0
  164. package/image/Image.js +70 -0
  165. package/image/Image.stories.tsx +129 -0
  166. package/image/types.d.ts +72 -0
  167. package/image/types.js +5 -0
  168. package/inset/Inset.js +13 -21
  169. package/inset/Inset.stories.tsx +2 -1
  170. package/inset/types.d.ts +2 -2
  171. package/layout/ApplicationLayout.d.ts +5 -5
  172. package/layout/ApplicationLayout.js +30 -67
  173. package/layout/ApplicationLayout.stories.tsx +1 -1
  174. package/layout/Icons.d.ts +8 -5
  175. package/layout/Icons.js +49 -59
  176. package/layout/types.d.ts +5 -6
  177. package/link/Link.accessibility.test.js +112 -0
  178. package/link/Link.js +31 -50
  179. package/link/Link.stories.tsx +62 -2
  180. package/link/Link.test.js +24 -44
  181. package/link/types.d.ts +14 -14
  182. package/main.d.ts +10 -5
  183. package/main.js +47 -59
  184. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  185. package/nav-tabs/NavTabs.d.ts +7 -0
  186. package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
  187. package/nav-tabs/NavTabs.stories.tsx +279 -0
  188. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -46
  189. package/nav-tabs/NavTabsContext.d.ts +3 -0
  190. package/nav-tabs/NavTabsContext.js +8 -0
  191. package/nav-tabs/Tab.js +117 -0
  192. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  193. package/nav-tabs/types.js +5 -0
  194. package/number-input/NumberInput.accessibility.test.js +228 -0
  195. package/number-input/NumberInput.js +46 -36
  196. package/number-input/NumberInput.stories.tsx +42 -26
  197. package/number-input/NumberInput.test.js +860 -413
  198. package/number-input/NumberInputContext.d.ts +3 -4
  199. package/number-input/NumberInputContext.js +3 -14
  200. package/number-input/types.d.ts +17 -5
  201. package/package.json +41 -39
  202. package/paginator/Icons.d.ts +5 -5
  203. package/paginator/Icons.js +5 -19
  204. package/paginator/Paginator.accessibility.test.js +79 -0
  205. package/paginator/Paginator.js +17 -47
  206. package/paginator/Paginator.stories.tsx +24 -0
  207. package/paginator/Paginator.test.js +235 -215
  208. package/paginator/types.d.ts +3 -3
  209. package/paragraph/Paragraph.accessibility.test.js +28 -0
  210. package/paragraph/Paragraph.d.ts +3 -4
  211. package/paragraph/Paragraph.js +6 -22
  212. package/paragraph/Paragraph.stories.tsx +0 -17
  213. package/password-input/Icons.d.ts +6 -0
  214. package/password-input/Icons.js +35 -0
  215. package/password-input/PasswordInput.accessibility.test.js +153 -0
  216. package/password-input/PasswordInput.js +57 -126
  217. package/password-input/PasswordInput.stories.tsx +1 -33
  218. package/password-input/PasswordInput.test.js +158 -141
  219. package/password-input/types.d.ts +8 -7
  220. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  221. package/progress-bar/ProgressBar.d.ts +2 -2
  222. package/progress-bar/ProgressBar.js +23 -55
  223. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  224. package/progress-bar/ProgressBar.test.js +36 -53
  225. package/progress-bar/types.d.ts +4 -3
  226. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  227. package/quick-nav/QuickNav.js +4 -27
  228. package/quick-nav/QuickNav.stories.tsx +15 -1
  229. package/quick-nav/types.d.ts +10 -10
  230. package/radio-group/Radio.d.ts +1 -1
  231. package/radio-group/Radio.js +31 -63
  232. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  233. package/radio-group/RadioGroup.js +45 -93
  234. package/radio-group/RadioGroup.stories.tsx +131 -18
  235. package/radio-group/RadioGroup.test.js +505 -471
  236. package/radio-group/types.d.ts +8 -8
  237. package/resultset-table/Icons.d.ts +7 -0
  238. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  239. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  240. package/resultset-table/ResultsetTable.d.ts +7 -0
  241. package/{resultsetTable → resultset-table}/ResultsetTable.js +46 -71
  242. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
  243. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +149 -93
  244. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  245. package/resultset-table/types.js +5 -0
  246. package/select/Icons.d.ts +7 -7
  247. package/select/Icons.js +1 -5
  248. package/select/Listbox.js +13 -39
  249. package/select/Option.js +17 -27
  250. package/select/Select.accessibility.test.js +217 -0
  251. package/select/Select.js +94 -168
  252. package/select/Select.stories.tsx +480 -179
  253. package/select/Select.test.js +1952 -1810
  254. package/select/types.d.ts +14 -15
  255. package/sidenav/Sidenav.accessibility.test.js +59 -0
  256. package/sidenav/Sidenav.d.ts +2 -2
  257. package/sidenav/Sidenav.js +90 -155
  258. package/sidenav/Sidenav.stories.tsx +113 -25
  259. package/sidenav/Sidenav.test.js +3 -10
  260. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  261. package/{layout → sidenav}/SidenavContext.js +3 -9
  262. package/sidenav/types.d.ts +33 -30
  263. package/slider/Slider.accessibility.test.js +104 -0
  264. package/slider/Slider.js +70 -128
  265. package/slider/Slider.test.js +108 -104
  266. package/slider/types.d.ts +4 -4
  267. package/spinner/Spinner.accessibility.test.js +96 -0
  268. package/spinner/Spinner.js +29 -73
  269. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  270. package/spinner/Spinner.test.js +26 -35
  271. package/spinner/types.d.ts +3 -3
  272. package/status-light/StatusLight.accessibility.test.js +157 -0
  273. package/status-light/StatusLight.d.ts +4 -0
  274. package/status-light/StatusLight.js +51 -0
  275. package/status-light/StatusLight.stories.tsx +74 -0
  276. package/status-light/StatusLight.test.js +25 -0
  277. package/status-light/types.d.ts +17 -0
  278. package/status-light/types.js +5 -0
  279. package/switch/Switch.accessibility.test.js +89 -0
  280. package/switch/Switch.js +51 -99
  281. package/switch/Switch.stories.tsx +33 -34
  282. package/switch/Switch.test.js +52 -97
  283. package/switch/types.d.ts +4 -4
  284. package/table/DropdownTheme.js +62 -0
  285. package/table/Table.accessibility.test.js +82 -0
  286. package/table/Table.d.ts +6 -2
  287. package/table/Table.js +78 -35
  288. package/table/Table.stories.tsx +651 -0
  289. package/table/Table.test.js +94 -7
  290. package/table/types.d.ts +34 -6
  291. package/tabs/Tab.js +23 -40
  292. package/tabs/Tabs.accessibility.test.js +56 -0
  293. package/tabs/Tabs.js +62 -145
  294. package/tabs/Tabs.stories.tsx +39 -1
  295. package/tabs/Tabs.test.js +66 -123
  296. package/tabs/types.d.ts +19 -19
  297. package/tag/Tag.accessibility.test.js +69 -0
  298. package/tag/Tag.js +34 -66
  299. package/tag/Tag.stories.tsx +18 -8
  300. package/tag/Tag.test.js +18 -37
  301. package/tag/types.d.ts +9 -9
  302. package/text-input/Suggestion.js +11 -28
  303. package/text-input/Suggestions.d.ts +1 -1
  304. package/text-input/Suggestions.js +19 -67
  305. package/text-input/TextInput.accessibility.test.js +321 -0
  306. package/text-input/TextInput.js +223 -329
  307. package/text-input/TextInput.stories.tsx +117 -153
  308. package/text-input/TextInput.test.js +1228 -1196
  309. package/text-input/types.d.ts +25 -17
  310. package/textarea/Textarea.accessibility.test.js +155 -0
  311. package/textarea/Textarea.js +70 -113
  312. package/textarea/Textarea.stories.tsx +174 -0
  313. package/textarea/Textarea.test.js +152 -183
  314. package/textarea/types.d.ts +9 -5
  315. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  316. package/toggle-group/ToggleGroup.d.ts +2 -2
  317. package/toggle-group/ToggleGroup.js +94 -107
  318. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  319. package/toggle-group/ToggleGroup.test.js +69 -88
  320. package/toggle-group/types.d.ts +28 -19
  321. package/typography/Typography.accessibility.test.js +339 -0
  322. package/typography/Typography.d.ts +2 -2
  323. package/typography/Typography.js +15 -123
  324. package/typography/Typography.stories.tsx +1 -1
  325. package/typography/types.d.ts +1 -1
  326. package/useTheme.d.ts +1147 -1
  327. package/useTheme.js +2 -9
  328. package/useTranslatedLabels.d.ts +84 -1
  329. package/useTranslatedLabels.js +1 -7
  330. package/utils/BaseTypography.d.ts +21 -0
  331. package/utils/BaseTypography.js +94 -0
  332. package/utils/FocusLock.d.ts +13 -0
  333. package/utils/FocusLock.js +124 -0
  334. package/wizard/Wizard.accessibility.test.js +55 -0
  335. package/wizard/Wizard.js +16 -51
  336. package/wizard/Wizard.stories.tsx +20 -0
  337. package/wizard/Wizard.test.js +54 -81
  338. package/wizard/types.d.ts +9 -10
  339. package/card/ice-cream.jpg +0 -0
  340. package/common/OpenSans.css +0 -81
  341. package/common/fonts/OpenSans-Bold.ttf +0 -0
  342. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  343. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  344. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  345. package/common/fonts/OpenSans-Italic.ttf +0 -0
  346. package/common/fonts/OpenSans-Light.ttf +0 -0
  347. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  348. package/common/fonts/OpenSans-Regular.ttf +0 -0
  349. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  350. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  351. package/number-input/numberInputContextTypes.d.ts +0 -19
  352. package/resultsetTable/Icons.d.ts +0 -7
  353. package/resultsetTable/ResultsetTable.d.ts +0 -4
  354. package/slider/Slider.stories.tsx +0 -183
  355. package/table/Table.stories.jsx +0 -277
  356. package/tabs-nav/NavTabs.d.ts +0 -8
  357. package/tabs-nav/NavTabs.stories.tsx +0 -172
  358. package/tabs-nav/Tab.js +0 -128
  359. package/text-input/Icons.d.ts +0 -8
  360. package/text-input/Icons.js +0 -60
  361. package/textarea/Textarea.stories.jsx +0 -157
  362. /package/{resultsetTable → action-icon}/types.js +0 -0
  363. /package/{tabs-nav → container}/types.js +0 -0
  364. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  365. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -0,0 +1,651 @@
1
+ import React from "react";
2
+ import DxcTable from "./Table";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
6
+ import { userEvent, within } from "@storybook/testing-library";
7
+
8
+ export default {
9
+ title: "Table",
10
+ component: DxcTable,
11
+ };
12
+
13
+ const opinionatedTheme = {
14
+ table: {
15
+ baseColor: "#5f249f",
16
+ headerFontColor: "#ffffff",
17
+ cellFontColor: "#000000",
18
+ },
19
+ };
20
+
21
+ const advancedTheme = {
22
+ table: {
23
+ actionIconColor: "#1B75BB",
24
+ hoverActionIconColor: "#1B75BB",
25
+ activeActionIconColor: "#1B75BB",
26
+ focusActionIconColor: "#1B75BB",
27
+ hoverButtonBackgroundColor: "#cccccc",
28
+ },
29
+ };
30
+
31
+ const actions = [
32
+ {
33
+ title: "icon",
34
+ onClick: (value?) => {
35
+ console.log(value);
36
+ },
37
+ options: [
38
+ {
39
+ value: "1",
40
+ label: "Amazon with a very long text",
41
+ },
42
+ {
43
+ value: "2",
44
+ label: "Ebay",
45
+ },
46
+ {
47
+ value: "3",
48
+ label: "Apple",
49
+ },
50
+ ],
51
+ },
52
+ {
53
+ title: "icon",
54
+ onClick: (value?) => {
55
+ console.log(value);
56
+ },
57
+ options: [
58
+ {
59
+ value: "1",
60
+ label: "Amazon with a very long text",
61
+ },
62
+ {
63
+ value: "2",
64
+ label: "Ebay",
65
+ },
66
+ {
67
+ value: "3",
68
+ label: "Apple",
69
+ },
70
+ ],
71
+ },
72
+ {
73
+ disabled: true,
74
+ title: "icon",
75
+ onClick: (value?) => {
76
+ console.log(value);
77
+ },
78
+ options: [
79
+ {
80
+ value: "1",
81
+ label: "Amazon with a very long text",
82
+ },
83
+ {
84
+ value: "2",
85
+ label: "Ebay",
86
+ },
87
+ {
88
+ value: "3",
89
+ label: "Apple",
90
+ },
91
+ ],
92
+ },
93
+ {
94
+ icon: "filled_edit",
95
+ title: "icon",
96
+ onClick: () => {},
97
+ },
98
+ {
99
+ icon: "filled_delete",
100
+ title: "icon",
101
+ onClick: () => {},
102
+ disabled: true,
103
+ },
104
+ ];
105
+
106
+ export const Chromatic = () => (
107
+ <>
108
+ <ExampleContainer>
109
+ <Title title="Default" theme="light" level={4} />
110
+ <DxcTable>
111
+ <tr>
112
+ <th>header 1</th>
113
+ <th>header 2</th>
114
+ <th>actions</th>
115
+ </tr>
116
+ <tr>
117
+ <td>cell 1</td>
118
+ <td>cell 2</td>
119
+ <td>
120
+ <DxcTable.ActionsCell actions={actions} />
121
+ </td>
122
+ </tr>
123
+ <tr>
124
+ <td>cell 4</td>
125
+ <td>cell 5</td>
126
+ <td>
127
+ <DxcTable.ActionsCell actions={actions} />
128
+ </td>
129
+ </tr>
130
+ <tr>
131
+ <td>cell 7</td>
132
+ <td>cell 8</td>
133
+ <td>
134
+ <DxcTable.ActionsCell actions={actions} />
135
+ </td>
136
+ </tr>
137
+ </DxcTable>
138
+ </ExampleContainer>
139
+ <ExampleContainer>
140
+ <Title title="Custom actionsCell theme" theme="light" level={4} />
141
+ <HalstackProvider advancedTheme={advancedTheme}>
142
+ <DxcTable>
143
+ <tr>
144
+ <th>header 1</th>
145
+ <th>header 2</th>
146
+ <th>actions</th>
147
+ </tr>
148
+ <tr>
149
+ <td>cell 1</td>
150
+ <td>cell 2</td>
151
+ <td>
152
+ <DxcTable.ActionsCell actions={actions} />
153
+ </td>
154
+ </tr>
155
+ <tr>
156
+ <td>cell 4</td>
157
+ <td>cell 5</td>
158
+ <td>
159
+ <DxcTable.ActionsCell actions={actions} />
160
+ </td>
161
+ </tr>
162
+ <tr>
163
+ <td>cell 7</td>
164
+ <td>cell 8</td>
165
+ <td>
166
+ <DxcTable.ActionsCell actions={actions} />
167
+ </td>
168
+ </tr>
169
+ </DxcTable>
170
+ </HalstackProvider>
171
+ </ExampleContainer>
172
+ <ExampleContainer>
173
+ <Title title="With scrollbar" theme="light" level={4} />
174
+ <div
175
+ style={{ height: 200 + "px", display: "flex", flexDirection: "row", width: 100 + "%", marginBottom: 50 + "px" }}
176
+ >
177
+ <DxcTable>
178
+ <tr>
179
+ <th>
180
+ header<br></br>subheader
181
+ </th>
182
+ <th>
183
+ header<br></br>subheader
184
+ </th>
185
+ <th>
186
+ header<br></br>subheader
187
+ </th>
188
+ </tr>
189
+ <tr>
190
+ <td>
191
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
192
+ dolore magna aliqua.
193
+ </td>
194
+ <td>
195
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
196
+ consequat.
197
+ </td>
198
+ <td>
199
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
200
+ </td>
201
+ </tr>
202
+ <tr>
203
+ <td>cell data</td>
204
+ <td>cell data</td>
205
+ <td>cell data</td>
206
+ </tr>
207
+ <tr>
208
+ <td>cell data</td>
209
+ <td>cell data</td>
210
+ <td>cell data</td>
211
+ </tr>
212
+ <tr>
213
+ <td>cell data</td>
214
+ <td>cell data</td>
215
+ <td>cell data</td>
216
+ </tr>
217
+ <tr>
218
+ <td>cell data</td>
219
+ <td>cell data</td>
220
+ <td>cell data</td>
221
+ </tr>
222
+ <tr>
223
+ <td>cell data</td>
224
+ <td>cell data</td>
225
+ <td>cell data</td>
226
+ </tr>
227
+ <tr>
228
+ <td>cell data</td>
229
+ <td>cell data</td>
230
+ <td>cell data</td>
231
+ </tr>
232
+ <tr>
233
+ <td>cell data</td>
234
+ <td>cell data</td>
235
+ <td>cell data</td>
236
+ </tr>
237
+ <tr>
238
+ <td>cell data</td>
239
+ <td>cell data</td>
240
+ <td>cell data</td>
241
+ </tr>
242
+ </DxcTable>
243
+ </div>
244
+ </ExampleContainer>
245
+ <ExampleContainer>
246
+ <Title title="Default reduced" theme="light" level={4} />
247
+ <DxcTable mode="reduced">
248
+ <tr>
249
+ <th>header 1</th>
250
+ <th>header 2</th>
251
+ <th>header 3</th>
252
+ </tr>
253
+ <tr>
254
+ <td>cell 1</td>
255
+ <td>cell 2</td>
256
+ <td>cell 3</td>
257
+ </tr>
258
+ <tr>
259
+ <td>cell 4</td>
260
+ <td>cell 5</td>
261
+ <td>cell 6</td>
262
+ </tr>
263
+ <tr>
264
+ <td>cell 7</td>
265
+ <td>cell 8</td>
266
+ <td>Cell 9</td>
267
+ </tr>
268
+ </DxcTable>
269
+ </ExampleContainer>
270
+ <ExampleContainer>
271
+ <Title title="Reduced with scrollbar" theme="light" level={4} />
272
+ <div
273
+ style={{ height: 200 + "px", display: "flex", flexDirection: "row", width: 100 + "%", marginBottom: 50 + "px" }}
274
+ >
275
+ <DxcTable mode="reduced">
276
+ <tr>
277
+ <th>
278
+ header<br></br>subheader
279
+ </th>
280
+ <th>
281
+ header<br></br>subheader
282
+ </th>
283
+ <th>
284
+ header<br></br>subheader
285
+ </th>
286
+ </tr>
287
+ <tr>
288
+ <td>
289
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
290
+ dolore magna aliqua.
291
+ </td>
292
+ <td>
293
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
294
+ consequat.
295
+ </td>
296
+ <td>
297
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
298
+ </td>
299
+ </tr>
300
+ <tr>
301
+ <td>cell data</td>
302
+ <td>cell data</td>
303
+ <td>cell data</td>
304
+ </tr>
305
+ <tr>
306
+ <td>cell data</td>
307
+ <td>cell data</td>
308
+ <td>cell data</td>
309
+ </tr>
310
+ <tr>
311
+ <td>cell data</td>
312
+ <td>cell data</td>
313
+ <td>cell data</td>
314
+ </tr>
315
+ <tr>
316
+ <td>cell data</td>
317
+ <td>cell data</td>
318
+ <td>cell data</td>
319
+ </tr>
320
+ <tr>
321
+ <td>cell data</td>
322
+ <td>cell data</td>
323
+ <td>cell data</td>
324
+ </tr>
325
+ <tr>
326
+ <td>cell data</td>
327
+ <td>cell data</td>
328
+ <td>cell data</td>
329
+ </tr>
330
+ <tr>
331
+ <td>cell data</td>
332
+ <td>cell data</td>
333
+ <td>cell data</td>
334
+ </tr>
335
+ <tr>
336
+ <td>cell data</td>
337
+ <td>cell data</td>
338
+ <td>cell data</td>
339
+ </tr>
340
+ </DxcTable>
341
+ </div>
342
+ </ExampleContainer>
343
+ <ExampleContainer>
344
+ <Title title="Reduced table with actions" theme="light" level={4} />
345
+ <DxcTable mode="reduced">
346
+ <tr>
347
+ <th>header 1</th>
348
+ <th>header 2</th>
349
+ <th>header 3</th>
350
+ </tr>
351
+ <tr>
352
+ <td>cell 1</td>
353
+ <td>cell 2</td>
354
+ <td>
355
+ <DxcTable.ActionsCell actions={actions} />
356
+ </td>
357
+ </tr>
358
+ <tr>
359
+ <td>cell 4</td>
360
+ <td>cell 5</td>
361
+ <td>
362
+ <DxcTable.ActionsCell actions={actions} />
363
+ </td>
364
+ </tr>
365
+ <tr>
366
+ <td>cell 7</td>
367
+ <td>cell 8</td>
368
+ <td>
369
+ <DxcTable.ActionsCell actions={actions} />
370
+ </td>
371
+ </tr>
372
+ </DxcTable>
373
+ </ExampleContainer>
374
+ <Title title="Margins" theme="light" level={2} />
375
+ <ExampleContainer>
376
+ <Title title="Xxsmall margin" theme="light" level={4} />
377
+ <DxcTable margin="xxsmall">
378
+ <tr>
379
+ <th>header 1</th>
380
+ <th>header 2</th>
381
+ <th>header 3</th>
382
+ </tr>
383
+ <tr>
384
+ <td>cell 1</td>
385
+ <td>cell 2</td>
386
+ <td>cell 3</td>
387
+ </tr>
388
+ <tr>
389
+ <td>cell 4</td>
390
+ <td>cell 5</td>
391
+ <td>cell 6</td>
392
+ </tr>
393
+ <tr>
394
+ <td>cell 7</td>
395
+ <td>cell 8</td>
396
+ <td>Cell 9</td>
397
+ </tr>
398
+ </DxcTable>
399
+ <Title title="Xsmall margin" theme="light" level={4} />
400
+ <DxcTable margin="xsmall">
401
+ <tr>
402
+ <th>header 1</th>
403
+ <th>header 2</th>
404
+ <th>header 3</th>
405
+ </tr>
406
+ <tr>
407
+ <td>cell 1</td>
408
+ <td>cell 2</td>
409
+ <td>cell 3</td>
410
+ </tr>
411
+ <tr>
412
+ <td>cell 4</td>
413
+ <td>cell 5</td>
414
+ <td>cell 6</td>
415
+ </tr>
416
+ <tr>
417
+ <td>cell 7</td>
418
+ <td>cell 8</td>
419
+ <td>Cell 9</td>
420
+ </tr>
421
+ </DxcTable>
422
+ <Title title="Small margin" theme="light" level={4} />
423
+ <DxcTable margin="small">
424
+ <tr>
425
+ <th>header 1</th>
426
+ <th>header 2</th>
427
+ <th>header 3</th>
428
+ </tr>
429
+ <tr>
430
+ <td>cell 1</td>
431
+ <td>cell 2</td>
432
+ <td>cell 3</td>
433
+ </tr>
434
+ <tr>
435
+ <td>cell 4</td>
436
+ <td>cell 5</td>
437
+ <td>cell 6</td>
438
+ </tr>
439
+ <tr>
440
+ <td>cell 7</td>
441
+ <td>cell 8</td>
442
+ <td>Cell 9</td>
443
+ </tr>
444
+ </DxcTable>
445
+ <Title title="Medium margin" theme="light" level={4} />
446
+ <DxcTable margin="medium">
447
+ <tr>
448
+ <th>header 1</th>
449
+ <th>header 2</th>
450
+ <th>header 3</th>
451
+ </tr>
452
+ <tr>
453
+ <td>cell 1</td>
454
+ <td>cell 2</td>
455
+ <td>cell 3</td>
456
+ </tr>
457
+ <tr>
458
+ <td>cell 4</td>
459
+ <td>cell 5</td>
460
+ <td>cell 6</td>
461
+ </tr>
462
+ <tr>
463
+ <td>cell 7</td>
464
+ <td>cell 8</td>
465
+ <td>Cell 9</td>
466
+ </tr>
467
+ </DxcTable>
468
+ <Title title="Large margin" theme="light" level={4} />
469
+ <DxcTable margin="large">
470
+ <tr>
471
+ <th>header 1</th>
472
+ <th>header 2</th>
473
+ <th>header 3</th>
474
+ </tr>
475
+ <tr>
476
+ <td>cell 1</td>
477
+ <td>cell 2</td>
478
+ <td>cell 3</td>
479
+ </tr>
480
+ <tr>
481
+ <td>cell 4</td>
482
+ <td>cell 5</td>
483
+ <td>cell 6</td>
484
+ </tr>
485
+ <tr>
486
+ <td>cell 7</td>
487
+ <td>cell 8</td>
488
+ <td>Cell 9</td>
489
+ </tr>
490
+ </DxcTable>
491
+ <Title title="Xlarge margin" theme="light" level={4} />
492
+ <DxcTable margin="xlarge">
493
+ <tr>
494
+ <th>header 1</th>
495
+ <th>header 2</th>
496
+ <th>header 3</th>
497
+ </tr>
498
+ <tr>
499
+ <td>cell 1</td>
500
+ <td>cell 2</td>
501
+ <td>cell 3</td>
502
+ </tr>
503
+ <tr>
504
+ <td>cell 4</td>
505
+ <td>cell 5</td>
506
+ <td>cell 6</td>
507
+ </tr>
508
+ <tr>
509
+ <td>cell 7</td>
510
+ <td>cell 8</td>
511
+ <td>Cell 9</td>
512
+ </tr>
513
+ </DxcTable>
514
+ <Title title="Xxlarge margin" theme="light" level={4} />
515
+ <DxcTable margin="xxlarge">
516
+ <tr>
517
+ <th>header 1</th>
518
+ <th>header 2</th>
519
+ <th>header 3</th>
520
+ </tr>
521
+ <tr>
522
+ <td>cell 1</td>
523
+ <td>cell 2</td>
524
+ <td>cell 3</td>
525
+ </tr>
526
+ <tr>
527
+ <td>cell 4</td>
528
+ <td>cell 5</td>
529
+ <td>cell 6</td>
530
+ </tr>
531
+ <tr>
532
+ <td>cell 7</td>
533
+ <td>cell 8</td>
534
+ <td>Cell 9</td>
535
+ </tr>
536
+ </DxcTable>
537
+ </ExampleContainer>
538
+ <Title title="Opinionated theme" theme="light" level={2} />
539
+ <ExampleContainer>
540
+ <HalstackProvider theme={opinionatedTheme}>
541
+ <DxcTable>
542
+ <tr>
543
+ <th>
544
+ header<br></br>subheader
545
+ </th>
546
+ <th>
547
+ header<br></br>subheader
548
+ </th>
549
+ <th>
550
+ header<br></br>subheader
551
+ </th>
552
+ </tr>
553
+ <tr>
554
+ <td>
555
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
556
+ dolore magna aliqua.
557
+ </td>
558
+ <td>
559
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
560
+ consequat.
561
+ </td>
562
+ <td>
563
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
564
+ </td>
565
+ </tr>
566
+ <tr>
567
+ <td>cell data</td>
568
+ <td>cell data</td>
569
+ <td>cell data</td>
570
+ </tr>
571
+ <tr>
572
+ <td>cell data</td>
573
+ <td>cell data</td>
574
+ <td>cell data</td>
575
+ </tr>
576
+ <tr>
577
+ <td>cell data</td>
578
+ <td>cell data</td>
579
+ <td>cell data</td>
580
+ </tr>
581
+ <tr>
582
+ <td>cell data</td>
583
+ <td>cell data</td>
584
+ <td>cell data</td>
585
+ </tr>
586
+ <tr>
587
+ <td>cell data</td>
588
+ <td>cell data</td>
589
+ <td>cell data</td>
590
+ </tr>
591
+ <tr>
592
+ <td>cell data</td>
593
+ <td>cell data</td>
594
+ <td>cell data</td>
595
+ </tr>
596
+ <tr>
597
+ <td>cell data</td>
598
+ <td>cell data</td>
599
+ <td>cell data</td>
600
+ </tr>
601
+ <tr>
602
+ <td>cell data</td>
603
+ <td>cell data</td>
604
+ <td>cell data</td>
605
+ </tr>
606
+ </DxcTable>
607
+ </HalstackProvider>
608
+ </ExampleContainer>
609
+ </>
610
+ );
611
+
612
+ const ActionsCellDropdown = () => (
613
+ <ExampleContainer>
614
+ <Title title="Dropdown Action" theme="light" level={4} />
615
+ <DxcTable>
616
+ <tr>
617
+ <th>header 1</th>
618
+ <th>header 2</th>
619
+ <th>actions</th>
620
+ </tr>
621
+ <tr>
622
+ <td>cell 1</td>
623
+ <td>cell 2</td>
624
+ <td>
625
+ <DxcTable.ActionsCell actions={actions} />
626
+ </td>
627
+ </tr>
628
+ <tr>
629
+ <td>cell 4</td>
630
+ <td>cell 5</td>
631
+ <td>
632
+ <DxcTable.ActionsCell actions={actions} />
633
+ </td>
634
+ </tr>
635
+ <tr>
636
+ <td>cell 7</td>
637
+ <td>cell 8</td>
638
+ <td>
639
+ <DxcTable.ActionsCell actions={actions} />
640
+ </td>
641
+ </tr>
642
+ </DxcTable>
643
+ </ExampleContainer>
644
+ );
645
+
646
+ export const DropdownAction = ActionsCellDropdown.bind({});
647
+ DropdownAction.play = async ({ canvasElement }) => {
648
+ const canvas = within(canvasElement);
649
+ const nextButton = canvas.getAllByRole("button")[8];
650
+ await userEvent.click(nextButton);
651
+ };