@dxc-technology/halstack-react 0.0.0-4e1277a → 0.0.0-4e3dbad

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 (363) hide show
  1. package/BackgroundColorContext.js +1 -1
  2. package/HalstackContext.d.ts +42 -5
  3. package/HalstackContext.js +28 -18
  4. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  5. package/accordion/Accordion.accessibility.test.js +71 -0
  6. package/accordion/Accordion.js +16 -30
  7. package/accordion/Accordion.stories.tsx +7 -49
  8. package/accordion/Accordion.test.d.ts +1 -0
  9. package/accordion/Accordion.test.js +3 -3
  10. package/accordion/types.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  12. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  13. package/accordion-group/AccordionGroup.js +1 -1
  14. package/accordion-group/AccordionGroup.stories.tsx +23 -23
  15. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  16. package/accordion-group/AccordionGroup.test.js +5 -9
  17. package/accordion-group/AccordionGroupAccordion.js +1 -1
  18. package/accordion-group/types.d.ts +1 -1
  19. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  20. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  21. package/action-icon/ActionIcon.js +4 -3
  22. package/action-icon/ActionIcon.stories.tsx +3 -3
  23. package/action-icon/ActionIcon.test.d.ts +1 -0
  24. package/action-icon/ActionIcon.test.js +1 -1
  25. package/action-icon/types.d.ts +1 -1
  26. package/alert/Alert.accessibility.test.d.ts +1 -0
  27. package/alert/Alert.accessibility.test.js +95 -0
  28. package/alert/Alert.js +21 -72
  29. package/alert/Alert.test.d.ts +1 -0
  30. package/alert/Alert.test.js +1 -1
  31. package/badge/Badge.accessibility.test.d.ts +1 -0
  32. package/badge/Badge.accessibility.test.js +129 -0
  33. package/badge/Badge.js +6 -4
  34. package/badge/Badge.stories.tsx +11 -11
  35. package/badge/Badge.test.d.ts +1 -0
  36. package/badge/Badge.test.js +2 -2
  37. package/badge/types.d.ts +1 -1
  38. package/bar-chart/BarChart.d.ts +4 -0
  39. package/bar-chart/BarChart.js +152 -0
  40. package/bar-chart/BarChart.stories.tsx +281 -0
  41. package/bar-chart/BarChart.test.d.ts +1 -0
  42. package/bar-chart/BarChart.test.js +194 -0
  43. package/bar-chart/theme.d.ts +3 -0
  44. package/bar-chart/theme.js +31 -0
  45. package/bar-chart/types.d.ts +118 -0
  46. package/bar-chart/types.js +5 -0
  47. package/bleed/Bleed.stories.tsx +0 -1
  48. package/box/Box.accessibility.test.d.ts +1 -0
  49. package/box/Box.accessibility.test.js +33 -0
  50. package/box/Box.js +1 -1
  51. package/box/Box.test.d.ts +1 -0
  52. package/box/Box.test.js +1 -1
  53. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  55. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  56. package/breadcrumbs/Breadcrumbs.js +79 -0
  57. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  58. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  59. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  60. package/breadcrumbs/Item.d.ts +4 -0
  61. package/breadcrumbs/Item.js +52 -0
  62. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  63. package/breadcrumbs/dropdownTheme.js +62 -0
  64. package/breadcrumbs/types.d.ts +40 -0
  65. package/breadcrumbs/types.js +5 -0
  66. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  67. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  68. package/bulleted-list/BulletedList.js +7 -4
  69. package/bulleted-list/BulletedList.stories.tsx +1 -1
  70. package/button/Button.accessibility.test.d.ts +1 -0
  71. package/button/Button.accessibility.test.js +127 -0
  72. package/button/Button.js +2 -2
  73. package/button/Button.stories.tsx +3 -4
  74. package/button/Button.test.d.ts +1 -0
  75. package/button/Button.test.js +1 -1
  76. package/card/Card.accessibility.test.d.ts +1 -0
  77. package/card/Card.accessibility.test.js +36 -0
  78. package/card/Card.js +3 -2
  79. package/card/Card.stories.tsx +1 -1
  80. package/card/Card.test.d.ts +1 -0
  81. package/card/Card.test.js +1 -1
  82. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  83. package/checkbox/Checkbox.accessibility.test.js +87 -0
  84. package/checkbox/Checkbox.js +10 -13
  85. package/checkbox/Checkbox.test.d.ts +1 -0
  86. package/checkbox/Checkbox.test.js +1 -1
  87. package/chip/Chip.accessibility.test.d.ts +1 -0
  88. package/chip/Chip.accessibility.test.js +67 -0
  89. package/chip/Chip.js +11 -6
  90. package/chip/Chip.stories.tsx +6 -25
  91. package/chip/Chip.test.d.ts +1 -0
  92. package/chip/Chip.test.js +5 -5
  93. package/common/coreTokens.d.ts +0 -1
  94. package/common/coreTokens.js +3 -4
  95. package/common/variables.d.ts +48 -5
  96. package/common/variables.js +110 -73
  97. package/container/Container.stories.tsx +3 -3
  98. package/container/types.d.ts +113 -11
  99. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  100. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  101. package/contextual-menu/ContextualMenu.d.ts +3 -5
  102. package/contextual-menu/ContextualMenu.js +118 -53
  103. package/contextual-menu/ContextualMenu.stories.tsx +124 -75
  104. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  105. package/contextual-menu/ContextualMenu.test.js +200 -24
  106. package/contextual-menu/GroupItem.d.ts +4 -0
  107. package/contextual-menu/GroupItem.js +67 -0
  108. package/contextual-menu/ItemAction.d.ts +4 -0
  109. package/contextual-menu/ItemAction.js +88 -0
  110. package/contextual-menu/MenuItem.d.ts +4 -0
  111. package/contextual-menu/MenuItem.js +29 -0
  112. package/contextual-menu/SingleItem.d.ts +4 -0
  113. package/contextual-menu/SingleItem.js +38 -0
  114. package/contextual-menu/types.d.ts +54 -11
  115. package/date-input/Calendar.js +47 -31
  116. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  117. package/date-input/DateInput.accessibility.test.js +229 -0
  118. package/date-input/DateInput.js +28 -23
  119. package/date-input/DateInput.stories.tsx +18 -12
  120. package/date-input/DateInput.test.d.ts +1 -0
  121. package/date-input/DateInput.test.js +39 -39
  122. package/date-input/DatePicker.js +13 -7
  123. package/date-input/YearPicker.js +10 -5
  124. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  125. package/dialog/Dialog.accessibility.test.js +69 -0
  126. package/dialog/Dialog.js +9 -20
  127. package/dialog/Dialog.stories.tsx +8 -4
  128. package/dialog/Dialog.test.d.ts +1 -0
  129. package/dialog/Dialog.test.js +112 -49
  130. package/divider/Divider.accessibility.test.d.ts +1 -0
  131. package/divider/Divider.accessibility.test.js +33 -0
  132. package/divider/Divider.stories.tsx +2 -1
  133. package/divider/Divider.test.d.ts +1 -0
  134. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  135. package/dropdown/Dropdown.accessibility.test.js +183 -0
  136. package/dropdown/Dropdown.js +31 -66
  137. package/dropdown/Dropdown.stories.tsx +16 -27
  138. package/dropdown/Dropdown.test.d.ts +1 -0
  139. package/dropdown/Dropdown.test.js +101 -72
  140. package/dropdown/DropdownMenu.js +4 -4
  141. package/dropdown/DropdownMenuItem.js +8 -4
  142. package/dropdown/types.d.ts +2 -4
  143. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  144. package/file-input/FileInput.accessibility.test.js +167 -0
  145. package/file-input/FileInput.js +6 -47
  146. package/file-input/FileInput.test.d.ts +1 -0
  147. package/file-input/FileInput.test.js +51 -106
  148. package/file-input/FileItem.js +18 -28
  149. package/file-input/types.d.ts +0 -4
  150. package/footer/Footer.accessibility.test.d.ts +1 -0
  151. package/footer/Footer.accessibility.test.js +125 -0
  152. package/footer/Footer.js +8 -6
  153. package/footer/Footer.stories.tsx +40 -3
  154. package/footer/Footer.test.d.ts +1 -0
  155. package/footer/Footer.test.js +1 -1
  156. package/footer/Icons.js +2 -30
  157. package/footer/types.d.ts +1 -1
  158. package/grid/Grid.stories.tsx +3 -1
  159. package/header/Header.accessibility.test.d.ts +1 -0
  160. package/header/Header.accessibility.test.js +94 -0
  161. package/header/Header.js +12 -22
  162. package/header/Header.stories.tsx +17 -1
  163. package/header/Header.test.d.ts +1 -0
  164. package/header/Header.test.js +1 -1
  165. package/header/Icons.js +1 -6
  166. package/heading/Heading.accessibility.test.d.ts +1 -0
  167. package/heading/Heading.accessibility.test.js +33 -0
  168. package/heading/Heading.js +1 -1
  169. package/heading/Heading.test.d.ts +1 -0
  170. package/heading/Heading.test.js +1 -14
  171. package/icon/Icon.accessibility.test.d.ts +1 -0
  172. package/icon/Icon.accessibility.test.js +30 -0
  173. package/icon/Icon.js +1 -1
  174. package/icon/Icon.stories.tsx +6 -4
  175. package/image/Image.accessibility.test.d.ts +1 -0
  176. package/image/Image.accessibility.test.js +56 -0
  177. package/image/Image.js +1 -1
  178. package/layout/ApplicationLayout.js +9 -6
  179. package/layout/Icons.d.ts +0 -1
  180. package/layout/Icons.js +1 -11
  181. package/link/Link.accessibility.test.d.ts +1 -0
  182. package/link/Link.accessibility.test.js +108 -0
  183. package/link/Link.js +8 -6
  184. package/link/Link.stories.tsx +4 -4
  185. package/link/Link.test.d.ts +1 -0
  186. package/link/Link.test.js +1 -1
  187. package/link/types.d.ts +1 -1
  188. package/main.d.ts +3 -1
  189. package/main.js +15 -1
  190. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  191. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  192. package/nav-tabs/NavTabs.js +19 -4
  193. package/nav-tabs/NavTabs.stories.tsx +41 -23
  194. package/nav-tabs/NavTabs.test.d.ts +1 -0
  195. package/nav-tabs/NavTabs.test.js +10 -9
  196. package/nav-tabs/Tab.js +17 -18
  197. package/nav-tabs/types.d.ts +1 -1
  198. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  199. package/number-input/NumberInput.accessibility.test.js +227 -0
  200. package/number-input/NumberInput.js +6 -3
  201. package/number-input/NumberInput.stories.tsx +11 -16
  202. package/number-input/NumberInput.test.d.ts +1 -0
  203. package/number-input/NumberInput.test.js +6 -7
  204. package/package.json +34 -28
  205. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  206. package/paginator/Paginator.accessibility.test.js +78 -0
  207. package/paginator/Paginator.js +13 -10
  208. package/paginator/Paginator.test.d.ts +1 -0
  209. package/paginator/Paginator.test.js +2 -3
  210. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  211. package/paragraph/Paragraph.accessibility.test.js +28 -0
  212. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  213. package/password-input/PasswordInput.accessibility.test.js +152 -0
  214. package/password-input/PasswordInput.js +11 -8
  215. package/password-input/PasswordInput.stories.tsx +10 -1
  216. package/password-input/PasswordInput.test.d.ts +1 -0
  217. package/password-input/PasswordInput.test.js +6 -7
  218. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  219. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  220. package/progress-bar/ProgressBar.js +6 -4
  221. package/progress-bar/ProgressBar.test.d.ts +1 -0
  222. package/progress-bar/ProgressBar.test.js +1 -1
  223. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  224. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  225. package/quick-nav/QuickNav.js +1 -1
  226. package/radio-group/Radio.js +6 -9
  227. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  228. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  229. package/radio-group/RadioGroup.js +14 -16
  230. package/radio-group/RadioGroup.test.d.ts +1 -0
  231. package/radio-group/RadioGroup.test.js +3 -5
  232. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  233. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  234. package/resultset-table/ResultsetTable.d.ts +1 -1
  235. package/resultset-table/ResultsetTable.js +47 -15
  236. package/resultset-table/ResultsetTable.stories.tsx +19 -3
  237. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  238. package/resultset-table/ResultsetTable.test.js +111 -32
  239. package/resultset-table/types.d.ts +41 -13
  240. package/select/Listbox.d.ts +3 -3
  241. package/select/Listbox.js +33 -29
  242. package/select/Option.d.ts +3 -3
  243. package/select/Option.js +21 -15
  244. package/select/Select.accessibility.test.d.ts +1 -0
  245. package/select/Select.accessibility.test.js +227 -0
  246. package/select/Select.js +85 -192
  247. package/select/Select.stories.tsx +74 -117
  248. package/select/Select.test.d.ts +1 -0
  249. package/select/Select.test.js +348 -550
  250. package/select/selectUtils.d.ts +41 -0
  251. package/select/selectUtils.js +129 -0
  252. package/select/types.d.ts +1 -1
  253. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  254. package/sidenav/Sidenav.accessibility.test.js +59 -0
  255. package/sidenav/Sidenav.js +16 -12
  256. package/sidenav/Sidenav.stories.tsx +5 -10
  257. package/sidenav/Sidenav.test.d.ts +1 -0
  258. package/sidenav/Sidenav.test.js +1 -1
  259. package/sidenav/types.d.ts +2 -2
  260. package/slider/Slider.accessibility.test.d.ts +1 -0
  261. package/slider/Slider.accessibility.test.js +103 -0
  262. package/slider/Slider.js +11 -13
  263. package/slider/Slider.stories.tsx +180 -0
  264. package/slider/Slider.test.d.ts +1 -0
  265. package/slider/Slider.test.js +13 -11
  266. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  267. package/spinner/Spinner.accessibility.test.js +96 -0
  268. package/spinner/Spinner.d.ts +1 -1
  269. package/spinner/Spinner.js +32 -47
  270. package/spinner/Spinner.test.d.ts +1 -0
  271. package/spinner/Spinner.test.js +1 -1
  272. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  273. package/status-light/StatusLight.accessibility.test.js +157 -0
  274. package/status-light/StatusLight.test.d.ts +1 -0
  275. package/status-light/StatusLight.test.js +1 -1
  276. package/switch/Switch.accessibility.test.d.ts +1 -0
  277. package/switch/Switch.accessibility.test.js +98 -0
  278. package/switch/Switch.js +6 -9
  279. package/switch/Switch.stories.tsx +12 -0
  280. package/switch/Switch.test.d.ts +1 -0
  281. package/switch/Switch.test.js +1 -1
  282. package/table/Table.accessibility.test.d.ts +1 -0
  283. package/table/Table.accessibility.test.js +92 -0
  284. package/table/Table.js +2 -11
  285. package/table/Table.stories.tsx +15 -10
  286. package/table/Table.test.d.ts +1 -0
  287. package/table/Table.test.js +2 -4
  288. package/table/types.d.ts +1 -15
  289. package/tabs/Tab.js +6 -5
  290. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  291. package/tabs/Tabs.accessibility.test.js +56 -0
  292. package/tabs/Tabs.js +9 -20
  293. package/tabs/Tabs.stories.tsx +7 -3
  294. package/tabs/Tabs.test.d.ts +1 -0
  295. package/tabs/Tabs.test.js +20 -38
  296. package/tabs/types.d.ts +2 -2
  297. package/tag/Tag.accessibility.test.d.ts +1 -0
  298. package/tag/Tag.accessibility.test.js +69 -0
  299. package/tag/Tag.js +7 -7
  300. package/tag/Tag.stories.tsx +5 -8
  301. package/tag/Tag.test.d.ts +1 -0
  302. package/tag/Tag.test.js +5 -13
  303. package/tag/types.d.ts +2 -2
  304. package/text-input/Suggestion.js +1 -1
  305. package/text-input/Suggestions.js +17 -7
  306. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  307. package/text-input/TextInput.accessibility.test.js +320 -0
  308. package/text-input/TextInput.js +56 -73
  309. package/text-input/TextInput.stories.tsx +20 -8
  310. package/text-input/TextInput.test.d.ts +1 -0
  311. package/text-input/TextInput.test.js +2 -3
  312. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  313. package/textarea/Textarea.accessibility.test.js +155 -0
  314. package/textarea/Textarea.js +14 -13
  315. package/textarea/Textarea.test.d.ts +1 -0
  316. package/textarea/Textarea.test.js +1 -1
  317. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  318. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  319. package/toggle-group/ToggleGroup.js +10 -12
  320. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  321. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  322. package/toggle-group/ToggleGroup.test.js +1 -1
  323. package/toggle-group/types.d.ts +2 -2
  324. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  325. package/tooltip/Tooltip.accessibility.test.js +144 -0
  326. package/tooltip/Tooltip.d.ts +4 -0
  327. package/tooltip/Tooltip.js +50 -0
  328. package/tooltip/Tooltip.stories.tsx +111 -0
  329. package/tooltip/Tooltip.test.d.ts +1 -0
  330. package/tooltip/Tooltip.test.js +112 -0
  331. package/tooltip/types.d.ts +16 -0
  332. package/tooltip/types.js +5 -0
  333. package/typography/Typography.accessibility.test.d.ts +1 -0
  334. package/typography/Typography.accessibility.test.js +339 -0
  335. package/typography/Typography.stories.tsx +1 -3
  336. package/typography/Typography.test.js +23 -0
  337. package/useTheme.d.ts +31 -5
  338. package/useTranslatedLabels.d.ts +11 -0
  339. package/utils/BaseTypography.js +45 -41
  340. package/utils/FocusLock.js +3 -2
  341. package/utils/useWidth.d.ts +2 -0
  342. package/utils/useWidth.js +30 -0
  343. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  344. package/wizard/Wizard.accessibility.test.js +55 -0
  345. package/wizard/Wizard.js +14 -25
  346. package/wizard/Wizard.stories.tsx +20 -1
  347. package/wizard/Wizard.test.d.ts +1 -0
  348. package/wizard/Wizard.test.js +1 -1
  349. package/wizard/types.d.ts +1 -1
  350. package/contextual-menu/MenuItemAction.d.ts +0 -4
  351. package/contextual-menu/MenuItemAction.js +0 -46
  352. package/date-input/Icons.d.ts +0 -6
  353. package/date-input/Icons.js +0 -58
  354. package/paginator/Icons.d.ts +0 -5
  355. package/paginator/Icons.js +0 -40
  356. package/password-input/Icons.d.ts +0 -6
  357. package/password-input/Icons.js +0 -35
  358. package/select/Icons.d.ts +0 -10
  359. package/select/Icons.js +0 -89
  360. package/sidenav/Icons.d.ts +0 -7
  361. package/sidenav/Icons.js +0 -47
  362. package/text-input/Icons.d.ts +0 -8
  363. package/text-input/Icons.js +0 -56
@@ -8,7 +8,8 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _react2 = require("@testing-library/react");
10
10
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
- var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable.tsx"));
11
+ var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable"));
12
+ var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
12
13
  // Mocking DOMRect for Radix Primitive Popover
13
14
  global.globalThis = global;
14
15
  global.DOMRect = {
@@ -27,7 +28,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
27
28
  function ResizeObserver() {
28
29
  (0, _classCallCheck2["default"])(this, ResizeObserver);
29
30
  }
30
- (0, _createClass2["default"])(ResizeObserver, [{
31
+ return (0, _createClass2["default"])(ResizeObserver, [{
31
32
  key: "observe",
32
33
  value: function observe() {}
33
34
  }, {
@@ -37,7 +38,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
37
38
  key: "disconnect",
38
39
  value: function disconnect() {}
39
40
  }]);
40
- return ResizeObserver;
41
41
  }();
42
42
  var icon = /*#__PURE__*/_react["default"].createElement("svg", {
43
43
  xmlns: "http://www.w3.org/2000/svg",
@@ -152,36 +152,55 @@ var rows = [[{
152
152
  displayValue: "Barcelona",
153
153
  sortValue: "Barcelona"
154
154
  }]];
155
- var rows2 = [[{
156
- displayValue: "546",
157
- sortValue: "465"
155
+ var columnsWithCheckbox = [{
156
+ displayValue: "Id",
157
+ isSortable: true
158
+ }, {
159
+ displayValue: "Checkbox",
160
+ isSortable: false
161
+ }, {
162
+ displayValue: "Name",
163
+ isSortable: false
158
164
  }, {
159
- displayValue: "OtherValue",
160
- sortValue: "OtherValue"
165
+ displayValue: "City",
166
+ isSortable: false
167
+ }];
168
+ var rowsWithCheckbox = [[{
169
+ displayValue: "001",
170
+ sortValue: "001"
161
171
  }, {
162
- displayValue: "OtherValue",
163
- sortValue: "OtherValue"
172
+ displayValue: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
173
+ size: "fillParent",
174
+ defaultChecked: true
175
+ })
176
+ }, {
177
+ displayValue: "Peter"
178
+ }, {
179
+ displayValue: "Miami"
164
180
  }], [{
165
- displayValue: "978",
166
- sortValue: "465"
181
+ displayValue: "002",
182
+ sortValue: "002"
167
183
  }, {
168
- displayValue: "OtherValue",
169
- sortValue: "OtherValue"
184
+ displayValue: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
185
+ size: "fillParent"
186
+ })
170
187
  }, {
171
- displayValue: "OtherValue",
172
- sortValue: "OtherValue"
188
+ displayValue: "Louis"
173
189
  }, {
174
- displayValue: ""
190
+ displayValue: "London"
175
191
  }], [{
176
- displayValue: "678",
177
- sortValue: "344"
192
+ displayValue: "003",
193
+ sortValue: "003"
178
194
  }, {
179
- displayValue: "OtherValue",
180
- sortValue: "OtherValue"
195
+ displayValue: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
196
+ size: "fillParent"
197
+ })
181
198
  }, {
182
- displayValue: "OtherValue",
183
- sortValue: "OtherValue"
199
+ displayValue: "Lana"
200
+ }, {
201
+ displayValue: "Amsterdam"
184
202
  }]];
203
+ var rows2 = [].concat(rows).slice(0, -1);
185
204
  describe("Resultset table component tests", function () {
186
205
  test("Resultset table rendered correctly", function () {
187
206
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
@@ -285,40 +304,100 @@ describe("Resultset table component tests", function () {
285
304
  expect(component.queryByText("Tina")).toBeTruthy();
286
305
  expect(component.queryByText("Cosmin")).not.toBeTruthy();
287
306
  });
288
- test("Resultset table change rows should go to first page", function () {
307
+ test("Resultset table should go one page back when removing the last page data", function () {
289
308
  var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
290
309
  columns: columns,
291
310
  rows: rows,
292
311
  itemsPerPage: 3
293
312
  })),
313
+ getAllByRole = _render6.getAllByRole,
294
314
  queryByText = _render6.queryByText,
295
315
  rerender = _render6.rerender;
316
+ expect(queryByText("1 to 3 of 10")).toBeTruthy();
317
+ var lastButton = getAllByRole("button")[4];
296
318
  expect(queryByText("Peter")).toBeTruthy();
319
+ _react2.fireEvent.click(lastButton);
320
+ expect(queryByText("10 to 10 of 10")).toBeTruthy();
297
321
  rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
298
322
  columns: columns,
299
323
  rows: rows2,
300
324
  itemsPerPage: 3
301
325
  }));
302
- expect(queryByText("1 to 3 of 3")).toBeTruthy();
326
+ expect(queryByText("7 to 9 of 9")).toBeTruthy();
303
327
  });
304
- test("Resultset table change itemsPerPage should go to first page", function () {
328
+ test("Resultset table shouldn't go one page back when there is data left in the last page", function () {
305
329
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
330
+ columns: columns,
331
+ rows: rows,
332
+ itemsPerPage: 2
333
+ })),
334
+ getAllByRole = _render7.getAllByRole,
335
+ queryByText = _render7.queryByText,
336
+ rerender = _render7.rerender;
337
+ expect(queryByText("1 to 2 of 10")).toBeTruthy();
338
+ var lastButton = getAllByRole("button")[4];
339
+ expect(queryByText("Peter")).toBeTruthy();
340
+ _react2.fireEvent.click(lastButton);
341
+ expect(queryByText("9 to 10 of 10")).toBeTruthy();
342
+ rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
343
+ columns: columns,
344
+ rows: rows2,
345
+ itemsPerPage: 2
346
+ }));
347
+ expect(queryByText("9 to 9 of 9")).toBeTruthy();
348
+ });
349
+ test("Resultset table uncontrolled components maintain its value when sorting", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
350
+ var _render8, getAllByRole, columnHeader, sortButton;
351
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
352
+ while (1) switch (_context2.prev = _context2.next) {
353
+ case 0:
354
+ _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
355
+ columns: columnsWithCheckbox,
356
+ rows: rowsWithCheckbox,
357
+ itemsPerPage: 3
358
+ })), getAllByRole = _render8.getAllByRole;
359
+ columnHeader = getAllByRole("columnheader")[0];
360
+ sortButton = getAllByRole("button")[0];
361
+ expect(getAllByRole("checkbox")[0].getAttribute("aria-checked")).toBe("true");
362
+ expect(columnHeader.getAttribute("aria-sort")).toBe("none");
363
+ _react2.fireEvent.click(sortButton);
364
+ expect(columnHeader.getAttribute("aria-sort")).toBe("ascending");
365
+ _react2.fireEvent.click(sortButton);
366
+ expect(columnHeader.getAttribute("aria-sort")).toBe("descending");
367
+ expect(getAllByRole("checkbox")[0].getAttribute("aria-checked")).toBe("false");
368
+ case 10:
369
+ case "end":
370
+ return _context2.stop();
371
+ }
372
+ }, _callee2);
373
+ })));
374
+ test("Resultset table change itemsPerPage should go to first page", function () {
375
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
306
376
  columns: columns,
307
377
  rows: rows,
308
378
  itemsPerPage: 3,
309
379
  itemsPerPageOptions: [2, 3]
310
380
  })),
311
- getAllByRole = _render7.getAllByRole;
381
+ getAllByRole = _render9.getAllByRole;
312
382
  var lastButton = getAllByRole("button")[4];
313
383
  expect(getAllByRole("row").length - 1).toEqual(3);
314
384
  _react2.fireEvent.click(lastButton);
315
385
  expect(getAllByRole("row").length - 1).toEqual(1);
316
386
  });
387
+ test("Resultset table may not use the paginator", function () {
388
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
389
+ columns: columns,
390
+ rows: rows,
391
+ hidePaginator: true
392
+ })),
393
+ getAllByRole = _render10.getAllByRole;
394
+ var nextButton = getAllByRole("button")[3];
395
+ expect(nextButton).not.toBeTruthy();
396
+ });
317
397
  test("Resultset table with ActionsCell", function () {
318
398
  var onSelectOption = jest.fn();
319
399
  var onClick = jest.fn();
320
400
  var actions = [{
321
- icon: icon,
322
401
  title: "icon1",
323
402
  onClick: onSelectOption,
324
403
  options: [{
@@ -348,14 +427,14 @@ describe("Resultset table component tests", function () {
348
427
  }),
349
428
  sortValue: "Actions"
350
429
  }]];
351
- var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
430
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
352
431
  columns: columns,
353
432
  rows: actionRows,
354
433
  itemsPerPage: 3
355
434
  })),
356
- getAllByRole = _render8.getAllByRole,
357
- getByRole = _render8.getByRole,
358
- getByText = _render8.getByText;
435
+ getAllByRole = _render11.getAllByRole,
436
+ getByRole = _render11.getByRole,
437
+ getByText = _render11.getByText;
359
438
  var dropdown = getAllByRole("button")[2];
360
439
  (0, _react2.act)(function () {
361
440
  _userEvent["default"].click(dropdown);
@@ -16,7 +16,7 @@ export type Column = {
16
16
  */
17
17
  isSortable?: boolean;
18
18
  };
19
- type Row = {
19
+ type Cell = {
20
20
  /**
21
21
  * Value to be displayed in the cell.
22
22
  */
@@ -25,9 +25,10 @@ type Row = {
25
25
  * Value to be used when sorting the table by that
26
26
  * column. If not indicated displayValue will be used for sorting.
27
27
  */
28
- sortValue?: string;
28
+ sortValue?: string | number | Date;
29
29
  };
30
- type Props = {
30
+ export type Row = Cell[];
31
+ type CommonProps = {
31
32
  /**
32
33
  * An array of objects representing the columns of the table.
33
34
  */
@@ -36,7 +37,25 @@ type Props = {
36
37
  * An array of objects representing the rows of the table, you will have
37
38
  * as many objects as columns in the table.
38
39
  */
39
- rows: Row[][];
40
+ rows: Row[];
41
+ /**
42
+ * Size of the margin to be applied to the component. You can pass an object with 'top',
43
+ * 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
44
+ */
45
+ margin?: Space | Margin;
46
+ /**
47
+ * Value of the tabindex attribute applied to the sortable icon.
48
+ */
49
+ tabIndex?: number;
50
+ /**
51
+ * Determines the visual style and layout
52
+ * - "default": The default mode with big spacing
53
+ * - "reduced": A reduced mode with minimal spacing for dense tables
54
+ */
55
+ mode?: "default" | "reduced";
56
+ };
57
+ type PaginatedProps = CommonProps & {
58
+ hidePaginator?: false;
40
59
  /**
41
60
  * If true, a select component for navigation between pages will be displayed.
42
61
  */
@@ -54,20 +73,29 @@ type Props = {
54
73
  * option. The value selected will be passed as a parameter.
55
74
  */
56
75
  itemsPerPageFunction?: (value: number) => void;
76
+ };
77
+ type NonPaginatedProps = CommonProps & {
57
78
  /**
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.
79
+ * If true, paginator will not be displayed.
60
80
  */
61
- margin?: Space | Margin;
81
+ hidePaginator: true;
62
82
  /**
63
- * Value of the tabindex attribute applied to the sortable icon.
83
+ * If true, a select component for navigation between pages will be displayed.
64
84
  */
65
- tabIndex?: number;
85
+ showGoToPage?: never;
66
86
  /**
67
- * Determines the visual style and layout
68
- * - "default": The default mode with big spacing
69
- * - "reduced": A reduced mode with minimal spacing for dense tables
87
+ * Number of items per page.
70
88
  */
71
- mode?: "default" | "reduced";
89
+ itemsPerPage?: never;
90
+ /**
91
+ * An array of numbers representing the items per page options.
92
+ */
93
+ itemsPerPageOptions?: never;
94
+ /**
95
+ * This function will be called when the user selects an item per page
96
+ * option. The value selected will be passed as a parameter.
97
+ */
98
+ itemsPerPageFunction?: never;
72
99
  };
100
+ type Props = PaginatedProps | NonPaginatedProps;
73
101
  export default Props;
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ /// <reference types="react" />
2
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;
3
+ declare const Listbox: ({ id, currentValue, options, visualFocusIndex, lastOptionIndex, multiple, optional, optionalItem, searchable, handleOptionOnClick, styles, }: ListboxProps) => JSX.Element;
4
+ export default Listbox;
package/select/Listbox.js CHANGED
@@ -11,16 +11,11 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
12
12
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
13
13
  var _Option = _interopRequireDefault(require("./Option"));
14
- var _Icons = _interopRequireDefault(require("./Icons"));
15
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
14
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
15
+ var _selectUtils = require("./selectUtils");
16
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
16
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
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
- };
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
24
19
  var Listbox = function Listbox(_ref) {
25
20
  var id = _ref.id,
26
21
  currentValue = _ref.currentValue,
@@ -37,21 +32,24 @@ var Listbox = function Listbox(_ref) {
37
32
  var listboxRef = (0, _react.useRef)(null);
38
33
  var globalIndex = optional && !multiple ? 0 : -1;
39
34
  var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
35
+ var groupId = "".concat(id, "-group-").concat(mapIndex);
40
36
  if (option.options) {
41
- var groupId = "group-".concat(mapIndex);
42
37
  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
38
+ key: groupId
39
+ }, /*#__PURE__*/_react["default"].createElement("ul", {
40
+ role: "listbox",
41
+ "aria-labelledby": groupId,
42
+ style: {
43
+ padding: 0
44
+ }
47
45
  }, /*#__PURE__*/_react["default"].createElement(GroupLabel, {
48
46
  role: "presentation",
49
47
  id: groupId
50
48
  }, option.label), option.options.map(function (singleOption) {
51
49
  globalIndex++;
52
50
  return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
53
- key: "option-".concat(singleOption.value),
54
- id: "option-".concat(globalIndex),
51
+ key: "".concat(id, "-option-").concat(singleOption.value),
52
+ id: "".concat(id, "-option-").concat(globalIndex),
55
53
  option: singleOption,
56
54
  onClick: handleOptionOnClick,
57
55
  multiple: multiple,
@@ -64,8 +62,8 @@ var Listbox = function Listbox(_ref) {
64
62
  } else {
65
63
  globalIndex++;
66
64
  return /*#__PURE__*/_react["default"].createElement(_Option["default"], {
67
- key: "option-".concat(option.value),
68
- id: "option-".concat(globalIndex),
65
+ key: "".concat(id, "-option-").concat(option.value),
66
+ id: "".concat(id, "-option-").concat(globalIndex),
69
67
  option: option,
70
68
  onClick: handleOptionOnClick,
71
69
  multiple: multiple,
@@ -93,6 +91,10 @@ var Listbox = function Listbox(_ref) {
93
91
  inline: "start"
94
92
  });
95
93
  }, [visualFocusIndex]);
94
+ var hasOptionGroups = options.some(function (option) {
95
+ var _option$options;
96
+ return ((_option$options = option.options) === null || _option$options === void 0 ? void 0 : _option$options.length) > 0;
97
+ });
96
98
  return /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
97
99
  id: id,
98
100
  onClick: function onClick(event) {
@@ -102,12 +104,15 @@ var Listbox = function Listbox(_ref) {
102
104
  event.preventDefault();
103
105
  },
104
106
  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),
107
+ "aria-multiselectable": !hasOptionGroups ? multiple : undefined,
108
+ style: styles,
109
+ role: hasOptionGroups ? "list" : "listbox",
110
+ "aria-label": "List of options"
111
+ }, searchable && (options.length === 0 || !(0, _selectUtils.groupsHaveOptions)(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
112
+ icon: "search_off"
113
+ })), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
114
+ key: "".concat(id, "-option-").concat(optionalItem.value),
115
+ id: "".concat(id, "-option-", 0),
111
116
  option: optionalItem,
112
117
  onClick: handleOptionOnClick,
113
118
  multiple: multiple,
@@ -117,7 +122,7 @@ var Listbox = function Listbox(_ref) {
117
122
  isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
118
123
  }), options.map(mapOptionFunc));
119
124
  };
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) {
125
+ var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 304px;\n overflow-y: auto;\n margin: 0;\n padding: 0.25rem 0;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 24px;\n cursor: default;\n"])), function (props) {
121
126
  return props.theme.listDialogBackgroundColor;
122
127
  }, function (props) {
123
128
  return props.theme.listDialogBorderColor;
@@ -135,9 +140,8 @@ var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_temp
135
140
  var OptionsSystemMessage = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"])), function (props) {
136
141
  return props.theme.systemMessageFontColor;
137
142
  });
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) {
143
+ var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: 0.25rem;\n font-size: 16px;\n"])));
144
+ var GroupLabel = _styledComponents["default"].li(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"])), function (props) {
141
145
  return props.theme.listGroupLabelFontWeight;
142
146
  });
143
- var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Listbox);
147
+ var _default = exports["default"] = Listbox;
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ /// <reference types="react" />
2
2
  import { OptionProps } from "../select/types";
3
- declare const _default: React.MemoExoticComponent<({ id, option, onClick, multiple, visualFocused, isGroupedOption, isLastOption, isSelected, }: OptionProps) => JSX.Element>;
4
- export default _default;
3
+ declare const Option: ({ id, option, onClick, multiple, visualFocused, isGroupedOption, isLastOption, isSelected, }: OptionProps) => JSX.Element;
4
+ export default Option;
package/select/Option.js CHANGED
@@ -9,7 +9,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
  var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
12
- var _Icons = _interopRequireDefault(require("./Icons"));
12
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
13
13
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
14
14
  var Option = function Option(_ref) {
15
15
  var id = _ref.id,
@@ -34,31 +34,37 @@ var Option = function Option(_ref) {
34
34
  visualFocused: visualFocused,
35
35
  selected: isSelected,
36
36
  role: "option",
37
- "aria-selected": isSelected
37
+ "aria-selected": !multiple ? isSelected : undefined
38
38
  }, /*#__PURE__*/_react["default"].createElement(StyledOption, {
39
39
  visualFocused: visualFocused,
40
40
  selected: isSelected,
41
41
  last: isLastOption,
42
42
  grouped: isGroupedOption,
43
43
  multiple: multiple
44
- }, multiple && /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
44
+ }, multiple && /*#__PURE__*/_react["default"].createElement("div", {
45
+ style: {
46
+ display: "flex",
47
+ pointerEvents: "none"
48
+ }
49
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
45
50
  checked: isSelected,
46
51
  tabIndex: -1
47
- }), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
52
+ })), option.icon && /*#__PURE__*/_react["default"].createElement(OptionIcon, {
48
53
  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
54
+ multiple: multiple
55
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
56
+ icon: option.icon
53
57
  }) : option.icon), /*#__PURE__*/_react["default"].createElement(OptionContent, {
54
58
  grouped: isGroupedOption,
55
59
  hasIcon: option.icon ? true : false,
56
60
  multiple: multiple
57
61
  }, /*#__PURE__*/_react["default"].createElement(OptionLabel, {
58
62
  onMouseEnter: handleOnMouseEnter
59
- }, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, _Icons["default"].selected))));
63
+ }, option.label), !multiple && isSelected && /*#__PURE__*/_react["default"].createElement(OptionSelectedIndicator, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
64
+ icon: "done"
65
+ })))));
60
66
  };
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) {
67
+ var OptionItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0.5rem;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"])), function (props) {
62
68
  return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListOptionBorderColor, ";");
63
69
  }, function (props) {
64
70
  return props.selected && "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
@@ -67,21 +73,21 @@ var OptionItem = _styledComponents["default"].li(_templateObject || (_templateOb
67
73
  }, function (props) {
68
74
  return props.selected ? "background-color: ".concat(props.theme.selectedActiveListOptionBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListOptionBackgroundColor, ";");
69
75
  });
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) {
76
+ var StyledOption = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n height: 32px;\n padding: 4px 8px 4px 0;\n ", "\n ", ";\n"])), function (props) {
71
77
  return props.grouped && props.multiple && "padding-left: 16px;";
72
78
  }, function (props) {
73
79
  return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
74
80
  });
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) {
81
+ var OptionIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n display: grid;\n place-items: center;\n color: ", ";\n font-size: 24px;\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
76
82
  return props.grouped && !props.multiple ? "16px" : "8px";
77
83
  }, function (props) {
78
84
  return props.theme.listOptionIconColor;
79
85
  });
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) {
86
+ var OptionContent = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n display: flex;\n justify-content: space-between;\n gap: 0.25rem;\n width: 100%;\n overflow: hidden;\n"])), function (props) {
81
87
  return props.grouped && !props.multiple && !props.hasIcon ? "16px" : "8px";
82
88
  });
83
89
  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) {
90
+ var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n font-size: 16px;\n"])), function (props) {
85
91
  return props.theme.selectedListOptionIconColor;
86
92
  });
87
- var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Option);
93
+ var _default = exports["default"] = Option;
@@ -0,0 +1 @@
1
+ export {};