@dxc-technology/halstack-react 0.0.0-d0735cc → 0.0.0-d123a22

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 (480) 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 +126 -111
  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 +30 -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 +1 -0
  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.js +22 -53
  75. package/bulleted-list/BulletedList.stories.tsx +8 -93
  76. package/bulleted-list/types.d.ts +32 -5
  77. package/button/Button.accessibility.test.d.ts +1 -0
  78. package/button/Button.accessibility.test.js +127 -0
  79. package/button/Button.d.ts +1 -1
  80. package/button/Button.js +71 -106
  81. package/button/Button.stories.tsx +143 -101
  82. package/button/Button.test.d.ts +1 -0
  83. package/button/Button.test.js +19 -16
  84. package/button/types.d.ts +9 -5
  85. package/card/Card.accessibility.test.d.ts +1 -0
  86. package/card/Card.accessibility.test.js +36 -0
  87. package/card/Card.d.ts +1 -1
  88. package/card/Card.js +49 -89
  89. package/card/Card.stories.tsx +12 -42
  90. package/card/Card.test.d.ts +1 -0
  91. package/card/Card.test.js +10 -21
  92. package/card/types.d.ts +6 -11
  93. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  94. package/checkbox/Checkbox.accessibility.test.js +87 -0
  95. package/checkbox/Checkbox.d.ts +2 -2
  96. package/checkbox/Checkbox.js +138 -183
  97. package/checkbox/Checkbox.stories.tsx +128 -94
  98. package/checkbox/Checkbox.test.d.ts +1 -0
  99. package/checkbox/Checkbox.test.js +159 -38
  100. package/checkbox/types.d.ts +11 -3
  101. package/chip/Chip.accessibility.test.d.ts +1 -0
  102. package/chip/Chip.accessibility.test.js +67 -0
  103. package/chip/Chip.js +45 -80
  104. package/chip/Chip.stories.tsx +107 -27
  105. package/chip/Chip.test.d.ts +1 -0
  106. package/chip/Chip.test.js +17 -32
  107. package/chip/types.d.ts +4 -4
  108. package/common/coreTokens.d.ts +237 -0
  109. package/common/coreTokens.js +184 -0
  110. package/common/utils.d.ts +1 -0
  111. package/common/utils.js +6 -12
  112. package/common/variables.d.ts +1392 -0
  113. package/common/variables.js +986 -1219
  114. package/container/Container.d.ts +4 -0
  115. package/container/Container.js +194 -0
  116. package/container/Container.stories.tsx +214 -0
  117. package/container/types.d.ts +74 -0
  118. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  119. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  120. package/contextual-menu/ContextualMenu.d.ts +5 -0
  121. package/contextual-menu/ContextualMenu.js +88 -0
  122. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  123. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  124. package/contextual-menu/ContextualMenu.test.js +205 -0
  125. package/contextual-menu/GroupItem.d.ts +4 -0
  126. package/contextual-menu/GroupItem.js +67 -0
  127. package/contextual-menu/ItemAction.d.ts +4 -0
  128. package/contextual-menu/ItemAction.js +51 -0
  129. package/contextual-menu/MenuItem.d.ts +4 -0
  130. package/contextual-menu/MenuItem.js +29 -0
  131. package/contextual-menu/SingleItem.d.ts +4 -0
  132. package/contextual-menu/SingleItem.js +38 -0
  133. package/contextual-menu/types.d.ts +58 -0
  134. package/contextual-menu/types.js +5 -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 +149 -299
  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 +700 -370
  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 +72 -15
  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 +61 -106
  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/divider/types.js +5 -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 +1 -1
  188. package/flex/Flex.js +40 -40
  189. package/flex/Flex.stories.tsx +35 -26
  190. package/flex/types.d.ts +84 -8
  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 +53 -22
  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 +2 -1
  238. package/inset/types.d.ts +2 -2
  239. package/layout/ApplicationLayout.d.ts +5 -5
  240. package/layout/ApplicationLayout.js +36 -70
  241. package/layout/ApplicationLayout.stories.tsx +2 -1
  242. package/layout/Icons.d.ts +7 -5
  243. package/layout/Icons.js +41 -59
  244. package/layout/types.d.ts +5 -6
  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 +64 -4
  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 +11 -5
  253. package/main.js +54 -59
  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 +51 -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 +3 -4
  286. package/paragraph/Paragraph.js +6 -22
  287. package/paragraph/Paragraph.stories.tsx +0 -17
  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 +15 -39
  305. package/quick-nav/QuickNav.stories.tsx +112 -20
  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 +71 -121
  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.d.ts +1 -1
  328. package/select/Listbox.js +40 -88
  329. package/select/Option.js +35 -56
  330. package/select/Select.accessibility.test.d.ts +1 -0
  331. package/select/Select.accessibility.test.js +228 -0
  332. package/select/Select.js +138 -181
  333. package/select/Select.stories.tsx +496 -204
  334. package/select/Select.test.d.ts +1 -0
  335. package/select/Select.test.js +1928 -1835
  336. package/select/types.d.ts +17 -18
  337. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  338. package/sidenav/Sidenav.accessibility.test.js +59 -0
  339. package/sidenav/Sidenav.d.ts +2 -2
  340. package/sidenav/Sidenav.js +90 -157
  341. package/sidenav/Sidenav.stories.tsx +160 -63
  342. package/sidenav/Sidenav.test.d.ts +1 -0
  343. package/sidenav/Sidenav.test.js +4 -11
  344. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  345. package/{layout → sidenav}/SidenavContext.js +3 -9
  346. package/sidenav/types.d.ts +33 -30
  347. package/slider/Slider.accessibility.test.d.ts +1 -0
  348. package/slider/Slider.accessibility.test.js +104 -0
  349. package/slider/Slider.d.ts +2 -2
  350. package/slider/Slider.js +146 -181
  351. package/slider/Slider.stories.tsx +64 -61
  352. package/slider/Slider.test.d.ts +1 -0
  353. package/slider/Slider.test.js +195 -88
  354. package/slider/types.d.ts +7 -3
  355. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  356. package/spinner/Spinner.accessibility.test.js +96 -0
  357. package/spinner/Spinner.js +34 -74
  358. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  359. package/spinner/Spinner.test.d.ts +1 -0
  360. package/spinner/Spinner.test.js +25 -34
  361. package/spinner/types.d.ts +3 -3
  362. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  363. package/status-light/StatusLight.accessibility.test.js +157 -0
  364. package/status-light/StatusLight.d.ts +4 -0
  365. package/status-light/StatusLight.js +51 -0
  366. package/status-light/StatusLight.stories.tsx +74 -0
  367. package/status-light/StatusLight.test.d.ts +1 -0
  368. package/status-light/StatusLight.test.js +25 -0
  369. package/status-light/types.d.ts +17 -0
  370. package/status-light/types.js +5 -0
  371. package/switch/Switch.accessibility.test.d.ts +1 -0
  372. package/switch/Switch.accessibility.test.js +98 -0
  373. package/switch/Switch.d.ts +2 -2
  374. package/switch/Switch.js +145 -129
  375. package/switch/Switch.stories.tsx +49 -60
  376. package/switch/Switch.test.d.ts +1 -0
  377. package/switch/Switch.test.js +137 -55
  378. package/switch/types.d.ts +7 -3
  379. package/table/DropdownTheme.js +62 -0
  380. package/table/Table.accessibility.test.d.ts +1 -0
  381. package/table/Table.accessibility.test.js +93 -0
  382. package/table/Table.d.ts +6 -2
  383. package/table/Table.js +78 -35
  384. package/table/Table.stories.tsx +663 -0
  385. package/table/Table.test.d.ts +1 -0
  386. package/table/Table.test.js +93 -7
  387. package/table/types.d.ts +34 -6
  388. package/tabs/Tab.d.ts +4 -0
  389. package/tabs/Tab.js +117 -0
  390. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  391. package/tabs/Tabs.accessibility.test.js +56 -0
  392. package/tabs/Tabs.js +303 -141
  393. package/tabs/Tabs.stories.tsx +124 -6
  394. package/tabs/Tabs.test.d.ts +1 -0
  395. package/tabs/Tabs.test.js +212 -76
  396. package/tabs/types.d.ts +30 -20
  397. package/tag/Tag.accessibility.test.d.ts +1 -0
  398. package/tag/Tag.accessibility.test.js +69 -0
  399. package/tag/Tag.js +35 -67
  400. package/tag/Tag.stories.tsx +18 -8
  401. package/tag/Tag.test.d.ts +1 -0
  402. package/tag/Tag.test.js +17 -36
  403. package/tag/types.d.ts +9 -9
  404. package/text-input/Suggestion.js +40 -28
  405. package/text-input/Suggestions.d.ts +4 -0
  406. package/text-input/Suggestions.js +94 -0
  407. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  408. package/text-input/TextInput.accessibility.test.js +321 -0
  409. package/text-input/TextInput.js +311 -512
  410. package/text-input/TextInput.stories.tsx +276 -276
  411. package/text-input/TextInput.test.d.ts +1 -0
  412. package/text-input/TextInput.test.js +1418 -1374
  413. package/text-input/types.d.ts +43 -16
  414. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  415. package/textarea/Textarea.accessibility.test.js +155 -0
  416. package/textarea/Textarea.js +70 -115
  417. package/textarea/Textarea.stories.tsx +174 -0
  418. package/textarea/Textarea.test.d.ts +1 -0
  419. package/textarea/Textarea.test.js +151 -182
  420. package/textarea/types.d.ts +9 -5
  421. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  422. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  423. package/toggle-group/ToggleGroup.d.ts +2 -2
  424. package/toggle-group/ToggleGroup.js +92 -108
  425. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  426. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  427. package/toggle-group/ToggleGroup.test.js +68 -87
  428. package/toggle-group/types.d.ts +28 -19
  429. package/typography/Typography.accessibility.test.d.ts +1 -0
  430. package/typography/Typography.accessibility.test.js +339 -0
  431. package/typography/Typography.d.ts +2 -2
  432. package/typography/Typography.js +15 -123
  433. package/typography/Typography.stories.tsx +1 -1
  434. package/typography/types.d.ts +1 -1
  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 +29 -75
  446. package/wizard/Wizard.stories.tsx +39 -0
  447. package/wizard/Wizard.test.d.ts +1 -0
  448. package/wizard/Wizard.test.js +53 -80
  449. package/wizard/types.d.ts +10 -11
  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/number-input/numberInputContextTypes.d.ts +0 -19
  464. package/paginator/Icons.js +0 -66
  465. package/resultsetTable/ResultsetTable.d.ts +0 -4
  466. package/resultsetTable/ResultsetTable.js +0 -254
  467. package/resultsetTable/ResultsetTable.test.js +0 -348
  468. package/select/Icons.d.ts +0 -10
  469. package/select/Icons.js +0 -93
  470. package/table/Table.stories.jsx +0 -277
  471. package/tabs-nav/NavTabs.d.ts +0 -8
  472. package/tabs-nav/NavTabs.js +0 -125
  473. package/tabs-nav/NavTabs.stories.tsx +0 -170
  474. package/tabs-nav/NavTabs.test.js +0 -82
  475. package/tabs-nav/Tab.js +0 -132
  476. package/textarea/Textarea.stories.jsx +0 -157
  477. /package/{resultsetTable → action-icon}/types.js +0 -0
  478. /package/{tabs-nav → breadcrumbs}/types.js +0 -0
  479. /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
  480. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -3,6 +3,12 @@ import { userEvent, within } from "@storybook/testing-library";
3
3
  import DxcDropdown from "./Dropdown";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DropdownMenu from "./DropdownMenu";
7
+ import { Option } from "./types";
8
+ import useTheme from "../useTheme";
9
+ import DxcFlex from "../flex/Flex";
10
+ import { HalstackProvider } from "../HalstackContext";
11
+ import { ThemeProvider } from "styled-components";
6
12
 
7
13
  export default {
8
14
  title: "Dropdown",
@@ -10,28 +16,22 @@ export default {
10
16
  };
11
17
 
12
18
  const iconSVG = (
13
- <svg viewBox="0 0 24 24" fill="currentColor">
19
+ <svg viewBox="0 0 24 24" height="24" width="24" fill="currentColor">
14
20
  <path d="M0 0h24v24H0z" fill="none" />
15
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" />
16
22
  </svg>
17
23
  );
18
-
19
24
  const iconSVGLarge = (
20
- <svg enableBackground="new 0 0 24 24" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
21
- <g>
22
- <path d="M0,0h24v24H0V0z" fill="none" />
23
- <path d="M0,0h24v24H0V0z" fill="none" />
24
- </g>
25
- <g>
26
- <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" />
27
- </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" />
28
27
  </svg>
29
28
  );
29
+ const icons = [iconSVG, iconSVGLarge, "nutrition"];
30
30
 
31
- const options: any = [
31
+ const defaultOptions: Option[] = [
32
32
  {
33
33
  value: "1",
34
- label: "Amazon with a very long text",
34
+ label: "Amazon",
35
35
  },
36
36
  {
37
37
  value: "2",
@@ -41,24 +41,60 @@ const options: any = [
41
41
  value: "3",
42
42
  label: "Apple",
43
43
  },
44
+ {
45
+ value: "4",
46
+ label: "Wallapop",
47
+ },
48
+ {
49
+ value: "5",
50
+ label: "Aliexpress",
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
+ },
44
64
  ];
45
-
46
- const option: any = [
65
+ const options: Option[] = [
47
66
  {
48
67
  value: "1",
68
+ label: "Amazon with a very long text",
69
+ },
70
+ {
71
+ value: "2",
49
72
  label: "Ebay",
50
73
  },
74
+ {
75
+ value: "3",
76
+ label: "Apple",
77
+ },
51
78
  ];
52
-
53
- const icons = [
54
- iconSVG,
55
- iconSVGLarge,
56
- "https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png",
79
+ const optionWithIcon: Option[] = [
80
+ {
81
+ value: "1",
82
+ label: "Ebay",
83
+ icon: "shopping_cart",
84
+ },
57
85
  ];
58
86
 
59
87
  const optionsIcon: any = options.map((op, i) => ({ ...op, icon: icons[i] }));
60
88
 
61
- export const Chromatic = () => (
89
+ const opinionatedTheme = {
90
+ dropdown: {
91
+ baseColor: "#ffffff",
92
+ fontColor: "#000000",
93
+ optionFontColor: "#000000",
94
+ },
95
+ };
96
+
97
+ const Dropdown = () => (
62
98
  <>
63
99
  <ExampleContainer>
64
100
  <Title title="Default" theme="light" level={4} />
@@ -68,7 +104,7 @@ export const Chromatic = () => (
68
104
  <Title title="Hovered" theme="light" level={4} />
69
105
  <DxcDropdown label="Hovered" options={options} onSelectOption={(value) => {}} />
70
106
  </ExampleContainer>
71
- <ExampleContainer pseudoState="pseudo-focus-visible">
107
+ <ExampleContainer pseudoState="pseudo-focus">
72
108
  <Title title="Focused" theme="light" level={4} />
73
109
  <DxcDropdown label="Focused" options={options} onSelectOption={(value) => {}} />
74
110
  </ExampleContainer>
@@ -94,7 +130,7 @@ export const Chromatic = () => (
94
130
  label="Icon after"
95
131
  options={options}
96
132
  onSelectOption={(value) => {}}
97
- icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
133
+ icon="shopping_cart"
98
134
  iconPosition="after"
99
135
  />
100
136
  </ExampleContainer>
@@ -103,9 +139,17 @@ export const Chromatic = () => (
103
139
  <DxcDropdown options={options} onSelectOption={(value) => {}} icon={iconSVG} />
104
140
  </ExampleContainer>
105
141
  <ExampleContainer>
106
- <Title title="Large icon" theme="light" level={4} />
142
+ <Title title="Only icon without caret" theme="light" level={4} />
143
+ <DxcDropdown options={options} onSelectOption={(value) => {}} icon="menu" caretHidden />
144
+ </ExampleContainer>
145
+ <ExampleContainer>
146
+ <Title title="Large icon (SVG)" theme="light" level={4} />
107
147
  <DxcDropdown label="Large icon" options={options} onSelectOption={(value) => {}} icon={iconSVGLarge} />
108
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>
109
153
  <ExampleContainer>
110
154
  <Title title="Disabled with icon" theme="light" level={4} />
111
155
  <DxcDropdown
@@ -188,62 +232,196 @@ export const Chromatic = () => (
188
232
  size="fillParent"
189
233
  />
190
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>
191
239
  </>
192
240
  );
193
241
 
194
- const DropdownWithOptions = () => (
195
- <ExampleContainer expanded>
196
- <Title title="Options" theme="light" level={4} />
197
- <DxcDropdown label="Options with icon" options={optionsIcon} onSelectOption={(value) => {}} />
198
- </ExampleContainer>
199
- );
242
+ const DropdownListStates = () => {
243
+ const colorsTheme: any = useTheme();
200
244
 
201
- const DropdownHoverOption = () => (
202
- <ExampleContainer pseudoState="pseudo-hover" expanded>
203
- <Title title="Hovered option" theme="light" level={4} />
204
- <DxcDropdown label="Hovered options" options={option} onSelectOption={(value) => {}} />
205
- </ExampleContainer>
206
- );
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
+ };
207
349
 
208
- const DropdownActiveOption = () => (
209
- <ExampleContainer pseudoState="pseudo-active" expanded>
210
- <Title title="Actived option" theme="light" level={4} />
211
- <DxcDropdown label="Actived options" options={option} onSelectOption={(value) => {}} />
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>
212
356
  </ExampleContainer>
213
357
  );
214
358
 
215
- const DropdownWithOptionsIconAfter = () => (
359
+ const DropdownCenterAlignment = () => (
216
360
  <ExampleContainer expanded>
217
- <Title title="Icon after options" theme="light" level={4} />
218
- <DxcDropdown
219
- label="Icon after options"
220
- options={optionsIcon}
221
- onSelectOption={(value) => {}}
222
- optionsIconPosition="after"
223
- />
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>
224
365
  </ExampleContainer>
225
366
  );
226
367
 
227
- export const DropdownOptions = DropdownWithOptions.bind({});
228
- DropdownOptions.play = async ({ canvasElement }) => {
368
+ export const Chromatic = Dropdown.bind({});
369
+ Chromatic.play = async ({ canvasElement }) => {
229
370
  const canvas = within(canvasElement);
230
- await userEvent.click(canvas.getByRole("button"));
371
+ const buttonList = canvas.getAllByRole("button");
372
+ await userEvent.click(buttonList[buttonList.length - 1]);
231
373
  };
232
374
 
233
- export const DropdownHoveredOption = DropdownHoverOption.bind({});
234
- DropdownHoveredOption.play = async ({ canvasElement }) => {
375
+ export const OpinionatedTheme = () => (
376
+ <>
377
+ <Title title="Opinionated theme" theme="light" level={2} />
378
+ <ExampleContainer>
379
+ <Title title="Default" theme="light" level={4} />
380
+ <HalstackProvider theme={opinionatedTheme}>
381
+ <DxcDropdown label="Default" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
382
+ </HalstackProvider>
383
+ </ExampleContainer>
384
+ <ExampleContainer pseudoState="pseudo-hover">
385
+ <Title title="Hovered" theme="light" level={4} />
386
+ <HalstackProvider theme={opinionatedTheme}>
387
+ <DxcDropdown label="Hovered" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
388
+ </HalstackProvider>
389
+ </ExampleContainer>
390
+ <ExampleContainer pseudoState="pseudo-active">
391
+ <Title title="Actived" theme="light" level={4} />
392
+ <HalstackProvider theme={opinionatedTheme}>
393
+ <DxcDropdown label="Actived" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
394
+ </HalstackProvider>
395
+ </ExampleContainer>
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>
401
+ </ExampleContainer>
402
+ <ExampleContainer>
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>
407
+ </ExampleContainer>
408
+ </>
409
+ );
410
+
411
+ export const DropdownMenuStates = DropdownListStates.bind({});
412
+ DropdownMenuStates.play = async ({ canvasElement }) => {
235
413
  const canvas = within(canvasElement);
236
- await userEvent.click(canvas.getByRole("button"));
414
+ await userEvent.click(canvas.getAllByRole("button")[0]);
237
415
  };
238
416
 
239
- export const DropdownActivedOption = DropdownActiveOption.bind({});
240
- DropdownActivedOption.play = async ({ canvasElement }) => {
417
+ export const DropdownMenuAlignedRight = DropdownRightAlignment.bind({});
418
+ DropdownMenuAlignedRight.play = async ({ canvasElement }) => {
241
419
  const canvas = within(canvasElement);
242
420
  await userEvent.click(canvas.getByRole("button"));
243
421
  };
244
422
 
245
- export const DropdownOptionsIconAfter = DropdownWithOptionsIconAfter.bind({});
246
- DropdownOptionsIconAfter.play = async ({ canvasElement }) => {
423
+ export const DropdownMenuAlignedCenter = DropdownCenterAlignment.bind({});
424
+ DropdownMenuAlignedCenter.play = async ({ canvasElement }) => {
247
425
  const canvas = within(canvasElement);
248
426
  await userEvent.click(canvas.getByRole("button"));
249
427
  };
@@ -0,0 +1 @@
1
+ export {};