@dxc-technology/halstack-react 0.0.0-6d8b48c → 0.0.0-6e2cafb

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 (503) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1240 -6
  4. package/HalstackContext.js +127 -116
  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 +101 -159
  10. package/accordion/Accordion.stories.tsx +82 -148
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +24 -40
  13. package/accordion/types.d.ts +6 -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 +2 -2
  17. package/accordion-group/AccordionGroup.js +31 -98
  18. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +49 -106
  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 +12 -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 +37 -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 -42
  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 -3
  49. package/bleed/Bleed.js +13 -21
  50. package/bleed/Bleed.stories.tsx +64 -63
  51. package/bleed/types.d.ts +2 -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 +19 -60
  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 +64 -117
  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 +49 -89
  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 +138 -183
  98. package/checkbox/Checkbox.stories.tsx +128 -94
  99. package/checkbox/Checkbox.test.d.ts +1 -0
  100. package/checkbox/Checkbox.test.js +159 -38
  101. package/checkbox/types.d.ts +11 -3
  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/fonts.css +2 -0
  112. package/common/utils.d.ts +1 -0
  113. package/common/utils.js +6 -12
  114. package/common/variables.d.ts +1392 -0
  115. package/common/variables.js +993 -1199
  116. package/container/Container.d.ts +4 -0
  117. package/container/Container.js +194 -0
  118. package/container/Container.stories.tsx +214 -0
  119. package/container/types.d.ts +74 -0
  120. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  121. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  122. package/contextual-menu/ContextualMenu.d.ts +5 -0
  123. package/contextual-menu/ContextualMenu.js +88 -0
  124. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  125. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  126. package/contextual-menu/ContextualMenu.test.js +205 -0
  127. package/contextual-menu/GroupItem.d.ts +4 -0
  128. package/contextual-menu/GroupItem.js +67 -0
  129. package/contextual-menu/ItemAction.d.ts +4 -0
  130. package/contextual-menu/ItemAction.js +51 -0
  131. package/contextual-menu/MenuItem.d.ts +4 -0
  132. package/contextual-menu/MenuItem.js +29 -0
  133. package/contextual-menu/SingleItem.d.ts +4 -0
  134. package/contextual-menu/SingleItem.js +38 -0
  135. package/contextual-menu/types.d.ts +58 -0
  136. package/date-input/Calendar.d.ts +4 -0
  137. package/date-input/Calendar.js +214 -0
  138. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  139. package/date-input/DateInput.accessibility.test.js +230 -0
  140. package/date-input/DateInput.js +149 -299
  141. package/date-input/DateInput.stories.tsx +210 -56
  142. package/date-input/DateInput.test.d.ts +1 -0
  143. package/date-input/DateInput.test.js +700 -370
  144. package/date-input/DatePicker.d.ts +4 -0
  145. package/date-input/DatePicker.js +121 -0
  146. package/date-input/YearPicker.d.ts +4 -0
  147. package/date-input/YearPicker.js +100 -0
  148. package/date-input/types.d.ts +72 -15
  149. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  150. package/dialog/Dialog.accessibility.test.js +69 -0
  151. package/dialog/Dialog.d.ts +1 -1
  152. package/dialog/Dialog.js +61 -106
  153. package/dialog/Dialog.stories.tsx +325 -167
  154. package/dialog/Dialog.test.d.ts +1 -0
  155. package/dialog/Dialog.test.js +350 -19
  156. package/dialog/types.d.ts +18 -25
  157. package/divider/Divider.accessibility.test.d.ts +1 -0
  158. package/divider/Divider.accessibility.test.js +33 -0
  159. package/divider/Divider.d.ts +4 -0
  160. package/divider/Divider.js +36 -0
  161. package/divider/Divider.stories.tsx +223 -0
  162. package/divider/Divider.test.d.ts +1 -0
  163. package/divider/Divider.test.js +38 -0
  164. package/divider/types.d.ts +21 -0
  165. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  166. package/dropdown/Dropdown.accessibility.test.js +184 -0
  167. package/dropdown/Dropdown.d.ts +1 -1
  168. package/dropdown/Dropdown.js +232 -303
  169. package/dropdown/Dropdown.stories.tsx +235 -57
  170. package/dropdown/Dropdown.test.d.ts +1 -0
  171. package/dropdown/Dropdown.test.js +604 -164
  172. package/dropdown/DropdownMenu.d.ts +4 -0
  173. package/dropdown/DropdownMenu.js +63 -0
  174. package/dropdown/DropdownMenuItem.d.ts +4 -0
  175. package/dropdown/DropdownMenuItem.js +71 -0
  176. package/dropdown/types.d.ts +35 -19
  177. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  178. package/file-input/FileInput.accessibility.test.js +167 -0
  179. package/file-input/FileInput.d.ts +2 -2
  180. package/file-input/FileInput.js +240 -393
  181. package/file-input/FileInput.stories.tsx +123 -12
  182. package/file-input/FileInput.test.d.ts +1 -0
  183. package/file-input/FileInput.test.js +314 -367
  184. package/file-input/FileItem.d.ts +4 -14
  185. package/file-input/FileItem.js +56 -117
  186. package/file-input/types.d.ts +25 -8
  187. package/flex/Flex.d.ts +4 -0
  188. package/flex/Flex.js +57 -0
  189. package/flex/Flex.stories.tsx +112 -0
  190. package/flex/types.d.ts +97 -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 -118
  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 +90 -183
  210. package/header/Header.stories.tsx +133 -38
  211. package/header/Header.test.d.ts +1 -0
  212. package/header/Header.test.js +12 -25
  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 +13 -21
  237. package/inset/Inset.stories.tsx +5 -4
  238. package/inset/types.d.ts +2 -2
  239. package/layout/ApplicationLayout.d.ts +15 -6
  240. package/layout/ApplicationLayout.js +56 -118
  241. package/layout/ApplicationLayout.stories.tsx +81 -45
  242. package/layout/Icons.d.ts +7 -5
  243. package/layout/Icons.js +41 -59
  244. package/layout/types.d.ts +21 -32
  245. package/link/Link.accessibility.test.d.ts +1 -0
  246. package/link/Link.accessibility.test.js +108 -0
  247. package/link/Link.js +32 -51
  248. package/link/Link.stories.tsx +76 -9
  249. package/link/Link.test.d.ts +1 -0
  250. package/link/Link.test.js +23 -43
  251. package/link/types.d.ts +14 -14
  252. package/main.d.ts +16 -13
  253. package/main.js +67 -103
  254. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  255. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  256. package/nav-tabs/NavTabs.d.ts +7 -0
  257. package/nav-tabs/NavTabs.js +108 -0
  258. package/nav-tabs/NavTabs.stories.tsx +294 -0
  259. package/nav-tabs/NavTabs.test.d.ts +1 -0
  260. package/nav-tabs/NavTabs.test.js +77 -0
  261. package/nav-tabs/NavTabsContext.d.ts +3 -0
  262. package/nav-tabs/NavTabsContext.js +8 -0
  263. package/nav-tabs/Tab.js +117 -0
  264. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  265. package/nav-tabs/types.js +5 -0
  266. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  267. package/number-input/NumberInput.accessibility.test.js +228 -0
  268. package/number-input/NumberInput.js +46 -36
  269. package/number-input/NumberInput.stories.tsx +42 -26
  270. package/number-input/NumberInput.test.d.ts +1 -0
  271. package/number-input/NumberInput.test.js +859 -376
  272. package/number-input/NumberInputContext.d.ts +3 -4
  273. package/number-input/NumberInputContext.js +3 -14
  274. package/number-input/types.d.ts +17 -5
  275. package/package.json +53 -54
  276. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  277. package/paginator/Paginator.accessibility.test.js +79 -0
  278. package/paginator/Paginator.js +35 -68
  279. package/paginator/Paginator.stories.tsx +24 -0
  280. package/paginator/Paginator.test.d.ts +1 -0
  281. package/paginator/Paginator.test.js +252 -225
  282. package/paginator/types.d.ts +3 -3
  283. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  284. package/paragraph/Paragraph.accessibility.test.js +28 -0
  285. package/paragraph/Paragraph.d.ts +5 -0
  286. package/paragraph/Paragraph.js +22 -0
  287. package/paragraph/Paragraph.stories.tsx +27 -0
  288. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  289. package/password-input/PasswordInput.accessibility.test.js +153 -0
  290. package/password-input/PasswordInput.js +58 -127
  291. package/password-input/PasswordInput.stories.tsx +1 -33
  292. package/password-input/PasswordInput.test.d.ts +1 -0
  293. package/password-input/PasswordInput.test.js +159 -141
  294. package/password-input/types.d.ts +8 -7
  295. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  296. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  297. package/progress-bar/ProgressBar.js +68 -92
  298. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  299. package/progress-bar/ProgressBar.test.d.ts +1 -0
  300. package/progress-bar/ProgressBar.test.js +71 -43
  301. package/progress-bar/types.d.ts +3 -3
  302. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  303. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  304. package/quick-nav/QuickNav.js +27 -45
  305. package/quick-nav/QuickNav.stories.tsx +146 -27
  306. package/quick-nav/types.d.ts +10 -10
  307. package/radio-group/Radio.d.ts +1 -1
  308. package/radio-group/Radio.js +59 -79
  309. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  310. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  311. package/radio-group/RadioGroup.js +70 -119
  312. package/radio-group/RadioGroup.stories.tsx +132 -18
  313. package/radio-group/RadioGroup.test.d.ts +1 -0
  314. package/radio-group/RadioGroup.test.js +518 -459
  315. package/radio-group/types.d.ts +10 -10
  316. package/resultset-table/Icons.d.ts +7 -0
  317. package/resultset-table/Icons.js +47 -0
  318. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  319. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  320. package/resultset-table/ResultsetTable.d.ts +7 -0
  321. package/resultset-table/ResultsetTable.js +171 -0
  322. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  323. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  324. package/resultset-table/ResultsetTable.test.js +380 -0
  325. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  326. package/resultset-table/types.js +5 -0
  327. package/select/Listbox.js +40 -64
  328. package/select/Option.js +35 -56
  329. package/select/Select.accessibility.test.d.ts +1 -0
  330. package/select/Select.accessibility.test.js +228 -0
  331. package/select/Select.js +147 -207
  332. package/select/Select.stories.tsx +496 -203
  333. package/select/Select.test.d.ts +1 -0
  334. package/select/Select.test.js +1922 -1816
  335. package/select/types.d.ts +17 -20
  336. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  337. package/sidenav/Sidenav.accessibility.test.js +59 -0
  338. package/sidenav/Sidenav.d.ts +6 -5
  339. package/sidenav/Sidenav.js +132 -78
  340. package/sidenav/Sidenav.stories.tsx +246 -151
  341. package/sidenav/Sidenav.test.d.ts +1 -0
  342. package/sidenav/Sidenav.test.js +25 -44
  343. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  344. package/{layout → sidenav}/SidenavContext.js +3 -9
  345. package/sidenav/types.d.ts +52 -26
  346. package/slider/Slider.accessibility.test.d.ts +1 -0
  347. package/slider/Slider.accessibility.test.js +104 -0
  348. package/slider/Slider.d.ts +2 -2
  349. package/slider/Slider.js +146 -181
  350. package/slider/Slider.stories.tsx +64 -61
  351. package/slider/Slider.test.d.ts +1 -0
  352. package/slider/Slider.test.js +195 -88
  353. package/slider/types.d.ts +7 -3
  354. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  355. package/spinner/Spinner.accessibility.test.js +96 -0
  356. package/spinner/Spinner.js +34 -74
  357. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  358. package/spinner/Spinner.test.d.ts +1 -0
  359. package/spinner/Spinner.test.js +25 -34
  360. package/spinner/types.d.ts +3 -3
  361. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  362. package/status-light/StatusLight.accessibility.test.js +157 -0
  363. package/status-light/StatusLight.d.ts +4 -0
  364. package/status-light/StatusLight.js +51 -0
  365. package/status-light/StatusLight.stories.tsx +74 -0
  366. package/status-light/StatusLight.test.d.ts +1 -0
  367. package/status-light/StatusLight.test.js +25 -0
  368. package/status-light/types.d.ts +17 -0
  369. package/status-light/types.js +5 -0
  370. package/switch/Switch.accessibility.test.d.ts +1 -0
  371. package/switch/Switch.accessibility.test.js +98 -0
  372. package/switch/Switch.d.ts +2 -2
  373. package/switch/Switch.js +145 -129
  374. package/switch/Switch.stories.tsx +49 -60
  375. package/switch/Switch.test.d.ts +1 -0
  376. package/switch/Switch.test.js +137 -55
  377. package/switch/types.d.ts +7 -3
  378. package/table/DropdownTheme.js +62 -0
  379. package/table/Table.accessibility.test.d.ts +1 -0
  380. package/table/Table.accessibility.test.js +93 -0
  381. package/table/Table.d.ts +6 -2
  382. package/table/Table.js +78 -35
  383. package/table/Table.stories.tsx +663 -0
  384. package/table/Table.test.d.ts +1 -0
  385. package/table/Table.test.js +93 -7
  386. package/table/types.d.ts +34 -6
  387. package/tabs/Tab.d.ts +4 -0
  388. package/tabs/Tab.js +117 -0
  389. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  390. package/tabs/Tabs.accessibility.test.js +56 -0
  391. package/tabs/Tabs.js +303 -141
  392. package/tabs/Tabs.stories.tsx +124 -6
  393. package/tabs/Tabs.test.d.ts +1 -0
  394. package/tabs/Tabs.test.js +212 -76
  395. package/tabs/types.d.ts +30 -20
  396. package/tag/Tag.accessibility.test.d.ts +1 -0
  397. package/tag/Tag.accessibility.test.js +69 -0
  398. package/tag/Tag.js +35 -67
  399. package/tag/Tag.stories.tsx +18 -8
  400. package/tag/Tag.test.d.ts +1 -0
  401. package/tag/Tag.test.js +17 -36
  402. package/tag/types.d.ts +9 -9
  403. package/text-input/Suggestion.js +40 -28
  404. package/text-input/Suggestions.d.ts +4 -0
  405. package/text-input/Suggestions.js +94 -0
  406. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  407. package/text-input/TextInput.accessibility.test.js +321 -0
  408. package/text-input/TextInput.js +311 -512
  409. package/text-input/TextInput.stories.tsx +276 -276
  410. package/text-input/TextInput.test.d.ts +1 -0
  411. package/text-input/TextInput.test.js +1418 -1374
  412. package/text-input/types.d.ts +43 -16
  413. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  414. package/textarea/Textarea.accessibility.test.js +155 -0
  415. package/textarea/Textarea.js +70 -115
  416. package/textarea/Textarea.stories.tsx +174 -0
  417. package/textarea/Textarea.test.d.ts +1 -0
  418. package/textarea/Textarea.test.js +151 -182
  419. package/textarea/types.d.ts +9 -5
  420. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  421. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  422. package/toggle-group/ToggleGroup.d.ts +2 -2
  423. package/toggle-group/ToggleGroup.js +92 -108
  424. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  425. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  426. package/toggle-group/ToggleGroup.test.js +68 -87
  427. package/toggle-group/types.d.ts +28 -19
  428. package/typography/Typography.accessibility.test.d.ts +1 -0
  429. package/typography/Typography.accessibility.test.js +339 -0
  430. package/typography/Typography.d.ts +4 -0
  431. package/typography/Typography.js +23 -0
  432. package/typography/Typography.stories.tsx +198 -0
  433. package/typography/types.d.ts +18 -0
  434. package/typography/types.js +5 -0
  435. package/useTheme.d.ts +1144 -1
  436. package/useTheme.js +2 -9
  437. package/useTranslatedLabels.d.ts +84 -1
  438. package/useTranslatedLabels.js +1 -7
  439. package/utils/BaseTypography.d.ts +21 -0
  440. package/utils/BaseTypography.js +94 -0
  441. package/utils/FocusLock.d.ts +13 -0
  442. package/utils/FocusLock.js +124 -0
  443. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  444. package/wizard/Wizard.accessibility.test.js +55 -0
  445. package/wizard/Wizard.js +34 -87
  446. package/wizard/Wizard.stories.tsx +59 -1
  447. package/wizard/Wizard.test.d.ts +1 -0
  448. package/wizard/Wizard.test.js +53 -80
  449. package/wizard/types.d.ts +9 -9
  450. package/card/ice-cream.jpg +0 -0
  451. package/common/OpenSans.css +0 -81
  452. package/common/RequiredComponent.js +0 -32
  453. package/common/fonts/OpenSans-Bold.ttf +0 -0
  454. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  455. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  456. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  457. package/common/fonts/OpenSans-Italic.ttf +0 -0
  458. package/common/fonts/OpenSans-Light.ttf +0 -0
  459. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  460. package/common/fonts/OpenSans-Regular.ttf +0 -0
  461. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  462. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  463. package/inline/Inline.d.ts +0 -4
  464. package/inline/Inline.js +0 -54
  465. package/inline/Inline.stories.tsx +0 -240
  466. package/inline/types.d.ts +0 -32
  467. package/list/List.d.ts +0 -4
  468. package/list/List.js +0 -47
  469. package/list/List.stories.tsx +0 -89
  470. package/list/types.d.ts +0 -7
  471. package/number-input/numberInputContextTypes.d.ts +0 -19
  472. package/paginator/Icons.js +0 -66
  473. package/resultsetTable/ResultsetTable.d.ts +0 -4
  474. package/resultsetTable/ResultsetTable.js +0 -254
  475. package/resultsetTable/ResultsetTable.test.js +0 -348
  476. package/row/Row.d.ts +0 -3
  477. package/row/Row.js +0 -127
  478. package/row/Row.stories.tsx +0 -237
  479. package/row/types.d.ts +0 -28
  480. package/select/Icons.d.ts +0 -10
  481. package/select/Icons.js +0 -93
  482. package/stack/Stack.d.ts +0 -4
  483. package/stack/Stack.js +0 -50
  484. package/stack/Stack.stories.tsx +0 -203
  485. package/stack/types.d.ts +0 -28
  486. package/table/Table.stories.jsx +0 -277
  487. package/tabs-nav/NavTabs.d.ts +0 -8
  488. package/tabs-nav/NavTabs.js +0 -125
  489. package/tabs-nav/NavTabs.stories.tsx +0 -170
  490. package/tabs-nav/NavTabs.test.js +0 -82
  491. package/tabs-nav/Tab.js +0 -132
  492. package/text/Text.d.ts +0 -7
  493. package/text/Text.js +0 -30
  494. package/text/Text.stories.tsx +0 -19
  495. package/textarea/Textarea.stories.jsx +0 -157
  496. /package/{inline → action-icon}/types.js +0 -0
  497. /package/{list → breadcrumbs}/types.js +0 -0
  498. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  499. /package/{row → container}/types.js +0 -0
  500. /package/{stack → contextual-menu}/types.js +0 -0
  501. /package/{tabs-nav → divider}/types.js +0 -0
  502. /package/{number-input/numberInputContextTypes.js → flex/types.js} +0 -0
  503. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import DxcButton from "./Button";
3
- import { BackgroundColorProvider } from "../BackgroundColorContext";
3
+ import DxcFlex from "./../flex/Flex";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import DarkContainer from "../../.storybook/components/DarkSection";
6
+ import { HalstackProvider } from "../HalstackContext";
7
7
 
8
8
  export default {
9
9
  title: "Button",
@@ -11,11 +11,49 @@ export default {
11
11
  };
12
12
 
13
13
  const iconSVG = (
14
- <svg viewBox="0 0 24 24" fill="currentColor">
14
+ <svg width="24px" height="24px" viewBox="0 0 24 24" fill="currentColor">
15
15
  <path d="M0 0h24v24H0z" fill="none" />
16
16
  <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
17
17
  </svg>
18
18
  );
19
+
20
+ const facebookIcon = (
21
+ <svg
22
+ version="1.1"
23
+ x="0px"
24
+ y="0px"
25
+ width="438.536px"
26
+ height="438.536px"
27
+ viewBox="0 0 438.536 438.536"
28
+ fill="currentColor"
29
+ >
30
+ <g>
31
+ <path
32
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
33
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
34
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
35
+ C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
36
+ c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
37
+ c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
38
+ />
39
+ </g>
40
+ </svg>
41
+ );
42
+
43
+ const smallIcon = (
44
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20" fill="currentColor">
45
+ <path d="m7.646 18.333-.313-2.625q-.208-.125-.458-.27-.25-.146-.458-.271l-2.438 1.021-2.354-4.063 2.083-1.583V9.458L1.625 7.875l2.354-4.063 2.438 1.021q.208-.125.458-.27.25-.146.458-.271l.313-2.625h4.708l.313 2.625q.208.125.458.271.25.145.458.27l2.438-1.021 2.354 4.063-2.063 1.583v1.084l2.063 1.583-2.354 4.063-2.438-1.021q-.208.125-.458.271-.25.145-.458.27l-.313 2.625ZM10 12.979q1.229 0 2.104-.875T12.979 10q0-1.229-.875-2.104T10 7.021q-1.229 0-2.104.875T7.021 10q0 1.229.875 2.104t2.104.875Zm0-1.75q-.5 0-.865-.364-.364-.365-.364-.865t.364-.865q.365-.364.865-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.166q.605-.167 1.167-.5.562-.334 1.021-.792l2.021.854.833-1.375-1.771-1.354q.104-.292.146-.604.042-.313.042-.646 0-.292-.042-.594t-.125-.635l1.771-1.375-.834-1.375-2.02.875q-.48-.479-1.032-.802-.552-.323-1.156-.49l-.271-2.187H9.167l-.271 2.187q-.604.167-1.156.49-.552.323-1.011.781l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.459.458 1.011.781.552.323 1.156.49Z" />
46
+ </svg>
47
+ );
48
+
49
+ const opinionatedTheme = {
50
+ button: {
51
+ baseColor: "#5f249f",
52
+ primaryFontColor: "#ffffff",
53
+ secondaryHoverFontColor: "#ffffff",
54
+ },
55
+ };
56
+
19
57
  export const Chromatic = () => (
20
58
  <>
21
59
  <Title title="Primary" theme="light" level={2} />
@@ -37,19 +75,27 @@ export const Chromatic = () => (
37
75
  </ExampleContainer>
38
76
  <ExampleContainer>
39
77
  <Title title="Disabled" theme="light" level={4} />
40
- <DxcButton label="Primary disabled" disabled />
78
+ <DxcButton label="Primary disabled" disabled icon="filled_bottom_app_bar" />
41
79
  </ExampleContainer>
42
80
  <ExampleContainer>
43
81
  <Title title="With left icon" theme="light" level={4} />
44
- <DxcButton label="Primary" icon={iconSVG} />
82
+ <DxcButton label="Primary" icon="filled_bottom_app_bar" />
45
83
  </ExampleContainer>
46
84
  <ExampleContainer>
47
85
  <Title title="With right icon" theme="light" level={4} />
48
- <DxcButton label="Primary" icon={iconSVG} iconPosition="after" />
86
+ <DxcButton label="Primary" icon="filled_bottom_app_bar" iconPosition="after" />
49
87
  </ExampleContainer>
50
88
  <ExampleContainer>
51
89
  <Title title="Only icon" theme="light" level={4} />
52
- <DxcButton icon={iconSVG} />
90
+ <DxcButton icon="filled_bottom_app_bar" title="Button with no label" />
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Big icon (SVG)" theme="light" level={4} />
94
+ <DxcButton icon={facebookIcon} title="Facebook" />
95
+ </ExampleContainer>
96
+ <ExampleContainer>
97
+ <Title title="Small icon (SVG)" theme="light" level={4} />
98
+ <DxcButton icon={smallIcon} title="Button with no label" />
53
99
  </ExampleContainer>
54
100
  <Title title="Secondary" theme="light" level={2} />
55
101
  <ExampleContainer>
@@ -70,11 +116,11 @@ export const Chromatic = () => (
70
116
  </ExampleContainer>
71
117
  <ExampleContainer>
72
118
  <Title title="Disabled" theme="light" level={4} />
73
- <DxcButton mode="secondary" disabled label="Secondary disabled" />
119
+ <DxcButton mode="secondary" disabled label="Secondary disabled" icon="filled_bottom_app_bar" />
74
120
  </ExampleContainer>
75
121
  <ExampleContainer>
76
122
  <Title title="With icon" theme="light" level={4} />
77
- <DxcButton mode="secondary" label="Secondary" icon={iconSVG} />
123
+ <DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
78
124
  </ExampleContainer>
79
125
  <Title title="Text" theme="light" level={2} />
80
126
  <ExampleContainer>
@@ -95,91 +141,12 @@ export const Chromatic = () => (
95
141
  </ExampleContainer>
96
142
  <ExampleContainer>
97
143
  <Title title="Disabled" theme="light" level={4} />
98
- <DxcButton mode="text" label="Text disabled" disabled />
144
+ <DxcButton mode="text" label="Text disabled" disabled icon="filled_bottom_app_bar" />
99
145
  </ExampleContainer>
100
146
  <ExampleContainer>
101
147
  <Title title="With icon" theme="light" level={4} />
102
- <DxcButton label="Text" mode="text" icon={iconSVG} />
103
- </ExampleContainer>
104
- <BackgroundColorProvider color="#333333">
105
- <DarkContainer>
106
- <Title title="Primary" theme="dark" level={2} />
107
- <ExampleContainer>
108
- <Title title="Enabled" theme="dark" level={4} />
109
- <DxcButton label="Primary enabled" />
110
- </ExampleContainer>
111
- <ExampleContainer pseudoState="pseudo-hover">
112
- <Title title="Hovered" theme="dark" level={4} />
113
- <DxcButton label="Primary hovered" />
114
- </ExampleContainer>
115
- <ExampleContainer pseudoState="pseudo-focus">
116
- <Title title="Focused" theme="dark" level={4} />
117
- <DxcButton label="Primary focused" />
118
- </ExampleContainer>
119
- <ExampleContainer pseudoState="pseudo-active">
120
- <Title title="Actived" theme="dark" level={4} />
121
- <DxcButton label="Primary actived" />
122
- </ExampleContainer>
123
- <ExampleContainer>
124
- <Title title="Disabled" theme="dark" level={4} />
125
- <DxcButton label="Primary disabled" disabled />
126
- </ExampleContainer>
127
- <ExampleContainer>
128
- <Title title="With icon" theme="dark" level={4} />
129
- <DxcButton label="Primary" icon={iconSVG} />
130
- </ExampleContainer>
131
- <Title title="Secondary" theme="dark" level={2} />
132
- <ExampleContainer>
133
- <Title title="Enabled" theme="dark" level={4} />
134
- <DxcButton mode="secondary" label="Secondary enabled" />
135
- </ExampleContainer>
136
- <ExampleContainer pseudoState="pseudo-hover">
137
- <Title title="Hovered" theme="dark" level={4} />
138
- <DxcButton mode="secondary" label="Secondary hovered" />
139
- </ExampleContainer>
140
- <ExampleContainer pseudoState="pseudo-focus">
141
- <Title title="Focused" theme="dark" level={4} />
142
- <DxcButton mode="secondary" label="Secondary focused" />
143
- </ExampleContainer>
144
- <ExampleContainer pseudoState="pseudo-active">
145
- <Title title="Actived" theme="dark" level={4} />
146
- <DxcButton mode="secondary" label="Secondary actived" />
147
- </ExampleContainer>
148
- <ExampleContainer>
149
- <Title title="Disabled" theme="dark" level={4} />
150
- <DxcButton mode="secondary" disabled label="Secondary disabled" />
151
- </ExampleContainer>
152
- <ExampleContainer>
153
- <Title title="With icon" theme="dark" level={4} />
154
- <DxcButton mode="secondary" label="Primary" icon={iconSVG} />
155
- </ExampleContainer>
156
- <Title title="Text" theme="dark" level={2} />
157
- <ExampleContainer>
158
- <Title title="Enabled" theme="dark" level={4} />
159
- <DxcButton mode="text" label="Text enabled" />
160
- </ExampleContainer>
161
- <ExampleContainer pseudoState="pseudo-hover">
162
- <Title title="Hovered" theme="dark" level={4} />
163
- <DxcButton mode="text" label="Text hovered" />
164
- </ExampleContainer>
165
- <ExampleContainer pseudoState="pseudo-focus">
166
- <Title title="Focused" theme="dark" level={4} />
167
- <DxcButton mode="text" label="Text focused" />
168
- </ExampleContainer>
169
- <ExampleContainer pseudoState="pseudo-active">
170
- <Title title="Actived" theme="dark" level={4} />
171
- <DxcButton mode="text" label="Text actived" />
172
- </ExampleContainer>
173
- <ExampleContainer>
174
- <Title title="Disabled" theme="dark" level={4} />
175
- <DxcButton mode="text" label="Text disabled" disabled />
176
- </ExampleContainer>
177
- <ExampleContainer>
178
- <Title title="With icon" theme="dark" level={4} />
179
- <DxcButton mode="text" label="Primary" icon={iconSVG} />
180
- </ExampleContainer>
181
- </DarkContainer>
182
- </BackgroundColorProvider>
148
+ <DxcButton label="Text" mode="text" icon="filled_bottom_app_bar" />
149
+ </ExampleContainer>
183
150
  <Title title="Sizes" theme="light" level={2} />
184
151
  <ExampleContainer>
185
152
  <Title title="Small size" theme="light" level={4} />
@@ -187,7 +154,7 @@ export const Chromatic = () => (
187
154
  </ExampleContainer>
188
155
  <ExampleContainer>
189
156
  <Title title="Medium size" theme="light" level={4} />
190
- <DxcButton label="MediumSiz" size="medium" />
157
+ <DxcButton label="MediumSize" size="medium" />
191
158
  </ExampleContainer>
192
159
  <ExampleContainer>
193
160
  <Title title="Medium size with ellipsis" theme="light" level={4} />
@@ -195,19 +162,19 @@ export const Chromatic = () => (
195
162
  </ExampleContainer>
196
163
  <ExampleContainer>
197
164
  <Title title="Medium size icon after" theme="light" level={4} />
198
- <DxcButton label="Mediu" iconPosition="after" icon={iconSVG} size="medium" />
165
+ <DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
199
166
  </ExampleContainer>
200
167
  <ExampleContainer>
201
168
  <Title title="Medium size icon before" theme="light" level={4} />
202
- <DxcButton label="Mediu" iconPosition="before" icon={iconSVG} size="medium" />
169
+ <DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
203
170
  </ExampleContainer>
204
171
  <ExampleContainer>
205
172
  <Title title="Medium size icon after with ellipsis" theme="light" level={4} />
206
- <DxcButton label="Medium" iconPosition="after" icon={iconSVG} size="medium" />
173
+ <DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
207
174
  </ExampleContainer>
208
175
  <ExampleContainer>
209
176
  <Title title="Medium size icon before with ellipsis" theme="light" level={4} />
210
- <DxcButton label="Medium" iconPosition="before" icon={iconSVG} size="medium" />
177
+ <DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
211
178
  </ExampleContainer>
212
179
  <ExampleContainer>
213
180
  <Title title="Large size" theme="light" level={4} />
@@ -219,19 +186,19 @@ export const Chromatic = () => (
219
186
  </ExampleContainer>
220
187
  <ExampleContainer>
221
188
  <Title title="Large size icon after" theme="light" level={4} />
222
- <DxcButton label="LargeSizePrimaryButto" iconPosition="after" icon={iconSVG} size="large" />
189
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
223
190
  </ExampleContainer>
224
191
  <ExampleContainer>
225
192
  <Title title="Large size icon before" theme="light" level={4} />
226
- <DxcButton label="LargeSizePrimaryButto" iconPosition="before" icon={iconSVG} size="large" />
193
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
227
194
  </ExampleContainer>
228
195
  <ExampleContainer>
229
196
  <Title title="Large size icon after with ellipsis" theme="light" level={4} />
230
- <DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon={iconSVG} size="large" />
197
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
231
198
  </ExampleContainer>
232
199
  <ExampleContainer>
233
200
  <Title title="Large size icon before with ellipsis" theme="light" level={4} />
234
- <DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon={iconSVG} size="large" />
201
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
235
202
  </ExampleContainer>
236
203
  <ExampleContainer>
237
204
  <Title title="FillParent size" theme="light" level={4} />
@@ -270,5 +237,89 @@ export const Chromatic = () => (
270
237
  <Title title="Xxlarge margin" theme="light" level={4} />
271
238
  <DxcButton label="Xxlarge margin" margin="xxlarge" />
272
239
  </ExampleContainer>
240
+ <Title title="Inside a flex" theme="light" level={2} />
241
+ <ExampleContainer>
242
+ <DxcFlex direction="column" gap="1rem">
243
+ <DxcButton label="Button" />
244
+ <DxcButton label="Button" />
245
+ <DxcButton label="Button" />
246
+ </DxcFlex>
247
+ </ExampleContainer>
248
+ <Title title="Opinionated theme" theme="light" level={2} />
249
+ <Title title="Primary" theme="light" level={3} />
250
+ <ExampleContainer>
251
+ <Title title="Enabled" theme="light" level={4} />
252
+ <HalstackProvider theme={opinionatedTheme}>
253
+ <DxcButton label="Primary" icon="filled_bottom_app_bar" />
254
+ </HalstackProvider>
255
+ </ExampleContainer>
256
+ <ExampleContainer pseudoState="pseudo-hover">
257
+ <Title title="Hovered" theme="light" level={4} />
258
+ <DxcButton label="Primary hovered" icon="filled_bottom_app_bar" />
259
+ </ExampleContainer>
260
+ <ExampleContainer pseudoState="pseudo-focus">
261
+ <Title title="Focused" theme="light" level={4} />
262
+ <DxcButton label="Primary focused" icon="filled_bottom_app_bar" />
263
+ </ExampleContainer>
264
+ <ExampleContainer pseudoState="pseudo-active">
265
+ <Title title="Actived" theme="light" level={4} />
266
+ <DxcButton label="Primary actived" icon="filled_bottom_app_bar" />
267
+ </ExampleContainer>
268
+ <ExampleContainer>
269
+ <Title title="Disabled" theme="light" level={4} />
270
+ <HalstackProvider theme={opinionatedTheme}>
271
+ <DxcButton label="Primary" icon="filled_bottom_app_bar" disabled />
272
+ </HalstackProvider>
273
+ </ExampleContainer>
274
+ <Title title="Secondary" theme="light" level={3} />
275
+ <ExampleContainer>
276
+ <Title title="Enabled" theme="light" level={4} />
277
+ <HalstackProvider theme={opinionatedTheme}>
278
+ <DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
279
+ </HalstackProvider>
280
+ </ExampleContainer>
281
+ <ExampleContainer pseudoState="pseudo-hover">
282
+ <Title title="Hovered" theme="light" level={4} />
283
+ <DxcButton mode="secondary" label="Secondary hovered" icon="filled_bottom_app_bar" />
284
+ </ExampleContainer>
285
+ <ExampleContainer pseudoState="pseudo-focus">
286
+ <Title title="Focused" theme="light" level={4} />
287
+ <DxcButton mode="secondary" label="Secondary focused" icon="filled_bottom_app_bar" />
288
+ </ExampleContainer>
289
+ <ExampleContainer pseudoState="pseudo-active">
290
+ <Title title="Actived" theme="light" level={4} />
291
+ <DxcButton mode="secondary" label="Secondary actived" icon="filled_bottom_app_bar" />
292
+ </ExampleContainer>
293
+ <ExampleContainer>
294
+ <Title title="Disabled" theme="light" level={4} />
295
+ <HalstackProvider theme={opinionatedTheme}>
296
+ <DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" disabled />
297
+ </HalstackProvider>
298
+ </ExampleContainer>
299
+ <Title title="Text" theme="light" level={3} />
300
+ <ExampleContainer>
301
+ <Title title="Enabled" theme="light" level={4} />
302
+ <HalstackProvider theme={opinionatedTheme}>
303
+ <DxcButton mode="text" label="Text" icon="filled_bottom_app_bar" />
304
+ </HalstackProvider>
305
+ </ExampleContainer>
306
+ <ExampleContainer pseudoState="pseudo-hover">
307
+ <Title title="Hovered" theme="light" level={4} />
308
+ <DxcButton mode="text" label="Text hovered" icon="filled_bottom_app_bar" />
309
+ </ExampleContainer>
310
+ <ExampleContainer pseudoState="pseudo-focus">
311
+ <Title title="Focused" theme="light" level={4} />
312
+ <DxcButton mode="text" label="Text focused" icon="filled_bottom_app_bar" />
313
+ </ExampleContainer>
314
+ <ExampleContainer pseudoState="pseudo-active">
315
+ <Title title="Actived" theme="light" level={4} />
316
+ <DxcButton mode="text" label="Text actived" icon="filled_bottom_app_bar" />
317
+ </ExampleContainer>
318
+ <ExampleContainer>
319
+ <Title title="Disabled" theme="light" level={4} />
320
+ <HalstackProvider theme={opinionatedTheme}>
321
+ <DxcButton mode="text" label="Text disabled" icon="filled_bottom_app_bar" disabled />
322
+ </HalstackProvider>
323
+ </ExampleContainer>
273
324
  </>
274
325
  );
@@ -0,0 +1 @@
1
+ export {};
@@ -1,35 +1,38 @@
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 _Button = _interopRequireDefault(require("./Button"));
10
-
11
7
  describe("Button component tests", function () {
12
8
  test("Button renders with correct text", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
14
- label: "Button"
15
- })),
16
- getByText = _render.getByText;
17
-
10
+ label: "Button"
11
+ })),
12
+ getByText = _render.getByText;
18
13
  expect(getByText("Button")).toBeTruthy();
19
14
  });
20
15
  test("Calls correct function on click", function () {
21
16
  var onClick = jest.fn();
22
-
23
17
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
24
- label: "Button",
25
- onClick: onClick
26
- })),
27
- getByText = _render2.getByText;
28
-
18
+ label: "Button",
19
+ onClick: onClick
20
+ })),
21
+ getByText = _render2.getByText;
29
22
  var button = getByText("Button");
30
-
31
23
  _react2.fireEvent.click(button);
32
-
33
24
  expect(onClick).toHaveBeenCalled();
34
25
  });
26
+ test("Renders with correct accessibility attributes", function () {
27
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
28
+ label: "Home",
29
+ title: "Go home",
30
+ tabIndex: 1
31
+ })),
32
+ getByRole = _render3.getByRole;
33
+ var button = getByRole("button");
34
+ expect(button.getAttribute("aria-label")).toBe("Go home");
35
+ expect(button.getAttribute("title")).toBe("Go home");
36
+ expect(button.getAttribute("tabindex")).toBe("1");
37
+ });
35
38
  });
package/button/types.d.ts CHANGED
@@ -1,19 +1,19 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = React.SVGProps<SVGSVGElement>;
10
- declare type Props = {
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ type Props = {
11
11
  /**
12
- * Text to be placed next to the button.
12
+ * Text to be placed in the button.
13
13
  */
14
14
  label?: string;
15
15
  /**
16
- * Uses one of the available button modes.
16
+ * The available button modes.
17
17
  */
18
18
  mode?: "primary" | "secondary" | "text";
19
19
  /**
@@ -25,11 +25,15 @@ declare type Props = {
25
25
  */
26
26
  iconPosition?: "before" | "after";
27
27
  /**
28
- * This prop corresponds to the 'type' prop of the button in html.
28
+ * Value for the HTML properties title and aria-label.
29
+ */
30
+ title?: string;
31
+ /**
32
+ * 'type' html prop of the button.
29
33
  */
30
34
  type?: "button" | "reset" | "submit";
31
35
  /**
32
- * Element or path used as the icon that will be placed next to the button label.
36
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
33
37
  */
34
38
  icon?: string | SVG;
35
39
  /**
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,36 @@
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 _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Card = _interopRequireDefault(require("./Card"));
10
+ describe("Card component accessibility tests", function () {
11
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
+ var _render, container, results;
13
+ return _regenerator["default"].wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
17
+ linkHref: "https://www.dxc.com",
18
+ imageSrc: "https://picsum.photos/id/1022/200/300",
19
+ imagePosition: "after",
20
+ imagePadding: "xsmall",
21
+ margin: "medium",
22
+ imageBgColor: "yellow",
23
+ imageCover: true
24
+ }, "test-card")), container = _render.container;
25
+ _context.next = 3;
26
+ return (0, _axeHelper.axe)(container);
27
+ case 3:
28
+ results = _context.sent;
29
+ expect(results).toHaveNoViolations();
30
+ case 5:
31
+ case "end":
32
+ return _context.stop();
33
+ }
34
+ }, _callee);
35
+ })));
36
+ });
package/card/Card.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import CardPropsType from "./types";
3
- declare const DxcCard: ({ imageSrc, imageBgColor, imagePadding, imagePosition, linkHref, onClick, imageCover, margin, contentPadding, tabIndex, outlined, children, }: CardPropsType) => JSX.Element;
3
+ declare const DxcCard: ({ imageSrc, imageBgColor, imagePadding, imagePosition, linkHref, onClick, imageCover, margin, tabIndex, outlined, children, }: CardPropsType) => JSX.Element;
4
4
  export default DxcCard;