@dxc-technology/halstack-react 0.0.0-efa7c74 → 0.0.0-eff2879

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 (434) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1248 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +106 -193
  9. package/accordion/Accordion.stories.tsx +251 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +12 -23
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +39 -108
  15. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  16. package/accordion-group/AccordionGroup.test.js +98 -0
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +18 -23
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +36 -126
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +75 -0
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +4 -0
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +54 -0
  39. package/bleed/Bleed.d.ts +3 -0
  40. package/bleed/Bleed.js +43 -0
  41. package/bleed/Bleed.stories.tsx +342 -0
  42. package/bleed/types.d.ts +37 -0
  43. package/box/Box.accessibility.test.js +33 -0
  44. package/box/Box.d.ts +1 -1
  45. package/box/Box.js +31 -82
  46. package/box/Box.stories.tsx +38 -51
  47. package/box/Box.test.js +13 -0
  48. package/box/types.d.ts +3 -14
  49. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  50. package/bulleted-list/BulletedList.d.ts +7 -0
  51. package/bulleted-list/BulletedList.js +92 -0
  52. package/bulleted-list/BulletedList.stories.tsx +115 -0
  53. package/bulleted-list/types.d.ts +38 -0
  54. package/bulleted-list/types.js +5 -0
  55. package/button/Button.accessibility.test.js +127 -0
  56. package/button/Button.d.ts +1 -1
  57. package/button/Button.js +65 -123
  58. package/button/Button.stories.tsx +155 -106
  59. package/button/Button.test.js +38 -0
  60. package/button/types.d.ts +12 -12
  61. package/card/Card.accessibility.test.js +36 -0
  62. package/card/Card.d.ts +1 -1
  63. package/card/Card.js +59 -103
  64. package/card/Card.stories.tsx +13 -43
  65. package/card/Card.test.js +39 -0
  66. package/card/types.d.ts +6 -11
  67. package/checkbox/Checkbox.accessibility.test.js +87 -0
  68. package/checkbox/Checkbox.d.ts +2 -2
  69. package/checkbox/Checkbox.js +145 -183
  70. package/checkbox/Checkbox.stories.tsx +166 -136
  71. package/checkbox/Checkbox.test.js +199 -0
  72. package/checkbox/types.d.ts +19 -7
  73. package/chip/Chip.accessibility.test.js +67 -0
  74. package/chip/Chip.d.ts +4 -0
  75. package/chip/Chip.js +49 -146
  76. package/chip/Chip.stories.tsx +104 -30
  77. package/chip/Chip.test.js +41 -0
  78. package/chip/types.d.ts +45 -0
  79. package/chip/types.js +5 -0
  80. package/common/coreTokens.d.ts +237 -0
  81. package/common/coreTokens.js +184 -0
  82. package/common/utils.d.ts +1 -0
  83. package/common/utils.js +6 -12
  84. package/common/variables.d.ts +1394 -0
  85. package/common/variables.js +1035 -1346
  86. package/container/Container.d.ts +4 -0
  87. package/container/Container.js +194 -0
  88. package/container/Container.stories.tsx +214 -0
  89. package/container/types.d.ts +74 -0
  90. package/container/types.js +5 -0
  91. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  92. package/contextual-menu/ContextualMenu.d.ts +5 -0
  93. package/contextual-menu/ContextualMenu.js +88 -0
  94. package/contextual-menu/ContextualMenu.stories.tsx +219 -0
  95. package/contextual-menu/ContextualMenu.test.js +205 -0
  96. package/contextual-menu/GroupItem.d.ts +4 -0
  97. package/contextual-menu/GroupItem.js +67 -0
  98. package/contextual-menu/ItemAction.d.ts +4 -0
  99. package/contextual-menu/ItemAction.js +52 -0
  100. package/contextual-menu/MenuItem.d.ts +4 -0
  101. package/contextual-menu/MenuItem.js +29 -0
  102. package/contextual-menu/SingleItem.d.ts +4 -0
  103. package/contextual-menu/SingleItem.js +38 -0
  104. package/contextual-menu/types.d.ts +58 -0
  105. package/contextual-menu/types.js +5 -0
  106. package/date-input/Calendar.d.ts +4 -0
  107. package/date-input/Calendar.js +214 -0
  108. package/date-input/DateInput.accessibility.test.js +216 -0
  109. package/date-input/DateInput.js +174 -313
  110. package/date-input/DateInput.stories.tsx +203 -56
  111. package/date-input/DateInput.test.js +808 -0
  112. package/date-input/DatePicker.d.ts +4 -0
  113. package/date-input/DatePicker.js +121 -0
  114. package/date-input/YearPicker.d.ts +4 -0
  115. package/date-input/YearPicker.js +100 -0
  116. package/date-input/types.d.ts +86 -22
  117. package/dialog/Dialog.accessibility.test.js +69 -0
  118. package/dialog/Dialog.d.ts +1 -1
  119. package/dialog/Dialog.js +57 -130
  120. package/dialog/Dialog.stories.tsx +320 -167
  121. package/dialog/Dialog.test.js +307 -0
  122. package/dialog/types.d.ts +18 -25
  123. package/divider/Divider.accessibility.test.js +33 -0
  124. package/divider/Divider.d.ts +4 -0
  125. package/divider/Divider.js +36 -0
  126. package/divider/Divider.stories.tsx +223 -0
  127. package/divider/Divider.test.js +38 -0
  128. package/divider/types.d.ts +21 -0
  129. package/divider/types.js +5 -0
  130. package/dropdown/Dropdown.accessibility.test.js +180 -0
  131. package/dropdown/Dropdown.d.ts +1 -1
  132. package/dropdown/Dropdown.js +232 -330
  133. package/dropdown/Dropdown.stories.tsx +427 -0
  134. package/dropdown/Dropdown.test.js +599 -0
  135. package/dropdown/DropdownMenu.d.ts +4 -0
  136. package/dropdown/DropdownMenu.js +63 -0
  137. package/dropdown/DropdownMenuItem.d.ts +4 -0
  138. package/dropdown/DropdownMenuItem.js +70 -0
  139. package/dropdown/types.d.ts +38 -31
  140. package/file-input/FileInput.accessibility.test.js +160 -0
  141. package/file-input/FileInput.d.ts +2 -2
  142. package/file-input/FileInput.js +272 -340
  143. package/file-input/FileInput.stories.tsx +618 -0
  144. package/file-input/FileInput.test.js +382 -0
  145. package/file-input/FileItem.d.ts +4 -14
  146. package/file-input/FileItem.js +60 -121
  147. package/file-input/types.d.ts +53 -11
  148. package/flex/Flex.d.ts +4 -0
  149. package/flex/Flex.js +57 -0
  150. package/flex/Flex.stories.tsx +112 -0
  151. package/flex/types.d.ts +97 -0
  152. package/flex/types.js +5 -0
  153. package/footer/Footer.accessibility.test.js +117 -0
  154. package/footer/Footer.d.ts +1 -1
  155. package/footer/Footer.js +74 -200
  156. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +84 -39
  157. package/footer/Footer.test.js +85 -0
  158. package/footer/Icons.d.ts +3 -0
  159. package/footer/Icons.js +67 -8
  160. package/footer/types.d.ts +40 -37
  161. package/grid/Grid.d.ts +7 -0
  162. package/grid/Grid.js +76 -0
  163. package/grid/Grid.stories.tsx +219 -0
  164. package/grid/types.d.ts +115 -0
  165. package/grid/types.js +5 -0
  166. package/header/Header.accessibility.test.js +84 -0
  167. package/header/Header.d.ts +4 -3
  168. package/header/Header.js +103 -218
  169. package/header/Header.stories.tsx +152 -63
  170. package/header/Header.test.js +66 -0
  171. package/header/Icons.d.ts +2 -0
  172. package/header/Icons.js +4 -9
  173. package/header/types.d.ts +7 -21
  174. package/heading/Heading.accessibility.test.js +33 -0
  175. package/heading/Heading.js +11 -33
  176. package/heading/Heading.stories.tsx +3 -2
  177. package/heading/Heading.test.js +169 -0
  178. package/heading/types.d.ts +7 -7
  179. package/icon/Icon.accessibility.test.js +30 -0
  180. package/icon/Icon.d.ts +4 -0
  181. package/icon/Icon.js +33 -0
  182. package/icon/Icon.stories.tsx +28 -0
  183. package/icon/types.d.ts +4 -0
  184. package/icon/types.js +5 -0
  185. package/image/Image.accessibility.test.js +56 -0
  186. package/image/Image.d.ts +4 -0
  187. package/image/Image.js +70 -0
  188. package/image/Image.stories.tsx +129 -0
  189. package/image/types.d.ts +72 -0
  190. package/image/types.js +5 -0
  191. package/inset/Inset.d.ts +3 -0
  192. package/inset/Inset.js +43 -0
  193. package/inset/Inset.stories.tsx +230 -0
  194. package/inset/types.d.ts +37 -0
  195. package/inset/types.js +5 -0
  196. package/layout/ApplicationLayout.d.ts +20 -0
  197. package/layout/ApplicationLayout.js +86 -184
  198. package/layout/ApplicationLayout.stories.tsx +162 -0
  199. package/layout/Icons.d.ts +7 -0
  200. package/layout/Icons.js +41 -48
  201. package/layout/types.d.ts +41 -0
  202. package/layout/types.js +5 -0
  203. package/link/Link.accessibility.test.js +112 -0
  204. package/link/Link.d.ts +3 -2
  205. package/link/Link.js +65 -109
  206. package/link/Link.stories.tsx +159 -52
  207. package/link/Link.test.js +63 -0
  208. package/link/types.d.ts +15 -35
  209. package/main.d.ts +19 -14
  210. package/main.js +92 -98
  211. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  212. package/nav-tabs/NavTabs.d.ts +7 -0
  213. package/nav-tabs/NavTabs.js +93 -0
  214. package/nav-tabs/NavTabs.stories.tsx +279 -0
  215. package/nav-tabs/NavTabs.test.js +75 -0
  216. package/nav-tabs/NavTabsContext.d.ts +3 -0
  217. package/nav-tabs/NavTabsContext.js +8 -0
  218. package/nav-tabs/Tab.d.ts +4 -0
  219. package/nav-tabs/Tab.js +117 -0
  220. package/nav-tabs/types.d.ts +52 -0
  221. package/nav-tabs/types.js +5 -0
  222. package/number-input/NumberInput.accessibility.test.js +228 -0
  223. package/number-input/NumberInput.js +48 -48
  224. package/number-input/NumberInput.stories.tsx +44 -28
  225. package/number-input/NumberInput.test.js +989 -0
  226. package/number-input/NumberInputContext.d.ts +3 -4
  227. package/number-input/NumberInputContext.js +3 -14
  228. package/number-input/types.d.ts +34 -15
  229. package/package.json +52 -51
  230. package/paginator/Paginator.accessibility.test.js +79 -0
  231. package/paginator/Paginator.js +39 -103
  232. package/paginator/Paginator.stories.tsx +24 -0
  233. package/paginator/Paginator.test.js +335 -0
  234. package/paginator/types.d.ts +3 -3
  235. package/paragraph/Paragraph.accessibility.test.js +28 -0
  236. package/paragraph/Paragraph.d.ts +5 -0
  237. package/paragraph/Paragraph.js +22 -0
  238. package/paragraph/Paragraph.stories.tsx +27 -0
  239. package/password-input/PasswordInput.accessibility.test.js +153 -0
  240. package/password-input/PasswordInput.js +59 -125
  241. package/password-input/PasswordInput.stories.tsx +3 -35
  242. package/password-input/PasswordInput.test.js +198 -0
  243. package/password-input/types.d.ts +32 -26
  244. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  245. package/progress-bar/ProgressBar.js +66 -92
  246. package/progress-bar/ProgressBar.stories.tsx +93 -0
  247. package/progress-bar/ProgressBar.test.js +93 -0
  248. package/progress-bar/types.d.ts +3 -3
  249. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  250. package/quick-nav/QuickNav.d.ts +4 -0
  251. package/quick-nav/QuickNav.js +94 -0
  252. package/quick-nav/QuickNav.stories.tsx +356 -0
  253. package/quick-nav/types.d.ts +21 -0
  254. package/quick-nav/types.js +5 -0
  255. package/radio-group/Radio.d.ts +4 -0
  256. package/radio-group/Radio.js +124 -0
  257. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  258. package/radio-group/RadioGroup.d.ts +4 -0
  259. package/radio-group/RadioGroup.js +235 -0
  260. package/radio-group/RadioGroup.stories.tsx +214 -0
  261. package/radio-group/RadioGroup.test.js +756 -0
  262. package/radio-group/types.d.ts +114 -0
  263. package/radio-group/types.js +5 -0
  264. package/resultset-table/Icons.d.ts +7 -0
  265. package/resultset-table/Icons.js +47 -0
  266. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  267. package/resultset-table/ResultsetTable.d.ts +7 -0
  268. package/resultset-table/ResultsetTable.js +170 -0
  269. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  270. package/resultset-table/ResultsetTable.test.js +381 -0
  271. package/resultset-table/types.d.ts +100 -0
  272. package/resultset-table/types.js +5 -0
  273. package/select/Listbox.d.ts +4 -0
  274. package/select/Listbox.js +145 -0
  275. package/select/Option.d.ts +4 -0
  276. package/select/Option.js +88 -0
  277. package/select/Select.accessibility.test.js +217 -0
  278. package/select/Select.d.ts +4 -0
  279. package/select/Select.js +248 -515
  280. package/select/Select.stories.tsx +590 -255
  281. package/select/Select.test.js +2276 -0
  282. package/select/types.d.ts +209 -0
  283. package/select/types.js +5 -0
  284. package/sidenav/Sidenav.accessibility.test.js +59 -0
  285. package/sidenav/Sidenav.d.ts +6 -5
  286. package/sidenav/Sidenav.js +137 -72
  287. package/sidenav/Sidenav.stories.tsx +246 -134
  288. package/sidenav/Sidenav.test.js +37 -0
  289. package/sidenav/SidenavContext.d.ts +5 -0
  290. package/sidenav/SidenavContext.js +13 -0
  291. package/sidenav/types.d.ts +52 -26
  292. package/slider/Slider.accessibility.test.js +104 -0
  293. package/slider/Slider.d.ts +2 -2
  294. package/slider/Slider.js +149 -181
  295. package/slider/Slider.test.js +254 -0
  296. package/slider/types.d.ts +11 -3
  297. package/spinner/Spinner.accessibility.test.js +96 -0
  298. package/spinner/Spinner.js +32 -76
  299. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  300. package/spinner/Spinner.test.js +55 -0
  301. package/spinner/types.d.ts +3 -3
  302. package/status-light/StatusLight.accessibility.test.js +157 -0
  303. package/status-light/StatusLight.d.ts +4 -0
  304. package/status-light/StatusLight.js +51 -0
  305. package/status-light/StatusLight.stories.tsx +74 -0
  306. package/status-light/StatusLight.test.js +25 -0
  307. package/status-light/types.d.ts +17 -0
  308. package/status-light/types.js +5 -0
  309. package/switch/Switch.accessibility.test.js +89 -0
  310. package/switch/Switch.d.ts +2 -2
  311. package/switch/Switch.js +150 -115
  312. package/switch/Switch.stories.tsx +45 -68
  313. package/switch/Switch.test.js +180 -0
  314. package/switch/types.d.ts +13 -5
  315. package/table/DropdownTheme.js +62 -0
  316. package/table/Table.accessibility.test.js +82 -0
  317. package/table/Table.d.ts +6 -2
  318. package/table/Table.js +79 -36
  319. package/table/Table.stories.tsx +651 -0
  320. package/table/Table.test.js +113 -0
  321. package/table/types.d.ts +34 -6
  322. package/tabs/Tab.d.ts +4 -0
  323. package/tabs/Tab.js +117 -0
  324. package/tabs/Tabs.accessibility.test.js +56 -0
  325. package/tabs/Tabs.d.ts +1 -1
  326. package/tabs/Tabs.js +307 -147
  327. package/tabs/Tabs.stories.tsx +121 -18
  328. package/tabs/Tabs.test.js +276 -0
  329. package/tabs/types.d.ts +46 -24
  330. package/tag/Tag.accessibility.test.js +69 -0
  331. package/tag/Tag.d.ts +1 -1
  332. package/tag/Tag.js +44 -86
  333. package/tag/Tag.stories.tsx +37 -30
  334. package/tag/Tag.test.js +41 -0
  335. package/tag/types.d.ts +25 -16
  336. package/text-input/Suggestion.d.ts +4 -0
  337. package/text-input/Suggestion.js +67 -0
  338. package/text-input/Suggestions.d.ts +4 -0
  339. package/text-input/Suggestions.js +86 -0
  340. package/text-input/TextInput.accessibility.test.js +321 -0
  341. package/text-input/TextInput.js +335 -553
  342. package/text-input/TextInput.stories.tsx +465 -0
  343. package/text-input/TextInput.test.js +1756 -0
  344. package/text-input/types.d.ts +82 -34
  345. package/textarea/Textarea.accessibility.test.js +155 -0
  346. package/textarea/Textarea.d.ts +4 -0
  347. package/textarea/Textarea.js +98 -181
  348. package/textarea/Textarea.stories.tsx +174 -0
  349. package/textarea/Textarea.test.js +406 -0
  350. package/textarea/types.d.ts +141 -0
  351. package/textarea/types.js +5 -0
  352. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  353. package/toggle-group/ToggleGroup.d.ts +2 -2
  354. package/toggle-group/ToggleGroup.js +98 -113
  355. package/toggle-group/ToggleGroup.stories.tsx +79 -39
  356. package/toggle-group/ToggleGroup.test.js +137 -0
  357. package/toggle-group/types.d.ts +68 -38
  358. package/typography/Typography.accessibility.test.js +339 -0
  359. package/typography/Typography.d.ts +4 -0
  360. package/typography/Typography.js +23 -0
  361. package/typography/Typography.stories.tsx +198 -0
  362. package/typography/types.d.ts +18 -0
  363. package/typography/types.js +5 -0
  364. package/useTheme.d.ts +1147 -0
  365. package/useTheme.js +4 -11
  366. package/useTranslatedLabels.d.ts +85 -0
  367. package/useTranslatedLabels.js +14 -0
  368. package/utils/BaseTypography.d.ts +21 -0
  369. package/utils/BaseTypography.js +94 -0
  370. package/utils/FocusLock.d.ts +13 -0
  371. package/utils/FocusLock.js +124 -0
  372. package/wizard/Wizard.accessibility.test.js +55 -0
  373. package/wizard/Wizard.d.ts +1 -1
  374. package/wizard/Wizard.js +130 -114
  375. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +67 -19
  376. package/wizard/Wizard.test.js +114 -0
  377. package/wizard/types.d.ts +15 -15
  378. package/ThemeContext.js +0 -246
  379. package/V3Select/V3Select.js +0 -455
  380. package/V3Select/index.d.ts +0 -27
  381. package/V3Textarea/V3Textarea.js +0 -260
  382. package/V3Textarea/index.d.ts +0 -27
  383. package/card/ice-cream.jpg +0 -0
  384. package/chip/index.d.ts +0 -22
  385. package/common/OpenSans.css +0 -81
  386. package/common/RequiredComponent.js +0 -32
  387. package/common/fonts/OpenSans-Bold.ttf +0 -0
  388. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  389. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  390. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  391. package/common/fonts/OpenSans-Italic.ttf +0 -0
  392. package/common/fonts/OpenSans-Light.ttf +0 -0
  393. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  394. package/common/fonts/OpenSans-Regular.ttf +0 -0
  395. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  396. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  397. package/date/Date.js +0 -373
  398. package/date/index.d.ts +0 -27
  399. package/input-text/Icons.js +0 -22
  400. package/input-text/InputText.js +0 -611
  401. package/input-text/index.d.ts +0 -36
  402. package/number-input/numberInputContextTypes.d.ts +0 -19
  403. package/paginator/Icons.js +0 -66
  404. package/progress-bar/ProgressBar.stories.jsx +0 -58
  405. package/radio/Radio.d.ts +0 -4
  406. package/radio/Radio.js +0 -174
  407. package/radio/Radio.stories.tsx +0 -192
  408. package/radio/types.d.ts +0 -54
  409. package/resultsetTable/ResultsetTable.d.ts +0 -4
  410. package/resultsetTable/ResultsetTable.js +0 -249
  411. package/resultsetTable/types.d.ts +0 -63
  412. package/select/index.d.ts +0 -131
  413. package/slider/Slider.stories.tsx +0 -177
  414. package/table/Table.stories.jsx +0 -276
  415. package/textarea/Textarea.stories.jsx +0 -135
  416. package/textarea/index.d.ts +0 -117
  417. package/toggle/Toggle.js +0 -186
  418. package/toggle/index.d.ts +0 -21
  419. package/upload/Upload.js +0 -201
  420. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  421. package/upload/buttons-upload/Icons.js +0 -40
  422. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  423. package/upload/dragAndDropArea/Icons.js +0 -39
  424. package/upload/file-upload/FileToUpload.js +0 -115
  425. package/upload/file-upload/Icons.js +0 -66
  426. package/upload/files-upload/FilesToUpload.js +0 -109
  427. package/upload/index.d.ts +0 -15
  428. package/upload/transaction/Icons.js +0 -160
  429. package/upload/transaction/Transaction.js +0 -104
  430. package/upload/transactions/Transactions.js +0 -94
  431. package/wizard/Icons.js +0 -65
  432. /package/{radio → action-icon}/types.js +0 -0
  433. /package/{resultsetTable → badge}/types.js +0 -0
  434. /package/{number-input/numberInputContextTypes.js → bleed/types.js} +0 -0
@@ -0,0 +1,381 @@
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 _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
+ var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable.tsx"));
12
+ // Mocking DOMRect for Radix Primitive Popover
13
+ global.globalThis = global;
14
+ global.DOMRect = {
15
+ fromRect: function fromRect() {
16
+ return {
17
+ top: 0,
18
+ left: 0,
19
+ bottom: 0,
20
+ right: 0,
21
+ width: 0,
22
+ height: 0
23
+ };
24
+ }
25
+ };
26
+ global.ResizeObserver = /*#__PURE__*/function () {
27
+ function ResizeObserver() {
28
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
29
+ }
30
+ (0, _createClass2["default"])(ResizeObserver, [{
31
+ key: "observe",
32
+ value: function observe() {}
33
+ }, {
34
+ key: "unobserve",
35
+ value: function unobserve() {}
36
+ }, {
37
+ key: "disconnect",
38
+ value: function disconnect() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+ var icon = /*#__PURE__*/_react["default"].createElement("svg", {
43
+ xmlns: "http://www.w3.org/2000/svg",
44
+ height: "24px",
45
+ viewBox: "0 0 24 24",
46
+ width: "24px",
47
+ fill: "currentColor"
48
+ }, /*#__PURE__*/_react["default"].createElement("path", {
49
+ d: "M0 0h24v24H0V0zm0 0h24v24H0V0z",
50
+ fill: "none"
51
+ }), /*#__PURE__*/_react["default"].createElement("path", {
52
+ d: "M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z"
53
+ }));
54
+ var columns = [{
55
+ displayValue: "Id",
56
+ isSortable: false
57
+ }, {
58
+ displayValue: "Name",
59
+ isSortable: true
60
+ }, {
61
+ displayValue: "City",
62
+ isSortable: false
63
+ }];
64
+ var rows = [[{
65
+ displayValue: "001",
66
+ sortValue: "001"
67
+ }, {
68
+ displayValue: "Peter",
69
+ sortValue: "Peter"
70
+ }, {
71
+ displayValue: "Oviedo",
72
+ sortValue: "Oviedo"
73
+ }], [{
74
+ displayValue: "002",
75
+ sortValue: "002"
76
+ }, {
77
+ displayValue: "Louis",
78
+ sortValue: "Louis"
79
+ }, {
80
+ displayValue: "Oviedo",
81
+ sortValue: "Oviedo"
82
+ }], [{
83
+ displayValue: "003",
84
+ sortValue: "003"
85
+ }, {
86
+ displayValue: "Lana",
87
+ sortValue: "Lana"
88
+ }, {
89
+ displayValue: "Albacete",
90
+ sortValue: "Albacete"
91
+ }], [{
92
+ displayValue: "004",
93
+ sortValue: "004"
94
+ }, {
95
+ displayValue: "Rick",
96
+ sortValue: "Rick"
97
+ }, {
98
+ displayValue: "Albacete",
99
+ sortValue: "Albacete"
100
+ }], [{
101
+ displayValue: "005",
102
+ sortValue: "005"
103
+ }, {
104
+ displayValue: "Mark",
105
+ sortValue: "Mark"
106
+ }, {
107
+ displayValue: "Madrid",
108
+ sortValue: "Madrid"
109
+ }], [{
110
+ displayValue: "006",
111
+ sortValue: "006"
112
+ }, {
113
+ displayValue: "Cris",
114
+ sortValue: "Cris"
115
+ }, {
116
+ displayValue: "Barcelona",
117
+ sortValue: "Barcelona"
118
+ }], [{
119
+ displayValue: "007",
120
+ sortValue: "007"
121
+ }, {
122
+ displayValue: "Susan",
123
+ sortValue: "Susan"
124
+ }, {
125
+ displayValue: "Madrid",
126
+ sortValue: "Madrid"
127
+ }], [{
128
+ displayValue: "008",
129
+ sortValue: "008"
130
+ }, {
131
+ displayValue: "Tina",
132
+ sortValue: "Tina"
133
+ }, {
134
+ displayValue: "Barcelona",
135
+ sortValue: "Barcelona"
136
+ }], [{
137
+ displayValue: "009",
138
+ sortValue: "009"
139
+ }, {
140
+ displayValue: "Kevin",
141
+ sortValue: "Kevin"
142
+ }, {
143
+ displayValue: "Oviedo",
144
+ sortValue: "Oviedo"
145
+ }], [{
146
+ displayValue: "010",
147
+ sortValue: "010"
148
+ }, {
149
+ displayValue: "Cosmin",
150
+ sortValue: "Cosmin"
151
+ }, {
152
+ displayValue: "Barcelona",
153
+ sortValue: "Barcelona"
154
+ }]];
155
+ var rows2 = [[{
156
+ displayValue: "546",
157
+ sortValue: "465"
158
+ }, {
159
+ displayValue: "OtherValue",
160
+ sortValue: "OtherValue"
161
+ }, {
162
+ displayValue: "OtherValue",
163
+ sortValue: "OtherValue"
164
+ }], [{
165
+ displayValue: "978",
166
+ sortValue: "465"
167
+ }, {
168
+ displayValue: "OtherValue",
169
+ sortValue: "OtherValue"
170
+ }, {
171
+ displayValue: "OtherValue",
172
+ sortValue: "OtherValue"
173
+ }, {
174
+ displayValue: ""
175
+ }], [{
176
+ displayValue: "678",
177
+ sortValue: "344"
178
+ }, {
179
+ displayValue: "OtherValue",
180
+ sortValue: "OtherValue"
181
+ }, {
182
+ displayValue: "OtherValue",
183
+ sortValue: "OtherValue"
184
+ }]];
185
+ describe("Resultset table component tests", function () {
186
+ test("Resultset table rendered correctly", function () {
187
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
188
+ columns: columns,
189
+ rows: rows,
190
+ itemsPerPage: 3
191
+ })),
192
+ getByText = _render.getByText;
193
+ expect(getByText("Peter")).toBeTruthy();
194
+ });
195
+ test("Resultset table shows as many rows as itemsPerPage", function () {
196
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
197
+ columns: columns,
198
+ rows: rows,
199
+ itemsPerPage: 3
200
+ })),
201
+ getAllByRole = _render2.getAllByRole;
202
+ expect(getAllByRole("row").length - 1).toEqual(3);
203
+ });
204
+ test("Resultset table shows rows on second page", function () {
205
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
206
+ columns: columns,
207
+ rows: rows,
208
+ itemsPerPage: 3
209
+ })),
210
+ getByText = _render3.getByText,
211
+ getAllByRole = _render3.getAllByRole;
212
+ expect(getByText("Peter")).toBeTruthy();
213
+ expect(getByText("Louis")).toBeTruthy();
214
+ expect(getByText("Lana")).toBeTruthy();
215
+ expect(getAllByRole("row").length - 1).toEqual(3);
216
+ var nextButton = getAllByRole("button")[3];
217
+ _react2.fireEvent.click(nextButton);
218
+ expect(getByText("4 to 6 of 10")).toBeTruthy();
219
+ expect(getByText("Rick")).toBeTruthy();
220
+ expect(getByText("Mark")).toBeTruthy();
221
+ expect(getByText("Cris")).toBeTruthy();
222
+ expect(getAllByRole("row").length - 1).toEqual(3);
223
+ });
224
+ test("Resultset table goToPage works as expected", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
225
+ var _render4, getByText, getAllByRole, goToPageSelect, goToPageOption;
226
+ return _regenerator["default"].wrap(function _callee$(_context) {
227
+ while (1) switch (_context.prev = _context.next) {
228
+ case 0:
229
+ window.HTMLElement.prototype.scrollIntoView = function () {};
230
+ window.HTMLElement.prototype.scrollTo = function () {};
231
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
232
+ columns: columns,
233
+ showGoToPage: true,
234
+ rows: rows,
235
+ itemsPerPage: 3
236
+ })), getByText = _render4.getByText, getAllByRole = _render4.getAllByRole;
237
+ expect(getByText("Peter")).toBeTruthy();
238
+ expect(getByText("Louis")).toBeTruthy();
239
+ expect(getByText("Lana")).toBeTruthy();
240
+ expect(getAllByRole("row").length - 1).toEqual(3);
241
+ goToPageSelect = getAllByRole("button")[3];
242
+ _context.next = 10;
243
+ return _userEvent["default"].click(goToPageSelect);
244
+ case 10:
245
+ goToPageOption = getByText("2");
246
+ _context.next = 13;
247
+ return _userEvent["default"].click(goToPageOption);
248
+ case 13:
249
+ expect(getByText("4 to 6 of 10")).toBeTruthy();
250
+ expect(getByText("Rick")).toBeTruthy();
251
+ expect(getByText("Mark")).toBeTruthy();
252
+ expect(getByText("Cris")).toBeTruthy();
253
+ expect(getAllByRole("row").length - 1).toEqual(3);
254
+ case 18:
255
+ case "end":
256
+ return _context.stop();
257
+ }
258
+ }, _callee);
259
+ })));
260
+ test("Resultset table going to the last page shows only one row", function () {
261
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
262
+ columns: columns,
263
+ rows: rows,
264
+ itemsPerPage: 3
265
+ })),
266
+ getByText = _render5.getByText,
267
+ getAllByRole = _render5.getAllByRole;
268
+ var lastButton = getAllByRole("button")[4];
269
+ _react2.fireEvent.click(lastButton);
270
+ expect(getByText("10 to 10 of 10")).toBeTruthy();
271
+ expect(getAllByRole("row")).toHaveLength(2);
272
+ expect(getByText("Cosmin")).toBeTruthy();
273
+ });
274
+ test("Resultset table sort rows by column", function () {
275
+ var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
276
+ columns: columns,
277
+ rows: rows,
278
+ itemsPerPage: 3
279
+ }));
280
+ expect(component.queryByText("Peter")).toBeTruthy();
281
+ _react2.fireEvent.click(component.queryByText("Name"));
282
+ expect(component.queryByText("Tina")).not.toBeTruthy();
283
+ expect(component.queryByText("Cosmin")).toBeTruthy();
284
+ _react2.fireEvent.click(component.queryByText("Name"));
285
+ expect(component.queryByText("Tina")).toBeTruthy();
286
+ expect(component.queryByText("Cosmin")).not.toBeTruthy();
287
+ });
288
+ test("Resultset table change rows should go to first page", function () {
289
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
290
+ columns: columns,
291
+ rows: rows,
292
+ itemsPerPage: 3
293
+ })),
294
+ queryByText = _render6.queryByText,
295
+ rerender = _render6.rerender;
296
+ expect(queryByText("Peter")).toBeTruthy();
297
+ rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
298
+ columns: columns,
299
+ rows: rows2,
300
+ itemsPerPage: 3
301
+ }));
302
+ expect(queryByText("1 to 3 of 3")).toBeTruthy();
303
+ });
304
+ test("Resultset table change itemsPerPage should go to first page", function () {
305
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
306
+ columns: columns,
307
+ rows: rows,
308
+ itemsPerPage: 3,
309
+ itemsPerPageOptions: [2, 3]
310
+ })),
311
+ getAllByRole = _render7.getAllByRole;
312
+ var lastButton = getAllByRole("button")[4];
313
+ expect(getAllByRole("row").length - 1).toEqual(3);
314
+ _react2.fireEvent.click(lastButton);
315
+ expect(getAllByRole("row").length - 1).toEqual(1);
316
+ });
317
+ test("Resultset table may not use the paginator", function () {
318
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
319
+ columns: columns,
320
+ rows: rows,
321
+ hidePaginator: true
322
+ })),
323
+ getAllByRole = _render8.getAllByRole;
324
+ var nextButton = getAllByRole("button")[3];
325
+ expect(nextButton).not.toBeTruthy();
326
+ });
327
+ test("Resultset table with ActionsCell", function () {
328
+ var onSelectOption = jest.fn();
329
+ var onClick = jest.fn();
330
+ var actions = [{
331
+ icon: icon,
332
+ title: "icon1",
333
+ onClick: onSelectOption,
334
+ options: [{
335
+ value: "1",
336
+ label: "Amazon"
337
+ }, {
338
+ value: "2",
339
+ label: "Ebay"
340
+ }, {
341
+ value: "3",
342
+ label: "Aliexpress"
343
+ }]
344
+ }, {
345
+ icon: icon,
346
+ title: "icon2",
347
+ onClick: onClick
348
+ }];
349
+ var actionRows = [[{
350
+ displayValue: "001",
351
+ sortValue: "001"
352
+ }, {
353
+ displayValue: "Peter",
354
+ sortValue: "Peter"
355
+ }, {
356
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
357
+ actions: actions
358
+ }),
359
+ sortValue: "Actions"
360
+ }]];
361
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
362
+ columns: columns,
363
+ rows: actionRows,
364
+ itemsPerPage: 3
365
+ })),
366
+ getAllByRole = _render9.getAllByRole,
367
+ getByRole = _render9.getByRole,
368
+ getByText = _render9.getByText;
369
+ var dropdown = getAllByRole("button")[2];
370
+ (0, _react2.act)(function () {
371
+ _userEvent["default"].click(dropdown);
372
+ });
373
+ expect(getByRole("menu")).toBeTruthy();
374
+ var option = getByText("Aliexpress");
375
+ _userEvent["default"].click(option);
376
+ expect(onSelectOption).toHaveBeenCalledWith("3");
377
+ var action = getAllByRole("button")[1];
378
+ _userEvent["default"].click(action);
379
+ expect(onClick).toHaveBeenCalled();
380
+ });
381
+ });
@@ -0,0 +1,100 @@
1
+ /// <reference types="react" />
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ export type Column = {
10
+ /**
11
+ * Column display value.
12
+ */
13
+ displayValue: React.ReactNode;
14
+ /**
15
+ * Boolean value to indicate whether the column is sortable or not.
16
+ */
17
+ isSortable?: boolean;
18
+ };
19
+ export type Row = {
20
+ /**
21
+ * Value to be displayed in the cell.
22
+ */
23
+ displayValue: React.ReactNode;
24
+ /**
25
+ * Value to be used when sorting the table by that
26
+ * column. If not indicated displayValue will be used for sorting.
27
+ */
28
+ sortValue?: string;
29
+ };
30
+ type CommonProps = {
31
+ /**
32
+ * An array of objects representing the columns of the table.
33
+ */
34
+ columns: Column[];
35
+ /**
36
+ * An array of objects representing the rows of the table, you will have
37
+ * as many objects as columns in the table.
38
+ */
39
+ rows: Row[][];
40
+ /**
41
+ * Size of the margin to be applied to the component. You can pass an object with 'top',
42
+ * 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
43
+ */
44
+ margin?: Space | Margin;
45
+ /**
46
+ * Value of the tabindex attribute applied to the sortable icon.
47
+ */
48
+ tabIndex?: number;
49
+ /**
50
+ * Determines the visual style and layout
51
+ * - "default": The default mode with big spacing
52
+ * - "reduced": A reduced mode with minimal spacing for dense tables
53
+ */
54
+ mode?: "default" | "reduced";
55
+ };
56
+ type PaginatedProps = CommonProps & {
57
+ hidePaginator?: false;
58
+ /**
59
+ * If true, a select component for navigation between pages will be displayed.
60
+ */
61
+ showGoToPage?: boolean;
62
+ /**
63
+ * Number of items per page.
64
+ */
65
+ itemsPerPage?: number;
66
+ /**
67
+ * An array of numbers representing the items per page options.
68
+ */
69
+ itemsPerPageOptions?: number[];
70
+ /**
71
+ * This function will be called when the user selects an item per page
72
+ * option. The value selected will be passed as a parameter.
73
+ */
74
+ itemsPerPageFunction?: (value: number) => void;
75
+ };
76
+ type NonPaginatedProps = CommonProps & {
77
+ /**
78
+ * If true, paginator will not be displayed.
79
+ */
80
+ hidePaginator: true;
81
+ /**
82
+ * If true, a select component for navigation between pages will be displayed.
83
+ */
84
+ showGoToPage?: never;
85
+ /**
86
+ * Number of items per page.
87
+ */
88
+ itemsPerPage?: never;
89
+ /**
90
+ * An array of numbers representing the items per page options.
91
+ */
92
+ itemsPerPageOptions?: never;
93
+ /**
94
+ * This function will be called when the user selects an item per page
95
+ * option. The value selected will be passed as a parameter.
96
+ */
97
+ itemsPerPageFunction?: never;
98
+ };
99
+ type Props = PaginatedProps | NonPaginatedProps;
100
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { ListboxProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ id, currentValue, options, visualFocusIndex, lastOptionIndex, multiple, optional, optionalItem, searchable, handleOptionOnClick, styles, }: ListboxProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,145 @@
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 && Object.prototype.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 globalIndex = optional && !multiple ? 0 : -1;
39
+ var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
40
+ if (option.options) {
41
+ var groupId = "group-".concat(mapIndex);
42
+ return option.options.length > 0 && /*#__PURE__*/_react["default"].createElement("li", {
43
+ key: "group-".concat(mapIndex)
44
+ }, /*#__PURE__*/_react["default"].createElement(GroupList, {
45
+ role: "group",
46
+ "aria-labelledby": groupId
47
+ }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
48
+ role: "presentation",
49
+ id: groupId
50
+ }, option.label), option.options.map(function (singleOption) {
51
+ globalIndex++;
52
+ return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
53
+ key: "option-".concat(singleOption.value),
54
+ id: "option-".concat(globalIndex),
55
+ option: singleOption,
56
+ onClick: handleOptionOnClick,
57
+ multiple: multiple,
58
+ visualFocused: visualFocusIndex === globalIndex,
59
+ isGroupedOption: true,
60
+ isLastOption: lastOptionIndex === globalIndex,
61
+ isSelected: multiple ? currentValue.includes(singleOption.value) : currentValue === singleOption.value
62
+ });
63
+ })));
64
+ } else {
65
+ globalIndex++;
66
+ return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
67
+ key: "option-".concat(option.value),
68
+ id: "option-".concat(globalIndex),
69
+ option: option,
70
+ onClick: handleOptionOnClick,
71
+ multiple: multiple,
72
+ visualFocused: visualFocusIndex === globalIndex,
73
+ isLastOption: lastOptionIndex === globalIndex,
74
+ isSelected: multiple ? currentValue.includes(option.value) : currentValue === option.value
75
+ });
76
+ }
77
+ };
78
+ (0, _react.useLayoutEffect)(function () {
79
+ if (currentValue && !multiple) {
80
+ var _listEl$scrollTo;
81
+ var listEl = listboxRef === null || listboxRef === void 0 ? void 0 : listboxRef.current;
82
+ var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
83
+ listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
84
+ top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
85
+ });
86
+ }
87
+ }, [currentValue, multiple]);
88
+ (0, _react.useLayoutEffect)(function () {
89
+ var _listboxRef$current, _visualFocusedOptionE;
90
+ 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];
91
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
92
+ block: "nearest",
93
+ inline: "start"
94
+ });
95
+ }, [visualFocusIndex]);
96
+ return /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
97
+ id: id,
98
+ onClick: function onClick(event) {
99
+ event.stopPropagation();
100
+ },
101
+ onMouseDown: function onMouseDown(event) {
102
+ event.preventDefault();
103
+ },
104
+ ref: listboxRef,
105
+ role: "listbox",
106
+ "aria-multiselectable": multiple,
107
+ style: styles
108
+ }, searchable && (options.length === 0 || !groupsHaveOptions(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
109
+ icon: "search_off"
110
+ })), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
111
+ key: "option-".concat(optionalItem.value),
112
+ id: "option-".concat(0),
113
+ option: optionalItem,
114
+ onClick: handleOptionOnClick,
115
+ multiple: multiple,
116
+ visualFocused: visualFocusIndex === 0,
117
+ isGroupedOption: false,
118
+ isLastOption: lastOptionIndex === 0,
119
+ isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
120
+ }), options.map(mapOptionFunc));
121
+ };
122
+ 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) {
123
+ return props.theme.listDialogBackgroundColor;
124
+ }, function (props) {
125
+ return props.theme.listDialogBorderColor;
126
+ }, function (props) {
127
+ return props.theme.listOptionFontColor;
128
+ }, function (props) {
129
+ return props.theme.fontFamily;
130
+ }, function (props) {
131
+ return props.theme.listOptionFontSize;
132
+ }, function (props) {
133
+ return props.theme.listOptionFontStyle;
134
+ }, function (props) {
135
+ return props.theme.listOptionFontWeight;
136
+ });
137
+ 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) {
138
+ return props.theme.systemMessageFontColor;
139
+ });
140
+ 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"])));
141
+ var GroupList = _styledComponents["default"].ul(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
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
+ return props.theme.listGroupLabelFontWeight;
144
+ });
145
+ 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;