@dxc-technology/halstack-react 0.0.0-8c5a0f7 → 0.0.0-8d625da

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 (508) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +1 -1
  9. package/accordion/Accordion.js +102 -181
  10. package/accordion/Accordion.stories.tsx +83 -149
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +31 -32
  13. package/accordion/types.d.ts +10 -17
  14. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  16. package/accordion-group/AccordionGroup.d.ts +3 -3
  17. package/accordion-group/AccordionGroup.js +38 -107
  18. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +52 -91
  21. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  22. package/accordion-group/AccordionGroupAccordion.js +31 -0
  23. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  24. package/accordion-group/AccordionGroupContext.js +8 -0
  25. package/accordion-group/types.d.ts +16 -17
  26. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  27. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  28. package/action-icon/ActionIcon.d.ts +4 -0
  29. package/action-icon/ActionIcon.js +48 -0
  30. package/action-icon/ActionIcon.stories.tsx +41 -0
  31. package/action-icon/ActionIcon.test.d.ts +1 -0
  32. package/action-icon/ActionIcon.test.js +64 -0
  33. package/action-icon/types.d.ts +26 -0
  34. package/alert/Alert.accessibility.test.d.ts +1 -0
  35. package/alert/Alert.accessibility.test.js +95 -0
  36. package/alert/Alert.js +40 -127
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +28 -45
  40. package/alert/types.d.ts +5 -5
  41. package/badge/Badge.accessibility.test.d.ts +1 -0
  42. package/badge/Badge.accessibility.test.js +129 -0
  43. package/badge/Badge.d.ts +1 -1
  44. package/badge/Badge.js +142 -40
  45. package/badge/Badge.stories.tsx +210 -0
  46. package/badge/Badge.test.d.ts +1 -0
  47. package/badge/Badge.test.js +30 -0
  48. package/badge/types.d.ts +52 -2
  49. package/bleed/Bleed.js +14 -55
  50. package/bleed/Bleed.stories.tsx +95 -95
  51. package/bleed/types.d.ts +26 -2
  52. package/box/Box.accessibility.test.d.ts +1 -0
  53. package/box/Box.accessibility.test.js +33 -0
  54. package/box/Box.d.ts +1 -1
  55. package/box/Box.js +30 -81
  56. package/box/Box.stories.tsx +38 -51
  57. package/box/Box.test.d.ts +1 -0
  58. package/box/Box.test.js +1 -6
  59. package/box/types.d.ts +3 -14
  60. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  61. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  62. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  63. package/breadcrumbs/Breadcrumbs.js +79 -0
  64. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  65. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  66. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  67. package/breadcrumbs/Item.d.ts +4 -0
  68. package/breadcrumbs/Item.js +52 -0
  69. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  70. package/breadcrumbs/dropdownTheme.js +62 -0
  71. package/breadcrumbs/types.d.ts +16 -0
  72. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  73. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  74. package/bulleted-list/BulletedList.d.ts +7 -0
  75. package/bulleted-list/BulletedList.js +92 -0
  76. package/bulleted-list/BulletedList.stories.tsx +115 -0
  77. package/bulleted-list/types.d.ts +38 -0
  78. package/button/Button.accessibility.test.d.ts +1 -0
  79. package/button/Button.accessibility.test.js +127 -0
  80. package/button/Button.d.ts +1 -1
  81. package/button/Button.js +63 -113
  82. package/button/Button.stories.tsx +151 -100
  83. package/button/Button.test.d.ts +1 -0
  84. package/button/Button.test.js +19 -16
  85. package/button/types.d.ts +12 -8
  86. package/card/Card.accessibility.test.d.ts +1 -0
  87. package/card/Card.accessibility.test.js +36 -0
  88. package/card/Card.d.ts +1 -1
  89. package/card/Card.js +59 -102
  90. package/card/Card.stories.tsx +12 -42
  91. package/card/Card.test.d.ts +1 -0
  92. package/card/Card.test.js +10 -21
  93. package/card/types.d.ts +6 -11
  94. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  95. package/checkbox/Checkbox.accessibility.test.js +87 -0
  96. package/checkbox/Checkbox.d.ts +2 -2
  97. package/checkbox/Checkbox.js +140 -181
  98. package/checkbox/Checkbox.stories.tsx +166 -136
  99. package/checkbox/Checkbox.test.d.ts +1 -0
  100. package/checkbox/Checkbox.test.js +162 -28
  101. package/checkbox/types.d.ts +18 -6
  102. package/chip/Chip.accessibility.test.d.ts +1 -0
  103. package/chip/Chip.accessibility.test.js +67 -0
  104. package/chip/Chip.js +45 -80
  105. package/chip/Chip.stories.tsx +107 -27
  106. package/chip/Chip.test.d.ts +1 -0
  107. package/chip/Chip.test.js +17 -32
  108. package/chip/types.d.ts +4 -4
  109. package/common/coreTokens.d.ts +237 -0
  110. package/common/coreTokens.js +184 -0
  111. package/common/utils.d.ts +1 -0
  112. package/common/utils.js +6 -12
  113. package/common/variables.d.ts +1392 -0
  114. package/common/variables.js +1081 -1190
  115. package/container/Container.d.ts +4 -0
  116. package/container/Container.js +194 -0
  117. package/container/Container.stories.tsx +214 -0
  118. package/container/types.d.ts +74 -0
  119. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  120. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  121. package/contextual-menu/ContextualMenu.d.ts +5 -0
  122. package/contextual-menu/ContextualMenu.js +88 -0
  123. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  124. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  125. package/contextual-menu/ContextualMenu.test.js +205 -0
  126. package/contextual-menu/GroupItem.d.ts +4 -0
  127. package/contextual-menu/GroupItem.js +67 -0
  128. package/contextual-menu/ItemAction.d.ts +4 -0
  129. package/contextual-menu/ItemAction.js +51 -0
  130. package/contextual-menu/MenuItem.d.ts +4 -0
  131. package/contextual-menu/MenuItem.js +29 -0
  132. package/contextual-menu/SingleItem.d.ts +4 -0
  133. package/contextual-menu/SingleItem.js +38 -0
  134. package/contextual-menu/types.d.ts +58 -0
  135. package/date-input/Calendar.d.ts +4 -0
  136. package/date-input/Calendar.js +214 -0
  137. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  138. package/date-input/DateInput.accessibility.test.js +230 -0
  139. package/date-input/DateInput.js +170 -306
  140. package/date-input/DateInput.stories.tsx +210 -56
  141. package/date-input/DateInput.test.d.ts +1 -0
  142. package/date-input/DateInput.test.js +708 -368
  143. package/date-input/DatePicker.d.ts +4 -0
  144. package/date-input/DatePicker.js +121 -0
  145. package/date-input/YearPicker.d.ts +4 -0
  146. package/date-input/YearPicker.js +100 -0
  147. package/date-input/types.d.ts +86 -22
  148. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  149. package/dialog/Dialog.accessibility.test.js +69 -0
  150. package/dialog/Dialog.d.ts +1 -1
  151. package/dialog/Dialog.js +56 -129
  152. package/dialog/Dialog.stories.tsx +325 -167
  153. package/dialog/Dialog.test.d.ts +1 -0
  154. package/dialog/Dialog.test.js +350 -19
  155. package/dialog/types.d.ts +18 -25
  156. package/divider/Divider.accessibility.test.d.ts +1 -0
  157. package/divider/Divider.accessibility.test.js +33 -0
  158. package/divider/Divider.d.ts +4 -0
  159. package/divider/Divider.js +36 -0
  160. package/divider/Divider.stories.tsx +223 -0
  161. package/divider/Divider.test.d.ts +1 -0
  162. package/divider/Divider.test.js +38 -0
  163. package/divider/types.d.ts +21 -0
  164. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  165. package/dropdown/Dropdown.accessibility.test.js +184 -0
  166. package/dropdown/Dropdown.d.ts +1 -1
  167. package/dropdown/Dropdown.js +232 -307
  168. package/dropdown/Dropdown.stories.tsx +235 -57
  169. package/dropdown/Dropdown.test.d.ts +1 -0
  170. package/dropdown/Dropdown.test.js +604 -164
  171. package/dropdown/DropdownMenu.d.ts +4 -0
  172. package/dropdown/DropdownMenu.js +63 -0
  173. package/dropdown/DropdownMenuItem.d.ts +4 -0
  174. package/dropdown/DropdownMenuItem.js +71 -0
  175. package/dropdown/types.d.ts +35 -19
  176. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  177. package/file-input/FileInput.accessibility.test.js +167 -0
  178. package/file-input/FileInput.d.ts +2 -2
  179. package/file-input/FileInput.js +245 -395
  180. package/file-input/FileInput.stories.tsx +123 -12
  181. package/file-input/FileInput.test.d.ts +1 -0
  182. package/file-input/FileInput.test.js +314 -367
  183. package/file-input/FileItem.d.ts +4 -14
  184. package/file-input/FileItem.js +61 -120
  185. package/file-input/types.d.ts +25 -8
  186. package/flex/Flex.d.ts +4 -0
  187. package/flex/Flex.js +57 -0
  188. package/flex/Flex.stories.tsx +112 -0
  189. package/flex/types.d.ts +97 -0
  190. package/flex/types.js +5 -0
  191. package/footer/Footer.accessibility.test.d.ts +1 -0
  192. package/footer/Footer.accessibility.test.js +125 -0
  193. package/footer/Footer.d.ts +1 -1
  194. package/footer/Footer.js +73 -191
  195. package/footer/Footer.stories.tsx +99 -21
  196. package/footer/Footer.test.d.ts +1 -0
  197. package/footer/Footer.test.js +32 -56
  198. package/footer/Icons.d.ts +3 -2
  199. package/footer/Icons.js +54 -23
  200. package/footer/types.d.ts +26 -27
  201. package/grid/Grid.d.ts +7 -0
  202. package/grid/Grid.js +76 -0
  203. package/grid/Grid.stories.tsx +219 -0
  204. package/grid/types.d.ts +115 -0
  205. package/grid/types.js +5 -0
  206. package/header/Header.accessibility.test.d.ts +1 -0
  207. package/header/Header.accessibility.test.js +94 -0
  208. package/header/Header.d.ts +4 -3
  209. package/header/Header.js +104 -218
  210. package/header/Header.stories.tsx +168 -63
  211. package/header/Header.test.d.ts +1 -0
  212. package/header/Header.test.js +30 -27
  213. package/header/Icons.d.ts +2 -2
  214. package/header/Icons.js +5 -15
  215. package/header/types.d.ts +7 -21
  216. package/heading/Heading.accessibility.test.d.ts +1 -0
  217. package/heading/Heading.accessibility.test.js +33 -0
  218. package/heading/Heading.js +10 -32
  219. package/heading/Heading.test.d.ts +1 -0
  220. package/heading/Heading.test.js +64 -94
  221. package/heading/types.d.ts +7 -7
  222. package/icon/Icon.accessibility.test.d.ts +1 -0
  223. package/icon/Icon.accessibility.test.js +30 -0
  224. package/icon/Icon.d.ts +4 -0
  225. package/icon/Icon.js +33 -0
  226. package/icon/Icon.stories.tsx +28 -0
  227. package/icon/types.d.ts +4 -0
  228. package/icon/types.js +5 -0
  229. package/image/Image.accessibility.test.d.ts +1 -0
  230. package/image/Image.accessibility.test.js +56 -0
  231. package/image/Image.d.ts +4 -0
  232. package/image/Image.js +70 -0
  233. package/image/Image.stories.tsx +129 -0
  234. package/image/types.d.ts +72 -0
  235. package/image/types.js +5 -0
  236. package/inset/Inset.js +14 -55
  237. package/inset/Inset.stories.tsx +37 -36
  238. package/inset/types.d.ts +26 -2
  239. package/layout/ApplicationLayout.d.ts +16 -6
  240. package/layout/ApplicationLayout.js +88 -182
  241. package/layout/ApplicationLayout.stories.tsx +85 -94
  242. package/layout/Icons.d.ts +7 -0
  243. package/layout/Icons.js +41 -48
  244. package/layout/types.d.ts +19 -35
  245. package/link/Link.accessibility.test.d.ts +1 -0
  246. package/link/Link.accessibility.test.js +108 -0
  247. package/link/Link.d.ts +3 -2
  248. package/link/Link.js +65 -101
  249. package/link/Link.stories.tsx +157 -55
  250. package/link/Link.test.d.ts +1 -0
  251. package/link/Link.test.js +24 -52
  252. package/link/types.d.ts +15 -31
  253. package/main.d.ts +17 -13
  254. package/main.js +86 -101
  255. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  256. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  257. package/nav-tabs/NavTabs.d.ts +7 -0
  258. package/nav-tabs/NavTabs.js +108 -0
  259. package/nav-tabs/NavTabs.stories.tsx +294 -0
  260. package/nav-tabs/NavTabs.test.d.ts +1 -0
  261. package/nav-tabs/NavTabs.test.js +77 -0
  262. package/nav-tabs/NavTabsContext.d.ts +3 -0
  263. package/nav-tabs/NavTabsContext.js +8 -0
  264. package/nav-tabs/Tab.d.ts +4 -0
  265. package/nav-tabs/Tab.js +117 -0
  266. package/nav-tabs/types.d.ts +52 -0
  267. package/nav-tabs/types.js +5 -0
  268. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  269. package/number-input/NumberInput.accessibility.test.js +228 -0
  270. package/number-input/NumberInput.js +47 -44
  271. package/number-input/NumberInput.stories.tsx +44 -28
  272. package/number-input/NumberInput.test.d.ts +1 -0
  273. package/number-input/NumberInput.test.js +861 -380
  274. package/number-input/NumberInputContext.d.ts +3 -4
  275. package/number-input/NumberInputContext.js +3 -14
  276. package/number-input/types.d.ts +34 -15
  277. package/package.json +55 -54
  278. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  279. package/paginator/Paginator.accessibility.test.js +79 -0
  280. package/paginator/Paginator.js +46 -100
  281. package/paginator/Paginator.stories.tsx +24 -0
  282. package/paginator/Paginator.test.d.ts +1 -0
  283. package/paginator/Paginator.test.js +279 -210
  284. package/paginator/types.d.ts +3 -3
  285. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  286. package/paragraph/Paragraph.accessibility.test.js +28 -0
  287. package/paragraph/Paragraph.d.ts +5 -0
  288. package/paragraph/Paragraph.js +22 -0
  289. package/paragraph/Paragraph.stories.tsx +27 -0
  290. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  291. package/password-input/PasswordInput.accessibility.test.js +153 -0
  292. package/password-input/PasswordInput.js +58 -124
  293. package/password-input/PasswordInput.stories.tsx +1 -33
  294. package/password-input/PasswordInput.test.d.ts +1 -0
  295. package/password-input/PasswordInput.test.js +161 -146
  296. package/password-input/types.d.ts +21 -17
  297. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  298. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  299. package/progress-bar/ProgressBar.js +68 -92
  300. package/progress-bar/ProgressBar.stories.tsx +93 -0
  301. package/progress-bar/ProgressBar.test.d.ts +1 -0
  302. package/progress-bar/ProgressBar.test.js +71 -43
  303. package/progress-bar/types.d.ts +3 -3
  304. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  305. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  306. package/quick-nav/QuickNav.d.ts +4 -0
  307. package/quick-nav/QuickNav.js +94 -0
  308. package/quick-nav/QuickNav.stories.tsx +356 -0
  309. package/quick-nav/types.d.ts +21 -0
  310. package/quick-nav/types.js +5 -0
  311. package/radio-group/Radio.d.ts +1 -1
  312. package/radio-group/Radio.js +59 -79
  313. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  314. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  315. package/radio-group/RadioGroup.js +74 -121
  316. package/radio-group/RadioGroup.stories.tsx +132 -18
  317. package/radio-group/RadioGroup.test.d.ts +1 -0
  318. package/radio-group/RadioGroup.test.js +518 -459
  319. package/radio-group/types.d.ts +10 -10
  320. package/resultset-table/Icons.d.ts +7 -0
  321. package/resultset-table/Icons.js +47 -0
  322. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  323. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  324. package/resultset-table/ResultsetTable.d.ts +7 -0
  325. package/resultset-table/ResultsetTable.js +171 -0
  326. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  327. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  328. package/resultset-table/ResultsetTable.test.js +380 -0
  329. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  330. package/resultset-table/types.js +5 -0
  331. package/select/Listbox.d.ts +4 -0
  332. package/select/Listbox.js +151 -0
  333. package/select/Option.js +35 -56
  334. package/select/Select.accessibility.test.d.ts +1 -0
  335. package/select/Select.accessibility.test.js +228 -0
  336. package/select/Select.js +225 -365
  337. package/select/Select.stories.tsx +533 -196
  338. package/select/Select.test.d.ts +1 -0
  339. package/select/Select.test.js +1956 -1588
  340. package/select/types.d.ts +54 -28
  341. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  342. package/sidenav/Sidenav.accessibility.test.js +59 -0
  343. package/sidenav/Sidenav.d.ts +6 -5
  344. package/sidenav/Sidenav.js +136 -71
  345. package/sidenav/Sidenav.stories.tsx +246 -151
  346. package/sidenav/Sidenav.test.d.ts +1 -0
  347. package/sidenav/Sidenav.test.js +25 -44
  348. package/sidenav/SidenavContext.d.ts +5 -0
  349. package/sidenav/SidenavContext.js +13 -0
  350. package/sidenav/types.d.ts +52 -26
  351. package/slider/Slider.accessibility.test.d.ts +1 -0
  352. package/slider/Slider.accessibility.test.js +104 -0
  353. package/slider/Slider.d.ts +2 -2
  354. package/slider/Slider.js +147 -181
  355. package/slider/Slider.stories.tsx +68 -65
  356. package/slider/Slider.test.d.ts +1 -0
  357. package/slider/Slider.test.js +205 -77
  358. package/slider/types.d.ts +11 -3
  359. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  360. package/spinner/Spinner.accessibility.test.js +96 -0
  361. package/spinner/Spinner.js +34 -74
  362. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  363. package/spinner/Spinner.test.d.ts +1 -0
  364. package/spinner/Spinner.test.js +25 -34
  365. package/spinner/types.d.ts +3 -3
  366. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  367. package/status-light/StatusLight.accessibility.test.js +157 -0
  368. package/status-light/StatusLight.d.ts +4 -0
  369. package/status-light/StatusLight.js +51 -0
  370. package/status-light/StatusLight.stories.tsx +74 -0
  371. package/status-light/StatusLight.test.d.ts +1 -0
  372. package/status-light/StatusLight.test.js +25 -0
  373. package/status-light/types.d.ts +17 -0
  374. package/status-light/types.js +5 -0
  375. package/switch/Switch.accessibility.test.d.ts +1 -0
  376. package/switch/Switch.accessibility.test.js +98 -0
  377. package/switch/Switch.d.ts +2 -2
  378. package/switch/Switch.js +146 -114
  379. package/switch/Switch.stories.tsx +56 -67
  380. package/switch/Switch.test.d.ts +1 -0
  381. package/switch/Switch.test.js +145 -38
  382. package/switch/types.d.ts +13 -5
  383. package/table/DropdownTheme.js +62 -0
  384. package/table/Table.accessibility.test.d.ts +1 -0
  385. package/table/Table.accessibility.test.js +93 -0
  386. package/table/Table.d.ts +6 -2
  387. package/table/Table.js +78 -35
  388. package/table/Table.stories.tsx +663 -0
  389. package/table/Table.test.d.ts +1 -0
  390. package/table/Table.test.js +93 -7
  391. package/table/types.d.ts +34 -6
  392. package/tabs/Tab.d.ts +4 -0
  393. package/tabs/Tab.js +117 -0
  394. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  395. package/tabs/Tabs.accessibility.test.js +56 -0
  396. package/tabs/Tabs.d.ts +1 -1
  397. package/tabs/Tabs.js +305 -145
  398. package/tabs/Tabs.stories.tsx +124 -14
  399. package/tabs/Tabs.test.d.ts +1 -0
  400. package/tabs/Tabs.test.js +219 -66
  401. package/tabs/types.d.ts +31 -17
  402. package/tag/Tag.accessibility.test.d.ts +1 -0
  403. package/tag/Tag.accessibility.test.js +69 -0
  404. package/tag/Tag.js +38 -73
  405. package/tag/Tag.stories.tsx +18 -8
  406. package/tag/Tag.test.d.ts +1 -0
  407. package/tag/Tag.test.js +17 -36
  408. package/tag/types.d.ts +9 -9
  409. package/text-input/Suggestion.d.ts +4 -0
  410. package/text-input/Suggestion.js +67 -0
  411. package/text-input/Suggestions.d.ts +4 -0
  412. package/text-input/Suggestions.js +94 -0
  413. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  414. package/text-input/TextInput.accessibility.test.js +321 -0
  415. package/text-input/TextInput.js +327 -556
  416. package/text-input/TextInput.stories.tsx +276 -276
  417. package/text-input/TextInput.test.d.ts +1 -0
  418. package/text-input/TextInput.test.js +1429 -1398
  419. package/text-input/types.d.ts +66 -24
  420. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  421. package/textarea/Textarea.accessibility.test.js +155 -0
  422. package/textarea/Textarea.js +78 -131
  423. package/textarea/Textarea.stories.tsx +174 -0
  424. package/textarea/Textarea.test.d.ts +1 -0
  425. package/textarea/Textarea.test.js +161 -202
  426. package/textarea/types.d.ts +23 -16
  427. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  428. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  429. package/toggle-group/ToggleGroup.d.ts +2 -2
  430. package/toggle-group/ToggleGroup.js +92 -107
  431. package/toggle-group/ToggleGroup.stories.tsx +56 -11
  432. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  433. package/toggle-group/ToggleGroup.test.js +77 -65
  434. package/toggle-group/types.d.ts +36 -19
  435. package/typography/Typography.accessibility.test.d.ts +1 -0
  436. package/typography/Typography.accessibility.test.js +339 -0
  437. package/typography/Typography.d.ts +4 -0
  438. package/typography/Typography.js +23 -0
  439. package/typography/Typography.stories.tsx +198 -0
  440. package/typography/types.d.ts +18 -0
  441. package/typography/types.js +5 -0
  442. package/useTheme.d.ts +1144 -1
  443. package/useTheme.js +4 -11
  444. package/useTranslatedLabels.d.ts +85 -0
  445. package/useTranslatedLabels.js +14 -0
  446. package/utils/BaseTypography.d.ts +21 -0
  447. package/utils/BaseTypography.js +94 -0
  448. package/utils/FocusLock.d.ts +13 -0
  449. package/utils/FocusLock.js +124 -0
  450. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  451. package/wizard/Wizard.accessibility.test.js +55 -0
  452. package/wizard/Wizard.d.ts +1 -1
  453. package/wizard/Wizard.js +78 -120
  454. package/wizard/Wizard.stories.tsx +67 -19
  455. package/wizard/Wizard.test.d.ts +1 -0
  456. package/wizard/Wizard.test.js +72 -86
  457. package/wizard/types.d.ts +14 -10
  458. package/ThemeContext.d.ts +0 -10
  459. package/ThemeContext.js +0 -243
  460. package/card/ice-cream.jpg +0 -0
  461. package/common/OpenSans.css +0 -81
  462. package/common/RequiredComponent.js +0 -32
  463. package/common/fonts/OpenSans-Bold.ttf +0 -0
  464. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  465. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  466. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  467. package/common/fonts/OpenSans-Italic.ttf +0 -0
  468. package/common/fonts/OpenSans-Light.ttf +0 -0
  469. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  470. package/common/fonts/OpenSans-Regular.ttf +0 -0
  471. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  472. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  473. package/list/List.d.ts +0 -4
  474. package/list/List.js +0 -47
  475. package/list/List.stories.tsx +0 -95
  476. package/list/types.d.ts +0 -7
  477. package/number-input/numberInputContextTypes.d.ts +0 -19
  478. package/paginator/Icons.js +0 -66
  479. package/progress-bar/ProgressBar.stories.jsx +0 -58
  480. package/radio/Radio.d.ts +0 -4
  481. package/radio/Radio.js +0 -174
  482. package/radio/Radio.stories.tsx +0 -192
  483. package/radio/Radio.test.js +0 -71
  484. package/radio/types.d.ts +0 -54
  485. package/resultsetTable/ResultsetTable.d.ts +0 -4
  486. package/resultsetTable/ResultsetTable.js +0 -254
  487. package/resultsetTable/ResultsetTable.test.js +0 -306
  488. package/row/Row.d.ts +0 -3
  489. package/row/Row.js +0 -127
  490. package/row/Row.stories.tsx +0 -237
  491. package/row/types.d.ts +0 -10
  492. package/select/Icons.d.ts +0 -10
  493. package/select/Icons.js +0 -93
  494. package/stack/Stack.d.ts +0 -3
  495. package/stack/Stack.js +0 -97
  496. package/stack/Stack.stories.tsx +0 -164
  497. package/stack/types.d.ts +0 -9
  498. package/table/Table.stories.jsx +0 -277
  499. package/text/Text.d.ts +0 -7
  500. package/text/Text.js +0 -30
  501. package/text/Text.stories.tsx +0 -19
  502. package/textarea/Textarea.stories.jsx +0 -157
  503. /package/{list → action-icon}/types.js +0 -0
  504. /package/{radio → breadcrumbs}/types.js +0 -0
  505. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  506. /package/{row → container}/types.js +0 -0
  507. /package/{stack → contextual-menu}/types.js +0 -0
  508. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
@@ -1,73 +1,180 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _Switch = _interopRequireDefault(require("./Switch"));
10
-
11
7
  describe("Switch component tests", function () {
12
8
  test("Switch renders with correct text", function () {
13
9
  var onChange = jest.fn(function (returnedValue) {
14
10
  expect(returnedValue).toBe(true);
15
11
  });
16
-
17
12
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
18
- label: "SwitchComponent",
19
- checked: false,
20
- onChange: onChange
21
- })),
22
- getByText = _render.getByText;
23
-
13
+ label: "SwitchComponent",
14
+ checked: false,
15
+ onChange: onChange
16
+ })),
17
+ getByText = _render.getByText;
24
18
  expect(getByText("SwitchComponent")).toBeTruthy();
25
19
  });
26
20
  test("Calls correct function on click", function () {
27
21
  var onChange = jest.fn();
28
-
29
22
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
30
- label: "SwitchComponent",
31
- checked: false,
32
- onChange: onChange
33
- })),
34
- getByText = _render2.getByText;
35
-
23
+ label: "SwitchComponent",
24
+ checked: false,
25
+ onChange: onChange
26
+ })),
27
+ getByText = _render2.getByText;
36
28
  _react2.fireEvent.click(getByText("SwitchComponent"));
37
-
38
29
  expect(onChange).toHaveBeenCalled();
39
30
  });
40
- test("Everytime the user clicks the component the onchange function is called with the correct value CONTROLLED COMPONENT", function () {
31
+ test("Calls correct function on key down", function () {
41
32
  var onChange = jest.fn();
42
-
43
33
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
44
- label: "SwitchComponent",
45
- checked: false,
46
- onChange: onChange
47
- })),
48
- getByText = _render3.getByText;
49
-
34
+ label: "SwitchComponent",
35
+ checked: false,
36
+ onChange: onChange
37
+ })),
38
+ getByText = _render3.getByText;
39
+ _react2.fireEvent.focus(getByText("SwitchComponent"));
40
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
41
+ key: "Enter"
42
+ });
43
+ expect(onChange).toHaveBeenCalled();
44
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
45
+ key: " "
46
+ });
47
+ expect(onChange).toHaveBeenCalled();
48
+ });
49
+ test("Everytime the user clicks the component the onchange function is called with the correct value CONTROLLED COMPONENT", function () {
50
+ var onChange = jest.fn();
51
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
52
+ label: "SwitchComponent",
53
+ checked: false,
54
+ onChange: onChange
55
+ })),
56
+ getByText = _render4.getByText;
50
57
  _react2.fireEvent.click(getByText("SwitchComponent"));
51
-
52
58
  _react2.fireEvent.click(getByText("SwitchComponent"));
53
-
59
+ expect(onChange.mock.calls[0][0]).toBe(true);
60
+ expect(onChange.mock.calls[1][0]).toBe(true);
61
+ });
62
+ test("Everytime the user use enter in the component, the onchange function is called with the correct value CONTROLLED COMPONENT", function () {
63
+ var onChange = jest.fn();
64
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
65
+ label: "SwitchComponent",
66
+ checked: false,
67
+ onChange: onChange
68
+ })),
69
+ getByText = _render5.getByText;
70
+ _react2.fireEvent.focus(getByText("SwitchComponent"));
71
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
72
+ key: "Enter"
73
+ });
74
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
75
+ key: "Enter"
76
+ });
77
+ expect(onChange.mock.calls[0][0]).toBe(true);
78
+ expect(onChange.mock.calls[1][0]).toBe(true);
79
+ });
80
+ test("Everytime the user use space in the component, the onchange function is called with the correct value CONTROLLED COMPONENT", function () {
81
+ var onChange = jest.fn();
82
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
83
+ label: "SwitchComponent",
84
+ checked: false,
85
+ onChange: onChange
86
+ })),
87
+ getByText = _render6.getByText;
88
+ _react2.fireEvent.focus(getByText("SwitchComponent"));
89
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
90
+ key: " "
91
+ });
92
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
93
+ key: " "
94
+ });
54
95
  expect(onChange.mock.calls[0][0]).toBe(true);
55
96
  expect(onChange.mock.calls[1][0]).toBe(true);
56
97
  });
57
98
  test("Everytime the user clicks the component the onchange function is called with the correct value UNCONTROLLED COMPONENT", function () {
58
99
  var onChange = jest.fn();
59
-
60
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
61
- label: "SwitchComponent",
62
- onChange: onChange
63
- })),
64
- getByText = _render4.getByText;
65
-
100
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
101
+ label: "SwitchComponent",
102
+ onChange: onChange
103
+ })),
104
+ getByText = _render7.getByText;
66
105
  _react2.fireEvent.click(getByText("SwitchComponent"));
67
-
68
106
  _react2.fireEvent.click(getByText("SwitchComponent"));
69
-
70
107
  expect(onChange.mock.calls[0][0]).toBe(true);
71
108
  expect(onChange.mock.calls[1][0]).toBe(false);
72
109
  });
110
+ test("Everytime the user use enter in the component, the onchange function is called with the correct value UNCONTROLLED COMPONENT", function () {
111
+ var onChange = jest.fn();
112
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
113
+ label: "SwitchComponent",
114
+ onChange: onChange
115
+ })),
116
+ getByText = _render8.getByText;
117
+ _react2.fireEvent.focus(getByText("SwitchComponent"));
118
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
119
+ key: "Enter"
120
+ });
121
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
122
+ key: "Enter"
123
+ });
124
+ expect(onChange.mock.calls[0][0]).toBe(true);
125
+ expect(onChange.mock.calls[1][0]).toBe(false);
126
+ });
127
+ test("Everytime the user use space in the component, the onchange function is called with the correct value UNCONTROLLED COMPONENT", function () {
128
+ var onChange = jest.fn();
129
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
130
+ label: "SwitchComponent",
131
+ onChange: onChange
132
+ })),
133
+ getByText = _render9.getByText;
134
+ _react2.fireEvent.focus(getByText("SwitchComponent"));
135
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
136
+ key: " "
137
+ });
138
+ _react2.fireEvent.keyDown(getByText("SwitchComponent"), {
139
+ key: " "
140
+ });
141
+ expect(onChange.mock.calls[0][0]).toBe(true);
142
+ expect(onChange.mock.calls[1][0]).toBe(false);
143
+ });
144
+ test("Renders with correct initial value and initial state when it is uncontrolled", function () {
145
+ var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
146
+ label: "Default label",
147
+ defaultChecked: true,
148
+ value: "test-defaultChecked",
149
+ name: "test"
150
+ }));
151
+ var switchEl = component.getByRole("switch");
152
+ var inputEl = component.container.querySelector("input[name=\"test\"]");
153
+ expect(inputEl.value).toBe("test-defaultChecked");
154
+ expect(switchEl.getAttribute("aria-checked")).toBe("true");
155
+ });
156
+ test("Renders with correct aria attributes", function () {
157
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
158
+ label: "Default label"
159
+ })),
160
+ getByText = _render10.getByText,
161
+ getByRole = _render10.getByRole;
162
+ var switchEl = getByRole("switch");
163
+ var label = getByText("Default label");
164
+ expect(switchEl.getAttribute("aria-labelledby")).toBe(label.id);
165
+ expect(switchEl.getAttribute("aria-checked")).toBe("false");
166
+ });
167
+ test("Renders disabled switch correctly", function () {
168
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
169
+ label: "Default label",
170
+ disabled: true
171
+ })),
172
+ getByText = _render11.getByText,
173
+ getByRole = _render11.getByRole;
174
+ var switchEl = getByRole("switch");
175
+ var label = getByText("Default label");
176
+ expect(switchEl.getAttribute("aria-labelledby")).toBe(label.id);
177
+ expect(switchEl.getAttribute("aria-checked")).toBe("false");
178
+ expect(switchEl.getAttribute("aria-disabled")).toBe("true");
179
+ });
73
180
  });
package/switch/types.d.ts CHANGED
@@ -1,11 +1,15 @@
1
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- declare type Margin = {
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- declare type Props = {
8
+ type Props = {
9
+ /**
10
+ * Initial state of the switch, only when it is uncontrolled.
11
+ */
12
+ defaultChecked?: boolean;
9
13
  /**
10
14
  * If true, the component is checked. If undefined, the component will be uncontrolled
11
15
  * and the checked attribute will be managed internally by the component.
@@ -38,9 +42,9 @@ declare type Props = {
38
42
  */
39
43
  onChange?: (checked: boolean) => void;
40
44
  /**
41
- * If true, the switch will change its appearence, showing that the value is required.
45
+ * If true, the component will display '(Optional)' next to the label.
42
46
  */
43
- required?: boolean;
47
+ optional?: boolean;
44
48
  /**
45
49
  * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
46
50
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
@@ -55,4 +59,8 @@ declare type Props = {
55
59
  */
56
60
  tabIndex?: number;
57
61
  };
62
+ /**
63
+ * Reference to the component.
64
+ */
65
+ export type RefType = HTMLDivElement;
58
66
  export default Props;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _variables = require("../common/variables");
8
+ var _default = exports["default"] = {
9
+ dropdown: {
10
+ // ActionIcon size tokens
11
+ buttonIconSize: "16px",
12
+ buttonPaddingTop: "4px",
13
+ buttonPaddingBottom: "4px",
14
+ buttonPaddingLeft: "4px",
15
+ buttonPaddingRight: "4px",
16
+ buttonHeight: "24px",
17
+ buttonBorderRadius: "2px",
18
+ buttonBorderStyle: "none",
19
+ buttonBorderThickness: "0px",
20
+ buttonBorderColor: "transparent",
21
+ optionFontSize: "14px",
22
+ optionPaddingTop: "0px",
23
+ optionPaddingBottom: "0px",
24
+ optionPaddingLeft: "16px",
25
+ optionPaddingRight: "16px",
26
+ // Dropdown tokens
27
+ buttonBackgroundColor: _variables.componentTokens.table.actionBackgroundColor,
28
+ hoverButtonBackgroundColor: _variables.componentTokens.table.hoverActionBackgroundColor,
29
+ activeButtonBackgroundColor: _variables.componentTokens.table.activeActionBackgroundColor,
30
+ buttonFontFamily: _variables.componentTokens.dropdown.buttonFontFamily,
31
+ buttonFontSize: _variables.componentTokens.dropdown.buttonFontSize,
32
+ buttonFontStyle: _variables.componentTokens.dropdown.buttonFontStyle,
33
+ buttonFontWeight: _variables.componentTokens.dropdown.buttonFontWeight,
34
+ buttonFontColor: _variables.componentTokens.dropdown.buttonFontColor,
35
+ buttonIconSpacing: _variables.componentTokens.dropdown.buttonIconSpacing,
36
+ buttonIconColor: _variables.componentTokens.table.actionIconColor,
37
+ disabledColor: _variables.componentTokens.table.disabledActionIconColor,
38
+ disabledButtonBorderColor: _variables.componentTokens.dropdown.disabledButtonBorderColor,
39
+ disabledButtonBackgroundColor: _variables.componentTokens.table.disabledActionBackgroundColor,
40
+ disabledBorderColor: _variables.componentTokens.dropdown.disabledBorderColor,
41
+ optionBackgroundColor: _variables.componentTokens.dropdown.optionBackgroundColor,
42
+ hoverOptionBackgroundColor: _variables.componentTokens.dropdown.hoverOptionBackgroundColor,
43
+ activeOptionBackgroundColor: _variables.componentTokens.dropdown.activeOptionBackgroundColor,
44
+ optionFontFamily: _variables.componentTokens.dropdown.optionFontFamily,
45
+ optionFontStyle: _variables.componentTokens.dropdown.optionFontStyle,
46
+ optionFontWeight: _variables.componentTokens.dropdown.optionFontWeight,
47
+ optionFontColor: _variables.componentTokens.dropdown.optionFontColor,
48
+ optionIconSize: _variables.componentTokens.dropdown.optionIconSize,
49
+ optionIconSpacing: _variables.componentTokens.dropdown.optionIconSpacing,
50
+ optionIconColor: _variables.componentTokens.dropdown.optionIconColor,
51
+ caretIconSize: _variables.componentTokens.dropdown.caretIconSize,
52
+ caretIconColor: _variables.componentTokens.dropdown.caretIconColor,
53
+ caretIconSpacing: _variables.componentTokens.dropdown.caretIconSpacing,
54
+ borderRadius: _variables.componentTokens.dropdown.borderRadius,
55
+ borderStyle: _variables.componentTokens.dropdown.borderStyle,
56
+ borderThickness: _variables.componentTokens.dropdown.borderThickness,
57
+ borderColor: _variables.componentTokens.dropdown.borderColor,
58
+ scrollBarThumbColor: _variables.componentTokens.dropdown.scrollBarThumbColor,
59
+ scrollBarTrackColor: _variables.componentTokens.dropdown.scrollBarTrackColor,
60
+ focusColor: _variables.componentTokens.table.focusActionBorderColor
61
+ }
62
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
11
+ var _Table = _interopRequireDefault(require("./Table"));
12
+ var _disabledRules = require("../../test/accessibility/rules/specific/table/disabledRules.js");
13
+ // TODO: REMOVE
14
+
15
+ var disabledRules = {
16
+ rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
17
+ rulesObj[rule] = {
18
+ enabled: false
19
+ };
20
+ return rulesObj;
21
+ }, {})
22
+ };
23
+ global.globalThis = global;
24
+ global.DOMRect = {
25
+ fromRect: function fromRect() {
26
+ return {
27
+ top: 0,
28
+ left: 0,
29
+ bottom: 0,
30
+ right: 0,
31
+ width: 0,
32
+ height: 0
33
+ };
34
+ }
35
+ };
36
+ global.ResizeObserver = /*#__PURE__*/function () {
37
+ function ResizeObserver() {
38
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
39
+ }
40
+ (0, _createClass2["default"])(ResizeObserver, [{
41
+ key: "observe",
42
+ value: function observe() {}
43
+ }, {
44
+ key: "unobserve",
45
+ value: function unobserve() {}
46
+ }, {
47
+ key: "disconnect",
48
+ value: function disconnect() {}
49
+ }]);
50
+ return ResizeObserver;
51
+ }();
52
+ describe("Table component accessibility tests", function () {
53
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
54
+ var _render, container, results;
55
+ return _regenerator["default"].wrap(function _callee$(_context) {
56
+ while (1) switch (_context.prev = _context.next) {
57
+ case 0:
58
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Table["default"], {
59
+ margin: "medium",
60
+ mode: "default"
61
+ }, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, "header-1"), /*#__PURE__*/_react["default"].createElement("th", null, "header-2"), /*#__PURE__*/_react["default"].createElement("th", null, "header-3"))), /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-1"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-2"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-4"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-5"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-6"))))), container = _render.container;
62
+ _context.next = 3;
63
+ return (0, _axeHelper.axe)(container, disabledRules);
64
+ case 3:
65
+ results = _context.sent;
66
+ expect(results).toHaveNoViolations();
67
+ case 5:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }, _callee);
72
+ })));
73
+ it("Should not have basic accessibility issues for reduced mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
74
+ var _render2, container, results;
75
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
76
+ while (1) switch (_context2.prev = _context2.next) {
77
+ case 0:
78
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Table["default"], {
79
+ margin: "medium",
80
+ mode: "reduced"
81
+ }, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, "header-1"), /*#__PURE__*/_react["default"].createElement("th", null, "header-2"), /*#__PURE__*/_react["default"].createElement("th", null, "header-3"))), /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-1"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-2"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-4"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-5"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-6"))))), container = _render2.container;
82
+ _context2.next = 3;
83
+ return (0, _axeHelper.axe)(container, disabledRules);
84
+ case 3:
85
+ results = _context2.sent;
86
+ expect(results).toHaveNoViolations();
87
+ case 5:
88
+ case "end":
89
+ return _context2.stop();
90
+ }
91
+ }, _callee2);
92
+ })));
93
+ });
package/table/Table.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  /// <reference types="react" />
2
- import TablePropsType from "./types";
3
- declare const DxcTable: ({ children, margin }: TablePropsType) => JSX.Element;
2
+ import TablePropsType, { ActionCellsPropsType } from "./types";
3
+ export declare const DxcActionsCell: ({ actions }: ActionCellsPropsType) => JSX.Element;
4
+ declare const DxcTable: {
5
+ ({ children, margin, mode }: TablePropsType): JSX.Element;
6
+ ActionsCell: ({ actions }: ActionCellsPropsType) => JSX.Element;
7
+ };
4
8
  export default DxcTable;
package/table/Table.js CHANGED
@@ -1,53 +1,88 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- exports["default"] = void 0;
11
-
8
+ exports["default"] = exports.DxcActionsCell = void 0;
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _react = _interopRequireDefault(require("react"));
17
-
18
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
- var _variables = require("../common/variables.js");
21
-
22
- var _utils = require("../common/utils.js");
23
-
13
+ var _variables = require("../common/variables");
14
+ var _utils = require("../common/utils");
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
- var _BackgroundColorContext = require("../BackgroundColorContext");
27
-
16
+ var _DropdownTheme = _interopRequireDefault(require("./DropdownTheme"));
17
+ var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
18
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
19
+ var _HalstackContext = require("../HalstackContext");
20
+ var _ActionIcon = _interopRequireDefault(require("../action-icon/ActionIcon"));
28
21
  var _templateObject, _templateObject2;
29
-
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
34
- var DxcTable = function DxcTable(_ref) {
35
- var children = _ref.children,
36
- margin = _ref.margin;
22
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
24
+ var overwriteTheme = function overwriteTheme(theme) {
25
+ var newTheme = _DropdownTheme["default"];
26
+ newTheme.dropdown.buttonBackgroundColor = theme.table.actionBackgroundColor;
27
+ newTheme.dropdown.hoverButtonBackgroundColor = theme.table.hoverActionBackgroundColor;
28
+ newTheme.dropdown.activeButtonBackgroundColor = theme.table.activeActionBackgroundColor;
29
+ newTheme.dropdown.buttonIconColor = theme.table.actionIconColor;
30
+ newTheme.dropdown.disabledColor = theme.table.disabledActionIconColor;
31
+ newTheme.dropdown.disabledButtonBackgroundColor = theme.table.disabledActionBackgroundColor;
32
+ return newTheme;
33
+ };
34
+ var DxcActionsCell = exports.DxcActionsCell = function DxcActionsCell(_ref) {
35
+ var actions = _ref.actions;
36
+ var actionIcons = actions.filter(function (action) {
37
+ return !action.options;
38
+ });
39
+ var actionDropdown = actions.find(function (action) {
40
+ return action.options;
41
+ });
42
+ var maxNumberOfActions = actionDropdown ? 2 : 3;
43
+ var colorsTheme = (0, _useTheme["default"])();
44
+ return /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
45
+ gap: "0.5rem",
46
+ alignItems: "center"
47
+ }, actionIcons.map(function (action, index) {
48
+ var _action$disabled, _action$tabIndex;
49
+ return index < maxNumberOfActions && /*#__PURE__*/_react["default"].createElement(_ActionIcon["default"], {
50
+ icon: action.icon,
51
+ title: action.title,
52
+ onClick: action.onClick,
53
+ disabled: (_action$disabled = action.disabled) !== null && _action$disabled !== void 0 ? _action$disabled : false,
54
+ tabIndex: (_action$tabIndex = action.tabIndex) !== null && _action$tabIndex !== void 0 ? _action$tabIndex : 0,
55
+ key: "action-".concat(index)
56
+ });
57
+ }), actionDropdown && /*#__PURE__*/_react["default"].createElement(_HalstackContext.HalstackProvider, {
58
+ advancedTheme: overwriteTheme(colorsTheme),
59
+ key: "provider-dropdown"
60
+ }, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
61
+ options: actionDropdown.options,
62
+ onSelectOption: actionDropdown.onClick,
63
+ disabled: actionDropdown.disabled,
64
+ icon: "more_vert",
65
+ tabIndex: actionDropdown.tabIndex,
66
+ caretHidden: true
67
+ })));
68
+ };
69
+ var DxcTable = function DxcTable(_ref2) {
70
+ var children = _ref2.children,
71
+ margin = _ref2.margin,
72
+ _ref2$mode = _ref2.mode,
73
+ mode = _ref2$mode === void 0 ? "default" : _ref2$mode;
37
74
  var colorsTheme = (0, _useTheme["default"])();
38
75
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
39
76
  theme: colorsTheme.table
40
77
  }, /*#__PURE__*/_react["default"].createElement(DxcTableContainer, {
41
78
  margin: margin
42
- }, /*#__PURE__*/_react["default"].createElement(DxcTableContent, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
43
- color: colorsTheme.table.dataBackgroundColor
44
- }, children))));
79
+ }, /*#__PURE__*/_react["default"].createElement(DxcTableContent, {
80
+ mode: mode
81
+ }, children)));
45
82
  };
46
-
47
83
  var calculateWidth = function calculateWidth(margin) {
48
84
  return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
49
85
  };
50
-
51
86
  var DxcTableContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n overflow: auto;\n &::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 6px;\n }\n &::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 6px;\n }\n"])), function (props) {
52
87
  return calculateWidth(props.margin);
53
88
  }, function (props) {
@@ -65,9 +100,10 @@ var DxcTableContainer = _styledComponents["default"].div(_templateObject || (_te
65
100
  }, function (props) {
66
101
  return props.theme.scrollBarTrackColor;
67
102
  });
68
-
69
- var DxcTableContent = _styledComponents["default"].table(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n border-collapse: collapse;\n width: 100%;\n\n & tr {\n border-bottom: ", ";\n }\n & td {\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-transform: ", ";\n text-align: ", ";\n line-height: ", ";\n padding: ", ";\n }\n & th {\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-transform: ", ";\n text-align: ", ";\n line-height: ", ";\n padding: ", ";\n }\n & th:first-child {\n border-top-left-radius: ", ";\n }\n & th:last-child {\n border-top-right-radius: ", ";\n }\n"])), function (props) {
103
+ var DxcTableContent = _styledComponents["default"].table(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n border-collapse: collapse;\n width: 100%;\n\n & tr {\n border-bottom: ", ";\n height: ", ";\n }\n & td {\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-transform: ", ";\n text-align: ", ";\n line-height: ", ";\n padding: ", ";\n }\n & th {\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-transform: ", ";\n text-align: ", ";\n line-height: ", ";\n padding: ", ";\n }\n & th:first-child {\n border-top-left-radius: ", ";\n padding-left: ", ";\n }\n & th:last-child {\n border-top-right-radius: ", ";\n padding-right: ", ";\n }\n & td:first-child {\n padding-left: ", ";\n }\n & td:last-child {\n padding-right: ", ";\n }\n"])), function (props) {
70
104
  return "".concat(props.theme.rowSeparatorThickness, " ").concat(props.theme.rowSeparatorStyle, " ").concat(props.theme.rowSeparatorColor);
105
+ }, function (props) {
106
+ return props.mode === "default" ? "60px" : "36px";
71
107
  }, function (props) {
72
108
  return props.theme.dataBackgroundColor;
73
109
  }, function (props) {
@@ -87,7 +123,7 @@ var DxcTableContent = _styledComponents["default"].table(_templateObject2 || (_t
87
123
  }, function (props) {
88
124
  return props.theme.dataTextLineHeight;
89
125
  }, function (props) {
90
- return "".concat(props.theme.dataPaddingTop, " ").concat(props.theme.dataPaddingRight, " ").concat(props.theme.dataPaddingBottom, " ").concat(props.theme.dataPaddingLeft);
126
+ return props.mode === "default" ? "".concat(props.theme.dataPaddingTop, " ").concat(props.theme.dataPaddingRight, " ").concat(props.theme.dataPaddingBottom, " ").concat(props.theme.dataPaddingLeft) : "".concat(props.theme.dataPaddingTopReduced, " ").concat(props.theme.dataPaddingRightReduced, " ").concat(props.theme.dataPaddingBottomReduced, " ").concat(props.theme.dataPaddingLeftReduced);
91
127
  }, function (props) {
92
128
  return props.theme.headerBackgroundColor;
93
129
  }, function (props) {
@@ -107,12 +143,19 @@ var DxcTableContent = _styledComponents["default"].table(_templateObject2 || (_t
107
143
  }, function (props) {
108
144
  return props.theme.headerTextLineHeight;
109
145
  }, function (props) {
110
- return "".concat(props.theme.headerPaddingTop, " ").concat(props.theme.headerPaddingRight, " ").concat(props.theme.headerPaddingBottom, " ").concat(props.theme.headerPaddingLeft);
146
+ return props.mode === "default" ? "".concat(props.theme.headerPaddingTop, " ").concat(props.theme.headerPaddingRight, " ").concat(props.theme.headerPaddingBottom, " ").concat(props.theme.headerPaddingLeft) : "".concat(props.theme.headerPaddingTopReduced, " ").concat(props.theme.headerPaddingRightReduced, " ").concat(props.theme.headerPaddingBottomReduced, " ").concat(props.theme.headerPaddingLeftReduced);
111
147
  }, function (props) {
112
148
  return props.theme.headerBorderRadius;
149
+ }, function (props) {
150
+ return props.mode === "default" ? props.theme.firstChildPaddingLeft : props.theme.firstChildPaddingLeftReduced;
113
151
  }, function (props) {
114
152
  return props.theme.headerBorderRadius;
153
+ }, function (props) {
154
+ return props.mode === "default" ? props.theme.lastChildPaddingRight : props.theme.lastChildPaddingRightReduced;
155
+ }, function (props) {
156
+ return props.mode === "default" ? props.theme.firstChildPaddingLeft : props.theme.firstChildPaddingLeftReduced;
157
+ }, function (props) {
158
+ return props.mode === "default" ? props.theme.lastChildPaddingRight : props.theme.lastChildPaddingRightReduced;
115
159
  });
116
-
117
- var _default = DxcTable;
118
- exports["default"] = _default;
160
+ DxcTable.ActionsCell = DxcActionsCell;
161
+ var _default = exports["default"] = DxcTable;