@decisiv/ui-components 2.0.1-alpha.8 → 2.0.1-alpha.97

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 (297) 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/index.d.ts.map +1 -1
  4. package/lib/atoms/BooleanInput/index.js +19 -2
  5. package/lib/atoms/BooleanInput/index.test.js +17 -6
  6. package/lib/atoms/BooleanInput/types.d.ts +2 -0
  7. package/lib/atoms/BooleanInput/types.d.ts.map +1 -1
  8. package/lib/atoms/BooleanInput/types.js +5 -1
  9. package/lib/atoms/Calendar/hooks/useCalendar/index.d.ts.map +1 -1
  10. package/lib/atoms/Calendar/hooks/useCalendar/index.js +2 -1
  11. package/lib/atoms/Calendar/hooks/useCalendar/index.test.js +5 -6
  12. package/lib/atoms/Calendar/index.d.ts.map +1 -1
  13. package/lib/atoms/Calendar/index.js +8 -1
  14. package/lib/atoms/Calendar/index.test.js +70 -40
  15. package/lib/atoms/Calendar/types.js +5 -1
  16. package/lib/atoms/InputField/Containers.d.ts +11 -6
  17. package/lib/atoms/InputField/Containers.d.ts.map +1 -1
  18. package/lib/atoms/InputField/Containers.js +6 -6
  19. package/lib/atoms/InputField/InputLabel.d.ts +1 -0
  20. package/lib/atoms/InputField/InputLabel.d.ts.map +1 -1
  21. package/lib/atoms/InputField/InputLabel.js +2 -1
  22. package/lib/atoms/InputField/index.d.ts +5 -0
  23. package/lib/atoms/InputField/index.d.ts.map +1 -1
  24. package/lib/atoms/InputField/index.js +21 -7
  25. package/lib/atoms/InputField/index.test.js +91 -0
  26. package/lib/atoms/InputField/schema.d.ts.map +1 -1
  27. package/lib/atoms/InputField/schema.js +1 -0
  28. package/lib/atoms/OptionsList/Category.d.ts +1 -1
  29. package/lib/atoms/OptionsList/Category.d.ts.map +1 -1
  30. package/lib/atoms/OptionsList/Category.js +4 -2
  31. package/lib/atoms/OptionsList/Footer.d.ts +8 -0
  32. package/lib/atoms/OptionsList/Footer.d.ts.map +1 -0
  33. package/lib/atoms/OptionsList/Footer.js +72 -0
  34. package/lib/atoms/OptionsList/Option.d.ts.map +1 -1
  35. package/lib/atoms/OptionsList/Option.js +8 -5
  36. package/lib/atoms/OptionsList/index.d.ts.map +1 -1
  37. package/lib/atoms/OptionsList/index.js +43 -16
  38. package/lib/atoms/OptionsList/index.test.js +107 -11
  39. package/lib/atoms/OptionsList/schema.d.ts.map +1 -1
  40. package/lib/atoms/OptionsList/schema.js +4 -0
  41. package/lib/atoms/OptionsList/types.d.ts +14 -0
  42. package/lib/atoms/OptionsList/types.d.ts.map +1 -1
  43. package/lib/atoms/OptionsList/types.js +5 -1
  44. package/lib/atoms/RequiredIcon.d.ts +9 -0
  45. package/lib/atoms/RequiredIcon.d.ts.map +1 -0
  46. package/lib/atoms/{InputField/RequiredIcon.js → RequiredIcon.js} +7 -3
  47. package/lib/components/Accordion/types.js +5 -1
  48. package/lib/components/Accordion/useAccordion/types.js +5 -1
  49. package/lib/components/Avatar/types.js +5 -1
  50. package/lib/components/Badge/constants.d.ts +2 -0
  51. package/lib/components/Badge/constants.d.ts.map +1 -0
  52. package/lib/components/Badge/constants.js +29 -0
  53. package/lib/components/Badge/index.d.ts.map +1 -1
  54. package/lib/components/Badge/index.js +12 -23
  55. package/lib/components/Badge/index.test.js +51 -8
  56. package/lib/components/Badge/schema.js +1 -1
  57. package/lib/components/Badge/types.d.ts +1 -1
  58. package/lib/components/Badge/types.d.ts.map +1 -1
  59. package/lib/components/Badge/types.js +7 -3
  60. package/lib/components/Breadcrumbs/types.js +5 -1
  61. package/lib/components/Button/schema.d.ts +6 -1
  62. package/lib/components/Button/schema.d.ts.map +1 -1
  63. package/lib/components/Button/schema.js +9 -4
  64. package/lib/components/Button/types.js +5 -1
  65. package/lib/components/Checkbox/index.d.ts.map +1 -1
  66. package/lib/components/Checkbox/index.js +3 -1
  67. package/lib/components/Checkbox/schema.d.ts.map +1 -1
  68. package/lib/components/Checkbox/schema.js +2 -0
  69. package/lib/components/Combobox/Target.d.ts.map +1 -1
  70. package/lib/components/Combobox/Target.js +45 -14
  71. package/lib/components/Combobox/index.d.ts.map +1 -1
  72. package/lib/components/Combobox/index.js +193 -65
  73. package/lib/components/Combobox/index.test.js +358 -135
  74. package/lib/components/Combobox/schema.d.ts.map +1 -1
  75. package/lib/components/Combobox/schema.js +9 -2
  76. package/lib/components/Combobox/types.d.ts +12 -3
  77. package/lib/components/Combobox/types.d.ts.map +1 -1
  78. package/lib/components/Combobox/types.js +5 -1
  79. package/lib/components/DropdownList/index.d.ts +4 -0
  80. package/lib/components/DropdownList/index.d.ts.map +1 -1
  81. package/lib/components/DropdownList/index.js +76 -11
  82. package/lib/components/DropdownList/propTypes.d.ts +4 -0
  83. package/lib/components/DropdownList/propTypes.d.ts.map +1 -0
  84. package/lib/components/DropdownList/propTypes.js +42 -0
  85. package/lib/components/DropdownList/schema.d.ts.map +1 -1
  86. package/lib/components/DropdownList/schema.js +5 -0
  87. package/lib/components/DropdownList/types.d.ts +4 -1
  88. package/lib/components/DropdownList/types.d.ts.map +1 -1
  89. package/lib/components/Filter/IconWrapper/index.d.ts +197 -0
  90. package/lib/components/Filter/IconWrapper/index.d.ts.map +1 -0
  91. package/lib/components/Filter/IconWrapper/index.js +35 -0
  92. package/lib/components/Filter/SimplePrimary/index.d.ts +31 -0
  93. package/lib/components/Filter/SimplePrimary/index.d.ts.map +1 -0
  94. package/lib/components/Filter/SimplePrimary/index.js +58 -0
  95. package/lib/components/Filter/SimplePrimary/index.test.js +34 -0
  96. package/lib/components/Filter/StyledFilter.d.ts +4 -0
  97. package/lib/components/Filter/StyledFilter.d.ts.map +1 -0
  98. package/lib/components/Filter/StyledFilter.js +39 -0
  99. package/lib/components/Filter/StyledLabel/index.d.ts +8 -0
  100. package/lib/components/Filter/StyledLabel/index.d.ts.map +1 -0
  101. package/lib/components/Filter/StyledLabel/index.js +30 -0
  102. package/lib/components/Filter/index.d.ts +27 -0
  103. package/lib/components/Filter/index.d.ts.map +1 -0
  104. package/lib/components/Filter/index.js +95 -0
  105. package/lib/components/Filter/index.test.js +41 -0
  106. package/lib/components/Filter/kind.d.ts +6 -0
  107. package/lib/components/Filter/kind.d.ts.map +1 -0
  108. package/lib/components/Filter/kind.js +45 -0
  109. package/lib/components/Filter/schema.d.ts +9 -0
  110. package/lib/components/Filter/schema.d.ts.map +1 -0
  111. package/lib/components/Filter/schema.js +32 -0
  112. package/lib/components/Filter/types.d.ts +17 -0
  113. package/lib/components/Filter/types.d.ts.map +1 -0
  114. package/lib/components/Filter/types.js +5 -0
  115. package/lib/components/JumpTo/JumpToMenu.d.ts +2 -2
  116. package/lib/components/JumpTo/JumpToMenu.d.ts.map +1 -1
  117. package/lib/components/JumpTo/JumpToMenu.js +3 -3
  118. package/lib/components/JumpTo/types.js +5 -1
  119. package/lib/components/LeftNav/Item/ClickArea.d.ts.map +1 -1
  120. package/lib/components/LeftNav/Item/ClickArea.js +2 -2
  121. package/lib/components/LeftNav/Item/ItemWrapper.d.ts.map +1 -1
  122. package/lib/components/LeftNav/Item/ItemWrapper.js +3 -3
  123. package/lib/components/LeftNav/Item/MenuItemWrapper.d.ts +7 -0
  124. package/lib/components/LeftNav/Item/MenuItemWrapper.d.ts.map +1 -0
  125. package/lib/components/LeftNav/Item/MenuItemWrapper.js +20 -0
  126. package/lib/components/LeftNav/Item/NavCollapsedXItem/index.d.ts.map +1 -1
  127. package/lib/components/LeftNav/Item/NavCollapsedXItem/index.js +7 -5
  128. package/lib/components/LeftNav/Item/NavExpandedItem/index.d.ts.map +1 -1
  129. package/lib/components/LeftNav/Item/NavExpandedItem/index.js +24 -13
  130. package/lib/components/LeftNav/Item/types.d.ts +1 -1
  131. package/lib/components/LeftNav/Item/types.d.ts.map +1 -1
  132. package/lib/components/LeftNav/Item/types.js +5 -1
  133. package/lib/components/LeftNav/index.test.js +13 -3
  134. package/lib/components/LeftNav/schema.d.ts.map +1 -1
  135. package/lib/components/LeftNav/schema.js +2 -0
  136. package/lib/components/LeftNav/types.d.ts +1 -0
  137. package/lib/components/LeftNav/types.d.ts.map +1 -1
  138. package/lib/components/LeftNav/types.js +5 -1
  139. package/lib/components/Link/index.d.ts +2 -2
  140. package/lib/components/Link/index.d.ts.map +1 -1
  141. package/lib/components/Link/index.js +1 -1
  142. package/lib/components/Link/index.test.js +8 -0
  143. package/lib/components/Link/schema.d.ts.map +1 -1
  144. package/lib/components/Link/schema.js +1 -1
  145. package/lib/components/Menu/index.d.ts.map +1 -1
  146. package/lib/components/Menu/index.js +3 -1
  147. package/lib/components/Menu/types.d.ts +2 -0
  148. package/lib/components/Menu/types.d.ts.map +1 -1
  149. package/lib/components/Menu/types.js +5 -1
  150. package/lib/components/Modal/components.d.ts +2 -2
  151. package/lib/components/Modal/index.d.ts.map +1 -1
  152. package/lib/components/Modal/index.js +5 -5
  153. package/lib/components/Modal/index.test.js +32 -0
  154. package/lib/components/Modal/schema.d.ts.map +1 -1
  155. package/lib/components/Modal/schema.js +2 -2
  156. package/lib/components/Modal/types.d.ts +2 -2
  157. package/lib/components/Modal/types.d.ts.map +1 -1
  158. package/lib/components/Modal/types.js +5 -1
  159. package/lib/components/Notifications/Notification/components.d.ts +3 -3
  160. package/lib/components/Notifications/Notification/components.d.ts.map +1 -1
  161. package/lib/components/Notifications/Notification/components.js +12 -6
  162. package/lib/components/Notifications/Notification/index.d.ts +3 -6
  163. package/lib/components/Notifications/Notification/index.d.ts.map +1 -1
  164. package/lib/components/Notifications/Notification/index.js +19 -12
  165. package/lib/components/Notifications/Notification/index.test.js +38 -19
  166. package/lib/components/Notifications/NotificationsPanel/index.d.ts +2 -1
  167. package/lib/components/Notifications/NotificationsPanel/index.d.ts.map +1 -1
  168. package/lib/components/Notifications/NotificationsPanel/index.js +44 -21
  169. package/lib/components/Notifications/NotificationsPanel/schema.js +1 -1
  170. package/lib/components/Notifications/Notifier.test.js +79 -10
  171. package/lib/components/Notifications/constants.d.ts +2 -0
  172. package/lib/components/Notifications/constants.d.ts.map +1 -0
  173. package/lib/components/Notifications/constants.js +16 -0
  174. package/lib/components/Notifications/schema.d.ts.map +1 -1
  175. package/lib/components/Notifications/schema.js +2 -1
  176. package/lib/components/Notifications/useNotifications.d.ts +1 -0
  177. package/lib/components/Notifications/useNotifications.d.ts.map +1 -1
  178. package/lib/components/Notifications/useNotifications.js +3 -3
  179. package/lib/components/Notifications/useNotifications.test.js +7 -4
  180. package/lib/components/Pagination/Pagination.d.ts +1 -1
  181. package/lib/components/Pagination/Pagination.d.ts.map +1 -1
  182. package/lib/components/Pagination/Pagination.js +1 -0
  183. package/lib/components/Pagination/Pagination.test.js +9 -0
  184. package/lib/components/Pagination/types.js +5 -1
  185. package/lib/components/Popover/utils.d.ts +1 -1
  186. package/lib/components/Select/Target.js +1 -1
  187. package/lib/components/Select/index.d.ts.map +1 -1
  188. package/lib/components/Select/index.js +37 -1
  189. package/lib/components/Select/index.test.js +82 -23
  190. package/lib/components/Select/schema.d.ts.map +1 -1
  191. package/lib/components/Select/schema.js +7 -0
  192. package/lib/components/Select/types.d.ts +4 -1
  193. package/lib/components/Select/types.d.ts.map +1 -1
  194. package/lib/components/Select/types.js +5 -1
  195. package/lib/components/SelectDate/Target.js +1 -1
  196. package/lib/components/SelectDate/index.d.ts.map +1 -1
  197. package/lib/components/SelectDate/index.js +28 -1
  198. package/lib/components/SelectDate/index.test.js +108 -51
  199. package/lib/components/SelectDate/schema.d.ts.map +1 -1
  200. package/lib/components/SelectDate/schema.js +2 -0
  201. package/lib/components/SelectDate/types.d.ts +2 -0
  202. package/lib/components/SelectDate/types.d.ts.map +1 -1
  203. package/lib/components/SelectDate/types.js +5 -1
  204. package/lib/components/SelectDateRange/index.d.ts.map +1 -1
  205. package/lib/components/SelectDateRange/index.js +28 -1
  206. package/lib/components/SelectDateRange/index.test.js +115 -58
  207. package/lib/components/SelectDateRange/schema.d.ts.map +1 -1
  208. package/lib/components/SelectDateRange/schema.js +2 -0
  209. package/lib/components/SelectDateRange/types.js +5 -1
  210. package/lib/components/SelectMenu/index.d.ts +5 -0
  211. package/lib/components/SelectMenu/index.d.ts.map +1 -1
  212. package/lib/components/SelectMenu/index.js +27 -3
  213. package/lib/components/SelectMenu/schema.d.ts.map +1 -1
  214. package/lib/components/SelectMenu/schema.js +4 -0
  215. package/lib/components/Table/Body.d.ts.map +1 -1
  216. package/lib/components/Table/Body.js +182 -38
  217. package/lib/components/Table/Container.d.ts.map +1 -1
  218. package/lib/components/Table/Container.js +2 -2
  219. package/lib/components/Table/DataRow.d.ts.map +1 -1
  220. package/lib/components/Table/DataRow.js +43 -16
  221. package/lib/components/Table/DraggableWrapper.d.ts +5 -0
  222. package/lib/components/Table/DraggableWrapper.d.ts.map +1 -0
  223. package/lib/components/Table/DraggableWrapper.js +38 -0
  224. package/lib/components/Table/Grip.d.ts +4 -0
  225. package/lib/components/Table/Grip.d.ts.map +1 -0
  226. package/lib/components/Table/Grip.js +30 -0
  227. package/lib/components/Table/Head.d.ts +1 -1
  228. package/lib/components/Table/Head.d.ts.map +1 -1
  229. package/lib/components/Table/Head.js +11 -5
  230. package/lib/components/Table/HeaderCell/index.d.ts.map +1 -1
  231. package/lib/components/Table/HeaderCell/index.js +22 -8
  232. package/lib/components/Table/HeaderCell/types.d.ts +6 -1
  233. package/lib/components/Table/HeaderCell/types.d.ts.map +1 -1
  234. package/lib/components/Table/HeaderCell/types.js +5 -1
  235. package/lib/components/Table/Provider.d.ts +13 -4
  236. package/lib/components/Table/Provider.d.ts.map +1 -1
  237. package/lib/components/Table/Provider.js +45 -5
  238. package/lib/components/Table/index.d.ts.map +1 -1
  239. package/lib/components/Table/index.js +112 -18
  240. package/lib/components/Table/index.test.js +330 -84
  241. package/lib/components/Table/schema.columns.d.ts.map +1 -1
  242. package/lib/components/Table/schema.columns.js +6 -4
  243. package/lib/components/Table/schema.d.ts.map +1 -1
  244. package/lib/components/Table/schema.js +8 -6
  245. package/lib/components/Table/types.d.ts +34 -4
  246. package/lib/components/Table/types.d.ts.map +1 -1
  247. package/lib/components/Table/utils.d.ts +2 -8
  248. package/lib/components/Table/utils.d.ts.map +1 -1
  249. package/lib/components/Table/utils.js +21 -20
  250. package/lib/components/Tabs/types.js +5 -1
  251. package/lib/components/Tag/types.d.ts +1 -1
  252. package/lib/components/Tag/types.d.ts.map +1 -1
  253. package/lib/components/Tag/types.js +5 -1
  254. package/lib/components/TextArea/TextArea.d.ts.map +1 -1
  255. package/lib/components/TextArea/TextArea.js +1 -1
  256. package/lib/components/TextArea/index.js +1 -0
  257. package/lib/components/TextArea/index.test.js +5 -0
  258. package/lib/components/TextField/Input.js +1 -1
  259. package/lib/components/TextField/index.test.js +5 -0
  260. package/lib/components/Toggle/index.d.ts.map +1 -1
  261. package/lib/components/Toggle/index.js +4 -0
  262. package/lib/components/Toggle/index.test.js +39 -10
  263. package/lib/components/Toggle/types.js +5 -1
  264. package/lib/components/TopNav/BrandInfo/index.d.ts +2 -1
  265. package/lib/components/TopNav/BrandInfo/index.d.ts.map +1 -1
  266. package/lib/components/TopNav/BrandInfo/index.js +9 -1
  267. package/lib/components/TopNav/BrandInfo/schema.d.ts.map +1 -1
  268. package/lib/components/TopNav/BrandInfo/schema.js +4 -1
  269. package/lib/components/TopNav/index.test.js +28 -0
  270. package/lib/components/index.d.ts +1 -0
  271. package/lib/components/index.d.ts.map +1 -1
  272. package/lib/components/index.js +9 -0
  273. package/lib/providers/ConfigProvider/index.d.ts.map +1 -1
  274. package/lib/providers/ConfigProvider/index.js +5 -1
  275. package/lib/providers/ConfigProvider/utils/context.d.ts +1 -1
  276. package/lib/providers/ConfigProvider/utils/context.d.ts.map +1 -1
  277. package/lib/providers/ConfigProvider/utils/normalizer.d.ts.map +1 -1
  278. package/lib/providers/ConfigProvider/utils/normalizer.js +1 -1
  279. package/lib/providers/ConfigProvider/utils/translations.d.ts +1 -1
  280. package/lib/providers/ConfigProvider/utils/translations.js +1 -1
  281. package/lib/providers/NotificationsProvider/index.d.ts +6 -5
  282. package/lib/providers/NotificationsProvider/index.d.ts.map +1 -1
  283. package/lib/providers/NotificationsProvider/index.js +47 -28
  284. package/lib/providers/NotificationsProvider/types.d.ts +4 -1
  285. package/lib/providers/NotificationsProvider/types.d.ts.map +1 -1
  286. package/lib/utils/joinClassnames.d.ts +3 -0
  287. package/lib/utils/joinClassnames.d.ts.map +1 -0
  288. package/lib/utils/joinClassnames.js +26 -0
  289. package/lib/utils/useFirstMount.d.ts +2 -0
  290. package/lib/utils/useFirstMount.d.ts.map +1 -0
  291. package/lib/utils/useFirstMount.js +19 -0
  292. package/lib/utils/useUpdateEffect.d.ts +4 -0
  293. package/lib/utils/useUpdateEffect.d.ts.map +1 -0
  294. package/lib/utils/useUpdateEffect.js +28 -0
  295. package/package.json +4 -2
  296. package/lib/atoms/InputField/RequiredIcon.d.ts +0 -4
  297. package/lib/atoms/InputField/RequiredIcon.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,OAAO,EAAuB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjE,UAAU,sBAAsB;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iBAAwB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CA6EtE;kBA7EuB,UAAU;;;;;;;;;;;;eAAV,UAAU"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,OAAO,EAAuB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjE,UAAU,sBAAsB;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iBAAwB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA+E7E;kBA/EuB,UAAU;;;;;;;;;;;;eAAV,UAAU"}
@@ -49,6 +49,7 @@ function Pagination(props) {
49
49
  currentPage = _useState2[0],
50
50
  setCurrentPage = _useState2[1];
51
51
 
52
+ if (totalPages <= 1) return null;
52
53
  var activePageIsControlled = typeof activePage !== 'undefined';
53
54
 
54
55
  if (activePageIsControlled && activePage !== currentPage) {
@@ -245,4 +245,13 @@ describe('Pagination', function () {
245
245
  expect(onPageChange).toHaveBeenCalledWith(props.activePage + 1, props.activePage);
246
246
  });
247
247
  });
248
+ it("doesn't display when there is only 1 page", function () {
249
+ var _renderPagination17 = renderPagination(_objectSpread({}, defaultProps, {
250
+ totalPages: 1,
251
+ defaultActivePage: 1
252
+ })),
253
+ container = _renderPagination17.container;
254
+
255
+ expect(container).toBeEmpty();
256
+ });
248
257
  });
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,6 +1,6 @@
1
1
  import { RefObject } from 'react';
2
2
  import { PopoverProps, Side, TargetType, VisibilityActions } from './types';
3
- export declare const getPlacementParts: (placement?: "left" | "right" | "auto" | "bottom" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "auto-start" | "auto-end") => [Side, ("end" | "start" | undefined)?];
3
+ export declare const getPlacementParts: (placement?: "auto" | "bottom" | "left" | "right" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "auto-start" | "auto-end") => [Side, ("end" | "start" | undefined)?];
4
4
  interface UseTargetProps extends PopoverProps {
5
5
  actions: VisibilityActions;
6
6
  internalNodeRef: RefObject<HTMLElement>;
@@ -48,7 +48,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
48
48
  var TargetContainer = _styledComponents.default.div.withConfig({
49
49
  displayName: "Target__TargetContainer",
50
50
  componentId: "sc-1t0verh-0"
51
- })(["align-items:center;display:flex;justify-content:space-between;position:relative;top:-4px;width:100%;"]);
51
+ })(["align-items:center;display:flex;justify-content:space-between;position:relative;top:-2px;width:100%;"]);
52
52
 
53
53
  var TargetButton = (0, _styledComponents.default)(_BaseButton.default).withConfig({
54
54
  displayName: "Target__TargetButton",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.tsx"],"names":[],"mappings":"AAGA,OAAc,EAEZ,sBAAsB,EAMvB,MAAM,OAAO,CAAC;AAkBf,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAuOjD,QAAA,MAAM,aAAa,EAAE,sBAAsB,CACzC,SAAS,EACT,WAAW,CACS,CAAC;AAUvB,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.tsx"],"names":[],"mappings":"AAGA,OAAc,EAEZ,sBAAsB,EAMvB,MAAM,OAAO,CAAC;AAoBf,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAyPjD,QAAA,MAAM,aAAa,EAAE,sBAAsB,CACzC,SAAS,EACT,WAAW,CACS,CAAC;AAgCvB,eAAe,aAAa,CAAC"}
@@ -27,8 +27,12 @@ var _useClickOutside = _interopRequireDefault(require("../../utils/useClickOutsi
27
27
 
28
28
  var _useUniqueId = _interopRequireDefault(require("../../utils/useUniqueId"));
29
29
 
30
+ var _useUpdateEffect = _interopRequireDefault(require("../../utils/useUpdateEffect"));
31
+
30
32
  var _DropdownList = _interopRequireDefault(require("../DropdownList"));
31
33
 
34
+ var _Button = require("../Button");
35
+
32
36
  var _Target = _interopRequireDefault(require("./Target"));
33
37
 
34
38
  var _propTypes2 = require("./propTypes");
@@ -66,7 +70,8 @@ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d =
66
70
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
67
71
 
68
72
  function Select(props, ref) {
69
- var clearButtonLabel = props.clearButtonLabel,
73
+ var actions = props.actions,
74
+ clearButtonLabel = props.clearButtonLabel,
70
75
  defaultValue = props.defaultValue,
71
76
  id = props.id,
72
77
  inputContainerRef = props.inputContainerRef,
@@ -74,8 +79,11 @@ function Select(props, ref) {
74
79
  name = props.name,
75
80
  onChange = props.onChange,
76
81
  onClick = props.onClick,
82
+ onHide = props.onHide,
77
83
  onKeyDown = props.onKeyDown,
84
+ onShow = props.onShow,
78
85
  options = props.options,
86
+ renderOptionLabel = props.renderOptionLabel,
79
87
  propValue = props.value,
80
88
  zIndex = props.zIndex;
81
89
  var fallbackSelectRef = (0, _react.useRef)(null);
@@ -199,6 +207,19 @@ function Select(props, ref) {
199
207
  }, [isPopoverVisible]);
200
208
  (0, _useClickOutside.default)([listRef], handleClickOutsideList);
201
209
  var inputContainerRefs = (0, _compact.default)([inputContainerRef, popoverTargetRef]);
210
+ /**
211
+ * Triggers onShow/onHide callbacks representing wether the Popover is open or not.
212
+ */
213
+
214
+ (0, _useUpdateEffect.default)(function () {
215
+ if (isPopoverVisible) {
216
+ onShow && onShow();
217
+ }
218
+
219
+ if (!isPopoverVisible) {
220
+ onHide && onHide();
221
+ }
222
+ }, [isPopoverVisible, onHide, onShow]);
202
223
  return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_InputField.default, _extends({}, props, {
203
224
  "aria-live": "assertive",
204
225
  cursor: "default",
@@ -235,6 +256,7 @@ function Select(props, ref) {
235
256
  ref: targetRef,
236
257
  type: "button"
237
258
  }, value), _react.default.createElement(_DropdownList.default, {
259
+ actions: actions,
238
260
  "aria-labelledby": ariaLabelledBy,
239
261
  borderRadius: "0",
240
262
  id: dropdownListId,
@@ -246,6 +268,7 @@ function Select(props, ref) {
246
268
  onChange: handleChangeValue,
247
269
  onHide: toggleIsPopoverVisible,
248
270
  onShow: toggleIsPopoverVisible,
271
+ renderOptionLabel: renderOptionLabel,
249
272
  selectedIds: selectedValue,
250
273
  showArrow: false,
251
274
  target: popoverTargetRef,
@@ -258,9 +281,22 @@ function Select(props, ref) {
258
281
  var SelectWithRef = (0, _react.forwardRef)(Select);
259
282
  SelectWithRef.displayName = 'Select';
260
283
  SelectWithRef.propTypes = _objectSpread({}, _schema.default.propTypes, {
284
+ actions: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.shape((0, _Button.makeButtonSchemaPropTypes)({
285
+ id: _propTypes.default.string.isRequired
286
+ }))), _propTypes.default.shape({
287
+ left: _propTypes.default.arrayOf(_propTypes.default.shape((0, _Button.makeButtonSchemaPropTypes)({
288
+ id: _propTypes.default.string.isRequired
289
+ }))),
290
+ right: _propTypes.default.arrayOf(_propTypes.default.shape((0, _Button.makeButtonSchemaPropTypes)({
291
+ id: _propTypes.default.string.isRequired
292
+ })))
293
+ })]),
261
294
  defaultValue: _propTypes2.valueValidator,
262
295
  icon: _propTypes.default.elementType,
263
296
  value: _propTypes2.valueValidator
264
297
  });
298
+ SelectWithRef.defaultProps = {
299
+ actions: undefined
300
+ };
265
301
  var _default = SelectWithRef;
266
302
  exports.default = _default;
@@ -111,16 +111,53 @@ describe('Select', function () {
111
111
  expect(getByText(defaultProps.label)).toBeTruthy();
112
112
  expect((0, _react2.queryByText)(baseElement, opt0.label)).toBeTruthy();
113
113
  });
114
+ it('triggers onShow callback', function () {
115
+ var onShow = jest.fn();
116
+
117
+ var _render2 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
118
+ onShow: onShow
119
+ }))),
120
+ queryByText = _render2.queryByText;
121
+
122
+ expect(onShow).not.toHaveBeenCalled();
123
+ var label = queryByText(defaultProps.label);
124
+
125
+ _react2.fireEvent.click(label);
126
+
127
+ expect(onShow).toHaveBeenCalled();
128
+ });
129
+ it('triggers onHide callback', function () {
130
+ var onHide = jest.fn();
131
+
132
+ var _render3 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
133
+ onHide: onHide
134
+ }))),
135
+ queryByText = _render3.queryByText;
136
+
137
+ expect(onHide).not.toHaveBeenCalled();
138
+ var label = queryByText(defaultProps.label);
139
+
140
+ _react2.fireEvent.click(label);
141
+
142
+ _react2.fireEvent.keyDown(label, {
143
+ key: 'Escape',
144
+ code: 'Escape',
145
+ keyCode: 27,
146
+ charCode: 27
147
+ });
148
+
149
+ expect(onHide).toHaveBeenCalled();
150
+ });
114
151
  });
115
152
  describe('clicking an option', function () {
116
153
  it('calls the onchange handler with the new value', function () {
117
154
  var onChange = jest.fn();
118
155
 
119
- var _render2 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
156
+ var _render4 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
120
157
  onChange: onChange
121
158
  }))),
122
- baseElement = _render2.baseElement,
123
- getByText = _render2.getByText;
159
+ baseElement = _render4.baseElement,
160
+ getByText = _render4.getByText;
124
161
 
125
162
  _react2.fireEvent.click(getByText(defaultProps.label));
126
163
 
@@ -129,9 +166,9 @@ describe('Select', function () {
129
166
  expect(onChange).toHaveBeenCalledWith(cat0Opt0.id);
130
167
  });
131
168
  it('automatically updates the option label inside the input field', function () {
132
- var _render3 = render(_react.default.createElement(_.default, defaultProps)),
133
- baseElement = _render3.baseElement,
134
- getByText = _render3.getByText;
169
+ var _render5 = render(_react.default.createElement(_.default, defaultProps)),
170
+ baseElement = _render5.baseElement,
171
+ getByText = _render5.getByText;
135
172
 
136
173
  _react2.fireEvent.click(getByText(defaultProps.label));
137
174
 
@@ -143,10 +180,10 @@ describe('Select', function () {
143
180
  });
144
181
  describe('with a default value', function () {
145
182
  it('displays the option label matching the defaultValue inside the input field', function () {
146
- var _render4 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
183
+ var _render6 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
147
184
  defaultValue: cat0Opt0.id
148
185
  }))),
149
- getByText = _render4.getByText;
186
+ getByText = _render6.getByText;
150
187
 
151
188
  expect(getByText(cat0Opt0.label)).toBeTruthy();
152
189
  });
@@ -154,12 +191,12 @@ describe('Select', function () {
154
191
  it('calls the onchange handler with the new value', function () {
155
192
  var onChange = jest.fn();
156
193
 
157
- var _render5 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
194
+ var _render7 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
158
195
  onChange: onChange,
159
196
  defaultValue: opt1.id
160
197
  }))),
161
- baseElement = _render5.baseElement,
162
- getByText = _render5.getByText;
198
+ baseElement = _render7.baseElement,
199
+ getByText = _render7.getByText;
163
200
 
164
201
  _react2.fireEvent.click(getByText(defaultProps.label));
165
202
 
@@ -168,11 +205,11 @@ describe('Select', function () {
168
205
  expect(onChange).toHaveBeenCalledWith(cat0Opt0.id);
169
206
  });
170
207
  it('automatically updates the option label inside the input field', function () {
171
- var _render6 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
208
+ var _render8 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
172
209
  defaultValue: opt1.id
173
210
  }))),
174
- baseElement = _render6.baseElement,
175
- getByText = _render6.getByText;
211
+ baseElement = _render8.baseElement,
212
+ getByText = _render8.getByText;
176
213
 
177
214
  _react2.fireEvent.click(getByText(defaultProps.label));
178
215
 
@@ -183,12 +220,34 @@ describe('Select', function () {
183
220
  });
184
221
  });
185
222
  });
223
+ describe('when label hidden', function () {
224
+ it('does not display the label element', function () {
225
+ var _render9 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
226
+ defaultvalue: opt1.id,
227
+ hideLabel: true
228
+ }))),
229
+ getByText = _render9.getByText;
230
+
231
+ expect(getByText(defaultProps.label, {
232
+ selector: 'span'
233
+ })).not.toBeVisible();
234
+ });
235
+ it('does display the input related to the label', function () {
236
+ var _render10 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
237
+ defaultValue: opt1.id,
238
+ hideLabel: true
239
+ }))),
240
+ getByLabelText = _render10.getByLabelText;
241
+
242
+ expect(getByLabelText(defaultProps.label)).toBeVisible();
243
+ });
244
+ });
186
245
  describe('when component is controlled', function () {
187
246
  it('displays the option label matching the value inside the input field', function () {
188
- var _render7 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
247
+ var _render11 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
189
248
  value: cat0Opt0.id
190
249
  }))),
191
- getByText = _render7.getByText;
250
+ getByText = _render11.getByText;
192
251
 
193
252
  expect(getByText(cat0Opt0.label)).toBeTruthy();
194
253
  });
@@ -196,12 +255,12 @@ describe('Select', function () {
196
255
  it('calls the onchange handler with the new value', function () {
197
256
  var onChange = jest.fn();
198
257
 
199
- var _render8 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
258
+ var _render12 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
200
259
  onChange: onChange,
201
260
  value: opt1.id
202
261
  }))),
203
- baseElement = _render8.baseElement,
204
- getByText = _render8.getByText;
262
+ baseElement = _render12.baseElement,
263
+ getByText = _render12.getByText;
205
264
 
206
265
  _react2.fireEvent.click(getByText(defaultProps.label));
207
266
 
@@ -210,12 +269,12 @@ describe('Select', function () {
210
269
  expect(onChange).toHaveBeenCalledWith(cat0Opt0.id);
211
270
  });
212
271
  it('does NOT automatically update the option label inside the input field', function () {
213
- var _render9 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
272
+ var _render13 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
214
273
  value: opt1.id
215
274
  }))),
216
- baseElement = _render9.baseElement,
217
- getByText = _render9.getByText,
218
- queryByText = _render9.queryByText;
275
+ baseElement = _render13.baseElement,
276
+ getByText = _render13.getByText,
277
+ queryByText = _render13.queryByText;
219
278
 
220
279
  _react2.fireEvent.click(getByText(defaultProps.label));
221
280
 
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Select/schema.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,KAAsC,CAAC;AA4CnD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Select/schema.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,KAAsC,CAAC;AA8DnD,eAAe,MAAM,CAAC"}
@@ -25,7 +25,13 @@ var schema = (0, _reactDesc.describe)({
25
25
  schema.propTypes = _objectSpread({}, (0, _omit.default)(_InputField.schema.makePropTypes(), ['children', 'maxLength', 'onChange', 'showCharacterCount']), {
26
26
  clearButtonLabel: _reactDesc.PropTypes.string.description("A hidden label value for the clear button. The select component's label is available within the string for clarity.").defaultValue('Clear {label} value'),
27
27
  defaultValue: _reactDesc.PropTypes.string.description('The ID of the option that should be selected by default.'),
28
+ actions: _reactDesc.PropTypes.oneOfType([_reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.object), _reactDesc.PropTypes.shape({
29
+ left: _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.object),
30
+ right: _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.object)
31
+ })]).description('A collection of objects, each containing a subset of props valid for a Button component. Check the notes on the OptionsList.'),
28
32
  onChange: _reactDesc.PropTypes.func.description(''),
33
+ onHide: _reactDesc.PropTypes.func.description('A callback which is triggered when the popover is closed'),
34
+ onShow: _reactDesc.PropTypes.func.description('A callback which is triggered when the popover is opened'),
29
35
  options: _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.shape({
30
36
  decoration: _reactDesc.PropTypes.shape({
31
37
  type: _reactDesc.PropTypes.oneOf(['Avatar', 'Badge'])
@@ -35,6 +41,7 @@ schema.propTypes = _objectSpread({}, (0, _omit.default)(_InputField.schema.makeP
35
41
  label: _reactDesc.PropTypes.string.description('The label text for an option in the dropdown list.'),
36
42
  value: _reactDesc.PropTypes.string.description('The value for an option in the dropdown list.')
37
43
  })).description('The array of data for the options that will be rendered').isRequired,
44
+ renderOptionLabel: _reactDesc.PropTypes.func.description('Function to customize render of option labels, called with the item value'),
38
45
  value: _reactDesc.PropTypes.string.description('The ID of the option that is selected. If provided, controlling the Select must be handled externally. Overrides `defaultValue`.'),
39
46
  zIndex: _reactDesc.PropTypes.number.description('Sets the z-index style property of the options list')
40
47
  });
@@ -1,9 +1,10 @@
1
1
  import { ButtonHTMLAttributes, FocusEventHandler, KeyboardEventHandler, MouseEventHandler } from 'react';
2
2
  import { BaseInputFieldProps, InputComponentProps } from '../../atoms/InputField';
3
+ import { OptionsListProps } from '../../atoms/OptionsList/types';
3
4
  import { Items } from '../DropdownList';
4
5
  import { PopoverProps } from '../Popover/types';
5
6
  export declare type SelectRef = HTMLButtonElement;
6
- interface BaseSelectProps extends ButtonHTMLAttributes<SelectRef>, Omit<BaseInputFieldProps, 'children' | 'maxLength' | 'onChange' | 'showCharacterCount' | 'value'> {
7
+ interface BaseSelectProps extends ButtonHTMLAttributes<SelectRef>, Omit<BaseInputFieldProps, 'children' | 'maxLength' | 'onChange' | 'showCharacterCount' | 'value'>, Pick<OptionsListProps, 'actions' | 'renderOptionLabel'> {
7
8
  onBlur?: FocusEventHandler;
8
9
  onClick?: MouseEventHandler;
9
10
  onFocus?: FocusEventHandler;
@@ -14,6 +15,8 @@ export declare type SelectProps = BaseSelectProps & {
14
15
  defaultValue?: string;
15
16
  name: string;
16
17
  onChange?: (value: string) => void;
18
+ onHide?: () => void;
19
+ onShow?: () => void;
17
20
  options: Items;
18
21
  value?: string;
19
22
  zIndex?: PopoverProps['zIndex'];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Select/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,oBAAY,SAAS,GAAG,iBAAiB,CAAC;AAE1C,UAAU,eACR,SAAQ,oBAAoB,CAAC,SAAS,CAAC,EACrC,IAAI,CACF,mBAAmB,EACnB,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,oBAAoB,GAAG,OAAO,CACvE;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,oBAAY,WAAW,GAAG,eAAe,GAAG;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,WAAW,WACf,SAAQ,oBAAoB,CAAC,SAAS,CAAC,EACrC,IAAI,CACF,mBAAmB,EACnB,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CACxE;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;CACzC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Select/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,oBAAY,SAAS,GAAG,iBAAiB,CAAC;AAE1C,UAAU,eACR,SAAQ,oBAAoB,CAAC,SAAS,CAAC,EACrC,IAAI,CACF,mBAAmB,EACnB,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,oBAAoB,GAAG,OAAO,CACvE,EACD,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,mBAAmB,CAAC;IACzD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,oBAAY,WAAW,GAAG,eAAe,GAAG;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,WAAW,WACf,SAAQ,oBAAoB,CAAC,SAAS,CAAC,EACrC,IAAI,CACF,mBAAmB,EACnB,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CACxE;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;CACzC"}
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -48,7 +48,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
48
48
  var TargetContainer = _styledComponents.default.div.withConfig({
49
49
  displayName: "Target__TargetContainer",
50
50
  componentId: "ks9oxf-0"
51
- })(["align-items:center;display:flex;justify-content:space-between;position:relative;top:-4px;width:100%;"]);
51
+ })(["align-items:center;display:flex;justify-content:space-between;position:relative;top:-2px;width:100%;"]);
52
52
 
53
53
  var TargetButton = (0, _styledComponents.default)(_BaseButton.default).withConfig({
54
54
  displayName: "Target__TargetButton",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDate/index.tsx"],"names":[],"mappings":"AAIA,OAAc,EAEZ,sBAAsB,EAMvB,MAAM,OAAO,CAAC;AAqBf,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAQ,MAAM,SAAS,CAAC;AAIjE,OAAO,EACL,SAAS,EACT,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAmPxC,QAAA,MAAM,iBAAiB,EAAE,sBAAsB,CAC7C,cAAc,EACd,gBAAgB,CACQ,CAAC;AAK3B,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDate/index.tsx"],"names":[],"mappings":"AAMA,OAAc,EAEZ,sBAAsB,EAMvB,MAAM,OAAO,CAAC;AAsBf,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAQ,MAAM,SAAS,CAAC;AAIjE,OAAO,EACL,SAAS,EACT,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAiQxC,QAAA,MAAM,iBAAiB,EAAE,sBAAsB,CAC7C,cAAc,EACd,gBAAgB,CACQ,CAAC;AAQ3B,eAAe,iBAAiB,CAAC"}
@@ -25,6 +25,8 @@ var _isDate = _interopRequireDefault(require("lodash/isDate"));
25
25
 
26
26
  var _omit = _interopRequireDefault(require("lodash/omit"));
27
27
 
28
+ var _propTypes = _interopRequireDefault(require("prop-types"));
29
+
28
30
  var _react = _interopRequireWildcard(require("react"));
29
31
 
30
32
  var _breakpointObserver = require("@decisiv/breakpoint-observer");
@@ -41,6 +43,8 @@ var _useTranslations = _interopRequireDefault(require("../../utils/useTranslatio
41
43
 
42
44
  var _useUniqueId = _interopRequireDefault(require("../../utils/useUniqueId"));
43
45
 
46
+ var _useUpdateEffect = _interopRequireDefault(require("../../utils/useUpdateEffect"));
47
+
44
48
  var _Calendar = _interopRequireWildcard(require("../../atoms/Calendar"));
45
49
 
46
50
  var _InputField = _interopRequireDefault(require("../../atoms/InputField"));
@@ -63,6 +67,12 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
63
67
 
64
68
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
65
69
 
70
+ 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; }
71
+
72
+ 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; }
73
+
74
+ 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; }
75
+
66
76
  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); }
67
77
 
68
78
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
@@ -90,6 +100,8 @@ function SelectDate(props, ref) {
90
100
  onChange = props.onChange,
91
101
  onClick = props.onClick,
92
102
  onKeyDown = props.onKeyDown,
103
+ onShow = props.onShow,
104
+ onHide = props.onHide,
93
105
  propValue = props.value,
94
106
  disabledDateRules = props.disabledDateRules,
95
107
  zIndex = props.zIndex;
@@ -214,6 +226,19 @@ function SelectDate(props, ref) {
214
226
  }, [isPopoverVisible]);
215
227
  (0, _useClickOutside.default)([popoverContentRef], handleClickOutsidePopover);
216
228
  var inputContainerRefs = (0, _compact.default)([inputContainerRef, popoverTargetRef]);
229
+ /**
230
+ * Triggers onShow/onHide callbacks representing wether the Popover is open or not.
231
+ */
232
+
233
+ (0, _useUpdateEffect.default)(function () {
234
+ if (isPopoverVisible) {
235
+ onShow && onShow();
236
+ }
237
+
238
+ if (!isPopoverVisible) {
239
+ onHide && onHide();
240
+ }
241
+ }, [isPopoverVisible, onShow, onHide]);
217
242
  return _react.default.createElement(_InputField.default, _extends({}, (0, _omit.default)(props, ['onChange']), {
218
243
  "aria-live": "assertive",
219
244
  cursor: "default",
@@ -281,7 +306,9 @@ function SelectDate(props, ref) {
281
306
  }
282
307
 
283
308
  var SelectDateWithRef = (0, _react.forwardRef)(SelectDate);
284
- SelectDateWithRef.propTypes = _schema.default.propTypes;
309
+ SelectDateWithRef.propTypes = _objectSpread({}, _schema.default.propTypes, {
310
+ icon: _propTypes.default.elementType
311
+ });
285
312
  SelectDateWithRef.displayName = 'SelectDate';
286
313
  var _default = SelectDateWithRef;
287
314
  exports.default = _default;