@onewelcome/react-lib-components 6.7.0 → 7.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 (395) hide show
  1. package/README.md +6 -0
  2. package/dist/cjs/DataGrid/DataGrid.cjs.js +1 -1
  3. package/dist/cjs/DataGrid/DataGrid.cjs.js.map +1 -1
  4. package/dist/cjs/DataGrid/DataGridBody/DataGridBody.cjs.js +1 -1
  5. package/dist/cjs/DataGrid/DataGridBody/DataGridBody.cjs.js.map +1 -1
  6. package/dist/cjs/DataGrid/DataGridBody/DataGridCell/DataGridCell.cjs.js +2 -0
  7. package/dist/cjs/DataGrid/DataGridBody/DataGridCell/DataGridCell.cjs.js.map +1 -0
  8. package/dist/cjs/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.cjs.js +2 -0
  9. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.cjs.js +2 -0
  10. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.cjs.js.map +1 -0
  11. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.cjs.js +2 -0
  12. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.cjs.js.map +1 -0
  13. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.cjs.js +2 -0
  14. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.cjs.js.map +1 -0
  15. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.cjs.js +2 -0
  16. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.cjs.js.map +1 -0
  17. package/dist/cjs/DataGrid/DataGridBody/DataGridRow/DataGridRow.cjs.js +2 -0
  18. package/dist/cjs/DataGrid/DataGridBody/DataGridRow/DataGridRow.cjs.js.map +1 -0
  19. package/dist/cjs/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.cjs.js +2 -0
  20. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.cjs.js +2 -0
  21. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.cjs.js.map +1 -0
  22. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.module.cjs.js +2 -0
  23. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.module.cjs.js.map +1 -0
  24. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterPopover.cjs.js +2 -0
  25. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterPopover.cjs.js.map +1 -0
  26. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterService.cjs.js +2 -0
  27. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterService.cjs.js.map +1 -0
  28. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js +2 -0
  29. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js.map +1 -0
  30. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilters.interfaces.cjs.js +2 -0
  31. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilters.interfaces.cjs.js.map +1 -0
  32. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js +2 -0
  33. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js.map +1 -0
  34. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.module.cjs.js +2 -0
  35. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.module.cjs.js.map +1 -0
  36. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeader.cjs.js +1 -1
  37. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeader.cjs.js.map +1 -1
  38. package/dist/cjs/Form/FileUpload/FileItem/FileItem.cjs.js +1 -1
  39. package/dist/cjs/Form/FileUpload/FileItem/FileItem.cjs.js.map +1 -1
  40. package/dist/cjs/Form/FileUpload/FileUpload.cjs.js +1 -1
  41. package/dist/cjs/Form/FileUpload/FileUpload.cjs.js.map +1 -1
  42. package/dist/cjs/Form/FileUpload/FileUpload.module.cjs.js +1 -1
  43. package/dist/cjs/Form/Select/MultiSelect/MultiOption.cjs.js +1 -1
  44. package/dist/cjs/Form/Select/MultiSelect/MultiOption.cjs.js.map +1 -1
  45. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +1 -1
  46. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -1
  47. package/dist/cjs/Form/Select/MultiSelect/useSearch.cjs.js +1 -1
  48. package/dist/cjs/Form/Select/MultiSelect/useSearch.cjs.js.map +1 -1
  49. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +1 -1
  50. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -1
  51. package/dist/cjs/Form/Select/SingleSelect/useSearch.cjs.js +1 -1
  52. package/dist/cjs/Form/Select/SingleSelect/useSearch.cjs.js.map +1 -1
  53. package/dist/cjs/Icon/Icon.cjs.js +1 -1
  54. package/dist/cjs/Icon/Icon.cjs.js.map +1 -1
  55. package/dist/cjs/Icon/Icon.module.cjs.js +1 -1
  56. package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.cjs.js +1 -1
  57. package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.cjs.js.map +1 -1
  58. package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.module.cjs.js +1 -1
  59. package/dist/cjs/Notifications/NotificationProvider/NotificationContext.cjs.js +1 -1
  60. package/dist/cjs/Notifications/NotificationProvider/NotificationContext.cjs.js.map +1 -1
  61. package/dist/cjs/Pagination/Pagination.cjs.js +1 -1
  62. package/dist/cjs/Pagination/Pagination.cjs.js.map +1 -1
  63. package/dist/cjs/Popover/Popover.cjs.js +1 -1
  64. package/dist/cjs/Popover/Popover.cjs.js.map +1 -1
  65. package/dist/cjs/Tag/RemoveButton.module.cjs.js +1 -1
  66. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js +1 -1
  67. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js.map +1 -1
  68. package/dist/cjs/admin/layout/MicrofrontendContainer/MicrofrontendContainer.cjs.js +2 -0
  69. package/dist/cjs/admin/layout/MicrofrontendContainer/MicrofrontendContainer.cjs.js.map +1 -0
  70. package/dist/cjs/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.cjs.js +2 -0
  71. package/dist/cjs/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.cjs.js.map +1 -0
  72. package/dist/cjs/src/components/DataGrid/DataGrid.d.ts +6 -0
  73. package/dist/cjs/src/components/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.d.ts +5 -0
  74. package/dist/cjs/src/components/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.d.ts +6 -0
  75. package/dist/cjs/src/components/DataGrid/DataGridBody/{DataGridRow.d.ts → DataGridRow/DataGridRow.d.ts} +8 -1
  76. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilter.d.ts +15 -0
  77. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterPopover.d.ts +22 -0
  78. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterService.d.ts +15 -0
  79. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +12 -0
  80. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +57 -0
  81. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +13 -0
  82. package/dist/cjs/src/components/DataGrid/DataGridHeader/DataGridHeader.d.ts +1 -0
  83. package/dist/cjs/src/components/DataGrid/testUtils.d.ts +13 -0
  84. package/dist/cjs/src/components/Form/FileUpload/FileUpload.d.ts +2 -1
  85. package/dist/cjs/src/components/Form/Select/MultiSelect/MultiSelect.test.d.ts +2 -3
  86. package/dist/cjs/src/components/Form/Select/MultiSelect/useSearch.d.ts +2 -12
  87. package/dist/cjs/src/components/Form/Select/Select.interfaces.d.ts +1 -11
  88. package/dist/cjs/src/components/Form/Select/SingleSelect/Select.test.d.ts +2 -3
  89. package/dist/cjs/src/components/Form/Select/SingleSelect/useSearch.d.ts +2 -12
  90. package/dist/cjs/src/components/Form/Select/useSelectPositionList.d.ts +2 -2
  91. package/dist/cjs/src/components/Icon/Icon.d.ts +2 -1
  92. package/dist/cjs/src/components/_BaseStyling_/BaseStyling.d.ts +0 -26
  93. package/dist/cjs/src/hooks/useFullHeightCollapse.cjs.js +2 -0
  94. package/dist/cjs/src/hooks/useFullHeightCollapse.cjs.js.map +1 -0
  95. package/dist/cjs/src/hooks/useFullHeightCollapse.d.ts +4 -0
  96. package/dist/cjs/src/hooks/usePosition.cjs.js +1 -1
  97. package/dist/cjs/src/hooks/usePosition.cjs.js.map +1 -1
  98. package/dist/cjs/src/index.cjs.js +1 -1
  99. package/dist/cjs/src/index.d.ts +10 -21
  100. package/dist/esm/DataGrid/DataGrid.esm.js +1 -1
  101. package/dist/esm/DataGrid/DataGrid.esm.js.map +1 -1
  102. package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js +1 -1
  103. package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js.map +1 -1
  104. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js +2 -0
  105. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js.map +1 -0
  106. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.esm.js +2 -0
  107. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.esm.js +2 -0
  108. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.esm.js.map +1 -0
  109. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.esm.js +2 -0
  110. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.esm.js.map +1 -0
  111. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.esm.js +2 -0
  112. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.esm.js.map +1 -0
  113. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.esm.js +2 -0
  114. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.esm.js.map +1 -0
  115. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js +2 -0
  116. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js.map +1 -0
  117. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.esm.js +2 -0
  118. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js +2 -0
  119. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js.map +1 -0
  120. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.module.esm.js +2 -0
  121. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.module.esm.js.map +1 -0
  122. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js +2 -0
  123. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js.map +1 -0
  124. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterService.esm.js +2 -0
  125. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterService.esm.js.map +1 -0
  126. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +2 -0
  127. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -0
  128. package/dist/esm/DataGrid/DataGridFilters/DataGridFilters.interfaces.esm.js +2 -0
  129. package/dist/esm/DataGrid/DataGridFilters/DataGridFilters.interfaces.esm.js.map +1 -0
  130. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +2 -0
  131. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -0
  132. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.module.esm.js +2 -0
  133. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.module.esm.js.map +1 -0
  134. package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.esm.js +1 -1
  135. package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.esm.js.map +1 -1
  136. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js +1 -1
  137. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js.map +1 -1
  138. package/dist/esm/Form/FileUpload/FileUpload.esm.js +1 -1
  139. package/dist/esm/Form/FileUpload/FileUpload.esm.js.map +1 -1
  140. package/dist/esm/Form/FileUpload/FileUpload.module.esm.js +1 -1
  141. package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js +1 -1
  142. package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js.map +1 -1
  143. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +1 -1
  144. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
  145. package/dist/esm/Form/Select/MultiSelect/useSearch.esm.js +1 -1
  146. package/dist/esm/Form/Select/MultiSelect/useSearch.esm.js.map +1 -1
  147. package/dist/esm/Form/Select/SingleSelect/Select.esm.js +1 -1
  148. package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
  149. package/dist/esm/Form/Select/SingleSelect/useSearch.esm.js +1 -1
  150. package/dist/esm/Form/Select/SingleSelect/useSearch.esm.js.map +1 -1
  151. package/dist/esm/Icon/Icon.esm.js +1 -1
  152. package/dist/esm/Icon/Icon.esm.js.map +1 -1
  153. package/dist/esm/Icon/Icon.module.esm.js +1 -1
  154. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.esm.js +1 -1
  155. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.esm.js.map +1 -1
  156. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.module.esm.js +1 -1
  157. package/dist/esm/Notifications/NotificationProvider/NotificationContext.esm.js +1 -1
  158. package/dist/esm/Notifications/NotificationProvider/NotificationContext.esm.js.map +1 -1
  159. package/dist/esm/Pagination/Pagination.esm.js +1 -1
  160. package/dist/esm/Pagination/Pagination.esm.js.map +1 -1
  161. package/dist/esm/Popover/Popover.esm.js +1 -1
  162. package/dist/esm/Popover/Popover.esm.js.map +1 -1
  163. package/dist/esm/Tag/RemoveButton.module.esm.js +1 -1
  164. package/dist/esm/_BaseStyling_/BaseStyling.esm.js +1 -1
  165. package/dist/esm/_BaseStyling_/BaseStyling.esm.js.map +1 -1
  166. package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.esm.js +2 -0
  167. package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.esm.js.map +1 -0
  168. package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.esm.js +2 -0
  169. package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.esm.js.map +1 -0
  170. package/dist/esm/src/components/DataGrid/DataGrid.d.ts +6 -0
  171. package/dist/esm/src/components/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.d.ts +5 -0
  172. package/dist/esm/src/components/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.d.ts +6 -0
  173. package/dist/esm/src/components/DataGrid/DataGridBody/{DataGridRow.d.ts → DataGridRow/DataGridRow.d.ts} +8 -1
  174. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilter.d.ts +15 -0
  175. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterPopover.d.ts +22 -0
  176. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterService.d.ts +15 -0
  177. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +12 -0
  178. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +57 -0
  179. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +13 -0
  180. package/dist/esm/src/components/DataGrid/DataGridHeader/DataGridHeader.d.ts +1 -0
  181. package/dist/esm/src/components/DataGrid/testUtils.d.ts +13 -0
  182. package/dist/esm/src/components/Form/FileUpload/FileUpload.d.ts +2 -1
  183. package/dist/esm/src/components/Form/Select/MultiSelect/MultiSelect.test.d.ts +2 -3
  184. package/dist/esm/src/components/Form/Select/MultiSelect/useSearch.d.ts +2 -12
  185. package/dist/esm/src/components/Form/Select/Select.interfaces.d.ts +1 -11
  186. package/dist/esm/src/components/Form/Select/SingleSelect/Select.test.d.ts +2 -3
  187. package/dist/esm/src/components/Form/Select/SingleSelect/useSearch.d.ts +2 -12
  188. package/dist/esm/src/components/Form/Select/useSelectPositionList.d.ts +2 -2
  189. package/dist/esm/src/components/Icon/Icon.d.ts +2 -1
  190. package/dist/esm/src/components/_BaseStyling_/BaseStyling.d.ts +0 -26
  191. package/dist/esm/src/hooks/useFullHeightCollapse.d.ts +4 -0
  192. package/dist/esm/src/hooks/useFullHeightCollapse.esm.js +2 -0
  193. package/dist/esm/src/hooks/useFullHeightCollapse.esm.js.map +1 -0
  194. package/dist/esm/src/hooks/usePosition.esm.js +1 -1
  195. package/dist/esm/src/hooks/usePosition.esm.js.map +1 -1
  196. package/dist/esm/src/index.d.ts +10 -21
  197. package/dist/esm/src/index.esm.js +1 -1
  198. package/package.json +50 -49
  199. package/src/components/DataGrid/DataGrid.tsx +24 -10
  200. package/src/components/DataGrid/DataGridBody/DataGridBody.tsx +2 -2
  201. package/src/components/DataGrid/DataGridBody/{DataGridCell.module.scss → DataGridCell/DataGridCell.module.scss} +2 -2
  202. package/src/components/DataGrid/DataGridBody/{DataGridCell.tsx → DataGridCell/DataGridCell.tsx} +1 -1
  203. package/src/components/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.scss +60 -0
  204. package/src/components/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.tsx +39 -0
  205. package/src/components/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.scss +21 -0
  206. package/src/components/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.tsx +47 -0
  207. package/src/components/DataGrid/DataGridBody/{DataGridRow.module.scss → DataGridRow/DataGridRow.module.scss} +17 -1
  208. package/src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.tsx +122 -0
  209. package/src/components/DataGrid/DataGridBody/__snapshots__/DataGridBody.test.tsx.snap +4 -4
  210. package/src/components/DataGrid/DataGridFilters/DataGridFilter.module.scss +105 -0
  211. package/src/components/DataGrid/DataGridFilters/DataGridFilter.tsx +150 -0
  212. package/src/components/DataGrid/DataGridFilters/DataGridFilterPopover.tsx +181 -0
  213. package/src/components/DataGrid/DataGridFilters/DataGridFilterService.ts +97 -0
  214. package/src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx +91 -0
  215. package/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.ts +84 -0
  216. package/src/components/{Notifications/Snackbar/SnackbarContainer/SnackbarContainer.module.scss → DataGrid/DataGridFilters/DataGridToolbar.module.scss} +27 -34
  217. package/src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx +126 -0
  218. package/src/components/DataGrid/DataGridHeader/DataGridHeader.tsx +6 -1
  219. package/src/components/DataGrid/testUtils.ts +77 -0
  220. package/src/components/Form/FileUpload/FileItem/FileItem.tsx +5 -8
  221. package/src/components/Form/FileUpload/FileUpload.module.scss +9 -4
  222. package/src/components/Form/FileUpload/FileUpload.tsx +34 -15
  223. package/src/components/Form/Select/MultiSelect/MultiOption.tsx +4 -2
  224. package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +1 -5
  225. package/src/components/Form/Select/MultiSelect/useSearch.tsx +6 -16
  226. package/src/components/Form/Select/Select.interfaces.ts +1 -9
  227. package/src/components/Form/Select/SingleSelect/Select.tsx +1 -5
  228. package/src/components/Form/Select/SingleSelect/useSearch.tsx +6 -18
  229. package/src/components/Icon/Icon.module.scss +5 -0
  230. package/src/components/Icon/Icon.tsx +2 -1
  231. package/src/components/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss +12 -15
  232. package/src/components/Layout/FormPage/FormWithStepper/FormWithStepper.tsx +3 -5
  233. package/src/components/Notifications/NotificationProvider/NotificationContext.tsx +12 -16
  234. package/src/components/Pagination/Pagination.tsx +15 -6
  235. package/src/components/Popover/Popover.tsx +1 -1
  236. package/src/components/Tag/RemoveButton.module.scss +1 -0
  237. package/src/components/_BaseStyling_/BaseStyling.tsx +0 -36
  238. package/src/font/icomoon.eot +0 -0
  239. package/src/font/icomoon.svg +1 -0
  240. package/src/font/icomoon.ttf +0 -0
  241. package/src/font/icomoon.woff +0 -0
  242. package/src/font/selection.json +1 -1
  243. package/src/{components/Notifications/Snackbar/useSnackbar.ts → hooks/useFullHeightCollapse.ts} +12 -11
  244. package/src/hooks/usePosition.ts +3 -4
  245. package/src/index.ts +11 -25
  246. package/dist/cjs/DataGrid/DataGridBody/DataGridCell.cjs.js +0 -2
  247. package/dist/cjs/DataGrid/DataGridBody/DataGridCell.cjs.js.map +0 -1
  248. package/dist/cjs/DataGrid/DataGridBody/DataGridCell.module.cjs.js +0 -2
  249. package/dist/cjs/DataGrid/DataGridBody/DataGridRow.cjs.js +0 -2
  250. package/dist/cjs/DataGrid/DataGridBody/DataGridRow.cjs.js.map +0 -1
  251. package/dist/cjs/DataGrid/DataGridBody/DataGridRow.module.cjs.js +0 -2
  252. package/dist/cjs/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.cjs.js +0 -2
  253. package/dist/cjs/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.cjs.js.map +0 -1
  254. package/dist/cjs/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.module.cjs.js +0 -2
  255. package/dist/cjs/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.module.cjs.js.map +0 -1
  256. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.cjs.js +0 -2
  257. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.cjs.js.map +0 -1
  258. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.cjs.js +0 -2
  259. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.cjs.js.map +0 -1
  260. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.cjs.js +0 -2
  261. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.cjs.js.map +0 -1
  262. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.cjs.js +0 -2
  263. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.cjs.js.map +0 -1
  264. package/dist/cjs/Notifications/Snackbar/interfaces.cjs.js +0 -2
  265. package/dist/cjs/Notifications/Snackbar/interfaces.cjs.js.map +0 -1
  266. package/dist/cjs/Notifications/Snackbar/useSnackbar.cjs.js +0 -2
  267. package/dist/cjs/Notifications/Snackbar/useSnackbar.cjs.js.map +0 -1
  268. package/dist/cjs/StatusIndicator/StatusIndicator.cjs.js +0 -2
  269. package/dist/cjs/StatusIndicator/StatusIndicator.cjs.js.map +0 -1
  270. package/dist/cjs/StatusIndicator/StatusIndicator.module.cjs.js +0 -2
  271. package/dist/cjs/StatusIndicator/StatusIndicator.module.cjs.js.map +0 -1
  272. package/dist/cjs/Wizard/BaseWizardSteps/BaseWizardSteps.cjs.js +0 -2
  273. package/dist/cjs/Wizard/BaseWizardSteps/BaseWizardSteps.cjs.js.map +0 -1
  274. package/dist/cjs/Wizard/BaseWizardSteps/BaseWizardSteps.module.cjs.js +0 -2
  275. package/dist/cjs/Wizard/BaseWizardSteps/BaseWizardSteps.module.cjs.js.map +0 -1
  276. package/dist/cjs/Wizard/Wizard.cjs.js +0 -2
  277. package/dist/cjs/Wizard/Wizard.cjs.js.map +0 -1
  278. package/dist/cjs/Wizard/WizardActions/WizardActions.cjs.js +0 -2
  279. package/dist/cjs/Wizard/WizardActions/WizardActions.cjs.js.map +0 -1
  280. package/dist/cjs/Wizard/WizardStateProvider.cjs.js +0 -2
  281. package/dist/cjs/Wizard/WizardStateProvider.cjs.js.map +0 -1
  282. package/dist/cjs/Wizard/WizardSteps/WizardSteps.cjs.js +0 -2
  283. package/dist/cjs/Wizard/WizardSteps/WizardSteps.cjs.js.map +0 -1
  284. package/dist/cjs/Wizard/wizardStateReducer.cjs.js +0 -2
  285. package/dist/cjs/Wizard/wizardStateReducer.cjs.js.map +0 -1
  286. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.d.ts +0 -21
  287. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.d.ts +0 -20
  288. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +0 -39
  289. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +0 -27
  290. package/dist/cjs/src/components/Notifications/Snackbar/interfaces.d.ts +0 -36
  291. package/dist/cjs/src/components/Notifications/Snackbar/useSnackbar.d.ts +0 -9
  292. package/dist/cjs/src/components/StatusIndicator/StatusIndicator.d.ts +0 -9
  293. package/dist/cjs/src/components/Wizard/BaseWizardSteps/BaseWizardSteps.d.ts +0 -12
  294. package/dist/cjs/src/components/Wizard/Wizard.d.ts +0 -11
  295. package/dist/cjs/src/components/Wizard/WizardActions/WizardActions.d.ts +0 -25
  296. package/dist/cjs/src/components/Wizard/WizardStateProvider.d.ts +0 -15
  297. package/dist/cjs/src/components/Wizard/WizardSteps/WizardSteps.d.ts +0 -8
  298. package/dist/cjs/src/components/Wizard/WizardSteps/WizardSteps.test.d.ts +0 -1
  299. package/dist/cjs/src/components/Wizard/wizardStateReducer.d.ts +0 -24
  300. package/dist/esm/DataGrid/DataGridBody/DataGridCell.esm.js +0 -2
  301. package/dist/esm/DataGrid/DataGridBody/DataGridCell.esm.js.map +0 -1
  302. package/dist/esm/DataGrid/DataGridBody/DataGridCell.module.esm.js +0 -2
  303. package/dist/esm/DataGrid/DataGridBody/DataGridRow.esm.js +0 -2
  304. package/dist/esm/DataGrid/DataGridBody/DataGridRow.esm.js.map +0 -1
  305. package/dist/esm/DataGrid/DataGridBody/DataGridRow.module.esm.js +0 -2
  306. package/dist/esm/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.esm.js +0 -2
  307. package/dist/esm/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.esm.js.map +0 -1
  308. package/dist/esm/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.module.esm.js +0 -2
  309. package/dist/esm/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.module.esm.js.map +0 -1
  310. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.esm.js +0 -2
  311. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.esm.js.map +0 -1
  312. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.esm.js +0 -2
  313. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.esm.js.map +0 -1
  314. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.esm.js +0 -2
  315. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.esm.js.map +0 -1
  316. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.esm.js +0 -2
  317. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.esm.js.map +0 -1
  318. package/dist/esm/Notifications/Snackbar/interfaces.esm.js +0 -2
  319. package/dist/esm/Notifications/Snackbar/interfaces.esm.js.map +0 -1
  320. package/dist/esm/Notifications/Snackbar/useSnackbar.esm.js +0 -2
  321. package/dist/esm/Notifications/Snackbar/useSnackbar.esm.js.map +0 -1
  322. package/dist/esm/StatusIndicator/StatusIndicator.esm.js +0 -2
  323. package/dist/esm/StatusIndicator/StatusIndicator.esm.js.map +0 -1
  324. package/dist/esm/StatusIndicator/StatusIndicator.module.esm.js +0 -2
  325. package/dist/esm/StatusIndicator/StatusIndicator.module.esm.js.map +0 -1
  326. package/dist/esm/Wizard/BaseWizardSteps/BaseWizardSteps.esm.js +0 -2
  327. package/dist/esm/Wizard/BaseWizardSteps/BaseWizardSteps.esm.js.map +0 -1
  328. package/dist/esm/Wizard/BaseWizardSteps/BaseWizardSteps.module.esm.js +0 -2
  329. package/dist/esm/Wizard/BaseWizardSteps/BaseWizardSteps.module.esm.js.map +0 -1
  330. package/dist/esm/Wizard/Wizard.esm.js +0 -2
  331. package/dist/esm/Wizard/Wizard.esm.js.map +0 -1
  332. package/dist/esm/Wizard/WizardActions/WizardActions.esm.js +0 -2
  333. package/dist/esm/Wizard/WizardActions/WizardActions.esm.js.map +0 -1
  334. package/dist/esm/Wizard/WizardStateProvider.esm.js +0 -2
  335. package/dist/esm/Wizard/WizardStateProvider.esm.js.map +0 -1
  336. package/dist/esm/Wizard/WizardSteps/WizardSteps.esm.js +0 -2
  337. package/dist/esm/Wizard/WizardSteps/WizardSteps.esm.js.map +0 -1
  338. package/dist/esm/Wizard/wizardStateReducer.esm.js +0 -2
  339. package/dist/esm/Wizard/wizardStateReducer.esm.js.map +0 -1
  340. package/dist/esm/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.d.ts +0 -21
  341. package/dist/esm/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.test.d.ts +0 -1
  342. package/dist/esm/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.d.ts +0 -20
  343. package/dist/esm/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.test.d.ts +0 -1
  344. package/dist/esm/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +0 -39
  345. package/dist/esm/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.test.d.ts +0 -1
  346. package/dist/esm/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +0 -27
  347. package/dist/esm/src/components/Notifications/Snackbar/interfaces.d.ts +0 -36
  348. package/dist/esm/src/components/Notifications/Snackbar/useSnackbar.d.ts +0 -9
  349. package/dist/esm/src/components/Notifications/Snackbar/useSnackbar.test.d.ts +0 -1
  350. package/dist/esm/src/components/StatusIndicator/StatusIndicator.d.ts +0 -9
  351. package/dist/esm/src/components/StatusIndicator/StatusIndicator.test.d.ts +0 -1
  352. package/dist/esm/src/components/Wizard/BaseWizardSteps/BaseWizardSteps.d.ts +0 -12
  353. package/dist/esm/src/components/Wizard/BaseWizardSteps/BaseWizardSteps.test.d.ts +0 -1
  354. package/dist/esm/src/components/Wizard/Wizard.d.ts +0 -11
  355. package/dist/esm/src/components/Wizard/Wizard.test.d.ts +0 -1
  356. package/dist/esm/src/components/Wizard/WizardActions/WizardActions.d.ts +0 -25
  357. package/dist/esm/src/components/Wizard/WizardActions/WizardActions.test.d.ts +0 -1
  358. package/dist/esm/src/components/Wizard/WizardStateProvider.d.ts +0 -15
  359. package/dist/esm/src/components/Wizard/WizardSteps/WizardSteps.d.ts +0 -8
  360. package/dist/esm/src/components/Wizard/WizardSteps/WizardSteps.test.d.ts +0 -1
  361. package/dist/esm/src/components/Wizard/wizardStateReducer.d.ts +0 -24
  362. package/src/components/DataGrid/DataGridBody/DataGridRow.tsx +0 -58
  363. package/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx +0 -92
  364. package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.scss +0 -156
  365. package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx +0 -161
  366. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx +0 -219
  367. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx +0 -57
  368. package/src/components/Notifications/Snackbar/interfaces.ts +0 -62
  369. package/src/components/StatusIndicator/StatusIndicator.module.scss +0 -43
  370. package/src/components/StatusIndicator/StatusIndicator.tsx +0 -44
  371. package/src/components/Wizard/BaseWizardSteps/BaseWizardSteps.module.scss +0 -214
  372. package/src/components/Wizard/BaseWizardSteps/BaseWizardSteps.tsx +0 -93
  373. package/src/components/Wizard/Wizard.tsx +0 -67
  374. package/src/components/Wizard/WizardActions/WizardActions.tsx +0 -116
  375. package/src/components/Wizard/WizardStateProvider.tsx +0 -45
  376. package/src/components/Wizard/WizardSteps/WizardSteps.tsx +0 -54
  377. package/src/components/Wizard/wizardStateReducer.ts +0 -61
  378. /package/dist/cjs/DataGrid/DataGridBody/{DataGridCell.module.cjs.js.map → DataGridCell/DataGridCell.module.cjs.js.map} +0 -0
  379. /package/dist/cjs/DataGrid/DataGridBody/{DataGridRow.module.cjs.js.map → DataGridRow/DataGridRow.module.cjs.js.map} +0 -0
  380. /package/dist/cjs/src/components/DataGrid/DataGridBody/{DataGridCell.d.ts → DataGridCell/DataGridCell.d.ts} +0 -0
  381. /package/dist/cjs/src/components/DataGrid/DataGridBody/{DataGridCell.test.d.ts → DataGridCell/DataGridCell.test.d.ts} +0 -0
  382. /package/dist/cjs/src/components/DataGrid/DataGridBody/{DataGridRow.test.d.ts → DataGridDrawer/DataGridDrawerItem.test.d.ts} +0 -0
  383. /package/dist/{esm/src/components/DataGrid/DataGridBody → cjs/src/components/DataGrid/DataGridBody/DataGridRow}/DataGridRow.test.d.ts +0 -0
  384. /package/dist/cjs/src/components/{Notifications/Snackbar/SnackbarContainer/SnackbarContainer.test.d.ts → DataGrid/DataGridFilters/DataGridFilterTag.test.d.ts} +0 -0
  385. /package/dist/cjs/src/components/{Notifications/Snackbar/SnackbarItem/SnackbarItem.test.d.ts → DataGrid/DataGridFilters/DataGridToolbar.test.d.ts} +0 -0
  386. /package/dist/cjs/src/{components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.test.d.ts → hooks/useFullHeightCollapse.test.d.ts} +0 -0
  387. /package/dist/esm/DataGrid/DataGridBody/{DataGridCell.module.esm.js.map → DataGridCell/DataGridCell.module.esm.js.map} +0 -0
  388. /package/dist/esm/DataGrid/DataGridBody/{DataGridRow.module.esm.js.map → DataGridRow/DataGridRow.module.esm.js.map} +0 -0
  389. /package/dist/esm/src/components/DataGrid/DataGridBody/{DataGridCell.d.ts → DataGridCell/DataGridCell.d.ts} +0 -0
  390. /package/dist/esm/src/components/DataGrid/DataGridBody/{DataGridCell.test.d.ts → DataGridCell/DataGridCell.test.d.ts} +0 -0
  391. /package/dist/{cjs/src/components/Notifications/Snackbar/useSnackbar.test.d.ts → esm/src/components/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.test.d.ts} +0 -0
  392. /package/dist/{cjs/src/components/StatusIndicator/StatusIndicator.test.d.ts → esm/src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.test.d.ts} +0 -0
  393. /package/dist/{cjs/src/components/Wizard/BaseWizardSteps/BaseWizardSteps.test.d.ts → esm/src/components/DataGrid/DataGridFilters/DataGridFilterTag.test.d.ts} +0 -0
  394. /package/dist/{cjs/src/components/Wizard/Wizard.test.d.ts → esm/src/components/DataGrid/DataGridFilters/DataGridToolbar.test.d.ts} +0 -0
  395. /package/dist/{cjs/src/components/Wizard/WizardActions/WizardActions.test.d.ts → esm/src/hooks/useFullHeightCollapse.test.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- /*!
1
+ /*
2
2
  * Copyright 2022 OneWelcome B.V.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,44 +13,37 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- @use "../../../../mixins.module.scss";
17
- @use "../../../../variables.scss";
18
16
 
19
- .snackbars {
20
- position: fixed;
21
- z-index: variables.$snackbar-z-index;
22
- width: 100%;
23
- display: flex;
24
- flex-direction: column;
25
- @include mixins.transition(height, 0.2s, ease-in-out);
26
-
27
- &.bottom {
28
- bottom: 3.5rem;
29
- }
17
+ @use "../../../mixins.module.scss";
30
18
 
31
- &.top {
32
- top: 3.5rem;
33
- }
34
-
35
- &.start {
36
- left: 0;
37
- }
38
-
39
- &.center {
40
- left: 0;
41
- }
19
+ .toolbar {
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: flex-start;
23
+ flex-wrap: wrap;
24
+ gap: 0.5rem;
25
+ width: 100%;
26
+ padding-bottom: 1rem;
42
27
 
43
- &.end {
44
- right: 0;
28
+ .actions-wrapper {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: flex-start;
32
+ gap: 0.5rem;
45
33
  }
46
- }
47
-
48
- @media only screen and (min-width: 37.5em) {
49
- .snackbars {
50
- width: initial;
51
34
 
52
- &.center {
53
- left: calc(50% - 18.75rem);
35
+ .clear-button {
36
+ background: none;
37
+ border: none;
38
+ cursor: pointer;
39
+ @include mixins.focusVisibleOutline($outlineOffset: 0);
40
+
41
+ .caption {
42
+ margin: 0;
43
+ font-size: var(--font-size-data-grid);
44
+ line-height: var(--data-grid-line-height);
45
+ text-decoration: underline;
46
+ color: var(--color-primary500);
54
47
  }
55
48
  }
56
49
  }
@@ -0,0 +1,126 @@
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, { ComponentPropsWithRef, ForwardRefRenderFunction, useReducer } from "react";
18
+ import { DataGridFilter } from "./DataGridFilter";
19
+ import classes from "./DataGridToolbar.module.scss";
20
+ import {
21
+ DataGridColumnMetadata,
22
+ Filter,
23
+ FiltersAction,
24
+ FiltersState,
25
+ FiltersTranslations
26
+ } from "./DataGridFilters.interfaces";
27
+ import { Typography } from "../../Typography/Typography";
28
+
29
+ export interface DataGridToolbarProps extends ComponentPropsWithRef<"div"> {
30
+ columnsMetadata: DataGridColumnMetadata[];
31
+ filterValues?: Filter[];
32
+ translations?: FiltersTranslations;
33
+ onFilterAdd?: (filter: Filter) => void;
34
+ onFilterEdit?: (filter: Filter) => void;
35
+ onFilterDelete?: (id: string) => void;
36
+ onFiltersClear?: () => void;
37
+ }
38
+
39
+ const filtersReducer = (state: FiltersState, action: FiltersAction): FiltersState => {
40
+ switch (action.type) {
41
+ case "add":
42
+ return { ...state, filters: [...state.filters, { ...action.payload }] };
43
+ case "edit":
44
+ return {
45
+ ...state,
46
+ filters: [
47
+ ...state.filters.map(value => {
48
+ if (value.id === action.payload.id) {
49
+ return action.payload;
50
+ }
51
+ return value;
52
+ })
53
+ ]
54
+ };
55
+ case "remove":
56
+ return {
57
+ ...state,
58
+ filters: [...state.filters.filter(value => value.id !== action.payload.id)]
59
+ };
60
+ case "clear":
61
+ return { ...state, filters: [] };
62
+ }
63
+ };
64
+
65
+ export const DataGridToolbarComponent: ForwardRefRenderFunction<
66
+ HTMLDivElement,
67
+ DataGridToolbarProps
68
+ > = (
69
+ {
70
+ columnsMetadata,
71
+ filterValues,
72
+ translations,
73
+ onFilterAdd,
74
+ onFilterEdit,
75
+ onFilterDelete,
76
+ onFiltersClear,
77
+ ...rest
78
+ },
79
+ ref
80
+ ) => {
81
+ const [state, dispatch] = useReducer(filtersReducer, { filters: filterValues || [] });
82
+ const { clearButtonCaption = "Clear all filters" } = translations?.toolbar || {};
83
+ return (
84
+ <div {...rest} ref={ref} className={classes["toolbar"]}>
85
+ {state.filters.map(filter => (
86
+ <DataGridFilter
87
+ mode="EDIT"
88
+ key={filter.id}
89
+ filter={filter}
90
+ columnsMetadata={columnsMetadata}
91
+ dispatch={dispatch}
92
+ onFilterEdit={onFilterEdit}
93
+ onFilterDelete={onFilterDelete}
94
+ tagTranslations={translations?.tag}
95
+ popoverTranslations={translations?.popover}
96
+ />
97
+ ))}
98
+ <div className={classes["actions-wrapper"]}>
99
+ <DataGridFilter
100
+ mode="ADD"
101
+ columnsMetadata={columnsMetadata}
102
+ dispatch={dispatch}
103
+ onFilterAdd={onFilterAdd}
104
+ tagTranslations={translations?.tag}
105
+ popoverTranslations={translations?.popover}
106
+ />
107
+ {state.filters.length >= 1 && (
108
+ <button
109
+ type="button"
110
+ className={classes["clear-button"]}
111
+ onClick={() => {
112
+ dispatch({ type: "clear" });
113
+ onFiltersClear && onFiltersClear();
114
+ }}
115
+ >
116
+ <Typography variant="body" className={classes["caption"]}>
117
+ {clearButtonCaption}
118
+ </Typography>
119
+ </button>
120
+ )}
121
+ </div>
122
+ </div>
123
+ );
124
+ };
125
+
126
+ export const DataGridToolbar = React.forwardRef(DataGridToolbarComponent);
@@ -23,6 +23,7 @@ export interface Props extends ComponentPropsWithRef<"thead"> {
23
23
  headers: HeaderCell[];
24
24
  initialSort?: Sort;
25
25
  onSort?: OnSortFunction;
26
+ enableExpandableRow?: boolean;
26
27
  disableContextMenuColumn?: boolean;
27
28
  enableMultiSorting?: boolean;
28
29
  spacing?: React.CSSProperties;
@@ -36,6 +37,7 @@ const DataGridHeaderComponent: ForwardRefRenderFunction<HTMLTableSectionElement,
36
37
  onSort,
37
38
  headers,
38
39
  disableContextMenuColumn,
40
+ enableExpandableRow,
39
41
  enableMultiSorting,
40
42
  spacing,
41
43
  ...rest
@@ -54,7 +56,7 @@ const DataGridHeaderComponent: ForwardRefRenderFunction<HTMLTableSectionElement,
54
56
  };
55
57
 
56
58
  /**
57
- * The sortList contains sorting columns objects. The order of those objects determinates priorities of sorting.
59
+ * The sortList contains sorting columns objects. The order of those objects determines priorities of sorting.
58
60
  * Last modified sorting column has the highest priority.
59
61
  */
60
62
  const updateSortList = (name: string): Sort => {
@@ -105,6 +107,9 @@ const DataGridHeaderComponent: ForwardRefRenderFunction<HTMLTableSectionElement,
105
107
  return (
106
108
  <thead {...rest} ref={ref}>
107
109
  <tr className={classes["row"]}>
110
+ {enableExpandableRow && (
111
+ <td style={{ paddingRight: spacing?.paddingRight }} aria-label="expandable row"></td>
112
+ )}
108
113
  {headerCells}
109
114
  {!disableContextMenuColumn && (
110
115
  <td
@@ -0,0 +1,77 @@
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 { useEffect, useState } from "react";
18
+ import { Filter } from "./DataGridFilters/DataGridFilters.interfaces";
19
+
20
+ /**
21
+ * @scope .
22
+ * @scopeException stories/DataGrid/DataGrid.stories.tsx
23
+ */
24
+ export const useMockFilteringLogic = <T>(data: T[], filterValues: Filter[] | undefined) => {
25
+ const [filters, setFilters] = useState<Filter[]>(filterValues || []);
26
+
27
+ const [gridData, setGridData] = useState(data);
28
+
29
+ const onFilterAdd = (filter: Filter) => {
30
+ setFilters(prev => [...prev, filter]);
31
+ };
32
+
33
+ const onFilterEdit = (filter: Filter) =>
34
+ setFilters(prev => prev.map(f => (f.id === filter.id ? filter : f)));
35
+
36
+ const onFilterDelete = (id: string) =>
37
+ setFilters(prev => [...prev.filter(value => value.id !== id)]);
38
+
39
+ const onFiltersClear = () => setFilters([]);
40
+
41
+ const operatorPredicateMap = {
42
+ is: (v1: string, v2: string) => v1 === v2,
43
+ "is not": (v1: string, v2: string) => v1 !== v2
44
+ };
45
+
46
+ useEffect(() => {
47
+ const filteredData = data
48
+ .map((row: T) => {
49
+ let shouldBeDiscarded: boolean[] = [];
50
+ filters.forEach(filter => {
51
+ shouldBeDiscarded = [
52
+ ...shouldBeDiscarded,
53
+ !filter.value.reduce((acc, val) => {
54
+ return (
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ (operatorPredicateMap[filter.operator as keyof typeof operatorPredicateMap] as any)(
57
+ row[filter.column as keyof typeof row],
58
+ val
59
+ ) && acc
60
+ );
61
+ }, true)
62
+ ];
63
+ });
64
+
65
+ return shouldBeDiscarded.length > 0 &&
66
+ shouldBeDiscarded.reduce((acc, val) => acc || val, false)
67
+ ? undefined
68
+ : row;
69
+ })
70
+ .filter(val => {
71
+ return val !== undefined;
72
+ }) as T[];
73
+ setGridData(filteredData);
74
+ }, [filters]);
75
+
76
+ return { onFilterAdd, onFilterEdit, onFilterDelete, onFiltersClear, gridData, filters };
77
+ };
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import React, { ComponentPropsWithRef, ForwardRefRenderFunction } from "react";
17
+ import React, { ComponentPropsWithRef, ForwardRefRenderFunction, Fragment } from "react";
18
18
  import classes from "./FileItem.module.scss";
19
19
  import { Typography } from "../../../Typography/Typography";
20
20
  import { Icon, Icons } from "../../../Icon/Icon";
@@ -140,12 +140,9 @@ const FileItemComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
140
140
  ></Icon>
141
141
  );
142
142
 
143
- const renderActionIcons = (
144
- actionIcons: { type: Icons; action: FILE_ACTION }[],
145
- status: UploadProgress = ACTION_STATUS.UPLOADING
146
- ) => {
143
+ const renderActionIcons = (actionIcons: { type: Icons; action: FILE_ACTION }[]) => {
147
144
  return actionIcons.map(icon => (
148
- <>
145
+ <Fragment key={icon.action}>
149
146
  {icon.action !== FILE_ACTION.DOWNLOAD && (
150
147
  <Button
151
148
  color="primary"
@@ -180,7 +177,7 @@ const FileItemComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
180
177
  {icon.action}
181
178
  </Link>
182
179
  )}
183
- </>
180
+ </Fragment>
184
181
  ));
185
182
  };
186
183
 
@@ -225,7 +222,7 @@ const FileItemComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
225
222
  {status === ACTION_STATUS.UPLOADING && getProgressBar()}
226
223
 
227
224
  <div className={classes["action-button-wrapper"]}>
228
- {icons.actionIcons && renderActionIcons(icons.actionIcons, status)}
225
+ {icons.actionIcons && renderActionIcons(icons.actionIcons)}
229
226
  </div>
230
227
  </div>
231
228
  </div>
@@ -51,10 +51,14 @@
51
51
  }
52
52
  }
53
53
 
54
- &.disabled {
55
- pointer-events: none;
56
- background-color: var(--disabled);
57
- color: var(--greyed-out);
54
+ .upload-button-wrapper {
55
+ &.disabled {
56
+ pointer-events: none;
57
+
58
+ p {
59
+ color: var(--color-blue-grey400);
60
+ }
61
+ }
58
62
  }
59
63
 
60
64
  span[data-icon-status] {
@@ -116,6 +120,7 @@
116
120
  padding: 0 1.25rem;
117
121
  &.error {
118
122
  color: var(--error);
123
+ display: block;
119
124
  }
120
125
  }
121
126
 
@@ -39,7 +39,7 @@ export interface Props extends FileUploadType {
39
39
  multiple: boolean;
40
40
  fileList: FileType[];
41
41
  exceedingMaxSizeErrorText?: string;
42
- maxFileSize?: number;
42
+ maxFileSizeInBytes?: number;
43
43
  selectButtonText?: string;
44
44
  dragAndDropText?: string;
45
45
  subText?: string;
@@ -52,6 +52,7 @@ export interface Props extends FileUploadType {
52
52
  downloadFileLink?: string;
53
53
  isRequired?: boolean;
54
54
  invalidDropErrorMessage?: string;
55
+ noMultipleFileDropErrorMessage?: string;
55
56
  }
56
57
 
57
58
  const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
@@ -60,7 +61,7 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
60
61
  accept,
61
62
  error,
62
63
  success,
63
- maxFileSize,
64
+ maxFileSizeInBytes,
64
65
  multiple,
65
66
  id,
66
67
  title,
@@ -80,6 +81,7 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
80
81
  downloadFileLink,
81
82
  isRequired = true,
82
83
  invalidDropErrorMessage = "Invalid file format. Supported formats are: $accept.",
84
+ noMultipleFileDropErrorMessage = "You can upload only a single file.",
83
85
  ...rest
84
86
  }: Props,
85
87
  ref
@@ -101,7 +103,7 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
101
103
  subTextClass.push(errorClass);
102
104
  errorTextClass.push(errorClass);
103
105
  }
104
- disabled && dropzoneClassNames.push(classes["disabled"]);
106
+ disabled && dropzoneContainerClassNames.push(classes["disabled"]);
105
107
  success && !error && dropzoneClassNames.push(classes["success"]);
106
108
 
107
109
  const getFileList = (files: FileList | null): FileType[] => {
@@ -132,7 +134,11 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
132
134
  e.preventDefault();
133
135
  e.stopPropagation();
134
136
  let files = getFileList(e.target.files);
135
- files.length && verifyExtensionValidity(files[files.length - 1]) && onChange?.(files);
137
+ const isFileValid = files.length && verifyExtensionValidity(files[files.length - 1]);
138
+ if (isFileValid) {
139
+ setErrorMsg("");
140
+ }
141
+ isFileValid && onChange?.(files);
136
142
  };
137
143
 
138
144
  const verifyExtensionValidity = (file: FileType) => {
@@ -148,14 +154,24 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
148
154
  };
149
155
 
150
156
  let err = false;
151
- if (maxFileSize && file.size && file.size >= maxFileSize) {
152
- const mb = (maxFileSize / (1024 * 1024)).toFixed(2);
157
+
158
+ if (maxFileSizeInBytes && file.size && file.size >= maxFileSizeInBytes) {
159
+ let sizeMessage: string;
160
+ const isAtLeastOneMb = maxFileSizeInBytes >= 1024 * 1024;
161
+
162
+ if (isAtLeastOneMb) {
163
+ sizeMessage = `${(maxFileSizeInBytes / (1024 * 1024)).toFixed(2)}MB`;
164
+ } else {
165
+ sizeMessage = `${(maxFileSizeInBytes / 1024).toFixed(2)}KB`;
166
+ }
167
+
153
168
  result.error =
154
169
  exceedingMaxSizeErrorText ??
155
- `The maximum allowed file size is ${mb}MB. Upload a smaller file.`;
170
+ `The maximum allowed file size is ${sizeMessage}. Upload a smaller file.`;
156
171
  result.status = "error";
157
172
  err = true;
158
173
  }
174
+
159
175
  setInputError(err);
160
176
  return result;
161
177
  };
@@ -180,7 +196,7 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
180
196
  e.preventDefault();
181
197
  e.stopPropagation();
182
198
  const target = e.target as HTMLElement;
183
- if (target?.classList.contains(classes["file-dropzone"])) {
199
+ if (target?.offsetParent?.classList.contains(classes["file-dropzone"])) {
184
200
  setDragActive(false);
185
201
  }
186
202
  onDragLeave?.(e);
@@ -195,11 +211,15 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
195
211
  setErrorMsg(invalidDropErrorMessage.replace("$accept", accept));
196
212
  setDragActive(false);
197
213
  return;
214
+ } else if (!multiple && e.dataTransfer.files.length > 1) {
215
+ setErrorMsg(noMultipleFileDropErrorMessage);
216
+ setDragActive(false);
217
+ return;
198
218
  } else {
199
219
  setErrorMsg("");
200
220
  }
201
221
  const validatedFiles = getFileList(e.dataTransfer.files);
202
- onDrop?.(validatedFiles);
222
+ onDrop ? onDrop?.(validatedFiles) : onChange?.(validatedFiles);
203
223
  }
204
224
  setDragActive(false);
205
225
  };
@@ -265,17 +285,16 @@ const FileUploadComponent: ForwardRefRenderFunction<HTMLInputElement, Props> = (
265
285
  </div>
266
286
  </div>
267
287
  </div>
268
- {subText && (
269
- <Typography variant={"sub-text"} className={subTextClass.join(" ")}>
270
- {subText}
271
- </Typography>
272
- )}
273
-
274
288
  {errorMsg && (
275
289
  <Typography variant={"sub-text"} className={errorTextClass.join(" ")}>
276
290
  {errorMsg}
277
291
  </Typography>
278
292
  )}
293
+ {subText && (
294
+ <Typography variant={"sub-text"} className={subTextClass.join(" ")}>
295
+ {subText}
296
+ </Typography>
297
+ )}
279
298
  </div>
280
299
  </div>
281
300
  );
@@ -37,10 +37,12 @@ const MultiOptionComponent: ForwardRefRenderFunction<HTMLLIElement, Props> = (
37
37
  const listbox = element.parentElement;
38
38
  const listboxWrapper = element.parentElement?.parentElement;
39
39
  const isListboxWrapperScrollable = !!listboxWrapper?.style.maxHeight;
40
+
40
41
  if (isListboxWrapperScrollable) {
41
- listboxWrapper?.scrollTo(0, element.offsetTop - (listboxWrapper?.offsetHeight ?? 1) / 2);
42
+ listboxWrapper?.scrollTo &&
43
+ listboxWrapper?.scrollTo(0, element.offsetTop - (listboxWrapper?.offsetHeight ?? 1) / 2);
42
44
  }
43
- listbox?.scrollTo(0, element.offsetTop - (listbox?.offsetHeight ?? 1) / 2);
45
+ listbox?.scrollTo && listbox?.scrollTo(0, element.offsetTop - (listbox?.offsetHeight ?? 1) / 2);
44
46
  };
45
47
 
46
48
  useEffect(() => {
@@ -52,8 +52,6 @@ const MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSel
52
52
  labeledBy,
53
53
  placeholder,
54
54
  describedBy,
55
- searchPlaceholder = "Search item",
56
- searchInputProps,
57
55
  selectButtonProps = {},
58
56
  className,
59
57
  error = false,
@@ -63,7 +61,7 @@ const MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSel
63
61
  noResultsLabel = "No results found",
64
62
  onChange,
65
63
  addNew,
66
- search = { enabled: true, renderThreshold: 0 },
64
+ search = { enabled: true, renderThreshold: 0, searchPlaceholder: "Search item" },
67
65
  ...rest
68
66
  }: MultiSelectProps,
69
67
  ref
@@ -90,8 +88,6 @@ const MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSel
90
88
  optionsCount: optionsVisibleCount,
91
89
  focusedSelectItem,
92
90
  setFocusedSelectItem,
93
- searchInputProps,
94
- searchPlaceholder,
95
91
  describedBy,
96
92
  getOptionId,
97
93
  getListboxId
@@ -15,20 +15,12 @@
15
15
  */
16
16
 
17
17
  import React, { useEffect, useRef, useState } from "react";
18
- import { PartialInputProps, SearchProps } from "../Select.interfaces";
18
+ import { SearchProps } from "../Select.interfaces";
19
19
 
20
20
  interface Props {
21
21
  selectId: string;
22
22
  search?: SearchProps;
23
23
  optionsCount: number;
24
- /**
25
- * @deprecated
26
- */
27
- searchPlaceholder?: string;
28
- /**
29
- * @deprecated
30
- */
31
- searchInputProps?: PartialInputProps & { reset?: boolean };
32
24
  searchInputClassName: string;
33
25
  expanded: boolean;
34
26
  setFocusedSelectItem: (idx: number) => void;
@@ -43,8 +35,6 @@ export const useSearch = ({
43
35
  selectId,
44
36
  search,
45
37
  optionsCount,
46
- searchPlaceholder,
47
- searchInputProps,
48
38
  searchInputClassName,
49
39
  expanded,
50
40
  setFocusedSelectItem,
@@ -77,17 +67,17 @@ export const useSearch = ({
77
67
  const renderSearch = () => {
78
68
  return (
79
69
  <input
80
- {...((search?.searchInputProps as any) ?? searchInputProps ?? {})}
70
+ {...((search?.searchInputProps as any) ?? {})}
81
71
  ref={searchInputRef}
82
72
  value={filter}
83
73
  onChange={event => setFilter(event.currentTarget.value)}
84
- className={[searchInputClassName, searchInputProps?.className].join(" ")}
74
+ className={[searchInputClassName, search?.searchInputProps?.className].join(" ")}
85
75
  style={{
86
76
  display: expanded ? "block" : "none"
87
77
  }}
88
78
  type="text"
89
79
  name="search-option"
90
- placeholder={search?.searchPlaceholder ?? searchPlaceholder}
80
+ placeholder={search?.searchPlaceholder}
91
81
  role="combobox"
92
82
  autoComplete="off"
93
83
  autoCorrect="off"
@@ -110,10 +100,10 @@ export const useSearch = ({
110
100
  const visible = shouldRenderSearch();
111
101
 
112
102
  useEffect(() => {
113
- if (search?.searchInputProps?.reset || searchInputProps?.reset) {
103
+ if (search?.searchInputProps?.reset) {
114
104
  resetSearchState();
115
105
  }
116
- }, [searchInputProps?.reset, search?.searchInputProps?.reset]);
106
+ }, [search?.searchInputProps?.reset]);
117
107
 
118
108
  return {
119
109
  renderSearch,
@@ -42,15 +42,7 @@ export interface SelectProps<V extends string | readonly string[] | undefined>
42
42
  labeledBy?: string;
43
43
  describedBy?: string;
44
44
  placeholder?: string;
45
- /**
46
- * @deprecated
47
- */
48
- searchPlaceholder?: string;
49
- /**
50
- * @deprecated
51
- */
52
- searchInputProps?: PartialInputProps & { reset?: boolean };
53
- selectButtonProps?: ComponentPropsWithRef<"button">;
45
+ selectButtonProps?: ComponentPropsWithRef<"button"> & FormElement;
54
46
  search?: SearchProps;
55
47
  className?: string;
56
48
  value: V;
@@ -44,8 +44,6 @@ const SelectComponent: ForwardRefRenderFunction<HTMLSelectElement, SingleSelectP
44
44
  labeledBy,
45
45
  placeholder,
46
46
  describedBy,
47
- searchPlaceholder = "Search item",
48
- searchInputProps,
49
47
  selectButtonProps,
50
48
  className,
51
49
  error = false,
@@ -82,9 +80,7 @@ const SelectComponent: ForwardRefRenderFunction<HTMLSelectElement, SingleSelectP
82
80
  search,
83
81
  searchInputClassName: classes["select-search"],
84
82
  optionsCount,
85
- setFocusedSelectItem,
86
- searchInputProps,
87
- searchPlaceholder
83
+ setFocusedSelectItem
88
84
  });
89
85
  const { addBtnRef, addNewBtnOptionsContainerClassName, renderAddNew } = useAddNewBtn({
90
86
  addNew,