@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
@@ -82,16 +82,36 @@ describe('SelectDate', function () {
82
82
 
83
83
  expect(queryByText(defaultProps.label)).toBeInTheDocument();
84
84
  });
85
+ describe('when label is hidden', function () {
86
+ it('does not display the label element', function () {
87
+ var _render2 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
88
+ hideLabel: true
89
+ }))),
90
+ getByText = _render2.getByText;
91
+
92
+ expect(getByText(defaultProps.label, {
93
+ selector: 'span'
94
+ })).not.toBeVisible();
95
+ });
96
+ it('does display the input related to the label', function () {
97
+ var _render3 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
98
+ hideLabel: true
99
+ }))),
100
+ getByLabelText = _render3.getByLabelText;
101
+
102
+ expect(getByLabelText(defaultProps.label)).toBeVisible();
103
+ });
104
+ });
85
105
  it('renders the calendar icon', function () {
86
106
  var _rtlRender = (0, _react2.render)(_react.default.createElement(_Calendar.default, null)),
87
107
  iconContainer = _rtlRender.container;
88
108
 
89
109
  var iconPathD = iconContainer.querySelector('svg path').getAttribute('d');
90
110
 
91
- var _render2 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
111
+ var _render4 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
92
112
  icon: _Calendar.default
93
113
  }))),
94
- container = _render2.container; // There will be other icons rendered as well, like the expanded indicator.
114
+ container = _render4.container; // There will be other icons rendered as well, like the expanded indicator.
95
115
  // The Calendar icon should be first in the render tree.
96
116
 
97
117
 
@@ -104,8 +124,8 @@ describe('SelectDate', function () {
104
124
 
105
125
  var iconPathD = iconContainer.querySelector('svg path').getAttribute('d');
106
126
 
107
- var _render3 = render(_react.default.createElement(_.default, defaultProps)),
108
- container = _render3.container; // With no value rendered and no icon prop provided, the expanded indicator
127
+ var _render5 = render(_react.default.createElement(_.default, defaultProps)),
128
+ container = _render5.container; // With no value rendered and no icon prop provided, the expanded indicator
109
129
  // will be first in the render tree.
110
130
 
111
131
 
@@ -119,10 +139,10 @@ describe('SelectDate', function () {
119
139
 
120
140
  var iconPathD = iconContainer.querySelector('svg path').getAttribute('d');
121
141
 
122
- var _render4 = render(_react.default.createElement(_.default, defaultProps)),
123
- baseElement = _render4.baseElement,
124
- container = _render4.container,
125
- queryByText = _render4.queryByText;
142
+ var _render6 = render(_react.default.createElement(_.default, defaultProps)),
143
+ baseElement = _render6.baseElement,
144
+ container = _render6.container,
145
+ queryByText = _render6.queryByText;
126
146
 
127
147
  expect((0, _react2.queryByText)(baseElement, /today/i)).not.toBeInTheDocument();
128
148
  var label = queryByText(defaultProps.label);
@@ -133,12 +153,49 @@ describe('SelectDate', function () {
133
153
  expect(expandedIconPathD).toEqual(iconPathD);
134
154
  expect((0, _react2.queryByText)(baseElement, /today/i)).toBeInTheDocument();
135
155
  });
156
+ it('triggers onShow callback', function () {
157
+ var onShow = jest.fn();
158
+
159
+ var _render7 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
160
+ onShow: onShow
161
+ }))),
162
+ queryByText = _render7.queryByText;
163
+
164
+ expect(onShow).not.toHaveBeenCalled();
165
+ var label = queryByText(defaultProps.label);
166
+
167
+ _react2.fireEvent.click(label);
168
+
169
+ expect(onShow).toHaveBeenCalled();
170
+ });
171
+ it('triggers onHide callback', function () {
172
+ var onHide = jest.fn();
173
+
174
+ var _render8 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
175
+ onHide: onHide
176
+ }))),
177
+ queryByText = _render8.queryByText;
178
+
179
+ expect(onHide).not.toHaveBeenCalled();
180
+ var label = queryByText(defaultProps.label);
181
+
182
+ _react2.fireEvent.click(label);
183
+
184
+ _react2.fireEvent.keyDown(label, {
185
+ key: 'Escape',
186
+ code: 'Escape',
187
+ keyCode: 27,
188
+ charCode: 27
189
+ });
190
+
191
+ expect(onHide).toHaveBeenCalled();
192
+ });
136
193
  });
137
194
  describe('when clicking the InputField value button', function () {
138
195
  it('opens a popover with the calendar', function () {
139
- var _render5 = render(_react.default.createElement(_.default, defaultProps)),
140
- baseElement = _render5.baseElement,
141
- queryByLabelText = _render5.queryByLabelText;
196
+ var _render9 = render(_react.default.createElement(_.default, defaultProps)),
197
+ baseElement = _render9.baseElement,
198
+ queryByLabelText = _render9.queryByLabelText;
142
199
 
143
200
  expect((0, _react2.queryByText)(baseElement, /today/i)).not.toBeInTheDocument();
144
201
  var valueButton = queryByLabelText(defaultProps.label);
@@ -150,9 +207,9 @@ describe('SelectDate', function () {
150
207
  });
151
208
  describe('when the calendar popover is open', function () {
152
209
  it('renders the calendar', function () {
153
- var _render6 = render(_react.default.createElement(_.default, defaultProps)),
154
- baseElement = _render6.baseElement,
155
- queryByText = _render6.queryByText;
210
+ var _render10 = render(_react.default.createElement(_.default, defaultProps)),
211
+ baseElement = _render10.baseElement,
212
+ queryByText = _render10.queryByText;
156
213
 
157
214
  var today = new Date();
158
215
  var lastDateInMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0);
@@ -196,9 +253,9 @@ describe('SelectDate', function () {
196
253
  }
197
254
  });
198
255
  it('renders a clear button inside the popover', function () {
199
- var _render7 = render(_react.default.createElement(_.default, defaultProps)),
200
- baseElement = _render7.baseElement,
201
- queryByLabelText = _render7.queryByLabelText;
256
+ var _render11 = render(_react.default.createElement(_.default, defaultProps)),
257
+ baseElement = _render11.baseElement,
258
+ queryByLabelText = _render11.queryByLabelText;
202
259
 
203
260
  _react2.fireEvent.click(queryByLabelText(defaultProps.label));
204
261
 
@@ -206,9 +263,9 @@ describe('SelectDate', function () {
206
263
  });
207
264
  describe('when navigating with the calendar controls', function () {
208
265
  it('does NOT close the popover after each click', function () {
209
- var _render8 = render(_react.default.createElement(_.default, defaultProps)),
210
- baseElement = _render8.baseElement,
211
- queryByText = _render8.queryByText; // open the calendar popover
266
+ var _render12 = render(_react.default.createElement(_.default, defaultProps)),
267
+ baseElement = _render12.baseElement,
268
+ queryByText = _render12.queryByText; // open the calendar popover
212
269
 
213
270
 
214
271
  _react2.fireEvent.click(queryByText(defaultProps.label)); // the "today" button is a part of the calendar controls
@@ -235,11 +292,11 @@ describe('SelectDate', function () {
235
292
  it('closes the popover after click', function () {
236
293
  var today = new Date();
237
294
 
238
- var _render9 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
295
+ var _render13 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
239
296
  defaultValue: today
240
297
  }))),
241
- baseElement = _render9.baseElement,
242
- queryByLabelText = _render9.queryByLabelText;
298
+ baseElement = _render13.baseElement,
299
+ queryByLabelText = _render13.queryByLabelText;
243
300
 
244
301
  _react2.fireEvent.click(queryByLabelText(defaultProps.label));
245
302
 
@@ -253,12 +310,12 @@ describe('SelectDate', function () {
253
310
  var onChange = jest.fn();
254
311
  var today = new Date();
255
312
 
256
- var _render10 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
313
+ var _render14 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
257
314
  defaultValue: today,
258
315
  onChange: onChange
259
316
  }))),
260
- baseElement = _render10.baseElement,
261
- queryByLabelText = _render10.queryByLabelText;
317
+ baseElement = _render14.baseElement,
318
+ queryByLabelText = _render14.queryByLabelText;
262
319
 
263
320
  _react2.fireEvent.click(queryByLabelText(defaultProps.label));
264
321
 
@@ -274,9 +331,9 @@ describe('SelectDate', function () {
274
331
  it('renders the date in the correct format', function () {
275
332
  var today = new Date();
276
333
 
277
- var _render11 = render(_react.default.createElement(_.default, defaultProps)),
278
- baseElement = _render11.baseElement,
279
- queryByLabelText = _render11.queryByLabelText;
334
+ var _render15 = render(_react.default.createElement(_.default, defaultProps)),
335
+ baseElement = _render15.baseElement,
336
+ queryByLabelText = _render15.queryByLabelText;
280
337
 
281
338
  _react2.fireEvent.click(queryByLabelText(defaultProps.label));
282
339
 
@@ -291,9 +348,9 @@ describe('SelectDate', function () {
291
348
  it('closes the calendar popover', function () {
292
349
  var today = new Date();
293
350
 
294
- var _render12 = render(_react.default.createElement(_.default, defaultProps)),
295
- baseElement = _render12.baseElement,
296
- queryByLabelText = _render12.queryByLabelText;
351
+ var _render16 = render(_react.default.createElement(_.default, defaultProps)),
352
+ baseElement = _render16.baseElement,
353
+ queryByLabelText = _render16.queryByLabelText;
297
354
 
298
355
  _react2.fireEvent.click(queryByLabelText(defaultProps.label));
299
356
 
@@ -309,11 +366,11 @@ describe('SelectDate', function () {
309
366
  var onChange = jest.fn();
310
367
  var today = new Date();
311
368
 
312
- var _render13 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
369
+ var _render17 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
313
370
  onChange: onChange
314
371
  }))),
315
- baseElement = _render13.baseElement,
316
- queryByLabelText = _render13.queryByLabelText;
372
+ baseElement = _render17.baseElement,
373
+ queryByLabelText = _render17.queryByLabelText;
317
374
 
318
375
  _react2.fireEvent.click(queryByLabelText(defaultProps.label));
319
376
 
@@ -335,10 +392,10 @@ describe('SelectDate', function () {
335
392
  var iconPathD = iconContainer.querySelector('svg path').getAttribute('d');
336
393
  var value = new Date();
337
394
 
338
- var _render14 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
395
+ var _render18 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
339
396
  value: value
340
397
  }))),
341
- container = _render14.container;
398
+ container = _render18.container;
342
399
 
343
400
  var clearButtonIconPathD = container.querySelectorAll('svg path')[0].getAttribute('d');
344
401
  expect(clearButtonIconPathD).toEqual(iconPathD);
@@ -346,10 +403,10 @@ describe('SelectDate', function () {
346
403
  it('renders the date in the correct format', function () {
347
404
  var value = new Date();
348
405
 
349
- var _render15 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
406
+ var _render19 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
350
407
  value: value
351
408
  }))),
352
- queryByLabelText = _render15.queryByLabelText;
409
+ queryByLabelText = _render19.queryByLabelText;
353
410
 
354
411
  expect(queryByLabelText(defaultProps.label)).toHaveTextContent(formatDate(value));
355
412
  });
@@ -357,13 +414,13 @@ describe('SelectDate', function () {
357
414
  var onChange = jest.fn();
358
415
  var value = new Date();
359
416
 
360
- var _render16 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
417
+ var _render20 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
361
418
  onChange: onChange,
362
419
  value: value
363
420
  }))),
364
- baseElement = _render16.baseElement,
365
- rerender = _render16.rerender,
366
- queryByLabelText = _render16.queryByLabelText;
421
+ baseElement = _render20.baseElement,
422
+ rerender = _render20.rerender,
423
+ queryByLabelText = _render20.queryByLabelText;
367
424
 
368
425
  _react2.fireEvent.click(queryByLabelText(defaultProps.label));
369
426
 
@@ -387,12 +444,12 @@ describe('SelectDate', function () {
387
444
  var onChange = jest.fn();
388
445
  var value = new Date();
389
446
 
390
- var _render17 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
447
+ var _render21 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
391
448
  onChange: onChange,
392
449
  value: value
393
450
  }))),
394
- baseElement = _render17.baseElement,
395
- queryByLabelText = _render17.queryByLabelText;
451
+ baseElement = _render21.baseElement,
452
+ queryByLabelText = _render21.queryByLabelText;
396
453
 
397
454
  _react2.fireEvent.click(queryByLabelText(defaultProps.label));
398
455
 
@@ -407,10 +464,10 @@ describe('SelectDate', function () {
407
464
  it('initializes with the default value', function () {
408
465
  var value = new Date();
409
466
 
410
- var _render18 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
467
+ var _render22 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
411
468
  defaultValue: value
412
469
  }))),
413
- queryByLabelText = _render18.queryByLabelText;
470
+ queryByLabelText = _render22.queryByLabelText;
414
471
 
415
472
  expect(queryByLabelText(defaultProps.label)).toHaveTextContent(formatDate(value));
416
473
  });
@@ -418,12 +475,12 @@ describe('SelectDate', function () {
418
475
  var onChange = jest.fn();
419
476
  var value = new Date();
420
477
 
421
- var _render19 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
478
+ var _render23 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
422
479
  onChange: onChange,
423
480
  defaultValue: value
424
481
  }))),
425
- baseElement = _render19.baseElement,
426
- queryByLabelText = _render19.queryByLabelText;
482
+ baseElement = _render23.baseElement,
483
+ queryByLabelText = _render23.queryByLabelText;
427
484
 
428
485
  _react2.fireEvent.click(queryByLabelText(defaultProps.label));
429
486
 
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDate/schema.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,KAAsC,CAAC;AA8BnD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDate/schema.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,KAAsC,CAAC;AAoCnD,eAAe,MAAM,CAAC"}
@@ -26,6 +26,8 @@ schema.propTypes = _objectSpread({}, (0, _omit.default)(_InputField.schema.makeP
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.instanceOf(Date).description('The date should be selected by default.'),
28
28
  onChange: _reactDesc.PropTypes.func.description('Called with either the selected date or `undefined`'),
29
+ onHide: _reactDesc.PropTypes.func.description('A callback which is triggered when the popover is closed'),
30
+ onShow: _reactDesc.PropTypes.func.description('A callback which is triggered when the popover is opened'),
29
31
  value: _reactDesc.PropTypes.instanceOf(Date).description('The Date that is selected. If provided, controlling the SelectDate must be handled externally. Overrides `defaultValue`.'),
30
32
  disabledDateRules: _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.array).description('An array of rules to disable dates. Every rule is an array itself containing the type of rule as first element followed by needed params to apply the rule'),
31
33
  zIndex: _reactDesc.PropTypes.number.description('Sets the z-index style property of the options list')
@@ -17,6 +17,8 @@ export interface BaseSelectDateProps extends Omit<ButtonHTMLAttributes<TSelectDa
17
17
  onClick?: MouseEventHandler;
18
18
  onFocus?: FocusEventHandler;
19
19
  onKeyDown?: KeyboardEventHandler;
20
+ onShow?: () => void;
21
+ onHide?: () => void;
20
22
  disabledDateRules?: TDisabledDateRule[];
21
23
  zIndex?: PopoverProps['zIndex'];
22
24
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDate/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,GAAG,EACJ,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,oBAAY,cAAc,GAAG,iBAAiB,CAAC;AAE/C,MAAM,WAAW,sBACf,SAAQ,oBAAoB,CAAC,cAAc,CAAC,EAC1C,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,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CACR,oBAAoB,CAAC,cAAc,CAAC,EACpC,cAAc,GAAG,UAAU,GAAG,OAAO,CACtC,EACD,IAAI,CACF,mBAAmB,EACjB,UAAU,GACV,cAAc,GACd,WAAW,GACX,UAAU,GACV,oBAAoB,GACpB,OAAO,CACV;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,oBAAY,gBAAgB,GAAG,mBAAmB,GAAG;IACnD,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,oBAAY,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDate/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,GAAG,EACJ,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,oBAAY,cAAc,GAAG,iBAAiB,CAAC;AAE/C,MAAM,WAAW,sBACf,SAAQ,oBAAoB,CAAC,cAAc,CAAC,EAC1C,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,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CACR,oBAAoB,CAAC,cAAc,CAAC,EACpC,cAAc,GAAG,UAAU,GAAG,OAAO,CACtC,EACD,IAAI,CACF,mBAAmB,EACjB,UAAU,GACV,cAAc,GACd,WAAW,GACX,UAAU,GACV,oBAAoB,GACpB,OAAO,CACV;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,oBAAY,gBAAgB,GAAG,mBAAmB,GAAG;IACnD,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,oBAAY,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC"}
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDateRange/index.tsx"],"names":[],"mappings":"AAGA,OAAc,EAEZ,sBAAsB,EAMvB,MAAM,OAAO,CAAC;AAwBf,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAQ,MAAM,SAAS,CAAC;AAI3E,OAAO,EACL,SAAS,EACT,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AA4SxC,QAAA,MAAM,sBAAsB,EAAE,sBAAsB,CAClD,mBAAmB,EACnB,qBAAqB,CACQ,CAAC;AAKhC,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SelectDateRange/index.tsx"],"names":[],"mappings":"AAKA,OAAc,EAEZ,sBAAsB,EAMvB,MAAM,OAAO,CAAC;AAyBf,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAQ,MAAM,SAAS,CAAC;AAI3E,OAAO,EACL,SAAS,EACT,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AA0TxC,QAAA,MAAM,sBAAsB,EAAE,sBAAsB,CAClD,mBAAmB,EACnB,qBAAqB,CACQ,CAAC;AAQhC,eAAe,sBAAsB,CAAC"}
@@ -23,6 +23,8 @@ var _get = _interopRequireDefault(require("lodash/get"));
23
23
 
24
24
  var _omit = _interopRequireDefault(require("lodash/omit"));
25
25
 
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
26
28
  var _react = _interopRequireWildcard(require("react"));
27
29
 
28
30
  var _breakpointObserver = require("@decisiv/breakpoint-observer");
@@ -45,6 +47,8 @@ var _useTranslations = _interopRequireDefault(require("../../utils/useTranslatio
45
47
 
46
48
  var _useUniqueId = _interopRequireDefault(require("../../utils/useUniqueId"));
47
49
 
50
+ var _useUpdateEffect = _interopRequireDefault(require("../../utils/useUpdateEffect"));
51
+
48
52
  var _Calendar = _interopRequireWildcard(require("../../atoms/Calendar"));
49
53
 
50
54
  var _InputField = _interopRequireDefault(require("../../atoms/InputField"));
@@ -67,6 +71,12 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
67
71
 
68
72
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
69
73
 
74
+ 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; }
75
+
76
+ 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; }
77
+
78
+ 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; }
79
+
70
80
  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); }
71
81
 
72
82
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
@@ -104,6 +114,8 @@ function SelectDateRange(props, ref) {
104
114
  onRangeChange = props.onRangeChange,
105
115
  onClick = props.onClick,
106
116
  onKeyDown = props.onKeyDown,
117
+ onShow = props.onShow,
118
+ onHide = props.onHide,
107
119
  propValue = props.values,
108
120
  propRange = props.range,
109
121
  disabledDateRules = props.disabledDateRules,
@@ -247,6 +259,19 @@ function SelectDateRange(props, ref) {
247
259
  }, [closePopover]);
248
260
  (0, _useClickOutside.default)([popoverContentRef], handleClickOutsidePopover);
249
261
  var inputContainerRefs = (0, _compact.default)([inputContainerRef, popoverTargetRef]);
262
+ /**
263
+ * Triggers onShow/onHide callbacks representing wether the Popover is open or not.
264
+ */
265
+
266
+ (0, _useUpdateEffect.default)(function () {
267
+ if (isPopoverVisible) {
268
+ onShow && onShow();
269
+ }
270
+
271
+ if (!isPopoverVisible) {
272
+ onHide && onHide();
273
+ }
274
+ }, [isPopoverVisible, onShow, onHide]);
250
275
  return _react.default.createElement(_InputField.default, _extends({}, (0, _omit.default)(props, ['onChange']), {
251
276
  "aria-live": "assertive",
252
277
  cursor: "default",
@@ -327,7 +352,9 @@ function SelectDateRange(props, ref) {
327
352
  }
328
353
 
329
354
  var SelectDateRangeWithRef = (0, _react.forwardRef)(SelectDateRange);
330
- SelectDateRangeWithRef.propTypes = _schema.default.propTypes;
355
+ SelectDateRangeWithRef.propTypes = _objectSpread({}, _schema.default.propTypes, {
356
+ icon: _propTypes.default.elementType
357
+ });
331
358
  SelectDateRangeWithRef.displayName = 'SelectDateRange';
332
359
  var _default = SelectDateRangeWithRef;
333
360
  exports.default = _default;