@onewelcome/react-lib-components 8.6.0 → 8.7.1

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 (321) hide show
  1. package/dist/cjs/Breadcrumbs/Breadcrumbs.module.scss.cjs.js +1 -1
  2. package/dist/cjs/Button/BaseButton.cjs.js +1 -1
  3. package/dist/cjs/Button/BaseButton.cjs.js.map +1 -1
  4. package/dist/cjs/Button/BaseButton.module.scss.cjs.js +1 -1
  5. package/dist/cjs/Button/Button.module.scss.cjs.js +1 -1
  6. package/dist/cjs/Button/IconButton.module.scss.cjs.js +1 -1
  7. package/dist/cjs/ContextMenu/ContextMenu.cjs.js +1 -1
  8. package/dist/cjs/ContextMenu/ContextMenu.cjs.js.map +1 -1
  9. package/dist/cjs/ContextMenu/ContextMenu.module.scss.cjs.js +1 -1
  10. package/dist/cjs/ContextMenu/ContextMenuItem.module.scss.cjs.js +1 -1
  11. package/dist/cjs/DataGrid/DataGrid.module.scss.cjs.js +1 -1
  12. package/dist/cjs/DataGrid/DataGridActions/DataGridActions.module.scss.cjs.js +1 -1
  13. package/dist/cjs/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss.cjs.js +1 -1
  14. package/dist/cjs/DataGrid/DataGridBody/DataGridBody.module.scss.cjs.js +1 -1
  15. package/dist/cjs/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.scss.cjs.js +1 -1
  16. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.scss.cjs.js +1 -1
  17. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.scss.cjs.js +1 -1
  18. package/dist/cjs/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.scss.cjs.js +1 -1
  19. package/dist/cjs/DataGrid/DataGridFilters/DataGridDateFilter.cjs.js +2 -0
  20. package/dist/cjs/DataGrid/DataGridFilters/DataGridDateFilter.cjs.js.map +1 -0
  21. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.module.scss.cjs.js +1 -1
  22. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js +1 -1
  23. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js.map +1 -1
  24. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilters.interfaces.cjs.js.map +1 -1
  25. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js +1 -1
  26. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js.map +1 -1
  27. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.module.scss.cjs.js +1 -1
  28. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.cjs.js +2 -0
  29. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.cjs.js.map +1 -0
  30. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js +2 -0
  31. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js.map +1 -0
  32. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.cjs.js +2 -0
  33. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.cjs.js.map +1 -0
  34. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.cjs.js +2 -0
  35. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.cjs.js.map +1 -0
  36. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.cjs.js +2 -0
  37. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.cjs.js.map +1 -0
  38. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/SideMenu.cjs.js +2 -0
  39. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/SideMenu.cjs.js.map +1 -0
  40. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeader.module.scss.cjs.js +1 -1
  41. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.cjs.js +1 -1
  42. package/dist/cjs/DatePicker/DatePicker.cjs.js +1 -1
  43. package/dist/cjs/DatePicker/DatePicker.cjs.js.map +1 -1
  44. package/dist/cjs/DatePicker/DatePicker.module.scss.cjs.js +1 -1
  45. package/dist/cjs/Form/Checkbox/Checkbox.module.scss.cjs.js +1 -1
  46. package/dist/cjs/Form/Fieldset/Fieldset.module.scss.cjs.js +1 -1
  47. package/dist/cjs/Form/FileUpload/FileItem/FileItem.module.scss.cjs.js +1 -1
  48. package/dist/cjs/Form/FileUpload/FileUpload.module.scss.cjs.js +1 -1
  49. package/dist/cjs/Form/Form.module.scss.cjs.js +1 -1
  50. package/dist/cjs/Form/FormControl/FormControl.module.scss.cjs.js +1 -1
  51. package/dist/cjs/Form/FormGroup/FormGroup.cjs.js +1 -1
  52. package/dist/cjs/Form/FormGroup/FormGroup.cjs.js.map +1 -1
  53. package/dist/cjs/Form/FormGroup/FormGroup.module.scss.cjs.js +1 -1
  54. package/dist/cjs/Form/FormHelperText/FormHelperText.module.scss.cjs.js +1 -1
  55. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js +1 -1
  56. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js.map +1 -1
  57. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.module.scss.cjs.js +1 -1
  58. package/dist/cjs/Form/Input/Input.module.scss.cjs.js +1 -1
  59. package/dist/cjs/Form/Label/Label.module.scss.cjs.js +1 -1
  60. package/dist/cjs/Form/Radio/Radio.module.scss.cjs.js +1 -1
  61. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +1 -1
  62. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -1
  63. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.scss.cjs.js +1 -1
  64. package/dist/cjs/Form/Select/MultiSelect/SelectButton.module.scss.cjs.js +1 -1
  65. package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.module.scss.cjs.js +1 -1
  66. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +1 -1
  67. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -1
  68. package/dist/cjs/Form/Select/SingleSelect/Select.module.scss.cjs.js +1 -1
  69. package/dist/cjs/Form/Select/useAddNewBtn.module.scss.cjs.js +1 -1
  70. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js +1 -1
  71. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js.map +1 -1
  72. package/dist/cjs/Form/Textarea/Textarea.module.scss.cjs.js +1 -1
  73. package/dist/cjs/Form/Toggle/Toggle.module.scss.cjs.js +1 -1
  74. package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.module.scss.cjs.js +1 -1
  75. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js +1 -1
  76. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js.map +1 -1
  77. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.module.scss.cjs.js +1 -1
  78. package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.module.scss.cjs.js +1 -1
  79. package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.module.scss.cjs.js +1 -1
  80. package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss.cjs.js +1 -1
  81. package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.cjs.js +1 -1
  82. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js +1 -1
  83. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js.map +1 -1
  84. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.module.scss.cjs.js +1 -1
  85. package/dist/cjs/Icon/Icon.module.scss.cjs.js +1 -1
  86. package/dist/cjs/Layout/ContentHeader/ContentHeader.module.scss.cjs.js +1 -1
  87. package/dist/cjs/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.scss.cjs.js +1 -1
  88. package/dist/cjs/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.scss.cjs.js +1 -1
  89. package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss.cjs.js +1 -1
  90. package/dist/cjs/Link/Link.module.scss.cjs.js +1 -1
  91. package/dist/cjs/Notifications/Alert/AlertContainer/AlertContainer.module.scss.cjs.js +1 -1
  92. package/dist/cjs/Notifications/Alert/AlertItem/AlertItem.module.scss.cjs.js +1 -1
  93. package/dist/cjs/Notifications/Banner/Banner.module.scss.cjs.js +1 -1
  94. package/dist/cjs/Notifications/BaseModal/BaseModal.module.scss.cjs.js +1 -1
  95. package/dist/cjs/Notifications/BaseModal/BaseModalActions/BaseModalActions.module.scss.cjs.js +1 -1
  96. package/dist/cjs/Notifications/BaseModal/BaseModalContent/BaseModalContent.module.scss.cjs.js +1 -1
  97. package/dist/cjs/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.module.scss.cjs.js +1 -1
  98. package/dist/cjs/Notifications/Dialog/Dialog.module.scss.cjs.js +1 -1
  99. package/dist/cjs/Notifications/Dialog/DialogActions/DialogActions.module.scss.cjs.js +1 -1
  100. package/dist/cjs/Notifications/Dialog/DialogTitle/DialogTitle.module.scss.cjs.js +1 -1
  101. package/dist/cjs/Notifications/SideSheet/SideSheet.module.scss.cjs.js +1 -1
  102. package/dist/cjs/Notifications/SideSheet/SideSheetContent/SideSheetContent.module.scss.cjs.js +1 -1
  103. package/dist/cjs/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.module.scss.cjs.js +1 -1
  104. package/dist/cjs/Notifications/SlideInModal/SlideInModal.module.scss.cjs.js +1 -1
  105. package/dist/cjs/Pagination/Pagination.module.scss.cjs.js +1 -1
  106. package/dist/cjs/Popover/Popover.module.scss.cjs.js +1 -1
  107. package/dist/cjs/ProgressBar/ProgressBar.module.scss.cjs.js +1 -1
  108. package/dist/cjs/Skeleton/Skeleton.module.scss.cjs.js +1 -1
  109. package/dist/cjs/Spinner/Spinner.module.scss.cjs.js +1 -1
  110. package/dist/cjs/Stepper/Step.module.scss.cjs.js +1 -1
  111. package/dist/cjs/Stepper/Stepper.module.scss.cjs.js +1 -1
  112. package/dist/cjs/Tabs/Tab.module.scss.cjs.js +1 -1
  113. package/dist/cjs/Tabs/TabButton.module.scss.cjs.js +1 -1
  114. package/dist/cjs/Tabs/Tabs.module.scss.cjs.js +1 -1
  115. package/dist/cjs/Tag/RemoveButton.module.scss.cjs.js +1 -1
  116. package/dist/cjs/Tag/Tag.module.scss.cjs.js +1 -1
  117. package/dist/cjs/TextEllipsis/TextEllipsis.module.scss.cjs.js +1 -1
  118. package/dist/cjs/Tiles/Tile.module.scss.cjs.js +1 -1
  119. package/dist/cjs/Tiles/Tiles.module.scss.cjs.js +1 -1
  120. package/dist/cjs/Tooltip/Tooltip.module.scss.cjs.js +1 -1
  121. package/dist/cjs/Typography/Typography.module.scss.cjs.js +1 -1
  122. package/dist/cjs/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.scss.cjs.js +1 -1
  123. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
  124. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  125. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
  126. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
  127. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
  128. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
  129. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
  130. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
  131. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
  132. package/dist/cjs/src/components/DataGrid/testUtils.d.ts +7 -1
  133. package/dist/cjs/src/components/DatePicker/DatePicker.d.ts +4 -1
  134. package/dist/cjs/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
  135. package/dist/cjs/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
  136. package/dist/cjs/src/hooks/useClickOutside.cjs.js +2 -0
  137. package/dist/cjs/src/hooks/useClickOutside.cjs.js.map +1 -0
  138. package/dist/cjs/src/hooks/useClickOutside.d.ts +2 -0
  139. package/dist/cjs/src/index.cjs.js +1 -1
  140. package/dist/cjs/src/index.d.ts +1 -0
  141. package/dist/cjs/src/readyclasses.module.scss.cjs.js +1 -1
  142. package/dist/esm/Breadcrumbs/Breadcrumbs.module.scss.esm.js +2 -2
  143. package/dist/esm/Button/BaseButton.esm.js +5 -2
  144. package/dist/esm/Button/BaseButton.esm.js.map +1 -1
  145. package/dist/esm/Button/BaseButton.module.scss.esm.js +2 -2
  146. package/dist/esm/Button/Button.module.scss.esm.js +2 -2
  147. package/dist/esm/Button/IconButton.module.scss.esm.js +2 -2
  148. package/dist/esm/ContextMenu/ContextMenu.esm.js +6 -8
  149. package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
  150. package/dist/esm/ContextMenu/ContextMenu.module.scss.esm.js +2 -2
  151. package/dist/esm/ContextMenu/ContextMenuItem.esm.js +3 -3
  152. package/dist/esm/ContextMenu/ContextMenuItem.esm.js.map +1 -1
  153. package/dist/esm/ContextMenu/ContextMenuItem.module.scss.esm.js +3 -3
  154. package/dist/esm/DataGrid/DataGrid.module.scss.esm.js +2 -2
  155. package/dist/esm/DataGrid/DataGridActions/DataGridActions.module.scss.esm.js +2 -2
  156. package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss.esm.js +2 -2
  157. package/dist/esm/DataGrid/DataGridBody/DataGridBody.module.scss.esm.js +2 -2
  158. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.scss.esm.js +2 -2
  159. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.scss.esm.js +2 -2
  160. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.scss.esm.js +2 -2
  161. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.scss.esm.js +2 -2
  162. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js +35 -0
  163. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js.map +1 -0
  164. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.module.scss.esm.js +2 -2
  165. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +16 -7
  166. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -1
  167. package/dist/esm/DataGrid/DataGridFilters/DataGridFilters.interfaces.esm.js.map +1 -1
  168. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +15 -12
  169. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
  170. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.module.scss.esm.js +2 -2
  171. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js +138 -0
  172. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js.map +1 -0
  173. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js +8 -0
  174. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js.map +1 -0
  175. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js +54 -0
  176. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js.map +1 -0
  177. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js +51 -0
  178. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js.map +1 -0
  179. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js +29 -0
  180. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js.map +1 -0
  181. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js +26 -0
  182. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js.map +1 -0
  183. package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.module.scss.esm.js +2 -2
  184. package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.esm.js +2 -2
  185. package/dist/esm/DatePicker/DatePicker.esm.js +3 -1
  186. package/dist/esm/DatePicker/DatePicker.esm.js.map +1 -1
  187. package/dist/esm/DatePicker/DatePicker.module.scss.esm.js +2 -2
  188. package/dist/esm/Form/Checkbox/Checkbox.module.scss.esm.js +2 -2
  189. package/dist/esm/Form/Fieldset/Fieldset.module.scss.esm.js +2 -2
  190. package/dist/esm/Form/FileUpload/FileItem/FileItem.module.scss.esm.js +2 -2
  191. package/dist/esm/Form/FileUpload/FileUpload.module.scss.esm.js +2 -2
  192. package/dist/esm/Form/Form.module.scss.esm.js +2 -2
  193. package/dist/esm/Form/FormControl/FormControl.module.scss.esm.js +2 -2
  194. package/dist/esm/Form/FormGroup/FormGroup.esm.js +2 -2
  195. package/dist/esm/Form/FormGroup/FormGroup.esm.js.map +1 -1
  196. package/dist/esm/Form/FormGroup/FormGroup.module.scss.esm.js +2 -2
  197. package/dist/esm/Form/FormHelperText/FormHelperText.module.scss.esm.js +2 -2
  198. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js +1 -1
  199. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js.map +1 -1
  200. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.module.scss.esm.js +2 -2
  201. package/dist/esm/Form/Input/Input.module.scss.esm.js +2 -2
  202. package/dist/esm/Form/Label/Label.module.scss.esm.js +2 -2
  203. package/dist/esm/Form/Radio/Radio.module.scss.esm.js +2 -2
  204. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +9 -5
  205. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
  206. package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.scss.esm.js +2 -2
  207. package/dist/esm/Form/Select/MultiSelect/SelectButton.module.scss.esm.js +2 -2
  208. package/dist/esm/Form/Select/MultiSelect/SelectedOptions.module.scss.esm.js +2 -2
  209. package/dist/esm/Form/Select/SingleSelect/Select.esm.js +9 -5
  210. package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
  211. package/dist/esm/Form/Select/SingleSelect/Select.module.scss.esm.js +2 -2
  212. package/dist/esm/Form/Select/useAddNewBtn.module.scss.esm.js +2 -2
  213. package/dist/esm/Form/Select/useSelectPositionList.esm.js +8 -11
  214. package/dist/esm/Form/Select/useSelectPositionList.esm.js.map +1 -1
  215. package/dist/esm/Form/Textarea/Textarea.module.scss.esm.js +2 -2
  216. package/dist/esm/Form/Toggle/Toggle.module.scss.esm.js +2 -2
  217. package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.module.scss.esm.js +2 -2
  218. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js +2 -2
  219. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js.map +1 -1
  220. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.module.scss.esm.js +2 -2
  221. package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.module.scss.esm.js +2 -2
  222. package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.module.scss.esm.js +2 -2
  223. package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss.esm.js +2 -2
  224. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.esm.js +2 -2
  225. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js +2 -2
  226. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js.map +1 -1
  227. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.module.scss.esm.js +2 -2
  228. package/dist/esm/Icon/Icon.module.scss.esm.js +2 -2
  229. package/dist/esm/Layout/ContentHeader/ContentHeader.module.scss.esm.js +2 -2
  230. package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.scss.esm.js +2 -2
  231. package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.scss.esm.js +2 -2
  232. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss.esm.js +2 -2
  233. package/dist/esm/Link/Link.module.scss.esm.js +2 -2
  234. package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.module.scss.esm.js +2 -2
  235. package/dist/esm/Notifications/Alert/AlertItem/AlertItem.module.scss.esm.js +2 -2
  236. package/dist/esm/Notifications/Banner/Banner.module.scss.esm.js +2 -2
  237. package/dist/esm/Notifications/BaseModal/BaseModal.module.scss.esm.js +2 -2
  238. package/dist/esm/Notifications/BaseModal/BaseModalActions/BaseModalActions.module.scss.esm.js +2 -2
  239. package/dist/esm/Notifications/BaseModal/BaseModalContent/BaseModalContent.module.scss.esm.js +2 -2
  240. package/dist/esm/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.module.scss.esm.js +2 -2
  241. package/dist/esm/Notifications/Dialog/Dialog.module.scss.esm.js +2 -2
  242. package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.module.scss.esm.js +2 -2
  243. package/dist/esm/Notifications/Dialog/DialogTitle/DialogTitle.module.scss.esm.js +2 -2
  244. package/dist/esm/Notifications/SideSheet/SideSheet.module.scss.esm.js +2 -2
  245. package/dist/esm/Notifications/SideSheet/SideSheetContent/SideSheetContent.module.scss.esm.js +2 -2
  246. package/dist/esm/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.module.scss.esm.js +2 -2
  247. package/dist/esm/Notifications/SlideInModal/SlideInModal.module.scss.esm.js +2 -2
  248. package/dist/esm/Pagination/Pagination.module.scss.esm.js +2 -2
  249. package/dist/esm/Popover/Popover.module.scss.esm.js +2 -2
  250. package/dist/esm/ProgressBar/ProgressBar.module.scss.esm.js +2 -2
  251. package/dist/esm/Skeleton/Skeleton.module.scss.esm.js +2 -2
  252. package/dist/esm/Spinner/Spinner.module.scss.esm.js +2 -2
  253. package/dist/esm/Stepper/Step.module.scss.esm.js +2 -2
  254. package/dist/esm/Stepper/Stepper.module.scss.esm.js +2 -2
  255. package/dist/esm/Tabs/Tab.module.scss.esm.js +2 -2
  256. package/dist/esm/Tabs/TabButton.module.scss.esm.js +2 -2
  257. package/dist/esm/Tabs/Tabs.module.scss.esm.js +2 -2
  258. package/dist/esm/Tag/RemoveButton.module.scss.esm.js +2 -2
  259. package/dist/esm/Tag/Tag.module.scss.esm.js +2 -2
  260. package/dist/esm/TextEllipsis/TextEllipsis.module.scss.esm.js +2 -2
  261. package/dist/esm/Tiles/Tile.module.scss.esm.js +2 -2
  262. package/dist/esm/Tiles/Tiles.module.scss.esm.js +2 -2
  263. package/dist/esm/Tooltip/Tooltip.module.scss.esm.js +2 -2
  264. package/dist/esm/Typography/Typography.module.scss.esm.js +2 -2
  265. package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.scss.esm.js +2 -2
  266. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
  267. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  268. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
  269. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
  270. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
  271. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
  272. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
  273. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
  274. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
  275. package/dist/esm/src/components/DataGrid/testUtils.d.ts +7 -1
  276. package/dist/esm/src/components/DatePicker/DatePicker.d.ts +4 -1
  277. package/dist/esm/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
  278. package/dist/esm/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
  279. package/dist/esm/src/hooks/useClickOutside.d.ts +2 -0
  280. package/dist/esm/src/hooks/useClickOutside.esm.js +38 -0
  281. package/dist/esm/src/hooks/useClickOutside.esm.js.map +1 -0
  282. package/dist/esm/src/index.d.ts +1 -0
  283. package/dist/esm/src/index.esm.js +1 -0
  284. package/dist/esm/src/index.esm.js.map +1 -1
  285. package/dist/esm/src/readyclasses.module.scss.esm.js +2 -2
  286. package/package.json +7 -3
  287. package/src/components/Button/BaseButton.tsx +7 -4
  288. package/src/components/ContextMenu/ContextMenu.tsx +5 -13
  289. package/src/components/DataGrid/DataGridBody/__snapshots__/DataGridBody.test.tsx.snap +4 -4
  290. package/src/components/DataGrid/DataGridFilters/DataGridDateFilter.tsx +65 -0
  291. package/src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx +25 -5
  292. package/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.ts +18 -1
  293. package/src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx +53 -33
  294. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss +134 -0
  295. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.tsx +267 -0
  296. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.tsx +103 -0
  297. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.tsx +121 -0
  298. package/{dist/esm/src/hooks/useBodyClick.esm.js → src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.ts} +14 -17
  299. package/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.tsx +50 -0
  300. package/src/components/DataGrid/testUtils.ts +48 -15
  301. package/src/components/DatePicker/DatePicker.module.scss +32 -9
  302. package/src/components/DatePicker/DatePicker.tsx +15 -1
  303. package/src/components/Form/FormGroup/FormGroup.tsx +6 -1
  304. package/src/components/Form/FormSelectorWrapper/FormSelectorWrapper.tsx +2 -2
  305. package/src/components/Form/Input/Input.module.scss +1 -1
  306. package/src/components/Form/Select/MultiSelect/MultiSelect.module.scss +1 -1
  307. package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +13 -13
  308. package/src/components/Form/Select/SingleSelect/Select.module.scss +1 -1
  309. package/src/components/Form/Select/SingleSelect/Select.tsx +13 -13
  310. package/src/components/Form/Select/useSelectPositionList.ts +8 -12
  311. package/src/components/Form/Wrapper/InputWrapper/InputWrapper.tsx +2 -0
  312. package/src/components/Form/Wrapper/Wrapper/Wrapper.tsx +3 -0
  313. package/src/hooks/{useBodyClick.ts → useClickOutside.ts} +17 -11
  314. package/src/index.ts +1 -0
  315. package/dist/cjs/src/hooks/useBodyClick.cjs.js +0 -2
  316. package/dist/cjs/src/hooks/useBodyClick.cjs.js.map +0 -1
  317. package/dist/cjs/src/hooks/useBodyClick.d.ts +0 -1
  318. package/dist/esm/src/hooks/useBodyClick.d.ts +0 -1
  319. package/dist/esm/src/hooks/useBodyClick.esm.js.map +0 -1
  320. /package/dist/cjs/src/hooks/{useBodyClick.test.d.ts → useClickOutside.test.d.ts} +0 -0
  321. /package/dist/esm/src/hooks/{useBodyClick.test.d.ts → useClickOutside.test.d.ts} +0 -0
@@ -38,16 +38,16 @@
38
38
  --rdp-nav_button-width: 0.75rem;
39
39
  --rdp-nav-height: 2.75rem;
40
40
 
41
- --rdp-range_middle-background-color: var(--color-primary50);
41
+ --rdp-range_middle-background-color: var(--color-blue-grey100);
42
42
  --rdp-range_middle-color: black;
43
43
 
44
- --rdp-range_start-color: white;
45
- --rdp-range_start-background: var(--color-primary);
46
- --rdp-range_start-date-background-color: var(--color-primary);
44
+ --rdp-range_start-color: var(--color-blue-grey25);
45
+ --rdp-range_start-background: var(--color-blue-grey500);
46
+ --rdp-range_start-date-background-color: var(--color-blue-grey500);
47
47
 
48
- --rdp-range_end-background: var(--color-primary);
49
- --rdp-range_end-color: white;
50
- --rdp-range_end-date-background-color: var(--color-primary);
48
+ --rdp-range_end-background: var(--color-blue-grey500);
49
+ --rdp-range_end-color: var(--color-blue-grey25);
50
+ --rdp-range_end-date-background-color: var(--color-blue-grey500);
51
51
 
52
52
  --rdp-week_number-border-radius: var(--button-border-radius);
53
53
  --rdp-week_number-border: var(--button-border-radius) solid transparent;
@@ -261,7 +261,30 @@
261
261
  }
262
262
 
263
263
  .rdp-today:not(.rdp-outside) {
264
- color: var(--color-primary);
264
+ position: relative;
265
+
266
+ &::after {
267
+ content: "";
268
+ position: absolute;
269
+ top: 67%;
270
+ left: calc(50% - 0.125rem);
271
+ width: 0.25rem;
272
+ height: 0.25rem;
273
+ border-radius: 0.5rem;
274
+ background-color: var(--color-blue-grey900);
275
+ }
276
+
277
+ &.rdp-range_end {
278
+ &::after {
279
+ background-color: var(--color-blue-grey25);
280
+ }
281
+ }
282
+
283
+ &.rdp-range_start {
284
+ &::after {
285
+ background-color: var(--color-blue-grey25);
286
+ }
287
+ }
265
288
  }
266
289
 
267
290
  .rdp-selected {
@@ -275,7 +298,7 @@
275
298
  }
276
299
 
277
300
  .rdp-selected .rdp-day_button {
278
- border: var(--button-border-radius) solid var(--color-primary);
301
+ border: var(--button-border-radius) solid var(--color-blue-grey500);
279
302
  }
280
303
 
281
304
  .rdp-outside {
@@ -15,7 +15,14 @@
15
15
  */
16
16
 
17
17
  import React, { ComponentPropsWithoutRef, Fragment, useEffect, useState } from "react";
18
- import { ClassNames, DateRange, DayPicker, Locale, PropsBase } from "react-day-picker";
18
+ import {
19
+ ClassNames,
20
+ DateRange,
21
+ DayPicker,
22
+ Locale,
23
+ PropsBase,
24
+ CustomComponents
25
+ } from "react-day-picker";
19
26
  import classes from "./DatePicker.module.scss";
20
27
  import * as locales from "date-fns/locale";
21
28
 
@@ -25,10 +32,15 @@ export interface Props extends ComponentPropsWithoutRef<any> {
25
32
  value: Date | DateRange | undefined;
26
33
  required?: boolean;
27
34
  locale?: keyof typeof locales;
35
+ numberOfMonths?: number;
36
+ components?: Partial<CustomComponents>;
37
+ disabled?: boolean;
28
38
  }
29
39
 
30
40
  export const DatePicker = ({ onSelect, value, required, mode, locale, ...rest }: Props) => {
31
41
  const [dayPickerLocale, setDayPickerLocale] = useState<Locale>(locales.enGB);
42
+ //we have to specify the endMonth value. Otherwise the date range picker doesn't let us to navigate between years
43
+ const endMonth = new Date(3000, 12);
32
44
 
33
45
  useEffect(() => {
34
46
  try {
@@ -66,6 +78,7 @@ export const DatePicker = ({ onSelect, value, required, mode, locale, ...rest }:
66
78
  {...rest}
67
79
  {...commonProps}
68
80
  mode={mode}
81
+ endMonth={endMonth}
69
82
  onSelect={onSelect}
70
83
  selected={value as Date | undefined}
71
84
  ></DayPicker>
@@ -74,6 +87,7 @@ export const DatePicker = ({ onSelect, value, required, mode, locale, ...rest }:
74
87
  {...rest}
75
88
  {...commonProps}
76
89
  mode={mode}
90
+ endMonth={endMonth}
77
91
  onSelect={onSelect}
78
92
  selected={value as DateRange | undefined}
79
93
  />
@@ -28,6 +28,7 @@ export interface Props extends ComponentPropsWithRef<"div"> {
28
28
  errorMessageIconPosition?: "before" | "after";
29
29
  errorMessage?: string;
30
30
  errorId?: string;
31
+ errorMessageProps?: ComponentPropsWithRef<"span">;
31
32
  helperText?: string;
32
33
  helperId?: string;
33
34
  helperProps?: HelperProps;
@@ -43,6 +44,7 @@ const FormGroupComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
43
44
  errorId,
44
45
  errorMessageIcon,
45
46
  errorMessageIconPosition = "before",
47
+ errorMessageProps,
46
48
  helperText,
47
49
  helperId,
48
50
  helperProps,
@@ -74,7 +76,10 @@ const FormGroupComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
74
76
  </FormHelperText>
75
77
  )}
76
78
  {error && errorMessage && (
77
- <span className={classes["error-message"]}>
79
+ <span
80
+ {...errorMessageProps}
81
+ className={`${classes["error-message"]} ${errorMessageProps?.className ? errorMessageProps.className : ""}`}
82
+ >
78
83
  <span id={errorId} className={classes.message}>
79
84
  {errorMessageIcon && errorMessageIconPosition === "before" && (
80
85
  <Icon
@@ -64,7 +64,7 @@ const FormSelectorWrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Pro
64
64
  }`}
65
65
  >
66
66
  <div {...containerProps}>{children}</div>
67
- {(helperText || helperProps?.children) && (
67
+ {(errorMessage || helperText || helperProps?.children) && (
68
68
  <FormHelperText
69
69
  {...helperProps}
70
70
  ref={helperRef}
@@ -73,7 +73,7 @@ const FormSelectorWrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Pro
73
73
  error ? classes["error"] : ""
74
74
  }`}
75
75
  >
76
- {error ? (
76
+ {error && errorMessage ? (
77
77
  <span className={classes["error-message"]} id={errorId}>
78
78
  {errorMessage}
79
79
  </span>
@@ -124,7 +124,7 @@
124
124
 
125
125
  .input {
126
126
  padding: 0;
127
- height: 40px;
127
+ height: 44px;
128
128
  color: var(--color-blue-grey900);
129
129
  font-size: var(--form-control-font-size);
130
130
  font-family: var(--font-family);
@@ -59,7 +59,7 @@ $listItemHeight: 2.5rem;
59
59
  .custom-select {
60
60
  box-sizing: border-box;
61
61
  width: 100%;
62
- min-height: calc(2.625rem - (2 * var(--input-border-width)));
62
+ min-height: calc(2.875rem - (2 * var(--input-border-width)));
63
63
  padding: 0 calc(variables.$form-element-horizontal-padding-mobile - var(--input-border-width));
64
64
  background-color: transparent;
65
65
  border-color: var(--color-blue-grey500);
@@ -18,14 +18,13 @@ import classes from "./MultiSelect.module.scss";
18
18
 
19
19
  import React, {
20
20
  ForwardRefRenderFunction,
21
- Fragment,
22
21
  ReactElement,
23
22
  createRef,
24
23
  useEffect,
25
24
  useRef,
26
25
  useState
27
26
  } from "react";
28
- import { useBodyClick } from "../../../../hooks/useBodyClick";
27
+ import { useClickOutside } from "../../../../hooks/useClickOutside";
29
28
  import { useDetermineStatusIcon } from "../../../../hooks/useDetermineStatusIcon";
30
29
  import readyclasses from "../../../../readyclasses.module.scss";
31
30
  import { escapeRegExp, filterProps, generateID } from "../../../../util/helper";
@@ -274,15 +273,16 @@ const MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSel
274
273
  syncSelectedOption(value);
275
274
  }, [value]);
276
275
 
277
- useBodyClick(
278
- (event: MouseEvent) => !(event.target as Element).closest(".custom-select") && expanded,
279
- () => {
280
- setExpanded(false);
281
- setListPosition(Position.Below);
282
- setOpacity(0);
283
- },
284
- expanded
285
- );
276
+ const myElementRef = useRef<HTMLDivElement>(null);
277
+
278
+ useClickOutside(myElementRef, () => {
279
+ if (!expanded) {
280
+ return;
281
+ }
282
+ setExpanded(false);
283
+ setListPosition(Position.Below);
284
+ setOpacity(0);
285
+ }, [expanded]);
286
286
 
287
287
  const additionalClasses = [];
288
288
  expanded && additionalClasses.push(classes.expanded);
@@ -329,7 +329,7 @@ const MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSel
329
329
 
330
330
  /** The native select is purely for external form libraries. We use it to emit an onChange with native select event object so they know exactly what's happening. */
331
331
  return (
332
- <Fragment>
332
+ <div ref={myElementRef}>
333
333
  <select
334
334
  {...filterProps(rest, /^data-/, false)}
335
335
  tabIndex={-1}
@@ -388,7 +388,7 @@ const MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSel
388
388
  </div>
389
389
  {listPosition === Position.Below ? optionsElement : undefined}
390
390
  </div>
391
- </Fragment>
391
+ </div>
392
392
  );
393
393
  };
394
394
 
@@ -59,7 +59,7 @@ $listItemHeight: 2.5rem;
59
59
  .custom-select {
60
60
  position: relative;
61
61
  width: 100%;
62
- min-height: calc(2.625rem - (2 * var(--input-border-width)));
62
+ min-height: calc(2.875rem - (2 * var(--input-border-width)));
63
63
  padding: 0 calc(variables.$form-element-horizontal-padding-mobile - var(--input-border-width));
64
64
  background-color: transparent;
65
65
  border-color: var(--color-blue-grey500);
@@ -19,13 +19,12 @@ import classes from "./Select.module.scss";
19
19
  import React, {
20
20
  createRef,
21
21
  ForwardRefRenderFunction,
22
- Fragment,
23
22
  ReactElement,
24
23
  useEffect,
25
24
  useRef,
26
25
  useState
27
26
  } from "react";
28
- import { useBodyClick } from "../../../../hooks/useBodyClick";
27
+ import { useClickOutside } from "../../../../hooks/useClickOutside";
29
28
  import { useDetermineStatusIcon } from "../../../../hooks/useDetermineStatusIcon";
30
29
  import readyclasses from "../../../../readyclasses.module.scss";
31
30
  import { filterProps } from "../../../../util/helper";
@@ -204,15 +203,16 @@ const SelectComponent: ForwardRefRenderFunction<HTMLSelectElement, SingleSelectP
204
203
  syncDisplayValue(value);
205
204
  }, [value]);
206
205
 
207
- useBodyClick(
208
- (event: MouseEvent) => !(event.target as Element).closest(".custom-select") && expanded,
209
- () => {
210
- setExpanded(false);
211
- setListPosition(Position.Below);
212
- setOpacity(0);
213
- },
214
- expanded
215
- );
206
+ const myElementRef = useRef<HTMLDivElement>(null);
207
+
208
+ useClickOutside(myElementRef, () => {
209
+ if (!expanded) {
210
+ return;
211
+ }
212
+ setExpanded(false);
213
+ setListPosition(Position.Below);
214
+ setOpacity(0);
215
+ }, [expanded]);
216
216
 
217
217
  const additionalClasses = [];
218
218
  expanded && additionalClasses.push(classes.expanded);
@@ -223,7 +223,7 @@ const SelectComponent: ForwardRefRenderFunction<HTMLSelectElement, SingleSelectP
223
223
 
224
224
  /** The native select is purely for external form libraries. We use it to emit an onChange with native select event object so they know exactly what's happening. */
225
225
  return (
226
- <Fragment>
226
+ <div ref={myElementRef}>
227
227
  <select
228
228
  {...filterProps(rest, /^data-/, false)}
229
229
  tabIndex={-1}
@@ -293,7 +293,7 @@ const SelectComponent: ForwardRefRenderFunction<HTMLSelectElement, SingleSelectP
293
293
  </div>
294
294
  </div>
295
295
  </div>
296
- </Fragment>
296
+ </div>
297
297
  );
298
298
  };
299
299
  export const Select = withReadOnly(React.forwardRef(SelectComponent));
@@ -43,21 +43,17 @@ export const useSelectPositionList = ({
43
43
  return;
44
44
  }
45
45
 
46
- // Check whether there is more space above or below the select
47
- // Check space between the bottom of select and top of viewport
48
- const spaceOnTopOfSelect = containerReference.current.getBoundingClientRect().bottom;
46
+ const listHeight = optionListReference.current?.getBoundingClientRect().height;
49
47
 
50
- // Check space between the top of the select and bottom of viewport
51
- const spaceOnBottomOfSelect =
52
- window.innerHeight - containerReference.current.getBoundingClientRect().top;
48
+ const viewportRelativeRect = containerReference.current.getBoundingClientRect();
53
49
 
54
- // Set position as if there's more space on the bottom
55
- let position = Position.Below;
50
+ const spaceOnTopOfSelect = viewportRelativeRect.top;
51
+ const spaceOnBottomOfSelect = window.innerHeight - viewportRelativeRect.bottom;
56
52
 
57
- // Set the position of the select
58
- if (spaceOnTopOfSelect > spaceOnBottomOfSelect) {
59
- position = Position.Above;
60
- }
53
+ const position =
54
+ listHeight > spaceOnBottomOfSelect && spaceOnTopOfSelect > spaceOnBottomOfSelect
55
+ ? Position.Above
56
+ : Position.Below;
61
57
 
62
58
  setListPosition(position);
63
59
 
@@ -45,6 +45,7 @@ const InputWrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
45
45
  value,
46
46
  className,
47
47
  error,
48
+ errorMessageProps,
48
49
  success,
49
50
  onChange,
50
51
  onBlur,
@@ -77,6 +78,7 @@ const InputWrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
77
78
  }}
78
79
  errorId={errorId}
79
80
  error={error}
81
+ errorMessageProps={errorMessageProps}
80
82
  helperId={helperId}
81
83
  helperText={helperText}
82
84
  helperProps={{
@@ -37,6 +37,7 @@ export interface WrapperProps extends Omit<FormElement, "success"> {
37
37
  errorMessage?: string;
38
38
  helperText?: string;
39
39
  helperProps?: HelperProps;
40
+ errorMessageProps?: ComponentPropsWithRef<"span">;
40
41
  label?: string;
41
42
  name: string;
42
43
  required?: boolean;
@@ -52,6 +53,7 @@ const WrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
52
53
  errorId,
53
54
  errorMessageIcon,
54
55
  errorMessageIconPosition,
56
+ errorMessageProps,
55
57
  helperText,
56
58
  helperId,
57
59
  required,
@@ -89,6 +91,7 @@ const WrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
89
91
  errorId={errorId}
90
92
  errorMessageIcon={errorMessageIcon}
91
93
  errorMessageIconPosition={errorMessageIconPosition}
94
+ errorMessageProps={errorMessageProps}
92
95
  helperText={helperText}
93
96
  helperId={helperId}
94
97
  helperProps={helperProps}
@@ -14,23 +14,29 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { useEffect } from "react";
17
+ import { DependencyList, useEffect } from "react";
18
18
 
19
- export const useBodyClick = (
20
- checkFunction: (event: MouseEvent) => boolean,
21
- callbackFunction: (...args: unknown[]) => unknown,
22
- dependingStateVariable: React.ComponentState | React.ComponentState[]
19
+ export const useClickOutside = (
20
+ myElementRef: React.RefObject<HTMLElement>,
21
+ onClickOutside: (event: MouseEvent) => void,
22
+ dependencies?: DependencyList
23
23
  ) => {
24
- function bodyClickListener(event: MouseEvent) {
25
- if (checkFunction(event)) {
26
- callbackFunction();
24
+ function eventListener(event: MouseEvent) {
25
+ const myElement = myElementRef?.current;
26
+ if (!myElement) {
27
+ return;
28
+ }
29
+ const clickedInsideMyElement = myElement.contains(event.target as Node);
30
+
31
+ if (!clickedInsideMyElement) {
32
+ onClickOutside(event);
27
33
  }
28
34
  }
29
35
  useEffect(() => {
30
- window.addEventListener("click", bodyClickListener);
36
+ setTimeout(() => window.addEventListener("click", eventListener));
31
37
 
32
38
  return () => {
33
- window.removeEventListener("click", bodyClickListener);
39
+ setTimeout(() => window.removeEventListener("click", eventListener));
34
40
  };
35
- }, [dependingStateVariable]);
41
+ }, dependencies);
36
42
  };
package/src/index.ts CHANGED
@@ -66,6 +66,7 @@ export type {
66
66
 
67
67
  /* Utils */
68
68
  export { useRepeater } from "./hooks/useRepeater";
69
+ export { useClickOutside } from "./hooks/useClickOutside";
69
70
  export { useFullHeightCollapse } from "./hooks/useFullHeightCollapse";
70
71
  export { usePosition } from "./hooks/usePosition";
71
72
  export type { Placement } from "./hooks/usePosition";
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react");exports.useBodyClick=(i,t,c)=>{function r(e){i(e)&&t()}e.useEffect((()=>(window.addEventListener("click",r),()=>{window.removeEventListener("click",r)})),[c])};
2
- //# sourceMappingURL=useBodyClick.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBodyClick.cjs.js","sources":["../../../../../../src/hooks/useBodyClick.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useEffect } from \"react\";\n\nexport const useBodyClick = (\n checkFunction: (event: MouseEvent) => boolean,\n callbackFunction: (...args: unknown[]) => unknown,\n dependingStateVariable: React.ComponentState | React.ComponentState[]\n) => {\n function bodyClickListener(event: MouseEvent) {\n if (checkFunction(event)) {\n callbackFunction();\n }\n }\n useEffect(() => {\n window.addEventListener(\"click\", bodyClickListener);\n\n return () => {\n window.removeEventListener(\"click\", bodyClickListener);\n };\n }, [dependingStateVariable]);\n};\n"],"names":["checkFunction","callbackFunction","dependingStateVariable","bodyClickListener","event","useEffect","window","addEventListener","removeEventListener"],"mappings":"yDAkB4B,CAC1BA,EACAC,EACAC,KAEA,SAASC,EAAkBC,GACrBJ,EAAcI,IAChBH,GAEH,CACDI,EAAAA,WAAU,KACRC,OAAOC,iBAAiB,QAASJ,GAE1B,KACLG,OAAOE,oBAAoB,QAASL,EAAkB,IAEvD,CAACD,GAAwB"}
@@ -1 +0,0 @@
1
- export declare const useBodyClick: (checkFunction: (event: MouseEvent) => boolean, callbackFunction: (...args: unknown[]) => unknown, dependingStateVariable: React.ComponentState | React.ComponentState[]) => void;
@@ -1 +0,0 @@
1
- export declare const useBodyClick: (checkFunction: (event: MouseEvent) => boolean, callbackFunction: (...args: unknown[]) => unknown, dependingStateVariable: React.ComponentState | React.ComponentState[]) => void;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBodyClick.esm.js","sources":["../../../../../../src/hooks/useBodyClick.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useEffect } from \"react\";\n\nexport const useBodyClick = (\n checkFunction: (event: MouseEvent) => boolean,\n callbackFunction: (...args: unknown[]) => unknown,\n dependingStateVariable: React.ComponentState | React.ComponentState[]\n) => {\n function bodyClickListener(event: MouseEvent) {\n if (checkFunction(event)) {\n callbackFunction();\n }\n }\n useEffect(() => {\n window.addEventListener(\"click\", bodyClickListener);\n\n return () => {\n window.removeEventListener(\"click\", bodyClickListener);\n };\n }, [dependingStateVariable]);\n};\n"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;AAcG;AAIU,MAAA,YAAY,GAAG,CAC1B,aAA6C,EAC7C,gBAAiD,EACjD,sBAAqE,KACnE;IACF,SAAS,iBAAiB,CAAC,KAAiB,EAAA;AAC1C,QAAA,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,gBAAgB,EAAE,CAAC;SACpB;KACF;IACD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAEpD,QAAA,OAAO,MAAK;AACV,YAAA,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACzD,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AAC/B;;;;"}