@onewelcome/react-lib-components 0.2.6 → 1.0.0

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 (299) hide show
  1. package/LICENSE +202 -21
  2. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -2
  3. package/dist/Button/BaseButton.d.ts +1 -1
  4. package/dist/Button/Button.d.ts +1 -1
  5. package/dist/Button/IconButton.d.ts +1 -1
  6. package/dist/ContextMenu/ContextMenu.d.ts +1 -1
  7. package/dist/ContextMenu/ContextMenuItem.d.ts +1 -1
  8. package/dist/DataGrid/DataGridActions/DataGridActions.d.ts +1 -1
  9. package/dist/DataGrid/DataGridActions/DataGridColumnsToggle.d.ts +1 -1
  10. package/dist/DataGrid/DataGridBody/DataGridCell.d.ts +1 -1
  11. package/dist/DataGrid/DataGridBody/DataGridRow.d.ts +1 -1
  12. package/dist/DataGrid/DataGridHeader/DataGridHeader.d.ts +1 -1
  13. package/dist/DataGrid/DataGridHeader/DataGridHeaderCell.d.ts +1 -1
  14. package/dist/Form/Checkbox/Checkbox.d.ts +1 -1
  15. package/dist/Form/Fieldset/Fieldset.d.ts +1 -1
  16. package/dist/Form/FormControl/FormControl.d.ts +1 -1
  17. package/dist/Form/FormGroup/FormGroup.d.ts +1 -1
  18. package/dist/Form/FormHelperText/FormHelperText.d.ts +1 -1
  19. package/dist/Form/FormSelectorWrapper/FormSelectorWrapper.d.ts +1 -1
  20. package/dist/Form/Input/Input.d.ts +2 -3
  21. package/dist/Form/Label/Label.d.ts +1 -1
  22. package/dist/Form/Radio/Radio.d.ts +1 -1
  23. package/dist/Form/Select/Option.d.ts +1 -1
  24. package/dist/Form/Select/Select.d.ts +1 -2
  25. package/dist/Form/Select/Select.interfaces.d.ts +22 -0
  26. package/dist/Form/Select/SelectService.d.ts +12 -0
  27. package/dist/Form/Textarea/Textarea.d.ts +1 -1
  28. package/dist/Form/Toggle/Toggle.d.ts +1 -1
  29. package/dist/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.d.ts +1 -1
  30. package/dist/Form/Wrapper/InputWrapper/InputWrapper.d.ts +1 -1
  31. package/dist/Form/Wrapper/RadioWrapper/RadioWrapper.d.ts +1 -1
  32. package/dist/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +1 -2
  33. package/dist/Form/Wrapper/TextareaWrapper/TextareaWrapper.d.ts +1 -1
  34. package/dist/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -1
  35. package/dist/Icon/Icon.d.ts +1 -1
  36. package/dist/Link/Link.d.ts +3 -4
  37. package/dist/Notifications/BaseModal/BaseModal.d.ts +1 -1
  38. package/dist/Notifications/BaseModal/BaseModalActions/BaseModalActions.d.ts +2 -2
  39. package/dist/Notifications/BaseModal/BaseModalContent/BaseModalContent.d.ts +1 -1
  40. package/dist/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.d.ts +2 -2
  41. package/dist/Notifications/Dialog/Dialog.d.ts +1 -1
  42. package/dist/Notifications/Dialog/DialogActions/DialogActions.d.ts +1 -1
  43. package/dist/Notifications/Dialog/DialogTitle/DialogTitle.d.ts +1 -1
  44. package/dist/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.d.ts +1 -1
  45. package/dist/Notifications/SlideInModal/SlideInModal.d.ts +1 -1
  46. package/dist/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +11 -0
  47. package/dist/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +3 -0
  48. package/dist/Notifications/Snackbar/useSnackbar.d.ts +5 -1
  49. package/dist/Pagination/Pagination.d.ts +1 -1
  50. package/dist/Popover/Popover.d.ts +1 -1
  51. package/dist/Skeleton/Skeleton.d.ts +1 -1
  52. package/dist/StatusIndicator/StatusIndicator.d.ts +1 -1
  53. package/dist/Tabs/TabButton.d.ts +1 -1
  54. package/dist/Tabs/TabPanel.d.ts +1 -1
  55. package/dist/TextEllipsis/TextEllipsis.d.ts +1 -1
  56. package/dist/Tiles/Tile.d.ts +1 -1
  57. package/dist/Tiles/Tiles.d.ts +1 -1
  58. package/dist/Tooltip/Tooltip.d.ts +1 -1
  59. package/dist/Wizard/BaseWizardSteps/BaseWizardSteps.d.ts +1 -2
  60. package/dist/Wizard/Wizard.d.ts +0 -1
  61. package/dist/Wizard/WizardSteps/WizardSteps.d.ts +1 -1
  62. package/dist/Wizard/wizardStateReducer.d.ts +1 -3
  63. package/dist/_BaseStyling_/BaseStyling.d.ts +10 -4
  64. package/dist/react-lib-components.cjs.development.js +1171 -1565
  65. package/dist/react-lib-components.cjs.development.js.map +1 -1
  66. package/dist/react-lib-components.cjs.production.min.js +1 -1
  67. package/dist/react-lib-components.cjs.production.min.js.map +1 -1
  68. package/dist/react-lib-components.esm.js +1171 -1565
  69. package/dist/react-lib-components.esm.js.map +1 -1
  70. package/package.json +31 -24
  71. package/src/Breadcrumbs/Breadcrumbs.module.scss +16 -0
  72. package/src/Breadcrumbs/Breadcrumbs.test.tsx +17 -1
  73. package/src/Breadcrumbs/Breadcrumbs.tsx +18 -2
  74. package/src/Button/BaseButton.module.scss +16 -0
  75. package/src/Button/BaseButton.test.tsx +16 -0
  76. package/src/Button/BaseButton.tsx +16 -0
  77. package/src/Button/Button.module.scss +16 -0
  78. package/src/Button/Button.test.tsx +16 -0
  79. package/src/Button/Button.tsx +16 -0
  80. package/src/Button/IconButton.module.scss +16 -0
  81. package/src/Button/IconButton.test.tsx +16 -0
  82. package/src/Button/IconButton.tsx +16 -0
  83. package/src/ContextMenu/ContextMenu.module.scss +16 -0
  84. package/src/ContextMenu/ContextMenu.test.tsx +16 -0
  85. package/src/ContextMenu/ContextMenu.tsx +16 -0
  86. package/src/ContextMenu/ContextMenuItem.module.scss +16 -0
  87. package/src/ContextMenu/ContextMenuItem.tsx +16 -0
  88. package/src/DataGrid/DataGrid.module.scss +16 -0
  89. package/src/DataGrid/DataGrid.test.tsx +16 -0
  90. package/src/DataGrid/DataGrid.tsx +16 -0
  91. package/src/DataGrid/DataGridActions/DataGridActions.module.scss +16 -0
  92. package/src/DataGrid/DataGridActions/DataGridActions.test.tsx +16 -0
  93. package/src/DataGrid/DataGridActions/DataGridActions.tsx +16 -0
  94. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss +16 -0
  95. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.test.tsx +16 -0
  96. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.tsx +16 -0
  97. package/src/DataGrid/DataGridBody/DataGridBody.module.scss +16 -0
  98. package/src/DataGrid/DataGridBody/DataGridBody.test.tsx +16 -0
  99. package/src/DataGrid/DataGridBody/DataGridBody.tsx +16 -0
  100. package/src/DataGrid/DataGridBody/DataGridCell.module.scss +16 -0
  101. package/src/DataGrid/DataGridBody/DataGridCell.test.tsx +16 -0
  102. package/src/DataGrid/DataGridBody/DataGridCell.tsx +16 -0
  103. package/src/DataGrid/DataGridBody/DataGridRow.module.scss +16 -0
  104. package/src/DataGrid/DataGridBody/DataGridRow.test.tsx +16 -0
  105. package/src/DataGrid/DataGridBody/DataGridRow.tsx +16 -0
  106. package/src/DataGrid/DataGridHeader/DataGridHeader.module.scss +17 -1
  107. package/src/DataGrid/DataGridHeader/DataGridHeader.test.tsx +16 -0
  108. package/src/DataGrid/DataGridHeader/DataGridHeader.tsx +16 -0
  109. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss +16 -0
  110. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.test.tsx +16 -0
  111. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.tsx +16 -0
  112. package/src/DataGrid/datagrid.interfaces.ts +16 -0
  113. package/src/Form/Checkbox/Checkbox.module.scss +20 -6
  114. package/src/Form/Checkbox/Checkbox.test.tsx +16 -0
  115. package/src/Form/Checkbox/Checkbox.tsx +16 -0
  116. package/src/Form/Fieldset/Fieldset.module.scss +16 -0
  117. package/src/Form/Fieldset/Fieldset.test.tsx +16 -0
  118. package/src/Form/Fieldset/Fieldset.tsx +21 -3
  119. package/src/Form/Form.module.scss +16 -0
  120. package/src/Form/Form.test.tsx +16 -0
  121. package/src/Form/Form.tsx +16 -0
  122. package/src/Form/FormControl/FormControl.module.scss +16 -0
  123. package/src/Form/FormControl/FormControl.test.tsx +16 -0
  124. package/src/Form/FormControl/FormControl.tsx +16 -0
  125. package/src/Form/FormGroup/FormGroup.module.scss +16 -0
  126. package/src/Form/FormGroup/FormGroup.test.tsx +16 -0
  127. package/src/Form/FormGroup/FormGroup.tsx +17 -1
  128. package/src/Form/FormHelperText/FormHelperText.module.scss +16 -0
  129. package/src/Form/FormHelperText/FormHelperText.test.tsx +16 -0
  130. package/src/Form/FormHelperText/FormHelperText.tsx +16 -0
  131. package/src/Form/FormSelectorWrapper/FormSelectorWrapper.module.scss +16 -0
  132. package/src/Form/FormSelectorWrapper/FormSelectorWrapper.test.tsx +16 -0
  133. package/src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx +16 -0
  134. package/src/Form/Input/Input.module.scss +65 -5
  135. package/src/Form/Input/Input.test.tsx +16 -0
  136. package/src/Form/Input/Input.tsx +19 -57
  137. package/src/Form/Label/Label.module.scss +16 -0
  138. package/src/Form/Label/Label.test.tsx +16 -0
  139. package/src/Form/Label/Label.tsx +16 -0
  140. package/src/Form/Radio/Radio.module.scss +20 -6
  141. package/src/Form/Radio/Radio.test.tsx +16 -0
  142. package/src/Form/Radio/Radio.tsx +16 -0
  143. package/src/Form/Select/Option.test.tsx +16 -0
  144. package/src/Form/Select/Option.tsx +16 -0
  145. package/src/Form/Select/Select.interfaces.ts +39 -0
  146. package/src/Form/Select/Select.module.scss +28 -13
  147. package/src/Form/Select/Select.test.tsx +16 -57
  148. package/src/Form/Select/Select.tsx +36 -190
  149. package/src/Form/Select/SelectService.ts +204 -0
  150. package/src/Form/Textarea/Textarea.module.scss +16 -0
  151. package/src/Form/Textarea/Textarea.test.tsx +16 -0
  152. package/src/Form/Textarea/Textarea.tsx +16 -0
  153. package/src/Form/Toggle/Toggle.module.scss +17 -1
  154. package/src/Form/Toggle/Toggle.test.tsx +16 -0
  155. package/src/Form/Toggle/Toggle.tsx +16 -0
  156. package/src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.module.scss +16 -0
  157. package/src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.test.tsx +16 -0
  158. package/src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx +16 -0
  159. package/src/Form/Wrapper/InputWrapper/InputWrapper.module.scss +45 -14
  160. package/src/Form/Wrapper/InputWrapper/InputWrapper.test.tsx +36 -0
  161. package/src/Form/Wrapper/InputWrapper/InputWrapper.tsx +26 -4
  162. package/src/Form/Wrapper/RadioWrapper/RadioWrapper.module.scss +16 -0
  163. package/src/Form/Wrapper/RadioWrapper/RadioWrapper.test.tsx +16 -0
  164. package/src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx +16 -0
  165. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss +16 -0
  166. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.test.tsx +17 -19
  167. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.tsx +17 -15
  168. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss +41 -33
  169. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.test.tsx +16 -0
  170. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx +23 -7
  171. package/src/Form/Wrapper/Wrapper/Wrapper.module.scss +38 -18
  172. package/src/Form/Wrapper/Wrapper/Wrapper.test.tsx +16 -0
  173. package/src/Form/Wrapper/Wrapper/Wrapper.tsx +18 -1
  174. package/src/Form/form.interfaces.ts +16 -0
  175. package/src/Icon/Icon.module.scss +16 -0
  176. package/src/Icon/Icon.test.tsx +16 -0
  177. package/src/Icon/Icon.tsx +16 -0
  178. package/src/Link/Link.module.scss +21 -5
  179. package/src/Link/Link.test.tsx +16 -0
  180. package/src/Link/Link.tsx +18 -8
  181. package/src/Notifications/BaseModal/BaseModal.module.scss +16 -0
  182. package/src/Notifications/BaseModal/BaseModal.test.tsx +16 -0
  183. package/src/Notifications/BaseModal/BaseModal.tsx +16 -0
  184. package/src/Notifications/BaseModal/BaseModalActions/BaseModalActions.module.scss +16 -0
  185. package/src/Notifications/BaseModal/BaseModalActions/BaseModalActions.test.tsx +16 -0
  186. package/src/Notifications/BaseModal/BaseModalActions/BaseModalActions.tsx +20 -4
  187. package/src/Notifications/BaseModal/BaseModalContent/BaseModalContent.module.scss +16 -0
  188. package/src/Notifications/BaseModal/BaseModalContent/BaseModalContent.test.tsx +16 -0
  189. package/src/Notifications/BaseModal/BaseModalContent/BaseModalContent.tsx +16 -0
  190. package/src/Notifications/BaseModal/BaseModalContext.ts +16 -0
  191. package/src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.module.scss +16 -0
  192. package/src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.test.tsx +16 -0
  193. package/src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.tsx +17 -1
  194. package/src/Notifications/Dialog/Dialog.module.scss +16 -0
  195. package/src/Notifications/Dialog/Dialog.test.tsx +18 -2
  196. package/src/Notifications/Dialog/Dialog.tsx +16 -0
  197. package/src/Notifications/Dialog/DialogActions/DialogActions.module.scss +16 -0
  198. package/src/Notifications/Dialog/DialogActions/DialogActions.test.tsx +16 -0
  199. package/src/Notifications/Dialog/DialogActions/DialogActions.tsx +17 -1
  200. package/src/Notifications/Dialog/DialogTitle/DialogTitle.module.scss +16 -0
  201. package/src/Notifications/Dialog/DialogTitle/DialogTitle.test.tsx +16 -0
  202. package/src/Notifications/Dialog/DialogTitle/DialogTitle.tsx +16 -0
  203. package/src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.test.tsx +16 -0
  204. package/src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.tsx +16 -0
  205. package/src/Notifications/DiscardChangesModal/DiscardChangesModal.test.tsx +16 -0
  206. package/src/Notifications/DiscardChangesModal/DiscardChangesModal.tsx +16 -0
  207. package/src/Notifications/Modal/Modal.tsx +16 -0
  208. package/src/Notifications/Modal/ModalActions/ModalActions.tsx +16 -0
  209. package/src/Notifications/Modal/ModalContent/ModalContent.tsx +16 -0
  210. package/src/Notifications/Modal/ModalHeader/ModalHeader.tsx +16 -0
  211. package/src/Notifications/SlideInModal/SlideInModal.module.scss +16 -0
  212. package/src/Notifications/SlideInModal/SlideInModal.test.tsx +16 -0
  213. package/src/Notifications/SlideInModal/SlideInModal.tsx +16 -0
  214. package/src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.module.scss +19 -0
  215. package/src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.test.tsx +16 -0
  216. package/src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx +57 -2
  217. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.scss +18 -0
  218. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.test.tsx +16 -0
  219. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx +34 -1
  220. package/src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.test.tsx +18 -2
  221. package/src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx +38 -2
  222. package/src/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx +22 -1
  223. package/src/Notifications/Snackbar/interfaces.ts +16 -0
  224. package/src/Notifications/Snackbar/useSnackbar.ts +25 -1
  225. package/src/Pagination/Pagination.module.scss +17 -1
  226. package/src/Pagination/Pagination.test.tsx +17 -1
  227. package/src/Pagination/Pagination.tsx +16 -0
  228. package/src/Popover/Popover.module.scss +17 -1
  229. package/src/Popover/Popover.test.tsx +16 -0
  230. package/src/Popover/Popover.tsx +22 -0
  231. package/src/Skeleton/Skeleton.module.scss +16 -0
  232. package/src/Skeleton/Skeleton.test.tsx +17 -1
  233. package/src/Skeleton/Skeleton.tsx +16 -0
  234. package/src/StatusIndicator/StatusIndicator.module.scss +16 -0
  235. package/src/StatusIndicator/StatusIndicator.test.tsx +16 -0
  236. package/src/StatusIndicator/StatusIndicator.tsx +16 -0
  237. package/src/Tabs/Tab.test.tsx +16 -0
  238. package/src/Tabs/Tab.tsx +16 -0
  239. package/src/Tabs/TabButton.module.scss +20 -0
  240. package/src/Tabs/TabButton.test.tsx +16 -0
  241. package/src/Tabs/TabButton.tsx +16 -0
  242. package/src/Tabs/TabPanel.module.scss +20 -0
  243. package/src/Tabs/TabPanel.test.tsx +16 -0
  244. package/src/Tabs/TabPanel.tsx +16 -0
  245. package/src/Tabs/Tabs.module.scss +18 -2
  246. package/src/Tabs/Tabs.test.tsx +16 -0
  247. package/src/Tabs/Tabs.tsx +17 -1
  248. package/src/TextEllipsis/TextEllipsis.module.scss +16 -0
  249. package/src/TextEllipsis/TextEllipsis.test.tsx +16 -0
  250. package/src/TextEllipsis/TextEllipsis.tsx +16 -0
  251. package/src/Tiles/Tile.module.scss +18 -2
  252. package/src/Tiles/Tile.test.tsx +16 -0
  253. package/src/Tiles/Tile.tsx +16 -0
  254. package/src/Tiles/Tiles.module.scss +16 -0
  255. package/src/Tiles/Tiles.test.tsx +16 -0
  256. package/src/Tiles/Tiles.tsx +16 -0
  257. package/src/Tooltip/Tooltip.module.scss +17 -1
  258. package/src/Tooltip/Tooltip.test.tsx +26 -0
  259. package/src/Tooltip/Tooltip.tsx +18 -1
  260. package/src/Typography/Typography.module.scss +16 -0
  261. package/src/Typography/Typography.test.tsx +16 -0
  262. package/src/Typography/Typography.tsx +16 -0
  263. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.module.scss +19 -7
  264. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.test.tsx +16 -1
  265. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx +18 -19
  266. package/src/Wizard/Wizard.test.tsx +16 -1
  267. package/src/Wizard/Wizard.tsx +23 -8
  268. package/src/Wizard/WizardActions/WizardActions.test.tsx +16 -1
  269. package/src/Wizard/WizardActions/WizardActions.tsx +16 -0
  270. package/src/Wizard/WizardStateProvider.tsx +16 -0
  271. package/src/Wizard/WizardSteps/WizardSteps.test.tsx +16 -1
  272. package/src/Wizard/WizardSteps/WizardSteps.tsx +17 -2
  273. package/src/Wizard/wizardStateReducer.ts +18 -8
  274. package/src/_BaseStyling_/BaseStyling.test.tsx +16 -0
  275. package/src/_BaseStyling_/BaseStyling.tsx +41 -16
  276. package/src/hooks/useAnimation.test.tsx +16 -0
  277. package/src/hooks/useAnimation.ts +16 -0
  278. package/src/hooks/useBodyClick.test.tsx +16 -0
  279. package/src/hooks/useBodyClick.ts +16 -0
  280. package/src/hooks/useFormSelector.test.ts +16 -0
  281. package/src/hooks/useFormSelector.ts +16 -0
  282. package/src/hooks/usePosition.test.tsx +16 -0
  283. package/src/hooks/usePosition.ts +16 -0
  284. package/src/hooks/useRepeater.test.tsx +16 -0
  285. package/src/hooks/useRepeater.ts +16 -0
  286. package/src/hooks/useScroll.test.tsx +16 -0
  287. package/src/hooks/useScroll.ts +16 -0
  288. package/src/hooks/useSpacing.test.ts +16 -0
  289. package/src/hooks/useSpacing.ts +16 -0
  290. package/src/hooks/useWrapper.test.ts +16 -0
  291. package/src/hooks/useWrapper.ts +16 -0
  292. package/src/index.ts +16 -0
  293. package/src/interfaces.ts +16 -0
  294. package/src/mixins.module.scss +22 -7
  295. package/src/readyclasses.module.scss +16 -0
  296. package/src/types.d.ts +16 -0
  297. package/src/util/helper.test.tsx +16 -0
  298. package/src/util/helper.tsx +16 -0
  299. package/src/Link/types.d.ts +0 -9
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { ComponentPropsWithRef } from "react";
2
18
  import classes from "./BaseModalHeader.module.scss";
3
19
  import { IconButton } from "../../../Button/IconButton";
@@ -8,7 +24,7 @@ export interface Props extends ComponentPropsWithRef<"div"> {
8
24
  id: string;
9
25
  title: string;
10
26
  children?: React.ReactNode;
11
- onClose: (event: React.MouseEvent<HTMLButtonElement>) => void;
27
+ onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;
12
28
  }
13
29
 
14
30
  export const BaseModalHeader = React.forwardRef<HTMLDivElement, Props>(
@@ -1,3 +1,19 @@
1
+ /*!
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  .dialog {
2
18
  align-items: center;
3
19
  }
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { useEffect, useRef } from "react";
2
18
  import { Dialog, Props } from "./Dialog";
3
19
  import { render, getAllByRole } from "@testing-library/react";
@@ -29,7 +45,7 @@ describe("Dialog", () => {
29
45
 
30
46
  expect(getByText(initParams.title)).toBeDefined();
31
47
  expect(getByText(initParams.children as string)).toBeDefined();
32
- const actionsDiv = primaryButton.closest("footer");
48
+ const actionsDiv = primaryButton.closest("div");
33
49
  expect(actionsDiv).toHaveClass("left");
34
50
  expect(actionsDiv?.children[0]).toEqual(primaryButton);
35
51
  expect(actionsDiv?.children[1]).toEqual(secondaryButton);
@@ -41,7 +57,7 @@ describe("Dialog", () => {
41
57
  render(<Dialog {...initParams} alignActions="right" />);
42
58
  const [secondaryButton, primaryButton] = getButtons(document.body);
43
59
 
44
- const actionsDiv = primaryButton.closest("footer");
60
+ const actionsDiv = primaryButton.closest("div");
45
61
  expect(actionsDiv).not.toHaveClass("left");
46
62
  expect(actionsDiv?.children[0]).toEqual(secondaryButton);
47
63
  expect(actionsDiv?.children[1]).toEqual(primaryButton);
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { ComponentPropsWithRef, useState } from "react";
2
18
  import { BaseModal } from "../BaseModal/BaseModal";
3
19
  import { BaseModalContent } from "../BaseModal/BaseModalContent/BaseModalContent";
@@ -1,3 +1,19 @@
1
+ /*!
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  .actions {
2
18
  margin: 1.5rem 1.25rem 1.25rem;
3
19
 
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { useEffect, useRef } from "react";
2
18
  import { DialogActions, Props } from "./DialogActions";
3
19
  import { render } from "@testing-library/react";
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { ComponentPropsWithRef } from "react";
2
18
  import {
3
19
  BaseModalActions,
@@ -9,7 +25,7 @@ export interface Props extends ComponentPropsWithRef<any>, BaseModalActionsProps
9
25
  align: "left" | "right";
10
26
  }
11
27
 
12
- export const DialogActions = React.forwardRef<HTMLElement, Props>(
28
+ export const DialogActions = React.forwardRef<HTMLDivElement, Props>(
13
29
  ({ children, align, ...rest }: Props, ref) => {
14
30
  return (
15
31
  <BaseModalActions
@@ -1,3 +1,19 @@
1
+ /*!
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  .header {
2
18
  margin: 1.5rem 1.25rem 1.25rem;
3
19
  }
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { useEffect, useRef } from "react";
2
18
  import { DialogTitle, Props } from "./DialogTitle";
3
19
  import { render, getByText } from "@testing-library/react";
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { ComponentPropsWithRef } from "react";
2
18
  import { Typography } from "../../../Typography/Typography";
3
19
  import classes from "./DialogTitle.module.scss";
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { useEffect, useRef } from "react";
2
18
  import { DiscardChangesDialog, Props } from "./DiscardChangesDialog";
3
19
  import { render } from "@testing-library/react";
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { ComponentPropsWithRef } from "react";
2
18
  import { Dialog } from "../../Dialog/Dialog";
3
19
  import { Typography } from "../../../Typography/Typography";
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { useEffect, useRef } from "react";
2
18
  import { DiscardChangesModal, Props } from "./DiscardChangesModal";
3
19
  import { findByTestId, getAllByRole, render, waitFor } from "@testing-library/react";
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { Fragment, useState } from "react";
2
18
  import { Modal, Props as ModalProps } from "../Modal/Modal";
3
19
  import { ModalHeader, Props as ModalHeaderProps } from "../Modal/ModalHeader/ModalHeader";
@@ -1 +1,17 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  export { BaseModal as Modal, Props } from "../BaseModal/BaseModal";
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  export {
2
18
  BaseModalActions as ModalActions,
3
19
  Props
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  export {
2
18
  BaseModalContent as ModalContent,
3
19
  Props
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  export {
2
18
  BaseModalHeader as ModalHeader,
3
19
  Props
@@ -1,3 +1,19 @@
1
+ /*!
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  .slide-in-modal {
2
18
  justify-content: flex-end;
3
19
 
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { useEffect, useRef } from "react";
2
18
  import { SlideInModal } from "./SlideInModal";
3
19
  import { Props } from "../Modal/Modal";
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React, { TransitionEventHandler, useState, useRef } from "react";
2
18
  import { Props as ModalProps, Modal } from "../Modal/Modal";
3
19
  import classes from "./SlideInModal.module.scss";
@@ -1,7 +1,26 @@
1
+ /*!
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  .snackbars {
2
18
  position: fixed;
3
19
  z-index: 20;
4
20
  width: 100%;
21
+ transition: height 0.2s ease-in-out;
22
+ display: flex;
23
+ flex-direction: column;
5
24
 
6
25
  &.bottom {
7
26
  bottom: 3.5rem;
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React from "react";
2
18
  import { SnackbarContainer, Props } from "./SnackbarContainer";
3
19
  import { render } from "@testing-library/react";
@@ -1,5 +1,22 @@
1
- import React from "react";
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import React, { useContext, useEffect, useState } from "react";
2
18
  import classes from "./SnackbarContainer.module.scss";
19
+ import { SnackbarContext } from "../SnackbarProvider/SnackbarStateProvider";
3
20
 
4
21
  export interface Placement {
5
22
  vertical: "top" | "bottom";
@@ -13,11 +30,49 @@ export interface Props {
13
30
  className?: string;
14
31
  }
15
32
 
33
+ const useSnackbarContainerHeightAnimation = () => {
34
+ const { snackbars } = useContext(SnackbarContext);
35
+ const [height, setHeight] = useState(0);
36
+ const [justifyContent, setJustifyContent] = useState<"flex-start" | "flex-end">("flex-start");
37
+ const spaceBetweenSnackbars = 8;
38
+ const exceedsMaximumVisibleSnackbars = snackbars.length >= 3;
39
+
40
+ useEffect(() => {
41
+ const allHeights = snackbars.map(snackbar => snackbar.height);
42
+
43
+ let totalHeight = allHeights.reduce((prev, curr) => prev + curr, 0);
44
+
45
+ totalHeight += (Math.min(snackbars.length, 3) - 1) * spaceBetweenSnackbars;
46
+
47
+ /**
48
+ * Once we reach the maximum amount of snackbars, they will start to disappear. We have to wait with reversing the justify-content until the last snackbar
49
+ * has completed their animationIn. This is around 500ms. Then we want to reverse it, because otherwise whenever a snackbar disappears they shift up
50
+ * and then down again, which looks really bad.
51
+ * */
52
+ if (exceedsMaximumVisibleSnackbars)
53
+ setTimeout(() => {
54
+ setJustifyContent("flex-end");
55
+ }, 500);
56
+
57
+ if (height > totalHeight && justifyContent !== "flex-end") {
58
+ setJustifyContent("flex-end");
59
+ } else if (height < totalHeight && justifyContent !== "flex-start") {
60
+ setJustifyContent("flex-start");
61
+ }
62
+
63
+ setHeight(totalHeight);
64
+ }, [snackbars]);
65
+
66
+ return { height, justifyContent };
67
+ };
68
+
16
69
  export const SnackbarContainer = ({ placement, children, zIndex, className, ...rest }: Props) => {
70
+ const { height, justifyContent } = useSnackbarContainerHeightAnimation();
71
+
17
72
  return (
18
73
  <div
19
74
  {...rest}
20
- style={{ zIndex }}
75
+ style={{ zIndex, height, justifyContent }}
21
76
  className={`${classes["snackbars"]} ${classes[placement.horizontal]} ${
22
77
  classes[placement.vertical]
23
78
  } ${className ?? ""}`}
@@ -1,3 +1,19 @@
1
+ /*!
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  @import "../../../readyclasses.module.scss";
2
18
 
3
19
  .snackbar {
@@ -6,6 +22,8 @@
6
22
  display: flex;
7
23
  width: 100%;
8
24
  box-sizing: border-box;
25
+ transition: height 0.2s ease-in-out;
26
+ flex-grow: 0;
9
27
 
10
28
  &.info {
11
29
  background-color: var(--snackbar-info-background-color);
@@ -1,3 +1,19 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
1
17
  import React from "react";
2
18
  import { render, getByRole, waitFor } from "@testing-library/react";
3
19
  import { SnackbarItem, Props } from "./SnackbarItem";