@dxc-technology/halstack-react 0.0.0-c5f6a2f → 0.0.0-c667373

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 (723) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1280 -0
  4. package/HalstackContext.js +320 -0
  5. package/README.md +28 -47
  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 +4 -0
  9. package/accordion/Accordion.js +168 -0
  10. package/accordion/Accordion.stories.tsx +241 -0
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +56 -0
  13. package/accordion/types.d.ts +57 -0
  14. package/accordion/types.js +5 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  16. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  17. package/accordion-group/AccordionGroup.d.ts +7 -0
  18. package/accordion-group/AccordionGroup.js +101 -0
  19. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  20. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  21. package/accordion-group/AccordionGroup.test.js +94 -0
  22. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  23. package/accordion-group/AccordionGroupAccordion.js +31 -0
  24. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  25. package/accordion-group/AccordionGroupContext.js +8 -0
  26. package/accordion-group/types.d.ts +67 -0
  27. package/accordion-group/types.js +5 -0
  28. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  29. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  30. package/action-icon/ActionIcon.d.ts +4 -0
  31. package/action-icon/ActionIcon.js +48 -0
  32. package/action-icon/ActionIcon.stories.tsx +41 -0
  33. package/action-icon/ActionIcon.test.d.ts +1 -0
  34. package/action-icon/ActionIcon.test.js +64 -0
  35. package/action-icon/types.d.ts +26 -0
  36. package/action-icon/types.js +5 -0
  37. package/alert/Alert.accessibility.test.d.ts +1 -0
  38. package/alert/Alert.accessibility.test.js +95 -0
  39. package/alert/Alert.d.ts +4 -0
  40. package/alert/Alert.js +203 -0
  41. package/alert/Alert.stories.tsx +198 -0
  42. package/alert/Alert.test.d.ts +1 -0
  43. package/alert/Alert.test.js +75 -0
  44. package/alert/types.d.ts +49 -0
  45. package/alert/types.js +5 -0
  46. package/badge/Badge.accessibility.test.d.ts +1 -0
  47. package/badge/Badge.accessibility.test.js +129 -0
  48. package/badge/Badge.d.ts +4 -0
  49. package/badge/Badge.js +161 -0
  50. package/badge/Badge.stories.tsx +210 -0
  51. package/badge/Badge.test.d.ts +1 -0
  52. package/badge/Badge.test.js +30 -0
  53. package/badge/types.d.ts +54 -0
  54. package/badge/types.js +5 -0
  55. package/bar-chart/BarChart.d.ts +4 -0
  56. package/bar-chart/BarChart.js +152 -0
  57. package/bar-chart/BarChart.stories.tsx +281 -0
  58. package/bar-chart/BarChart.test.d.ts +1 -0
  59. package/bar-chart/BarChart.test.js +194 -0
  60. package/bar-chart/theme.d.ts +3 -0
  61. package/bar-chart/theme.js +31 -0
  62. package/bar-chart/types.d.ts +118 -0
  63. package/bar-chart/types.js +5 -0
  64. package/bleed/Bleed.d.ts +3 -0
  65. package/bleed/Bleed.js +43 -0
  66. package/bleed/Bleed.stories.tsx +341 -0
  67. package/bleed/types.d.ts +37 -0
  68. package/bleed/types.js +5 -0
  69. package/box/Box.accessibility.test.d.ts +1 -0
  70. package/box/Box.accessibility.test.js +33 -0
  71. package/box/Box.d.ts +4 -0
  72. package/box/Box.js +75 -0
  73. package/box/Box.stories.tsx +119 -0
  74. package/box/Box.test.d.ts +1 -0
  75. package/box/Box.test.js +13 -0
  76. package/box/types.d.ts +32 -0
  77. package/box/types.js +5 -0
  78. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  79. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  80. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  81. package/breadcrumbs/Breadcrumbs.js +79 -0
  82. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  83. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  84. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  85. package/breadcrumbs/Item.d.ts +4 -0
  86. package/breadcrumbs/Item.js +52 -0
  87. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  88. package/breadcrumbs/dropdownTheme.js +62 -0
  89. package/breadcrumbs/types.d.ts +40 -0
  90. package/breadcrumbs/types.js +5 -0
  91. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  92. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  93. package/bulleted-list/BulletedList.d.ts +7 -0
  94. package/bulleted-list/BulletedList.js +92 -0
  95. package/bulleted-list/BulletedList.stories.tsx +115 -0
  96. package/bulleted-list/types.d.ts +38 -0
  97. package/bulleted-list/types.js +5 -0
  98. package/button/Button.accessibility.test.d.ts +1 -0
  99. package/button/Button.accessibility.test.js +127 -0
  100. package/button/Button.d.ts +4 -0
  101. package/button/Button.js +121 -0
  102. package/button/Button.stories.tsx +325 -0
  103. package/button/Button.test.d.ts +1 -0
  104. package/button/Button.test.js +38 -0
  105. package/button/types.d.ts +57 -0
  106. package/button/types.js +5 -0
  107. package/card/Card.accessibility.test.d.ts +1 -0
  108. package/card/Card.accessibility.test.js +36 -0
  109. package/card/Card.d.ts +4 -0
  110. package/card/Card.js +121 -0
  111. package/card/Card.stories.tsx +171 -0
  112. package/card/Card.test.d.ts +1 -0
  113. package/card/Card.test.js +39 -0
  114. package/card/types.d.ts +62 -0
  115. package/card/types.js +5 -0
  116. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  117. package/checkbox/Checkbox.accessibility.test.js +87 -0
  118. package/checkbox/Checkbox.d.ts +4 -0
  119. package/checkbox/Checkbox.js +212 -0
  120. package/checkbox/Checkbox.stories.tsx +222 -0
  121. package/checkbox/Checkbox.test.d.ts +1 -0
  122. package/checkbox/Checkbox.test.js +199 -0
  123. package/checkbox/types.d.ts +72 -0
  124. package/checkbox/types.js +5 -0
  125. package/chip/Chip.accessibility.test.d.ts +1 -0
  126. package/chip/Chip.accessibility.test.js +67 -0
  127. package/chip/Chip.d.ts +4 -0
  128. package/chip/Chip.js +126 -0
  129. package/chip/Chip.stories.tsx +195 -0
  130. package/chip/Chip.test.d.ts +1 -0
  131. package/chip/Chip.test.js +41 -0
  132. package/chip/types.d.ts +45 -0
  133. package/chip/types.js +5 -0
  134. package/common/coreTokens.d.ts +236 -0
  135. package/common/coreTokens.js +183 -0
  136. package/common/utils.d.ts +1 -0
  137. package/{dist/common → common}/utils.js +6 -12
  138. package/common/variables.d.ts +1432 -0
  139. package/common/variables.js +1298 -0
  140. package/container/Container.d.ts +4 -0
  141. package/container/Container.js +194 -0
  142. package/container/Container.stories.tsx +214 -0
  143. package/container/types.d.ts +176 -0
  144. package/container/types.js +5 -0
  145. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  146. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  147. package/contextual-menu/ContextualMenu.d.ts +5 -0
  148. package/contextual-menu/ContextualMenu.js +136 -0
  149. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  150. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  151. package/contextual-menu/ContextualMenu.test.js +247 -0
  152. package/contextual-menu/GroupItem.d.ts +4 -0
  153. package/contextual-menu/GroupItem.js +67 -0
  154. package/contextual-menu/ItemAction.d.ts +4 -0
  155. package/contextual-menu/ItemAction.js +88 -0
  156. package/contextual-menu/MenuItem.d.ts +4 -0
  157. package/contextual-menu/MenuItem.js +29 -0
  158. package/contextual-menu/SingleItem.d.ts +4 -0
  159. package/contextual-menu/SingleItem.js +38 -0
  160. package/contextual-menu/types.d.ts +65 -0
  161. package/contextual-menu/types.js +5 -0
  162. package/date-input/Calendar.d.ts +4 -0
  163. package/date-input/Calendar.js +230 -0
  164. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  165. package/date-input/DateInput.accessibility.test.js +229 -0
  166. package/date-input/DateInput.d.ts +4 -0
  167. package/date-input/DateInput.js +228 -0
  168. package/date-input/DateInput.stories.tsx +291 -0
  169. package/date-input/DateInput.test.d.ts +1 -0
  170. package/date-input/DateInput.test.js +808 -0
  171. package/date-input/DatePicker.d.ts +4 -0
  172. package/date-input/DatePicker.js +121 -0
  173. package/date-input/YearPicker.d.ts +4 -0
  174. package/date-input/YearPicker.js +105 -0
  175. package/date-input/types.d.ts +164 -0
  176. package/date-input/types.js +5 -0
  177. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  178. package/dialog/Dialog.accessibility.test.js +69 -0
  179. package/dialog/Dialog.d.ts +4 -0
  180. package/dialog/Dialog.js +93 -0
  181. package/dialog/Dialog.stories.tsx +369 -0
  182. package/dialog/Dialog.test.d.ts +1 -0
  183. package/dialog/Dialog.test.js +370 -0
  184. package/dialog/types.d.ts +36 -0
  185. package/dialog/types.js +5 -0
  186. package/divider/Divider.accessibility.test.d.ts +1 -0
  187. package/divider/Divider.accessibility.test.js +33 -0
  188. package/divider/Divider.d.ts +4 -0
  189. package/divider/Divider.js +36 -0
  190. package/divider/Divider.stories.tsx +224 -0
  191. package/divider/Divider.test.d.ts +1 -0
  192. package/divider/Divider.test.js +38 -0
  193. package/divider/types.d.ts +21 -0
  194. package/divider/types.js +5 -0
  195. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  196. package/dropdown/Dropdown.accessibility.test.js +183 -0
  197. package/dropdown/Dropdown.d.ts +4 -0
  198. package/dropdown/Dropdown.js +320 -0
  199. package/dropdown/Dropdown.stories.tsx +427 -0
  200. package/dropdown/Dropdown.test.d.ts +1 -0
  201. package/dropdown/Dropdown.test.js +628 -0
  202. package/dropdown/DropdownMenu.d.ts +4 -0
  203. package/dropdown/DropdownMenu.js +63 -0
  204. package/dropdown/DropdownMenuItem.d.ts +4 -0
  205. package/dropdown/DropdownMenuItem.js +71 -0
  206. package/dropdown/types.d.ts +96 -0
  207. package/dropdown/types.js +5 -0
  208. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  209. package/file-input/FileInput.accessibility.test.js +167 -0
  210. package/file-input/FileInput.d.ts +4 -0
  211. package/file-input/FileInput.js +438 -0
  212. package/file-input/FileInput.stories.tsx +618 -0
  213. package/file-input/FileInput.test.d.ts +1 -0
  214. package/file-input/FileInput.test.js +404 -0
  215. package/file-input/FileItem.d.ts +4 -0
  216. package/file-input/FileItem.js +125 -0
  217. package/file-input/types.d.ts +125 -0
  218. package/file-input/types.js +5 -0
  219. package/flex/Flex.d.ts +4 -0
  220. package/flex/Flex.js +57 -0
  221. package/flex/Flex.stories.tsx +112 -0
  222. package/flex/types.d.ts +97 -0
  223. package/flex/types.js +5 -0
  224. package/footer/Footer.accessibility.test.d.ts +1 -0
  225. package/footer/Footer.accessibility.test.js +125 -0
  226. package/footer/Footer.d.ts +4 -0
  227. package/footer/Footer.js +140 -0
  228. package/footer/Footer.stories.tsx +208 -0
  229. package/footer/Footer.test.d.ts +1 -0
  230. package/footer/Footer.test.js +85 -0
  231. package/footer/Icons.d.ts +3 -0
  232. package/footer/Icons.js +108 -0
  233. package/footer/types.d.ts +64 -0
  234. package/footer/types.js +5 -0
  235. package/grid/Grid.d.ts +7 -0
  236. package/grid/Grid.js +76 -0
  237. package/grid/Grid.stories.tsx +221 -0
  238. package/grid/types.d.ts +115 -0
  239. package/grid/types.js +5 -0
  240. package/header/Header.accessibility.test.d.ts +1 -0
  241. package/header/Header.accessibility.test.js +94 -0
  242. package/header/Header.d.ts +8 -0
  243. package/header/Header.js +210 -0
  244. package/header/Header.stories.tsx +267 -0
  245. package/header/Header.test.d.ts +1 -0
  246. package/header/Header.test.js +66 -0
  247. package/header/Icons.d.ts +2 -0
  248. package/header/Icons.js +24 -0
  249. package/header/types.d.ts +33 -0
  250. package/header/types.js +5 -0
  251. package/heading/Heading.accessibility.test.d.ts +1 -0
  252. package/heading/Heading.accessibility.test.js +33 -0
  253. package/heading/Heading.d.ts +4 -0
  254. package/{dist/heading → heading}/Heading.js +34 -119
  255. package/heading/Heading.stories.tsx +54 -0
  256. package/heading/Heading.test.d.ts +1 -0
  257. package/heading/Heading.test.js +156 -0
  258. package/heading/types.d.ts +33 -0
  259. package/heading/types.js +5 -0
  260. package/icon/Icon.accessibility.test.d.ts +1 -0
  261. package/icon/Icon.accessibility.test.js +30 -0
  262. package/icon/Icon.d.ts +4 -0
  263. package/icon/Icon.js +33 -0
  264. package/icon/Icon.stories.tsx +28 -0
  265. package/icon/types.d.ts +4 -0
  266. package/icon/types.js +5 -0
  267. package/image/Image.accessibility.test.d.ts +1 -0
  268. package/image/Image.accessibility.test.js +56 -0
  269. package/image/Image.d.ts +4 -0
  270. package/image/Image.js +70 -0
  271. package/image/Image.stories.tsx +129 -0
  272. package/image/types.d.ts +72 -0
  273. package/image/types.js +5 -0
  274. package/inset/Inset.d.ts +3 -0
  275. package/inset/Inset.js +43 -0
  276. package/inset/Inset.stories.tsx +230 -0
  277. package/inset/types.d.ts +37 -0
  278. package/inset/types.js +5 -0
  279. package/layout/ApplicationLayout.d.ts +20 -0
  280. package/layout/ApplicationLayout.js +137 -0
  281. package/layout/ApplicationLayout.stories.tsx +162 -0
  282. package/layout/Icons.d.ts +7 -0
  283. package/layout/Icons.js +48 -0
  284. package/layout/types.d.ts +41 -0
  285. package/layout/types.js +5 -0
  286. package/link/Link.accessibility.test.d.ts +1 -0
  287. package/link/Link.accessibility.test.js +108 -0
  288. package/link/Link.d.ts +4 -0
  289. package/link/Link.js +117 -0
  290. package/link/Link.stories.tsx +253 -0
  291. package/link/Link.test.d.ts +1 -0
  292. package/link/Link.test.js +63 -0
  293. package/link/types.d.ts +54 -0
  294. package/link/types.js +5 -0
  295. package/main.d.ts +50 -0
  296. package/{dist/main.js → main.js} +168 -115
  297. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  298. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  299. package/nav-tabs/NavTabs.d.ts +7 -0
  300. package/nav-tabs/NavTabs.js +108 -0
  301. package/nav-tabs/NavTabs.stories.tsx +294 -0
  302. package/nav-tabs/NavTabs.test.d.ts +1 -0
  303. package/nav-tabs/NavTabs.test.js +77 -0
  304. package/nav-tabs/NavTabsContext.d.ts +3 -0
  305. package/nav-tabs/NavTabsContext.js +8 -0
  306. package/nav-tabs/Tab.d.ts +4 -0
  307. package/nav-tabs/Tab.js +117 -0
  308. package/nav-tabs/types.d.ts +52 -0
  309. package/nav-tabs/types.js +5 -0
  310. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  311. package/number-input/NumberInput.accessibility.test.js +227 -0
  312. package/number-input/NumberInput.d.ts +4 -0
  313. package/number-input/NumberInput.js +89 -0
  314. package/number-input/NumberInput.stories.tsx +126 -0
  315. package/number-input/NumberInput.test.d.ts +1 -0
  316. package/number-input/NumberInput.test.js +988 -0
  317. package/number-input/NumberInputContext.d.ts +3 -0
  318. package/number-input/NumberInputContext.js +8 -0
  319. package/number-input/types.d.ts +136 -0
  320. package/number-input/types.js +5 -0
  321. package/package.json +70 -54
  322. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  323. package/paginator/Paginator.accessibility.test.js +78 -0
  324. package/paginator/Paginator.d.ts +4 -0
  325. package/paginator/Paginator.js +138 -0
  326. package/paginator/Paginator.stories.tsx +87 -0
  327. package/paginator/Paginator.test.d.ts +1 -0
  328. package/paginator/Paginator.test.js +334 -0
  329. package/paginator/types.d.ts +38 -0
  330. package/paginator/types.js +5 -0
  331. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  332. package/paragraph/Paragraph.accessibility.test.js +28 -0
  333. package/paragraph/Paragraph.d.ts +5 -0
  334. package/paragraph/Paragraph.js +22 -0
  335. package/paragraph/Paragraph.stories.tsx +27 -0
  336. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  337. package/password-input/PasswordInput.accessibility.test.js +152 -0
  338. package/password-input/PasswordInput.d.ts +4 -0
  339. package/password-input/PasswordInput.js +100 -0
  340. package/password-input/PasswordInput.stories.tsx +108 -0
  341. package/password-input/PasswordInput.test.d.ts +1 -0
  342. package/password-input/PasswordInput.test.js +197 -0
  343. package/password-input/types.d.ts +111 -0
  344. package/password-input/types.js +5 -0
  345. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  346. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  347. package/progress-bar/ProgressBar.d.ts +4 -0
  348. package/progress-bar/ProgressBar.js +146 -0
  349. package/progress-bar/ProgressBar.stories.tsx +93 -0
  350. package/progress-bar/ProgressBar.test.d.ts +1 -0
  351. package/progress-bar/ProgressBar.test.js +93 -0
  352. package/progress-bar/types.d.ts +37 -0
  353. package/progress-bar/types.js +5 -0
  354. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  355. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  356. package/quick-nav/QuickNav.d.ts +4 -0
  357. package/quick-nav/QuickNav.js +94 -0
  358. package/quick-nav/QuickNav.stories.tsx +356 -0
  359. package/quick-nav/types.d.ts +21 -0
  360. package/quick-nav/types.js +5 -0
  361. package/radio-group/Radio.d.ts +4 -0
  362. package/radio-group/Radio.js +121 -0
  363. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  364. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  365. package/radio-group/RadioGroup.d.ts +4 -0
  366. package/radio-group/RadioGroup.js +233 -0
  367. package/radio-group/RadioGroup.stories.tsx +214 -0
  368. package/radio-group/RadioGroup.test.d.ts +1 -0
  369. package/radio-group/RadioGroup.test.js +754 -0
  370. package/radio-group/types.d.ts +114 -0
  371. package/radio-group/types.js +5 -0
  372. package/resultset-table/Icons.d.ts +7 -0
  373. package/resultset-table/Icons.js +47 -0
  374. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  375. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  376. package/resultset-table/ResultsetTable.d.ts +7 -0
  377. package/resultset-table/ResultsetTable.js +195 -0
  378. package/resultset-table/ResultsetTable.stories.tsx +413 -0
  379. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  380. package/resultset-table/ResultsetTable.test.js +450 -0
  381. package/resultset-table/types.d.ts +101 -0
  382. package/resultset-table/types.js +5 -0
  383. package/select/Listbox.d.ts +4 -0
  384. package/select/Listbox.js +151 -0
  385. package/select/Option.d.ts +4 -0
  386. package/select/Option.js +89 -0
  387. package/select/Select.accessibility.test.d.ts +1 -0
  388. package/select/Select.accessibility.test.js +227 -0
  389. package/select/Select.d.ts +4 -0
  390. package/select/Select.js +602 -0
  391. package/select/Select.stories.tsx +928 -0
  392. package/select/Select.test.d.ts +1 -0
  393. package/select/Select.test.js +2168 -0
  394. package/select/types.d.ts +209 -0
  395. package/select/types.js +5 -0
  396. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  397. package/sidenav/Sidenav.accessibility.test.js +59 -0
  398. package/sidenav/Sidenav.d.ts +10 -0
  399. package/sidenav/Sidenav.js +201 -0
  400. package/sidenav/Sidenav.stories.tsx +277 -0
  401. package/sidenav/Sidenav.test.d.ts +1 -0
  402. package/sidenav/Sidenav.test.js +37 -0
  403. package/sidenav/SidenavContext.d.ts +5 -0
  404. package/sidenav/SidenavContext.js +13 -0
  405. package/sidenav/types.d.ts +76 -0
  406. package/sidenav/types.js +5 -0
  407. package/slider/Slider.accessibility.test.d.ts +1 -0
  408. package/slider/Slider.accessibility.test.js +103 -0
  409. package/slider/Slider.d.ts +4 -0
  410. package/slider/Slider.js +283 -0
  411. package/slider/Slider.stories.tsx +180 -0
  412. package/slider/Slider.test.d.ts +1 -0
  413. package/slider/Slider.test.js +256 -0
  414. package/slider/types.d.ts +86 -0
  415. package/slider/types.js +5 -0
  416. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  417. package/spinner/Spinner.accessibility.test.js +96 -0
  418. package/spinner/Spinner.d.ts +4 -0
  419. package/spinner/Spinner.js +191 -0
  420. package/spinner/Spinner.stories.tsx +129 -0
  421. package/spinner/Spinner.test.d.ts +1 -0
  422. package/spinner/Spinner.test.js +55 -0
  423. package/spinner/types.d.ts +32 -0
  424. package/spinner/types.js +5 -0
  425. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  426. package/status-light/StatusLight.accessibility.test.js +157 -0
  427. package/status-light/StatusLight.d.ts +4 -0
  428. package/status-light/StatusLight.js +51 -0
  429. package/status-light/StatusLight.stories.tsx +74 -0
  430. package/status-light/StatusLight.test.d.ts +1 -0
  431. package/status-light/StatusLight.test.js +25 -0
  432. package/status-light/types.d.ts +17 -0
  433. package/status-light/types.js +5 -0
  434. package/switch/Switch.accessibility.test.d.ts +1 -0
  435. package/switch/Switch.accessibility.test.js +98 -0
  436. package/switch/Switch.d.ts +4 -0
  437. package/switch/Switch.js +211 -0
  438. package/switch/Switch.stories.tsx +149 -0
  439. package/switch/Switch.test.d.ts +1 -0
  440. package/switch/Switch.test.js +180 -0
  441. package/switch/types.d.ts +66 -0
  442. package/switch/types.js +5 -0
  443. package/table/DropdownTheme.js +62 -0
  444. package/table/Table.accessibility.test.d.ts +1 -0
  445. package/table/Table.accessibility.test.js +92 -0
  446. package/table/Table.d.ts +8 -0
  447. package/table/Table.js +161 -0
  448. package/table/Table.stories.tsx +663 -0
  449. package/table/Table.test.d.ts +1 -0
  450. package/table/Table.test.js +111 -0
  451. package/table/types.d.ts +49 -0
  452. package/table/types.js +5 -0
  453. package/tabs/Tab.d.ts +4 -0
  454. package/tabs/Tab.js +117 -0
  455. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  456. package/tabs/Tabs.accessibility.test.js +56 -0
  457. package/tabs/Tabs.d.ts +4 -0
  458. package/tabs/Tabs.js +373 -0
  459. package/tabs/Tabs.stories.tsx +230 -0
  460. package/tabs/Tabs.test.d.ts +1 -0
  461. package/tabs/Tabs.test.js +276 -0
  462. package/tabs/types.d.ts +92 -0
  463. package/tabs/types.js +5 -0
  464. package/tag/Tag.accessibility.test.d.ts +1 -0
  465. package/tag/Tag.accessibility.test.js +69 -0
  466. package/tag/Tag.d.ts +4 -0
  467. package/tag/Tag.js +151 -0
  468. package/tag/Tag.stories.tsx +152 -0
  469. package/tag/Tag.test.d.ts +1 -0
  470. package/tag/Tag.test.js +41 -0
  471. package/tag/types.d.ts +69 -0
  472. package/tag/types.js +5 -0
  473. package/text-input/Suggestion.d.ts +4 -0
  474. package/text-input/Suggestion.js +67 -0
  475. package/text-input/Suggestions.d.ts +4 -0
  476. package/text-input/Suggestions.js +94 -0
  477. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  478. package/text-input/TextInput.accessibility.test.js +320 -0
  479. package/text-input/TextInput.d.ts +4 -0
  480. package/text-input/TextInput.js +571 -0
  481. package/text-input/TextInput.stories.tsx +477 -0
  482. package/text-input/TextInput.test.d.ts +1 -0
  483. package/text-input/TextInput.test.js +1755 -0
  484. package/text-input/types.d.ts +205 -0
  485. package/text-input/types.js +5 -0
  486. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  487. package/textarea/Textarea.accessibility.test.js +155 -0
  488. package/textarea/Textarea.d.ts +4 -0
  489. package/textarea/Textarea.js +235 -0
  490. package/textarea/Textarea.stories.tsx +174 -0
  491. package/textarea/Textarea.test.d.ts +1 -0
  492. package/textarea/Textarea.test.js +406 -0
  493. package/textarea/types.d.ts +141 -0
  494. package/textarea/types.js +5 -0
  495. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  496. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  497. package/toggle-group/ToggleGroup.d.ts +4 -0
  498. package/toggle-group/ToggleGroup.js +199 -0
  499. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  500. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  501. package/toggle-group/ToggleGroup.test.js +137 -0
  502. package/toggle-group/types.d.ts +114 -0
  503. package/toggle-group/types.js +5 -0
  504. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  505. package/tooltip/Tooltip.accessibility.test.js +144 -0
  506. package/tooltip/Tooltip.d.ts +4 -0
  507. package/tooltip/Tooltip.js +50 -0
  508. package/tooltip/Tooltip.stories.tsx +111 -0
  509. package/tooltip/Tooltip.test.d.ts +1 -0
  510. package/tooltip/Tooltip.test.js +112 -0
  511. package/tooltip/types.d.ts +16 -0
  512. package/tooltip/types.js +5 -0
  513. package/typography/Typography.accessibility.test.d.ts +1 -0
  514. package/typography/Typography.accessibility.test.js +339 -0
  515. package/typography/Typography.d.ts +4 -0
  516. package/typography/Typography.js +23 -0
  517. package/typography/Typography.stories.tsx +196 -0
  518. package/typography/Typography.test.js +23 -0
  519. package/typography/types.d.ts +18 -0
  520. package/typography/types.js +5 -0
  521. package/useTheme.d.ts +1168 -0
  522. package/{dist/useTheme.js → useTheme.js} +4 -11
  523. package/useTranslatedLabels.d.ts +96 -0
  524. package/useTranslatedLabels.js +14 -0
  525. package/utils/BaseTypography.d.ts +21 -0
  526. package/utils/BaseTypography.js +98 -0
  527. package/utils/FocusLock.d.ts +13 -0
  528. package/utils/FocusLock.js +125 -0
  529. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  530. package/wizard/Wizard.accessibility.test.js +55 -0
  531. package/wizard/Wizard.d.ts +4 -0
  532. package/wizard/Wizard.js +239 -0
  533. package/wizard/Wizard.stories.tsx +272 -0
  534. package/wizard/Wizard.test.d.ts +1 -0
  535. package/wizard/Wizard.test.js +114 -0
  536. package/wizard/types.d.ts +64 -0
  537. package/wizard/types.js +5 -0
  538. package/babel.config.js +0 -8
  539. package/dist/BackgroundColorContext.js +0 -46
  540. package/dist/ThemeContext.js +0 -216
  541. package/dist/accordion/Accordion.js +0 -356
  542. package/dist/accordion/Accordion.stories.js +0 -207
  543. package/dist/accordion/readme.md +0 -96
  544. package/dist/accordion-group/AccordionGroup.js +0 -188
  545. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  546. package/dist/accordion-group/readme.md +0 -70
  547. package/dist/alert/Alert.js +0 -318
  548. package/dist/alert/Alert.stories.js +0 -158
  549. package/dist/alert/close.svg +0 -4
  550. package/dist/alert/error.svg +0 -4
  551. package/dist/alert/info.svg +0 -4
  552. package/dist/alert/readme.md +0 -43
  553. package/dist/alert/success.svg +0 -4
  554. package/dist/alert/warning.svg +0 -4
  555. package/dist/badge/Badge.js +0 -61
  556. package/dist/box/Box.js +0 -164
  557. package/dist/button/Button.js +0 -228
  558. package/dist/button/Button.stories.js +0 -224
  559. package/dist/button/readme.md +0 -93
  560. package/dist/card/Card.js +0 -247
  561. package/dist/checkbox/Checkbox.js +0 -233
  562. package/dist/checkbox/Checkbox.stories.js +0 -144
  563. package/dist/checkbox/readme.md +0 -116
  564. package/dist/chip/Chip.js +0 -223
  565. package/dist/common/OpenSans.css +0 -81
  566. package/dist/common/RequiredComponent.js +0 -40
  567. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  568. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  569. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  570. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  571. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  572. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  573. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  574. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  575. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  576. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  577. package/dist/common/variables.js +0 -882
  578. package/dist/date/Date.js +0 -359
  579. package/dist/date/Date.stories.js +0 -205
  580. package/dist/date/calendar.svg +0 -1
  581. package/dist/date/calendar_dark.svg +0 -1
  582. package/dist/date/readme.md +0 -73
  583. package/dist/dialog/Dialog.js +0 -203
  584. package/dist/dialog/Dialog.stories.js +0 -217
  585. package/dist/dialog/readme.md +0 -32
  586. package/dist/dropdown/Dropdown.js +0 -456
  587. package/dist/dropdown/Dropdown.stories.js +0 -249
  588. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  589. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  590. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  591. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  592. package/dist/dropdown/readme.md +0 -69
  593. package/dist/footer/Footer.js +0 -405
  594. package/dist/footer/Footer.stories.js +0 -94
  595. package/dist/footer/dxc_logo_wht.png +0 -0
  596. package/dist/footer/readme.md +0 -41
  597. package/dist/header/Header.js +0 -431
  598. package/dist/header/Header.stories.js +0 -176
  599. package/dist/header/close_icon.svg +0 -1
  600. package/dist/header/dxc_logo_black.png +0 -0
  601. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  602. package/dist/header/dxc_logo_white.png +0 -0
  603. package/dist/header/hamb_menu_black.svg +0 -1
  604. package/dist/header/hamb_menu_white.svg +0 -1
  605. package/dist/header/readme.md +0 -33
  606. package/dist/input-text/InputText.js +0 -631
  607. package/dist/input-text/InputText.stories.js +0 -209
  608. package/dist/input-text/error.svg +0 -1
  609. package/dist/input-text/readme.md +0 -91
  610. package/dist/layout/ApplicationLayout.js +0 -331
  611. package/dist/layout/facebook.svg +0 -45
  612. package/dist/layout/linkedin.svg +0 -50
  613. package/dist/layout/twitter.svg +0 -53
  614. package/dist/link/Link.js +0 -212
  615. package/dist/link/readme.md +0 -51
  616. package/dist/paginator/Paginator.js +0 -283
  617. package/dist/paginator/images/next.svg +0 -3
  618. package/dist/paginator/images/nextPage.svg +0 -3
  619. package/dist/paginator/images/previous.svg +0 -3
  620. package/dist/paginator/images/previousPage.svg +0 -3
  621. package/dist/paginator/readme.md +0 -50
  622. package/dist/progress-bar/ProgressBar.js +0 -206
  623. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  624. package/dist/progress-bar/readme.md +0 -63
  625. package/dist/radio/Radio.js +0 -190
  626. package/dist/radio/Radio.stories.js +0 -166
  627. package/dist/radio/readme.md +0 -70
  628. package/dist/resultsetTable/ResultsetTable.js +0 -332
  629. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  630. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  631. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  632. package/dist/select/Select.js +0 -490
  633. package/dist/select/Select.stories.js +0 -235
  634. package/dist/select/readme.md +0 -72
  635. package/dist/sidenav/Sidenav.js +0 -183
  636. package/dist/slider/Slider.js +0 -267
  637. package/dist/slider/Slider.stories.js +0 -241
  638. package/dist/slider/readme.md +0 -64
  639. package/dist/spinner/Spinner.js +0 -214
  640. package/dist/spinner/Spinner.stories.js +0 -183
  641. package/dist/spinner/readme.md +0 -65
  642. package/dist/switch/Switch.js +0 -222
  643. package/dist/switch/Switch.stories.js +0 -134
  644. package/dist/switch/readme.md +0 -133
  645. package/dist/table/Table.js +0 -118
  646. package/dist/tabs/Tabs.js +0 -347
  647. package/dist/tabs/Tabs.stories.js +0 -130
  648. package/dist/tabs/readme.md +0 -78
  649. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  650. package/dist/tabs-for-sections/readme.md +0 -78
  651. package/dist/tag/Tag.js +0 -268
  652. package/dist/textarea/Textarea.js +0 -238
  653. package/dist/toggle/Toggle.js +0 -220
  654. package/dist/toggle/Toggle.stories.js +0 -297
  655. package/dist/toggle/readme.md +0 -80
  656. package/dist/toggle-group/ToggleGroup.js +0 -241
  657. package/dist/toggle-group/readme.md +0 -82
  658. package/dist/upload/Upload.js +0 -209
  659. package/dist/upload/Upload.stories.js +0 -72
  660. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  661. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  662. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  663. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -293
  664. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  665. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  666. package/dist/upload/file-upload/FileToUpload.js +0 -162
  667. package/dist/upload/file-upload/audio-icon.svg +0 -4
  668. package/dist/upload/file-upload/close.svg +0 -4
  669. package/dist/upload/file-upload/file-icon.svg +0 -4
  670. package/dist/upload/file-upload/video-icon.svg +0 -4
  671. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  672. package/dist/upload/readme.md +0 -37
  673. package/dist/upload/transaction/Transaction.js +0 -152
  674. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  675. package/dist/upload/transaction/audio-icon.svg +0 -4
  676. package/dist/upload/transaction/error-icon.svg +0 -4
  677. package/dist/upload/transaction/file-icon-err.svg +0 -4
  678. package/dist/upload/transaction/file-icon.svg +0 -4
  679. package/dist/upload/transaction/image-icon-err.svg +0 -4
  680. package/dist/upload/transaction/image-icon.svg +0 -4
  681. package/dist/upload/transaction/success-icon.svg +0 -4
  682. package/dist/upload/transaction/video-icon-err.svg +0 -4
  683. package/dist/upload/transaction/video-icon.svg +0 -4
  684. package/dist/upload/transactions/Transactions.js +0 -122
  685. package/dist/wizard/Wizard.js +0 -383
  686. package/dist/wizard/invalid_icon.svg +0 -6
  687. package/dist/wizard/valid_icon.svg +0 -6
  688. package/dist/wizard/validation-wrong.svg +0 -6
  689. package/test/Accordion.test.js +0 -33
  690. package/test/AccordionGroup.test.js +0 -125
  691. package/test/Alert.test.js +0 -53
  692. package/test/Box.test.js +0 -10
  693. package/test/Button.test.js +0 -18
  694. package/test/Card.test.js +0 -30
  695. package/test/Checkbox.test.js +0 -45
  696. package/test/Chip.test.js +0 -25
  697. package/test/Date.test.js +0 -393
  698. package/test/Dialog.test.js +0 -23
  699. package/test/Dropdown.test.js +0 -130
  700. package/test/Footer.test.js +0 -99
  701. package/test/Header.test.js +0 -39
  702. package/test/Heading.test.js +0 -35
  703. package/test/InputText.test.js +0 -240
  704. package/test/Link.test.js +0 -42
  705. package/test/Paginator.test.js +0 -177
  706. package/test/ProgressBar.test.js +0 -35
  707. package/test/Radio.test.js +0 -37
  708. package/test/ResultsetTable.test.js +0 -330
  709. package/test/Select.test.js +0 -192
  710. package/test/Sidenav.test.js +0 -45
  711. package/test/Slider.test.js +0 -82
  712. package/test/Spinner.test.js +0 -27
  713. package/test/Switch.test.js +0 -45
  714. package/test/Table.test.js +0 -36
  715. package/test/Tabs.test.js +0 -109
  716. package/test/TabsForSections.test.js +0 -34
  717. package/test/Tag.test.js +0 -32
  718. package/test/TextArea.test.js +0 -52
  719. package/test/ToggleGroup.test.js +0 -81
  720. package/test/Upload.test.js +0 -60
  721. package/test/Wizard.test.js +0 -130
  722. package/test/mocks/pngMock.js +0 -1
  723. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
13
+ var _Option = _interopRequireDefault(require("./Option"));
14
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
15
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
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; }
18
+ var groupsHaveOptions = function groupsHaveOptions(options) {
19
+ return options !== null && options !== void 0 && options[0].options ? options.some(function (groupOption) {
20
+ var _groupOption$options;
21
+ return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
22
+ }) : true;
23
+ };
24
+ var Listbox = function Listbox(_ref) {
25
+ var id = _ref.id,
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;
36
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
37
+ var listboxRef = (0, _react.useRef)(null);
38
+ var listboxId = "select-".concat((0, _react.useId)());
39
+ var globalIndex = optional && !multiple ? 0 : -1;
40
+ var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
41
+ var groupId = "".concat(listboxId, "-group-").concat(mapIndex);
42
+ if (option.options) {
43
+ return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", {
44
+ key: groupId
45
+ }, /*#__PURE__*/_react["default"].createElement(GroupList, {
46
+ role: "listbox",
47
+ "aria-labelledby": groupId
48
+ }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
49
+ role: "presentation",
50
+ id: groupId
51
+ }, option.label), option.options.map(function (singleOption) {
52
+ globalIndex++;
53
+ return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
54
+ key: "".concat(listboxId, "-option-").concat(singleOption.value),
55
+ id: "".concat(listboxId, "-option-").concat(globalIndex),
56
+ option: singleOption,
57
+ onClick: handleOptionOnClick,
58
+ multiple: multiple,
59
+ visualFocused: visualFocusIndex === globalIndex,
60
+ isGroupedOption: true,
61
+ isLastOption: lastOptionIndex === globalIndex,
62
+ isSelected: multiple ? currentValue.includes(singleOption.value) : currentValue === singleOption.value
63
+ });
64
+ })));
65
+ } else {
66
+ globalIndex++;
67
+ return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
68
+ key: "".concat(listboxId, "-option-").concat(option.value),
69
+ id: "".concat(listboxId, "-option-").concat(globalIndex),
70
+ option: option,
71
+ onClick: handleOptionOnClick,
72
+ multiple: multiple,
73
+ visualFocused: visualFocusIndex === globalIndex,
74
+ isLastOption: lastOptionIndex === globalIndex,
75
+ isSelected: multiple ? currentValue.includes(option.value) : currentValue === option.value
76
+ });
77
+ }
78
+ };
79
+ (0, _react.useLayoutEffect)(function () {
80
+ if (currentValue && !multiple) {
81
+ var _listEl$scrollTo;
82
+ var listEl = listboxRef === null || listboxRef === void 0 ? void 0 : listboxRef.current;
83
+ var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
84
+ listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
85
+ top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
86
+ });
87
+ }
88
+ }, [currentValue, multiple]);
89
+ (0, _react.useLayoutEffect)(function () {
90
+ var _listboxRef$current, _visualFocusedOptionE;
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];
92
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
93
+ block: "nearest",
94
+ inline: "start"
95
+ });
96
+ }, [visualFocusIndex]);
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, {
102
+ id: id,
103
+ onClick: function onClick(event) {
104
+ event.stopPropagation();
105
+ },
106
+ onMouseDown: function onMouseDown(event) {
107
+ event.preventDefault();
108
+ },
109
+ ref: listboxRef,
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),
119
+ option: optionalItem,
120
+ onClick: handleOptionOnClick,
121
+ multiple: multiple,
122
+ visualFocused: visualFocusIndex === 0,
123
+ isGroupedOption: false,
124
+ isLastOption: lastOptionIndex === 0,
125
+ isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
126
+ }), options.map(mapOptionFunc));
127
+ };
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) {
129
+ return props.theme.listDialogBackgroundColor;
130
+ }, function (props) {
131
+ return props.theme.listDialogBorderColor;
132
+ }, function (props) {
133
+ return props.theme.listOptionFontColor;
134
+ }, function (props) {
135
+ return props.theme.fontFamily;
136
+ }, function (props) {
137
+ return props.theme.listOptionFontSize;
138
+ }, function (props) {
139
+ return props.theme.listOptionFontStyle;
140
+ }, function (props) {
141
+ return props.theme.listOptionFontWeight;
142
+ });
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) {
144
+ return props.theme.systemMessageFontColor;
145
+ });
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"])));
147
+ var GroupList = _styledComponents["default"].ul(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
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) {
149
+ return props.theme.listGroupLabelFontWeight;
150
+ });
151
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Listbox);
@@ -0,0 +1,4 @@
1
+ import React from "react";
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;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
12
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
13
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
14
+ var Option = function Option(_ref) {
15
+ var id = _ref.id,
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, {
30
+ id: id,
31
+ onClick: function onClick() {
32
+ _onClick(option);
33
+ },
34
+ visualFocused: visualFocused,
35
+ selected: isSelected,
36
+ role: "option",
37
+ "aria-selected": !multiple ? isSelected : undefined,
38
+ tabIndex: 0
39
+ }, /*#__PURE__*/_react["default"].createElement(StyledOption, {
40
+ visualFocused: visualFocused,
41
+ selected: isSelected,
42
+ last: isLastOption,
43
+ grouped: isGroupedOption,
44
+ multiple: multiple
45
+ }, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
46
+ checked: isSelected,
47
+ tabIndex: -1
48
+ }), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
49
+ grouped: isGroupedOption,
50
+ multiple: multiple
51
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
52
+ icon: option.icon
53
+ }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
54
+ grouped: isGroupedOption,
55
+ hasIcon: option.icon ? true : false,
56
+ multiple: multiple
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
+ })))));
62
+ };
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) {
64
+ return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
65
+ }, function (props) {
66
+ return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
67
+ }, function (props) {
68
+ return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
69
+ }, function (props) {
70
+ return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
71
+ });
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) {
73
+ return props.grouped && props.multiple && "padding-left: 16px;";
74
+ }, function (props) {
75
+ return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
76
+ });
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";
79
+ }, function (props) {
80
+ return props.theme.listOptionIconColor;
81
+ });
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";
84
+ });
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) {
87
+ return props.theme.selectedListOptionIconColor;
88
+ });
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
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import SelectPropsType from "./types";
3
+ declare const DxcSelect: React.ForwardRefExoticComponent<SelectPropsType & React.RefAttributes<HTMLDivElement>>;
4
+ export default DxcSelect;