@dxc-technology/halstack-react 0.0.0-b0616f2 → 0.0.0-b063530

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 (498) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1274 -6
  4. package/HalstackContext.js +135 -110
  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 -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 +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 -18
  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 -14
  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 -11
  101. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  102. package/checkbox/Checkbox.accessibility.test.js +87 -0
  103. package/checkbox/Checkbox.d.ts +2 -2
  104. package/checkbox/Checkbox.js +98 -134
  105. package/checkbox/Checkbox.stories.tsx +128 -94
  106. package/checkbox/Checkbox.test.d.ts +1 -0
  107. package/checkbox/Checkbox.test.js +107 -63
  108. package/checkbox/types.d.ts +11 -3
  109. package/chip/Chip.accessibility.test.d.ts +1 -0
  110. package/chip/Chip.accessibility.test.js +67 -0
  111. package/chip/Chip.js +45 -80
  112. package/chip/Chip.stories.tsx +103 -27
  113. package/chip/Chip.test.d.ts +1 -0
  114. package/chip/Chip.test.js +17 -32
  115. package/chip/types.d.ts +4 -4
  116. package/common/coreTokens.d.ts +236 -0
  117. package/common/coreTokens.js +183 -0
  118. package/common/utils.d.ts +1 -0
  119. package/common/utils.js +6 -12
  120. package/common/variables.d.ts +1432 -0
  121. package/common/variables.js +1010 -1220
  122. package/container/Container.d.ts +4 -0
  123. package/container/Container.js +194 -0
  124. package/container/Container.stories.tsx +214 -0
  125. package/container/types.d.ts +176 -0
  126. package/container/types.js +5 -0
  127. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  128. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  129. package/contextual-menu/ContextualMenu.d.ts +5 -0
  130. package/contextual-menu/ContextualMenu.js +136 -0
  131. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  132. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  133. package/contextual-menu/ContextualMenu.test.js +247 -0
  134. package/contextual-menu/GroupItem.d.ts +4 -0
  135. package/contextual-menu/GroupItem.js +67 -0
  136. package/contextual-menu/ItemAction.d.ts +4 -0
  137. package/contextual-menu/ItemAction.js +88 -0
  138. package/contextual-menu/MenuItem.d.ts +4 -0
  139. package/contextual-menu/MenuItem.js +29 -0
  140. package/contextual-menu/SingleItem.d.ts +4 -0
  141. package/contextual-menu/SingleItem.js +38 -0
  142. package/contextual-menu/types.d.ts +65 -0
  143. package/contextual-menu/types.js +5 -0
  144. package/date-input/Calendar.d.ts +4 -0
  145. package/date-input/Calendar.js +230 -0
  146. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  147. package/date-input/DateInput.accessibility.test.js +229 -0
  148. package/date-input/DateInput.js +156 -300
  149. package/date-input/DateInput.stories.tsx +210 -57
  150. package/date-input/DateInput.test.d.ts +1 -0
  151. package/date-input/DateInput.test.js +699 -370
  152. package/date-input/DatePicker.d.ts +4 -0
  153. package/date-input/DatePicker.js +121 -0
  154. package/date-input/YearPicker.d.ts +4 -0
  155. package/date-input/YearPicker.js +105 -0
  156. package/date-input/types.d.ts +72 -15
  157. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  158. package/dialog/Dialog.accessibility.test.js +69 -0
  159. package/dialog/Dialog.d.ts +1 -1
  160. package/dialog/Dialog.js +50 -119
  161. package/dialog/Dialog.stories.tsx +324 -166
  162. package/dialog/Dialog.test.d.ts +1 -0
  163. package/dialog/Dialog.test.js +332 -32
  164. package/dialog/types.d.ts +18 -25
  165. package/divider/Divider.accessibility.test.d.ts +1 -0
  166. package/divider/Divider.accessibility.test.js +33 -0
  167. package/divider/Divider.d.ts +4 -0
  168. package/divider/Divider.js +36 -0
  169. package/divider/Divider.stories.tsx +224 -0
  170. package/divider/Divider.test.d.ts +1 -0
  171. package/divider/Divider.test.js +38 -0
  172. package/divider/types.d.ts +21 -0
  173. package/divider/types.js +5 -0
  174. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  175. package/dropdown/Dropdown.accessibility.test.js +183 -0
  176. package/dropdown/Dropdown.js +93 -160
  177. package/dropdown/Dropdown.stories.tsx +210 -95
  178. package/dropdown/Dropdown.test.d.ts +1 -0
  179. package/dropdown/Dropdown.test.js +450 -413
  180. package/dropdown/DropdownMenu.js +23 -40
  181. package/dropdown/DropdownMenuItem.js +18 -39
  182. package/dropdown/types.d.ts +20 -24
  183. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  184. package/file-input/FileInput.accessibility.test.js +167 -0
  185. package/file-input/FileInput.d.ts +2 -2
  186. package/file-input/FileInput.js +238 -393
  187. package/file-input/FileInput.stories.tsx +123 -12
  188. package/file-input/FileInput.test.d.ts +1 -0
  189. package/file-input/FileInput.test.js +314 -367
  190. package/file-input/FileItem.d.ts +4 -14
  191. package/file-input/FileItem.js +56 -117
  192. package/file-input/types.d.ts +24 -11
  193. package/flex/Flex.d.ts +1 -1
  194. package/flex/Flex.js +40 -40
  195. package/flex/Flex.stories.tsx +35 -26
  196. package/flex/types.d.ts +84 -8
  197. package/footer/Footer.accessibility.test.d.ts +1 -0
  198. package/footer/Footer.accessibility.test.js +125 -0
  199. package/footer/Footer.d.ts +1 -1
  200. package/footer/Footer.js +73 -118
  201. package/footer/Footer.stories.tsx +94 -23
  202. package/footer/Footer.test.d.ts +1 -0
  203. package/footer/Footer.test.js +32 -56
  204. package/footer/Icons.d.ts +3 -2
  205. package/footer/Icons.js +53 -22
  206. package/footer/types.d.ts +26 -27
  207. package/grid/Grid.d.ts +7 -0
  208. package/grid/Grid.js +76 -0
  209. package/grid/Grid.stories.tsx +221 -0
  210. package/grid/types.d.ts +115 -0
  211. package/grid/types.js +5 -0
  212. package/header/Header.accessibility.test.d.ts +1 -0
  213. package/header/Header.accessibility.test.js +94 -0
  214. package/header/Header.d.ts +4 -3
  215. package/header/Header.js +55 -150
  216. package/header/Header.stories.tsx +131 -36
  217. package/header/Header.test.d.ts +1 -0
  218. package/header/Header.test.js +12 -25
  219. package/header/Icons.d.ts +2 -2
  220. package/header/Icons.js +3 -13
  221. package/header/types.d.ts +7 -21
  222. package/heading/Heading.accessibility.test.d.ts +1 -0
  223. package/heading/Heading.accessibility.test.js +33 -0
  224. package/heading/Heading.js +10 -32
  225. package/heading/Heading.test.d.ts +1 -0
  226. package/heading/Heading.test.js +64 -94
  227. package/heading/types.d.ts +7 -7
  228. package/icon/Icon.accessibility.test.d.ts +1 -0
  229. package/icon/Icon.accessibility.test.js +30 -0
  230. package/icon/Icon.d.ts +4 -0
  231. package/icon/Icon.js +33 -0
  232. package/icon/Icon.stories.tsx +28 -0
  233. package/icon/types.d.ts +4 -0
  234. package/icon/types.js +5 -0
  235. package/image/Image.accessibility.test.d.ts +1 -0
  236. package/image/Image.accessibility.test.js +56 -0
  237. package/image/Image.d.ts +4 -0
  238. package/image/Image.js +70 -0
  239. package/image/Image.stories.tsx +129 -0
  240. package/image/types.d.ts +72 -0
  241. package/image/types.js +5 -0
  242. package/inset/Inset.js +13 -21
  243. package/inset/Inset.stories.tsx +2 -1
  244. package/inset/types.d.ts +2 -2
  245. package/layout/ApplicationLayout.d.ts +5 -5
  246. package/layout/ApplicationLayout.js +36 -70
  247. package/layout/ApplicationLayout.stories.tsx +1 -1
  248. package/layout/Icons.d.ts +7 -5
  249. package/layout/Icons.js +41 -59
  250. package/layout/types.d.ts +5 -6
  251. package/link/Link.accessibility.test.d.ts +1 -0
  252. package/link/Link.accessibility.test.js +108 -0
  253. package/link/Link.js +32 -51
  254. package/link/Link.stories.tsx +64 -4
  255. package/link/Link.test.d.ts +1 -0
  256. package/link/Link.test.js +23 -43
  257. package/link/types.d.ts +14 -14
  258. package/main.d.ts +12 -5
  259. package/main.js +61 -59
  260. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  261. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  262. package/nav-tabs/NavTabs.d.ts +7 -0
  263. package/nav-tabs/NavTabs.js +108 -0
  264. package/nav-tabs/NavTabs.stories.tsx +294 -0
  265. package/nav-tabs/NavTabs.test.d.ts +1 -0
  266. package/nav-tabs/NavTabs.test.js +77 -0
  267. package/nav-tabs/NavTabsContext.d.ts +3 -0
  268. package/nav-tabs/NavTabsContext.js +8 -0
  269. package/nav-tabs/Tab.js +117 -0
  270. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  271. package/nav-tabs/types.js +5 -0
  272. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  273. package/number-input/NumberInput.accessibility.test.js +227 -0
  274. package/number-input/NumberInput.js +50 -37
  275. package/number-input/NumberInput.stories.tsx +37 -26
  276. package/number-input/NumberInput.test.d.ts +1 -0
  277. package/number-input/NumberInput.test.js +858 -376
  278. package/number-input/NumberInputContext.d.ts +3 -4
  279. package/number-input/NumberInputContext.js +3 -14
  280. package/number-input/types.d.ts +17 -5
  281. package/package.json +52 -49
  282. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  283. package/paginator/Paginator.accessibility.test.js +78 -0
  284. package/paginator/Paginator.js +35 -68
  285. package/paginator/Paginator.stories.tsx +24 -0
  286. package/paginator/Paginator.test.d.ts +1 -0
  287. package/paginator/Paginator.test.js +253 -227
  288. package/paginator/types.d.ts +3 -3
  289. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  290. package/paragraph/Paragraph.accessibility.test.js +28 -0
  291. package/paragraph/Paragraph.d.ts +3 -4
  292. package/paragraph/Paragraph.js +6 -22
  293. package/paragraph/Paragraph.stories.tsx +0 -17
  294. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  295. package/password-input/PasswordInput.accessibility.test.js +152 -0
  296. package/password-input/PasswordInput.js +62 -128
  297. package/password-input/PasswordInput.stories.tsx +11 -34
  298. package/password-input/PasswordInput.test.d.ts +1 -0
  299. package/password-input/PasswordInput.test.js +158 -141
  300. package/password-input/types.d.ts +8 -7
  301. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  302. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  303. package/progress-bar/ProgressBar.d.ts +2 -2
  304. package/progress-bar/ProgressBar.js +28 -58
  305. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  306. package/progress-bar/ProgressBar.test.d.ts +1 -0
  307. package/progress-bar/ProgressBar.test.js +35 -52
  308. package/progress-bar/types.d.ts +4 -3
  309. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  310. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  311. package/quick-nav/QuickNav.js +15 -39
  312. package/quick-nav/QuickNav.stories.tsx +112 -20
  313. package/quick-nav/types.d.ts +10 -10
  314. package/radio-group/Radio.d.ts +1 -1
  315. package/radio-group/Radio.js +59 -79
  316. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  317. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  318. package/radio-group/RadioGroup.js +62 -110
  319. package/radio-group/RadioGroup.stories.tsx +132 -18
  320. package/radio-group/RadioGroup.test.d.ts +1 -0
  321. package/radio-group/RadioGroup.test.js +518 -459
  322. package/radio-group/types.d.ts +10 -10
  323. package/resultset-table/Icons.d.ts +7 -0
  324. package/{text-input → resultset-table}/Icons.js +13 -26
  325. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  326. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  327. package/resultset-table/ResultsetTable.d.ts +7 -0
  328. package/resultset-table/ResultsetTable.js +195 -0
  329. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +169 -31
  330. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  331. package/resultset-table/ResultsetTable.test.js +450 -0
  332. package/{resultsetTable → resultset-table}/types.d.ts +46 -12
  333. package/resultset-table/types.js +5 -0
  334. package/select/Listbox.d.ts +1 -1
  335. package/select/Listbox.js +40 -87
  336. package/select/Option.js +35 -56
  337. package/select/Select.accessibility.test.d.ts +1 -0
  338. package/select/Select.accessibility.test.js +227 -0
  339. package/select/Select.js +141 -182
  340. package/select/Select.stories.tsx +505 -204
  341. package/select/Select.test.d.ts +1 -0
  342. package/select/Select.test.js +1916 -1923
  343. package/select/types.d.ts +17 -18
  344. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  345. package/sidenav/Sidenav.accessibility.test.js +59 -0
  346. package/sidenav/Sidenav.d.ts +2 -2
  347. package/sidenav/Sidenav.js +90 -157
  348. package/sidenav/Sidenav.stories.tsx +161 -64
  349. package/sidenav/Sidenav.test.d.ts +1 -0
  350. package/sidenav/Sidenav.test.js +4 -11
  351. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  352. package/{layout → sidenav}/SidenavContext.js +3 -9
  353. package/sidenav/types.d.ts +33 -30
  354. package/slider/Slider.accessibility.test.d.ts +1 -0
  355. package/slider/Slider.accessibility.test.js +103 -0
  356. package/slider/Slider.d.ts +2 -2
  357. package/slider/Slider.js +79 -135
  358. package/slider/Slider.stories.tsx +57 -60
  359. package/slider/Slider.test.d.ts +1 -0
  360. package/slider/Slider.test.js +117 -111
  361. package/slider/types.d.ts +7 -3
  362. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  363. package/spinner/Spinner.accessibility.test.js +96 -0
  364. package/spinner/Spinner.d.ts +1 -1
  365. package/spinner/Spinner.js +50 -109
  366. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  367. package/spinner/Spinner.test.d.ts +1 -0
  368. package/spinner/Spinner.test.js +25 -34
  369. package/spinner/types.d.ts +3 -3
  370. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  371. package/status-light/StatusLight.accessibility.test.js +157 -0
  372. package/status-light/StatusLight.d.ts +4 -0
  373. package/status-light/StatusLight.js +51 -0
  374. package/status-light/StatusLight.stories.tsx +74 -0
  375. package/status-light/StatusLight.test.d.ts +1 -0
  376. package/status-light/StatusLight.test.js +25 -0
  377. package/status-light/types.d.ts +17 -0
  378. package/status-light/types.js +5 -0
  379. package/switch/Switch.accessibility.test.d.ts +1 -0
  380. package/switch/Switch.accessibility.test.js +98 -0
  381. package/switch/Switch.d.ts +3 -3
  382. package/switch/Switch.js +112 -152
  383. package/switch/Switch.stories.tsx +45 -34
  384. package/switch/Switch.test.d.ts +1 -0
  385. package/switch/Switch.test.js +69 -101
  386. package/switch/types.d.ts +8 -3
  387. package/table/DropdownTheme.js +62 -0
  388. package/table/Table.accessibility.test.d.ts +1 -0
  389. package/table/Table.accessibility.test.js +92 -0
  390. package/table/Table.d.ts +6 -2
  391. package/table/Table.js +78 -35
  392. package/table/Table.stories.tsx +663 -0
  393. package/table/Table.test.d.ts +1 -0
  394. package/table/Table.test.js +92 -7
  395. package/table/types.d.ts +34 -6
  396. package/tabs/Tab.js +28 -46
  397. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  398. package/tabs/Tabs.accessibility.test.js +56 -0
  399. package/tabs/Tabs.js +69 -163
  400. package/tabs/Tabs.stories.tsx +50 -6
  401. package/tabs/Tabs.test.d.ts +1 -0
  402. package/tabs/Tabs.test.js +60 -135
  403. package/tabs/types.d.ts +21 -21
  404. package/tag/Tag.accessibility.test.d.ts +1 -0
  405. package/tag/Tag.accessibility.test.js +69 -0
  406. package/tag/Tag.js +34 -66
  407. package/tag/Tag.stories.tsx +19 -9
  408. package/tag/Tag.test.d.ts +1 -0
  409. package/tag/Tag.test.js +17 -36
  410. package/tag/types.d.ts +9 -9
  411. package/text-input/Suggestion.js +35 -25
  412. package/text-input/Suggestions.d.ts +1 -1
  413. package/text-input/Suggestions.js +30 -70
  414. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  415. package/text-input/TextInput.accessibility.test.js +320 -0
  416. package/text-input/TextInput.js +285 -377
  417. package/text-input/TextInput.stories.tsx +158 -162
  418. package/text-input/TextInput.test.d.ts +1 -0
  419. package/text-input/TextInput.test.js +1389 -1347
  420. package/text-input/types.d.ts +29 -16
  421. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  422. package/textarea/Textarea.accessibility.test.js +155 -0
  423. package/textarea/Textarea.js +67 -109
  424. package/textarea/Textarea.stories.tsx +174 -0
  425. package/textarea/Textarea.test.d.ts +1 -0
  426. package/textarea/Textarea.test.js +151 -182
  427. package/textarea/types.d.ts +9 -5
  428. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  429. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  430. package/toggle-group/ToggleGroup.d.ts +2 -2
  431. package/toggle-group/ToggleGroup.js +92 -108
  432. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  433. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  434. package/toggle-group/ToggleGroup.test.js +68 -87
  435. package/toggle-group/types.d.ts +28 -19
  436. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  437. package/tooltip/Tooltip.accessibility.test.js +144 -0
  438. package/tooltip/Tooltip.d.ts +4 -0
  439. package/tooltip/Tooltip.js +50 -0
  440. package/tooltip/Tooltip.stories.tsx +111 -0
  441. package/tooltip/Tooltip.test.d.ts +1 -0
  442. package/tooltip/Tooltip.test.js +112 -0
  443. package/tooltip/types.d.ts +16 -0
  444. package/tooltip/types.js +5 -0
  445. package/typography/Typography.accessibility.test.d.ts +1 -0
  446. package/typography/Typography.accessibility.test.js +339 -0
  447. package/typography/Typography.d.ts +2 -2
  448. package/typography/Typography.js +15 -123
  449. package/typography/Typography.stories.tsx +1 -3
  450. package/typography/Typography.test.js +23 -0
  451. package/typography/types.d.ts +1 -1
  452. package/useTheme.d.ts +1167 -1
  453. package/useTheme.js +2 -9
  454. package/useTranslatedLabels.d.ts +95 -1
  455. package/useTranslatedLabels.js +1 -7
  456. package/utils/BaseTypography.d.ts +21 -0
  457. package/utils/BaseTypography.js +98 -0
  458. package/utils/FocusLock.d.ts +13 -0
  459. package/utils/FocusLock.js +125 -0
  460. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  461. package/wizard/Wizard.accessibility.test.js +55 -0
  462. package/wizard/Wizard.js +29 -75
  463. package/wizard/Wizard.stories.tsx +40 -1
  464. package/wizard/Wizard.test.d.ts +1 -0
  465. package/wizard/Wizard.test.js +53 -80
  466. package/wizard/types.d.ts +10 -11
  467. package/card/ice-cream.jpg +0 -0
  468. package/common/OpenSans.css +0 -81
  469. package/common/RequiredComponent.js +0 -32
  470. package/common/fonts/OpenSans-Bold.ttf +0 -0
  471. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  472. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  473. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  474. package/common/fonts/OpenSans-Italic.ttf +0 -0
  475. package/common/fonts/OpenSans-Light.ttf +0 -0
  476. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  477. package/common/fonts/OpenSans-Regular.ttf +0 -0
  478. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  479. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  480. package/number-input/numberInputContextTypes.d.ts +0 -19
  481. package/paginator/Icons.js +0 -66
  482. package/resultsetTable/ResultsetTable.d.ts +0 -4
  483. package/resultsetTable/ResultsetTable.js +0 -254
  484. package/resultsetTable/ResultsetTable.test.js +0 -348
  485. package/select/Icons.d.ts +0 -10
  486. package/select/Icons.js +0 -93
  487. package/table/Table.stories.jsx +0 -277
  488. package/tabs-nav/NavTabs.d.ts +0 -8
  489. package/tabs-nav/NavTabs.js +0 -125
  490. package/tabs-nav/NavTabs.stories.tsx +0 -170
  491. package/tabs-nav/NavTabs.test.js +0 -82
  492. package/tabs-nav/Tab.js +0 -130
  493. package/text-input/Icons.d.ts +0 -8
  494. package/textarea/Textarea.stories.jsx +0 -157
  495. /package/{resultsetTable → action-icon}/types.js +0 -0
  496. /package/{tabs-nav → bar-chart}/types.js +0 -0
  497. /package/{number-input/numberInputContextTypes.js → breadcrumbs/types.js} +0 -0
  498. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/select/Listbox.js CHANGED
@@ -1,74 +1,49 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
10
  var _react = _interopRequireWildcard(require("react"));
17
-
18
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
- var _useTheme = _interopRequireDefault(require("../useTheme"));
21
-
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
22
12
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
23
-
24
13
  var _Option = _interopRequireDefault(require("./Option"));
25
-
26
- var _Icons = _interopRequireDefault(require("./Icons"));
27
-
14
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
28
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
29
-
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
34
18
  var groupsHaveOptions = function groupsHaveOptions(options) {
35
19
  return options !== null && options !== void 0 && options[0].options ? options.some(function (groupOption) {
36
20
  var _groupOption$options;
37
-
38
21
  return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
39
22
  }) : true;
40
23
  };
41
-
42
24
  var Listbox = function Listbox(_ref) {
43
25
  var id = _ref.id,
44
- currentValue = _ref.currentValue,
45
- options = _ref.options,
46
- visualFocusIndex = _ref.visualFocusIndex,
47
- lastOptionIndex = _ref.lastOptionIndex,
48
- multiple = _ref.multiple,
49
- optional = _ref.optional,
50
- optionalItem = _ref.optionalItem,
51
- searchable = _ref.searchable,
52
- handleOptionOnClick = _ref.handleOptionOnClick,
53
- getSelectWidth = _ref.getSelectWidth;
54
- var colorsTheme = (0, _useTheme["default"])();
26
+ currentValue = _ref.currentValue,
27
+ options = _ref.options,
28
+ visualFocusIndex = _ref.visualFocusIndex,
29
+ lastOptionIndex = _ref.lastOptionIndex,
30
+ multiple = _ref.multiple,
31
+ optional = _ref.optional,
32
+ optionalItem = _ref.optionalItem,
33
+ searchable = _ref.searchable,
34
+ handleOptionOnClick = _ref.handleOptionOnClick,
35
+ styles = _ref.styles;
55
36
  var translatedLabels = (0, _useTranslatedLabels["default"])();
56
37
  var listboxRef = (0, _react.useRef)(null);
57
-
58
- var _useState = (0, _react.useState)(null),
59
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
60
- styles = _useState2[0],
61
- setStyles = _useState2[1];
62
-
63
- var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
64
-
38
+ var listboxId = "select-".concat((0, _react.useId)());
39
+ var globalIndex = optional && !multiple ? 0 : -1;
65
40
  var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
41
+ var groupId = "".concat(listboxId, "-group-").concat(mapIndex);
66
42
  if (option.options) {
67
- var groupId = "group-".concat(mapIndex);
68
43
  return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", {
69
- key: "group-".concat(mapIndex)
44
+ key: groupId
70
45
  }, /*#__PURE__*/_react["default"].createElement(GroupList, {
71
- role: "group",
46
+ role: "listbox",
72
47
  "aria-labelledby": groupId
73
48
  }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
74
49
  role: "presentation",
@@ -76,8 +51,8 @@ var Listbox = function Listbox(_ref) {
76
51
  }, option.label), option.options.map(function (singleOption) {
77
52
  globalIndex++;
78
53
  return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
79
- key: "option-".concat(singleOption.value),
80
- id: "option-".concat(globalIndex),
54
+ key: "".concat(listboxId, "-option-").concat(singleOption.value),
55
+ id: "".concat(listboxId, "-option-").concat(globalIndex),
81
56
  option: singleOption,
82
57
  onClick: handleOptionOnClick,
83
58
  multiple: multiple,
@@ -90,8 +65,8 @@ var Listbox = function Listbox(_ref) {
90
65
  } else {
91
66
  globalIndex++;
92
67
  return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
93
- key: "option-".concat(option.value),
94
- id: "option-".concat(globalIndex),
68
+ key: "".concat(listboxId, "-option-").concat(option.value),
69
+ id: "".concat(listboxId, "-option-").concat(globalIndex),
95
70
  option: option,
96
71
  onClick: handleOptionOnClick,
97
72
  multiple: multiple,
@@ -101,11 +76,9 @@ var Listbox = function Listbox(_ref) {
101
76
  });
102
77
  }
103
78
  };
104
-
105
79
  (0, _react.useLayoutEffect)(function () {
106
80
  if (currentValue && !multiple) {
107
81
  var _listEl$scrollTo;
108
-
109
82
  var listEl = listboxRef === null || listboxRef === void 0 ? void 0 : listboxRef.current;
110
83
  var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
111
84
  listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
@@ -115,32 +88,17 @@ var Listbox = function Listbox(_ref) {
115
88
  }, [currentValue, multiple]);
116
89
  (0, _react.useLayoutEffect)(function () {
117
90
  var _listboxRef$current, _visualFocusedOptionE;
118
-
119
91
  var visualFocusedOptionEl = listboxRef === null || listboxRef === void 0 ? void 0 : (_listboxRef$current = listboxRef.current) === null || _listboxRef$current === void 0 ? void 0 : _listboxRef$current.querySelectorAll("[role='option']")[visualFocusIndex];
120
92
  visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
121
93
  block: "nearest",
122
94
  inline: "start"
123
95
  });
124
96
  }, [visualFocusIndex]);
125
-
126
- var handleResize = function handleResize() {
127
- setStyles({
128
- width: getSelectWidth()
129
- });
130
- };
131
-
132
- (0, _react.useLayoutEffect)(function () {
133
- handleResize();
134
- }, [getSelectWidth]);
135
- (0, _react.useEffect)(function () {
136
- window.addEventListener("resize", handleResize);
137
- return function () {
138
- window.removeEventListener("resize", handleResize);
139
- };
140
- }, [getSelectWidth]);
141
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
142
- theme: colorsTheme.select
143
- }, /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
97
+ var hasOptionGroups = options.some(function (option) {
98
+ var _option$options;
99
+ return ((_option$options = option.options) === null || _option$options === void 0 ? void 0 : _option$options.length) > 0;
100
+ });
101
+ return /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
144
102
  id: id,
145
103
  onClick: function onClick(event) {
146
104
  event.stopPropagation();
@@ -149,12 +107,15 @@ var Listbox = function Listbox(_ref) {
149
107
  event.preventDefault();
150
108
  },
151
109
  ref: listboxRef,
152
- role: "listbox",
153
- "aria-multiselectable": multiple,
154
- style: styles
155
- }, searchable && (options.length === 0 || !groupsHaveOptions(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, _Icons["default"].searchOff), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
156
- key: "option-".concat(optionalItem.value),
157
- id: "option-".concat(0),
110
+ "aria-multiselectable": !hasOptionGroups ? multiple : undefined,
111
+ style: styles,
112
+ role: hasOptionGroups ? "list" : "listbox",
113
+ "aria-label": "List of options"
114
+ }, searchable && (options.length === 0 || !groupsHaveOptions(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
115
+ icon: "search_off"
116
+ })), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
117
+ key: "".concat(id, "-option-").concat(optionalItem.value),
118
+ id: "".concat(id, "-option-", 0),
158
119
  option: optionalItem,
159
120
  onClick: handleOptionOnClick,
160
121
  multiple: multiple,
@@ -162,9 +123,8 @@ var Listbox = function Listbox(_ref) {
162
123
  isGroupedOption: false,
163
124
  isLastOption: lastOptionIndex === 0,
164
125
  isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
165
- }), options.map(mapOptionFunc)));
126
+ }), options.map(mapOptionFunc));
166
127
  };
167
-
168
128
  var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 304px;\n overflow-y: auto;\n margin: 0;\n padding: 0.25rem 0;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
169
129
  return props.theme.listDialogBackgroundColor;
170
130
  }, function (props) {
@@ -180,19 +140,12 @@ var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_temp
180
140
  }, function (props) {
181
141
  return props.theme.listOptionFontWeight;
182
142
  });
183
-
184
143
  var OptionsSystemMessage = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"])), function (props) {
185
144
  return props.theme.systemMessageFontColor;
186
145
  });
187
-
188
- var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: 0.25rem;\n"])));
189
-
146
+ var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: 0.25rem;\n font-size: 16px;\n"])));
190
147
  var GroupList = _styledComponents["default"].ul(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
191
-
192
148
  var GroupLabel = _styledComponents["default"].li(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"])), function (props) {
193
149
  return props.theme.listGroupLabelFontWeight;
194
150
  });
195
-
196
- var _default = /*#__PURE__*/_react["default"].memo(Listbox);
197
-
198
- exports["default"] = _default;
151
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Listbox);
package/select/Option.js CHANGED
@@ -1,46 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
4
  Object.defineProperty(exports, "__esModule", {
8
5
  value: true
9
6
  });
10
7
  exports["default"] = void 0;
11
-
12
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
9
  var _react = _interopRequireDefault(require("react"));
15
-
16
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
- var _useTheme = _interopRequireDefault(require("../useTheme"));
19
-
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
20
11
  var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
21
-
22
- var _Icons = _interopRequireDefault(require("./Icons"));
23
-
24
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
25
-
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
12
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
13
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
30
14
  var Option = function Option(_ref) {
31
15
  var id = _ref.id,
32
- option = _ref.option,
33
- _onClick = _ref.onClick,
34
- multiple = _ref.multiple,
35
- visualFocused = _ref.visualFocused,
36
- _ref$isGroupedOption = _ref.isGroupedOption,
37
- isGroupedOption = _ref$isGroupedOption === void 0 ? false : _ref$isGroupedOption,
38
- isLastOption = _ref.isLastOption,
39
- isSelected = _ref.isSelected;
40
- var colorsTheme = (0, _useTheme["default"])();
41
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
42
- theme: colorsTheme.select
43
- }, /*#__PURE__*/_react["default"].createElement(OptionItem, {
16
+ option = _ref.option,
17
+ _onClick = _ref.onClick,
18
+ multiple = _ref.multiple,
19
+ visualFocused = _ref.visualFocused,
20
+ _ref$isGroupedOption = _ref.isGroupedOption,
21
+ isGroupedOption = _ref$isGroupedOption === void 0 ? false : _ref$isGroupedOption,
22
+ isLastOption = _ref.isLastOption,
23
+ isSelected = _ref.isSelected;
24
+ var handleOnMouseEnter = function handleOnMouseEnter(event) {
25
+ var label = event.currentTarget;
26
+ var optionElement = document.getElementById(id);
27
+ if (optionElement.title === "" && label.scrollWidth > label.clientWidth) optionElement.title = option.label;
28
+ };
29
+ return /*#__PURE__*/_react["default"].createElement(OptionItem, {
44
30
  id: id,
45
31
  onClick: function onClick() {
46
32
  _onClick(option);
@@ -48,7 +34,8 @@ var Option = function Option(_ref) {
48
34
  visualFocused: visualFocused,
49
35
  selected: isSelected,
50
36
  role: "option",
51
- "aria-selected": isSelected
37
+ "aria-selected": !multiple ? isSelected : undefined,
38
+ tabIndex: 0
52
39
  }, /*#__PURE__*/_react["default"].createElement(StyledOption, {
53
40
  visualFocused: visualFocused,
54
41
  selected: isSelected,
@@ -60,17 +47,19 @@ var Option = function Option(_ref) {
60
47
  tabIndex: -1
61
48
  }), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
62
49
  grouped: isGroupedOption,
63
- multiple: multiple,
64
- role: !(typeof option.icon === "string") ? "img" : undefined
65
- }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(OptionIconImg, {
66
- src: option.icon
50
+ multiple: multiple
51
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
52
+ icon: option.icon
67
53
  }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
68
54
  grouped: isGroupedOption,
69
55
  hasIcon: option.icon ? true : false,
70
56
  multiple: multiple
71
- }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, _Icons["default"].selected)))));
57
+ }, /*#__PURE__*/_react["default"].createElement(OptionLabel, {
58
+ onMouseEnter: handleOnMouseEnter
59
+ }, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
60
+ icon: "done"
61
+ })))));
72
62
  };
73
-
74
63
  var OptionItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
75
64
  return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
76
65
  }, function (props) {
@@ -80,31 +69,21 @@ var OptionItem = _styledComponents["default"].li(_templateObject || (_templateOb
80
69
  }, function (props) {
81
70
  return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
82
71
  });
83
-
84
- var StyledOption = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 0.5rem 0.188rem 0;\n min-height: 24px;\n ", "\n ", ";\n"])), function (props) {
72
+ var StyledOption = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 0.5rem 0.188rem 0;\n min-height: 24px;\n align-items: center;\n ", "\n ", ";\n"])), function (props) {
85
73
  return props.grouped && props.multiple && "padding-left: 16px;";
86
74
  }, function (props) {
87
75
  return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
88
76
  });
89
-
90
- var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n ", "\n color: ", ";\n"])), function (props) {
91
- return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
77
+ var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.125rem;\n margin-left: ", ";\n color: ", ";\n\n svg {\n height: 24px;\n width: 24px;\n }\n font-size: 24px;\n"])), function (props) {
78
+ return props.grouped && !props.multiple ? "16px" : "8px";
92
79
  }, function (props) {
93
80
  return props.theme.listOptionIconColor;
94
81
  });
95
-
96
- var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n ", "\n"])), function (props) {
97
- return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
82
+ var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n gap: 0.25rem;\n width: 100%;\n overflow: hidden;\n margin-left: ", ";\n"])), function (props) {
83
+ return props.grouped && !props.multiple && !props.hasIcon ? "16px" : "8px";
98
84
  });
99
-
100
- var OptionIconImg = _styledComponents["default"].img(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
101
-
102
- var OptionLabel = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
103
-
104
- var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"])), function (props) {
85
+ var OptionLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
86
+ var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n font-size: 16px;\n"])), function (props) {
105
87
  return props.theme.selectedListOptionIconColor;
106
88
  });
107
-
108
- var _default = /*#__PURE__*/_react["default"].memo(Option);
109
-
110
- exports["default"] = _default;
89
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Option);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
11
+ var _Select = _interopRequireDefault(require("./Select"));
12
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
13
+ var _disabledRules = require("../../test/accessibility/rules/specific/select/disabledRules.js");
14
+ // TODO: REMOVE
15
+
16
+ var disabledRules = {
17
+ rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
18
+ rulesObj[rule] = {
19
+ enabled: false
20
+ };
21
+ return rulesObj;
22
+ }, {})
23
+ };
24
+ var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
25
+ xmlns: "http://www.w3.org/2000/svg",
26
+ height: "24px",
27
+ viewBox: "0 0 24 24",
28
+ width: "24px",
29
+ fill: "currentColor"
30
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
31
+ d: "M0,0h24v24H0V0z",
32
+ fill: "none"
33
+ })), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
34
+ d: "M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z"
35
+ }))));
36
+ var group_options = [{
37
+ label: "Group 001",
38
+ options: [{
39
+ label: "Option 001",
40
+ value: "1"
41
+ }, {
42
+ label: "Option 002",
43
+ value: "2"
44
+ }, {
45
+ label: "Option 003",
46
+ value: "3"
47
+ }]
48
+ }, {
49
+ label: "Group 002",
50
+ options: [{
51
+ label: "Option 004",
52
+ value: "4"
53
+ }, {
54
+ label: "Option 005",
55
+ value: "5"
56
+ }, {
57
+ label: "Option 006",
58
+ value: "6"
59
+ }]
60
+ }, {
61
+ label: "Group 003",
62
+ options: [{
63
+ label: "Option 007",
64
+ value: "7"
65
+ }, {
66
+ label: "Option 008",
67
+ value: "8"
68
+ }, {
69
+ label: "Option 009",
70
+ value: "9"
71
+ }]
72
+ }, {
73
+ label: "Group 004",
74
+ options: [{
75
+ label: "Option 010",
76
+ value: "10"
77
+ }, {
78
+ label: "Option 011",
79
+ value: "11"
80
+ }, {
81
+ label: "Option 012",
82
+ value: "12"
83
+ }]
84
+ }, {
85
+ label: "Group 005",
86
+ options: [{
87
+ label: "Option 013",
88
+ value: "13"
89
+ }, {
90
+ label: "Option 014",
91
+ value: "14"
92
+ }, {
93
+ label: "Option 015",
94
+ value: "15"
95
+ }]
96
+ }];
97
+ var single_options = [{
98
+ label: "Option 01",
99
+ value: "1",
100
+ icon: iconSVG
101
+ }, {
102
+ label: "Option 02",
103
+ value: "2",
104
+ icon: iconSVG
105
+ }, {
106
+ label: "Option 03",
107
+ value: "3",
108
+ icon: iconSVG
109
+ }, {
110
+ label: "Option 04",
111
+ value: "4",
112
+ icon: iconSVG
113
+ }];
114
+
115
+ // Mocking DOMRect for Radix Primitive Popover
116
+ global.globalThis = global;
117
+ global.DOMRect = {
118
+ fromRect: function fromRect() {
119
+ return {
120
+ top: 0,
121
+ left: 0,
122
+ bottom: 0,
123
+ right: 0,
124
+ width: 0,
125
+ height: 0
126
+ };
127
+ }
128
+ };
129
+ global.ResizeObserver = /*#__PURE__*/function () {
130
+ function ResizeObserver() {
131
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
132
+ }
133
+ return (0, _createClass2["default"])(ResizeObserver, [{
134
+ key: "observe",
135
+ value: function observe() {}
136
+ }, {
137
+ key: "unobserve",
138
+ value: function unobserve() {}
139
+ }, {
140
+ key: "disconnect",
141
+ value: function disconnect() {}
142
+ }]);
143
+ }();
144
+ describe("Select component accessibility tests", function () {
145
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
146
+ var _render, baseElement, results;
147
+ return _regenerator["default"].wrap(function _callee$(_context) {
148
+ while (1) switch (_context.prev = _context.next) {
149
+ case 0:
150
+ // baseElement is needed when using React Portals
151
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
152
+ label: "test-select-label",
153
+ helperText: "test-select-helper-text",
154
+ placeholder: "Example text",
155
+ options: single_options,
156
+ defaultValue: "1",
157
+ margin: "medium",
158
+ name: "Name",
159
+ size: "medium",
160
+ searchable: true
161
+ }), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
162
+ label: "test-select-label",
163
+ helperText: "test-select-helper-text",
164
+ placeholder: "Example text",
165
+ options: single_options,
166
+ defaultValue: ["4", "2", "6"],
167
+ margin: "medium",
168
+ name: "Name",
169
+ size: "medium",
170
+ searchable: true,
171
+ multiple: true,
172
+ optional: true
173
+ }))), baseElement = _render.baseElement;
174
+ _context.next = 3;
175
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
176
+ case 3:
177
+ results = _context.sent;
178
+ expect(results).toHaveNoViolations();
179
+ case 5:
180
+ case "end":
181
+ return _context.stop();
182
+ }
183
+ }, _callee);
184
+ })));
185
+ it("Should not have basic accessibility issues for group mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
186
+ var _render2, baseElement, results;
187
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
188
+ while (1) switch (_context2.prev = _context2.next) {
189
+ case 0:
190
+ // baseElement is needed when using React Portals
191
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
192
+ label: "test-select-label",
193
+ helperText: "test-select-helper-text",
194
+ placeholder: "Example text",
195
+ options: group_options,
196
+ defaultValue: ["4", "2", "6"],
197
+ error: "Error",
198
+ margin: "medium",
199
+ name: "Name",
200
+ size: "medium",
201
+ searchable: true,
202
+ multiple: true
203
+ }), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
204
+ label: "test-select-label",
205
+ helperText: "test-select-helper-text",
206
+ placeholder: "Example text",
207
+ options: group_options,
208
+ defaultValue: ["4", "2", "6"],
209
+ margin: "medium",
210
+ name: "Name",
211
+ size: "medium",
212
+ searchable: true,
213
+ multiple: true,
214
+ disabled: true
215
+ }))), baseElement = _render2.baseElement;
216
+ _context2.next = 3;
217
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
218
+ case 3:
219
+ results = _context2.sent;
220
+ expect(results).toHaveNoViolations();
221
+ case 5:
222
+ case "end":
223
+ return _context2.stop();
224
+ }
225
+ }, _callee2);
226
+ })));
227
+ });