@dxc-technology/halstack-react 0.0.0-c291a0c → 0.0.0-c293b72

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 (396) 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 +126 -111
  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 +104 -161
  9. package/accordion/Accordion.stories.tsx +84 -140
  10. package/accordion/Accordion.test.js +25 -41
  11. package/accordion/types.d.ts +6 -17
  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 +31 -98
  15. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  16. package/accordion-group/AccordionGroup.test.js +52 -105
  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 +12 -17
  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 +32 -125
  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 +64 -63
  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 +19 -60
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  48. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +92 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/button/Button.accessibility.test.js +127 -0
  54. package/button/Button.d.ts +1 -1
  55. package/button/Button.js +64 -117
  56. package/button/Button.stories.tsx +151 -100
  57. package/button/Button.test.js +20 -17
  58. package/button/types.d.ts +12 -8
  59. package/card/Card.accessibility.test.js +36 -0
  60. package/card/Card.d.ts +1 -1
  61. package/card/Card.js +48 -89
  62. package/card/Card.stories.tsx +12 -42
  63. package/card/Card.test.js +11 -22
  64. package/card/types.d.ts +6 -11
  65. package/checkbox/Checkbox.accessibility.test.js +87 -0
  66. package/checkbox/Checkbox.d.ts +2 -2
  67. package/checkbox/Checkbox.js +140 -182
  68. package/checkbox/Checkbox.stories.tsx +128 -94
  69. package/checkbox/Checkbox.test.js +160 -39
  70. package/checkbox/types.d.ts +11 -3
  71. package/chip/Chip.accessibility.test.js +67 -0
  72. package/chip/Chip.js +43 -80
  73. package/chip/Chip.stories.tsx +102 -26
  74. package/chip/Chip.test.js +18 -33
  75. package/chip/types.d.ts +4 -4
  76. package/common/coreTokens.d.ts +237 -0
  77. package/common/coreTokens.js +184 -0
  78. package/common/utils.d.ts +1 -0
  79. package/common/utils.js +6 -12
  80. package/common/variables.d.ts +1395 -0
  81. package/common/variables.js +942 -1145
  82. package/container/Container.d.ts +4 -0
  83. package/container/Container.js +194 -0
  84. package/container/Container.stories.tsx +214 -0
  85. package/container/types.d.ts +74 -0
  86. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  87. package/contextual-menu/ContextualMenu.d.ts +7 -0
  88. package/contextual-menu/ContextualMenu.js +71 -0
  89. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  90. package/contextual-menu/ContextualMenu.test.js +71 -0
  91. package/contextual-menu/MenuItemAction.d.ts +4 -0
  92. package/contextual-menu/MenuItemAction.js +46 -0
  93. package/contextual-menu/types.d.ts +22 -0
  94. package/date-input/Calendar.d.ts +4 -0
  95. package/date-input/Calendar.js +214 -0
  96. package/date-input/DateInput.accessibility.test.js +216 -0
  97. package/date-input/DateInput.js +149 -299
  98. package/date-input/DateInput.stories.tsx +203 -56
  99. package/date-input/DateInput.test.js +700 -371
  100. package/date-input/DatePicker.d.ts +4 -0
  101. package/date-input/DatePicker.js +121 -0
  102. package/date-input/YearPicker.d.ts +4 -0
  103. package/date-input/YearPicker.js +100 -0
  104. package/date-input/types.d.ts +72 -15
  105. package/dialog/Dialog.accessibility.test.js +69 -0
  106. package/dialog/Dialog.d.ts +1 -1
  107. package/dialog/Dialog.js +73 -107
  108. package/dialog/Dialog.stories.tsx +320 -167
  109. package/dialog/Dialog.test.js +287 -20
  110. package/dialog/types.d.ts +18 -25
  111. package/divider/Divider.accessibility.test.js +33 -0
  112. package/divider/Divider.d.ts +4 -0
  113. package/divider/Divider.js +36 -0
  114. package/divider/Divider.stories.tsx +223 -0
  115. package/divider/Divider.test.js +38 -0
  116. package/divider/types.d.ts +21 -0
  117. package/dropdown/Dropdown.accessibility.test.js +180 -0
  118. package/dropdown/Dropdown.d.ts +1 -1
  119. package/dropdown/Dropdown.js +231 -303
  120. package/dropdown/Dropdown.stories.tsx +235 -57
  121. package/dropdown/Dropdown.test.js +575 -165
  122. package/dropdown/DropdownMenu.d.ts +4 -0
  123. package/dropdown/DropdownMenu.js +63 -0
  124. package/dropdown/DropdownMenuItem.d.ts +4 -0
  125. package/dropdown/DropdownMenuItem.js +70 -0
  126. package/dropdown/types.d.ts +35 -19
  127. package/file-input/FileInput.accessibility.test.js +160 -0
  128. package/file-input/FileInput.d.ts +2 -2
  129. package/file-input/FileInput.js +241 -391
  130. package/file-input/FileInput.stories.tsx +123 -12
  131. package/file-input/FileInput.test.js +292 -367
  132. package/file-input/FileItem.d.ts +4 -14
  133. package/file-input/FileItem.js +52 -117
  134. package/file-input/types.d.ts +25 -8
  135. package/flex/Flex.d.ts +4 -0
  136. package/flex/Flex.js +57 -0
  137. package/flex/Flex.stories.tsx +112 -0
  138. package/flex/types.d.ts +97 -0
  139. package/footer/Footer.accessibility.test.js +117 -0
  140. package/footer/Footer.d.ts +1 -1
  141. package/footer/Footer.js +73 -118
  142. package/footer/Footer.stories.tsx +87 -21
  143. package/footer/Footer.test.js +33 -57
  144. package/footer/Icons.d.ts +3 -2
  145. package/footer/Icons.js +66 -7
  146. package/footer/types.d.ts +26 -27
  147. package/grid/Grid.d.ts +7 -0
  148. package/grid/Grid.js +76 -0
  149. package/grid/Grid.stories.tsx +219 -0
  150. package/grid/types.d.ts +115 -0
  151. package/header/Header.accessibility.test.js +84 -0
  152. package/header/Header.d.ts +4 -3
  153. package/header/Header.js +88 -182
  154. package/header/Header.stories.tsx +118 -39
  155. package/header/Header.test.js +13 -26
  156. package/header/Icons.d.ts +2 -2
  157. package/header/Icons.js +4 -9
  158. package/header/types.d.ts +7 -21
  159. package/heading/Heading.accessibility.test.js +33 -0
  160. package/heading/Heading.js +10 -32
  161. package/heading/Heading.test.js +71 -88
  162. package/heading/types.d.ts +7 -7
  163. package/icon/Icon.accessibility.test.js +30 -0
  164. package/icon/Icon.d.ts +4 -0
  165. package/icon/Icon.js +33 -0
  166. package/icon/Icon.stories.tsx +28 -0
  167. package/icon/types.d.ts +4 -0
  168. package/icon/types.js +5 -0
  169. package/image/Image.accessibility.test.js +56 -0
  170. package/image/Image.d.ts +4 -0
  171. package/image/Image.js +70 -0
  172. package/image/Image.stories.tsx +129 -0
  173. package/image/types.d.ts +72 -0
  174. package/image/types.js +5 -0
  175. package/inset/Inset.js +13 -21
  176. package/inset/Inset.stories.tsx +5 -4
  177. package/inset/types.d.ts +2 -2
  178. package/layout/ApplicationLayout.d.ts +15 -6
  179. package/layout/ApplicationLayout.js +51 -116
  180. package/layout/ApplicationLayout.stories.tsx +81 -45
  181. package/layout/Icons.d.ts +8 -5
  182. package/layout/Icons.js +49 -59
  183. package/layout/types.d.ts +21 -32
  184. package/link/Link.accessibility.test.js +112 -0
  185. package/link/Link.js +32 -51
  186. package/link/Link.stories.tsx +74 -7
  187. package/link/Link.test.js +24 -44
  188. package/link/types.d.ts +14 -14
  189. package/main.d.ts +14 -13
  190. package/main.js +59 -103
  191. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  192. package/nav-tabs/NavTabs.d.ts +7 -0
  193. package/{tabs-nav → nav-tabs}/NavTabs.js +30 -62
  194. package/nav-tabs/NavTabs.stories.tsx +279 -0
  195. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -46
  196. package/nav-tabs/NavTabsContext.d.ts +3 -0
  197. package/nav-tabs/NavTabsContext.js +8 -0
  198. package/nav-tabs/Tab.js +117 -0
  199. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  200. package/nav-tabs/types.js +5 -0
  201. package/number-input/NumberInput.accessibility.test.js +228 -0
  202. package/number-input/NumberInput.js +46 -36
  203. package/number-input/NumberInput.stories.tsx +42 -26
  204. package/number-input/NumberInput.test.js +860 -377
  205. package/number-input/NumberInputContext.d.ts +3 -4
  206. package/number-input/NumberInputContext.js +3 -14
  207. package/number-input/types.d.ts +17 -5
  208. package/package.json +49 -52
  209. package/paginator/Icons.d.ts +5 -0
  210. package/paginator/Icons.js +21 -47
  211. package/paginator/Paginator.accessibility.test.js +79 -0
  212. package/paginator/Paginator.js +23 -59
  213. package/paginator/Paginator.stories.tsx +24 -0
  214. package/paginator/Paginator.test.js +253 -226
  215. package/paginator/types.d.ts +3 -3
  216. package/paragraph/Paragraph.accessibility.test.js +28 -0
  217. package/paragraph/Paragraph.d.ts +5 -0
  218. package/paragraph/Paragraph.js +22 -0
  219. package/paragraph/Paragraph.stories.tsx +27 -0
  220. package/password-input/PasswordInput.accessibility.test.js +153 -0
  221. package/password-input/PasswordInput.js +56 -126
  222. package/password-input/PasswordInput.stories.tsx +1 -33
  223. package/password-input/PasswordInput.test.js +160 -142
  224. package/password-input/types.d.ts +8 -7
  225. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  226. package/progress-bar/ProgressBar.js +65 -91
  227. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  228. package/progress-bar/ProgressBar.test.js +72 -44
  229. package/progress-bar/types.d.ts +3 -3
  230. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  231. package/quick-nav/QuickNav.js +27 -45
  232. package/quick-nav/QuickNav.stories.tsx +146 -27
  233. package/quick-nav/types.d.ts +10 -10
  234. package/radio-group/Radio.d.ts +1 -1
  235. package/radio-group/Radio.js +59 -76
  236. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  237. package/radio-group/RadioGroup.js +67 -114
  238. package/radio-group/RadioGroup.stories.tsx +132 -18
  239. package/radio-group/RadioGroup.test.js +518 -457
  240. package/radio-group/types.d.ts +10 -10
  241. package/resultset-table/Icons.d.ts +7 -0
  242. package/resultset-table/Icons.js +47 -0
  243. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  244. package/resultset-table/ResultsetTable.d.ts +7 -0
  245. package/resultset-table/ResultsetTable.js +170 -0
  246. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  247. package/resultset-table/ResultsetTable.test.js +381 -0
  248. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  249. package/resultset-table/types.js +5 -0
  250. package/select/Listbox.js +22 -52
  251. package/select/Option.js +33 -55
  252. package/select/Select.accessibility.test.js +217 -0
  253. package/select/Select.js +146 -208
  254. package/select/Select.stories.tsx +484 -203
  255. package/select/Select.test.js +1928 -1814
  256. package/select/types.d.ts +17 -20
  257. package/sidenav/Sidenav.accessibility.test.js +59 -0
  258. package/sidenav/Sidenav.d.ts +6 -5
  259. package/sidenav/Sidenav.js +132 -78
  260. package/sidenav/Sidenav.stories.tsx +246 -151
  261. package/sidenav/Sidenav.test.js +26 -45
  262. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  263. package/{layout → sidenav}/SidenavContext.js +3 -9
  264. package/sidenav/types.d.ts +52 -26
  265. package/slider/Slider.accessibility.test.js +104 -0
  266. package/slider/Slider.d.ts +2 -2
  267. package/slider/Slider.js +148 -181
  268. package/slider/Slider.test.js +185 -81
  269. package/slider/types.d.ts +7 -3
  270. package/spinner/Spinner.accessibility.test.js +96 -0
  271. package/spinner/Spinner.js +31 -75
  272. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  273. package/spinner/Spinner.test.js +26 -35
  274. package/spinner/types.d.ts +3 -3
  275. package/status-light/StatusLight.accessibility.test.js +157 -0
  276. package/status-light/StatusLight.d.ts +4 -0
  277. package/status-light/StatusLight.js +51 -0
  278. package/status-light/StatusLight.stories.tsx +74 -0
  279. package/status-light/StatusLight.test.js +25 -0
  280. package/status-light/types.d.ts +17 -0
  281. package/status-light/types.js +5 -0
  282. package/switch/Switch.accessibility.test.js +89 -0
  283. package/switch/Switch.d.ts +2 -2
  284. package/switch/Switch.js +145 -126
  285. package/switch/Switch.stories.tsx +37 -60
  286. package/switch/Switch.test.js +138 -56
  287. package/switch/types.d.ts +7 -3
  288. package/table/DropdownTheme.js +62 -0
  289. package/table/Table.accessibility.test.js +82 -0
  290. package/table/Table.d.ts +6 -2
  291. package/table/Table.js +78 -35
  292. package/table/Table.stories.tsx +651 -0
  293. package/table/Table.test.js +95 -8
  294. package/table/types.d.ts +34 -6
  295. package/tabs/Tab.d.ts +4 -0
  296. package/tabs/Tab.js +117 -0
  297. package/tabs/Tabs.accessibility.test.js +56 -0
  298. package/tabs/Tabs.js +303 -141
  299. package/tabs/Tabs.stories.tsx +118 -6
  300. package/tabs/Tabs.test.js +213 -77
  301. package/tabs/types.d.ts +30 -20
  302. package/tag/Tag.accessibility.test.js +69 -0
  303. package/tag/Tag.js +35 -67
  304. package/tag/Tag.stories.tsx +18 -8
  305. package/tag/Tag.test.js +18 -37
  306. package/tag/types.d.ts +9 -9
  307. package/text-input/Suggestion.js +40 -28
  308. package/text-input/Suggestions.d.ts +4 -0
  309. package/text-input/Suggestions.js +86 -0
  310. package/text-input/TextInput.accessibility.test.js +321 -0
  311. package/text-input/TextInput.js +311 -514
  312. package/text-input/TextInput.stories.tsx +266 -275
  313. package/text-input/TextInput.test.js +1419 -1375
  314. package/text-input/types.d.ts +43 -16
  315. package/textarea/Textarea.accessibility.test.js +155 -0
  316. package/textarea/Textarea.js +70 -113
  317. package/textarea/Textarea.stories.tsx +174 -0
  318. package/textarea/Textarea.test.js +152 -183
  319. package/textarea/types.d.ts +9 -5
  320. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  321. package/toggle-group/ToggleGroup.d.ts +2 -2
  322. package/toggle-group/ToggleGroup.js +94 -107
  323. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  324. package/toggle-group/ToggleGroup.test.js +69 -88
  325. package/toggle-group/types.d.ts +28 -19
  326. package/typography/Typography.accessibility.test.js +339 -0
  327. package/typography/Typography.d.ts +4 -0
  328. package/typography/Typography.js +23 -0
  329. package/typography/Typography.stories.tsx +198 -0
  330. package/typography/types.d.ts +18 -0
  331. package/typography/types.js +5 -0
  332. package/useTheme.d.ts +1147 -1
  333. package/useTheme.js +2 -9
  334. package/useTranslatedLabels.d.ts +84 -1
  335. package/useTranslatedLabels.js +1 -7
  336. package/utils/BaseTypography.d.ts +21 -0
  337. package/utils/BaseTypography.js +94 -0
  338. package/utils/FocusLock.d.ts +13 -0
  339. package/utils/FocusLock.js +124 -0
  340. package/wizard/Wizard.accessibility.test.js +55 -0
  341. package/wizard/Wizard.js +34 -79
  342. package/wizard/Wizard.stories.tsx +59 -1
  343. package/wizard/Wizard.test.js +54 -81
  344. package/wizard/types.d.ts +9 -9
  345. package/card/ice-cream.jpg +0 -0
  346. package/common/OpenSans.css +0 -81
  347. package/common/RequiredComponent.js +0 -32
  348. package/common/fonts/OpenSans-Bold.ttf +0 -0
  349. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  350. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  351. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  352. package/common/fonts/OpenSans-Italic.ttf +0 -0
  353. package/common/fonts/OpenSans-Light.ttf +0 -0
  354. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  355. package/common/fonts/OpenSans-Regular.ttf +0 -0
  356. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  357. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  358. package/inline/Inline.d.ts +0 -4
  359. package/inline/Inline.js +0 -54
  360. package/inline/Inline.stories.tsx +0 -264
  361. package/inline/types.d.ts +0 -32
  362. package/list/List.d.ts +0 -4
  363. package/list/List.js +0 -47
  364. package/list/List.stories.tsx +0 -89
  365. package/list/types.d.ts +0 -7
  366. package/number-input/numberInputContextTypes.d.ts +0 -19
  367. package/resultsetTable/ResultsetTable.d.ts +0 -4
  368. package/resultsetTable/ResultsetTable.js +0 -254
  369. package/resultsetTable/ResultsetTable.test.js +0 -348
  370. package/row/Row.d.ts +0 -3
  371. package/row/Row.js +0 -127
  372. package/row/Row.stories.tsx +0 -237
  373. package/row/types.d.ts +0 -28
  374. package/select/Icons.d.ts +0 -10
  375. package/select/Icons.js +0 -93
  376. package/slider/Slider.stories.tsx +0 -177
  377. package/stack/Stack.d.ts +0 -4
  378. package/stack/Stack.js +0 -50
  379. package/stack/Stack.stories.tsx +0 -225
  380. package/stack/types.d.ts +0 -28
  381. package/table/Table.stories.jsx +0 -277
  382. package/tabs-nav/NavTabs.d.ts +0 -8
  383. package/tabs-nav/NavTabs.stories.tsx +0 -170
  384. package/tabs-nav/Tab.js +0 -132
  385. package/text/Text.d.ts +0 -7
  386. package/text/Text.js +0 -30
  387. package/text/Text.stories.tsx +0 -19
  388. package/textarea/Textarea.stories.jsx +0 -157
  389. /package/{inline → action-icon}/types.js +0 -0
  390. /package/{list → bulleted-list}/types.js +0 -0
  391. /package/{resultsetTable → container}/types.js +0 -0
  392. /package/{row → contextual-menu}/types.js +0 -0
  393. /package/{stack → divider}/types.js +0 -0
  394. /package/{tabs-nav → flex}/types.js +0 -0
  395. /package/{number-input/numberInputContextTypes.js → grid/types.js} +0 -0
  396. /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
+ };