@dxc-technology/halstack-react 0.0.0-b0ab1e3 → 0.0.0-b0ec7b9

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 (527) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1276 -6
  4. package/HalstackContext.js +191 -114
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +1 -1
  9. package/accordion/Accordion.js +101 -159
  10. package/accordion/Accordion.stories.tsx +82 -148
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +24 -40
  13. package/accordion/types.d.ts +6 -17
  14. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  16. package/accordion-group/AccordionGroup.d.ts +2 -2
  17. package/accordion-group/AccordionGroup.js +31 -98
  18. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +49 -106
  21. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  22. package/accordion-group/AccordionGroupAccordion.js +31 -0
  23. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  24. package/accordion-group/AccordionGroupContext.js +8 -0
  25. package/accordion-group/types.d.ts +12 -17
  26. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  27. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  28. package/action-icon/ActionIcon.d.ts +4 -0
  29. package/action-icon/ActionIcon.js +48 -0
  30. package/action-icon/ActionIcon.stories.tsx +41 -0
  31. package/action-icon/ActionIcon.test.d.ts +1 -0
  32. package/action-icon/ActionIcon.test.js +64 -0
  33. package/action-icon/types.d.ts +26 -0
  34. package/alert/Alert.accessibility.test.d.ts +1 -0
  35. package/alert/Alert.accessibility.test.js +95 -0
  36. package/alert/Alert.js +40 -127
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +28 -45
  40. package/alert/types.d.ts +5 -5
  41. package/badge/Badge.accessibility.test.d.ts +1 -0
  42. package/badge/Badge.accessibility.test.js +129 -0
  43. package/badge/Badge.d.ts +1 -1
  44. package/badge/Badge.js +142 -40
  45. package/badge/Badge.stories.tsx +210 -0
  46. package/badge/Badge.test.d.ts +1 -0
  47. package/badge/Badge.test.js +30 -0
  48. package/badge/types.d.ts +52 -2
  49. package/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 +14 -55
  58. package/bleed/Bleed.stories.tsx +95 -96
  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 +30 -81
  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.d.ts +7 -0
  83. package/bulleted-list/BulletedList.js +92 -0
  84. package/bulleted-list/BulletedList.stories.tsx +115 -0
  85. package/bulleted-list/types.d.ts +38 -0
  86. package/button/Button.accessibility.test.d.ts +1 -0
  87. package/button/Button.accessibility.test.js +127 -0
  88. package/button/Button.d.ts +1 -1
  89. package/button/Button.js +64 -115
  90. package/button/Button.stories.tsx +151 -100
  91. package/button/Button.test.d.ts +1 -0
  92. package/button/Button.test.js +19 -16
  93. package/button/types.d.ts +12 -8
  94. package/card/Card.accessibility.test.d.ts +1 -0
  95. package/card/Card.accessibility.test.js +36 -0
  96. package/card/Card.d.ts +1 -1
  97. package/card/Card.js +65 -107
  98. package/card/Card.stories.tsx +13 -43
  99. package/card/Card.test.d.ts +1 -0
  100. package/card/Card.test.js +10 -21
  101. package/card/types.d.ts +6 -11
  102. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  103. package/checkbox/Checkbox.accessibility.test.js +87 -0
  104. package/checkbox/Checkbox.d.ts +2 -2
  105. package/checkbox/Checkbox.js +140 -182
  106. package/checkbox/Checkbox.stories.tsx +128 -94
  107. package/checkbox/Checkbox.test.d.ts +1 -0
  108. package/checkbox/Checkbox.test.js +159 -38
  109. package/checkbox/types.d.ts +11 -3
  110. package/chip/Chip.accessibility.test.d.ts +1 -0
  111. package/chip/Chip.accessibility.test.js +67 -0
  112. package/chip/Chip.js +45 -80
  113. package/chip/Chip.stories.tsx +103 -27
  114. package/chip/Chip.test.d.ts +1 -0
  115. package/chip/Chip.test.js +17 -32
  116. package/chip/types.d.ts +4 -4
  117. package/common/coreTokens.d.ts +236 -0
  118. package/common/coreTokens.js +183 -0
  119. package/common/utils.d.ts +1 -0
  120. package/common/utils.js +6 -12
  121. package/common/variables.d.ts +1432 -0
  122. package/common/variables.js +1110 -1184
  123. package/container/Container.d.ts +4 -0
  124. package/container/Container.js +194 -0
  125. package/container/Container.stories.tsx +214 -0
  126. package/container/types.d.ts +176 -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/date-input/Calendar.d.ts +4 -0
  144. package/date-input/Calendar.js +230 -0
  145. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  146. package/date-input/DateInput.accessibility.test.js +229 -0
  147. package/date-input/DateInput.js +158 -299
  148. package/date-input/DateInput.stories.tsx +210 -57
  149. package/date-input/DateInput.test.d.ts +1 -0
  150. package/date-input/DateInput.test.js +699 -370
  151. package/date-input/DatePicker.d.ts +4 -0
  152. package/date-input/DatePicker.js +121 -0
  153. package/date-input/YearPicker.d.ts +4 -0
  154. package/date-input/YearPicker.js +105 -0
  155. package/date-input/types.d.ts +72 -15
  156. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  157. package/dialog/Dialog.accessibility.test.js +69 -0
  158. package/dialog/Dialog.d.ts +1 -1
  159. package/dialog/Dialog.js +61 -106
  160. package/dialog/Dialog.stories.tsx +324 -167
  161. package/dialog/Dialog.test.d.ts +1 -0
  162. package/dialog/Dialog.test.js +349 -19
  163. package/dialog/types.d.ts +18 -25
  164. package/divider/Divider.accessibility.test.d.ts +1 -0
  165. package/divider/Divider.accessibility.test.js +33 -0
  166. package/divider/Divider.d.ts +4 -0
  167. package/divider/Divider.js +36 -0
  168. package/divider/Divider.stories.tsx +224 -0
  169. package/divider/Divider.test.d.ts +1 -0
  170. package/divider/Divider.test.js +38 -0
  171. package/divider/types.d.ts +21 -0
  172. package/divider/types.js +5 -0
  173. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  174. package/dropdown/Dropdown.accessibility.test.js +183 -0
  175. package/dropdown/Dropdown.d.ts +1 -1
  176. package/dropdown/Dropdown.js +213 -303
  177. package/dropdown/Dropdown.stories.tsx +236 -58
  178. package/dropdown/Dropdown.test.d.ts +1 -0
  179. package/dropdown/Dropdown.test.js +603 -164
  180. package/dropdown/DropdownMenu.d.ts +4 -0
  181. package/dropdown/DropdownMenu.js +63 -0
  182. package/dropdown/DropdownMenuItem.d.ts +4 -0
  183. package/dropdown/DropdownMenuItem.js +71 -0
  184. package/dropdown/types.d.ts +35 -19
  185. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  186. package/file-input/FileInput.accessibility.test.js +167 -0
  187. package/file-input/FileInput.d.ts +2 -2
  188. package/file-input/FileInput.js +243 -395
  189. package/file-input/FileInput.stories.tsx +123 -12
  190. package/file-input/FileInput.test.d.ts +1 -0
  191. package/file-input/FileInput.test.js +314 -367
  192. package/file-input/FileItem.d.ts +4 -14
  193. package/file-input/FileItem.js +61 -120
  194. package/file-input/types.d.ts +24 -11
  195. package/flex/Flex.d.ts +4 -0
  196. package/flex/Flex.js +57 -0
  197. package/flex/Flex.stories.tsx +112 -0
  198. package/flex/types.d.ts +97 -0
  199. package/flex/types.js +5 -0
  200. package/footer/Footer.accessibility.test.d.ts +1 -0
  201. package/footer/Footer.accessibility.test.js +125 -0
  202. package/footer/Footer.d.ts +1 -1
  203. package/footer/Footer.js +75 -118
  204. package/footer/Footer.stories.tsx +99 -21
  205. package/footer/Footer.test.d.ts +1 -0
  206. package/footer/Footer.test.js +32 -56
  207. package/footer/Icons.d.ts +3 -2
  208. package/footer/Icons.js +54 -23
  209. package/footer/types.d.ts +26 -27
  210. package/grid/Grid.d.ts +7 -0
  211. package/grid/Grid.js +76 -0
  212. package/grid/Grid.stories.tsx +221 -0
  213. package/grid/types.d.ts +115 -0
  214. package/grid/types.js +5 -0
  215. package/header/Header.accessibility.test.d.ts +1 -0
  216. package/header/Header.accessibility.test.js +94 -0
  217. package/header/Header.d.ts +4 -3
  218. package/header/Header.js +95 -185
  219. package/header/Header.stories.tsx +134 -39
  220. package/header/Header.test.d.ts +1 -0
  221. package/header/Header.test.js +12 -25
  222. package/header/Icons.d.ts +2 -2
  223. package/header/Icons.js +5 -15
  224. package/header/types.d.ts +7 -21
  225. package/heading/Heading.accessibility.test.d.ts +1 -0
  226. package/heading/Heading.accessibility.test.js +33 -0
  227. package/heading/Heading.js +10 -32
  228. package/heading/Heading.test.d.ts +1 -0
  229. package/heading/Heading.test.js +64 -94
  230. package/heading/types.d.ts +7 -7
  231. package/icon/Icon.accessibility.test.d.ts +1 -0
  232. package/icon/Icon.accessibility.test.js +30 -0
  233. package/icon/Icon.d.ts +4 -0
  234. package/icon/Icon.js +33 -0
  235. package/icon/Icon.stories.tsx +28 -0
  236. package/icon/types.d.ts +4 -0
  237. package/icon/types.js +5 -0
  238. package/image/Image.accessibility.test.d.ts +1 -0
  239. package/image/Image.accessibility.test.js +56 -0
  240. package/image/Image.d.ts +4 -0
  241. package/image/Image.js +70 -0
  242. package/image/Image.stories.tsx +129 -0
  243. package/image/types.d.ts +72 -0
  244. package/image/types.js +5 -0
  245. package/inset/Inset.js +14 -55
  246. package/inset/Inset.stories.tsx +37 -36
  247. package/inset/types.d.ts +2 -2
  248. package/layout/ApplicationLayout.d.ts +16 -6
  249. package/layout/ApplicationLayout.js +86 -167
  250. package/layout/ApplicationLayout.stories.tsx +85 -94
  251. package/layout/Icons.d.ts +7 -0
  252. package/layout/Icons.js +41 -48
  253. package/layout/types.d.ts +19 -35
  254. package/link/Link.accessibility.test.d.ts +1 -0
  255. package/link/Link.accessibility.test.js +108 -0
  256. package/link/Link.d.ts +3 -2
  257. package/link/Link.js +65 -97
  258. package/link/Link.stories.tsx +157 -55
  259. package/link/Link.test.d.ts +1 -0
  260. package/link/Link.test.js +24 -52
  261. package/link/types.d.ts +15 -31
  262. package/main.d.ts +17 -13
  263. package/main.js +85 -101
  264. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  265. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  266. package/nav-tabs/NavTabs.d.ts +7 -0
  267. package/nav-tabs/NavTabs.js +108 -0
  268. package/nav-tabs/NavTabs.stories.tsx +294 -0
  269. package/nav-tabs/NavTabs.test.d.ts +1 -0
  270. package/nav-tabs/NavTabs.test.js +77 -0
  271. package/nav-tabs/NavTabsContext.d.ts +3 -0
  272. package/nav-tabs/NavTabsContext.js +8 -0
  273. package/nav-tabs/Tab.d.ts +4 -0
  274. package/nav-tabs/Tab.js +117 -0
  275. package/nav-tabs/types.d.ts +52 -0
  276. package/nav-tabs/types.js +5 -0
  277. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  278. package/number-input/NumberInput.accessibility.test.js +227 -0
  279. package/number-input/NumberInput.js +50 -37
  280. package/number-input/NumberInput.stories.tsx +37 -26
  281. package/number-input/NumberInput.test.d.ts +1 -0
  282. package/number-input/NumberInput.test.js +858 -376
  283. package/number-input/NumberInputContext.d.ts +3 -4
  284. package/number-input/NumberInputContext.js +3 -14
  285. package/number-input/types.d.ts +18 -6
  286. package/package.json +57 -52
  287. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  288. package/paginator/Paginator.accessibility.test.js +78 -0
  289. package/paginator/Paginator.js +46 -100
  290. package/paginator/Paginator.stories.tsx +24 -0
  291. package/paginator/Paginator.test.d.ts +1 -0
  292. package/paginator/Paginator.test.js +278 -210
  293. package/paginator/types.d.ts +3 -3
  294. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  295. package/paragraph/Paragraph.accessibility.test.js +28 -0
  296. package/paragraph/Paragraph.d.ts +5 -0
  297. package/paragraph/Paragraph.js +22 -0
  298. package/paragraph/Paragraph.stories.tsx +27 -0
  299. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  300. package/password-input/PasswordInput.accessibility.test.js +152 -0
  301. package/password-input/PasswordInput.js +62 -125
  302. package/password-input/PasswordInput.stories.tsx +11 -34
  303. package/password-input/PasswordInput.test.d.ts +1 -0
  304. package/password-input/PasswordInput.test.js +158 -142
  305. package/password-input/types.d.ts +9 -8
  306. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  307. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  308. package/progress-bar/ProgressBar.js +68 -92
  309. package/progress-bar/ProgressBar.stories.tsx +93 -0
  310. package/progress-bar/ProgressBar.test.d.ts +1 -0
  311. package/progress-bar/ProgressBar.test.js +71 -43
  312. package/progress-bar/types.d.ts +3 -3
  313. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  314. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  315. package/quick-nav/QuickNav.js +71 -41
  316. package/quick-nav/QuickNav.stories.tsx +146 -27
  317. package/quick-nav/types.d.ts +10 -10
  318. package/radio-group/Radio.d.ts +1 -1
  319. package/radio-group/Radio.js +59 -79
  320. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  321. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  322. package/radio-group/RadioGroup.js +74 -121
  323. package/radio-group/RadioGroup.stories.tsx +132 -18
  324. package/radio-group/RadioGroup.test.d.ts +1 -0
  325. package/radio-group/RadioGroup.test.js +518 -459
  326. package/radio-group/types.d.ts +10 -10
  327. package/resultset-table/Icons.d.ts +7 -0
  328. package/resultset-table/Icons.js +47 -0
  329. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  330. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  331. package/resultset-table/ResultsetTable.d.ts +7 -0
  332. package/resultset-table/ResultsetTable.js +198 -0
  333. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +169 -31
  334. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  335. package/resultset-table/ResultsetTable.test.js +450 -0
  336. package/{resultsetTable → resultset-table}/types.d.ts +47 -13
  337. package/resultset-table/types.js +5 -0
  338. package/select/Listbox.d.ts +3 -3
  339. package/select/Listbox.js +73 -74
  340. package/select/Option.d.ts +3 -3
  341. package/select/Option.js +42 -59
  342. package/select/Select.accessibility.test.d.ts +1 -0
  343. package/select/Select.accessibility.test.js +227 -0
  344. package/select/Select.js +188 -360
  345. package/select/Select.stories.tsx +533 -187
  346. package/select/Select.test.d.ts +1 -0
  347. package/select/Select.test.js +1929 -1818
  348. package/select/selectUtils.d.ts +41 -0
  349. package/select/selectUtils.js +129 -0
  350. package/select/types.d.ts +17 -21
  351. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  352. package/sidenav/Sidenav.accessibility.test.js +59 -0
  353. package/sidenav/Sidenav.d.ts +6 -5
  354. package/sidenav/Sidenav.js +136 -71
  355. package/sidenav/Sidenav.stories.tsx +246 -151
  356. package/sidenav/Sidenav.test.d.ts +1 -0
  357. package/sidenav/Sidenav.test.js +25 -44
  358. package/sidenav/SidenavContext.d.ts +5 -0
  359. package/sidenav/SidenavContext.js +13 -0
  360. package/sidenav/types.d.ts +52 -26
  361. package/slider/Slider.accessibility.test.d.ts +1 -0
  362. package/slider/Slider.accessibility.test.js +103 -0
  363. package/slider/Slider.d.ts +2 -2
  364. package/slider/Slider.js +146 -181
  365. package/slider/Slider.stories.tsx +64 -61
  366. package/slider/Slider.test.d.ts +1 -0
  367. package/slider/Slider.test.js +194 -88
  368. package/slider/types.d.ts +7 -3
  369. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  370. package/spinner/Spinner.accessibility.test.js +96 -0
  371. package/spinner/Spinner.d.ts +1 -1
  372. package/spinner/Spinner.js +50 -109
  373. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  374. package/spinner/Spinner.test.d.ts +1 -0
  375. package/spinner/Spinner.test.js +25 -34
  376. package/spinner/types.d.ts +3 -3
  377. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  378. package/status-light/StatusLight.accessibility.test.js +157 -0
  379. package/status-light/StatusLight.d.ts +4 -0
  380. package/status-light/StatusLight.js +51 -0
  381. package/status-light/StatusLight.stories.tsx +74 -0
  382. package/status-light/StatusLight.test.d.ts +1 -0
  383. package/status-light/StatusLight.test.js +25 -0
  384. package/status-light/types.d.ts +17 -0
  385. package/status-light/types.js +5 -0
  386. package/switch/Switch.accessibility.test.d.ts +1 -0
  387. package/switch/Switch.accessibility.test.js +98 -0
  388. package/switch/Switch.d.ts +2 -2
  389. package/switch/Switch.js +147 -128
  390. package/switch/Switch.stories.tsx +49 -60
  391. package/switch/Switch.test.d.ts +1 -0
  392. package/switch/Switch.test.js +137 -55
  393. package/switch/types.d.ts +7 -3
  394. package/table/DropdownTheme.js +62 -0
  395. package/table/Table.accessibility.test.d.ts +1 -0
  396. package/table/Table.accessibility.test.js +92 -0
  397. package/table/Table.d.ts +6 -2
  398. package/table/Table.js +78 -35
  399. package/table/Table.stories.tsx +663 -0
  400. package/table/Table.test.d.ts +1 -0
  401. package/table/Table.test.js +92 -7
  402. package/table/types.d.ts +34 -6
  403. package/tabs/Tab.d.ts +4 -0
  404. package/tabs/Tab.js +117 -0
  405. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  406. package/tabs/Tabs.accessibility.test.js +56 -0
  407. package/tabs/Tabs.js +303 -141
  408. package/tabs/Tabs.stories.tsx +124 -12
  409. package/tabs/Tabs.test.d.ts +1 -0
  410. package/tabs/Tabs.test.js +212 -76
  411. package/tabs/types.d.ts +30 -20
  412. package/tag/Tag.accessibility.test.d.ts +1 -0
  413. package/tag/Tag.accessibility.test.js +69 -0
  414. package/tag/Tag.js +35 -67
  415. package/tag/Tag.stories.tsx +19 -9
  416. package/tag/Tag.test.d.ts +1 -0
  417. package/tag/Tag.test.js +17 -36
  418. package/tag/types.d.ts +9 -9
  419. package/text-input/Suggestion.d.ts +4 -0
  420. package/text-input/Suggestion.js +67 -0
  421. package/text-input/Suggestions.d.ts +4 -0
  422. package/text-input/Suggestions.js +94 -0
  423. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  424. package/text-input/TextInput.accessibility.test.js +320 -0
  425. package/text-input/TextInput.js +313 -557
  426. package/text-input/TextInput.stories.tsx +278 -275
  427. package/text-input/TextInput.test.d.ts +1 -0
  428. package/text-input/TextInput.test.js +1418 -1375
  429. package/text-input/types.d.ts +53 -14
  430. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  431. package/textarea/Textarea.accessibility.test.js +155 -0
  432. package/textarea/Textarea.js +76 -127
  433. package/textarea/Textarea.stories.tsx +174 -0
  434. package/textarea/Textarea.test.d.ts +1 -0
  435. package/textarea/Textarea.test.js +151 -182
  436. package/textarea/types.d.ts +10 -6
  437. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  438. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  439. package/toggle-group/ToggleGroup.d.ts +2 -2
  440. package/toggle-group/ToggleGroup.js +92 -108
  441. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  442. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  443. package/toggle-group/ToggleGroup.test.js +68 -87
  444. package/toggle-group/types.d.ts +28 -19
  445. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  446. package/tooltip/Tooltip.accessibility.test.js +144 -0
  447. package/tooltip/Tooltip.d.ts +4 -0
  448. package/tooltip/Tooltip.js +50 -0
  449. package/tooltip/Tooltip.stories.tsx +111 -0
  450. package/tooltip/Tooltip.test.d.ts +1 -0
  451. package/tooltip/Tooltip.test.js +112 -0
  452. package/tooltip/types.d.ts +16 -0
  453. package/tooltip/types.js +5 -0
  454. package/typography/Typography.accessibility.test.d.ts +1 -0
  455. package/typography/Typography.accessibility.test.js +339 -0
  456. package/typography/Typography.d.ts +4 -0
  457. package/typography/Typography.js +23 -0
  458. package/typography/Typography.stories.tsx +196 -0
  459. package/typography/Typography.test.js +23 -0
  460. package/typography/types.d.ts +18 -0
  461. package/typography/types.js +5 -0
  462. package/useTheme.d.ts +1167 -1
  463. package/useTheme.js +2 -9
  464. package/useTranslatedLabels.d.ts +96 -0
  465. package/useTranslatedLabels.js +14 -0
  466. package/utils/BaseTypography.d.ts +21 -0
  467. package/utils/BaseTypography.js +98 -0
  468. package/utils/FocusLock.d.ts +13 -0
  469. package/utils/FocusLock.js +125 -0
  470. package/utils/useWidth.d.ts +2 -0
  471. package/utils/useWidth.js +30 -0
  472. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  473. package/wizard/Wizard.accessibility.test.js +55 -0
  474. package/wizard/Wizard.js +59 -110
  475. package/wizard/Wizard.stories.tsx +60 -2
  476. package/wizard/Wizard.test.d.ts +1 -0
  477. package/wizard/Wizard.test.js +53 -80
  478. package/wizard/types.d.ts +9 -9
  479. package/card/ice-cream.jpg +0 -0
  480. package/common/OpenSans.css +0 -81
  481. package/common/RequiredComponent.js +0 -32
  482. package/common/fonts/OpenSans-Bold.ttf +0 -0
  483. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  484. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  485. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  486. package/common/fonts/OpenSans-Italic.ttf +0 -0
  487. package/common/fonts/OpenSans-Light.ttf +0 -0
  488. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  489. package/common/fonts/OpenSans-Regular.ttf +0 -0
  490. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  491. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  492. package/list/List.d.ts +0 -4
  493. package/list/List.js +0 -47
  494. package/list/List.stories.tsx +0 -95
  495. package/list/types.d.ts +0 -7
  496. package/number-input/numberInputContextTypes.d.ts +0 -19
  497. package/paginator/Icons.js +0 -66
  498. package/progress-bar/ProgressBar.stories.jsx +0 -58
  499. package/radio/Radio.d.ts +0 -4
  500. package/radio/Radio.js +0 -173
  501. package/radio/Radio.stories.tsx +0 -192
  502. package/radio/Radio.test.js +0 -71
  503. package/radio/types.d.ts +0 -54
  504. package/resultsetTable/ResultsetTable.d.ts +0 -4
  505. package/resultsetTable/ResultsetTable.js +0 -254
  506. package/resultsetTable/ResultsetTable.test.js +0 -306
  507. package/row/Row.d.ts +0 -3
  508. package/row/Row.js +0 -127
  509. package/row/Row.stories.tsx +0 -237
  510. package/row/types.d.ts +0 -28
  511. package/select/Icons.d.ts +0 -10
  512. package/select/Icons.js +0 -93
  513. package/stack/Stack.d.ts +0 -3
  514. package/stack/Stack.js +0 -97
  515. package/stack/Stack.stories.tsx +0 -164
  516. package/stack/types.d.ts +0 -24
  517. package/table/Table.stories.jsx +0 -277
  518. package/text/Text.d.ts +0 -7
  519. package/text/Text.js +0 -30
  520. package/text/Text.stories.tsx +0 -19
  521. package/textarea/Textarea.stories.jsx +0 -157
  522. /package/{list → action-icon}/types.js +0 -0
  523. /package/{radio → bar-chart}/types.js +0 -0
  524. /package/{resultsetTable → breadcrumbs}/types.js +0 -0
  525. /package/{row → bulleted-list}/types.js +0 -0
  526. /package/{stack → container}/types.js +0 -0
  527. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
package/select/Listbox.js CHANGED
@@ -1,70 +1,55 @@
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 _react = _interopRequireDefault(require("react"));
15
-
16
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
- var _useTheme = _interopRequireDefault(require("../useTheme"));
19
-
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
20
13
  var _Option = _interopRequireDefault(require("./Option"));
21
-
22
- var _Icons = _interopRequireDefault(require("./Icons"));
23
-
24
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
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
-
30
- var groupsHaveOptions = function groupsHaveOptions(options) {
31
- return options !== null && options !== void 0 && options[0].options ? options.some(function (groupOption) {
32
- var _groupOption$options;
33
-
34
- return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
35
- }) : true;
36
- };
37
-
38
- var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
14
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
15
+ var _selectUtils = require("./selectUtils");
16
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
17
+ 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); }
18
+ 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; }
19
+ var Listbox = function Listbox(_ref) {
39
20
  var id = _ref.id,
40
- currentValue = _ref.currentValue,
41
- options = _ref.options,
42
- visualFocusIndex = _ref.visualFocusIndex,
43
- lastOptionIndex = _ref.lastOptionIndex,
44
- multiple = _ref.multiple,
45
- optional = _ref.optional,
46
- optionalItem = _ref.optionalItem,
47
- searchable = _ref.searchable,
48
- handleOptionOnClick = _ref.handleOptionOnClick;
49
- var colorsTheme = (0, _useTheme["default"])();
50
- var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
51
-
21
+ currentValue = _ref.currentValue,
22
+ options = _ref.options,
23
+ visualFocusIndex = _ref.visualFocusIndex,
24
+ lastOptionIndex = _ref.lastOptionIndex,
25
+ multiple = _ref.multiple,
26
+ optional = _ref.optional,
27
+ optionalItem = _ref.optionalItem,
28
+ searchable = _ref.searchable,
29
+ handleOptionOnClick = _ref.handleOptionOnClick,
30
+ styles = _ref.styles;
31
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
32
+ var listboxRef = (0, _react.useRef)(null);
33
+ var globalIndex = optional && !multiple ? 0 : -1;
52
34
  var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
35
+ var groupId = "".concat(id, "-group-").concat(mapIndex);
53
36
  if (option.options) {
54
- var groupId = "group-".concat(mapIndex);
55
37
  return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", {
56
- key: "group-".concat(mapIndex)
57
- }, /*#__PURE__*/_react["default"].createElement(GroupList, {
58
- role: "group",
59
- "aria-labelledby": groupId
38
+ key: groupId
39
+ }, /*#__PURE__*/_react["default"].createElement("ul", {
40
+ role: "listbox",
41
+ "aria-labelledby": groupId,
42
+ style: {
43
+ padding: 0
44
+ }
60
45
  }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
61
46
  role: "presentation",
62
47
  id: groupId
63
48
  }, option.label), option.options.map(function (singleOption) {
64
49
  globalIndex++;
65
50
  return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
66
- key: "option-".concat(singleOption.value),
67
- id: "option-".concat(globalIndex),
51
+ key: "".concat(id, "-option-").concat(singleOption.value),
52
+ id: "".concat(id, "-option-").concat(globalIndex),
68
53
  option: singleOption,
69
54
  onClick: handleOptionOnClick,
70
55
  multiple: multiple,
@@ -77,8 +62,8 @@ var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
77
62
  } else {
78
63
  globalIndex++;
79
64
  return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
80
- key: "option-".concat(option.value),
81
- id: "option-".concat(globalIndex),
65
+ key: "".concat(id, "-option-").concat(option.value),
66
+ id: "".concat(id, "-option-").concat(globalIndex),
82
67
  option: option,
83
68
  onClick: handleOptionOnClick,
84
69
  multiple: multiple,
@@ -88,10 +73,29 @@ var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
88
73
  });
89
74
  }
90
75
  };
91
-
92
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
93
- theme: colorsTheme.select
94
- }, /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
76
+ (0, _react.useLayoutEffect)(function () {
77
+ if (currentValue && !multiple) {
78
+ var _listEl$scrollTo;
79
+ var listEl = listboxRef === null || listboxRef === void 0 ? void 0 : listboxRef.current;
80
+ var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
81
+ listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
82
+ top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
83
+ });
84
+ }
85
+ }, [currentValue, multiple]);
86
+ (0, _react.useLayoutEffect)(function () {
87
+ var _listboxRef$current, _visualFocusedOptionE;
88
+ 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];
89
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
90
+ block: "nearest",
91
+ inline: "start"
92
+ });
93
+ }, [visualFocusIndex]);
94
+ var hasOptionGroups = options.some(function (option) {
95
+ var _option$options;
96
+ return ((_option$options = option.options) === null || _option$options === void 0 ? void 0 : _option$options.length) > 0;
97
+ });
98
+ return /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
95
99
  id: id,
96
100
  onClick: function onClick(event) {
97
101
  event.stopPropagation();
@@ -99,12 +103,16 @@ var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
99
103
  onMouseDown: function onMouseDown(event) {
100
104
  event.preventDefault();
101
105
  },
102
- ref: ref,
103
- role: "listbox",
104
- "aria-multiselectable": multiple,
105
- "aria-orientation": "vertical"
106
- }, searchable && (options.length === 0 || !groupsHaveOptions(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, _Icons["default"].searchOff), "No matches found") : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
107
- id: "option-".concat(0),
106
+ ref: listboxRef,
107
+ "aria-multiselectable": !hasOptionGroups ? multiple : undefined,
108
+ style: styles,
109
+ role: hasOptionGroups ? "list" : "listbox",
110
+ "aria-label": "List of options"
111
+ }, searchable && (options.length === 0 || !(0, _selectUtils.groupsHaveOptions)(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
112
+ icon: "search_off"
113
+ })), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
114
+ key: "".concat(id, "-option-").concat(optionalItem.value),
115
+ id: "".concat(id, "-option-", 0),
108
116
  option: optionalItem,
109
117
  onClick: handleOptionOnClick,
110
118
  multiple: multiple,
@@ -112,10 +120,9 @@ var Listbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
112
120
  isGroupedOption: false,
113
121
  isLastOption: lastOptionIndex === 0,
114
122
  isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
115
- }), options.map(mapOptionFunc)));
116
- });
117
-
118
- var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-y: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 0.25rem 0;\n width: 100%;\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) {
123
+ }), options.map(mapOptionFunc));
124
+ };
125
+ 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 color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 24px;\n cursor: default;\n"])), function (props) {
119
126
  return props.theme.listDialogBackgroundColor;
120
127
  }, function (props) {
121
128
  return props.theme.listDialogBorderColor;
@@ -130,19 +137,11 @@ var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_temp
130
137
  }, function (props) {
131
138
  return props.theme.listOptionFontWeight;
132
139
  });
133
-
134
140
  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) {
135
141
  return props.theme.systemMessageFontColor;
136
142
  });
137
-
138
- 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"])));
139
-
140
- var GroupList = _styledComponents["default"].ul(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
141
-
142
- 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) {
143
+ 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"])));
144
+ var GroupLabel = _styledComponents["default"].li(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"])), function (props) {
143
145
  return props.theme.listGroupLabelFontWeight;
144
146
  });
145
-
146
- var _default = /*#__PURE__*/_react["default"].memo(Listbox);
147
-
148
- exports["default"] = _default;
147
+ var _default = exports["default"] = Listbox;
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ /// <reference types="react" />
2
2
  import { OptionProps } from "../select/types";
3
- declare const _default: React.MemoExoticComponent<({ id, option, onClick, multiple, visualFocused, isGroupedOption, isLastOption, isSelected, }: OptionProps) => JSX.Element>;
4
- export default _default;
3
+ declare const Option: ({ id, option, onClick, multiple, visualFocused, isGroupedOption, isLastOption, isSelected, }: OptionProps) => JSX.Element;
4
+ export default Option;
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,30 +34,37 @@ 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
52
38
  }, /*#__PURE__*/_react["default"].createElement(StyledOption, {
53
39
  visualFocused: visualFocused,
54
40
  selected: isSelected,
55
41
  last: isLastOption,
56
42
  grouped: isGroupedOption,
57
43
  multiple: multiple
58
- }, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
44
+ }, multiple && /*#__PURE__*/_react["default"].createElement("div", {
45
+ style: {
46
+ display: "flex",
47
+ pointerEvents: "none"
48
+ }
49
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
59
50
  checked: isSelected,
60
51
  tabIndex: -1
61
- }), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
52
+ })), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
62
53
  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
54
+ multiple: multiple
55
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
56
+ icon: option.icon
67
57
  }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
68
58
  grouped: isGroupedOption,
69
59
  hasIcon: option.icon ? true : false,
70
60
  multiple: multiple
71
- }, /*#__PURE__*/_react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, _Icons["default"].selected)))));
61
+ }, /*#__PURE__*/_react["default"].createElement(OptionLabel, {
62
+ onMouseEnter: handleOnMouseEnter
63
+ }, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
64
+ icon: "done"
65
+ })))));
72
66
  };
73
-
74
- 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) {
67
+ 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 cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
75
68
  return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
76
69
  }, function (props) {
77
70
  return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
@@ -80,31 +73,21 @@ var OptionItem = _styledComponents["default"].li(_templateObject || (_templateOb
80
73
  }, function (props) {
81
74
  return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
82
75
  });
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) {
76
+ var StyledOption = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n height: 32px;\n padding: 4px 8px 4px 0;\n ", "\n ", ";\n"])), function (props) {
85
77
  return props.grouped && props.multiple && "padding-left: 16px;";
86
78
  }, function (props) {
87
79
  return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
88
80
  });
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;";
81
+ var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n display: grid;\n place-items: center;\n color: ", ";\n font-size: 24px;\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
82
+ return props.grouped && !props.multiple ? "16px" : "8px";
92
83
  }, function (props) {
93
84
  return props.theme.listOptionIconColor;
94
85
  });
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;";
86
+ var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n display: flex;\n justify-content: space-between;\n gap: 0.25rem;\n width: 100%;\n overflow: hidden;\n"])), function (props) {
87
+ return props.grouped && !props.multiple && !props.hasIcon ? "16px" : "8px";
98
88
  });
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) {
89
+ var OptionLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
90
+ 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
91
  return props.theme.selectedListOptionIconColor;
106
92
  });
107
-
108
- var _default = /*#__PURE__*/_react["default"].memo(Option);
109
-
110
- exports["default"] = _default;
93
+ var _default = exports["default"] = 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
+ });