@dxc-technology/halstack-react 0.0.0-4dc980c → 0.0.0-4e3dbad

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 (496) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1280 -6
  4. package/HalstackContext.js +131 -105
  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 +44 -121
  10. package/accordion/Accordion.stories.tsx +82 -147
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +18 -33
  13. package/accordion/types.d.ts +6 -18
  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 +29 -77
  18. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +41 -73
  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 +7 -19
  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 +36 -126
  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/bar-chart/BarChart.d.ts +4 -0
  50. package/bar-chart/BarChart.js +152 -0
  51. package/bar-chart/BarChart.stories.tsx +281 -0
  52. package/bar-chart/BarChart.test.d.ts +1 -0
  53. package/bar-chart/BarChart.test.js +194 -0
  54. package/bar-chart/theme.d.ts +3 -0
  55. package/bar-chart/theme.js +31 -0
  56. package/bar-chart/types.d.ts +118 -0
  57. package/bleed/Bleed.js +13 -21
  58. package/bleed/Bleed.stories.tsx +1 -1
  59. package/bleed/types.d.ts +2 -2
  60. package/box/Box.accessibility.test.d.ts +1 -0
  61. package/box/Box.accessibility.test.js +33 -0
  62. package/box/Box.d.ts +1 -1
  63. package/box/Box.js +18 -59
  64. package/box/Box.stories.tsx +38 -51
  65. package/box/Box.test.d.ts +1 -0
  66. package/box/Box.test.js +1 -6
  67. package/box/types.d.ts +3 -15
  68. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  69. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  70. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  71. package/breadcrumbs/Breadcrumbs.js +79 -0
  72. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  73. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  74. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  75. package/breadcrumbs/Item.d.ts +4 -0
  76. package/breadcrumbs/Item.js +52 -0
  77. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  78. package/breadcrumbs/dropdownTheme.js +62 -0
  79. package/breadcrumbs/types.d.ts +40 -0
  80. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  81. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  82. package/bulleted-list/BulletedList.js +22 -53
  83. package/bulleted-list/BulletedList.stories.tsx +8 -93
  84. package/bulleted-list/types.d.ts +32 -5
  85. package/button/Button.accessibility.test.d.ts +1 -0
  86. package/button/Button.accessibility.test.js +127 -0
  87. package/button/Button.d.ts +1 -1
  88. package/button/Button.js +71 -106
  89. package/button/Button.stories.tsx +143 -101
  90. package/button/Button.test.d.ts +1 -0
  91. package/button/Button.test.js +19 -16
  92. package/button/types.d.ts +9 -5
  93. package/card/Card.accessibility.test.d.ts +1 -0
  94. package/card/Card.accessibility.test.js +36 -0
  95. package/card/Card.d.ts +1 -1
  96. package/card/Card.js +49 -89
  97. package/card/Card.stories.tsx +13 -43
  98. package/card/Card.test.d.ts +1 -0
  99. package/card/Card.test.js +10 -21
  100. package/card/types.d.ts +6 -12
  101. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  102. package/checkbox/Checkbox.accessibility.test.js +87 -0
  103. package/checkbox/Checkbox.js +90 -128
  104. package/checkbox/Checkbox.stories.tsx +68 -54
  105. package/checkbox/Checkbox.test.d.ts +1 -0
  106. package/checkbox/Checkbox.test.js +107 -63
  107. package/checkbox/types.d.ts +8 -4
  108. package/chip/Chip.accessibility.test.d.ts +1 -0
  109. package/chip/Chip.accessibility.test.js +67 -0
  110. package/chip/Chip.js +45 -80
  111. package/chip/Chip.stories.tsx +103 -27
  112. package/chip/Chip.test.d.ts +1 -0
  113. package/chip/Chip.test.js +17 -32
  114. package/chip/types.d.ts +4 -4
  115. package/common/coreTokens.d.ts +236 -0
  116. package/common/coreTokens.js +183 -0
  117. package/common/utils.d.ts +1 -0
  118. package/common/utils.js +6 -12
  119. package/common/variables.d.ts +1438 -0
  120. package/common/variables.js +1008 -1216
  121. package/container/Container.d.ts +4 -0
  122. package/container/Container.js +194 -0
  123. package/container/Container.stories.tsx +214 -0
  124. package/container/types.d.ts +176 -0
  125. package/container/types.js +5 -0
  126. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  127. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  128. package/contextual-menu/ContextualMenu.d.ts +5 -0
  129. package/contextual-menu/ContextualMenu.js +136 -0
  130. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  131. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  132. package/contextual-menu/ContextualMenu.test.js +247 -0
  133. package/contextual-menu/GroupItem.d.ts +4 -0
  134. package/contextual-menu/GroupItem.js +67 -0
  135. package/contextual-menu/ItemAction.d.ts +4 -0
  136. package/contextual-menu/ItemAction.js +88 -0
  137. package/contextual-menu/MenuItem.d.ts +4 -0
  138. package/contextual-menu/MenuItem.js +29 -0
  139. package/contextual-menu/SingleItem.d.ts +4 -0
  140. package/contextual-menu/SingleItem.js +38 -0
  141. package/contextual-menu/types.d.ts +65 -0
  142. package/contextual-menu/types.js +5 -0
  143. package/date-input/Calendar.d.ts +1 -1
  144. package/date-input/Calendar.js +91 -119
  145. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  146. package/date-input/DateInput.accessibility.test.js +229 -0
  147. package/date-input/DateInput.js +119 -118
  148. package/date-input/DateInput.stories.tsx +201 -61
  149. package/date-input/DateInput.test.d.ts +1 -0
  150. package/date-input/DateInput.test.js +677 -621
  151. package/date-input/DatePicker.js +53 -92
  152. package/date-input/YearPicker.d.ts +1 -1
  153. package/date-input/YearPicker.js +38 -48
  154. package/date-input/types.d.ts +32 -28
  155. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  156. package/dialog/Dialog.accessibility.test.js +69 -0
  157. package/dialog/Dialog.d.ts +1 -1
  158. package/dialog/Dialog.js +51 -120
  159. package/dialog/Dialog.stories.tsx +314 -212
  160. package/dialog/Dialog.test.d.ts +1 -0
  161. package/dialog/Dialog.test.js +332 -32
  162. package/dialog/types.d.ts +18 -26
  163. package/divider/Divider.accessibility.test.d.ts +1 -0
  164. package/divider/Divider.accessibility.test.js +33 -0
  165. package/divider/Divider.d.ts +4 -0
  166. package/divider/Divider.js +36 -0
  167. package/divider/Divider.stories.tsx +224 -0
  168. package/divider/Divider.test.d.ts +1 -0
  169. package/divider/Divider.test.js +38 -0
  170. package/divider/types.d.ts +21 -0
  171. package/divider/types.js +5 -0
  172. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  173. package/dropdown/Dropdown.accessibility.test.js +183 -0
  174. package/dropdown/Dropdown.js +69 -159
  175. package/dropdown/Dropdown.stories.tsx +210 -95
  176. package/dropdown/Dropdown.test.d.ts +1 -0
  177. package/dropdown/Dropdown.test.js +435 -392
  178. package/dropdown/DropdownMenu.js +23 -40
  179. package/dropdown/DropdownMenuItem.js +17 -38
  180. package/dropdown/types.d.ts +20 -24
  181. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  182. package/file-input/FileInput.accessibility.test.js +167 -0
  183. package/file-input/FileInput.js +181 -294
  184. package/file-input/FileInput.stories.tsx +86 -3
  185. package/file-input/FileInput.test.d.ts +1 -0
  186. package/file-input/FileInput.test.js +301 -395
  187. package/file-input/FileItem.js +31 -67
  188. package/file-input/types.d.ts +9 -13
  189. package/flex/Flex.js +27 -39
  190. package/flex/Flex.stories.tsx +35 -26
  191. package/flex/types.d.ts +74 -9
  192. package/footer/Footer.accessibility.test.d.ts +1 -0
  193. package/footer/Footer.accessibility.test.js +125 -0
  194. package/footer/Footer.d.ts +1 -1
  195. package/footer/Footer.js +73 -118
  196. package/footer/Footer.stories.tsx +94 -23
  197. package/footer/Footer.test.d.ts +1 -0
  198. package/footer/Footer.test.js +32 -56
  199. package/footer/Icons.d.ts +3 -2
  200. package/footer/Icons.js +53 -22
  201. package/footer/types.d.ts +26 -28
  202. package/grid/Grid.d.ts +7 -0
  203. package/grid/Grid.js +76 -0
  204. package/grid/Grid.stories.tsx +221 -0
  205. package/grid/types.d.ts +115 -0
  206. package/grid/types.js +5 -0
  207. package/header/Header.accessibility.test.d.ts +1 -0
  208. package/header/Header.accessibility.test.js +94 -0
  209. package/header/Header.d.ts +4 -3
  210. package/header/Header.js +55 -150
  211. package/header/Header.stories.tsx +131 -36
  212. package/header/Header.test.d.ts +1 -0
  213. package/header/Header.test.js +12 -25
  214. package/header/Icons.d.ts +2 -2
  215. package/header/Icons.js +3 -13
  216. package/header/types.d.ts +7 -22
  217. package/heading/Heading.accessibility.test.d.ts +1 -0
  218. package/heading/Heading.accessibility.test.js +33 -0
  219. package/heading/Heading.js +10 -32
  220. package/heading/Heading.test.d.ts +1 -0
  221. package/heading/Heading.test.js +64 -94
  222. package/heading/types.d.ts +7 -7
  223. package/icon/Icon.accessibility.test.d.ts +1 -0
  224. package/icon/Icon.accessibility.test.js +30 -0
  225. package/icon/Icon.d.ts +4 -0
  226. package/icon/Icon.js +33 -0
  227. package/icon/Icon.stories.tsx +28 -0
  228. package/icon/types.d.ts +4 -0
  229. package/icon/types.js +5 -0
  230. package/image/Image.accessibility.test.d.ts +1 -0
  231. package/image/Image.accessibility.test.js +56 -0
  232. package/image/Image.d.ts +4 -0
  233. package/image/Image.js +70 -0
  234. package/image/Image.stories.tsx +129 -0
  235. package/image/types.d.ts +72 -0
  236. package/image/types.js +5 -0
  237. package/inset/Inset.js +13 -21
  238. package/inset/Inset.stories.tsx +2 -1
  239. package/inset/types.d.ts +2 -2
  240. package/layout/ApplicationLayout.d.ts +5 -5
  241. package/layout/ApplicationLayout.js +36 -70
  242. package/layout/ApplicationLayout.stories.tsx +1 -1
  243. package/layout/Icons.d.ts +7 -5
  244. package/layout/Icons.js +41 -59
  245. package/layout/types.d.ts +5 -6
  246. package/link/Link.accessibility.test.d.ts +1 -0
  247. package/link/Link.accessibility.test.js +108 -0
  248. package/link/Link.js +31 -50
  249. package/link/Link.stories.tsx +64 -4
  250. package/link/Link.test.d.ts +1 -0
  251. package/link/Link.test.js +23 -43
  252. package/link/types.d.ts +14 -14
  253. package/main.d.ts +12 -5
  254. package/main.js +61 -59
  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.js +117 -0
  265. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  266. package/nav-tabs/types.js +5 -0
  267. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  268. package/number-input/NumberInput.accessibility.test.js +227 -0
  269. package/number-input/NumberInput.js +50 -37
  270. package/number-input/NumberInput.stories.tsx +37 -26
  271. package/number-input/NumberInput.test.d.ts +1 -0
  272. package/number-input/NumberInput.test.js +858 -412
  273. package/number-input/NumberInputContext.d.ts +3 -4
  274. package/number-input/NumberInputContext.js +3 -14
  275. package/number-input/types.d.ts +17 -5
  276. package/package.json +50 -42
  277. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  278. package/paginator/Paginator.accessibility.test.js +78 -0
  279. package/paginator/Paginator.js +34 -67
  280. package/paginator/Paginator.stories.tsx +24 -0
  281. package/paginator/Paginator.test.d.ts +1 -0
  282. package/paginator/Paginator.test.js +252 -226
  283. package/paginator/types.d.ts +3 -3
  284. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  285. package/paragraph/Paragraph.accessibility.test.js +28 -0
  286. package/paragraph/Paragraph.d.ts +3 -4
  287. package/paragraph/Paragraph.js +6 -22
  288. package/paragraph/Paragraph.stories.tsx +0 -17
  289. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  290. package/password-input/PasswordInput.accessibility.test.js +152 -0
  291. package/password-input/PasswordInput.js +62 -128
  292. package/password-input/PasswordInput.stories.tsx +11 -34
  293. package/password-input/PasswordInput.test.d.ts +1 -0
  294. package/password-input/PasswordInput.test.js +156 -140
  295. package/password-input/types.d.ts +8 -7
  296. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  297. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  298. package/progress-bar/ProgressBar.d.ts +2 -2
  299. package/progress-bar/ProgressBar.js +28 -58
  300. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  301. package/progress-bar/ProgressBar.test.d.ts +1 -0
  302. package/progress-bar/ProgressBar.test.js +35 -52
  303. package/progress-bar/types.d.ts +4 -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.js +4 -27
  307. package/quick-nav/QuickNav.stories.tsx +15 -1
  308. package/quick-nav/types.d.ts +10 -10
  309. package/radio-group/Radio.d.ts +1 -1
  310. package/radio-group/Radio.js +31 -66
  311. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  312. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  313. package/radio-group/RadioGroup.js +48 -98
  314. package/radio-group/RadioGroup.stories.tsx +131 -18
  315. package/radio-group/RadioGroup.test.d.ts +1 -0
  316. package/radio-group/RadioGroup.test.js +506 -474
  317. package/radio-group/types.d.ts +8 -8
  318. package/resultset-table/Icons.d.ts +7 -0
  319. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  320. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  321. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  322. package/resultset-table/ResultsetTable.d.ts +7 -0
  323. package/{resultsetTable → resultset-table}/ResultsetTable.js +81 -78
  324. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +119 -6
  325. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  326. package/resultset-table/ResultsetTable.test.js +450 -0
  327. package/{resultsetTable → resultset-table}/types.d.ts +47 -13
  328. package/resultset-table/types.js +5 -0
  329. package/select/Listbox.d.ts +3 -3
  330. package/select/Listbox.js +48 -99
  331. package/select/Option.d.ts +3 -3
  332. package/select/Option.js +42 -59
  333. package/select/Select.accessibility.test.d.ts +1 -0
  334. package/select/Select.accessibility.test.js +227 -0
  335. package/select/Select.js +137 -299
  336. package/select/Select.stories.tsx +504 -200
  337. package/select/Select.test.d.ts +1 -0
  338. package/select/Select.test.js +1908 -1973
  339. package/select/selectUtils.d.ts +41 -0
  340. package/select/selectUtils.js +129 -0
  341. package/select/types.d.ts +17 -18
  342. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  343. package/sidenav/Sidenav.accessibility.test.js +59 -0
  344. package/sidenav/Sidenav.d.ts +2 -2
  345. package/sidenav/Sidenav.js +90 -157
  346. package/sidenav/Sidenav.stories.tsx +161 -64
  347. package/sidenav/Sidenav.test.d.ts +1 -0
  348. package/sidenav/Sidenav.test.js +4 -11
  349. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  350. package/{layout → sidenav}/SidenavContext.js +3 -9
  351. package/sidenav/types.d.ts +33 -30
  352. package/slider/Slider.accessibility.test.d.ts +1 -0
  353. package/slider/Slider.accessibility.test.js +103 -0
  354. package/slider/Slider.js +68 -128
  355. package/slider/Slider.stories.tsx +57 -60
  356. package/slider/Slider.test.d.ts +1 -0
  357. package/slider/Slider.test.js +117 -111
  358. package/slider/types.d.ts +4 -4
  359. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  360. package/spinner/Spinner.accessibility.test.js +96 -0
  361. package/spinner/Spinner.d.ts +1 -1
  362. package/spinner/Spinner.js +48 -107
  363. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  364. package/spinner/Spinner.test.d.ts +1 -0
  365. package/spinner/Spinner.test.js +25 -34
  366. package/spinner/types.d.ts +3 -3
  367. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  368. package/status-light/StatusLight.accessibility.test.js +157 -0
  369. package/status-light/StatusLight.d.ts +4 -0
  370. package/status-light/StatusLight.js +51 -0
  371. package/status-light/StatusLight.stories.tsx +74 -0
  372. package/status-light/StatusLight.test.d.ts +1 -0
  373. package/status-light/StatusLight.test.js +25 -0
  374. package/status-light/types.d.ts +17 -0
  375. package/status-light/types.js +5 -0
  376. package/switch/Switch.accessibility.test.d.ts +1 -0
  377. package/switch/Switch.accessibility.test.js +98 -0
  378. package/switch/Switch.js +51 -102
  379. package/switch/Switch.stories.tsx +45 -34
  380. package/switch/Switch.test.d.ts +1 -0
  381. package/switch/Switch.test.js +51 -96
  382. package/switch/types.d.ts +4 -4
  383. package/table/DropdownTheme.js +62 -0
  384. package/table/Table.accessibility.test.d.ts +1 -0
  385. package/table/Table.accessibility.test.js +92 -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 +91 -6
  391. package/table/types.d.ts +34 -6
  392. package/tabs/Tab.js +28 -46
  393. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  394. package/tabs/Tabs.accessibility.test.js +56 -0
  395. package/tabs/Tabs.js +69 -163
  396. package/tabs/Tabs.stories.tsx +50 -5
  397. package/tabs/Tabs.test.d.ts +1 -0
  398. package/tabs/Tabs.test.js +60 -135
  399. package/tabs/types.d.ts +21 -21
  400. package/tag/Tag.accessibility.test.d.ts +1 -0
  401. package/tag/Tag.accessibility.test.js +69 -0
  402. package/tag/Tag.js +34 -66
  403. package/tag/Tag.stories.tsx +19 -9
  404. package/tag/Tag.test.d.ts +1 -0
  405. package/tag/Tag.test.js +17 -36
  406. package/tag/types.d.ts +9 -9
  407. package/text-input/Suggestion.js +35 -25
  408. package/text-input/Suggestions.d.ts +1 -1
  409. package/text-input/Suggestions.js +30 -70
  410. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  411. package/text-input/TextInput.accessibility.test.js +320 -0
  412. package/text-input/TextInput.js +218 -347
  413. package/text-input/TextInput.stories.tsx +158 -162
  414. package/text-input/TextInput.test.d.ts +1 -0
  415. package/text-input/TextInput.test.js +1287 -1156
  416. package/text-input/types.d.ts +25 -17
  417. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  418. package/textarea/Textarea.accessibility.test.js +155 -0
  419. package/textarea/Textarea.js +67 -109
  420. package/textarea/Textarea.stories.tsx +174 -0
  421. package/textarea/Textarea.test.d.ts +1 -0
  422. package/textarea/Textarea.test.js +151 -182
  423. package/textarea/types.d.ts +9 -5
  424. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  425. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  426. package/toggle-group/ToggleGroup.d.ts +2 -2
  427. package/toggle-group/ToggleGroup.js +92 -108
  428. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  429. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  430. package/toggle-group/ToggleGroup.test.js +68 -87
  431. package/toggle-group/types.d.ts +28 -19
  432. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  433. package/tooltip/Tooltip.accessibility.test.js +144 -0
  434. package/tooltip/Tooltip.d.ts +4 -0
  435. package/tooltip/Tooltip.js +50 -0
  436. package/tooltip/Tooltip.stories.tsx +111 -0
  437. package/tooltip/Tooltip.test.d.ts +1 -0
  438. package/tooltip/Tooltip.test.js +112 -0
  439. package/tooltip/types.d.ts +16 -0
  440. package/tooltip/types.js +5 -0
  441. package/typography/Typography.accessibility.test.d.ts +1 -0
  442. package/typography/Typography.accessibility.test.js +339 -0
  443. package/typography/Typography.d.ts +2 -2
  444. package/typography/Typography.js +15 -123
  445. package/typography/Typography.stories.tsx +1 -3
  446. package/typography/Typography.test.js +23 -0
  447. package/typography/types.d.ts +1 -1
  448. package/useTheme.d.ts +1173 -1
  449. package/useTheme.js +2 -9
  450. package/useTranslatedLabels.d.ts +95 -1
  451. package/useTranslatedLabels.js +1 -7
  452. package/utils/BaseTypography.d.ts +21 -0
  453. package/utils/BaseTypography.js +98 -0
  454. package/utils/FocusLock.d.ts +13 -0
  455. package/utils/FocusLock.js +125 -0
  456. package/utils/useWidth.d.ts +2 -0
  457. package/utils/useWidth.js +30 -0
  458. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  459. package/wizard/Wizard.accessibility.test.js +55 -0
  460. package/wizard/Wizard.js +29 -75
  461. package/wizard/Wizard.stories.tsx +40 -1
  462. package/wizard/Wizard.test.d.ts +1 -0
  463. package/wizard/Wizard.test.js +53 -80
  464. package/wizard/types.d.ts +10 -11
  465. package/card/ice-cream.jpg +0 -0
  466. package/common/OpenSans.css +0 -81
  467. package/common/fonts/OpenSans-Bold.ttf +0 -0
  468. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  469. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  470. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  471. package/common/fonts/OpenSans-Italic.ttf +0 -0
  472. package/common/fonts/OpenSans-Light.ttf +0 -0
  473. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  474. package/common/fonts/OpenSans-Regular.ttf +0 -0
  475. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  476. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  477. package/number-input/numberInputContextTypes.d.ts +0 -19
  478. package/paginator/Icons.js +0 -66
  479. package/resultsetTable/Icons.d.ts +0 -7
  480. package/resultsetTable/ResultsetTable.d.ts +0 -4
  481. package/resultsetTable/ResultsetTable.test.js +0 -330
  482. package/select/Icons.d.ts +0 -10
  483. package/select/Icons.js +0 -93
  484. package/table/Table.stories.jsx +0 -277
  485. package/tabs-nav/NavTabs.d.ts +0 -8
  486. package/tabs-nav/NavTabs.js +0 -125
  487. package/tabs-nav/NavTabs.stories.tsx +0 -170
  488. package/tabs-nav/NavTabs.test.js +0 -82
  489. package/tabs-nav/Tab.js +0 -130
  490. package/text-input/Icons.d.ts +0 -8
  491. package/text-input/Icons.js +0 -60
  492. package/textarea/Textarea.stories.jsx +0 -157
  493. /package/{resultsetTable → action-icon}/types.js +0 -0
  494. /package/{tabs-nav → bar-chart}/types.js +0 -0
  495. /package/{number-input/numberInputContextTypes.js → breadcrumbs/types.js} +0 -0
  496. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,43 +1,32 @@
1
1
  import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
2
+ import { userEvent, within } from "@storybook/test";
3
3
  import DxcDropdown from "./Dropdown";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
6
  import DropdownMenu from "./DropdownMenu";
7
- import DxcCheckbox from "../checkbox/Checkbox";
8
- import DxcTextInput from "../text-input/TextInput";
9
7
  import { Option } from "./types";
10
-
8
+ import useTheme from "../useTheme";
9
+ import DxcFlex from "../flex/Flex";
10
+ import { HalstackProvider } from "../HalstackContext";
11
+ import { ThemeProvider } from "styled-components";
11
12
 
12
13
  export default {
13
14
  title: "Dropdown",
14
15
  component: DxcDropdown,
15
16
  };
16
17
 
17
- const hamburguerIcon = (
18
- <svg xmlns="http://www.w3.org/2000/svg" height="20" width="20">
19
- <path d="M3 14.5V13h14v1.5Zm0-3.75v-1.5h14v1.5ZM3 7V5.5h14V7Z" />
20
- </svg>
21
- );
22
18
  const iconSVG = (
23
- <svg viewBox="0 0 24 24" fill="currentColor">
19
+ <svg viewBox="0 0 24 24" height="24" width="24" fill="currentColor">
24
20
  <path d="M0 0h24v24H0z" fill="none" />
25
21
  <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" />
26
22
  </svg>
27
23
  );
28
24
  const iconSVGLarge = (
29
- <svg enableBackground="new 0 0 24 24" height="48" viewBox="0 0 24 24" width="48" fill="currentColor">
30
- <g>
31
- <path d="M0,0h24v24H0V0z" fill="none" />
32
- <path d="M0,0h24v24H0V0z" fill="none" />
33
- </g>
34
- <g>
35
- <path d="M12,17.27L18.18,21l-1.64-7.03L22,9.24l-7.19-0.61L12,2L9.19,8.63L2,9.24l5.46,4.73L5.82,21L12,17.27z" />
36
- </g>
25
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" height="48" width="48">
26
+ <path d="M11 44q-1.2 0-2.1-.9Q8 42.2 8 41V15q0-1.2.9-2.1.9-.9 2.1-.9h5.5v-.5q0-3.15 2.175-5.325Q20.85 4 24 4q3.15 0 5.325 2.175Q31.5 8.35 31.5 11.5v.5H37q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h26V15h-5.5v4.5q0 .65-.425 1.075Q30.65 21 30 21q-.65 0-1.075-.425-.425-.425-.425-1.075V15h-9v4.5q0 .65-.425 1.075Q18.65 21 18 21q-.65 0-1.075-.425-.425-.425-.425-1.075V15H11v26Zm8.5-29h9v-.5q0-1.9-1.3-3.2Q25.9 7 24 7q-1.9 0-3.2 1.3-1.3 1.3-1.3 3.2ZM11 41V15v26Z" />
37
27
  </svg>
38
28
  );
39
- const iconUrl = "https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png";
40
- const icons = [iconSVG, iconSVGLarge, iconUrl];
29
+ const icons = [iconSVG, iconSVGLarge, "nutrition"];
41
30
 
42
31
  const defaultOptions: Option[] = [
43
32
  {
@@ -60,6 +49,18 @@ const defaultOptions: Option[] = [
60
49
  value: "5",
61
50
  label: "Aliexpress",
62
51
  },
52
+ {
53
+ value: "6",
54
+ label: "Etsy",
55
+ },
56
+ {
57
+ value: "7",
58
+ label: "Alibaba",
59
+ },
60
+ {
61
+ value: "8",
62
+ label: "Gearbest shop",
63
+ },
63
64
  ];
64
65
  const options: Option[] = [
65
66
  {
@@ -79,13 +80,21 @@ const optionWithIcon: Option[] = [
79
80
  {
80
81
  value: "1",
81
82
  label: "Ebay",
82
- icon: iconUrl,
83
+ icon: "shopping_cart",
83
84
  },
84
85
  ];
85
86
 
86
87
  const optionsIcon: any = options.map((op, i) => ({ ...op, icon: icons[i] }));
87
88
 
88
- export const Chromatic = () => (
89
+ const opinionatedTheme = {
90
+ dropdown: {
91
+ baseColor: "#ffffff",
92
+ fontColor: "#000000",
93
+ optionFontColor: "#000000",
94
+ },
95
+ };
96
+
97
+ const Dropdown = () => (
89
98
  <>
90
99
  <ExampleContainer>
91
100
  <Title title="Default" theme="light" level={4} />
@@ -121,7 +130,7 @@ export const Chromatic = () => (
121
130
  label="Icon after"
122
131
  options={options}
123
132
  onSelectOption={(value) => {}}
124
- icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
133
+ icon="shopping_cart"
125
134
  iconPosition="after"
126
135
  />
127
136
  </ExampleContainer>
@@ -131,12 +140,16 @@ export const Chromatic = () => (
131
140
  </ExampleContainer>
132
141
  <ExampleContainer>
133
142
  <Title title="Only icon without caret" theme="light" level={4} />
134
- <DxcDropdown options={options} onSelectOption={(value) => {}} icon={hamburguerIcon} caretHidden />
143
+ <DxcDropdown options={options} onSelectOption={(value) => {}} icon="menu" caretHidden />
135
144
  </ExampleContainer>
136
145
  <ExampleContainer>
137
- <Title title="Large icon" theme="light" level={4} />
146
+ <Title title="Large icon (SVG)" theme="light" level={4} />
138
147
  <DxcDropdown label="Large icon" options={options} onSelectOption={(value) => {}} icon={iconSVGLarge} />
139
148
  </ExampleContainer>
149
+ <ExampleContainer>
150
+ <Title title="Large icon (image)" theme="light" level={4} />
151
+ <DxcDropdown label="Large icon" options={options} onSelectOption={(value) => {}} icon="menu" />
152
+ </ExampleContainer>
140
153
  <ExampleContainer>
141
154
  <Title title="Disabled with icon" theme="light" level={4} />
142
155
  <DxcDropdown
@@ -219,94 +232,196 @@ export const Chromatic = () => (
219
232
  size="fillParent"
220
233
  />
221
234
  </ExampleContainer>
235
+ <ExampleContainer expanded>
236
+ <Title title="Opened menu" theme="light" level={4} />
237
+ <DxcDropdown label="Label" options={options} onSelectOption={(value) => {}} margin={{ top: "xxlarge" }} />
238
+ </ExampleContainer>
222
239
  </>
223
240
  );
224
241
 
225
- const DropdownListStates = () => (
242
+ const DropdownListStates = () => {
243
+ const colorsTheme: any = useTheme();
244
+
245
+ return (
246
+ <>
247
+ <Title title="Dropdown Menu" theme="light" level={2} />
248
+ <ExampleContainer>
249
+ <Title
250
+ title="List dialog uses a Radix Popover to appear over elements with a certain z-index"
251
+ theme="light"
252
+ level={3}
253
+ />
254
+ <div
255
+ style={{
256
+ position: "relative",
257
+ display: "flex",
258
+ flexDirection: "column",
259
+ gap: "20px",
260
+ height: "150px",
261
+ width: "min-content",
262
+ marginBottom: "100px",
263
+ padding: "20px",
264
+ border: "1px solid black",
265
+ borderRadius: "4px",
266
+ overflow: "auto",
267
+ zIndex: "1300",
268
+ }}
269
+ >
270
+ <DxcDropdown
271
+ label="Select a platform"
272
+ options={defaultOptions}
273
+ onSelectOption={(option) => {}}
274
+ size="medium"
275
+ />
276
+ <button style={{ zIndex: "1", width: "100px" }}>Submit</button>
277
+ </div>
278
+ </ExampleContainer>
279
+ <ThemeProvider theme={colorsTheme.dropdown}>
280
+ <Title title="Option states" theme="light" level={3} />
281
+ <ExampleContainer pseudoState="pseudo-hover">
282
+ <Title title="Hovered option" theme="light" level={4} />
283
+ <DropdownMenu
284
+ id="x1"
285
+ dropdownTriggerId="dtx1"
286
+ iconsPosition="before"
287
+ visualFocusIndex={-1}
288
+ menuItemOnClick={(value) => {}}
289
+ onKeyDown={(e) => {}}
290
+ options={optionWithIcon}
291
+ styles={{ width: 240 }}
292
+ />
293
+ </ExampleContainer>
294
+ <ExampleContainer pseudoState="pseudo-active">
295
+ <Title title="Active option" theme="light" level={4} />
296
+ <DropdownMenu
297
+ id="x2"
298
+ dropdownTriggerId="dtx2"
299
+ iconsPosition="before"
300
+ visualFocusIndex={-1}
301
+ menuItemOnClick={(value) => {}}
302
+ onKeyDown={(e) => {}}
303
+ options={optionWithIcon}
304
+ styles={{ width: 240 }}
305
+ />
306
+ </ExampleContainer>
307
+ <ExampleContainer>
308
+ <Title title="Focused option" theme="light" level={4} />
309
+ <DropdownMenu
310
+ id="x3"
311
+ dropdownTriggerId="dtx3"
312
+ iconsPosition="before"
313
+ visualFocusIndex={0}
314
+ menuItemOnClick={(value) => {}}
315
+ onKeyDown={(e) => {}}
316
+ options={options}
317
+ styles={{ width: 240 }}
318
+ />
319
+ </ExampleContainer>
320
+ <Title title="Icons" theme="light" level={3} />
321
+ <ExampleContainer>
322
+ <Title title="Before" theme="light" level={4} />
323
+ <DropdownMenu
324
+ id="x4"
325
+ dropdownTriggerId="dtx4"
326
+ iconsPosition="before"
327
+ visualFocusIndex={-1}
328
+ menuItemOnClick={(value) => {}}
329
+ onKeyDown={(e) => {}}
330
+ options={optionsIcon}
331
+ styles={{ width: 240 }}
332
+ />
333
+ <Title title="After" theme="light" level={4} />
334
+ <DropdownMenu
335
+ id="x5"
336
+ dropdownTriggerId="dtx5"
337
+ iconsPosition="after"
338
+ visualFocusIndex={-1}
339
+ menuItemOnClick={(value) => {}}
340
+ onKeyDown={(e) => {}}
341
+ options={optionsIcon}
342
+ styles={{ width: 240 }}
343
+ />
344
+ </ExampleContainer>
345
+ </ThemeProvider>
346
+ </>
347
+ );
348
+ };
349
+
350
+ const DropdownRightAlignment = () => (
351
+ <ExampleContainer expanded>
352
+ <Title title="Dropdown collisions on the right boundary (right)" theme="light" level={4} />
353
+ <DxcFlex justifyContent="flex-end">
354
+ <DxcDropdown label="Label" options={options} onSelectOption={(value) => {}} />
355
+ </DxcFlex>
356
+ </ExampleContainer>
357
+ );
358
+
359
+ const DropdownCenterAlignment = () => (
360
+ <ExampleContainer expanded>
361
+ <Title title="Dropdown collisions on the right boundary (centered)" theme="light" level={4} />
362
+ <DxcFlex justifyContent="flex-end">
363
+ <DxcDropdown label="Label" options={defaultOptions} onSelectOption={(value) => {}} margin="small" />
364
+ </DxcFlex>
365
+ </ExampleContainer>
366
+ );
367
+
368
+ export const Chromatic = Dropdown.bind({});
369
+ Chromatic.play = async ({ canvasElement }) => {
370
+ const canvas = within(canvasElement);
371
+ const buttonList = canvas.getAllByRole("button");
372
+ await userEvent.click(buttonList[buttonList.length - 1]);
373
+ };
374
+
375
+ export const OpinionatedTheme = () => (
226
376
  <>
227
- <Title title="Dropdown Menu" theme="light" level={2} />
228
- <Title title="Default with opened menu" theme="light" level={3} />
377
+ <Title title="Opinionated theme" theme="light" level={2} />
229
378
  <ExampleContainer>
230
- <div style={{ display: "flex", gap: "30px", flexDirection: "column", marginBottom: "80px" }}>
231
- <DxcDropdown label="Select a platform" options={defaultOptions} onSelectOption={(option) => {}} size="medium" />
232
- <DxcTextInput label="Your name" onChange={() => {}} />
233
- <DxcCheckbox
234
- label="You understand the selection and give your consent"
235
- onChange={() => {}}
236
- labelPosition="after"
237
- />
238
- </div>
379
+ <Title title="Default" theme="light" level={4} />
380
+ <HalstackProvider theme={opinionatedTheme}>
381
+ <DxcDropdown label="Default" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
382
+ </HalstackProvider>
239
383
  </ExampleContainer>
240
- <Title title="Option states" theme="light" level={3} />
241
384
  <ExampleContainer pseudoState="pseudo-hover">
242
- <Title title="Hovered option" theme="light" level={4} />
243
- <DropdownMenu
244
- id="x"
245
- dropdownId="dX"
246
- iconsPosition="before"
247
- visualFocusIndex={-1}
248
- optionOnClick={(option) => {}}
249
- onKeyDown={(e) => {}}
250
- options={optionWithIcon}
251
- styles={{ width: 240 }}
252
- />
385
+ <Title title="Hovered" theme="light" level={4} />
386
+ <HalstackProvider theme={opinionatedTheme}>
387
+ <DxcDropdown label="Hovered" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
388
+ </HalstackProvider>
253
389
  </ExampleContainer>
254
390
  <ExampleContainer pseudoState="pseudo-active">
255
- <Title title="Active option" theme="light" level={4} />
256
- <DropdownMenu
257
- id="x"
258
- dropdownId="dX"
259
- iconsPosition="before"
260
- visualFocusIndex={-1}
261
- optionOnClick={(option) => {}}
262
- onKeyDown={(e) => {}}
263
- options={optionWithIcon}
264
- styles={{ width: 240 }}
265
- />
391
+ <Title title="Actived" theme="light" level={4} />
392
+ <HalstackProvider theme={opinionatedTheme}>
393
+ <DxcDropdown label="Actived" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
394
+ </HalstackProvider>
266
395
  </ExampleContainer>
267
- <ExampleContainer>
268
- <Title title="Focused option" theme="light" level={4} />
269
- <DropdownMenu
270
- id="x"
271
- dropdownId="dX"
272
- iconsPosition="before"
273
- visualFocusIndex={0}
274
- optionOnClick={(option) => {}}
275
- onKeyDown={(e) => {}}
276
- options={options}
277
- styles={{ width: 240 }}
278
- />
396
+ <ExampleContainer pseudoState="pseudo-focus">
397
+ <Title title="Focused" theme="light" level={4} />
398
+ <HalstackProvider theme={opinionatedTheme}>
399
+ <DxcDropdown label="Focused" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
400
+ </HalstackProvider>
279
401
  </ExampleContainer>
280
- <Title title="Icons" theme="light" level={3} />
281
402
  <ExampleContainer>
282
- <Title title="Before" theme="light" level={4} />
283
- <DropdownMenu
284
- id="x"
285
- dropdownId="dX"
286
- iconsPosition="before"
287
- visualFocusIndex={-1}
288
- optionOnClick={(option) => {}}
289
- onKeyDown={(e) => {}}
290
- options={optionsIcon}
291
- styles={{ width: 240 }}
292
- />
293
- <Title title="After" theme="light" level={4} />
294
- <DropdownMenu
295
- id="x"
296
- dropdownId="dX"
297
- iconsPosition="after"
298
- visualFocusIndex={-1}
299
- optionOnClick={(option) => {}}
300
- onKeyDown={(e) => {}}
301
- options={optionsIcon}
302
- styles={{ width: 240 }}
303
- />
403
+ <Title title="Disabled" theme="light" level={4} />
404
+ <HalstackProvider theme={opinionatedTheme}>
405
+ <DxcDropdown label="Disabled" options={options} onSelectOption={(value) => {}} icon={iconSVG} disabled />
406
+ </HalstackProvider>
304
407
  </ExampleContainer>
305
408
  </>
306
409
  );
307
410
 
308
411
  export const DropdownMenuStates = DropdownListStates.bind({});
309
412
  DropdownMenuStates.play = async ({ canvasElement }) => {
413
+ const canvas = within(canvasElement);
414
+ await userEvent.click(canvas.getAllByRole("button")[0]);
415
+ };
416
+
417
+ export const DropdownMenuAlignedRight = DropdownRightAlignment.bind({});
418
+ DropdownMenuAlignedRight.play = async ({ canvasElement }) => {
419
+ const canvas = within(canvasElement);
420
+ await userEvent.click(canvas.getByRole("button"));
421
+ };
422
+
423
+ export const DropdownMenuAlignedCenter = DropdownCenterAlignment.bind({});
424
+ DropdownMenuAlignedCenter.play = async ({ canvasElement }) => {
310
425
  const canvas = within(canvasElement);
311
426
  await userEvent.click(canvas.getByRole("button"));
312
427
  };
@@ -0,0 +1 @@
1
+ export {};