@decisiv/ui-components 2.0.1-alpha.17 → 2.0.1-alpha.173

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 (469) hide show
  1. package/lib/atoms/BaseButton/index.d.ts.map +1 -1
  2. package/lib/atoms/BaseButton/index.js +1 -1
  3. package/lib/atoms/BooleanInput/elements.d.ts.map +1 -1
  4. package/lib/atoms/BooleanInput/elements.js +8 -3
  5. package/lib/atoms/BooleanInput/index.d.ts.map +1 -1
  6. package/lib/atoms/BooleanInput/index.js +26 -5
  7. package/lib/atoms/BooleanInput/index.test.js +17 -6
  8. package/lib/atoms/BooleanInput/types.d.ts +4 -0
  9. package/lib/atoms/BooleanInput/types.d.ts.map +1 -1
  10. package/lib/atoms/BooleanInput/types.js +5 -1
  11. package/lib/atoms/Calendar/hooks/useCalendar/index.d.ts.map +1 -1
  12. package/lib/atoms/Calendar/hooks/useCalendar/index.js +2 -1
  13. package/lib/atoms/Calendar/hooks/useCalendar/index.test.js +5 -6
  14. package/lib/atoms/Calendar/index.d.ts.map +1 -1
  15. package/lib/atoms/Calendar/index.js +46 -6
  16. package/lib/atoms/Calendar/index.test.js +68 -38
  17. package/lib/atoms/Calendar/types.d.ts +1 -1
  18. package/lib/atoms/Calendar/types.d.ts.map +1 -1
  19. package/lib/atoms/Calendar/types.js +5 -1
  20. package/lib/atoms/InputField/Containers.d.ts +12 -6
  21. package/lib/atoms/InputField/Containers.d.ts.map +1 -1
  22. package/lib/atoms/InputField/Containers.js +8 -6
  23. package/lib/atoms/InputField/InputLabel.d.ts +1 -0
  24. package/lib/atoms/InputField/InputLabel.d.ts.map +1 -1
  25. package/lib/atoms/InputField/InputLabel.js +2 -1
  26. package/lib/atoms/InputField/index.d.ts +6 -0
  27. package/lib/atoms/InputField/index.d.ts.map +1 -1
  28. package/lib/atoms/InputField/index.js +25 -8
  29. package/lib/atoms/InputField/index.test.js +91 -0
  30. package/lib/atoms/InputField/schema.d.ts.map +1 -1
  31. package/lib/atoms/InputField/schema.js +3 -2
  32. package/lib/atoms/OptionsList/Category.d.ts +1 -1
  33. package/lib/atoms/OptionsList/Category.d.ts.map +1 -1
  34. package/lib/atoms/OptionsList/Category.js +4 -2
  35. package/lib/atoms/OptionsList/Footer.d.ts +8 -0
  36. package/lib/atoms/OptionsList/Footer.d.ts.map +1 -0
  37. package/lib/atoms/OptionsList/Footer.js +72 -0
  38. package/lib/atoms/OptionsList/Option.d.ts.map +1 -1
  39. package/lib/atoms/OptionsList/Option.js +24 -9
  40. package/lib/atoms/OptionsList/index.d.ts.map +1 -1
  41. package/lib/atoms/OptionsList/index.js +44 -17
  42. package/lib/atoms/OptionsList/index.test.js +127 -17
  43. package/lib/atoms/OptionsList/schema.d.ts.map +1 -1
  44. package/lib/atoms/OptionsList/schema.js +5 -0
  45. package/lib/atoms/OptionsList/types.d.ts +15 -0
  46. package/lib/atoms/OptionsList/types.d.ts.map +1 -1
  47. package/lib/atoms/OptionsList/types.js +5 -1
  48. package/lib/atoms/RequiredIcon.d.ts +9 -0
  49. package/lib/atoms/RequiredIcon.d.ts.map +1 -0
  50. package/lib/atoms/{InputField/RequiredIcon.js → RequiredIcon.js} +7 -3
  51. package/lib/components/Accordion/types.js +5 -1
  52. package/lib/components/Accordion/useAccordion/types.js +5 -1
  53. package/lib/components/Alert/Container.d.ts +201 -0
  54. package/lib/components/Alert/Container.d.ts.map +1 -0
  55. package/lib/components/Alert/Container.js +26 -0
  56. package/lib/components/Alert/StyledButton.d.ts +5 -0
  57. package/lib/components/Alert/StyledButton.d.ts.map +1 -0
  58. package/lib/components/Alert/StyledButton.js +23 -0
  59. package/lib/components/Alert/index.d.ts +27 -0
  60. package/lib/components/Alert/index.d.ts.map +1 -0
  61. package/lib/components/Alert/index.js +112 -0
  62. package/lib/components/Alert/index.test.js +79 -0
  63. package/lib/components/Alert/intents.d.ts +13 -0
  64. package/lib/components/Alert/intents.d.ts.map +1 -0
  65. package/lib/components/Alert/intents.js +72 -0
  66. package/lib/components/{Tabs/schema.tab.d.ts → Alert/schema.d.ts} +1 -1
  67. package/lib/components/Alert/schema.d.ts.map +1 -0
  68. package/lib/components/Alert/schema.js +25 -0
  69. package/lib/components/Alert/types.d.ts +36 -0
  70. package/lib/components/Alert/types.d.ts.map +1 -0
  71. package/lib/components/Alert/types.js +32 -0
  72. package/lib/components/Avatar/types.js +5 -1
  73. package/lib/components/Badge/constants.d.ts +2 -0
  74. package/lib/components/Badge/constants.d.ts.map +1 -0
  75. package/lib/components/Badge/constants.js +29 -0
  76. package/lib/components/Badge/index.d.ts.map +1 -1
  77. package/lib/components/Badge/index.js +12 -23
  78. package/lib/components/Badge/index.test.js +51 -8
  79. package/lib/components/Badge/schema.js +1 -1
  80. package/lib/components/Badge/types.d.ts +1 -1
  81. package/lib/components/Badge/types.d.ts.map +1 -1
  82. package/lib/components/Badge/types.js +7 -3
  83. package/lib/components/Breadcrumbs/types.js +5 -1
  84. package/lib/components/Button/StyledButton.d.ts +3 -2
  85. package/lib/components/Button/StyledButton.d.ts.map +1 -1
  86. package/lib/components/Button/StyledButton.js +21 -7
  87. package/lib/components/Button/index.d.ts.map +1 -1
  88. package/lib/components/Button/index.js +19 -9
  89. package/lib/components/Button/index.test.js +24 -8
  90. package/lib/components/Button/schema.d.ts +6 -1
  91. package/lib/components/Button/schema.d.ts.map +1 -1
  92. package/lib/components/Button/schema.js +11 -5
  93. package/lib/components/Button/types.d.ts +2 -1
  94. package/lib/components/Button/types.d.ts.map +1 -1
  95. package/lib/components/Button/types.js +5 -1
  96. package/lib/components/Checkbox/index.d.ts.map +1 -1
  97. package/lib/components/Checkbox/index.js +3 -1
  98. package/lib/components/Checkbox/schema.d.ts.map +1 -1
  99. package/lib/components/Checkbox/schema.js +2 -0
  100. package/lib/components/Combobox/Target.d.ts.map +1 -1
  101. package/lib/components/Combobox/Target.js +52 -14
  102. package/lib/components/Combobox/index.d.ts.map +1 -1
  103. package/lib/components/Combobox/index.js +196 -66
  104. package/lib/components/Combobox/index.test.js +369 -146
  105. package/lib/components/Combobox/schema.d.ts.map +1 -1
  106. package/lib/components/Combobox/schema.js +10 -2
  107. package/lib/components/Combobox/types.d.ts +12 -3
  108. package/lib/components/Combobox/types.d.ts.map +1 -1
  109. package/lib/components/Combobox/types.js +5 -1
  110. package/lib/components/Drawer/index.d.ts +22 -0
  111. package/lib/components/Drawer/index.d.ts.map +1 -0
  112. package/lib/components/Drawer/index.js +105 -0
  113. package/lib/components/Drawer/index.test.js +122 -0
  114. package/lib/components/Drawer/schema.d.ts +3 -0
  115. package/lib/components/Drawer/schema.d.ts.map +1 -0
  116. package/lib/components/Drawer/schema.js +32 -0
  117. package/lib/components/Drawer/styles.d.ts +11 -0
  118. package/lib/components/Drawer/styles.d.ts.map +1 -0
  119. package/lib/components/Drawer/styles.js +79 -0
  120. package/lib/components/DropdownList/index.d.ts +4 -0
  121. package/lib/components/DropdownList/index.d.ts.map +1 -1
  122. package/lib/components/DropdownList/index.js +76 -11
  123. package/lib/components/DropdownList/propTypes.d.ts +4 -0
  124. package/lib/components/DropdownList/propTypes.d.ts.map +1 -0
  125. package/lib/components/DropdownList/propTypes.js +42 -0
  126. package/lib/components/DropdownList/schema.d.ts.map +1 -1
  127. package/lib/components/DropdownList/schema.js +6 -1
  128. package/lib/components/DropdownList/types.d.ts +4 -1
  129. package/lib/components/DropdownList/types.d.ts.map +1 -1
  130. package/lib/components/Filter/IconWrapper/index.d.ts +197 -0
  131. package/lib/components/Filter/IconWrapper/index.d.ts.map +1 -0
  132. package/lib/components/Filter/IconWrapper/index.js +35 -0
  133. package/lib/components/Filter/SimplePrimary/index.d.ts +31 -0
  134. package/lib/components/Filter/SimplePrimary/index.d.ts.map +1 -0
  135. package/lib/components/Filter/SimplePrimary/index.js +58 -0
  136. package/lib/components/Filter/SimplePrimary/index.test.js +34 -0
  137. package/lib/components/Filter/StyledFilter.d.ts +4 -0
  138. package/lib/components/Filter/StyledFilter.d.ts.map +1 -0
  139. package/lib/components/Filter/StyledFilter.js +41 -0
  140. package/lib/components/Filter/StyledLabel/index.d.ts +8 -0
  141. package/lib/components/Filter/StyledLabel/index.d.ts.map +1 -0
  142. package/lib/components/Filter/StyledLabel/index.js +30 -0
  143. package/lib/components/Filter/index.d.ts +5 -0
  144. package/lib/components/Filter/index.d.ts.map +1 -0
  145. package/lib/components/Filter/index.js +107 -0
  146. package/lib/components/Filter/index.test.js +60 -0
  147. package/lib/components/Filter/kind.d.ts +6 -0
  148. package/lib/components/Filter/kind.d.ts.map +1 -0
  149. package/lib/components/Filter/kind.js +45 -0
  150. package/lib/components/Filter/schema.d.ts +9 -0
  151. package/lib/components/Filter/schema.d.ts.map +1 -0
  152. package/lib/components/Filter/schema.js +33 -0
  153. package/lib/components/Filter/types.d.ts +18 -0
  154. package/lib/components/Filter/types.d.ts.map +1 -0
  155. package/lib/components/Filter/types.js +5 -0
  156. package/lib/components/JumpTo/JumpToMenu.d.ts +2 -2
  157. package/lib/components/JumpTo/JumpToMenu.d.ts.map +1 -1
  158. package/lib/components/JumpTo/JumpToMenu.js +3 -3
  159. package/lib/components/JumpTo/types.js +5 -1
  160. package/lib/components/JumpTo/utils.d.ts.map +1 -1
  161. package/lib/components/JumpTo/utils.js +3 -7
  162. package/lib/components/LeftNav/Item/ClickArea.js +1 -1
  163. package/lib/components/LeftNav/Item/ItemWrapper.d.ts.map +1 -1
  164. package/lib/components/LeftNav/Item/ItemWrapper.js +3 -3
  165. package/lib/components/LeftNav/Item/MenuItemWrapper.d.ts +7 -0
  166. package/lib/components/LeftNav/Item/MenuItemWrapper.d.ts.map +1 -0
  167. package/lib/components/LeftNav/Item/MenuItemWrapper.js +20 -0
  168. package/lib/components/LeftNav/Item/NavCollapsedXItem/index.d.ts.map +1 -1
  169. package/lib/components/LeftNav/Item/NavCollapsedXItem/index.js +7 -5
  170. package/lib/components/LeftNav/Item/NavExpandedItem/index.d.ts.map +1 -1
  171. package/lib/components/LeftNav/Item/NavExpandedItem/index.js +24 -13
  172. package/lib/components/LeftNav/Item/types.d.ts +1 -1
  173. package/lib/components/LeftNav/Item/types.d.ts.map +1 -1
  174. package/lib/components/LeftNav/Item/types.js +5 -1
  175. package/lib/components/LeftNav/index.test.js +13 -3
  176. package/lib/components/LeftNav/schema.d.ts.map +1 -1
  177. package/lib/components/LeftNav/schema.js +2 -0
  178. package/lib/components/LeftNav/types.d.ts +1 -0
  179. package/lib/components/LeftNav/types.d.ts.map +1 -1
  180. package/lib/components/LeftNav/types.js +5 -1
  181. package/lib/components/Link/DisabledLink.d.ts +7 -0
  182. package/lib/components/Link/DisabledLink.d.ts.map +1 -0
  183. package/lib/components/Link/DisabledLink.js +46 -0
  184. package/lib/components/Link/Link.d.ts +4 -0
  185. package/lib/components/Link/Link.d.ts.map +1 -0
  186. package/lib/components/Link/Link.js +67 -0
  187. package/lib/components/Link/index.d.ts +4 -23
  188. package/lib/components/Link/index.d.ts.map +1 -1
  189. package/lib/components/Link/index.js +20 -158
  190. package/lib/components/Link/index.test.js +63 -42
  191. package/lib/components/Link/schema.d.ts.map +1 -1
  192. package/lib/components/Link/schema.js +2 -1
  193. package/lib/components/Link/styles.d.ts +20 -0
  194. package/lib/components/Link/styles.d.ts.map +1 -0
  195. package/lib/components/Link/styles.js +131 -0
  196. package/lib/components/Link/types.d.ts +28 -0
  197. package/lib/components/Link/types.d.ts.map +1 -0
  198. package/lib/components/Link/types.js +5 -0
  199. package/lib/components/Loading/Loading.d.ts +12 -0
  200. package/lib/components/Loading/Loading.d.ts.map +1 -0
  201. package/lib/components/Loading/Loading.js +70 -0
  202. package/lib/components/Loading/index.d.ts +4 -0
  203. package/lib/components/Loading/index.d.ts.map +1 -0
  204. package/lib/components/Loading/index.js +33 -0
  205. package/lib/components/Loading/index.test.js +55 -0
  206. package/lib/components/Loading/schema.d.ts +4 -0
  207. package/lib/components/Loading/schema.d.ts.map +1 -0
  208. package/lib/components/Loading/schema.js +31 -0
  209. package/lib/components/Loading/styles.d.ts +211 -0
  210. package/lib/components/Loading/styles.d.ts.map +1 -0
  211. package/lib/components/Loading/styles.js +77 -0
  212. package/lib/components/Loading/types.d.ts +10 -0
  213. package/lib/components/Loading/types.d.ts.map +1 -0
  214. package/lib/components/Loading/types.js +5 -0
  215. package/lib/components/Menu/index.d.ts.map +1 -1
  216. package/lib/components/Menu/index.js +3 -1
  217. package/lib/components/Menu/types.d.ts +2 -0
  218. package/lib/components/Menu/types.d.ts.map +1 -1
  219. package/lib/components/Menu/types.js +5 -1
  220. package/lib/components/Modal/components.d.ts +2 -2
  221. package/lib/components/Modal/types.js +5 -1
  222. package/lib/components/Notifications/Notification/components.d.ts +3 -3
  223. package/lib/components/Notifications/Notification/components.d.ts.map +1 -1
  224. package/lib/components/Notifications/Notification/components.js +12 -6
  225. package/lib/components/Notifications/Notification/index.d.ts +3 -6
  226. package/lib/components/Notifications/Notification/index.d.ts.map +1 -1
  227. package/lib/components/Notifications/Notification/index.js +19 -12
  228. package/lib/components/Notifications/Notification/index.test.js +38 -19
  229. package/lib/components/Notifications/NotificationsPanel/index.d.ts +2 -1
  230. package/lib/components/Notifications/NotificationsPanel/index.d.ts.map +1 -1
  231. package/lib/components/Notifications/NotificationsPanel/index.js +41 -22
  232. package/lib/components/Notifications/NotificationsPanel/schema.js +1 -1
  233. package/lib/components/Notifications/Notifier.test.js +79 -10
  234. package/lib/components/Notifications/constants.d.ts +2 -0
  235. package/lib/components/Notifications/constants.d.ts.map +1 -0
  236. package/lib/components/Notifications/constants.js +16 -0
  237. package/lib/components/Notifications/schema.d.ts.map +1 -1
  238. package/lib/components/Notifications/schema.js +2 -1
  239. package/lib/components/Notifications/useNotifications.d.ts +1 -0
  240. package/lib/components/Notifications/useNotifications.d.ts.map +1 -1
  241. package/lib/components/Notifications/useNotifications.test.js +7 -4
  242. package/lib/components/Pagination/Pagination.d.ts +1 -1
  243. package/lib/components/Pagination/Pagination.d.ts.map +1 -1
  244. package/lib/components/Pagination/Pagination.js +1 -0
  245. package/lib/components/Pagination/Pagination.test.js +9 -0
  246. package/lib/components/Pagination/types.js +5 -1
  247. package/lib/components/PasswordField/IconWrapper.d.ts +198 -0
  248. package/lib/components/PasswordField/IconWrapper.d.ts.map +1 -0
  249. package/lib/components/PasswordField/IconWrapper.js +32 -0
  250. package/lib/components/PasswordField/Input.d.ts +6 -0
  251. package/lib/components/PasswordField/Input.d.ts.map +1 -0
  252. package/lib/components/PasswordField/Input.js +28 -0
  253. package/lib/components/PasswordField/ShowPasswordButton.d.ts +8 -0
  254. package/lib/components/PasswordField/ShowPasswordButton.d.ts.map +1 -0
  255. package/lib/components/PasswordField/ShowPasswordButton.js +48 -0
  256. package/lib/components/PasswordField/index.d.ts +14 -0
  257. package/lib/components/PasswordField/index.d.ts.map +1 -0
  258. package/lib/components/PasswordField/index.js +113 -0
  259. package/lib/components/PasswordField/index.test.js +217 -0
  260. package/lib/components/PasswordField/schema.d.ts +3 -0
  261. package/lib/components/PasswordField/schema.d.ts.map +1 -0
  262. package/lib/components/PasswordField/schema.js +27 -0
  263. package/lib/components/Popover/index.d.ts.map +1 -1
  264. package/lib/components/Popover/index.js +6 -3
  265. package/lib/components/Popover/schema.d.ts.map +1 -1
  266. package/lib/components/Popover/schema.js +27 -20
  267. package/lib/components/Popover/types.d.ts +1 -0
  268. package/lib/components/Popover/types.d.ts.map +1 -1
  269. package/lib/components/Popover/utils.d.ts +1 -1
  270. package/lib/components/SearchInput/index.d.ts +11 -0
  271. package/lib/components/SearchInput/index.d.ts.map +1 -0
  272. package/lib/components/SearchInput/index.js +190 -0
  273. package/lib/components/SearchInput/index.test.js +417 -0
  274. package/lib/components/SearchInput/schema.d.ts +3 -0
  275. package/lib/components/SearchInput/schema.d.ts.map +1 -0
  276. package/lib/components/SearchInput/schema.js +24 -0
  277. package/lib/components/SearchInput/types.d.ts +28 -0
  278. package/lib/components/SearchInput/types.d.ts.map +1 -0
  279. package/lib/components/SearchInput/types.js +5 -0
  280. package/lib/components/Select/Target.d.ts.map +1 -1
  281. package/lib/components/Select/Target.js +6 -2
  282. package/lib/components/Select/index.d.ts.map +1 -1
  283. package/lib/components/Select/index.js +44 -4
  284. package/lib/components/Select/index.test.js +106 -23
  285. package/lib/components/Select/schema.d.ts.map +1 -1
  286. package/lib/components/Select/schema.js +9 -0
  287. package/lib/components/Select/types.d.ts +6 -1
  288. package/lib/components/Select/types.d.ts.map +1 -1
  289. package/lib/components/Select/types.js +5 -1
  290. package/lib/components/SelectDate/Target.d.ts.map +1 -1
  291. package/lib/components/SelectDate/Target.js +6 -2
  292. package/lib/components/SelectDate/index.d.ts.map +1 -1
  293. package/lib/components/SelectDate/index.js +32 -3
  294. package/lib/components/SelectDate/index.test.js +108 -51
  295. package/lib/components/SelectDate/schema.d.ts.map +1 -1
  296. package/lib/components/SelectDate/schema.js +3 -0
  297. package/lib/components/SelectDate/types.d.ts +3 -0
  298. package/lib/components/SelectDate/types.d.ts.map +1 -1
  299. package/lib/components/SelectDate/types.js +5 -1
  300. package/lib/components/SelectDateRange/index.d.ts.map +1 -1
  301. package/lib/components/SelectDateRange/index.js +31 -2
  302. package/lib/components/SelectDateRange/index.test.js +115 -58
  303. package/lib/components/SelectDateRange/schema.d.ts.map +1 -1
  304. package/lib/components/SelectDateRange/schema.js +3 -0
  305. package/lib/components/SelectDateRange/types.js +5 -1
  306. package/lib/components/SelectMenu/index.d.ts +5 -0
  307. package/lib/components/SelectMenu/index.d.ts.map +1 -1
  308. package/lib/components/SelectMenu/index.js +27 -3
  309. package/lib/components/SelectMenu/schema.d.ts.map +1 -1
  310. package/lib/components/SelectMenu/schema.js +4 -0
  311. package/lib/components/Table/Body.d.ts.map +1 -1
  312. package/lib/components/Table/Body.js +28 -17
  313. package/lib/components/Table/Container.d.ts.map +1 -1
  314. package/lib/components/Table/Container.js +6 -1
  315. package/lib/components/Table/DataRow.d.ts.map +1 -1
  316. package/lib/components/Table/DataRow.js +26 -18
  317. package/lib/components/Table/Head.d.ts +1 -1
  318. package/lib/components/Table/Head.d.ts.map +1 -1
  319. package/lib/components/Table/Head.js +10 -5
  320. package/lib/components/Table/HeaderCell/index.d.ts.map +1 -1
  321. package/lib/components/Table/HeaderCell/index.js +19 -6
  322. package/lib/components/Table/HeaderCell/types.d.ts +6 -1
  323. package/lib/components/Table/HeaderCell/types.d.ts.map +1 -1
  324. package/lib/components/Table/HeaderCell/types.js +5 -1
  325. package/lib/components/Table/Provider.d.ts +5 -5
  326. package/lib/components/Table/Provider.d.ts.map +1 -1
  327. package/lib/components/Table/Provider.js +10 -11
  328. package/lib/components/Table/index.d.ts.map +1 -1
  329. package/lib/components/Table/index.js +110 -20
  330. package/lib/components/Table/index.test.js +80 -33
  331. package/lib/components/Table/schema.columns.d.ts.map +1 -1
  332. package/lib/components/Table/schema.columns.js +6 -4
  333. package/lib/components/Table/schema.d.ts.map +1 -1
  334. package/lib/components/Table/schema.js +7 -6
  335. package/lib/components/Table/types.d.ts +19 -4
  336. package/lib/components/Table/types.d.ts.map +1 -1
  337. package/lib/components/Table/utils.d.ts +2 -8
  338. package/lib/components/Table/utils.d.ts.map +1 -1
  339. package/lib/components/Table/utils.js +21 -20
  340. package/lib/components/Tabs/Tab/index.d.ts +13 -0
  341. package/lib/components/Tabs/Tab/index.d.ts.map +1 -0
  342. package/lib/components/Tabs/Tab/index.js +94 -0
  343. package/lib/components/Tabs/Tab/schema.d.ts +3 -0
  344. package/lib/components/Tabs/Tab/schema.d.ts.map +1 -0
  345. package/lib/components/Tabs/Tab/styles.d.ts +7 -0
  346. package/lib/components/Tabs/Tab/styles.d.ts.map +1 -0
  347. package/lib/components/Tabs/Tab/styles.js +37 -0
  348. package/lib/components/Tabs/context.d.ts +2 -2
  349. package/lib/components/Tabs/context.d.ts.map +1 -1
  350. package/lib/components/Tabs/context.js +1 -1
  351. package/lib/components/Tabs/index.d.ts +17 -6
  352. package/lib/components/Tabs/index.d.ts.map +1 -1
  353. package/lib/components/Tabs/index.js +104 -163
  354. package/lib/components/Tabs/index.test.js +54 -2
  355. package/lib/components/Tabs/styles.d.ts +4 -0
  356. package/lib/components/Tabs/styles.d.ts.map +1 -0
  357. package/lib/components/Tabs/styles.js +35 -0
  358. package/lib/components/Tag/Action.d.ts +4 -0
  359. package/lib/components/Tag/Action.d.ts.map +1 -0
  360. package/lib/components/Tag/Action.js +39 -0
  361. package/lib/components/Tag/constants.d.ts +2 -2
  362. package/lib/components/Tag/constants.d.ts.map +1 -1
  363. package/lib/components/Tag/constants.js +4 -4
  364. package/lib/components/Tag/index.d.ts +1 -3
  365. package/lib/components/Tag/index.d.ts.map +1 -1
  366. package/lib/components/Tag/index.js +40 -97
  367. package/lib/components/Tag/index.test.js +239 -2
  368. package/lib/components/Tag/propTypes.d.ts +3 -0
  369. package/lib/components/Tag/propTypes.d.ts.map +1 -1
  370. package/lib/components/Tag/propTypes.js +5 -2
  371. package/lib/components/Tag/schema.d.ts.map +1 -1
  372. package/lib/components/Tag/schema.js +2 -0
  373. package/lib/components/Tag/styles.d.ts +13 -0
  374. package/lib/components/Tag/styles.d.ts.map +1 -0
  375. package/lib/components/Tag/styles.js +167 -0
  376. package/lib/components/Tag/types.d.ts +9 -10
  377. package/lib/components/Tag/types.d.ts.map +1 -1
  378. package/lib/components/Tag/types.js +5 -1
  379. package/lib/components/TextArea/TextArea.d.ts.map +1 -1
  380. package/lib/components/TextArea/TextArea.js +1 -1
  381. package/lib/components/TextArea/index.js +1 -0
  382. package/lib/components/TextArea/index.test.js +5 -0
  383. package/lib/components/TextField/Input.js +1 -1
  384. package/lib/components/TextField/index.test.js +5 -0
  385. package/lib/components/Toggle/Fieldset.d.ts.map +1 -1
  386. package/lib/components/Toggle/Fieldset.js +20 -11
  387. package/lib/components/Toggle/Option.d.ts.map +1 -1
  388. package/lib/components/Toggle/Option.js +1 -1
  389. package/lib/components/Toggle/Slider.d.ts +1 -3
  390. package/lib/components/Toggle/Slider.d.ts.map +1 -1
  391. package/lib/components/Toggle/Slider.js +29 -24
  392. package/lib/components/Toggle/index.d.ts.map +1 -1
  393. package/lib/components/Toggle/index.js +6 -1
  394. package/lib/components/Toggle/index.test.js +39 -10
  395. package/lib/components/Toggle/propTypes.js +1 -1
  396. package/lib/components/Toggle/schema.js +1 -1
  397. package/lib/components/Toggle/types.d.ts +3 -2
  398. package/lib/components/Toggle/types.d.ts.map +1 -1
  399. package/lib/components/Toggle/types.js +5 -1
  400. package/lib/components/ToggleView/ToggleView.d.ts +5 -0
  401. package/lib/components/ToggleView/ToggleView.d.ts.map +1 -0
  402. package/lib/components/ToggleView/ToggleView.js +80 -0
  403. package/lib/components/ToggleView/index.d.ts +4 -0
  404. package/lib/components/ToggleView/index.d.ts.map +1 -0
  405. package/lib/components/ToggleView/index.js +33 -0
  406. package/lib/components/ToggleView/index.test.js +61 -0
  407. package/lib/components/ToggleView/schema.d.ts +3 -0
  408. package/lib/components/ToggleView/schema.d.ts.map +1 -0
  409. package/lib/components/ToggleView/schema.js +24 -0
  410. package/lib/components/ToggleView/styles.d.ts +6 -0
  411. package/lib/components/ToggleView/styles.d.ts.map +1 -0
  412. package/lib/components/ToggleView/styles.js +23 -0
  413. package/lib/components/ToggleView/types.d.ts +23 -0
  414. package/lib/components/ToggleView/types.d.ts.map +1 -0
  415. package/lib/components/ToggleView/types.js +12 -0
  416. package/lib/components/Tooltip/index.d.ts.map +1 -1
  417. package/lib/components/Tooltip/index.js +3 -13
  418. package/lib/components/Tooltip/schema.d.ts +3 -0
  419. package/lib/components/Tooltip/schema.d.ts.map +1 -0
  420. package/lib/components/Tooltip/schema.js +29 -0
  421. package/lib/components/Typography/withColors.d.ts +1 -1
  422. package/lib/components/Typography/withColors.d.ts.map +1 -1
  423. package/lib/components/Typography/withColors.js +1 -1
  424. package/lib/components/index.d.ts +8 -1
  425. package/lib/components/index.d.ts.map +1 -1
  426. package/lib/components/index.js +126 -0
  427. package/lib/modifiers/spacingSchema.d.ts.map +1 -1
  428. package/lib/modifiers/spacingSchema.js +29 -16
  429. package/lib/providers/ConfigProvider/index.d.ts.map +1 -1
  430. package/lib/providers/ConfigProvider/index.js +5 -1
  431. package/lib/providers/ConfigProvider/utils/context.d.ts +1 -1
  432. package/lib/providers/ConfigProvider/utils/context.d.ts.map +1 -1
  433. package/lib/providers/ConfigProvider/utils/normalizer.d.ts.map +1 -1
  434. package/lib/providers/ConfigProvider/utils/normalizer.js +1 -1
  435. package/lib/providers/ConfigProvider/utils/translations.d.ts +24 -0
  436. package/lib/providers/ConfigProvider/utils/translations.d.ts.map +1 -1
  437. package/lib/providers/ConfigProvider/utils/translations.js +24 -0
  438. package/lib/providers/NotificationsProvider/index.d.ts +6 -5
  439. package/lib/providers/NotificationsProvider/index.d.ts.map +1 -1
  440. package/lib/providers/NotificationsProvider/index.js +47 -28
  441. package/lib/providers/NotificationsProvider/types.d.ts +4 -1
  442. package/lib/providers/NotificationsProvider/types.d.ts.map +1 -1
  443. package/lib/utils/commonUIColors.d.ts +349 -1
  444. package/lib/utils/commonUIColors.d.ts.map +1 -1
  445. package/lib/utils/commonUIColors.js +6 -2
  446. package/lib/utils/joinClassnames.d.ts +3 -0
  447. package/lib/utils/joinClassnames.d.ts.map +1 -0
  448. package/lib/utils/joinClassnames.js +26 -0
  449. package/lib/utils/useFirstMount.d.ts +2 -0
  450. package/lib/utils/useFirstMount.d.ts.map +1 -0
  451. package/lib/utils/useFirstMount.js +19 -0
  452. package/lib/utils/useUpdateEffect.d.ts +4 -0
  453. package/lib/utils/useUpdateEffect.d.ts.map +1 -0
  454. package/lib/utils/useUpdateEffect.js +28 -0
  455. package/package.json +2 -2
  456. package/CHANGELOG.md +0 -796
  457. package/lib/atoms/InputField/RequiredIcon.d.ts +0 -4
  458. package/lib/atoms/InputField/RequiredIcon.d.ts.map +0 -1
  459. package/lib/components/Tabs/Tab.d.ts +0 -5
  460. package/lib/components/Tabs/Tab.d.ts.map +0 -1
  461. package/lib/components/Tabs/Tab.js +0 -109
  462. package/lib/components/Tabs/schema.tab.d.ts.map +0 -1
  463. package/lib/components/Tabs/types.d.ts +0 -27
  464. package/lib/components/Tabs/types.d.ts.map +0 -1
  465. package/lib/components/Tabs/types.js +0 -1
  466. package/lib/components/Tag/ActionButton.d.ts +0 -5
  467. package/lib/components/Tag/ActionButton.d.ts.map +0 -1
  468. package/lib/components/Tag/ActionButton.js +0 -56
  469. /package/lib/components/Tabs/{schema.tab.js → Tab/schema.js} +0 -0
@@ -11,10 +11,18 @@ var _findIndex = _interopRequireDefault(require("lodash/findIndex"));
11
11
 
12
12
  var _get = _interopRequireDefault(require("lodash/get"));
13
13
 
14
+ var _union = _interopRequireDefault(require("lodash/union"));
15
+
16
+ var _isArray = _interopRequireDefault(require("lodash/isArray"));
17
+
14
18
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
15
19
 
20
+ var _last = _interopRequireDefault(require("lodash/last"));
21
+
16
22
  var _rem = _interopRequireDefault(require("polished/lib/helpers/rem"));
17
23
 
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
18
26
  var _react = _interopRequireWildcard(require("react"));
19
27
 
20
28
  var _breakpointObserver = require("@decisiv/breakpoint-observer");
@@ -25,6 +33,8 @@ var _Question = _interopRequireDefault(require("@decisiv/iconix/lib/components/Q
25
33
 
26
34
  var _composeReactRefs = _interopRequireDefault(require("@seznam/compose-react-refs"));
27
35
 
36
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
37
+
28
38
  var _InputField = _interopRequireDefault(require("../../atoms/InputField"));
29
39
 
30
40
  var _useClickOutside = _interopRequireDefault(require("../../utils/useClickOutside"));
@@ -49,12 +59,22 @@ var _schema = _interopRequireDefault(require("./schema"));
49
59
 
50
60
  var _utils = require("./utils");
51
61
 
62
+ var _usePrevious = _interopRequireDefault(require("../../utils/usePrevious"));
63
+
52
64
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
53
65
 
54
66
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
55
67
 
68
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
69
+
70
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
71
+
72
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
73
+
56
74
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
57
75
 
76
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
77
+
58
78
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
59
79
 
60
80
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
@@ -71,6 +91,14 @@ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d =
71
91
 
72
92
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
73
93
 
94
+ var StyledInputDiv = _styledComponents.default.div.withConfig({
95
+ displayName: "Combobox__StyledInputDiv",
96
+ componentId: "zvfxxj-0"
97
+ })(["position:relative;width:100%;max-width:", ";"], function (_ref) {
98
+ var maxWidth = _ref.maxWidth;
99
+ return maxWidth;
100
+ });
101
+
74
102
  function Combobox(props, ref) {
75
103
  var clearButtonLabel = props.clearButtonLabel,
76
104
  defaultValue = props.defaultValue,
@@ -78,18 +106,24 @@ function Combobox(props, ref) {
78
106
  inputContainerRef = props.inputContainerRef,
79
107
  label = props.label,
80
108
  loading = props.loading,
109
+ _props$maxWidth = props.maxWidth,
110
+ maxWidth = _props$maxWidth === void 0 ? '100%' : _props$maxWidth,
111
+ multiple = props.multiple,
81
112
  name = props.name,
82
113
  onChangeValue = props.onChangeValue,
83
114
  onClick = props.onClick,
84
115
  onFocus = props.onFocus,
116
+ onHide = props.onHide,
85
117
  onKeyDown = props.onKeyDown,
118
+ onShow = props.onShow,
86
119
  _props$options = props.options,
87
120
  options = _props$options === void 0 ? [] : _props$options,
121
+ renderOptionLabel = props.renderOptionLabel,
88
122
  propValue = props.value,
89
123
  _props$variant = props.variant,
90
124
  variant = _props$variant === void 0 ? 'sync' : _props$variant,
91
- renderOptionLabel = props.renderOptionLabel,
92
- zIndex = props.zIndex;
125
+ zIndex = props.zIndex,
126
+ containerSelector = props.containerSelector;
93
127
 
94
128
  var _useCombobox = (0, _useCombobox2.default)(props),
95
129
  getInputFieldProps = _useCombobox.getInputFieldProps,
@@ -123,24 +157,77 @@ function Combobox(props, ref) {
123
157
  var _useState5 = (0, _react.useState)(false),
124
158
  _useState6 = _slicedToArray(_useState5, 2),
125
159
  isPopoverVisible = _useState6[0],
126
- setIsPopoverVisible = _useState6[1];
160
+ setIsPopoverVisibleState = _useState6[1];
161
+
162
+ var previousIsPopoverVisible = (0, _usePrevious.default)(isPopoverVisible);
163
+ /**
164
+ * Combobox controls the Popover instead of relying on the Popover's internal state.
165
+ * The Popover's onShow/ onHide handlers only function when the Popover is _not_
166
+ * controlled. This effect watches for a toggled visibility state, and calls the appropriate
167
+ * event handler.
168
+ */
127
169
 
128
170
  (0, _react.useEffect)(function () {
129
- // Set the "default" active ID to the first, if it exists.
130
- if (!(0, _isEmpty.default)(options) && !activeId) {
131
- setActiveId((0, _get.default)(options, '0.id'));
171
+ if (previousIsPopoverVisible && !isPopoverVisible && onHide) {
172
+ onHide();
173
+ }
174
+
175
+ if (!previousIsPopoverVisible && isPopoverVisible && onShow) {
176
+ onShow();
177
+ }
178
+ }, [isPopoverVisible, previousIsPopoverVisible, onShow, onHide]);
179
+ /**
180
+ * Update the dropdown list visibility.
181
+ */
182
+
183
+ var updateIsPopoverVisible = (0, _react.useCallback)(function (arg) {
184
+ if (arg === true || arg === false) setIsPopoverVisibleState(arg);
185
+ if (arg === 'toggle') setIsPopoverVisibleState(function (old) {
186
+ return !old;
187
+ });
188
+ }, [setIsPopoverVisibleState]);
189
+ /**
190
+ * This generates a flat list of the options (including those in categories)
191
+ * in the order they are presented in the dropdown list. Filtering disabled elements.
192
+ */
193
+
194
+ var flatOptions = (0, _react.useMemo)(function () {
195
+ return options.reduce(function (acc, curr) {
196
+ if ((0, _utils.isCategory)(curr)) {
197
+ var items = (0, _isArray.default)(curr.items) ? curr.items.filter(function (option) {
198
+ return !option.disabled;
199
+ }) : [];
200
+ return acc.concat(items);
201
+ }
202
+
203
+ if (!curr.disabled) {
204
+ return acc.concat(curr);
205
+ }
206
+
207
+ return acc;
208
+ }, []);
209
+ }, [options]);
210
+ (0, _react.useEffect)(function () {
211
+ // Set the "default" active ID to the first in flatOptions, if it exists.
212
+ if (!(0, _isEmpty.default)(flatOptions) && !activeId) {
213
+ setActiveId((0, _get.default)(flatOptions, '0.id'));
132
214
  } // For async comboboxes, if the input is focused, the dropdown should be open.
133
215
 
134
216
 
135
- if (isFocused && variant === 'async') {
136
- setIsPopoverVisible(true);
217
+ if (isFocused && variant === 'async' || multiple && internalInputValue !== '') {
218
+ updateIsPopoverVisible(true);
137
219
  }
138
- }, [activeId, isFocused, options, variant]); // The selectedValue is the id of the selectedOption, or an empty string if none selected.
220
+ }, [activeId, isFocused, flatOptions, variant, multiple, internalInputValue, updateIsPopoverVisible]); // The selectedValue is the id of the selectedOption, or an empty string if none selected.
139
221
 
140
- var _useState7 = (0, _react.useState)(propValue || defaultValue || undefined),
222
+ var _useState7 = (0, _react.useState)(!Array.isArray(propValue) && propValue || !Array.isArray(defaultValue) && defaultValue || undefined),
141
223
  _useState8 = _slicedToArray(_useState7, 2),
142
224
  selectedValue = _useState8[0],
143
225
  setSelectedValue = _useState8[1];
226
+
227
+ var _useState9 = (0, _react.useState)(Array.isArray(propValue) && propValue || undefined),
228
+ _useState10 = _slicedToArray(_useState9, 2),
229
+ selectedValues = _useState10[0],
230
+ setSelectedValues = _useState10[1];
144
231
  /**
145
232
  * The current selected value and current input value are saved independently,
146
233
  * but must be kept in sync. Using a single callback for this keeps it simple(r).
@@ -149,13 +236,51 @@ function Combobox(props, ref) {
149
236
 
150
237
  var updateSelected = (0, _react.useCallback)(function (selectedId) {
151
238
  setSelectedValue(selectedId);
152
- var newSelected = (0, _utils.getOptionFromOptions)(options, selectedId) || {};
153
- setInternalInputValue((0, _get.default)(newSelected, 'label', ''));
239
+ var newSelected = (0, _utils.getOptionFromOptions)(options, selectedId) || null;
240
+
241
+ if (multiple) {
242
+ var index = selectedValues && selectedValues.findIndex(function (_ref2) {
243
+ var itemId = _ref2.id;
244
+ return itemId === selectedId;
245
+ });
246
+
247
+ if (newSelected && (index === undefined || index === -1)) {
248
+ setSelectedValues((0, _union.default)(selectedValues, [newSelected]));
249
+ }
250
+
251
+ setInternalInputValue('');
252
+ setActiveId(undefined);
253
+ } else {
254
+ setInternalInputValue((0, _get.default)(newSelected, 'label', ''));
255
+ }
256
+
257
+ if (onChangeValue) {
258
+ if (selectedId) {
259
+ onChangeValue(selectedId, {
260
+ removed: false
261
+ });
262
+ } else {
263
+ onChangeValue(null, {
264
+ removed: true
265
+ });
266
+ }
267
+ }
268
+ }, [multiple, onChangeValue, options, selectedValues, setInternalInputValue, setSelectedValue, setSelectedValues, setActiveId]);
269
+ var removeSelected = (0, _react.useCallback)(function (selectedId) {
270
+ var newSelectedValues = selectedValues && selectedValues.filter(function (_ref3) {
271
+ var optionId = _ref3.id;
272
+ return selectedId !== optionId;
273
+ });
274
+ setSelectedValues(newSelectedValues);
154
275
 
155
276
  if (onChangeValue) {
156
- onChangeValue(selectedId);
277
+ onChangeValue(selectedId, {
278
+ removed: true
279
+ });
157
280
  }
158
- }, [onChangeValue, options, setInternalInputValue, setSelectedValue]);
281
+
282
+ return undefined;
283
+ }, [onChangeValue, selectedValues, setSelectedValues]);
159
284
  /**
160
285
  * If the value prop changes, it should always override any locally maintained current values.
161
286
  * This allows the component to be controlled.
@@ -166,15 +291,10 @@ function Combobox(props, ref) {
166
291
  setSelectedValue(propValue);
167
292
  var newSelected = (0, _utils.getOptionFromOptions)(options, propValue) || {};
168
293
  setInternalInputValue((0, _get.default)(newSelected, 'label', ''));
294
+ } else if (_typeof(propValue) === 'object' && propValue !== selectedValues) {
295
+ setSelectedValues(propValue);
169
296
  }
170
- }, [options, propValue, selectedValue, setInternalInputValue, updateSelected]);
171
- /**
172
- * Toggle the dropdown list.
173
- */
174
-
175
- var toggleIsPopoverVisible = (0, _react.useCallback)(function () {
176
- setIsPopoverVisible(!isPopoverVisible);
177
- }, [isPopoverVisible]);
297
+ }, [options, propValue, selectedValue, selectedValues, setInternalInputValue, updateSelected]);
178
298
  /**
179
299
  * This handler is called when the "active" item is changed in the DropdownList. That could be
180
300
  * when the user hovers over a new item with the mouse, or when the user navigates through
@@ -190,8 +310,13 @@ function Combobox(props, ref) {
190
310
  */
191
311
 
192
312
  var handleChangeDropdownListValue = (0, _react.useCallback)(function (selectedIds) {
313
+ if (multiple) {
314
+ updateSelected((0, _last.default)(selectedIds));
315
+ return;
316
+ }
317
+
193
318
  updateSelected(selectedIds[0]);
194
- }, [updateSelected]);
319
+ }, [updateSelected, multiple]);
195
320
  /**
196
321
  * Clicking anywhere within the Combobox component (except the clear button) should open
197
322
  * the dropdown list. There is some complex logic here because of the <input> rendered inside
@@ -211,7 +336,7 @@ function Combobox(props, ref) {
211
336
  * tree. Clicking an item in the list will call this click handler on the container.
212
337
  * Usually that's fine. In this case, we don't want that behavior.
213
338
  */
214
- setIsPopoverVisible(false);
339
+ updateIsPopoverVisible(false);
215
340
  } else if (isFocused) {
216
341
  if (variant === 'sync' && finalComboboxRef && // @ts-ignore
217
342
  finalComboboxRef.current === event.target) {
@@ -227,16 +352,16 @@ function Combobox(props, ref) {
227
352
  * This re-opens the popover if you first open it,
228
353
  * then make a selection, then click the <input> again.
229
354
  */
230
- setIsPopoverVisible(true);
355
+ updateIsPopoverVisible(true);
231
356
  }
232
357
  } else {
233
- toggleIsPopoverVisible();
358
+ updateIsPopoverVisible('toggle');
234
359
  }
235
360
  }
236
361
 
237
362
  onClick && onClick(event);
238
363
  }, // eslint-disable-next-line react-hooks/exhaustive-deps
239
- [isFocused, isPopoverVisible, variant, onClick, toggleIsPopoverVisible]);
364
+ [isFocused, isPopoverVisible, variant, onClick, updateIsPopoverVisible]);
240
365
  /**
241
366
  * This focus handler is responsible for opening the dropdown list and tracking focus state.
242
367
  * It's important to do this in the focus handler because the dropdown should open when the
@@ -245,26 +370,12 @@ function Combobox(props, ref) {
245
370
 
246
371
  var handleContainerFocus = (0, _react.useCallback)(function (event) {
247
372
  if (variant === 'sync') {
248
- setIsPopoverVisible(true);
373
+ updateIsPopoverVisible(true);
249
374
  }
250
375
 
251
376
  setIsFocused(true);
252
377
  onFocus && onFocus(event);
253
- }, [onFocus, setIsPopoverVisible, variant]);
254
- /**
255
- * This generates a flat list of the options (including those in categories)
256
- * in the order they are presented in the dropdown list.
257
- */
258
-
259
- var flatOptions = (0, _react.useMemo)(function () {
260
- return options.reduce(function (acc, curr) {
261
- if ((0, _utils.isCategory)(curr)) {
262
- return acc.concat(curr.items);
263
- }
264
-
265
- return acc.concat(curr);
266
- }, []);
267
- }, [options]);
378
+ }, [onFocus, updateIsPopoverVisible, variant]);
268
379
  /**
269
380
  * Pressing certain keys when focused on the Combobox component should trigger some actions.
270
381
  */
@@ -276,10 +387,10 @@ function Combobox(props, ref) {
276
387
  event.preventDefault();
277
388
 
278
389
  if (!isPopoverVisible) {
279
- setIsPopoverVisible(true);
390
+ updateIsPopoverVisible(true);
280
391
  } else {
281
- var currentIndex = (0, _findIndex.default)(flatOptions, function (_ref) {
282
- var optionId = _ref.id;
392
+ var currentIndex = (0, _findIndex.default)(flatOptions, function (_ref4) {
393
+ var optionId = _ref4.id;
283
394
  return optionId === activeId;
284
395
  });
285
396
 
@@ -300,28 +411,28 @@ function Combobox(props, ref) {
300
411
  }
301
412
 
302
413
  if (event.key === 'Enter' && isPopoverVisible) {
303
- setIsPopoverVisible(false);
304
414
  updateSelected(activeId || '');
415
+ updateIsPopoverVisible(false);
305
416
  }
306
417
 
307
418
  if (event.key === 'Escape') {
308
- setIsPopoverVisible(false);
419
+ updateIsPopoverVisible(false);
309
420
  }
310
421
 
311
422
  if (event.key === 'Tab' && isPopoverVisible) {
312
- setIsPopoverVisible(false);
423
+ updateIsPopoverVisible(false);
313
424
  }
314
425
 
315
426
  if (onKeyDown) {
316
427
  onKeyDown(event);
317
428
  }
318
- }, [activeId, flatOptions, isPopoverVisible, onKeyDown, setActiveId, updateSelected]); // When the dropdown is visible, clicking anywhere outside of the dropdown should close it.
429
+ }, [activeId, flatOptions, isPopoverVisible, onKeyDown, updateIsPopoverVisible, updateSelected]); // When the dropdown is visible, clicking anywhere outside of the dropdown should close it.
319
430
 
320
431
  var handleClickOutsideList = (0, _react.useCallback)(function (event) {
321
432
  if (isPopoverVisible) {
322
- setIsPopoverVisible(false);
433
+ updateIsPopoverVisible(false);
323
434
  }
324
- }, [isPopoverVisible]);
435
+ }, [isPopoverVisible, updateIsPopoverVisible]);
325
436
  (0, _useClickOutside.default)([finalComboboxRef, listRef], handleClickOutsideList);
326
437
  /**
327
438
  * The DropdownList accepts a prop called `PanelComponent` that can be used
@@ -368,7 +479,12 @@ function Combobox(props, ref) {
368
479
 
369
480
  return undefined;
370
481
  }, [internalInputValue, loading, options, translate]);
371
- return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_InputField.default, _extends({}, getInputFieldProps(), {
482
+ var selectedValuesIds = selectedValues ? selectedValues.map(function (elem) {
483
+ return elem.id || '';
484
+ }) : undefined;
485
+ return _react.default.createElement(StyledInputDiv, {
486
+ maxWidth: maxWidth
487
+ }, _react.default.createElement(_InputField.default, _extends({}, getInputFieldProps(), {
372
488
  id: inputId,
373
489
  inputContainerRef: finalInputContainerRef,
374
490
  onBlur: function onBlur() {
@@ -378,16 +494,18 @@ function Combobox(props, ref) {
378
494
  onClick: handleContainerClick,
379
495
  onKeyDown: handleContainerKeyDown,
380
496
  ref: finalComboboxRef
381
- }), function (_ref2) {
382
- var ariaLabelledBy = _ref2['aria-labelledby'],
383
- disabled = _ref2.disabled,
384
- targetId = _ref2.id,
385
- onBlurTarget = _ref2.onBlur,
386
- onChangeTargetValue = _ref2.onChange,
387
- onFocusTarget = _ref2.onFocus,
388
- readOnly = _ref2.readOnly,
389
- targetRef = _ref2.ref,
390
- value = _ref2.value;
497
+ }), function (_ref5) {
498
+ var ariaLabelledBy = _ref5['aria-labelledby'],
499
+ disabled = _ref5.disabled,
500
+ targetId = _ref5.id,
501
+ onBlurTarget = _ref5.onBlur,
502
+ onChangeTargetValue = _ref5.onChange,
503
+ onFocusTarget = _ref5.onFocus,
504
+ readOnly = _ref5.readOnly,
505
+ targetRef = _ref5.ref,
506
+ value = _ref5.value,
507
+ autoComplete = _ref5.autoComplete,
508
+ type = _ref5.type;
391
509
  var dropdownListId = "".concat(targetId, "-dropdown-list");
392
510
  return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Target.default, {
393
511
  "aria-haspopup": "listbox",
@@ -400,6 +518,9 @@ function Combobox(props, ref) {
400
518
  inputFieldLabel: label,
401
519
  isPopoverVisible: isPopoverVisible,
402
520
  name: name,
521
+ multiple: multiple,
522
+ selectedValues: selectedValues,
523
+ removeSelected: removeSelected,
403
524
  onBlur: onBlurTarget,
404
525
  onClear: function onClear() {
405
526
  onChangeTargetValue();
@@ -411,8 +532,13 @@ function Combobox(props, ref) {
411
532
  ref: targetRef,
412
533
  value: value,
413
534
  variant: variant,
414
- toggleIsPopoverVisible: toggleIsPopoverVisible
535
+ toggleIsPopoverVisible: function toggleIsPopoverVisible() {
536
+ return updateIsPopoverVisible('toggle');
537
+ },
538
+ autoComplete: autoComplete,
539
+ type: type
415
540
  }), _react.default.createElement(_DropdownList.default, {
541
+ containerSelector: containerSelector,
416
542
  PanelComponent: getPanelComponent(),
417
543
  activeId: activeId,
418
544
  "aria-labelledby": ariaLabelledBy,
@@ -424,10 +550,12 @@ function Combobox(props, ref) {
424
550
  listRef: listRef,
425
551
  minWidth: "".concat((dimensions.width || 0) + 1, "px"),
426
552
  name: "".concat(name, "_dropdown-list"),
553
+ multiple: multiple,
427
554
  onChange: handleChangeDropdownListValue,
428
555
  onChangeActiveItem: handleChangeDropdownListActiveItem,
429
- selectedIds: selectedValue || '',
556
+ selectedIds: !multiple ? selectedValue || '' : selectedValuesIds,
430
557
  showArrow: false,
558
+ showCheckbox: !multiple,
431
559
  target: popoverTargetRef,
432
560
  visible: Boolean(isPopoverVisible || loading),
433
561
  renderOptionLabel: renderOptionLabel,
@@ -437,6 +565,8 @@ function Combobox(props, ref) {
437
565
  }
438
566
 
439
567
  var ComboboxWithRef = (0, _react.forwardRef)(Combobox);
440
- ComboboxWithRef.propTypes = _schema.default.propTypes;
568
+ ComboboxWithRef.propTypes = _objectSpread({}, _schema.default.propTypes, {
569
+ icon: _propTypes.default.elementType
570
+ });
441
571
  var _default = ComboboxWithRef;
442
572
  exports.default = _default;