@decisiv/ui-components 2.0.1-alpha.20 → 2.0.1-alpha.201

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 (555) 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/HelpMessage.d.ts +1 -1
  24. package/lib/atoms/InputField/HelpMessage.d.ts.map +1 -1
  25. package/lib/atoms/InputField/HelpMessage.js +2 -1
  26. package/lib/atoms/InputField/InputLabel.d.ts +1 -0
  27. package/lib/atoms/InputField/InputLabel.d.ts.map +1 -1
  28. package/lib/atoms/InputField/InputLabel.js +2 -1
  29. package/lib/atoms/InputField/index.d.ts +8 -1
  30. package/lib/atoms/InputField/index.d.ts.map +1 -1
  31. package/lib/atoms/InputField/index.js +27 -9
  32. package/lib/atoms/InputField/index.test.js +91 -0
  33. package/lib/atoms/InputField/schema.d.ts.map +1 -1
  34. package/lib/atoms/InputField/schema.js +3 -2
  35. package/lib/atoms/OptionsList/Category/index.d.ts +4 -0
  36. package/lib/atoms/OptionsList/Category/index.d.ts.map +1 -0
  37. package/lib/atoms/OptionsList/{Category.js → Category/index.js} +13 -21
  38. package/lib/atoms/OptionsList/Category/styles.d.ts +6 -0
  39. package/lib/atoms/OptionsList/Category/styles.d.ts.map +1 -0
  40. package/lib/atoms/OptionsList/Category/styles.js +36 -0
  41. package/lib/atoms/OptionsList/{Option.d.ts → Option/index.d.ts} +2 -2
  42. package/lib/atoms/OptionsList/Option/index.d.ts.map +1 -0
  43. package/lib/atoms/OptionsList/Option/index.js +169 -0
  44. package/lib/atoms/OptionsList/Option/styles.d.ts +17 -0
  45. package/lib/atoms/OptionsList/Option/styles.d.ts.map +1 -0
  46. package/lib/atoms/OptionsList/Option/styles.js +83 -0
  47. package/lib/atoms/OptionsList/index.d.ts.map +1 -1
  48. package/lib/atoms/OptionsList/index.js +16 -7
  49. package/lib/atoms/OptionsList/index.test.js +249 -156
  50. package/lib/atoms/OptionsList/schema.d.ts.map +1 -1
  51. package/lib/atoms/OptionsList/schema.js +3 -1
  52. package/lib/atoms/OptionsList/types.d.ts +23 -0
  53. package/lib/atoms/OptionsList/types.d.ts.map +1 -1
  54. package/lib/atoms/OptionsList/types.js +5 -1
  55. package/lib/atoms/RequiredIcon.d.ts +9 -0
  56. package/lib/atoms/RequiredIcon.d.ts.map +1 -0
  57. package/lib/atoms/{InputField/RequiredIcon.js → RequiredIcon.js} +7 -3
  58. package/lib/components/Accordion/types.js +5 -1
  59. package/lib/components/Accordion/useAccordion/types.js +5 -1
  60. package/lib/components/Alert/Container.d.ts +201 -0
  61. package/lib/components/Alert/Container.d.ts.map +1 -0
  62. package/lib/components/Alert/Container.js +26 -0
  63. package/lib/components/Alert/StyledButton.d.ts +5 -0
  64. package/lib/components/Alert/StyledButton.d.ts.map +1 -0
  65. package/lib/components/Alert/StyledButton.js +23 -0
  66. package/lib/components/Alert/index.d.ts +27 -0
  67. package/lib/components/Alert/index.d.ts.map +1 -0
  68. package/lib/components/Alert/index.js +112 -0
  69. package/lib/components/Alert/index.test.js +79 -0
  70. package/lib/components/Alert/intents.d.ts +13 -0
  71. package/lib/components/Alert/intents.d.ts.map +1 -0
  72. package/lib/components/Alert/intents.js +72 -0
  73. package/lib/components/{Tabs/schema.tab.d.ts → Alert/schema.d.ts} +1 -1
  74. package/lib/components/Alert/schema.d.ts.map +1 -0
  75. package/lib/components/Alert/schema.js +25 -0
  76. package/lib/components/Alert/types.d.ts +36 -0
  77. package/lib/components/Alert/types.d.ts.map +1 -0
  78. package/lib/components/Alert/types.js +32 -0
  79. package/lib/components/Avatar/AvatarContainer.d.ts +1 -13
  80. package/lib/components/Avatar/AvatarContainer.d.ts.map +1 -1
  81. package/lib/components/Avatar/AvatarContainer.js +12 -13
  82. package/lib/components/Avatar/AvatarContent.d.ts +2 -2
  83. package/lib/components/Avatar/AvatarContent.d.ts.map +1 -1
  84. package/lib/components/Avatar/AvatarContent.js +24 -20
  85. package/lib/components/Avatar/index.d.ts.map +1 -1
  86. package/lib/components/Avatar/index.js +39 -5
  87. package/lib/components/Avatar/index.test.js +4 -0
  88. package/lib/components/Avatar/schema.d.ts.map +1 -1
  89. package/lib/components/Avatar/schema.js +3 -1
  90. package/lib/components/Avatar/types.d.ts +15 -2
  91. package/lib/components/Avatar/types.d.ts.map +1 -1
  92. package/lib/components/Avatar/types.js +5 -1
  93. package/lib/components/Badge/constants.d.ts +2 -0
  94. package/lib/components/Badge/constants.d.ts.map +1 -0
  95. package/lib/components/Badge/constants.js +29 -0
  96. package/lib/components/Badge/index.d.ts.map +1 -1
  97. package/lib/components/Badge/index.js +3 -70
  98. package/lib/components/Badge/index.test.js +62 -8
  99. package/lib/components/Badge/schema.d.ts.map +1 -1
  100. package/lib/components/Badge/schema.js +2 -1
  101. package/lib/components/Badge/styles.d.ts +3 -0
  102. package/lib/components/Badge/styles.d.ts.map +1 -0
  103. package/lib/components/Badge/styles.js +96 -0
  104. package/lib/components/Badge/types.d.ts +3 -2
  105. package/lib/components/Badge/types.d.ts.map +1 -1
  106. package/lib/components/Badge/types.js +7 -3
  107. package/lib/components/Breadcrumbs/types.js +5 -1
  108. package/lib/components/Button/StyledButton.d.ts +3 -6
  109. package/lib/components/Button/StyledButton.d.ts.map +1 -1
  110. package/lib/components/Button/StyledButton.js +39 -11
  111. package/lib/components/Button/index.d.ts.map +1 -1
  112. package/lib/components/Button/index.js +51 -12
  113. package/lib/components/Button/index.test.js +43 -8
  114. package/lib/components/Button/schema.d.ts.map +1 -1
  115. package/lib/components/Button/schema.js +4 -1
  116. package/lib/components/Button/types.d.ts +4 -1
  117. package/lib/components/Button/types.d.ts.map +1 -1
  118. package/lib/components/Button/types.js +5 -1
  119. package/lib/components/Checkbox/index.d.ts.map +1 -1
  120. package/lib/components/Checkbox/index.js +3 -1
  121. package/lib/components/Checkbox/schema.d.ts.map +1 -1
  122. package/lib/components/Checkbox/schema.js +2 -0
  123. package/lib/components/CheckboxGroup/index.d.ts +1 -1
  124. package/lib/components/Combobox/Target.d.ts.map +1 -1
  125. package/lib/components/Combobox/Target.js +52 -14
  126. package/lib/components/Combobox/index.d.ts.map +1 -1
  127. package/lib/components/Combobox/index.js +217 -85
  128. package/lib/components/Combobox/index.test.js +370 -147
  129. package/lib/components/Combobox/schema.d.ts.map +1 -1
  130. package/lib/components/Combobox/schema.js +10 -2
  131. package/lib/components/Combobox/types.d.ts +12 -3
  132. package/lib/components/Combobox/types.d.ts.map +1 -1
  133. package/lib/components/Combobox/types.js +5 -1
  134. package/lib/components/Drawer/index.d.ts +22 -0
  135. package/lib/components/Drawer/index.d.ts.map +1 -0
  136. package/lib/components/Drawer/index.js +115 -0
  137. package/lib/components/Drawer/index.test.js +139 -0
  138. package/lib/components/Drawer/schema.d.ts +3 -0
  139. package/lib/components/Drawer/schema.d.ts.map +1 -0
  140. package/lib/components/Drawer/schema.js +32 -0
  141. package/lib/components/Drawer/styles.d.ts +11 -0
  142. package/lib/components/Drawer/styles.d.ts.map +1 -0
  143. package/lib/components/Drawer/styles.js +79 -0
  144. package/lib/components/DropdownList/index.d.ts +1 -0
  145. package/lib/components/DropdownList/index.d.ts.map +1 -1
  146. package/lib/components/DropdownList/index.js +70 -22
  147. package/lib/components/DropdownList/propTypes.d.ts +4 -0
  148. package/lib/components/DropdownList/propTypes.d.ts.map +1 -0
  149. package/lib/components/DropdownList/propTypes.js +42 -0
  150. package/lib/components/DropdownList/schema.d.ts.map +1 -1
  151. package/lib/components/DropdownList/schema.js +2 -1
  152. package/lib/components/DropdownList/types.d.ts +2 -0
  153. package/lib/components/DropdownList/types.d.ts.map +1 -1
  154. package/lib/components/Filter/ActionFilter/index.d.ts +5 -0
  155. package/lib/components/Filter/ActionFilter/index.d.ts.map +1 -0
  156. package/lib/components/Filter/ActionFilter/index.js +43 -0
  157. package/lib/components/Filter/IconWrapper/index.d.ts +197 -0
  158. package/lib/components/Filter/IconWrapper/index.d.ts.map +1 -0
  159. package/lib/components/Filter/IconWrapper/index.js +35 -0
  160. package/lib/components/Filter/SimplePrimary/index.d.ts +5 -0
  161. package/lib/components/Filter/SimplePrimary/index.d.ts.map +1 -0
  162. package/lib/components/Filter/SimplePrimary/index.js +46 -0
  163. package/lib/components/Filter/SimplePrimary/index.test.js +34 -0
  164. package/lib/components/Filter/StyledFilter.d.ts +4 -0
  165. package/lib/components/Filter/StyledFilter.d.ts.map +1 -0
  166. package/lib/components/Filter/StyledFilter.js +66 -0
  167. package/lib/components/Filter/StyledLabel/index.d.ts +8 -0
  168. package/lib/components/Filter/StyledLabel/index.d.ts.map +1 -0
  169. package/lib/components/Filter/StyledLabel/index.js +38 -0
  170. package/lib/components/Filter/index.d.ts +6 -0
  171. package/lib/components/Filter/index.d.ts.map +1 -0
  172. package/lib/components/Filter/index.js +107 -0
  173. package/lib/components/Filter/index.test.js +70 -0
  174. package/lib/components/Filter/kind.d.ts +7 -0
  175. package/lib/components/Filter/kind.d.ts.map +1 -0
  176. package/lib/components/Filter/kind.js +43 -0
  177. package/lib/components/Filter/schema.d.ts +9 -0
  178. package/lib/components/Filter/schema.d.ts.map +1 -0
  179. package/lib/components/Filter/schema.js +37 -0
  180. package/lib/components/Filter/types.d.ts +31 -0
  181. package/lib/components/Filter/types.d.ts.map +1 -0
  182. package/lib/components/Filter/types.js +5 -0
  183. package/lib/components/JumpTo/JumpToMenu.d.ts +2 -2
  184. package/lib/components/JumpTo/JumpToMenu.d.ts.map +1 -1
  185. package/lib/components/JumpTo/JumpToMenu.js +53 -12
  186. package/lib/components/JumpTo/index.test.js +84 -0
  187. package/lib/components/JumpTo/schema.d.ts.map +1 -1
  188. package/lib/components/JumpTo/schema.js +2 -1
  189. package/lib/components/JumpTo/types.d.ts +1 -0
  190. package/lib/components/JumpTo/types.d.ts.map +1 -1
  191. package/lib/components/JumpTo/types.js +5 -1
  192. package/lib/components/JumpTo/utils.d.ts.map +1 -1
  193. package/lib/components/JumpTo/utils.js +3 -7
  194. package/lib/components/LeftNav/Item/ClickArea.js +1 -1
  195. package/lib/components/LeftNav/Item/ItemWrapper.d.ts.map +1 -1
  196. package/lib/components/LeftNav/Item/ItemWrapper.js +3 -1
  197. package/lib/components/LeftNav/Item/MenuItemWrapper.d.ts +7 -0
  198. package/lib/components/LeftNav/Item/MenuItemWrapper.d.ts.map +1 -0
  199. package/lib/components/LeftNav/Item/MenuItemWrapper.js +20 -0
  200. package/lib/components/LeftNav/Item/NavCollapsedXItem/index.d.ts.map +1 -1
  201. package/lib/components/LeftNav/Item/NavCollapsedXItem/index.js +7 -5
  202. package/lib/components/LeftNav/Item/NavExpandedItem/index.d.ts.map +1 -1
  203. package/lib/components/LeftNav/Item/NavExpandedItem/index.js +24 -13
  204. package/lib/components/LeftNav/Item/types.d.ts +1 -1
  205. package/lib/components/LeftNav/Item/types.d.ts.map +1 -1
  206. package/lib/components/LeftNav/Item/types.js +5 -1
  207. package/lib/components/LeftNav/index.test.js +13 -3
  208. package/lib/components/LeftNav/schema.d.ts.map +1 -1
  209. package/lib/components/LeftNav/schema.js +2 -0
  210. package/lib/components/LeftNav/types.d.ts +1 -0
  211. package/lib/components/LeftNav/types.d.ts.map +1 -1
  212. package/lib/components/LeftNav/types.js +5 -1
  213. package/lib/components/Link/DisabledLink.d.ts +7 -0
  214. package/lib/components/Link/DisabledLink.d.ts.map +1 -0
  215. package/lib/components/Link/DisabledLink.js +46 -0
  216. package/lib/components/Link/Link.d.ts +4 -0
  217. package/lib/components/Link/Link.d.ts.map +1 -0
  218. package/lib/components/Link/Link.js +67 -0
  219. package/lib/components/Link/index.d.ts +4 -23
  220. package/lib/components/Link/index.d.ts.map +1 -1
  221. package/lib/components/Link/index.js +20 -158
  222. package/lib/components/Link/index.test.js +63 -42
  223. package/lib/components/Link/schema.d.ts.map +1 -1
  224. package/lib/components/Link/schema.js +2 -1
  225. package/lib/components/Link/styles.d.ts +20 -0
  226. package/lib/components/Link/styles.d.ts.map +1 -0
  227. package/lib/components/Link/styles.js +131 -0
  228. package/lib/components/Link/types.d.ts +28 -0
  229. package/lib/components/Link/types.d.ts.map +1 -0
  230. package/lib/components/Link/types.js +5 -0
  231. package/lib/components/Loading/Loading.d.ts +12 -0
  232. package/lib/components/Loading/Loading.d.ts.map +1 -0
  233. package/lib/components/Loading/Loading.js +70 -0
  234. package/lib/components/Loading/index.d.ts +4 -0
  235. package/lib/components/Loading/index.d.ts.map +1 -0
  236. package/lib/components/Loading/index.js +33 -0
  237. package/lib/components/Loading/index.test.js +55 -0
  238. package/lib/components/Loading/schema.d.ts +4 -0
  239. package/lib/components/Loading/schema.d.ts.map +1 -0
  240. package/lib/components/Loading/schema.js +31 -0
  241. package/lib/components/Loading/styles.d.ts +211 -0
  242. package/lib/components/Loading/styles.d.ts.map +1 -0
  243. package/lib/components/Loading/styles.js +77 -0
  244. package/lib/components/Loading/types.d.ts +10 -0
  245. package/lib/components/Loading/types.d.ts.map +1 -0
  246. package/lib/components/Loading/types.js +5 -0
  247. package/lib/components/Menu/types.js +5 -1
  248. package/lib/components/Modal/Manager.d.ts +6 -0
  249. package/lib/components/Modal/Manager.d.ts.map +1 -0
  250. package/lib/components/Modal/Manager.js +53 -0
  251. package/lib/components/Modal/ResponsiveModalWrapper.d.ts +11 -0
  252. package/lib/components/Modal/ResponsiveModalWrapper.d.ts.map +1 -0
  253. package/lib/components/Modal/ResponsiveModalWrapper.js +82 -0
  254. package/lib/components/Modal/components.d.ts +201 -3
  255. package/lib/components/Modal/components.d.ts.map +1 -1
  256. package/lib/components/Modal/components.js +16 -24
  257. package/lib/components/Modal/index.d.ts +8 -4
  258. package/lib/components/Modal/index.d.ts.map +1 -1
  259. package/lib/components/Modal/index.js +56 -95
  260. package/lib/components/Modal/index.test.js +26 -0
  261. package/lib/components/Modal/schema.d.ts.map +1 -1
  262. package/lib/components/Modal/schema.js +2 -1
  263. package/lib/components/Modal/types.d.ts +2 -1
  264. package/lib/components/Modal/types.d.ts.map +1 -1
  265. package/lib/components/Modal/types.js +5 -1
  266. package/lib/components/Modal/utils.d.ts +1 -1
  267. package/lib/components/Modal/utils.d.ts.map +1 -1
  268. package/lib/components/Modal/utils.js +7 -5
  269. package/lib/components/Notifications/Notification/components.d.ts +3 -3
  270. package/lib/components/Notifications/Notification/components.d.ts.map +1 -1
  271. package/lib/components/Notifications/Notification/components.js +12 -6
  272. package/lib/components/Notifications/Notification/index.d.ts +3 -6
  273. package/lib/components/Notifications/Notification/index.d.ts.map +1 -1
  274. package/lib/components/Notifications/Notification/index.js +19 -12
  275. package/lib/components/Notifications/Notification/index.test.js +38 -19
  276. package/lib/components/Notifications/NotificationsPanel/index.d.ts +2 -1
  277. package/lib/components/Notifications/NotificationsPanel/index.d.ts.map +1 -1
  278. package/lib/components/Notifications/NotificationsPanel/index.js +41 -22
  279. package/lib/components/Notifications/NotificationsPanel/schema.js +1 -1
  280. package/lib/components/Notifications/Notifier.test.js +79 -10
  281. package/lib/components/Notifications/constants.d.ts +2 -0
  282. package/lib/components/Notifications/constants.d.ts.map +1 -0
  283. package/lib/components/Notifications/constants.js +16 -0
  284. package/lib/components/Notifications/schema.d.ts.map +1 -1
  285. package/lib/components/Notifications/schema.js +2 -1
  286. package/lib/components/Notifications/useNotifications.d.ts +1 -0
  287. package/lib/components/Notifications/useNotifications.d.ts.map +1 -1
  288. package/lib/components/Notifications/useNotifications.test.js +7 -4
  289. package/lib/components/Pagination/Pagination.d.ts +1 -1
  290. package/lib/components/Pagination/Pagination.d.ts.map +1 -1
  291. package/lib/components/Pagination/Pagination.js +1 -0
  292. package/lib/components/Pagination/Pagination.test.js +9 -0
  293. package/lib/components/Pagination/types.js +5 -1
  294. package/lib/components/PasswordField/IconWrapper.d.ts +198 -0
  295. package/lib/components/PasswordField/IconWrapper.d.ts.map +1 -0
  296. package/lib/components/PasswordField/IconWrapper.js +32 -0
  297. package/lib/components/PasswordField/Input.d.ts +6 -0
  298. package/lib/components/PasswordField/Input.d.ts.map +1 -0
  299. package/lib/components/PasswordField/Input.js +28 -0
  300. package/lib/components/PasswordField/ShowPasswordButton.d.ts +8 -0
  301. package/lib/components/PasswordField/ShowPasswordButton.d.ts.map +1 -0
  302. package/lib/components/PasswordField/ShowPasswordButton.js +48 -0
  303. package/lib/components/PasswordField/index.d.ts +14 -0
  304. package/lib/components/PasswordField/index.d.ts.map +1 -0
  305. package/lib/components/PasswordField/index.js +113 -0
  306. package/lib/components/PasswordField/index.test.js +217 -0
  307. package/lib/components/PasswordField/schema.d.ts +3 -0
  308. package/lib/components/PasswordField/schema.d.ts.map +1 -0
  309. package/lib/components/PasswordField/schema.js +27 -0
  310. package/lib/components/Popover/Arrow.d.ts +2 -2
  311. package/lib/components/Popover/index.d.ts.map +1 -1
  312. package/lib/components/Popover/index.js +9 -5
  313. package/lib/components/Popover/schema.d.ts.map +1 -1
  314. package/lib/components/Popover/schema.js +27 -20
  315. package/lib/components/Popover/types.d.ts +4 -2
  316. package/lib/components/Popover/types.d.ts.map +1 -1
  317. package/lib/components/Popover/utils.d.ts +1 -1
  318. package/lib/components/SearchInput/index.d.ts +11 -0
  319. package/lib/components/SearchInput/index.d.ts.map +1 -0
  320. package/lib/components/SearchInput/index.js +176 -0
  321. package/lib/components/SearchInput/index.test.js +660 -0
  322. package/lib/components/SearchInput/schema.d.ts +3 -0
  323. package/lib/components/SearchInput/schema.d.ts.map +1 -0
  324. package/lib/components/SearchInput/schema.js +37 -0
  325. package/lib/components/SearchInput/styles.d.ts +1176 -0
  326. package/lib/components/SearchInput/styles.d.ts.map +1 -0
  327. package/lib/components/SearchInput/styles.js +97 -0
  328. package/lib/components/SearchInput/types.d.ts +38 -0
  329. package/lib/components/SearchInput/types.d.ts.map +1 -0
  330. package/lib/components/SearchInput/types.js +5 -0
  331. package/lib/components/Select/Target.d.ts.map +1 -1
  332. package/lib/components/Select/Target.js +6 -2
  333. package/lib/components/Select/index.d.ts.map +1 -1
  334. package/lib/components/Select/index.js +26 -3
  335. package/lib/components/Select/index.test.js +106 -23
  336. package/lib/components/Select/schema.d.ts.map +1 -1
  337. package/lib/components/Select/schema.js +5 -0
  338. package/lib/components/Select/types.d.ts +6 -3
  339. package/lib/components/Select/types.d.ts.map +1 -1
  340. package/lib/components/Select/types.js +5 -1
  341. package/lib/components/SelectDate/Target.d.ts.map +1 -1
  342. package/lib/components/SelectDate/Target.js +6 -2
  343. package/lib/components/SelectDate/index.d.ts.map +1 -1
  344. package/lib/components/SelectDate/index.js +32 -3
  345. package/lib/components/SelectDate/index.test.js +108 -51
  346. package/lib/components/SelectDate/schema.d.ts.map +1 -1
  347. package/lib/components/SelectDate/schema.js +3 -0
  348. package/lib/components/SelectDate/types.d.ts +3 -0
  349. package/lib/components/SelectDate/types.d.ts.map +1 -1
  350. package/lib/components/SelectDate/types.js +5 -1
  351. package/lib/components/SelectDateRange/index.d.ts.map +1 -1
  352. package/lib/components/SelectDateRange/index.js +31 -2
  353. package/lib/components/SelectDateRange/index.test.js +115 -58
  354. package/lib/components/SelectDateRange/schema.d.ts.map +1 -1
  355. package/lib/components/SelectDateRange/schema.js +3 -0
  356. package/lib/components/SelectDateRange/types.js +5 -1
  357. package/lib/components/StepTracker/index.d.ts +11 -0
  358. package/lib/components/StepTracker/index.d.ts.map +1 -0
  359. package/lib/components/StepTracker/index.js +56 -0
  360. package/lib/components/StepTracker/index.test.js +89 -0
  361. package/lib/components/StepTracker/schema.d.ts +3 -0
  362. package/lib/components/StepTracker/schema.d.ts.map +1 -0
  363. package/lib/components/StepTracker/schema.js +19 -0
  364. package/lib/components/StepTracker/styles.d.ts +605 -0
  365. package/lib/components/StepTracker/styles.d.ts.map +1 -0
  366. package/lib/components/StepTracker/styles.js +114 -0
  367. package/lib/components/Table/Body.d.ts.map +1 -1
  368. package/lib/components/Table/Body.js +28 -17
  369. package/lib/components/Table/Container.d.ts.map +1 -1
  370. package/lib/components/Table/Container.js +6 -1
  371. package/lib/components/Table/DataRow.d.ts.map +1 -1
  372. package/lib/components/Table/DataRow.js +26 -18
  373. package/lib/components/Table/Head.d.ts +1 -1
  374. package/lib/components/Table/Head.d.ts.map +1 -1
  375. package/lib/components/Table/Head.js +10 -5
  376. package/lib/components/Table/HeaderCell/index.d.ts.map +1 -1
  377. package/lib/components/Table/HeaderCell/index.js +19 -6
  378. package/lib/components/Table/HeaderCell/types.d.ts +6 -1
  379. package/lib/components/Table/HeaderCell/types.d.ts.map +1 -1
  380. package/lib/components/Table/HeaderCell/types.js +5 -1
  381. package/lib/components/Table/Provider.d.ts +5 -5
  382. package/lib/components/Table/Provider.d.ts.map +1 -1
  383. package/lib/components/Table/Provider.js +10 -11
  384. package/lib/components/Table/index.d.ts.map +1 -1
  385. package/lib/components/Table/index.js +110 -20
  386. package/lib/components/Table/index.test.js +80 -33
  387. package/lib/components/Table/schema.columns.d.ts.map +1 -1
  388. package/lib/components/Table/schema.columns.js +6 -4
  389. package/lib/components/Table/schema.d.ts.map +1 -1
  390. package/lib/components/Table/schema.js +7 -6
  391. package/lib/components/Table/types.d.ts +19 -4
  392. package/lib/components/Table/types.d.ts.map +1 -1
  393. package/lib/components/Table/utils.d.ts +2 -8
  394. package/lib/components/Table/utils.d.ts.map +1 -1
  395. package/lib/components/Table/utils.js +21 -20
  396. package/lib/components/Tabs/Tab/index.d.ts +13 -0
  397. package/lib/components/Tabs/Tab/index.d.ts.map +1 -0
  398. package/lib/components/Tabs/Tab/index.js +94 -0
  399. package/lib/components/Tabs/Tab/schema.d.ts +3 -0
  400. package/lib/components/Tabs/Tab/schema.d.ts.map +1 -0
  401. package/lib/components/Tabs/Tab/styles.d.ts +7 -0
  402. package/lib/components/Tabs/Tab/styles.d.ts.map +1 -0
  403. package/lib/components/Tabs/Tab/styles.js +37 -0
  404. package/lib/components/Tabs/context.d.ts +2 -2
  405. package/lib/components/Tabs/context.d.ts.map +1 -1
  406. package/lib/components/Tabs/context.js +1 -1
  407. package/lib/components/Tabs/index.d.ts +17 -6
  408. package/lib/components/Tabs/index.d.ts.map +1 -1
  409. package/lib/components/Tabs/index.js +104 -163
  410. package/lib/components/Tabs/index.test.js +54 -2
  411. package/lib/components/Tabs/styles.d.ts +4 -0
  412. package/lib/components/Tabs/styles.d.ts.map +1 -0
  413. package/lib/components/Tabs/styles.js +35 -0
  414. package/lib/components/Tag/Action.d.ts +4 -0
  415. package/lib/components/Tag/Action.d.ts.map +1 -0
  416. package/lib/components/Tag/Action.js +39 -0
  417. package/lib/components/Tag/constants.d.ts +2 -2
  418. package/lib/components/Tag/constants.d.ts.map +1 -1
  419. package/lib/components/Tag/constants.js +4 -4
  420. package/lib/components/Tag/index.d.ts +1 -3
  421. package/lib/components/Tag/index.d.ts.map +1 -1
  422. package/lib/components/Tag/index.js +40 -97
  423. package/lib/components/Tag/index.test.js +239 -2
  424. package/lib/components/Tag/propTypes.d.ts +4 -1
  425. package/lib/components/Tag/propTypes.d.ts.map +1 -1
  426. package/lib/components/Tag/propTypes.js +5 -2
  427. package/lib/components/Tag/schema.d.ts.map +1 -1
  428. package/lib/components/Tag/schema.js +2 -0
  429. package/lib/components/Tag/styles.d.ts +13 -0
  430. package/lib/components/Tag/styles.d.ts.map +1 -0
  431. package/lib/components/Tag/styles.js +133 -0
  432. package/lib/components/Tag/types.d.ts +9 -10
  433. package/lib/components/Tag/types.d.ts.map +1 -1
  434. package/lib/components/Tag/types.js +5 -1
  435. package/lib/components/TagInput/index.d.ts +10 -0
  436. package/lib/components/TagInput/index.d.ts.map +1 -0
  437. package/lib/components/TagInput/index.js +217 -0
  438. package/lib/components/TagInput/index.test.js +1001 -0
  439. package/lib/components/TagInput/schema.d.ts +3 -0
  440. package/lib/components/TagInput/schema.d.ts.map +1 -0
  441. package/lib/components/TagInput/schema.js +30 -0
  442. package/lib/components/TagInput/styles.d.ts +10 -0
  443. package/lib/components/TagInput/styles.d.ts.map +1 -0
  444. package/lib/components/TagInput/styles.js +52 -0
  445. package/lib/components/TextArea/TextArea.d.ts.map +1 -1
  446. package/lib/components/TextArea/TextArea.js +1 -1
  447. package/lib/components/TextArea/index.js +1 -0
  448. package/lib/components/TextArea/index.test.js +5 -0
  449. package/lib/components/TextField/Input.js +1 -1
  450. package/lib/components/TextField/index.test.js +5 -0
  451. package/lib/components/Toggle/Fieldset.d.ts.map +1 -1
  452. package/lib/components/Toggle/Fieldset.js +20 -11
  453. package/lib/components/Toggle/Option.d.ts.map +1 -1
  454. package/lib/components/Toggle/Option.js +1 -1
  455. package/lib/components/Toggle/Slider.d.ts +1 -3
  456. package/lib/components/Toggle/Slider.d.ts.map +1 -1
  457. package/lib/components/Toggle/Slider.js +29 -24
  458. package/lib/components/Toggle/index.d.ts.map +1 -1
  459. package/lib/components/Toggle/index.js +6 -1
  460. package/lib/components/Toggle/index.test.js +39 -10
  461. package/lib/components/Toggle/propTypes.js +1 -1
  462. package/lib/components/Toggle/schema.js +1 -1
  463. package/lib/components/Toggle/types.d.ts +3 -2
  464. package/lib/components/Toggle/types.d.ts.map +1 -1
  465. package/lib/components/Toggle/types.js +5 -1
  466. package/lib/components/ToggleView/ToggleView.d.ts +5 -0
  467. package/lib/components/ToggleView/ToggleView.d.ts.map +1 -0
  468. package/lib/components/ToggleView/ToggleView.js +80 -0
  469. package/lib/components/ToggleView/index.d.ts +4 -0
  470. package/lib/components/ToggleView/index.d.ts.map +1 -0
  471. package/lib/components/ToggleView/index.js +33 -0
  472. package/lib/components/ToggleView/index.test.js +61 -0
  473. package/lib/components/ToggleView/schema.d.ts +3 -0
  474. package/lib/components/ToggleView/schema.d.ts.map +1 -0
  475. package/lib/components/ToggleView/schema.js +24 -0
  476. package/lib/components/ToggleView/styles.d.ts +6 -0
  477. package/lib/components/ToggleView/styles.d.ts.map +1 -0
  478. package/lib/components/ToggleView/styles.js +23 -0
  479. package/lib/components/ToggleView/types.d.ts +23 -0
  480. package/lib/components/ToggleView/types.d.ts.map +1 -0
  481. package/lib/components/ToggleView/types.js +12 -0
  482. package/lib/components/Tooltip/index.d.ts.map +1 -1
  483. package/lib/components/Tooltip/index.js +3 -13
  484. package/lib/components/Tooltip/schema.d.ts +3 -0
  485. package/lib/components/Tooltip/schema.d.ts.map +1 -0
  486. package/lib/components/Tooltip/schema.js +29 -0
  487. package/lib/components/Typography/withColors.d.ts +1 -1
  488. package/lib/components/Typography/withColors.d.ts.map +1 -1
  489. package/lib/components/Typography/withColors.js +1 -1
  490. package/lib/components/Wizard/index.d.ts +24 -0
  491. package/lib/components/Wizard/index.d.ts.map +1 -0
  492. package/lib/components/Wizard/index.js +146 -0
  493. package/lib/components/Wizard/index.test.js +591 -0
  494. package/lib/components/Wizard/schema.d.ts +3 -0
  495. package/lib/components/Wizard/schema.d.ts.map +1 -0
  496. package/lib/components/Wizard/schema.js +37 -0
  497. package/lib/components/Wizard/styles.d.ts +990 -0
  498. package/lib/components/Wizard/styles.d.ts.map +1 -0
  499. package/lib/components/Wizard/styles.js +79 -0
  500. package/lib/components/index.d.ts +11 -1
  501. package/lib/components/index.d.ts.map +1 -1
  502. package/lib/components/index.js +182 -1
  503. package/lib/modifiers/palette.d.ts +36 -0
  504. package/lib/modifiers/palette.d.ts.map +1 -0
  505. package/lib/modifiers/palette.js +88 -0
  506. package/lib/modifiers/spacingSchema.d.ts.map +1 -1
  507. package/lib/modifiers/spacingSchema.js +29 -16
  508. package/lib/providers/ConfigProvider/index.d.ts.map +1 -1
  509. package/lib/providers/ConfigProvider/index.js +5 -1
  510. package/lib/providers/ConfigProvider/utils/context.d.ts +1 -1
  511. package/lib/providers/ConfigProvider/utils/context.d.ts.map +1 -1
  512. package/lib/providers/ConfigProvider/utils/normalizer.d.ts.map +1 -1
  513. package/lib/providers/ConfigProvider/utils/normalizer.js +1 -1
  514. package/lib/providers/ConfigProvider/utils/translations.d.ts +40 -0
  515. package/lib/providers/ConfigProvider/utils/translations.d.ts.map +1 -1
  516. package/lib/providers/ConfigProvider/utils/translations.js +40 -0
  517. package/lib/providers/NotificationsProvider/index.d.ts +6 -5
  518. package/lib/providers/NotificationsProvider/index.d.ts.map +1 -1
  519. package/lib/providers/NotificationsProvider/index.js +47 -28
  520. package/lib/providers/NotificationsProvider/types.d.ts +4 -1
  521. package/lib/providers/NotificationsProvider/types.d.ts.map +1 -1
  522. package/lib/utils/commonUIColors.d.ts +351 -3
  523. package/lib/utils/commonUIColors.d.ts.map +1 -1
  524. package/lib/utils/commonUIColors.js +6 -2
  525. package/lib/utils/joinClassnames.d.ts +3 -0
  526. package/lib/utils/joinClassnames.d.ts.map +1 -0
  527. package/lib/utils/joinClassnames.js +26 -0
  528. package/lib/utils/useDebounce.d.ts +2 -0
  529. package/lib/utils/useDebounce.d.ts.map +1 -0
  530. package/lib/utils/useDebounce.js +37 -0
  531. package/lib/utils/useFirstMount.d.ts +2 -0
  532. package/lib/utils/useFirstMount.d.ts.map +1 -0
  533. package/lib/utils/useFirstMount.js +19 -0
  534. package/lib/utils/useUpdateEffect.d.ts +4 -0
  535. package/lib/utils/useUpdateEffect.d.ts.map +1 -0
  536. package/lib/utils/useUpdateEffect.js +28 -0
  537. package/package.json +2 -2
  538. package/CHANGELOG.md +0 -796
  539. package/lib/atoms/InputField/RequiredIcon.d.ts +0 -4
  540. package/lib/atoms/InputField/RequiredIcon.d.ts.map +0 -1
  541. package/lib/atoms/OptionsList/Category.d.ts +0 -4
  542. package/lib/atoms/OptionsList/Category.d.ts.map +0 -1
  543. package/lib/atoms/OptionsList/Option.d.ts.map +0 -1
  544. package/lib/atoms/OptionsList/Option.js +0 -194
  545. package/lib/components/Tabs/Tab.d.ts +0 -5
  546. package/lib/components/Tabs/Tab.d.ts.map +0 -1
  547. package/lib/components/Tabs/Tab.js +0 -109
  548. package/lib/components/Tabs/schema.tab.d.ts.map +0 -1
  549. package/lib/components/Tabs/types.d.ts +0 -27
  550. package/lib/components/Tabs/types.d.ts.map +0 -1
  551. package/lib/components/Tabs/types.js +0 -1
  552. package/lib/components/Tag/ActionButton.d.ts +0 -5
  553. package/lib/components/Tag/ActionButton.d.ts.map +0 -1
  554. package/lib/components/Tag/ActionButton.js +0 -56
  555. /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
+ }
154
256
 
155
257
  if (onChangeValue) {
156
- onChangeValue(selectedId);
258
+ if (selectedId) {
259
+ onChangeValue(selectedId, {
260
+ removed: false
261
+ });
262
+ } else {
263
+ onChangeValue(null, {
264
+ removed: true
265
+ });
266
+ }
157
267
  }
158
- }, [onChangeValue, options, setInternalInputValue, setSelectedValue]);
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);
275
+
276
+ if (onChangeValue) {
277
+ onChangeValue(selectedId, {
278
+ removed: true
279
+ });
280
+ }
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,60 +336,42 @@ 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);
215
- } else if (isFocused) {
216
- if (variant === 'sync' && finalComboboxRef && // @ts-ignore
217
- finalComboboxRef.current === event.target) {
339
+ updateIsPopoverVisible(false);
340
+ } else if (variant === 'sync' && finalComboboxRef && // @ts-ignore
341
+ finalComboboxRef.current === event.target) {
342
+ /**
343
+ * This prevents a double toggle when the user clicks
344
+ * the actual input field inside the combobox.
345
+ */
346
+ event.preventDefault();
347
+ event.stopPropagation();
348
+
349
+ if (!isPopoverVisible) {
218
350
  /**
219
- * This prevents a double toggle when the user clicks
220
- * the actual input field inside the combobox.
351
+ * This re-opens the popover if you first open it,
352
+ * then make a selection, then click the <input> again.
221
353
  */
222
- event.preventDefault();
223
- event.stopPropagation();
224
-
225
- if (!isPopoverVisible) {
226
- /**
227
- * This re-opens the popover if you first open it,
228
- * then make a selection, then click the <input> again.
229
- */
230
- setIsPopoverVisible(true);
231
- }
232
- } else {
233
- toggleIsPopoverVisible();
354
+ updateIsPopoverVisible(true);
234
355
  }
356
+ } else {
357
+ updateIsPopoverVisible('toggle');
235
358
  }
236
359
 
237
360
  onClick && onClick(event);
238
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
239
- [isFocused, isPopoverVisible, variant, onClick, toggleIsPopoverVisible]);
361
+ }, [finalInputContainerRef, onClick, updateIsPopoverVisible, variant, finalComboboxRef, isPopoverVisible]);
240
362
  /**
241
363
  * This focus handler is responsible for opening the dropdown list and tracking focus state.
242
364
  * It's important to do this in the focus handler because the dropdown should open when the
243
365
  * Combobox is clicked or tabbed to.
366
+ *
367
+ * [KDS-3742] Patch: Updated this handler to align the behavior with the Select component.
368
+ * The popover will no longer automatically show when the Combobox gains focus.
244
369
  */
245
370
 
246
371
  var handleContainerFocus = (0, _react.useCallback)(function (event) {
247
- if (variant === 'sync') {
248
- setIsPopoverVisible(true);
249
- }
250
-
251
372
  setIsFocused(true);
252
373
  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]);
374
+ }, [onFocus]);
268
375
  /**
269
376
  * Pressing certain keys when focused on the Combobox component should trigger some actions.
270
377
  */
@@ -276,10 +383,10 @@ function Combobox(props, ref) {
276
383
  event.preventDefault();
277
384
 
278
385
  if (!isPopoverVisible) {
279
- setIsPopoverVisible(true);
386
+ updateIsPopoverVisible(true);
280
387
  } else {
281
- var currentIndex = (0, _findIndex.default)(flatOptions, function (_ref) {
282
- var optionId = _ref.id;
388
+ var currentIndex = (0, _findIndex.default)(flatOptions, function (_ref4) {
389
+ var optionId = _ref4.id;
283
390
  return optionId === activeId;
284
391
  });
285
392
 
@@ -299,29 +406,35 @@ function Combobox(props, ref) {
299
406
  }
300
407
  }
301
408
 
409
+ if (event.key === 'Enter' && !isPopoverVisible) {
410
+ event.preventDefault();
411
+ updateIsPopoverVisible(true);
412
+ }
413
+
302
414
  if (event.key === 'Enter' && isPopoverVisible) {
303
- setIsPopoverVisible(false);
415
+ event.preventDefault();
304
416
  updateSelected(activeId || '');
417
+ updateIsPopoverVisible(false);
305
418
  }
306
419
 
307
420
  if (event.key === 'Escape') {
308
- setIsPopoverVisible(false);
421
+ updateIsPopoverVisible(false);
309
422
  }
310
423
 
311
424
  if (event.key === 'Tab' && isPopoverVisible) {
312
- setIsPopoverVisible(false);
425
+ updateIsPopoverVisible(false);
313
426
  }
314
427
 
315
428
  if (onKeyDown) {
316
429
  onKeyDown(event);
317
430
  }
318
- }, [activeId, flatOptions, isPopoverVisible, onKeyDown, setActiveId, updateSelected]); // When the dropdown is visible, clicking anywhere outside of the dropdown should close it.
431
+ }, [activeId, flatOptions, isPopoverVisible, onKeyDown, updateIsPopoverVisible, updateSelected]); // When the dropdown is visible, clicking anywhere outside of the dropdown should close it.
319
432
 
320
433
  var handleClickOutsideList = (0, _react.useCallback)(function (event) {
321
434
  if (isPopoverVisible) {
322
- setIsPopoverVisible(false);
435
+ updateIsPopoverVisible(false);
323
436
  }
324
- }, [isPopoverVisible]);
437
+ }, [isPopoverVisible, updateIsPopoverVisible]);
325
438
  (0, _useClickOutside.default)([finalComboboxRef, listRef], handleClickOutsideList);
326
439
  /**
327
440
  * The DropdownList accepts a prop called `PanelComponent` that can be used
@@ -368,7 +481,12 @@ function Combobox(props, ref) {
368
481
 
369
482
  return undefined;
370
483
  }, [internalInputValue, loading, options, translate]);
371
- return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_InputField.default, _extends({}, getInputFieldProps(), {
484
+ var selectedValuesIds = selectedValues ? selectedValues.map(function (elem) {
485
+ return elem && elem.id || '';
486
+ }) : undefined;
487
+ return _react.default.createElement(StyledInputDiv, {
488
+ maxWidth: maxWidth
489
+ }, _react.default.createElement(_InputField.default, _extends({}, getInputFieldProps(), {
372
490
  id: inputId,
373
491
  inputContainerRef: finalInputContainerRef,
374
492
  onBlur: function onBlur() {
@@ -378,16 +496,18 @@ function Combobox(props, ref) {
378
496
  onClick: handleContainerClick,
379
497
  onKeyDown: handleContainerKeyDown,
380
498
  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;
499
+ }), function (_ref5) {
500
+ var ariaLabelledBy = _ref5['aria-labelledby'],
501
+ disabled = _ref5.disabled,
502
+ targetId = _ref5.id,
503
+ onBlurTarget = _ref5.onBlur,
504
+ onChangeTargetValue = _ref5.onChange,
505
+ onFocusTarget = _ref5.onFocus,
506
+ readOnly = _ref5.readOnly,
507
+ targetRef = _ref5.ref,
508
+ value = _ref5.value,
509
+ autoComplete = _ref5.autoComplete,
510
+ type = _ref5.type;
391
511
  var dropdownListId = "".concat(targetId, "-dropdown-list");
392
512
  return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Target.default, {
393
513
  "aria-haspopup": "listbox",
@@ -400,6 +520,9 @@ function Combobox(props, ref) {
400
520
  inputFieldLabel: label,
401
521
  isPopoverVisible: isPopoverVisible,
402
522
  name: name,
523
+ multiple: multiple,
524
+ selectedValues: selectedValues,
525
+ removeSelected: removeSelected,
403
526
  onBlur: onBlurTarget,
404
527
  onClear: function onClear() {
405
528
  onChangeTargetValue();
@@ -411,8 +534,13 @@ function Combobox(props, ref) {
411
534
  ref: targetRef,
412
535
  value: value,
413
536
  variant: variant,
414
- toggleIsPopoverVisible: toggleIsPopoverVisible
537
+ toggleIsPopoverVisible: function toggleIsPopoverVisible() {
538
+ return updateIsPopoverVisible('toggle');
539
+ },
540
+ autoComplete: autoComplete,
541
+ type: type
415
542
  }), _react.default.createElement(_DropdownList.default, {
543
+ containerSelector: containerSelector,
416
544
  PanelComponent: getPanelComponent(),
417
545
  activeId: activeId,
418
546
  "aria-labelledby": ariaLabelledBy,
@@ -424,10 +552,12 @@ function Combobox(props, ref) {
424
552
  listRef: listRef,
425
553
  minWidth: "".concat((dimensions.width || 0) + 1, "px"),
426
554
  name: "".concat(name, "_dropdown-list"),
555
+ multiple: multiple,
427
556
  onChange: handleChangeDropdownListValue,
428
557
  onChangeActiveItem: handleChangeDropdownListActiveItem,
429
- selectedIds: selectedValue || '',
558
+ selectedIds: !multiple ? selectedValue || '' : selectedValuesIds,
430
559
  showArrow: false,
560
+ showCheckbox: !multiple,
431
561
  target: popoverTargetRef,
432
562
  visible: Boolean(isPopoverVisible || loading),
433
563
  renderOptionLabel: renderOptionLabel,
@@ -437,6 +567,8 @@ function Combobox(props, ref) {
437
567
  }
438
568
 
439
569
  var ComboboxWithRef = (0, _react.forwardRef)(Combobox);
440
- ComboboxWithRef.propTypes = _schema.default.propTypes;
570
+ ComboboxWithRef.propTypes = _objectSpread({}, _schema.default.propTypes, {
571
+ icon: _propTypes.default.elementType
572
+ });
441
573
  var _default = ComboboxWithRef;
442
574
  exports.default = _default;