@dxc-technology/halstack-react 0.0.0-9b341c0 → 0.0.0-9bd9511

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 (465) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +37 -0
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +203 -0
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +121 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +108 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +57 -198
  19. package/alert/Alert.stories.tsx +198 -0
  20. package/alert/Alert.test.js +75 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +49 -0
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +43 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +97 -0
  34. package/box/Box.stories.tsx +147 -0
  35. package/box/Box.test.js +13 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +98 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +132 -0
  45. package/button/Button.stories.tsx +425 -0
  46. package/button/Button.test.js +26 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +138 -0
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +39 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +68 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +206 -0
  58. package/checkbox/Checkbox.stories.tsx +260 -0
  59. package/checkbox/Checkbox.test.js +128 -0
  60. package/checkbox/types.d.ts +68 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +137 -0
  64. package/chip/Chip.stories.tsx +206 -0
  65. package/chip/Chip.test.js +42 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/{dist/common → common}/utils.js +1 -6
  69. package/common/variables.d.ts +1431 -0
  70. package/{dist/common → common}/variables.js +588 -624
  71. package/date-input/Calendar.d.ts +4 -0
  72. package/date-input/Calendar.js +215 -0
  73. package/date-input/DateInput.d.ts +4 -0
  74. package/date-input/DateInput.js +222 -0
  75. package/date-input/DateInput.stories.tsx +304 -0
  76. package/date-input/DateInput.test.js +648 -0
  77. package/date-input/DatePicker.d.ts +4 -0
  78. package/date-input/DatePicker.js +116 -0
  79. package/date-input/Icons.d.ts +6 -0
  80. package/date-input/Icons.js +63 -0
  81. package/date-input/YearPicker.d.ts +4 -0
  82. package/date-input/YearPicker.js +101 -0
  83. package/date-input/types.d.ts +158 -0
  84. package/date-input/types.js +5 -0
  85. package/dialog/Dialog.d.ts +4 -0
  86. package/dialog/Dialog.js +134 -0
  87. package/dialog/Dialog.stories.tsx +289 -0
  88. package/dialog/Dialog.test.js +56 -0
  89. package/dialog/types.d.ts +44 -0
  90. package/dialog/types.js +5 -0
  91. package/dropdown/Dropdown.d.ts +4 -0
  92. package/dropdown/Dropdown.js +334 -0
  93. package/dropdown/Dropdown.stories.tsx +438 -0
  94. package/dropdown/Dropdown.test.js +479 -0
  95. package/dropdown/DropdownMenu.d.ts +4 -0
  96. package/dropdown/DropdownMenu.js +60 -0
  97. package/dropdown/DropdownMenuItem.d.ts +4 -0
  98. package/dropdown/DropdownMenuItem.js +70 -0
  99. package/dropdown/types.d.ts +100 -0
  100. package/dropdown/types.js +5 -0
  101. package/file-input/FileInput.d.ts +4 -0
  102. package/file-input/FileInput.js +463 -0
  103. package/file-input/FileInput.stories.tsx +618 -0
  104. package/file-input/FileInput.test.js +445 -0
  105. package/file-input/FileItem.d.ts +4 -0
  106. package/file-input/FileItem.js +135 -0
  107. package/file-input/types.d.ts +129 -0
  108. package/file-input/types.js +5 -0
  109. package/flex/Flex.d.ts +4 -0
  110. package/flex/Flex.js +57 -0
  111. package/flex/Flex.stories.tsx +103 -0
  112. package/flex/types.d.ts +32 -0
  113. package/flex/types.js +5 -0
  114. package/footer/Footer.d.ts +4 -0
  115. package/footer/Footer.js +153 -0
  116. package/footer/Footer.stories.tsx +228 -0
  117. package/footer/Footer.test.js +92 -0
  118. package/footer/Icons.d.ts +2 -0
  119. package/{dist/footer → footer}/Icons.js +16 -20
  120. package/footer/types.d.ts +66 -0
  121. package/footer/types.js +5 -0
  122. package/header/Header.d.ts +7 -0
  123. package/header/Header.js +259 -0
  124. package/header/Header.stories.tsx +315 -0
  125. package/header/Header.test.js +66 -0
  126. package/header/Icons.d.ts +2 -0
  127. package/{dist/header → header}/Icons.js +9 -38
  128. package/header/types.d.ts +48 -0
  129. package/header/types.js +5 -0
  130. package/heading/Heading.d.ts +4 -0
  131. package/{dist/heading → heading}/Heading.js +31 -123
  132. package/heading/Heading.stories.tsx +54 -0
  133. package/heading/Heading.test.js +169 -0
  134. package/heading/types.d.ts +33 -0
  135. package/heading/types.js +5 -0
  136. package/inset/Inset.d.ts +3 -0
  137. package/inset/Inset.js +43 -0
  138. package/inset/Inset.stories.tsx +229 -0
  139. package/inset/types.d.ts +37 -0
  140. package/inset/types.js +5 -0
  141. package/layout/ApplicationLayout.d.ts +20 -0
  142. package/layout/ApplicationLayout.js +132 -0
  143. package/layout/ApplicationLayout.stories.tsx +162 -0
  144. package/layout/Icons.d.ts +5 -0
  145. package/{dist/layout → layout}/Icons.js +17 -16
  146. package/layout/SidenavContext.d.ts +5 -0
  147. package/layout/SidenavContext.js +15 -0
  148. package/layout/types.d.ts +42 -0
  149. package/layout/types.js +5 -0
  150. package/link/Link.d.ts +4 -0
  151. package/link/Link.js +116 -0
  152. package/link/Link.stories.tsx +253 -0
  153. package/link/Link.test.js +65 -0
  154. package/link/types.d.ts +54 -0
  155. package/link/types.js +5 -0
  156. package/main.d.ts +44 -0
  157. package/{dist/main.js → main.js} +102 -139
  158. package/nav-tabs/NavTabs.d.ts +8 -0
  159. package/nav-tabs/NavTabs.js +95 -0
  160. package/nav-tabs/NavTabs.stories.tsx +260 -0
  161. package/nav-tabs/NavTabs.test.js +75 -0
  162. package/nav-tabs/Tab.d.ts +4 -0
  163. package/nav-tabs/Tab.js +120 -0
  164. package/nav-tabs/types.d.ts +53 -0
  165. package/nav-tabs/types.js +5 -0
  166. package/number-input/NumberInput.d.ts +4 -0
  167. package/number-input/NumberInput.js +66 -0
  168. package/number-input/NumberInput.stories.tsx +115 -0
  169. package/number-input/NumberInput.test.js +406 -0
  170. package/number-input/NumberInputContext.d.ts +4 -0
  171. package/{dist/number-input → number-input}/NumberInputContext.js +4 -6
  172. package/number-input/numberInputContextTypes.d.ts +19 -0
  173. package/number-input/numberInputContextTypes.js +5 -0
  174. package/number-input/types.d.ts +124 -0
  175. package/number-input/types.js +5 -0
  176. package/package.json +44 -34
  177. package/paginator/Icons.d.ts +5 -0
  178. package/paginator/Icons.js +44 -0
  179. package/paginator/Paginator.d.ts +4 -0
  180. package/paginator/Paginator.js +141 -0
  181. package/paginator/Paginator.stories.tsx +87 -0
  182. package/paginator/Paginator.test.js +266 -0
  183. package/paginator/types.d.ts +38 -0
  184. package/paginator/types.js +5 -0
  185. package/paragraph/Paragraph.d.ts +6 -0
  186. package/paragraph/Paragraph.js +28 -0
  187. package/paragraph/Paragraph.stories.tsx +44 -0
  188. package/password-input/PasswordInput.d.ts +4 -0
  189. package/password-input/PasswordInput.js +137 -0
  190. package/password-input/PasswordInput.stories.tsx +131 -0
  191. package/password-input/PasswordInput.test.js +138 -0
  192. package/password-input/types.d.ts +110 -0
  193. package/password-input/types.js +5 -0
  194. package/progress-bar/ProgressBar.d.ts +4 -0
  195. package/progress-bar/ProgressBar.js +151 -0
  196. package/progress-bar/ProgressBar.stories.jsx +93 -0
  197. package/progress-bar/ProgressBar.test.js +93 -0
  198. package/progress-bar/types.d.ts +36 -0
  199. package/progress-bar/types.js +5 -0
  200. package/quick-nav/QuickNav.d.ts +4 -0
  201. package/quick-nav/QuickNav.js +95 -0
  202. package/quick-nav/QuickNav.stories.tsx +356 -0
  203. package/quick-nav/types.d.ts +21 -0
  204. package/quick-nav/types.js +5 -0
  205. package/radio-group/Radio.d.ts +4 -0
  206. package/radio-group/Radio.js +125 -0
  207. package/radio-group/RadioGroup.d.ts +4 -0
  208. package/radio-group/RadioGroup.js +238 -0
  209. package/radio-group/RadioGroup.stories.tsx +214 -0
  210. package/radio-group/RadioGroup.test.js +620 -0
  211. package/radio-group/types.d.ts +114 -0
  212. package/radio-group/types.js +5 -0
  213. package/resultsetTable/Icons.d.ts +7 -0
  214. package/resultsetTable/Icons.js +48 -0
  215. package/resultsetTable/ResultsetTable.d.ts +4 -0
  216. package/resultsetTable/ResultsetTable.js +160 -0
  217. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  218. package/resultsetTable/ResultsetTable.test.js +292 -0
  219. package/resultsetTable/types.d.ts +67 -0
  220. package/resultsetTable/types.js +5 -0
  221. package/select/Icons.d.ts +10 -0
  222. package/select/Icons.js +90 -0
  223. package/select/Listbox.d.ts +4 -0
  224. package/select/Listbox.js +144 -0
  225. package/select/Option.d.ts +4 -0
  226. package/select/Option.js +81 -0
  227. package/select/Select.d.ts +4 -0
  228. package/select/Select.js +579 -0
  229. package/select/Select.stories.tsx +971 -0
  230. package/select/Select.test.js +1845 -0
  231. package/select/types.d.ts +210 -0
  232. package/select/types.js +5 -0
  233. package/sidenav/Sidenav.d.ts +10 -0
  234. package/sidenav/Sidenav.js +226 -0
  235. package/sidenav/Sidenav.stories.tsx +282 -0
  236. package/sidenav/Sidenav.test.js +37 -0
  237. package/sidenav/types.d.ts +73 -0
  238. package/sidenav/types.js +5 -0
  239. package/slider/Slider.d.ts +4 -0
  240. package/slider/Slider.js +296 -0
  241. package/slider/Slider.stories.tsx +240 -0
  242. package/slider/Slider.test.js +222 -0
  243. package/slider/types.d.ts +86 -0
  244. package/slider/types.js +5 -0
  245. package/spinner/Spinner.d.ts +4 -0
  246. package/spinner/Spinner.js +221 -0
  247. package/spinner/Spinner.stories.jsx +129 -0
  248. package/spinner/Spinner.test.js +55 -0
  249. package/spinner/types.d.ts +32 -0
  250. package/spinner/types.js +5 -0
  251. package/switch/Switch.d.ts +4 -0
  252. package/switch/Switch.js +220 -0
  253. package/switch/Switch.stories.tsx +171 -0
  254. package/switch/Switch.test.js +180 -0
  255. package/switch/types.d.ts +66 -0
  256. package/switch/types.js +5 -0
  257. package/table/Table.d.ts +4 -0
  258. package/{dist/table → table}/Table.js +15 -47
  259. package/table/Table.stories.jsx +356 -0
  260. package/table/Table.test.js +21 -0
  261. package/table/types.d.ts +21 -0
  262. package/table/types.js +5 -0
  263. package/tabs/Tab.d.ts +4 -0
  264. package/tabs/Tab.js +115 -0
  265. package/tabs/Tabs.d.ts +4 -0
  266. package/tabs/Tabs.js +392 -0
  267. package/tabs/Tabs.stories.tsx +226 -0
  268. package/tabs/Tabs.test.js +295 -0
  269. package/tabs/types.d.ts +92 -0
  270. package/tabs/types.js +5 -0
  271. package/tag/Tag.d.ts +4 -0
  272. package/tag/Tag.js +154 -0
  273. package/tag/Tag.stories.tsx +155 -0
  274. package/tag/Tag.test.js +49 -0
  275. package/tag/types.d.ts +69 -0
  276. package/tag/types.js +5 -0
  277. package/text-input/Icons.d.ts +8 -0
  278. package/text-input/Icons.js +57 -0
  279. package/text-input/Suggestion.d.ts +4 -0
  280. package/text-input/Suggestion.js +68 -0
  281. package/text-input/Suggestions.d.ts +4 -0
  282. package/text-input/Suggestions.js +109 -0
  283. package/text-input/TextInput.d.ts +4 -0
  284. package/text-input/TextInput.js +588 -0
  285. package/text-input/TextInput.stories.tsx +569 -0
  286. package/text-input/TextInput.test.js +1404 -0
  287. package/text-input/types.d.ts +197 -0
  288. package/text-input/types.js +5 -0
  289. package/textarea/Textarea.d.ts +4 -0
  290. package/{dist/textarea → textarea}/Textarea.js +79 -207
  291. package/textarea/Textarea.stories.jsx +216 -0
  292. package/textarea/Textarea.test.js +360 -0
  293. package/textarea/types.d.ts +137 -0
  294. package/textarea/types.js +5 -0
  295. package/toggle-group/ToggleGroup.d.ts +4 -0
  296. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +52 -199
  297. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  298. package/toggle-group/ToggleGroup.test.js +124 -0
  299. package/toggle-group/types.d.ts +105 -0
  300. package/toggle-group/types.js +5 -0
  301. package/translatedLabelsType.d.ts +82 -0
  302. package/translatedLabelsType.js +5 -0
  303. package/typography/Typography.d.ts +4 -0
  304. package/typography/Typography.js +119 -0
  305. package/typography/Typography.stories.tsx +198 -0
  306. package/typography/types.d.ts +18 -0
  307. package/typography/types.js +5 -0
  308. package/useTheme.d.ts +2 -0
  309. package/{dist/useTheme.js → useTheme.js} +3 -9
  310. package/useTranslatedLabels.d.ts +3 -0
  311. package/useTranslatedLabels.js +15 -0
  312. package/wizard/Wizard.d.ts +4 -0
  313. package/wizard/Wizard.js +251 -0
  314. package/wizard/Wizard.stories.tsx +253 -0
  315. package/wizard/Wizard.test.js +114 -0
  316. package/wizard/types.d.ts +65 -0
  317. package/wizard/types.js +5 -0
  318. package/README.md +0 -66
  319. package/babel.config.js +0 -8
  320. package/dist/BackgroundColorContext.js +0 -46
  321. package/dist/ThemeContext.js +0 -250
  322. package/dist/V3Select/V3Select.js +0 -549
  323. package/dist/V3Select/index.d.ts +0 -27
  324. package/dist/V3Textarea/V3Textarea.js +0 -264
  325. package/dist/V3Textarea/index.d.ts +0 -27
  326. package/dist/accordion/Accordion.js +0 -353
  327. package/dist/accordion/index.d.ts +0 -28
  328. package/dist/accordion-group/AccordionGroup.js +0 -186
  329. package/dist/accordion-group/index.d.ts +0 -16
  330. package/dist/alert/index.d.ts +0 -51
  331. package/dist/badge/Badge.js +0 -63
  332. package/dist/box/Box.js +0 -156
  333. package/dist/box/index.d.ts +0 -25
  334. package/dist/button/Button.js +0 -238
  335. package/dist/button/index.d.ts +0 -24
  336. package/dist/card/Card.js +0 -254
  337. package/dist/card/index.d.ts +0 -22
  338. package/dist/checkbox/Checkbox.js +0 -299
  339. package/dist/checkbox/index.d.ts +0 -24
  340. package/dist/chip/Chip.js +0 -265
  341. package/dist/chip/index.d.ts +0 -22
  342. package/dist/common/RequiredComponent.js +0 -40
  343. package/dist/date/Date.js +0 -379
  344. package/dist/date/index.d.ts +0 -27
  345. package/dist/date-input/DateInput.js +0 -400
  346. package/dist/date-input/index.d.ts +0 -95
  347. package/dist/dialog/Dialog.js +0 -218
  348. package/dist/dialog/index.d.ts +0 -18
  349. package/dist/dropdown/Dropdown.js +0 -544
  350. package/dist/dropdown/index.d.ts +0 -26
  351. package/dist/file-input/FileInput.js +0 -644
  352. package/dist/file-input/FileItem.js +0 -287
  353. package/dist/file-input/index.d.ts +0 -81
  354. package/dist/footer/Footer.js +0 -421
  355. package/dist/footer/index.d.ts +0 -25
  356. package/dist/header/Header.js +0 -470
  357. package/dist/header/index.d.ts +0 -25
  358. package/dist/heading/index.d.ts +0 -17
  359. package/dist/input-text/Icons.js +0 -22
  360. package/dist/input-text/InputText.js +0 -705
  361. package/dist/input-text/index.d.ts +0 -36
  362. package/dist/layout/ApplicationLayout.js +0 -327
  363. package/dist/link/Link.js +0 -237
  364. package/dist/link/index.d.ts +0 -23
  365. package/dist/main.d.ts +0 -40
  366. package/dist/number-input/NumberInput.js +0 -136
  367. package/dist/number-input/index.d.ts +0 -113
  368. package/dist/paginator/Icons.js +0 -66
  369. package/dist/paginator/Paginator.js +0 -283
  370. package/dist/paginator/index.d.ts +0 -20
  371. package/dist/password-input/PasswordInput.js +0 -203
  372. package/dist/password-input/index.d.ts +0 -94
  373. package/dist/progress-bar/ProgressBar.js +0 -242
  374. package/dist/progress-bar/index.d.ts +0 -18
  375. package/dist/radio/Radio.js +0 -209
  376. package/dist/radio/index.d.ts +0 -23
  377. package/dist/resultsetTable/ResultsetTable.js +0 -358
  378. package/dist/resultsetTable/index.d.ts +0 -19
  379. package/dist/select/Select.js +0 -1069
  380. package/dist/select/index.d.ts +0 -53
  381. package/dist/sidenav/Sidenav.js +0 -179
  382. package/dist/sidenav/index.d.ts +0 -13
  383. package/dist/slider/Slider.js +0 -404
  384. package/dist/slider/index.d.ts +0 -29
  385. package/dist/spinner/Spinner.js +0 -381
  386. package/dist/spinner/index.d.ts +0 -17
  387. package/dist/switch/Switch.js +0 -222
  388. package/dist/switch/index.d.ts +0 -24
  389. package/dist/table/index.d.ts +0 -13
  390. package/dist/tabs/Tabs.js +0 -343
  391. package/dist/tabs/index.d.ts +0 -19
  392. package/dist/tag/Tag.js +0 -282
  393. package/dist/tag/index.d.ts +0 -24
  394. package/dist/text-input/TextInput.js +0 -974
  395. package/dist/text-input/index.d.ts +0 -135
  396. package/dist/textarea/index.d.ts +0 -117
  397. package/dist/toggle/Toggle.js +0 -220
  398. package/dist/toggle/index.d.ts +0 -21
  399. package/dist/toggle-group/index.d.ts +0 -21
  400. package/dist/upload/Upload.js +0 -205
  401. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  402. package/dist/upload/buttons-upload/Icons.js +0 -40
  403. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  404. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  405. package/dist/upload/file-upload/FileToUpload.js +0 -189
  406. package/dist/upload/file-upload/Icons.js +0 -66
  407. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  408. package/dist/upload/index.d.ts +0 -15
  409. package/dist/upload/transaction/Icons.js +0 -160
  410. package/dist/upload/transaction/Transaction.js +0 -148
  411. package/dist/upload/transactions/Transactions.js +0 -138
  412. package/dist/wizard/Icons.js +0 -65
  413. package/dist/wizard/Wizard.js +0 -405
  414. package/dist/wizard/index.d.ts +0 -18
  415. package/test/Accordion.test.js +0 -33
  416. package/test/AccordionGroup.test.js +0 -125
  417. package/test/Alert.test.js +0 -53
  418. package/test/Box.test.js +0 -10
  419. package/test/Button.test.js +0 -18
  420. package/test/Card.test.js +0 -30
  421. package/test/Checkbox.test.js +0 -45
  422. package/test/Chip.test.js +0 -25
  423. package/test/Date.test.js +0 -395
  424. package/test/DateInput.test.js +0 -242
  425. package/test/Dialog.test.js +0 -23
  426. package/test/Dropdown.test.js +0 -145
  427. package/test/FileInput.test.js +0 -201
  428. package/test/Footer.test.js +0 -94
  429. package/test/Header.test.js +0 -34
  430. package/test/Heading.test.js +0 -83
  431. package/test/InputText.test.js +0 -240
  432. package/test/Link.test.js +0 -43
  433. package/test/NumberInput.test.js +0 -259
  434. package/test/Paginator.test.js +0 -177
  435. package/test/PasswordInput.test.js +0 -83
  436. package/test/ProgressBar.test.js +0 -35
  437. package/test/Radio.test.js +0 -37
  438. package/test/ResultsetTable.test.js +0 -329
  439. package/test/Sidenav.test.js +0 -45
  440. package/test/Slider.test.js +0 -74
  441. package/test/Spinner.test.js +0 -32
  442. package/test/Switch.test.js +0 -45
  443. package/test/Table.test.js +0 -36
  444. package/test/Tabs.test.js +0 -109
  445. package/test/Tag.test.js +0 -32
  446. package/test/TextInput.test.js +0 -732
  447. package/test/Textarea.test.js +0 -193
  448. package/test/ToggleGroup.test.js +0 -85
  449. package/test/Upload.test.js +0 -60
  450. package/test/V3Select.test.js +0 -212
  451. package/test/V3TextArea.test.js +0 -51
  452. package/test/Wizard.test.js +0 -130
  453. package/test/mocks/pngMock.js +0 -1
  454. package/test/mocks/svgMock.js +0 -1
  455. /package/{dist/common → common}/OpenSans.css +0 -0
  456. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  457. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  458. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  459. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  460. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  461. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  462. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  463. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  464. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  465. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
@@ -0,0 +1,479 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
5
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _Dropdown = _interopRequireDefault(require("./Dropdown"));
9
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
+ global.globalThis = global;
11
+ global.DOMRect = {
12
+ fromRect: function fromRect() {
13
+ return {
14
+ top: 0,
15
+ left: 0,
16
+ bottom: 0,
17
+ right: 0,
18
+ width: 0,
19
+ height: 0
20
+ };
21
+ }
22
+ };
23
+ global.ResizeObserver = /*#__PURE__*/function () {
24
+ function ResizeObserver() {
25
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
26
+ }
27
+ (0, _createClass2["default"])(ResizeObserver, [{
28
+ key: "observe",
29
+ value: function observe() {}
30
+ }, {
31
+ key: "unobserve",
32
+ value: function unobserve() {}
33
+ }, {
34
+ key: "disconnect",
35
+ value: function disconnect() {}
36
+ }]);
37
+ return ResizeObserver;
38
+ }();
39
+ var options = [{
40
+ value: "1",
41
+ label: "Amazon"
42
+ }, {
43
+ value: "2",
44
+ label: "Ebay"
45
+ }, {
46
+ value: "3",
47
+ label: "Wallapop"
48
+ }, {
49
+ value: "4",
50
+ label: "Aliexpress"
51
+ }];
52
+ describe("Dropdown component tests", function () {
53
+ test("Renders with correct aria attributes", function () {
54
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
55
+ options: options,
56
+ label: "dropdown-test"
57
+ })),
58
+ getAllByRole = _render.getAllByRole,
59
+ getByRole = _render.getByRole;
60
+ var dropdown = getByRole("button");
61
+ expect(dropdown.getAttribute("aria-haspopup")).toBe("true");
62
+ expect(dropdown.getAttribute("aria-expanded")).toBeNull();
63
+ expect(dropdown.getAttribute("aria-activedescendant")).toBeNull();
64
+ _userEvent["default"].click(dropdown);
65
+ var menu = getByRole("menu");
66
+ expect(dropdown.getAttribute("aria-controls")).toBe(menu.id);
67
+ expect(dropdown.getAttribute("aria-expanded")).toBe("true");
68
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
69
+ expect(menu.getAttribute("aria-orientation")).toBe("vertical");
70
+ expect(menu.getAttribute("aria-labelledby")).toBe(dropdown.id);
71
+ expect(getAllByRole("menuitem").length).toBe(4);
72
+ });
73
+ test("Button trigger opens and closes the menu options when clicked", function () {
74
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
75
+ options: options,
76
+ label: "dropdown-test"
77
+ })),
78
+ getByRole = _render2.getByRole,
79
+ queryByRole = _render2.queryByRole,
80
+ getByText = _render2.getByText;
81
+ var dropdown = getByRole("button");
82
+ expect(queryByRole("menu")).toBeFalsy();
83
+ _userEvent["default"].click(dropdown);
84
+ expect(queryByRole("menu")).toBeTruthy();
85
+ expect(getByText("Amazon")).toBeTruthy();
86
+ expect(getByText("Ebay")).toBeTruthy();
87
+ expect(getByText("Wallapop")).toBeTruthy();
88
+ expect(getByText("Aliexpress")).toBeTruthy();
89
+ _userEvent["default"].click(dropdown);
90
+ expect(queryByRole("menu")).toBeFalsy();
91
+ });
92
+ test("Button trigger is not interactable when disabled", function () {
93
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
94
+ disabled: true,
95
+ options: options,
96
+ label: "dropdown-test"
97
+ })),
98
+ getByRole = _render3.getByRole,
99
+ queryByRole = _render3.queryByRole,
100
+ queryByText = _render3.queryByText;
101
+ var dropdown = getByRole("button");
102
+ expect(queryByRole("menu")).toBeFalsy();
103
+ _userEvent["default"].click(dropdown);
104
+ expect(queryByRole("menu")).toBeFalsy();
105
+ expect(queryByText("Amazon")).toBeFalsy();
106
+ _userEvent["default"].click(dropdown);
107
+ expect(queryByRole("menu")).toBeFalsy();
108
+ expect(dropdown.getAttribute("aria-expanded")).toBeNull();
109
+ });
110
+ test("onSelectOption function is called correctly when an option is clicked", function () {
111
+ var onSelectOption = jest.fn();
112
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
113
+ options: options,
114
+ onSelectOption: onSelectOption,
115
+ label: "dropdown-test"
116
+ })),
117
+ getByText = _render4.getByText;
118
+ var dropdown = getByText("dropdown-test");
119
+ _userEvent["default"].click(dropdown);
120
+ var option = getByText("Aliexpress");
121
+ _userEvent["default"].click(option);
122
+ expect(onSelectOption).toHaveBeenCalledWith("4");
123
+ });
124
+ test("When expandOnHover is true, the dropdown trigger shows and hides the menu when it is hovered", function () {
125
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
126
+ options: options,
127
+ expandOnHover: true,
128
+ label: "dropdown-test"
129
+ })),
130
+ queryByText = _render5.queryByText,
131
+ getByRole = _render5.getByRole,
132
+ queryByRole = _render5.queryByRole;
133
+ expect(queryByText("option-test")).toBeFalsy();
134
+ expect(queryByRole("menu")).toBeFalsy();
135
+ _react2.fireEvent.mouseOver(getByRole("button"));
136
+ var menu = getByRole("menu");
137
+ expect(menu).toBeTruthy();
138
+ expect(document.activeElement === menu).toBeTruthy();
139
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
140
+ });
141
+ test("The menu is closed when the dropdown loses the focus (blur)", function () {
142
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
143
+ options: options,
144
+ label: "dropdown-test"
145
+ })),
146
+ getByRole = _render6.getByRole,
147
+ queryByRole = _render6.queryByRole;
148
+ var dropdown = getByRole("button");
149
+ _userEvent["default"].click(dropdown);
150
+ expect(getByRole("menu")).toBeTruthy();
151
+ _react2.fireEvent.blur(getByRole("menu"));
152
+ expect(queryByRole("menu")).toBeFalsy();
153
+ });
154
+ test("Menu button key events - Arrow up opens the list and moves the focus to the last menu item", function () {
155
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
156
+ options: options,
157
+ label: "dropdown-test"
158
+ })),
159
+ getByRole = _render7.getByRole;
160
+ var dropdown = getByRole("button");
161
+ _react2.fireEvent.keyDown(dropdown, {
162
+ key: "ArrowUp",
163
+ code: "ArrowUp",
164
+ keyCode: 38,
165
+ charCode: 38
166
+ });
167
+ var menu = getByRole("menu");
168
+ expect(menu).toBeTruthy();
169
+ expect(document.activeElement === menu).toBeTruthy();
170
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-3");
171
+ });
172
+ test("Menu button key events - Arrow down opens the list and moves the focus to the first menu item", function () {
173
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
174
+ options: options,
175
+ label: "dropdown-test"
176
+ })),
177
+ getByRole = _render8.getByRole;
178
+ var dropdown = getByRole("button");
179
+ _react2.fireEvent.keyDown(dropdown, {
180
+ key: "ArrowDown",
181
+ code: "ArrowDown",
182
+ keyCode: 40,
183
+ charCode: 40
184
+ });
185
+ var menu = getByRole("menu");
186
+ expect(menu).toBeTruthy();
187
+ expect(document.activeElement === menu).toBeTruthy();
188
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-0");
189
+ });
190
+ test("Menu button key events - Enter opens the list and moves the focus to the first menu item", function () {
191
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
192
+ options: options,
193
+ label: "dropdown-test"
194
+ })),
195
+ getByRole = _render9.getByRole;
196
+ var dropdown = getByRole("button");
197
+ _react2.fireEvent.keyDown(dropdown, {
198
+ key: "Enter",
199
+ code: "Enter",
200
+ keyCode: 13,
201
+ charCode: 13
202
+ });
203
+ var menu = getByRole("menu");
204
+ expect(menu).toBeTruthy();
205
+ expect(document.activeElement === menu).toBeTruthy();
206
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-0");
207
+ });
208
+ test("Menu button key events - Space opens the list and moves the focus to the first menu item", function () {
209
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
210
+ options: options,
211
+ label: "dropdown-test"
212
+ })),
213
+ getByRole = _render10.getByRole;
214
+ var dropdown = getByRole("button");
215
+ _react2.fireEvent.keyDown(dropdown, {
216
+ key: " ",
217
+ code: "Space",
218
+ keyCode: 32,
219
+ charCode: 32
220
+ });
221
+ var menu = getByRole("menu");
222
+ expect(menu).toBeTruthy();
223
+ expect(document.activeElement === menu).toBeTruthy();
224
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-0");
225
+ });
226
+ test("Menu key events - Arrow up moves the focus to the previous menu item", function () {
227
+ var onSelectOption = jest.fn();
228
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
229
+ onSelectOption: onSelectOption,
230
+ options: options,
231
+ label: "dropdown-test"
232
+ })),
233
+ getByRole = _render11.getByRole;
234
+ _react2.fireEvent.keyDown(getByRole("button"), {
235
+ key: "ArrowUp",
236
+ code: "ArrowUp",
237
+ keyCode: 38,
238
+ charCode: 38
239
+ });
240
+ var menu = getByRole("menu");
241
+ _react2.fireEvent.keyDown(menu, {
242
+ key: "ArrowUp",
243
+ code: "ArrowUp",
244
+ keyCode: 38,
245
+ charCode: 38
246
+ });
247
+ expect(document.activeElement === menu).toBeTruthy();
248
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-2");
249
+ _react2.fireEvent.keyDown(menu, {
250
+ key: "Enter",
251
+ code: "Enter",
252
+ keyCode: 13,
253
+ charCode: 13
254
+ });
255
+ expect(onSelectOption).toHaveBeenCalledWith("3");
256
+ });
257
+ test("Menu key events - Arrow up, if focus is on the first menu item, moves focus to the last menu item.", function () {
258
+ var onSelectOption = jest.fn();
259
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
260
+ onSelectOption: onSelectOption,
261
+ options: options,
262
+ label: "dropdown-test"
263
+ })),
264
+ getByRole = _render12.getByRole;
265
+ _userEvent["default"].click(getByRole("button"));
266
+ var menu = getByRole("menu");
267
+ _react2.fireEvent.keyDown(menu, {
268
+ key: "ArrowUp",
269
+ code: "ArrowUp",
270
+ keyCode: 38,
271
+ charCode: 38
272
+ });
273
+ expect(document.activeElement === menu).toBeTruthy();
274
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
275
+ _react2.fireEvent.keyDown(menu, {
276
+ key: "Enter",
277
+ code: "Enter",
278
+ keyCode: 13,
279
+ charCode: 13
280
+ });
281
+ expect(onSelectOption).toHaveBeenCalledWith("4");
282
+ });
283
+ test("Menu key events - Arrow down moves the focus to the next menu item", function () {
284
+ var onSelectOption = jest.fn();
285
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
286
+ onSelectOption: onSelectOption,
287
+ options: options,
288
+ label: "dropdown-test"
289
+ })),
290
+ getByRole = _render13.getByRole;
291
+ _userEvent["default"].click(getByRole("button"));
292
+ var menu = getByRole("menu");
293
+ _react2.fireEvent.keyDown(menu, {
294
+ key: "ArrowDown",
295
+ code: "ArrowDown",
296
+ keyCode: 40,
297
+ charCode: 40
298
+ });
299
+ _react2.fireEvent.keyDown(menu, {
300
+ key: "ArrowDown",
301
+ code: "ArrowDown",
302
+ keyCode: 40,
303
+ charCode: 40
304
+ });
305
+ expect(document.activeElement === menu).toBeTruthy();
306
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-2");
307
+ _react2.fireEvent.keyDown(menu, {
308
+ key: "Enter",
309
+ code: "Enter",
310
+ keyCode: 13,
311
+ charCode: 13
312
+ });
313
+ expect(onSelectOption).toHaveBeenCalledWith("3");
314
+ });
315
+ test("Menu key events - Arrow down, if focus is on the last menu item, moves focus to the first menu item. ", function () {
316
+ var onSelectOption = jest.fn();
317
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
318
+ onSelectOption: onSelectOption,
319
+ options: options,
320
+ label: "dropdown-test"
321
+ })),
322
+ getByRole = _render14.getByRole;
323
+ _react2.fireEvent.keyDown(getByRole("button"), {
324
+ key: "ArrowUp",
325
+ code: "ArrowUp",
326
+ keyCode: 38,
327
+ charCode: 38
328
+ });
329
+ var menu = getByRole("menu");
330
+ _react2.fireEvent.keyDown(menu, {
331
+ key: "ArrowDown",
332
+ code: "ArrowDown",
333
+ keyCode: 40,
334
+ charCode: 40
335
+ });
336
+ expect(document.activeElement === menu).toBeTruthy();
337
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
338
+ _react2.fireEvent.keyDown(menu, {
339
+ key: "Enter",
340
+ code: "Enter",
341
+ keyCode: 13,
342
+ charCode: 13
343
+ });
344
+ expect(onSelectOption).toHaveBeenCalledWith("1");
345
+ });
346
+ test("Menu key events - Enter key selects the current focused item and closes the menu", function () {
347
+ var onSelectOption = jest.fn();
348
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
349
+ onSelectOption: onSelectOption,
350
+ options: options,
351
+ label: "dropdown-test"
352
+ })),
353
+ getByRole = _render15.getByRole,
354
+ queryByRole = _render15.queryByRole;
355
+ _userEvent["default"].click(getByRole("button"));
356
+ _react2.fireEvent.keyDown(getByRole("menu"), {
357
+ key: "Enter",
358
+ code: "Enter",
359
+ keyCode: 13,
360
+ charCode: 13
361
+ });
362
+ expect(onSelectOption).toHaveBeenCalledWith("1");
363
+ expect(queryByRole("menu")).toBeFalsy();
364
+ expect(document.activeElement === getByRole("button")).toBeTruthy();
365
+ });
366
+ test("Menu key events - Esc closes the menu and sets focus on the menu button", function () {
367
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
368
+ options: options,
369
+ label: "dropdown-test"
370
+ })),
371
+ getByRole = _render16.getByRole,
372
+ queryByRole = _render16.queryByRole;
373
+ _userEvent["default"].click(getByRole("button"));
374
+ _react2.fireEvent.keyDown(getByRole("menu"), {
375
+ key: "Esc",
376
+ code: "Esc",
377
+ keyCode: 27,
378
+ charCode: 27
379
+ });
380
+ expect(queryByRole("menu")).toBeFalsy();
381
+ expect(document.activeElement === getByRole("button")).toBeTruthy();
382
+ });
383
+ test("Menu key events - Home moves the focus to the first menu item", function () {
384
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
385
+ options: options,
386
+ label: "dropdown-test-1"
387
+ })),
388
+ getByRole = _render17.getByRole;
389
+ _react2.fireEvent.keyDown(getByRole("button"), {
390
+ key: "ArrowUp",
391
+ code: "ArrowUp",
392
+ keyCode: 38,
393
+ charCode: 38
394
+ });
395
+ var menu = getByRole("menu");
396
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
397
+ _react2.fireEvent.keyDown(menu, {
398
+ key: "Home",
399
+ code: "Home",
400
+ keyCode: 36,
401
+ charCode: 36
402
+ });
403
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
404
+ });
405
+ test("Menu key events - End moves the focus to the last menu item", function () {
406
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
407
+ options: options,
408
+ label: "dropdown-test-1"
409
+ })),
410
+ getByRole = _render18.getByRole;
411
+ _userEvent["default"].click(getByRole("button"));
412
+ var menu = getByRole("menu");
413
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
414
+ _react2.fireEvent.keyDown(menu, {
415
+ key: "End",
416
+ code: "End",
417
+ keyCode: 35,
418
+ charCode: 35
419
+ });
420
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
421
+ });
422
+ test("Menu key events - PageUp moves the focus to the first menu item", function () {
423
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
424
+ options: options,
425
+ label: "dropdown-test-1"
426
+ })),
427
+ getByRole = _render19.getByRole;
428
+ _react2.fireEvent.keyDown(getByRole("button"), {
429
+ key: "ArrowUp",
430
+ code: "ArrowUp",
431
+ keyCode: 38,
432
+ charCode: 38
433
+ });
434
+ var menu = getByRole("menu");
435
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
436
+ _react2.fireEvent.keyDown(menu, {
437
+ key: "PageUp",
438
+ code: "PageUp",
439
+ keyCode: 33,
440
+ charCode: 33
441
+ });
442
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
443
+ });
444
+ test("Menu key events - PageDown moves the focus to the last menu item", function () {
445
+ var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
446
+ options: options,
447
+ label: "dropdown-test-1"
448
+ })),
449
+ getByRole = _render20.getByRole;
450
+ _userEvent["default"].click(getByRole("button"));
451
+ var menu = getByRole("menu");
452
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
453
+ _react2.fireEvent.keyDown(menu, {
454
+ key: "PageDown",
455
+ code: "PageDown",
456
+ keyCode: 34,
457
+ charCode: 34
458
+ });
459
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
460
+ });
461
+ test("Menu key events - Tab closes the menu and sets focus to the next element", function () {
462
+ var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
463
+ options: options,
464
+ label: "dropdown-test-1"
465
+ })),
466
+ getByRole = _render21.getByRole,
467
+ queryByRole = _render21.queryByRole;
468
+ var dropdown = getByRole("button");
469
+ _userEvent["default"].click(dropdown);
470
+ expect(getByRole("menu")).toBeTruthy();
471
+ _react2.fireEvent.keyDown(getByRole("menu"), {
472
+ key: "Tab",
473
+ code: "Tab",
474
+ keyCode: 9,
475
+ charCode: 9
476
+ });
477
+ expect(queryByRole("menu")).toBeFalsy();
478
+ });
479
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DropdownMenuProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<DropdownMenuProps & React.RefAttributes<HTMLUListElement>>>;
4
+ export default _default;
@@ -0,0 +1,60 @@
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 _DropdownMenuItem = _interopRequireDefault(require("./DropdownMenuItem"));
12
+ var _templateObject;
13
+ var DropdownMenu = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
14
+ var id = _ref.id,
15
+ dropdownTriggerId = _ref.dropdownTriggerId,
16
+ iconsPosition = _ref.iconsPosition,
17
+ visualFocusIndex = _ref.visualFocusIndex,
18
+ menuItemOnClick = _ref.menuItemOnClick,
19
+ onKeyDown = _ref.onKeyDown,
20
+ options = _ref.options,
21
+ styles = _ref.styles;
22
+ return /*#__PURE__*/_react["default"].createElement(DropdownMenuContainer, {
23
+ onMouseDown: function onMouseDown(event) {
24
+ // Prevent the onBlur event from closing menu when clicking on the menu since
25
+ // it is implemented with a Portal and the menu is not a direct child of the container
26
+ event.preventDefault();
27
+ },
28
+ onKeyDown: onKeyDown,
29
+ id: id,
30
+ role: "menu",
31
+ "aria-labelledby": dropdownTriggerId,
32
+ "aria-orientation": "vertical",
33
+ "aria-activedescendant": "option-".concat(visualFocusIndex),
34
+ tabIndex: -1,
35
+ ref: ref,
36
+ style: styles
37
+ }, options.map(function (option, index) {
38
+ return /*#__PURE__*/_react["default"].createElement(_DropdownMenuItem["default"], {
39
+ id: "option-".concat(index),
40
+ key: "option-".concat(index),
41
+ visuallyFocused: index === visualFocusIndex,
42
+ iconPosition: iconsPosition,
43
+ onClick: menuItemOnClick,
44
+ option: option
45
+ });
46
+ }));
47
+ });
48
+ var DropdownMenuContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 230px;\n min-width: min-content;\n overflow-y: auto;\n padding: 0;\n margin: 0;\n background-color: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-radius: ", ";\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n outline: none;\n"])), function (props) {
49
+ return props.theme.optionBackgroundColor;
50
+ }, function (props) {
51
+ return props.theme.borderThickness;
52
+ }, function (props) {
53
+ return props.theme.borderStyle;
54
+ }, function (props) {
55
+ return props.theme.borderColor;
56
+ }, function (props) {
57
+ return props.theme.borderRadius;
58
+ });
59
+ var _default = /*#__PURE__*/_react["default"].memo(DropdownMenu);
60
+ exports["default"] = _default;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DropdownMenuItemProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ id, visuallyFocused, iconPosition, onClick, option, }: DropdownMenuItemProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,70 @@
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 _templateObject, _templateObject2, _templateObject3;
12
+ var DropdownMenuItem = function DropdownMenuItem(_ref) {
13
+ var id = _ref.id,
14
+ visuallyFocused = _ref.visuallyFocused,
15
+ iconPosition = _ref.iconPosition,
16
+ _onClick = _ref.onClick,
17
+ option = _ref.option;
18
+ return /*#__PURE__*/_react["default"].createElement(DropdownMenuItemContainer, {
19
+ visuallyFocused: visuallyFocused,
20
+ onClick: function onClick() {
21
+ _onClick(option.value);
22
+ },
23
+ id: id,
24
+ role: "menuitem",
25
+ tabIndex: -1
26
+ }, iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label), option.icon && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemIcon, {
27
+ iconPosition: iconPosition,
28
+ label: option.label,
29
+ role: typeof option.icon === "string" ? undefined : "img"
30
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
31
+ src: option.icon
32
+ }) : option.icon), iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label));
33
+ };
34
+ var DropdownMenuItemContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: ", ";\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n cursor: pointer;\n\n ", "\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
35
+ return props.theme.optionIconSpacing;
36
+ }, function (props) {
37
+ return props.theme.optionPaddingTop;
38
+ }, function (props) {
39
+ return props.theme.optionPaddingBottom;
40
+ }, function (props) {
41
+ return props.theme.optionPaddingLeft;
42
+ }, function (props) {
43
+ return props.theme.optionPaddingRight;
44
+ }, function (props) {
45
+ return props.visuallyFocused && "outline: ".concat(props.theme.focusColor, " solid 2px; outline-offset: -2px;");
46
+ }, function (props) {
47
+ return props.theme.hoverOptionBackgroundColor;
48
+ }, function (props) {
49
+ return props.theme.activeOptionBackgroundColor;
50
+ });
51
+ var DropdownMenuItemLabel = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5rem;\n color: ", ";\n white-space: nowrap;\n"])), function (props) {
52
+ return props.theme.optionFontFamily;
53
+ }, function (props) {
54
+ return props.theme.optionFontSize;
55
+ }, function (props) {
56
+ return props.theme.optionFontStyle;
57
+ }, function (props) {
58
+ return props.theme.optionFontWeight;
59
+ }, function (props) {
60
+ return props.theme.optionFontColor;
61
+ });
62
+ var DropdownMenuItemIcon = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
63
+ return props.theme.optionIconColor;
64
+ }, function (props) {
65
+ return props.theme.optionIconSize;
66
+ }, function (props) {
67
+ return props.theme.optionIconSize;
68
+ });
69
+ var _default = /*#__PURE__*/_react["default"].memo(DropdownMenuItem);
70
+ exports["default"] = _default;