@dxc-technology/halstack-react 0.0.0-951bb80 → 0.0.0-95b5b84

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 (433) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1249 -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 +104 -182
  9. package/accordion/Accordion.stories.tsx +85 -141
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +10 -17
  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 +38 -107
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  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 +16 -17
  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 +35 -125
  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 +141 -41
  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.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +26 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +30 -81
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +13 -0
  47. package/box/types.d.ts +3 -14
  48. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +92 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/button/Button.accessibility.test.js +127 -0
  54. package/button/Button.d.ts +1 -1
  55. package/button/Button.js +63 -113
  56. package/button/Button.stories.tsx +151 -100
  57. package/button/Button.test.js +38 -0
  58. package/button/types.d.ts +12 -8
  59. package/card/Card.accessibility.test.js +36 -0
  60. package/card/Card.d.ts +1 -1
  61. package/card/Card.js +58 -102
  62. package/card/Card.stories.tsx +12 -42
  63. package/card/Card.test.js +39 -0
  64. package/card/types.d.ts +6 -11
  65. package/checkbox/Checkbox.accessibility.test.js +87 -0
  66. package/checkbox/Checkbox.d.ts +2 -2
  67. package/checkbox/Checkbox.js +144 -182
  68. package/checkbox/Checkbox.stories.tsx +166 -136
  69. package/checkbox/Checkbox.test.js +199 -0
  70. package/checkbox/types.d.ts +18 -6
  71. package/chip/Chip.accessibility.test.js +67 -0
  72. package/chip/Chip.js +39 -79
  73. package/chip/Chip.stories.tsx +120 -26
  74. package/chip/Chip.test.js +41 -0
  75. package/chip/types.d.ts +4 -4
  76. package/common/coreTokens.d.ts +237 -0
  77. package/common/coreTokens.js +184 -0
  78. package/common/utils.d.ts +1 -0
  79. package/common/utils.js +6 -12
  80. package/common/variables.d.ts +1395 -0
  81. package/common/variables.js +1030 -1374
  82. package/container/Container.d.ts +4 -0
  83. package/container/Container.js +194 -0
  84. package/container/Container.stories.tsx +214 -0
  85. package/container/types.d.ts +74 -0
  86. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  87. package/contextual-menu/ContextualMenu.d.ts +7 -0
  88. package/contextual-menu/ContextualMenu.js +71 -0
  89. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  90. package/contextual-menu/ContextualMenu.test.js +71 -0
  91. package/contextual-menu/MenuItemAction.d.ts +4 -0
  92. package/contextual-menu/MenuItemAction.js +46 -0
  93. package/contextual-menu/types.d.ts +22 -0
  94. package/date-input/Calendar.d.ts +4 -0
  95. package/date-input/Calendar.js +214 -0
  96. package/date-input/DateInput.accessibility.test.js +216 -0
  97. package/date-input/DateInput.js +171 -306
  98. package/date-input/DateInput.stories.tsx +203 -56
  99. package/date-input/DateInput.test.js +808 -0
  100. package/date-input/DatePicker.d.ts +4 -0
  101. package/date-input/DatePicker.js +115 -0
  102. package/date-input/Icons.d.ts +6 -0
  103. package/date-input/Icons.js +58 -0
  104. package/date-input/YearPicker.d.ts +4 -0
  105. package/date-input/YearPicker.js +100 -0
  106. package/date-input/types.d.ts +86 -22
  107. package/dialog/Dialog.accessibility.test.js +69 -0
  108. package/dialog/Dialog.d.ts +1 -1
  109. package/dialog/Dialog.js +68 -130
  110. package/dialog/Dialog.stories.tsx +320 -167
  111. package/dialog/Dialog.test.js +307 -0
  112. package/dialog/types.d.ts +18 -25
  113. package/divider/Divider.accessibility.test.js +33 -0
  114. package/divider/Divider.d.ts +4 -0
  115. package/divider/Divider.js +36 -0
  116. package/divider/Divider.stories.tsx +223 -0
  117. package/divider/Divider.test.js +38 -0
  118. package/divider/types.d.ts +21 -0
  119. package/dropdown/Dropdown.accessibility.test.js +180 -0
  120. package/dropdown/Dropdown.d.ts +1 -1
  121. package/dropdown/Dropdown.js +231 -307
  122. package/dropdown/Dropdown.stories.tsx +235 -57
  123. package/dropdown/Dropdown.test.js +599 -0
  124. package/dropdown/DropdownMenu.d.ts +4 -0
  125. package/dropdown/DropdownMenu.js +63 -0
  126. package/dropdown/DropdownMenuItem.d.ts +4 -0
  127. package/dropdown/DropdownMenuItem.js +70 -0
  128. package/dropdown/types.d.ts +35 -19
  129. package/file-input/FileInput.accessibility.test.js +160 -0
  130. package/file-input/FileInput.d.ts +2 -2
  131. package/file-input/FileInput.js +246 -357
  132. package/file-input/FileInput.stories.tsx +123 -12
  133. package/file-input/FileInput.test.js +459 -0
  134. package/file-input/FileItem.d.ts +4 -14
  135. package/file-input/FileItem.js +50 -99
  136. package/file-input/types.d.ts +25 -8
  137. package/flex/Flex.d.ts +4 -0
  138. package/flex/Flex.js +57 -0
  139. package/flex/Flex.stories.tsx +112 -0
  140. package/flex/types.d.ts +97 -0
  141. package/flex/types.js +5 -0
  142. package/footer/Footer.accessibility.test.js +117 -0
  143. package/footer/Footer.d.ts +1 -1
  144. package/footer/Footer.js +70 -190
  145. package/footer/Footer.stories.tsx +61 -21
  146. package/footer/Footer.test.js +85 -0
  147. package/footer/Icons.d.ts +3 -2
  148. package/footer/Icons.js +67 -8
  149. package/footer/types.d.ts +25 -26
  150. package/grid/Grid.d.ts +7 -0
  151. package/grid/Grid.js +76 -0
  152. package/grid/Grid.stories.tsx +219 -0
  153. package/grid/types.d.ts +115 -0
  154. package/grid/types.js +5 -0
  155. package/header/Header.accessibility.test.js +84 -0
  156. package/header/Header.d.ts +4 -3
  157. package/header/Header.js +99 -203
  158. package/header/Header.stories.tsx +152 -63
  159. package/header/Header.test.js +66 -0
  160. package/header/Icons.d.ts +2 -2
  161. package/header/Icons.js +4 -9
  162. package/header/types.d.ts +7 -21
  163. package/heading/Heading.accessibility.test.js +33 -0
  164. package/heading/Heading.js +10 -32
  165. package/heading/Heading.test.js +169 -0
  166. package/heading/types.d.ts +7 -7
  167. package/icon/Icon.accessibility.test.js +30 -0
  168. package/icon/Icon.d.ts +4 -0
  169. package/icon/Icon.js +33 -0
  170. package/icon/Icon.stories.tsx +28 -0
  171. package/icon/types.d.ts +4 -0
  172. package/icon/types.js +5 -0
  173. package/image/Image.accessibility.test.js +56 -0
  174. package/image/Image.d.ts +4 -0
  175. package/image/Image.js +70 -0
  176. package/image/Image.stories.tsx +129 -0
  177. package/image/types.d.ts +72 -0
  178. package/image/types.js +5 -0
  179. package/inset/Inset.js +14 -55
  180. package/inset/Inset.stories.tsx +37 -36
  181. package/inset/types.d.ts +26 -2
  182. package/layout/ApplicationLayout.d.ts +16 -6
  183. package/layout/ApplicationLayout.js +83 -174
  184. package/layout/ApplicationLayout.stories.tsx +85 -94
  185. package/layout/Icons.d.ts +8 -0
  186. package/layout/Icons.js +49 -48
  187. package/layout/types.d.ts +19 -35
  188. package/link/Link.accessibility.test.js +112 -0
  189. package/link/Link.d.ts +3 -2
  190. package/link/Link.js +61 -99
  191. package/link/Link.stories.tsx +155 -53
  192. package/link/Link.test.js +63 -0
  193. package/link/types.d.ts +15 -31
  194. package/main.d.ts +18 -18
  195. package/main.js +77 -123
  196. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  197. package/nav-tabs/NavTabs.d.ts +7 -0
  198. package/nav-tabs/NavTabs.js +93 -0
  199. package/nav-tabs/NavTabs.stories.tsx +276 -0
  200. package/nav-tabs/NavTabs.test.js +76 -0
  201. package/nav-tabs/NavTabsContext.d.ts +3 -0
  202. package/nav-tabs/NavTabsContext.js +8 -0
  203. package/nav-tabs/Tab.d.ts +4 -0
  204. package/nav-tabs/Tab.js +118 -0
  205. package/nav-tabs/types.d.ts +52 -0
  206. package/nav-tabs/types.js +5 -0
  207. package/number-input/NumberInput.accessibility.test.js +228 -0
  208. package/number-input/NumberInput.js +47 -44
  209. package/number-input/NumberInput.stories.tsx +44 -28
  210. package/number-input/NumberInput.test.js +989 -0
  211. package/number-input/NumberInputContext.d.ts +3 -4
  212. package/number-input/NumberInputContext.js +3 -14
  213. package/number-input/types.d.ts +34 -15
  214. package/package.json +52 -53
  215. package/paginator/Icons.d.ts +5 -0
  216. package/paginator/Icons.js +21 -47
  217. package/paginator/Paginator.accessibility.test.js +79 -0
  218. package/paginator/Paginator.js +34 -91
  219. package/paginator/Paginator.stories.tsx +24 -0
  220. package/paginator/Paginator.test.js +335 -0
  221. package/paginator/types.d.ts +3 -3
  222. package/paragraph/Paragraph.accessibility.test.js +28 -0
  223. package/paragraph/Paragraph.d.ts +5 -0
  224. package/paragraph/Paragraph.js +22 -0
  225. package/paragraph/Paragraph.stories.tsx +27 -0
  226. package/password-input/Icons.d.ts +6 -0
  227. package/password-input/Icons.js +35 -0
  228. package/password-input/PasswordInput.accessibility.test.js +153 -0
  229. package/password-input/PasswordInput.js +57 -123
  230. package/password-input/PasswordInput.stories.tsx +1 -33
  231. package/password-input/PasswordInput.test.js +198 -0
  232. package/password-input/types.d.ts +21 -17
  233. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  234. package/progress-bar/ProgressBar.js +65 -91
  235. package/progress-bar/ProgressBar.stories.tsx +93 -0
  236. package/progress-bar/ProgressBar.test.js +93 -0
  237. package/progress-bar/types.d.ts +3 -3
  238. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  239. package/quick-nav/QuickNav.d.ts +4 -0
  240. package/quick-nav/QuickNav.js +94 -0
  241. package/quick-nav/QuickNav.stories.tsx +356 -0
  242. package/quick-nav/types.d.ts +21 -0
  243. package/quick-nav/types.js +5 -0
  244. package/radio-group/Radio.d.ts +1 -1
  245. package/radio-group/Radio.js +64 -80
  246. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  247. package/radio-group/RadioGroup.js +101 -139
  248. package/radio-group/RadioGroup.stories.tsx +171 -36
  249. package/radio-group/RadioGroup.test.js +691 -183
  250. package/radio-group/types.d.ts +89 -11
  251. package/resultset-table/Icons.d.ts +7 -0
  252. package/resultset-table/Icons.js +47 -0
  253. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  254. package/resultset-table/ResultsetTable.d.ts +7 -0
  255. package/resultset-table/ResultsetTable.js +170 -0
  256. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  257. package/resultset-table/ResultsetTable.test.js +381 -0
  258. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  259. package/resultset-table/types.js +5 -0
  260. package/select/Icons.d.ts +10 -0
  261. package/select/Icons.js +89 -0
  262. package/select/Listbox.d.ts +4 -0
  263. package/select/Listbox.js +143 -0
  264. package/select/Option.d.ts +4 -0
  265. package/select/Option.js +87 -0
  266. package/select/Select.accessibility.test.js +217 -0
  267. package/select/Select.js +229 -502
  268. package/select/Select.stories.tsx +602 -204
  269. package/select/Select.test.js +2370 -0
  270. package/select/types.d.ts +64 -25
  271. package/sidenav/Icons.d.ts +7 -0
  272. package/sidenav/Icons.js +47 -0
  273. package/sidenav/Sidenav.accessibility.test.js +59 -0
  274. package/sidenav/Sidenav.d.ts +6 -5
  275. package/sidenav/Sidenav.js +132 -71
  276. package/sidenav/Sidenav.stories.tsx +250 -151
  277. package/sidenav/Sidenav.test.js +37 -0
  278. package/sidenav/SidenavContext.d.ts +5 -0
  279. package/sidenav/SidenavContext.js +13 -0
  280. package/sidenav/types.d.ts +52 -26
  281. package/slider/Slider.accessibility.test.js +104 -0
  282. package/slider/Slider.d.ts +2 -2
  283. package/slider/Slider.js +148 -180
  284. package/slider/Slider.test.js +254 -0
  285. package/slider/types.d.ts +11 -3
  286. package/spinner/Spinner.accessibility.test.js +96 -0
  287. package/spinner/Spinner.js +31 -75
  288. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  289. package/spinner/Spinner.test.js +55 -0
  290. package/spinner/types.d.ts +3 -3
  291. package/status-light/StatusLight.accessibility.test.js +157 -0
  292. package/status-light/StatusLight.d.ts +4 -0
  293. package/status-light/StatusLight.js +51 -0
  294. package/status-light/StatusLight.stories.tsx +74 -0
  295. package/status-light/StatusLight.test.js +25 -0
  296. package/status-light/types.d.ts +17 -0
  297. package/status-light/types.js +5 -0
  298. package/switch/Switch.accessibility.test.js +89 -0
  299. package/switch/Switch.d.ts +2 -2
  300. package/switch/Switch.js +149 -114
  301. package/switch/Switch.stories.tsx +44 -67
  302. package/switch/Switch.test.js +180 -0
  303. package/switch/types.d.ts +13 -5
  304. package/table/DropdownTheme.js +62 -0
  305. package/table/Table.accessibility.test.js +82 -0
  306. package/table/Table.d.ts +6 -2
  307. package/table/Table.js +78 -35
  308. package/table/Table.stories.tsx +651 -0
  309. package/table/Table.test.js +113 -0
  310. package/table/types.d.ts +34 -6
  311. package/tabs/Tab.d.ts +4 -0
  312. package/tabs/Tab.js +116 -0
  313. package/tabs/Tabs.accessibility.test.js +56 -0
  314. package/tabs/Tabs.d.ts +1 -1
  315. package/tabs/Tabs.js +316 -145
  316. package/tabs/Tabs.stories.tsx +120 -14
  317. package/tabs/Tabs.test.js +294 -0
  318. package/tabs/types.d.ts +29 -15
  319. package/tag/Tag.accessibility.test.js +69 -0
  320. package/tag/Tag.js +41 -78
  321. package/tag/Tag.stories.tsx +25 -8
  322. package/tag/Tag.test.js +49 -0
  323. package/tag/types.d.ts +7 -7
  324. package/text-input/Suggestion.d.ts +4 -0
  325. package/text-input/Suggestion.js +67 -0
  326. package/text-input/Suggestions.d.ts +4 -0
  327. package/text-input/Suggestions.js +86 -0
  328. package/text-input/TextInput.accessibility.test.js +321 -0
  329. package/text-input/TextInput.js +329 -556
  330. package/text-input/TextInput.stories.tsx +281 -272
  331. package/text-input/TextInput.test.js +1756 -0
  332. package/text-input/types.d.ts +70 -24
  333. package/textarea/Textarea.accessibility.test.js +155 -0
  334. package/textarea/Textarea.js +85 -135
  335. package/textarea/Textarea.stories.tsx +174 -0
  336. package/textarea/Textarea.test.js +406 -0
  337. package/textarea/types.d.ts +27 -16
  338. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  339. package/toggle-group/ToggleGroup.d.ts +2 -2
  340. package/toggle-group/ToggleGroup.js +92 -105
  341. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  342. package/toggle-group/ToggleGroup.test.js +137 -0
  343. package/toggle-group/types.d.ts +34 -17
  344. package/typography/Typography.accessibility.test.js +339 -0
  345. package/typography/Typography.d.ts +4 -0
  346. package/typography/Typography.js +23 -0
  347. package/typography/Typography.stories.tsx +198 -0
  348. package/typography/types.d.ts +18 -0
  349. package/typography/types.js +5 -0
  350. package/useTheme.d.ts +1147 -1
  351. package/useTheme.js +4 -11
  352. package/useTranslatedLabels.d.ts +85 -0
  353. package/useTranslatedLabels.js +14 -0
  354. package/utils/BaseTypography.d.ts +21 -0
  355. package/utils/BaseTypography.js +94 -0
  356. package/utils/FocusLock.d.ts +13 -0
  357. package/utils/FocusLock.js +124 -0
  358. package/wizard/Wizard.accessibility.test.js +55 -0
  359. package/wizard/Wizard.d.ts +1 -1
  360. package/wizard/Wizard.js +70 -101
  361. package/wizard/Wizard.stories.tsx +48 -19
  362. package/wizard/Wizard.test.js +114 -0
  363. package/wizard/types.d.ts +13 -9
  364. package/ThemeContext.d.ts +0 -15
  365. package/ThemeContext.js +0 -243
  366. package/V3Select/V3Select.js +0 -455
  367. package/V3Select/index.d.ts +0 -27
  368. package/V3Textarea/V3Textarea.js +0 -260
  369. package/V3Textarea/index.d.ts +0 -27
  370. package/card/ice-cream.jpg +0 -0
  371. package/common/OpenSans.css +0 -81
  372. package/common/RequiredComponent.js +0 -32
  373. package/common/fonts/OpenSans-Bold.ttf +0 -0
  374. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  375. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  376. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  377. package/common/fonts/OpenSans-Italic.ttf +0 -0
  378. package/common/fonts/OpenSans-Light.ttf +0 -0
  379. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  380. package/common/fonts/OpenSans-Regular.ttf +0 -0
  381. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  382. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  383. package/date/Date.js +0 -373
  384. package/date/index.d.ts +0 -27
  385. package/input-text/Icons.js +0 -22
  386. package/input-text/InputText.js +0 -611
  387. package/input-text/index.d.ts +0 -36
  388. package/list/List.d.ts +0 -4
  389. package/list/List.js +0 -47
  390. package/list/List.stories.tsx +0 -95
  391. package/list/types.d.ts +0 -7
  392. package/number-input/numberInputContextTypes.d.ts +0 -19
  393. package/progress-bar/ProgressBar.stories.jsx +0 -58
  394. package/radio/Radio.d.ts +0 -4
  395. package/radio/Radio.js +0 -174
  396. package/radio/Radio.stories.tsx +0 -192
  397. package/radio/types.d.ts +0 -54
  398. package/resultsetTable/ResultsetTable.d.ts +0 -4
  399. package/resultsetTable/ResultsetTable.js +0 -251
  400. package/row/Row.d.ts +0 -3
  401. package/row/Row.js +0 -127
  402. package/row/Row.stories.tsx +0 -237
  403. package/row/types.d.ts +0 -10
  404. package/slider/Slider.stories.tsx +0 -177
  405. package/stack/Stack.d.ts +0 -3
  406. package/stack/Stack.js +0 -97
  407. package/stack/Stack.stories.tsx +0 -164
  408. package/stack/types.d.ts +0 -9
  409. package/table/Table.stories.jsx +0 -277
  410. package/text/Text.d.ts +0 -7
  411. package/text/Text.js +0 -30
  412. package/text/Text.stories.tsx +0 -19
  413. package/textarea/Textarea.stories.jsx +0 -136
  414. package/toggle/Toggle.js +0 -186
  415. package/toggle/index.d.ts +0 -21
  416. package/upload/Upload.js +0 -201
  417. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  418. package/upload/buttons-upload/Icons.js +0 -40
  419. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  420. package/upload/dragAndDropArea/Icons.js +0 -39
  421. package/upload/file-upload/FileToUpload.js +0 -115
  422. package/upload/file-upload/Icons.js +0 -66
  423. package/upload/files-upload/FilesToUpload.js +0 -109
  424. package/upload/index.d.ts +0 -15
  425. package/upload/transaction/Icons.js +0 -160
  426. package/upload/transaction/Transaction.js +0 -104
  427. package/upload/transactions/Transactions.js +0 -94
  428. /package/{list → action-icon}/types.js +0 -0
  429. /package/{radio → badge}/types.js +0 -0
  430. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  431. /package/{row → container}/types.js +0 -0
  432. /package/{stack → contextual-menu}/types.js +0 -0
  433. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type Column = {
9
+ export type Column = {
10
10
  /**
11
11
  * Column display value.
12
12
  */
@@ -16,7 +16,7 @@ declare type Column = {
16
16
  */
17
17
  isSortable?: boolean;
18
18
  };
19
- declare type Row = {
19
+ export type Row = {
20
20
  /**
21
21
  * Value to be displayed in the cell.
22
22
  */
@@ -27,7 +27,7 @@ declare type Row = {
27
27
  */
28
28
  sortValue?: string;
29
29
  };
30
- declare type Props = {
30
+ type CommonProps = {
31
31
  /**
32
32
  * An array of objects representing the columns of the table.
33
33
  */
@@ -37,6 +37,24 @@ declare type Props = {
37
37
  * as many objects as columns in the table.
38
38
  */
39
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;
40
58
  /**
41
59
  * If true, a select component for navigation between pages will be displayed.
42
60
  */
@@ -53,15 +71,30 @@ declare type Props = {
53
71
  * This function will be called when the user selects an item per page
54
72
  * option. The value selected will be passed as a parameter.
55
73
  */
56
- itemsPerPageFunction?: (newValue: number) => void;
74
+ itemsPerPageFunction?: (value: number) => void;
75
+ };
76
+ type NonPaginatedProps = CommonProps & {
57
77
  /**
58
- * Size of the margin to be applied to the component. You can pass an object with 'top',
59
- * 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
78
+ * If true, paginator will not be displayed.
60
79
  */
61
- margin?: Space | Margin;
80
+ hidePaginator: true;
62
81
  /**
63
- * Value of the tabindex attribute given to the sortable icon.
82
+ * If true, a select component for navigation between pages will be displayed.
64
83
  */
65
- tabIndex?: number;
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;
66
98
  };
99
+ type Props = PaginatedProps | NonPaginatedProps;
67
100
  export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ declare const selectIcons: {
3
+ error: React.JSX.Element;
4
+ arrowUp: React.JSX.Element;
5
+ arrowDown: React.JSX.Element;
6
+ clear: React.JSX.Element;
7
+ selected: React.JSX.Element;
8
+ searchOff: React.JSX.Element;
9
+ };
10
+ export default selectIcons;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var selectIcons = {
10
+ error: /*#__PURE__*/_react["default"].createElement("svg", {
11
+ role: "img",
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ height: "24px",
14
+ viewBox: "0 0 24 24",
15
+ width: "24px",
16
+ fill: "currentColor"
17
+ }, /*#__PURE__*/_react["default"].createElement("path", {
18
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
19
+ })),
20
+ arrowUp: /*#__PURE__*/_react["default"].createElement("svg", {
21
+ role: "img",
22
+ xmlns: "http://www.w3.org/2000/svg",
23
+ height: "24px",
24
+ viewBox: "0 0 24 24",
25
+ width: "24px",
26
+ fill: "currentColor"
27
+ }, /*#__PURE__*/_react["default"].createElement("path", {
28
+ d: "M0 0h24v24H0V0z",
29
+ fill: "none"
30
+ }), /*#__PURE__*/_react["default"].createElement("path", {
31
+ d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
32
+ })),
33
+ arrowDown: /*#__PURE__*/_react["default"].createElement("svg", {
34
+ role: "img",
35
+ xmlns: "http://www.w3.org/2000/svg",
36
+ height: "24px",
37
+ viewBox: "0 0 24 24",
38
+ width: "24px",
39
+ fill: "currentColor"
40
+ }, /*#__PURE__*/_react["default"].createElement("path", {
41
+ d: "M0 0h24v24H0V0z",
42
+ fill: "none"
43
+ }), /*#__PURE__*/_react["default"].createElement("path", {
44
+ d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
45
+ })),
46
+ clear: /*#__PURE__*/_react["default"].createElement("svg", {
47
+ role: "img",
48
+ xmlns: "http://www.w3.org/2000/svg",
49
+ width: "24",
50
+ height: "24",
51
+ viewBox: "0 0 24 24",
52
+ fill: "currentColor"
53
+ }, /*#__PURE__*/_react["default"].createElement("path", {
54
+ d: "M0 0h24v24H0V0z",
55
+ fill: "none"
56
+ }), /*#__PURE__*/_react["default"].createElement("path", {
57
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
58
+ })),
59
+ selected: /*#__PURE__*/_react["default"].createElement("svg", {
60
+ role: "img",
61
+ xmlns: "http://www.w3.org/2000/svg",
62
+ height: "24px",
63
+ viewBox: "0 0 24 24",
64
+ width: "24px",
65
+ fill: "currentColor"
66
+ }, /*#__PURE__*/_react["default"].createElement("path", {
67
+ d: "M0 0h24v24H0z",
68
+ fill: "none"
69
+ }), /*#__PURE__*/_react["default"].createElement("path", {
70
+ d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
71
+ })),
72
+ searchOff: /*#__PURE__*/_react["default"].createElement("svg", {
73
+ role: "img",
74
+ xmlns: "http://www.w3.org/2000/svg",
75
+ height: "24px",
76
+ viewBox: "0 0 24 24",
77
+ width: "24px",
78
+ fill: "currentColor"
79
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
80
+ fill: "none",
81
+ height: "24",
82
+ width: "24"
83
+ })), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
84
+ d: "M15.5,14h-0.79l-0.28-0.27C15.41,12.59,16,11.11,16,9.5C16,5.91,13.09,3,9.5,3C6.08,3,3.28,5.64,3.03,9h2.02 C5.3,6.75,7.18,5,9.5,5C11.99,5,14,7.01,14,9.5S11.99,14,9.5,14c-0.17,0-0.33-0.03-0.5-0.05v2.02C9.17,15.99,9.33,16,9.5,16 c1.61,0,3.09-0.59,4.23-1.57L14,14.71v0.79l5,4.99L20.49,19L15.5,14z"
85
+ }), /*#__PURE__*/_react["default"].createElement("polygon", {
86
+ points: "6.47,10.82 4,13.29 1.53,10.82 0.82,11.53 3.29,14 0.82,16.47 1.53,17.18 4,14.71 6.47,17.18 7.18,16.47 4.71,14 7.18,11.53"
87
+ }))))
88
+ };
89
+ var _default = exports["default"] = selectIcons;
@@ -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,143 @@
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 _Icons = _interopRequireDefault(require("./Icons"));
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, _Icons["default"].searchOff), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
109
+ key: "option-".concat(optionalItem.value),
110
+ id: "option-".concat(0),
111
+ option: optionalItem,
112
+ onClick: handleOptionOnClick,
113
+ multiple: multiple,
114
+ visualFocused: visualFocusIndex === 0,
115
+ isGroupedOption: false,
116
+ isLastOption: lastOptionIndex === 0,
117
+ isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
118
+ }), options.map(mapOptionFunc));
119
+ };
120
+ 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) {
121
+ return props.theme.listDialogBackgroundColor;
122
+ }, function (props) {
123
+ return props.theme.listDialogBorderColor;
124
+ }, function (props) {
125
+ return props.theme.listOptionFontColor;
126
+ }, function (props) {
127
+ return props.theme.fontFamily;
128
+ }, function (props) {
129
+ return props.theme.listOptionFontSize;
130
+ }, function (props) {
131
+ return props.theme.listOptionFontStyle;
132
+ }, function (props) {
133
+ return props.theme.listOptionFontWeight;
134
+ });
135
+ 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) {
136
+ return props.theme.systemMessageFontColor;
137
+ });
138
+ var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: 0.25rem;\n"])));
139
+ var GroupList = _styledComponents["default"].ul(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
140
+ 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) {
141
+ return props.theme.listGroupLabelFontWeight;
142
+ });
143
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Listbox);
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { OptionProps } from "../select/types";
3
+ declare const _default: React.MemoExoticComponent<({ id, option, onClick, multiple, visualFocused, isGroupedOption, isLastOption, isSelected, }: OptionProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
12
+ var _Icons = _interopRequireDefault(require("./Icons"));
13
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
14
+ var Option = function Option(_ref) {
15
+ var id = _ref.id,
16
+ option = _ref.option,
17
+ _onClick = _ref.onClick,
18
+ multiple = _ref.multiple,
19
+ visualFocused = _ref.visualFocused,
20
+ _ref$isGroupedOption = _ref.isGroupedOption,
21
+ isGroupedOption = _ref$isGroupedOption === void 0 ? false : _ref$isGroupedOption,
22
+ isLastOption = _ref.isLastOption,
23
+ isSelected = _ref.isSelected;
24
+ var handleOnMouseEnter = function handleOnMouseEnter(event) {
25
+ var label = event.currentTarget;
26
+ var optionElement = document.getElementById(id);
27
+ if (optionElement.title === "" && label.scrollWidth > label.clientWidth) optionElement.title = option.label;
28
+ };
29
+ return /*#__PURE__*/_react["default"].createElement(OptionItem, {
30
+ id: id,
31
+ onClick: function onClick() {
32
+ _onClick(option);
33
+ },
34
+ visualFocused: visualFocused,
35
+ selected: isSelected,
36
+ role: "option",
37
+ "aria-selected": isSelected
38
+ }, /*#__PURE__*/_react["default"].createElement(StyledOption, {
39
+ visualFocused: visualFocused,
40
+ selected: isSelected,
41
+ last: isLastOption,
42
+ grouped: isGroupedOption,
43
+ multiple: multiple
44
+ }, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
45
+ checked: isSelected,
46
+ tabIndex: -1
47
+ }), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
48
+ grouped: isGroupedOption,
49
+ multiple: multiple,
50
+ role: !(typeof option.icon === "string") ? "img" : undefined
51
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
52
+ src: option.icon
53
+ }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
54
+ grouped: isGroupedOption,
55
+ hasIcon: option.icon ? true : false,
56
+ multiple: multiple
57
+ }, /*#__PURE__*/_react["default"].createElement(OptionLabel, {
58
+ onMouseEnter: handleOnMouseEnter
59
+ }, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, _Icons["default"].selected))));
60
+ };
61
+ var OptionItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
62
+ return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
63
+ }, function (props) {
64
+ return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
65
+ }, function (props) {
66
+ return props.selected ? "background-color: ".concat(props.theme.selectedHoverListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListOptionBackgroundColor, ";");
67
+ }, function (props) {
68
+ return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
69
+ });
70
+ var StyledOption = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 0.5rem 0.188rem 0;\n min-height: 24px;\n ", "\n ", ";\n"])), function (props) {
71
+ return props.grouped && props.multiple && "padding-left: 16px;";
72
+ }, function (props) {
73
+ return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
74
+ });
75
+ var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.125rem;\n margin-left: ", ";\n color: ", ";\n\n svg,\n img {\n height: 20px;\n width: 20px;\n }\n"])), function (props) {
76
+ return props.grouped && !props.multiple ? "16px" : "8px";
77
+ }, function (props) {
78
+ return props.theme.listOptionIconColor;
79
+ });
80
+ var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n gap: 0.25rem;\n width: 100%;\n overflow: hidden;\n margin-left: ", ";\n"])), function (props) {
81
+ return props.grouped && !props.multiple && !props.hasIcon ? "16px" : "8px";
82
+ });
83
+ var OptionLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
84
+ var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n\n svg {\n width: 16px;\n height: 16px;\n }\n"])), function (props) {
85
+ return props.theme.selectedListOptionIconColor;
86
+ });
87
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Option);
@@ -0,0 +1,217 @@
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 _jestAxe = require("jest-axe");
11
+ var _Select = _interopRequireDefault(require("./Select.tsx"));
12
+ var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
13
+ var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ height: "24px",
16
+ viewBox: "0 0 24 24",
17
+ width: "24px",
18
+ fill: "currentColor"
19
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
20
+ d: "M0,0h24v24H0V0z",
21
+ fill: "none"
22
+ })), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
23
+ d: "M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z"
24
+ }))));
25
+ var group_options = [{
26
+ label: "Group 001",
27
+ options: [{
28
+ label: "Option 001",
29
+ value: "1"
30
+ }, {
31
+ label: "Option 002",
32
+ value: "2"
33
+ }, {
34
+ label: "Option 003",
35
+ value: "3"
36
+ }]
37
+ }, {
38
+ label: "Group 002",
39
+ options: [{
40
+ label: "Option 004",
41
+ value: "4"
42
+ }, {
43
+ label: "Option 005",
44
+ value: "5"
45
+ }, {
46
+ label: "Option 006",
47
+ value: "6"
48
+ }]
49
+ }, {
50
+ label: "Group 003",
51
+ options: [{
52
+ label: "Option 007",
53
+ value: "7"
54
+ }, {
55
+ label: "Option 008",
56
+ value: "8"
57
+ }, {
58
+ label: "Option 009",
59
+ value: "9"
60
+ }]
61
+ }, {
62
+ label: "Group 004",
63
+ options: [{
64
+ label: "Option 010",
65
+ value: "10"
66
+ }, {
67
+ label: "Option 011",
68
+ value: "11"
69
+ }, {
70
+ label: "Option 012",
71
+ value: "12"
72
+ }]
73
+ }, {
74
+ label: "Group 005",
75
+ options: [{
76
+ label: "Option 013",
77
+ value: "13"
78
+ }, {
79
+ label: "Option 014",
80
+ value: "14"
81
+ }, {
82
+ label: "Option 015",
83
+ value: "15"
84
+ }]
85
+ }];
86
+ var single_options = [{
87
+ label: "Option 01",
88
+ value: "1",
89
+ icon: iconSVG
90
+ }, {
91
+ label: "Option 02",
92
+ value: "2",
93
+ icon: iconSVG
94
+ }, {
95
+ label: "Option 03",
96
+ value: "3",
97
+ icon: iconSVG
98
+ }, {
99
+ label: "Option 04",
100
+ value: "4",
101
+ icon: iconSVG
102
+ }];
103
+
104
+ // Mocking DOMRect for Radix Primitive Popover
105
+ global.globalThis = global;
106
+ global.DOMRect = {
107
+ fromRect: function fromRect() {
108
+ return {
109
+ top: 0,
110
+ left: 0,
111
+ bottom: 0,
112
+ right: 0,
113
+ width: 0,
114
+ height: 0
115
+ };
116
+ }
117
+ };
118
+ global.ResizeObserver = /*#__PURE__*/function () {
119
+ function ResizeObserver() {
120
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
121
+ }
122
+ (0, _createClass2["default"])(ResizeObserver, [{
123
+ key: "observe",
124
+ value: function observe() {}
125
+ }, {
126
+ key: "unobserve",
127
+ value: function unobserve() {}
128
+ }, {
129
+ key: "disconnect",
130
+ value: function disconnect() {}
131
+ }]);
132
+ return ResizeObserver;
133
+ }();
134
+ describe("Select component accessibility tests", function () {
135
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
136
+ var _render, baseElement, results;
137
+ return _regenerator["default"].wrap(function _callee$(_context) {
138
+ while (1) switch (_context.prev = _context.next) {
139
+ case 0:
140
+ // baseElement is needed when using React Portals
141
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
142
+ label: "test-select-label",
143
+ helperText: "test-select-helper-text",
144
+ placeholder: "Example text",
145
+ options: single_options,
146
+ defaultValue: 1,
147
+ margin: "medium",
148
+ name: "Name",
149
+ size: "medium",
150
+ searchable: true
151
+ }), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
152
+ label: "test-select-label",
153
+ helperText: "test-select-helper-text",
154
+ placeholder: "Example text",
155
+ options: single_options,
156
+ defaultValue: ["4", "2", "6"],
157
+ margin: "medium",
158
+ name: "Name",
159
+ size: "medium",
160
+ searchable: true,
161
+ multiple: true,
162
+ optional: true
163
+ }))), baseElement = _render.baseElement;
164
+ _context.next = 3;
165
+ return (0, _jestAxe.axe)(baseElement);
166
+ case 3:
167
+ results = _context.sent;
168
+ expect(results).toHaveNoViolations();
169
+ case 5:
170
+ case "end":
171
+ return _context.stop();
172
+ }
173
+ }, _callee);
174
+ })));
175
+ it("Should not have basic accessibility issues for group mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
176
+ var _render2, baseElement, results;
177
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
178
+ while (1) switch (_context2.prev = _context2.next) {
179
+ case 0:
180
+ // baseElement is needed when using React Portals
181
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
182
+ label: "test-select-label",
183
+ helperText: "test-select-helper-text",
184
+ placeholder: "Example text",
185
+ options: group_options,
186
+ defaultValue: ["4", "2", "6"],
187
+ error: "Error",
188
+ margin: "medium",
189
+ name: "Name",
190
+ size: "medium",
191
+ searchable: true,
192
+ multiple: true
193
+ }), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
194
+ label: "test-select-label",
195
+ helperText: "test-select-helper-text",
196
+ placeholder: "Example text",
197
+ options: group_options,
198
+ defaultValue: ["4", "2", "6"],
199
+ margin: "medium",
200
+ name: "Name",
201
+ size: "medium",
202
+ searchable: true,
203
+ multiple: true,
204
+ disabled: true
205
+ }))), baseElement = _render2.baseElement;
206
+ _context2.next = 3;
207
+ return (0, _jestAxe.axe)(baseElement);
208
+ case 3:
209
+ results = _context2.sent;
210
+ expect(results).toHaveNoViolations();
211
+ case 5:
212
+ case "end":
213
+ return _context2.stop();
214
+ }
215
+ }, _callee2);
216
+ })));
217
+ });