@onewelcome/react-lib-components 8.5.0 → 8.7.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 (334) hide show
  1. package/dist/cjs/Button/BaseButton.cjs.js +1 -1
  2. package/dist/cjs/Button/BaseButton.cjs.js.map +1 -1
  3. package/dist/cjs/ContextMenu/ContextMenu.cjs.js +1 -1
  4. package/dist/cjs/ContextMenu/ContextMenu.cjs.js.map +1 -1
  5. package/dist/cjs/DataGrid/DataGridFilters/DataGridDateFilter.cjs.js +2 -0
  6. package/dist/cjs/DataGrid/DataGridFilters/DataGridDateFilter.cjs.js.map +1 -0
  7. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js +1 -1
  8. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js.map +1 -1
  9. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilters.interfaces.cjs.js.map +1 -1
  10. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js +1 -1
  11. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js.map +1 -1
  12. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.cjs.js +2 -0
  13. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.cjs.js.map +1 -0
  14. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js +2 -0
  15. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js.map +1 -0
  16. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.cjs.js +2 -0
  17. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.cjs.js.map +1 -0
  18. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.cjs.js +2 -0
  19. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.cjs.js.map +1 -0
  20. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.cjs.js +2 -0
  21. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.cjs.js.map +1 -0
  22. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/SideMenu.cjs.js +2 -0
  23. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/SideMenu.cjs.js.map +1 -0
  24. package/dist/cjs/DatePicker/DatePicker.cjs.js +1 -1
  25. package/dist/cjs/DatePicker/DatePicker.cjs.js.map +1 -1
  26. package/dist/cjs/DatePicker/DatePicker.module.scss.cjs.js +1 -1
  27. package/dist/cjs/Form/Checkbox/Checkbox.cjs.js +1 -1
  28. package/dist/cjs/Form/Checkbox/Checkbox.cjs.js.map +1 -1
  29. package/dist/cjs/Form/Checkbox/Checkbox.module.scss.cjs.js +1 -1
  30. package/dist/cjs/Form/Fieldset/Fieldset.cjs.js +1 -1
  31. package/dist/cjs/Form/Fieldset/Fieldset.cjs.js.map +1 -1
  32. package/dist/cjs/Form/FileUpload/FileItem/FileItem.cjs.js +1 -1
  33. package/dist/cjs/Form/FileUpload/FileItem/FileItem.cjs.js.map +1 -1
  34. package/dist/cjs/Form/FileUpload/FileItem/FileItem.module.scss.cjs.js +1 -1
  35. package/dist/cjs/Form/FileUpload/FileUpload.cjs.js +1 -1
  36. package/dist/cjs/Form/FileUpload/FileUpload.cjs.js.map +1 -1
  37. package/dist/cjs/Form/FileUpload/FileUpload.module.scss.cjs.js +1 -1
  38. package/dist/cjs/Form/FormGroup/FormGroup.cjs.js +1 -1
  39. package/dist/cjs/Form/FormGroup/FormGroup.cjs.js.map +1 -1
  40. package/dist/cjs/Form/FormHelperText/FormHelperText.module.scss.cjs.js +1 -1
  41. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js +1 -1
  42. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js.map +1 -1
  43. package/dist/cjs/Form/Input/Input.cjs.js +1 -1
  44. package/dist/cjs/Form/Input/Input.cjs.js.map +1 -1
  45. package/dist/cjs/Form/Input/Input.module.scss.cjs.js +1 -1
  46. package/dist/cjs/Form/Radio/Radio.cjs.js +1 -1
  47. package/dist/cjs/Form/Radio/Radio.cjs.js.map +1 -1
  48. package/dist/cjs/Form/Radio/Radio.module.scss.cjs.js +1 -1
  49. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +1 -1
  50. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -1
  51. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.scss.cjs.js +1 -1
  52. package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.module.scss.cjs.js +1 -1
  53. package/dist/cjs/Form/Select/MultiSelect/useArrowNavigation.cjs.js +1 -1
  54. package/dist/cjs/Form/Select/MultiSelect/useArrowNavigation.cjs.js.map +1 -1
  55. package/dist/cjs/Form/Select/MultiSelect/useMultiSelect.cjs.js +2 -0
  56. package/dist/cjs/Form/Select/MultiSelect/useMultiSelect.cjs.js.map +1 -0
  57. package/dist/cjs/Form/Select/Select.interfaces.cjs.js +2 -0
  58. package/dist/cjs/Form/Select/Select.interfaces.cjs.js.map +1 -0
  59. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +1 -1
  60. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -1
  61. package/dist/cjs/Form/Select/SingleSelect/Select.module.scss.cjs.js +1 -1
  62. package/dist/cjs/Form/Select/SingleSelect/useArrowNavigation.cjs.js +1 -1
  63. package/dist/cjs/Form/Select/SingleSelect/useArrowNavigation.cjs.js.map +1 -1
  64. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js +1 -1
  65. package/dist/cjs/Form/Select/useSelectPositionList.cjs.js.map +1 -1
  66. package/dist/cjs/Form/Textarea/Textarea.cjs.js +1 -1
  67. package/dist/cjs/Form/Textarea/Textarea.cjs.js.map +1 -1
  68. package/dist/cjs/Form/Textarea/Textarea.module.scss.cjs.js +1 -1
  69. package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js +1 -1
  70. package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js.map +1 -1
  71. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js +1 -1
  72. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js.map +1 -1
  73. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.module.scss.cjs.js +1 -1
  74. package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.cjs.js +1 -1
  75. package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.cjs.js.map +1 -1
  76. package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js +1 -1
  77. package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js.map +1 -1
  78. package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js +1 -1
  79. package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js.map +1 -1
  80. package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.cjs.js +1 -1
  81. package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.cjs.js.map +1 -1
  82. package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.cjs.js +1 -1
  83. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js +1 -1
  84. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js.map +1 -1
  85. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.module.scss.cjs.js +1 -1
  86. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js +1 -1
  87. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js.map +1 -1
  88. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
  89. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  90. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
  91. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
  92. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
  93. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
  94. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
  95. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
  96. package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
  97. package/dist/cjs/src/components/DataGrid/testUtils.d.ts +7 -1
  98. package/dist/cjs/src/components/DatePicker/DatePicker.d.ts +4 -1
  99. package/dist/cjs/src/components/Form/Checkbox/Checkbox.d.ts +1 -1
  100. package/dist/cjs/src/components/Form/Fieldset/Fieldset.d.ts +1 -1
  101. package/dist/cjs/src/components/Form/FileUpload/FileItem/FileItem.d.ts +1 -1
  102. package/dist/cjs/src/components/Form/FileUpload/FileUpload.d.ts +6 -1
  103. package/dist/cjs/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
  104. package/dist/cjs/src/components/Form/Input/Input.d.ts +2 -1
  105. package/dist/cjs/src/components/Form/Radio/Radio.d.ts +1 -1
  106. package/dist/cjs/src/components/Form/Select/MultiSelect/MultiSelect.d.ts +1 -1
  107. package/dist/cjs/src/components/Form/Select/MultiSelect/useArrowNavigation.d.ts +2 -1
  108. package/dist/cjs/src/components/Form/Select/MultiSelect/useMultiSelect.d.ts +16 -0
  109. package/dist/cjs/src/components/Form/Select/Select.interfaces.d.ts +6 -4
  110. package/dist/cjs/src/components/Form/Select/SingleSelect/Select.d.ts +1 -1
  111. package/dist/cjs/src/components/Form/Select/SingleSelect/useArrowNavigation.d.ts +1 -1
  112. package/dist/cjs/src/components/Form/Select/useSelectPositionList.d.ts +2 -2
  113. package/dist/cjs/src/components/Form/Textarea/Textarea.d.ts +2 -1
  114. package/dist/cjs/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.d.ts +1 -1
  115. package/dist/cjs/src/components/Form/Wrapper/InputWrapper/InputWrapper.d.ts +1 -1
  116. package/dist/cjs/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.d.ts +1 -1
  117. package/dist/cjs/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.d.ts +1 -1
  118. package/dist/cjs/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +1 -1
  119. package/dist/cjs/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.d.ts +2 -1
  120. package/dist/cjs/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
  121. package/dist/cjs/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
  122. package/dist/cjs/src/components/withReadOnly.d.ts +8 -0
  123. package/dist/cjs/src/hooks/useClickOutside.cjs.js +2 -0
  124. package/dist/cjs/src/hooks/useClickOutside.cjs.js.map +1 -0
  125. package/dist/cjs/src/hooks/useClickOutside.d.ts +2 -0
  126. package/dist/cjs/src/hooks/useClickOutside.test.d.ts +1 -0
  127. package/dist/cjs/src/index.cjs.js +1 -1
  128. package/dist/cjs/src/index.d.ts +2 -0
  129. package/dist/cjs/src/util/unitTestUtils.d.ts +12 -0
  130. package/dist/cjs/withReadOnly.cjs.js +2 -0
  131. package/dist/cjs/withReadOnly.cjs.js.map +1 -0
  132. package/dist/esm/Button/BaseButton.esm.js +5 -2
  133. package/dist/esm/Button/BaseButton.esm.js.map +1 -1
  134. package/dist/esm/ContextMenu/ContextMenu.esm.js +6 -8
  135. package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
  136. package/dist/esm/ContextMenu/ContextMenuItem.esm.js +3 -3
  137. package/dist/esm/ContextMenu/ContextMenuItem.esm.js.map +1 -1
  138. package/dist/esm/ContextMenu/ContextMenuItem.module.scss.esm.js +2 -2
  139. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js +35 -0
  140. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js.map +1 -0
  141. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +16 -7
  142. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -1
  143. package/dist/esm/DataGrid/DataGridFilters/DataGridFilters.interfaces.esm.js.map +1 -1
  144. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +15 -12
  145. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
  146. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js +138 -0
  147. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js.map +1 -0
  148. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js +8 -0
  149. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js.map +1 -0
  150. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js +54 -0
  151. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js.map +1 -0
  152. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js +51 -0
  153. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js.map +1 -0
  154. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js +29 -0
  155. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js.map +1 -0
  156. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js +26 -0
  157. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js.map +1 -0
  158. package/dist/esm/DatePicker/DatePicker.esm.js +3 -1
  159. package/dist/esm/DatePicker/DatePicker.esm.js.map +1 -1
  160. package/dist/esm/DatePicker/DatePicker.module.scss.esm.js +2 -2
  161. package/dist/esm/Form/Checkbox/Checkbox.esm.js +2 -1
  162. package/dist/esm/Form/Checkbox/Checkbox.esm.js.map +1 -1
  163. package/dist/esm/Form/Checkbox/Checkbox.module.scss.esm.js +1 -1
  164. package/dist/esm/Form/Fieldset/Fieldset.esm.js +2 -1
  165. package/dist/esm/Form/Fieldset/Fieldset.esm.js.map +1 -1
  166. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js +10 -3
  167. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js.map +1 -1
  168. package/dist/esm/Form/FileUpload/FileItem/FileItem.module.scss.esm.js +1 -1
  169. package/dist/esm/Form/FileUpload/FileUpload.esm.js +9 -6
  170. package/dist/esm/Form/FileUpload/FileUpload.esm.js.map +1 -1
  171. package/dist/esm/Form/FileUpload/FileUpload.module.scss.esm.js +2 -2
  172. package/dist/esm/Form/FormGroup/FormGroup.esm.js +2 -2
  173. package/dist/esm/Form/FormGroup/FormGroup.esm.js.map +1 -1
  174. package/dist/esm/Form/FormHelperText/FormHelperText.module.scss.esm.js +1 -1
  175. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js +1 -1
  176. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js.map +1 -1
  177. package/dist/esm/Form/Input/Input.esm.js +7 -5
  178. package/dist/esm/Form/Input/Input.esm.js.map +1 -1
  179. package/dist/esm/Form/Input/Input.module.scss.esm.js +2 -2
  180. package/dist/esm/Form/Radio/Radio.esm.js +2 -1
  181. package/dist/esm/Form/Radio/Radio.esm.js.map +1 -1
  182. package/dist/esm/Form/Radio/Radio.module.scss.esm.js +1 -1
  183. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +33 -18
  184. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
  185. package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.scss.esm.js +2 -2
  186. package/dist/esm/Form/Select/MultiSelect/SelectedOptions.module.scss.esm.js +1 -1
  187. package/dist/esm/Form/Select/MultiSelect/useArrowNavigation.esm.js +4 -1
  188. package/dist/esm/Form/Select/MultiSelect/useArrowNavigation.esm.js.map +1 -1
  189. package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js +63 -0
  190. package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js.map +1 -0
  191. package/dist/esm/Form/Select/Select.interfaces.esm.js +23 -0
  192. package/dist/esm/Form/Select/Select.interfaces.esm.js.map +1 -0
  193. package/dist/esm/Form/Select/SingleSelect/Select.esm.js +29 -20
  194. package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
  195. package/dist/esm/Form/Select/SingleSelect/Select.module.scss.esm.js +2 -2
  196. package/dist/esm/Form/Select/SingleSelect/useArrowNavigation.esm.js +4 -1
  197. package/dist/esm/Form/Select/SingleSelect/useArrowNavigation.esm.js.map +1 -1
  198. package/dist/esm/Form/Select/useSelectPositionList.esm.js +11 -13
  199. package/dist/esm/Form/Select/useSelectPositionList.esm.js.map +1 -1
  200. package/dist/esm/Form/Textarea/Textarea.esm.js +12 -5
  201. package/dist/esm/Form/Textarea/Textarea.esm.js.map +1 -1
  202. package/dist/esm/Form/Textarea/Textarea.module.scss.esm.js +1 -1
  203. package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js +4 -1
  204. package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js.map +1 -1
  205. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js +6 -4
  206. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js.map +1 -1
  207. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.module.scss.esm.js +1 -1
  208. package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js +3 -2
  209. package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js.map +1 -1
  210. package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js +17 -10
  211. package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js.map +1 -1
  212. package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js +5 -2
  213. package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js.map +1 -1
  214. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js +20 -10
  215. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js.map +1 -1
  216. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.esm.js +2 -2
  217. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js +2 -2
  218. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js.map +1 -1
  219. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.module.scss.esm.js +1 -1
  220. package/dist/esm/_BaseStyling_/BaseStyling.esm.js +2 -0
  221. package/dist/esm/_BaseStyling_/BaseStyling.esm.js.map +1 -1
  222. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
  223. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  224. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
  225. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
  226. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
  227. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
  228. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
  229. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
  230. package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
  231. package/dist/esm/src/components/DataGrid/testUtils.d.ts +7 -1
  232. package/dist/esm/src/components/DatePicker/DatePicker.d.ts +4 -1
  233. package/dist/esm/src/components/Form/Checkbox/Checkbox.d.ts +1 -1
  234. package/dist/esm/src/components/Form/Fieldset/Fieldset.d.ts +1 -1
  235. package/dist/esm/src/components/Form/FileUpload/FileItem/FileItem.d.ts +1 -1
  236. package/dist/esm/src/components/Form/FileUpload/FileUpload.d.ts +6 -1
  237. package/dist/esm/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
  238. package/dist/esm/src/components/Form/Input/Input.d.ts +2 -1
  239. package/dist/esm/src/components/Form/Radio/Radio.d.ts +1 -1
  240. package/dist/esm/src/components/Form/Select/MultiSelect/MultiSelect.d.ts +1 -1
  241. package/dist/esm/src/components/Form/Select/MultiSelect/useArrowNavigation.d.ts +2 -1
  242. package/dist/esm/src/components/Form/Select/MultiSelect/useMultiSelect.d.ts +16 -0
  243. package/dist/esm/src/components/Form/Select/MultiSelect/useMultiSelect.test.d.ts +1 -0
  244. package/dist/esm/src/components/Form/Select/Select.interfaces.d.ts +6 -4
  245. package/dist/esm/src/components/Form/Select/SingleSelect/Select.d.ts +1 -1
  246. package/dist/esm/src/components/Form/Select/SingleSelect/useArrowNavigation.d.ts +1 -1
  247. package/dist/esm/src/components/Form/Select/useSelectPositionList.d.ts +2 -2
  248. package/dist/esm/src/components/Form/Textarea/Textarea.d.ts +2 -1
  249. package/dist/esm/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.d.ts +1 -1
  250. package/dist/esm/src/components/Form/Wrapper/InputWrapper/InputWrapper.d.ts +1 -1
  251. package/dist/esm/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.d.ts +1 -1
  252. package/dist/esm/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.d.ts +1 -1
  253. package/dist/esm/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +1 -1
  254. package/dist/esm/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.d.ts +2 -1
  255. package/dist/esm/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
  256. package/dist/esm/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
  257. package/dist/esm/src/components/withReadOnly.d.ts +8 -0
  258. package/dist/esm/src/components/withReadOnly.test.d.ts +1 -0
  259. package/dist/esm/src/hooks/useClickOutside.d.ts +2 -0
  260. package/dist/esm/src/hooks/useClickOutside.esm.js +38 -0
  261. package/dist/esm/src/hooks/useClickOutside.esm.js.map +1 -0
  262. package/dist/esm/src/hooks/useClickOutside.test.d.ts +1 -0
  263. package/dist/esm/src/index.d.ts +2 -0
  264. package/dist/esm/src/index.esm.js +2 -0
  265. package/dist/esm/src/index.esm.js.map +1 -1
  266. package/dist/esm/src/util/unitTestUtils.d.ts +12 -0
  267. package/dist/esm/withReadOnly.esm.js +70 -0
  268. package/dist/esm/withReadOnly.esm.js.map +1 -0
  269. package/package.json +21 -17
  270. package/src/components/Button/BaseButton.tsx +7 -4
  271. package/src/components/ContextMenu/ContextMenu.tsx +5 -13
  272. package/src/components/DataGrid/DataGridBody/__snapshots__/DataGridBody.test.tsx.snap +4 -4
  273. package/src/components/DataGrid/DataGridFilters/DataGridDateFilter.tsx +65 -0
  274. package/src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx +25 -5
  275. package/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.ts +18 -1
  276. package/src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx +53 -33
  277. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss +134 -0
  278. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.tsx +267 -0
  279. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.tsx +103 -0
  280. package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.tsx +121 -0
  281. package/src/{hooks/useBodyClick.ts → components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.ts} +12 -18
  282. package/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.tsx +50 -0
  283. package/src/components/DataGrid/testUtils.ts +48 -15
  284. package/src/components/DatePicker/DatePicker.module.scss +32 -9
  285. package/src/components/DatePicker/DatePicker.tsx +15 -1
  286. package/src/components/Form/Checkbox/Checkbox.module.scss +70 -0
  287. package/src/components/Form/Checkbox/Checkbox.tsx +2 -1
  288. package/src/components/Form/Fieldset/Fieldset.tsx +2 -1
  289. package/src/components/Form/FileUpload/FileItem/FileItem.module.scss +16 -0
  290. package/src/components/Form/FileUpload/FileItem/FileItem.tsx +17 -3
  291. package/src/components/Form/FileUpload/FileUpload.module.scss +57 -1
  292. package/src/components/Form/FileUpload/FileUpload.tsx +16 -6
  293. package/src/components/Form/FormGroup/FormGroup.tsx +6 -1
  294. package/src/components/Form/FormHelperText/FormHelperText.module.scss +4 -0
  295. package/src/components/Form/FormSelectorWrapper/FormSelectorWrapper.tsx +2 -2
  296. package/src/components/Form/Input/Input.module.scss +26 -0
  297. package/src/components/Form/Input/Input.tsx +10 -1
  298. package/src/components/Form/Radio/Radio.module.scss +46 -0
  299. package/src/components/Form/Radio/Radio.tsx +2 -1
  300. package/src/components/Form/Select/MultiSelect/MultiSelect.module.scss +35 -1
  301. package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +53 -38
  302. package/src/components/Form/Select/MultiSelect/SelectedOptions.module.scss +8 -0
  303. package/src/components/Form/Select/MultiSelect/useArrowNavigation.ts +6 -1
  304. package/src/components/Form/Select/MultiSelect/useMultiSelect.tsx +98 -0
  305. package/src/components/Form/Select/Select.interfaces.ts +6 -4
  306. package/src/components/Form/Select/SingleSelect/Select.module.scss +60 -1
  307. package/src/components/Form/Select/SingleSelect/Select.tsx +42 -37
  308. package/src/components/Form/Select/SingleSelect/useArrowNavigation.ts +6 -1
  309. package/src/components/Form/Select/useSelectPositionList.ts +10 -14
  310. package/src/components/Form/Textarea/Textarea.module.scss +24 -0
  311. package/src/components/Form/Textarea/Textarea.tsx +24 -3
  312. package/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx +4 -1
  313. package/src/components/Form/Wrapper/InputWrapper/InputWrapper.module.scss +14 -0
  314. package/src/components/Form/Wrapper/InputWrapper/InputWrapper.tsx +6 -2
  315. package/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.tsx +3 -1
  316. package/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.tsx +17 -12
  317. package/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.tsx +6 -1
  318. package/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss +43 -0
  319. package/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx +45 -20
  320. package/src/components/Form/Wrapper/Wrapper/Wrapper.module.scss +6 -0
  321. package/src/components/Form/Wrapper/Wrapper/Wrapper.tsx +3 -0
  322. package/src/components/_BaseStyling_/BaseStyling.tsx +4 -0
  323. package/src/components/withReadOnly.tsx +112 -0
  324. package/src/hooks/useClickOutside.ts +42 -0
  325. package/src/index.ts +2 -0
  326. package/src/mixins.module.scss +6 -0
  327. package/{dist/esm/src/hooks/useBodyClick.esm.js → src/util/unitTestUtils.ts} +16 -17
  328. package/dist/cjs/src/hooks/useBodyClick.cjs.js +0 -2
  329. package/dist/cjs/src/hooks/useBodyClick.cjs.js.map +0 -1
  330. package/dist/cjs/src/hooks/useBodyClick.d.ts +0 -1
  331. package/dist/esm/src/hooks/useBodyClick.d.ts +0 -1
  332. package/dist/esm/src/hooks/useBodyClick.esm.js.map +0 -1
  333. /package/dist/cjs/src/{hooks/useBodyClick.test.d.ts → components/Form/Select/MultiSelect/useMultiSelect.test.d.ts} +0 -0
  334. /package/dist/{esm/src/hooks/useBodyClick.test.d.ts → cjs/src/components/withReadOnly.test.d.ts} +0 -0
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { DateRange } from "react-day-picker";
3
+ type Props = {
4
+ previousMonth: string;
5
+ nextMonth: string;
6
+ selectedDate: DateRange | undefined;
7
+ disableDateRangePickers: boolean;
8
+ setSelectedDate: React.Dispatch<React.SetStateAction<DateRange>>;
9
+ setFromDateText: React.Dispatch<React.SetStateAction<string>>;
10
+ setToDateText: React.Dispatch<React.SetStateAction<string>>;
11
+ setFromDateError: React.Dispatch<React.SetStateAction<string>>;
12
+ setToDateError: React.Dispatch<React.SetStateAction<string>>;
13
+ };
14
+ export declare const DateTimePickerCalendarSection: ({ previousMonth, nextMonth, selectedDate, disableDateRangePickers, setSelectedDate, setFromDateText, setFromDateError, setToDateError, setToDateText }: Props) => React.JSX.Element;
15
+ export {};
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { DateRange } from "react-day-picker";
3
+ export type Props = {
4
+ from: string;
5
+ to: string;
6
+ dateInputPlaceholder: string;
7
+ dateFormatError: string;
8
+ fromDateText: string;
9
+ toDateText: string;
10
+ fromDateError: string;
11
+ toDateError: string;
12
+ setSelectedDate: React.Dispatch<React.SetStateAction<DateRange>>;
13
+ setFromDateText: React.Dispatch<React.SetStateAction<string>>;
14
+ setToDateText: React.Dispatch<React.SetStateAction<string>>;
15
+ setFromDateError: React.Dispatch<React.SetStateAction<string>>;
16
+ setToDateError: React.Dispatch<React.SetStateAction<string>>;
17
+ };
18
+ export declare const DateTimePickerInputSection: ({ from, to, dateInputPlaceholder, dateFormatError, toDateText, fromDateText, fromDateError, toDateError, setSelectedDate, setFromDateText, setToDateText, setFromDateError, setToDateError }: Props) => React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { Locale } from "date-fns";
2
+ export declare const THIRTY_SECONDS = "THIRTY_SECONDS";
3
+ export declare const ONE_MINUTE = "ONE_MINUTE";
4
+ export declare const FIVE_MINUTES = "FIVE_MINUTES";
5
+ export declare const ONE_HOUR = "ONE_HOUR";
6
+ export declare const TWENTY_FOUR_HOURS = "TWENTY_FOUR_HOURS";
7
+ export declare const CUSTOM_DATE_RANGE = "CUSTOM";
8
+ export declare const getMonthName: (date: Date, locale?: Locale) => string;
9
+ export declare const getYearFromDate: (date: Date) => string;
10
+ export declare const formatInputDate: (date: Date) => string;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { SideMenuItem } from "./DateTimePicker";
3
+ import { DateTimeFilterType } from "../DataGridFilters.interfaces";
4
+ type Props = {
5
+ sideMenuItems: SideMenuItem[];
6
+ selectedItemId: string;
7
+ onItemSelect: (id: DateTimeFilterType) => void;
8
+ };
9
+ export declare const SideMenu: ({ sideMenuItems, selectedItemId, onItemSelect }: Props) => React.JSX.Element;
10
+ export {};
@@ -1,4 +1,4 @@
1
- import { Filter } from "./DataGridFilters/DataGridFilters.interfaces";
1
+ import { DateTimeFilter, Filter } from "./DataGridFilters/DataGridFilters.interfaces";
2
2
  /**
3
3
  * @scope .
4
4
  * @scopeException stories/DataGrid/DataGrid.stories.tsx
@@ -14,3 +14,9 @@ export declare const useMockFilteringLogic: <T extends {
14
14
  setGridData: import("react").Dispatch<import("react").SetStateAction<T[]>>;
15
15
  filters: Filter[];
16
16
  };
17
+ export declare const useMockFilteringByDateLogic: <T extends {
18
+ [k: string]: string | Date;
19
+ }>(data: T[], dateFieldKey: string, filterValue: DateTimeFilter | undefined) => {
20
+ gridData: T[];
21
+ setGridData: import("react").Dispatch<import("react").SetStateAction<T[]>>;
22
+ };
@@ -1,5 +1,5 @@
1
1
  import React, { ComponentPropsWithoutRef } from "react";
2
- import { DateRange } from "react-day-picker";
2
+ import { DateRange, CustomComponents } from "react-day-picker";
3
3
  import * as locales from "date-fns/locale";
4
4
  export interface Props extends ComponentPropsWithoutRef<any> {
5
5
  onSelect: (date: Date | DateRange | undefined) => void;
@@ -7,5 +7,8 @@ export interface Props extends ComponentPropsWithoutRef<any> {
7
7
  value: Date | DateRange | undefined;
8
8
  required?: boolean;
9
9
  locale?: keyof typeof locales;
10
+ numberOfMonths?: number;
11
+ components?: Partial<CustomComponents>;
12
+ disabled?: boolean;
10
13
  }
11
14
  export declare const DatePicker: ({ onSelect, value, required, mode, locale, ...rest }: Props) => React.JSX.Element;
@@ -9,4 +9,4 @@ export interface Props extends ComponentPropsWithRef<"input">, Omit<FormSelector
9
9
  formSelectorWrapperProps?: FormSelectorWrapperProps;
10
10
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
11
11
  }
12
- export declare const Checkbox: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement>>;
12
+ export declare const Checkbox: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement> & import("../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -11,4 +11,4 @@ export interface Props extends ComponentPropsWithRef<"fieldset"> {
11
11
  required?: boolean;
12
12
  disablePropagation?: boolean;
13
13
  }
14
- export declare const Fieldset: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLFieldSetElement>>;
14
+ export declare const Fieldset: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLFieldSetElement> & import("../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -24,4 +24,4 @@ export declare enum ACTION_STATUS {
24
24
  RETRY = "retry",
25
25
  READONLY = "readonly"
26
26
  }
27
- export declare const FileItem: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
27
+ export declare const FileItem: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement> & import("../../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -14,6 +14,9 @@ export interface Props extends FileUploadType {
14
14
  maxFileSizeInBytes?: number;
15
15
  selectButtonText?: string;
16
16
  dragAndDropText?: string;
17
+ /**
18
+ * @deprecated use the `helperText` prop instead
19
+ */
17
20
  subText?: string;
18
21
  onDragOver?: DragEventHandler;
19
22
  onDragEnter?: DragEventHandler;
@@ -25,6 +28,8 @@ export interface Props extends FileUploadType {
25
28
  isRequired?: boolean;
26
29
  invalidDropErrorMessage?: string;
27
30
  noMultipleFileDropErrorMessage?: string;
31
+ readOnlyViewMessage?: string;
32
+ helperText?: string;
28
33
  }
29
- export declare const FileUpload: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement>>;
34
+ export declare const FileUpload: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement> & import("../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
30
35
  export {};
@@ -9,6 +9,7 @@ export interface Props extends ComponentPropsWithRef<"div"> {
9
9
  errorMessageIconPosition?: "before" | "after";
10
10
  errorMessage?: string;
11
11
  errorId?: string;
12
+ errorMessageProps?: ComponentPropsWithRef<"span">;
12
13
  helperText?: string;
13
14
  helperId?: string;
14
15
  helperProps?: HelperProps;
@@ -9,5 +9,6 @@ export type Props = MergeElementProps<"input", FormElement & {
9
9
  type: Type;
10
10
  suffix?: ReactNode;
11
11
  prefix?: ReactNode;
12
+ readOnlyView?: boolean;
12
13
  }>;
13
- export declare const Input: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement>>;
14
+ export declare const Input: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement> & import("../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -8,4 +8,4 @@ export interface Props extends ComponentPropsWithRef<"input">, Omit<FormSelector
8
8
  formSelectorWrapperProps?: FormSelectorWrapperProps;
9
9
  helperProps?: HelperProps;
10
10
  }
11
- export declare const Radio: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement>>;
11
+ export declare const Radio: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement> & import("../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import { MultiSelectProps } from "../Select.interfaces";
3
- export declare const MultiSelect: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "ref"> & React.RefAttributes<HTMLSelectElement>>;
3
+ export declare const MultiSelect: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<MultiSelectProps, "ref"> & React.RefAttributes<HTMLSelectElement> & import("../../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -8,9 +8,10 @@ interface UseArrowNavigationParams {
8
8
  searchInputRef: React.RefObject<HTMLInputElement>;
9
9
  customSelectButtonRef: React.RefObject<HTMLButtonElement>;
10
10
  onClose: () => void;
11
+ isReadOnlyView?: boolean;
11
12
  }
12
13
  /** @scope .*/
13
- export declare const useArrowNavigation: ({ expanded, setExpanded, setFocusedSelectItem, childrenCount, setShouldClick, addBtnRef, searchInputRef, customSelectButtonRef, onClose }: UseArrowNavigationParams) => {
14
+ export declare const useArrowNavigation: ({ expanded, setExpanded, setFocusedSelectItem, childrenCount, setShouldClick, addBtnRef, searchInputRef, customSelectButtonRef, onClose, isReadOnlyView }: UseArrowNavigationParams) => {
14
15
  onArrowNavigation: (event: React.KeyboardEvent) => void;
15
16
  };
16
17
  export {};
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ export interface UseMultiSelectArgs {
3
+ initialOptions?: string[];
4
+ allOptions?: string[];
5
+ setAllOptions?: (options: string[]) => void;
6
+ pickedOptions: string[];
7
+ setPickedOptions: (options: string[]) => void;
8
+ onAddNew?: (newOption: string) => void;
9
+ }
10
+ export interface UseMultiSelectResult {
11
+ handleOptionChange: (e: React.ChangeEvent<HTMLSelectElement>) => void;
12
+ onAddNew: (newValue: string) => void;
13
+ optionElements: React.JSX.Element[];
14
+ }
15
+ export type UseMultiSelect = (args: UseMultiSelectArgs) => UseMultiSelectResult;
16
+ export declare const useMultiSelect: UseMultiSelect;
@@ -30,13 +30,14 @@ export interface SelectProps<V extends string | readonly string[] | undefined> e
30
30
  noResultsLabel?: string;
31
31
  onChange?: (event: React.ChangeEvent<HTMLSelectElement>, child?: ReactElement) => void;
32
32
  addNew?: AddNewProps;
33
+ isReadOnlyView?: boolean;
33
34
  }
34
35
  export type SingleSelectProps = SelectProps<string>;
35
36
  export type MultiSelectProps = SelectProps<string[]>;
36
- export type Position = {
37
- top: number | `${number}rem` | "initial";
38
- bottom: number | `${number}rem` | "initial";
39
- };
37
+ export declare enum Position {
38
+ Above = "Above",
39
+ Below = "Below"
40
+ }
40
41
  export interface UseArrowNavigationParams {
41
42
  expanded: boolean;
42
43
  setExpanded: React.Dispatch<React.SetStateAction<boolean>>;
@@ -49,6 +50,7 @@ export interface UseArrowNavigationParams {
49
50
  searchInputRef: React.RefObject<HTMLInputElement>;
50
51
  addBtnRef?: React.RefObject<HTMLButtonElement>;
51
52
  renderThreshold: number;
53
+ isReadOnlyView?: boolean;
52
54
  }
53
55
  export interface UseSelectPositionListParams {
54
56
  expanded: boolean;
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import { SingleSelectProps } from "../Select.interfaces";
3
- export declare const Select: React.ForwardRefExoticComponent<Omit<SingleSelectProps, "ref"> & React.RefAttributes<HTMLSelectElement>>;
3
+ export declare const Select: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<SingleSelectProps, "ref"> & React.RefAttributes<HTMLSelectElement> & import("../../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -1,5 +1,5 @@
1
1
  import { UseArrowNavigationParams } from "../Select.interfaces";
2
2
  /** @scope .*/
3
- export declare const useArrowNavigation: ({ expanded, setExpanded, isSearching, setIsSearching, setFocusedSelectItem, onOptionChangeHandler, childrenCount, setShouldClick, searchInputRef, addBtnRef, renderThreshold }: UseArrowNavigationParams) => {
3
+ export declare const useArrowNavigation: ({ expanded, setExpanded, isSearching, setIsSearching, setFocusedSelectItem, onOptionChangeHandler, childrenCount, setShouldClick, searchInputRef, addBtnRef, renderThreshold, isReadOnlyView }: UseArrowNavigationParams) => {
4
4
  onArrowNavigation: (event: React.KeyboardEvent) => void;
5
5
  };
@@ -7,6 +7,6 @@ export declare const useSelectPositionList: ({ expanded, optionListReference, ad
7
7
  };
8
8
  opacity: number;
9
9
  setOpacity: import("react").Dispatch<import("react").SetStateAction<number>>;
10
- listPosition: Partial<Position>;
11
- setListPosition: import("react").Dispatch<import("react").SetStateAction<Partial<Position>>>;
10
+ listPosition: Position;
11
+ setListPosition: import("react").Dispatch<import("react").SetStateAction<Position>>;
12
12
  };
@@ -2,5 +2,6 @@ import React, { ComponentPropsWithRef } from "react";
2
2
  import { FormElement } from "../form.interfaces";
3
3
  export interface Props extends ComponentPropsWithRef<"textarea">, FormElement {
4
4
  wrapperProps?: ComponentPropsWithRef<"div">;
5
+ readOnlyView?: boolean;
5
6
  }
6
- export declare const Textarea: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
7
+ export declare const Textarea: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLTextAreaElement> & import("../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -9,4 +9,4 @@ export interface Props extends ComponentPropsWithRef<"div">, Omit<WrapperProps,
9
9
  /**
10
10
  * @deprecated
11
11
  */
12
- export declare const CheckboxWrapper: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ export declare const CheckboxWrapper: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement> & import("../../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -14,5 +14,5 @@ export interface Props extends ComponentPropsWithRef<"div">, WrapperProps {
14
14
  onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
15
15
  success?: boolean;
16
16
  }
17
- export declare const InputWrapper: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
17
+ export declare const InputWrapper: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement> & import("../../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
18
18
  export {};
@@ -12,5 +12,5 @@ export interface Props extends Omit<ComponentPropsWithRef<"div">, "onChange">, O
12
12
  onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;
13
13
  success?: boolean;
14
14
  }
15
- export declare const MultiSelectWrapper: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
+ export declare const MultiSelectWrapper: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement> & import("../../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
16
16
  export {};
@@ -7,4 +7,4 @@ export interface Props extends ComponentPropsWithRef<"div">, WrapperProps {
7
7
  value: string;
8
8
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
9
9
  }
10
- export declare const RadioWrapper: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ export declare const RadioWrapper: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement> & import("../../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -12,5 +12,5 @@ export interface Props extends Omit<ComponentPropsWithRef<"div">, "onChange">, O
12
12
  onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;
13
13
  success?: boolean;
14
14
  }
15
- export declare const SelectWrapper: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
+ export declare const SelectWrapper: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement> & import("../../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
16
16
  export {};
@@ -11,5 +11,6 @@ export interface Props extends Omit<ComponentPropsWithRef<"div">, "onFocus" | "o
11
11
  onMouseEnter?: (event: React.MouseEvent<HTMLTextAreaElement>) => void;
12
12
  onMouseLeave?: (event: React.MouseEvent<HTMLTextAreaElement>) => void;
13
13
  success?: boolean;
14
+ readOnlyView?: boolean;
14
15
  }
15
- export declare const TextareaWrapper: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
16
+ export declare const TextareaWrapper: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement> & import("../../../withReadOnly").WithReadOnlyProps>, "ref"> & React.RefAttributes<any>>;
@@ -18,6 +18,7 @@ export interface WrapperProps extends Omit<FormElement, "success"> {
18
18
  errorMessage?: string;
19
19
  helperText?: string;
20
20
  helperProps?: HelperProps;
21
+ errorMessageProps?: ComponentPropsWithRef<"span">;
21
22
  label?: string;
22
23
  name: string;
23
24
  required?: boolean;
@@ -185,6 +185,8 @@ interface CSSProperties {
185
185
  fileUploadBorderWidth?: string;
186
186
  dragDropBorderStyle?: string;
187
187
  fontSizeDataGrid?: string;
188
+ readOnlyBorderColor?: string;
189
+ readOnlyTextColor?: string;
188
190
  }
189
191
  export interface Props extends HTMLAttributes<HTMLDivElement> {
190
192
  children?: ReactElement[] | ReactElement | string[] | string | number[] | number;
@@ -0,0 +1,8 @@
1
+ import React, { ComponentType } from "react";
2
+ export interface WithReadOnlyProps {
3
+ readOnlyView?: boolean;
4
+ required?: boolean;
5
+ helperText?: string;
6
+ type?: string;
7
+ }
8
+ export declare const withReadOnly: <P extends object>(WrappedComponent: ComponentType<P>) => React.ForwardRefExoticComponent<React.PropsWithoutRef<React.PropsWithChildren<P & WithReadOnlyProps>> & React.RefAttributes<any>>;
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react");exports.useClickOutside=(t,i,n)=>{function r(e){const n=null==t?void 0:t.current;if(!n)return;n.contains(e.target)||i(e)}e.useEffect((()=>(setTimeout((()=>window.addEventListener("click",r))),()=>{setTimeout((()=>window.removeEventListener("click",r)))})),n)};
2
+ //# sourceMappingURL=useClickOutside.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useClickOutside.cjs.js","sources":["../../../../../../src/hooks/useClickOutside.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 { DependencyList, useEffect } from \"react\";\n\nexport const useClickOutside = (\n myElementRef: React.RefObject<HTMLElement>,\n onClickOutside: (event: MouseEvent) => void,\n dependencies?: DependencyList\n) => {\n function eventListener(event: MouseEvent) {\n const myElement = myElementRef?.current;\n if (!myElement) {\n return;\n }\n const clickedInsideMyElement = myElement.contains(event.target as Node);\n\n if (!clickedInsideMyElement) {\n onClickOutside(event);\n }\n }\n useEffect(() => {\n setTimeout(() => window.addEventListener(\"click\", eventListener));\n\n return () => {\n setTimeout(() => window.removeEventListener(\"click\", eventListener));\n };\n }, dependencies);\n};\n"],"names":["myElementRef","onClickOutside","dependencies","eventListener","event","myElement","current","contains","target","useEffect","setTimeout","window","addEventListener","removeEventListener"],"mappings":"4DAkB+B,CAC7BA,EACAC,EACAC,KAEA,SAASC,EAAcC,GACrB,MAAMC,EAAYL,aAAA,EAAAA,EAAcM,QAChC,IAAKD,EACH,OAE6BA,EAAUE,SAASH,EAAMI,SAGtDP,EAAeG,EAElB,CACDK,EAAAA,WAAU,KACRC,YAAW,IAAMC,OAAOC,iBAAiB,QAAST,KAE3C,KACLO,YAAW,IAAMC,OAAOE,oBAAoB,QAASV,IAAe,IAErED,EAAa"}
@@ -0,0 +1,2 @@
1
+ import { DependencyList } from "react";
2
+ export declare const useClickOutside: (myElementRef: React.RefObject<HTMLElement>, onClickOutside: (event: MouseEvent) => void, dependencies?: DependencyList) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("../_BaseStyling_/BaseStyling.cjs.js"),r=require("../Button/Button.cjs.js"),t=require("../Breadcrumbs/Breadcrumbs.cjs.js"),o=require("../ContextMenu/ContextMenu.cjs.js"),s=require("../ContextMenu/ContextMenuItem.cjs.js"),i=require("../Link/Link.cjs.js"),a=require("../Icon/Icon.cjs.js"),p=require("../Button/IconButton.cjs.js"),n=require("../Tabs/Tab.cjs.js"),l=require("../Tabs/Tabs.cjs.js"),c=require("../Tag/Tag.cjs.js"),u=require("../TextEllipsis/TextEllipsis.cjs.js"),j=require("../Tiles/Tile.cjs.js"),d=require("../Tiles/Tiles.cjs.js"),x=require("../Tooltip/Tooltip.cjs.js"),S=require("../Typography/Typography.cjs.js"),F=require("../ProgressBar/ProgressBar.cjs.js"),q=require("../Skeleton/Skeleton.cjs.js"),m=require("../Spinner/Spinner.cjs.js"),C=require("../Stepper/Stepper.cjs.js"),T=require("../Pagination/Pagination.cjs.js"),M=require("./hooks/useRepeater.cjs.js"),g=require("./hooks/useFullHeightCollapse.cjs.js"),h=require("./hooks/usePosition.cjs.js"),D=require("./hooks/useDebouncedCallback.cjs.js"),B=require("./hooks/useUploadFile.cjs.js"),I=require("./util/helper.cjs.js"),b=require("../Notifications/BaseModal/BaseModal.cjs.js"),W=require("../Notifications/Alert/useAlert.cjs.js"),f=require("../Notifications/Alert/AlertProvider/AlertProvider.cjs.js"),G=require("../Notifications/Alert/AlertItem/AlertItem.cjs.js"),k=require("../Notifications/Dialog/Dialog.cjs.js"),P=require("../Notifications/DiscardChangesModal/DiscardChangesModal.cjs.js"),y=require("../Notifications/BaseModal/BaseModalActions/BaseModalActions.cjs.js"),A=require("../Notifications/BaseModal/BaseModalContent/BaseModalContent.cjs.js"),N=require("../Notifications/BaseModal/BaseModalHeader/BaseModalHeader.cjs.js"),H=require("../Notifications/NotificationProvider/NotificationContext.cjs.js"),R=require("../Notifications/SlideInModal/SlideInModal.cjs.js"),L=require("../Notifications/SideSheet/SideSheet.cjs.js"),O=require("../Notifications/SideSheet/SideSheetContent/SideSheetContent.cjs.js"),U=require("../Notifications/SideSheet/SideSheetHeader/SideSheetHeader.cjs.js"),v=require("../Form/Checkbox/Checkbox.cjs.js"),w=require("../Form/Fieldset/Fieldset.cjs.js"),E=require("../Form/Form.cjs.js"),_=require("../Form/FormControl/FormControl.cjs.js"),K=require("../Form/FormGroup/FormGroup.cjs.js"),z=require("../Form/FormHelperText/FormHelperText.cjs.js"),J=require("../Form/Input/Input.cjs.js"),Q=require("../Form/Wrapper/InputWrapper/InputWrapper.cjs.js"),V=require("../Form/Label/Label.cjs.js"),X=require("../Form/Radio/Radio.cjs.js"),Y=require("../Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js"),Z=require("../Form/Select/SingleSelect/Select.cjs.js"),$=require("../Form/Select/MultiSelect/MultiSelect.cjs.js"),ee=require("../Form/Select/SingleSelect/Option.cjs.js"),re=require("../Form/Select/MultiSelect/MultiOption.cjs.js"),te=require("../Form/Textarea/Textarea.cjs.js"),oe=require("../Form/Toggle/Toggle.cjs.js"),se=require("../Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js"),ie=require("../Form/Wrapper/TextareaWrapper/TextareaWrapper.cjs.js"),ae=require("../Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js"),pe=require("../Form/FileUpload/FileUpload.cjs.js"),ne=require("../Form/FileUpload/FileItem/FileItem.cjs.js"),le=require("../Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.cjs.js"),ce=require("../Layout/ContentHeader/ContentHeader.cjs.js"),ue=require("../Layout/FormPage/FormWithStepper/FormStepper/FormStepper.cjs.js"),je=require("../Layout/FormPage/FormWithStepper/FormSection/FormSection.cjs.js"),de=require("../Layout/FormPage/FormWithStepper/FormWithStepper.cjs.js"),xe=require("../DataGrid/DataGrid.cjs.js"),Se=require("../DataGrid/DataGridBody/DataGridRow/DataGridRow.cjs.js"),Fe=require("../DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.cjs.js"),qe=require("../DataGrid/DataGridBody/DataGridCell/DataGridCell.cjs.js"),me=require("../DataGrid/DataGridFilters/FilterKeyMapper.cjs.js"),Ce=require("../DataGrid/DataGridFilters/useFiltersReducer.cjs.js"),Te=require("../Notifications/Banner/Banner.cjs.js"),Me=require("../DatePicker/DatePicker.cjs.js"),ge=require("../admin/layout/MicrofrontendContainer/MicrofrontendContainer.cjs.js");exports.BaseStyling=e.BaseStyling,exports.Button=r.Button,exports.Breadcrumbs=t.Breadcrumbs,exports.ContextMenu=o.ContextMenu,exports.ContextMenuItem=s.ContextMenuItem,exports.Link=i.Link,exports.Icon=a.Icon,Object.defineProperty(exports,"Icons",{enumerable:!0,get:function(){return a.Icons}}),exports.IconButton=p.IconButton,exports.Tab=n.Tab,exports.Tabs=l.Tabs,exports.Tag=c.Tag,exports.TextEllipsis=u.TextEllipsis,exports.Tile=j.Tile,exports.Tiles=d.Tiles,exports.Tooltip=x.Tooltip,exports.Typography=S.Typography,exports.ProgressBar=F.ProgressBar,exports.Skeleton=q.Skeleton,exports.Spinner=m.Spinner,exports.Stepper=C.Stepper,exports.Pagination=T.Pagination,exports.useRepeater=M.useRepeater,exports.useFullHeightCollapse=g.useFullHeightCollapse,exports.usePosition=h.usePosition,exports.useDebouncedCallback=D.useDebouncedCallback,exports.useUploadFile=B.useUploadFile,exports.debounce=I.debounce,exports.generateID=I.generateID,exports.throttle=I.throttle,exports.Modal=b.BaseModal,exports.useAlert=W.useAlert,exports.AlertProvider=f.AlertProvider,exports.AlertItem=G.AlertItem,exports.Dialog=k.Dialog,exports.DiscardChangesModal=P.DiscardChangesModal,exports.ModalActions=y.BaseModalActions,exports.SideSheetActions=y.BaseModalActions,exports.ModalContent=A.BaseModalContent,exports.ModalHeader=N.BaseModalHeader,exports.NotificationProvider=H.NotificationProvider,exports.useNotificationContext=H.useNotificationContext,exports.SlideInModal=R.SlideInModal,exports.SideSheet=L.SideSheet,exports.SideSheetContent=O.SideSheetContent,exports.SideSheetHeader=U.SideSheetHeader,exports.Checkbox=v.Checkbox,exports.Fieldset=w.Fieldset,exports.Form=E.Form,exports.FormControl=_.FormControl,exports.FormGroup=K.FormGroup,exports.FormHelperText=z.FormHelperText,exports.Input=J.Input,exports.InputWrapper=Q.InputWrapper,exports.Label=V.Label,exports.Radio=X.Radio,exports.RadioWrapper=Y.RadioWrapper,exports.Select=Z.Select,exports.MultiSelect=$.MultiSelect,exports.Option=ee.Option,exports.MultiOption=re.MultiOption,exports.Textarea=te.Textarea,exports.Toggle=oe.Toggle,exports.CheckboxWrapper=se.CheckboxWrapper,exports.TextareaWrapper=ie.TextareaWrapper,exports.SelectWrapper=ae.SelectWrapper,exports.FileUpload=pe.FileUpload,Object.defineProperty(exports,"ACTION_STATUS",{enumerable:!0,get:function(){return ne.ACTION_STATUS}}),Object.defineProperty(exports,"FILE_ACTION",{enumerable:!0,get:function(){return ne.FILE_ACTION}}),exports.MultiSelectWrapper=le.MultiSelectWrapper,exports.ContentHeader=ce.ContentHeader,exports.FormStepper=ue.FormStepper,exports.FormSection=je.FormSection,exports.FormWithStepper=de.FormWithStepper,exports.DataGrid=xe.DataGrid,exports.DataGridRow=Se.DataGridRow,exports.DataGridDrawerItem=Fe.DataGridDrawerItem,exports.DataGridCell=qe.DataGridCell,exports.FilterKeyMapper=me.FilterKeyMapper,exports.useFiltersReducer=Ce.useFiltersReducer,exports.Banner=Te.Banner,exports.DatePicker=Me.DatePicker,exports.MicrofrontendContainer=ge.MicrofrontendContainer;
1
+ "use strict";var e=require("../_BaseStyling_/BaseStyling.cjs.js"),r=require("../Button/Button.cjs.js"),t=require("../Breadcrumbs/Breadcrumbs.cjs.js"),o=require("../ContextMenu/ContextMenu.cjs.js"),s=require("../ContextMenu/ContextMenuItem.cjs.js"),i=require("../Link/Link.cjs.js"),a=require("../Icon/Icon.cjs.js"),p=require("../Button/IconButton.cjs.js"),l=require("../Tabs/Tab.cjs.js"),n=require("../Tabs/Tabs.cjs.js"),c=require("../Tag/Tag.cjs.js"),u=require("../TextEllipsis/TextEllipsis.cjs.js"),j=require("../Tiles/Tile.cjs.js"),d=require("../Tiles/Tiles.cjs.js"),x=require("../Tooltip/Tooltip.cjs.js"),S=require("../Typography/Typography.cjs.js"),F=require("../ProgressBar/ProgressBar.cjs.js"),q=require("../Skeleton/Skeleton.cjs.js"),m=require("../Spinner/Spinner.cjs.js"),C=require("../Stepper/Stepper.cjs.js"),M=require("../Pagination/Pagination.cjs.js"),T=require("./hooks/useRepeater.cjs.js"),g=require("./hooks/useClickOutside.cjs.js"),h=require("./hooks/useFullHeightCollapse.cjs.js"),D=require("./hooks/usePosition.cjs.js"),B=require("./hooks/useDebouncedCallback.cjs.js"),I=require("./hooks/useUploadFile.cjs.js"),b=require("./util/helper.cjs.js"),W=require("../Notifications/BaseModal/BaseModal.cjs.js"),k=require("../Notifications/Alert/useAlert.cjs.js"),f=require("../Notifications/Alert/AlertProvider/AlertProvider.cjs.js"),G=require("../Notifications/Alert/AlertItem/AlertItem.cjs.js"),P=require("../Notifications/Dialog/Dialog.cjs.js"),y=require("../Notifications/DiscardChangesModal/DiscardChangesModal.cjs.js"),A=require("../Notifications/BaseModal/BaseModalActions/BaseModalActions.cjs.js"),N=require("../Notifications/BaseModal/BaseModalContent/BaseModalContent.cjs.js"),H=require("../Notifications/BaseModal/BaseModalHeader/BaseModalHeader.cjs.js"),R=require("../Notifications/NotificationProvider/NotificationContext.cjs.js"),O=require("../Notifications/SlideInModal/SlideInModal.cjs.js"),L=require("../Notifications/SideSheet/SideSheet.cjs.js"),U=require("../Notifications/SideSheet/SideSheetContent/SideSheetContent.cjs.js"),v=require("../Notifications/SideSheet/SideSheetHeader/SideSheetHeader.cjs.js"),w=require("../Form/Checkbox/Checkbox.cjs.js"),E=require("../Form/Fieldset/Fieldset.cjs.js"),_=require("../Form/Form.cjs.js"),K=require("../Form/FormControl/FormControl.cjs.js"),z=require("../Form/FormGroup/FormGroup.cjs.js"),J=require("../Form/FormHelperText/FormHelperText.cjs.js"),Q=require("../Form/Input/Input.cjs.js"),V=require("../Form/Wrapper/InputWrapper/InputWrapper.cjs.js"),X=require("../Form/Label/Label.cjs.js"),Y=require("../Form/Radio/Radio.cjs.js"),Z=require("../Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js"),$=require("../Form/Select/SingleSelect/Select.cjs.js"),ee=require("../Form/Select/MultiSelect/MultiSelect.cjs.js"),re=require("../Form/Select/SingleSelect/Option.cjs.js"),te=require("../Form/Select/MultiSelect/MultiOption.cjs.js"),oe=require("../Form/Textarea/Textarea.cjs.js"),se=require("../Form/Toggle/Toggle.cjs.js"),ie=require("../Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js"),ae=require("../Form/Wrapper/TextareaWrapper/TextareaWrapper.cjs.js"),pe=require("../Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js"),le=require("../Form/FileUpload/FileUpload.cjs.js"),ne=require("../Form/FileUpload/FileItem/FileItem.cjs.js"),ce=require("../Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.cjs.js"),ue=require("../Form/Select/MultiSelect/useMultiSelect.cjs.js"),je=require("../Layout/ContentHeader/ContentHeader.cjs.js"),de=require("../Layout/FormPage/FormWithStepper/FormStepper/FormStepper.cjs.js"),xe=require("../Layout/FormPage/FormWithStepper/FormSection/FormSection.cjs.js"),Se=require("../Layout/FormPage/FormWithStepper/FormWithStepper.cjs.js"),Fe=require("../DataGrid/DataGrid.cjs.js"),qe=require("../DataGrid/DataGridBody/DataGridRow/DataGridRow.cjs.js"),me=require("../DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.cjs.js"),Ce=require("../DataGrid/DataGridBody/DataGridCell/DataGridCell.cjs.js"),Me=require("../DataGrid/DataGridFilters/FilterKeyMapper.cjs.js"),Te=require("../DataGrid/DataGridFilters/useFiltersReducer.cjs.js"),ge=require("../Notifications/Banner/Banner.cjs.js"),he=require("../DatePicker/DatePicker.cjs.js"),De=require("../admin/layout/MicrofrontendContainer/MicrofrontendContainer.cjs.js");exports.BaseStyling=e.BaseStyling,exports.Button=r.Button,exports.Breadcrumbs=t.Breadcrumbs,exports.ContextMenu=o.ContextMenu,exports.ContextMenuItem=s.ContextMenuItem,exports.Link=i.Link,exports.Icon=a.Icon,Object.defineProperty(exports,"Icons",{enumerable:!0,get:function(){return a.Icons}}),exports.IconButton=p.IconButton,exports.Tab=l.Tab,exports.Tabs=n.Tabs,exports.Tag=c.Tag,exports.TextEllipsis=u.TextEllipsis,exports.Tile=j.Tile,exports.Tiles=d.Tiles,exports.Tooltip=x.Tooltip,exports.Typography=S.Typography,exports.ProgressBar=F.ProgressBar,exports.Skeleton=q.Skeleton,exports.Spinner=m.Spinner,exports.Stepper=C.Stepper,exports.Pagination=M.Pagination,exports.useRepeater=T.useRepeater,exports.useClickOutside=g.useClickOutside,exports.useFullHeightCollapse=h.useFullHeightCollapse,exports.usePosition=D.usePosition,exports.useDebouncedCallback=B.useDebouncedCallback,exports.useUploadFile=I.useUploadFile,exports.debounce=b.debounce,exports.generateID=b.generateID,exports.throttle=b.throttle,exports.Modal=W.BaseModal,exports.useAlert=k.useAlert,exports.AlertProvider=f.AlertProvider,exports.AlertItem=G.AlertItem,exports.Dialog=P.Dialog,exports.DiscardChangesModal=y.DiscardChangesModal,exports.ModalActions=A.BaseModalActions,exports.SideSheetActions=A.BaseModalActions,exports.ModalContent=N.BaseModalContent,exports.ModalHeader=H.BaseModalHeader,exports.NotificationProvider=R.NotificationProvider,exports.useNotificationContext=R.useNotificationContext,exports.SlideInModal=O.SlideInModal,exports.SideSheet=L.SideSheet,exports.SideSheetContent=U.SideSheetContent,exports.SideSheetHeader=v.SideSheetHeader,exports.Checkbox=w.Checkbox,exports.Fieldset=E.Fieldset,exports.Form=_.Form,exports.FormControl=K.FormControl,exports.FormGroup=z.FormGroup,exports.FormHelperText=J.FormHelperText,exports.Input=Q.Input,exports.InputWrapper=V.InputWrapper,exports.Label=X.Label,exports.Radio=Y.Radio,exports.RadioWrapper=Z.RadioWrapper,exports.Select=$.Select,exports.MultiSelect=ee.MultiSelect,exports.Option=re.Option,exports.MultiOption=te.MultiOption,exports.Textarea=oe.Textarea,exports.Toggle=se.Toggle,exports.CheckboxWrapper=ie.CheckboxWrapper,exports.TextareaWrapper=ae.TextareaWrapper,exports.SelectWrapper=pe.SelectWrapper,exports.FileUpload=le.FileUpload,Object.defineProperty(exports,"ACTION_STATUS",{enumerable:!0,get:function(){return ne.ACTION_STATUS}}),Object.defineProperty(exports,"FILE_ACTION",{enumerable:!0,get:function(){return ne.FILE_ACTION}}),exports.MultiSelectWrapper=ce.MultiSelectWrapper,exports.useMultiSelect=ue.useMultiSelect,exports.ContentHeader=je.ContentHeader,exports.FormStepper=de.FormStepper,exports.FormSection=xe.FormSection,exports.FormWithStepper=Se.FormWithStepper,exports.DataGrid=Fe.DataGrid,exports.DataGridRow=qe.DataGridRow,exports.DataGridDrawerItem=me.DataGridDrawerItem,exports.DataGridCell=Ce.DataGridCell,exports.FilterKeyMapper=Me.FilterKeyMapper,exports.useFiltersReducer=Te.useFiltersReducer,exports.Banner=ge.Banner,exports.DatePicker=he.DatePicker,exports.MicrofrontendContainer=De.MicrofrontendContainer;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -42,6 +42,7 @@ export type { Props as StepProps } from "./components/Stepper/Step";
42
42
  export { Pagination } from "./components/Pagination/Pagination";
43
43
  export type { Props as PaginationProps, PageChangeLabels, PaginationTranslations, PageSize } from "./components/Pagination/Pagination";
44
44
  export { useRepeater } from "./hooks/useRepeater";
45
+ export { useClickOutside } from "./hooks/useClickOutside";
45
46
  export { useFullHeightCollapse } from "./hooks/useFullHeightCollapse";
46
47
  export { usePosition } from "./hooks/usePosition";
47
48
  export type { Placement } from "./hooks/usePosition";
@@ -124,6 +125,7 @@ export type { Props as FileUploadProps, FileType } from "./components/Form/FileU
124
125
  export { FILE_ACTION, ACTION_STATUS } from "./components/Form/FileUpload/FileItem/FileItem";
125
126
  export { MultiSelectWrapper } from "./components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper";
126
127
  export type { Props as MultiSelectWrapperProps } from "./components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper";
128
+ export { useMultiSelect } from "./components/Form/Select/MultiSelect/useMultiSelect";
127
129
  export { ContentHeader } from "./components/Layout/ContentHeader/ContentHeader";
128
130
  export type { Props as ContentHeaderProps } from "./components/Layout/ContentHeader/ContentHeader";
129
131
  export { FormStepper } from "./components/Layout/FormPage/FormWithStepper/FormStepper/FormStepper";
@@ -0,0 +1,12 @@
1
+ export declare class MockDOMRect implements DOMRect {
2
+ x: number;
3
+ y: number;
4
+ width: number;
5
+ height: number;
6
+ top: number;
7
+ right: number;
8
+ bottom: number;
9
+ left: number;
10
+ constructor(x?: number, y?: number, width?: number, height?: number, top?: number, right?: number, bottom?: number, left?: number);
11
+ toJSON(): this;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react");const r=["CheckboxWrapper"],t=(e,r,t)=>{const n={};return e?(n.style={pointerEvents:"none",userSelect:"text"},t&&(n.helperText="")):n.helperText=t,r&&(n.type=r),n};exports.withReadOnly=n=>{const a=e=>{const t=e=>{(e=>"Enter"===e.key||" "===e.key)(e)&&(e.stopPropagation(),e.preventDefault())};if(e&&r.includes(n.displayName||n.name)){const e={onKeyUp:e=>{t(e)},onKeyDown:e=>{t(e)}};return e}return{}},o=e.forwardRef(((r,o)=>{const{readOnlyView:l=!1,required:i,children:p,helperText:s,type:d="",...u}=r;return e.createElement(n,{ref:o,...u,"data-readonlyview":l,"aria-readonly":l,required:!l&&i,...t(l,d,s),...a(l)},p)}));return o.displayName=`withReadOnly_${(e=>{var r,t;return null!==(t=null!==(r=e.displayName)&&void 0!==r?r:e.name)&&void 0!==t?t:"Component"})(n)}`,o};
2
+ //# sourceMappingURL=withReadOnly.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withReadOnly.cjs.js","sources":["../../../../src/components/withReadOnly.tsx"],"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 React, { ComponentType, ForwardedRef, PropsWithChildren } from \"react\";\n\nexport interface WithReadOnlyProps {\n readOnlyView?: boolean;\n required?: boolean;\n helperText?: string;\n type?: string;\n}\n\nconst componentsWithKeyEventsToPrevent: string[] = [\"CheckboxWrapper\"];\n\nconst getDisplayName = <P,>(WrappedComponent: ComponentType<P>) => {\n return WrappedComponent.displayName ?? WrappedComponent.name ?? \"Component\";\n};\n\nconst getConditionalProps = (readOnlyView: boolean, type: string, helperText?: string) => {\n const props: Record<string, any> = {};\n\n if (readOnlyView) {\n props.style = { pointerEvents: \"none\", userSelect: \"text\" };\n if (helperText) {\n props.helperText = \"\";\n }\n } else {\n props.helperText = helperText;\n }\n\n if (type) {\n props.type = type;\n }\n\n return props;\n};\n\nexport const withReadOnly = <P extends object>(WrappedComponent: ComponentType<P>) => {\n const preventKeyUpAndKeyDownHandlerForSpecificComponents = (readOnlyView: boolean) => {\n const preventSubmissionKeys = (e: KeyboardEvent) => {\n const isEnterOrSpace = (e: KeyboardEvent) => e.key === \"Enter\" || e.key === \" \";\n if (isEnterOrSpace(e)) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n\n if (\n readOnlyView &&\n componentsWithKeyEventsToPrevent.includes(\n WrappedComponent.displayName || WrappedComponent.name\n )\n ) {\n const props: Record<string, any> = {};\n\n props.onKeyUp = (e: KeyboardEvent) => {\n preventSubmissionKeys(e);\n };\n\n props.onKeyDown = (e: KeyboardEvent) => {\n preventSubmissionKeys(e);\n };\n\n return props;\n }\n\n return {};\n };\n\n const WithReadOnlyComponent = React.forwardRef(\n (props: PropsWithChildren<P & WithReadOnlyProps>, ref: ForwardedRef<any>) => {\n const {\n readOnlyView = false,\n required,\n children,\n helperText,\n type = \"\",\n ...restProps\n } = props;\n\n return (\n <WrappedComponent\n ref={ref}\n {...(restProps as P)}\n data-readonlyview={readOnlyView}\n aria-readonly={readOnlyView}\n required={readOnlyView ? false : required}\n {...getConditionalProps(readOnlyView, type, helperText)}\n {...preventKeyUpAndKeyDownHandlerForSpecificComponents(readOnlyView)}\n >\n {children}\n </WrappedComponent>\n );\n }\n );\n\n WithReadOnlyComponent.displayName = `withReadOnly_${getDisplayName(WrappedComponent)}`;\n return WithReadOnlyComponent;\n};\n"],"names":["componentsWithKeyEventsToPrevent","getConditionalProps","readOnlyView","type","helperText","props","style","pointerEvents","userSelect","WrappedComponent","preventKeyUpAndKeyDownHandlerForSpecificComponents","preventSubmissionKeys","e","key","isEnterOrSpace","stopPropagation","preventDefault","includes","displayName","name","WithReadOnlyComponent","React","forwardRef","ref","required","children","restProps","createElement","_b","_a","getDisplayName"],"mappings":"oCAyBA,MAAMA,EAA6C,CAAC,mBAM9CC,EAAsB,CAACC,EAAuBC,EAAcC,KAChE,MAAMC,EAA6B,CAAA,EAenC,OAbIH,GACFG,EAAMC,MAAQ,CAAEC,cAAe,OAAQC,WAAY,QAC/CJ,IACFC,EAAMD,WAAa,KAGrBC,EAAMD,WAAaA,EAGjBD,IACFE,EAAMF,KAAOA,GAGRE,CAAK,uBAGiCI,IAC7C,MAAMC,EAAsDR,IAC1D,MAAMS,EAAyBC,IACN,CAACA,GAA+B,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,IAChEC,CAAeF,KACjBA,EAAEG,kBACFH,EAAEI,iBACH,EAGH,GACEd,GACAF,EAAiCiB,SAC/BR,EAAiBS,aAAeT,EAAiBU,MAEnD,CACA,MAAMd,EAA6B,CAEnCA,QAAiBO,IACfD,EAAsBC,EAAE,EAG1BP,UAAmBO,IACjBD,EAAsBC,EAAE,GAG1B,OAAOP,CACR,CAED,MAAO,EAAE,EAGLe,EAAwBC,EAAMC,YAClC,CAACjB,EAAiDkB,KAChD,MAAMrB,aACJA,GAAe,EAAKsB,SACpBA,EAAQC,SACRA,EAAQrB,WACRA,EAAUD,KACVA,EAAO,MACJuB,GACDrB,EAEJ,OACEgB,EAACM,cAAAlB,GACCc,IAAKA,KACAG,sBACcxB,EAAY,gBAChBA,EACfsB,UAAUtB,GAAuBsB,KAC7BvB,EAAoBC,EAAcC,EAAMC,MACxCM,EAAmDR,IAEtDuB,EAEH,IAKN,OADAL,EAAsBF,YAAc,gBAlFf,CAAKT,YAC1B,OAAgE,QAAzDmB,EAAgC,QAAhCC,EAAApB,EAAiBS,mBAAe,IAAAW,EAAAA,EAAApB,EAAiBU,YAAQ,IAAAS,EAAAA,EAAA,WAAW,EAiFvBE,CAAerB,KAC5DW,CAAqB"}
@@ -17,12 +17,15 @@ import { ButtonSpinner } from './Spinner.esm.js';
17
17
  * See the License for the specific language governing permissions and
18
18
  * limitations under the License.
19
19
  */
20
- const BaseButtonComponent = ({ children, type = "button", className, loading, disabled, ...rest }, ref) => {
20
+ const BaseButtonComponent = ({ children, type = "button", className, loading, disabled, hidden, ...rest }, ref) => {
21
21
  const validTypes = ["submit", "button", "reset"];
22
22
  const isDisabled = disabled !== null && disabled !== void 0 ? disabled : loading;
23
23
  if (!validTypes.includes(type))
24
24
  throw new Error(`You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`);
25
- return (React.createElement("button", { ...rest, disabled: isDisabled, ref: ref, type: type, className: `${classes.button} ${loading ? classes.loading : ""} ${className ? className : ""}` }, loading ? (React.createElement(Fragment, null,
25
+ const buttonClasses = [classes.button];
26
+ loading && buttonClasses.push(classes.loading);
27
+ className && buttonClasses.push(className);
28
+ return (React.createElement("button", { ...rest, disabled: isDisabled, ref: ref, type: type, hidden: hidden, className: hidden ? "" : buttonClasses.join(" ") }, loading ? (React.createElement(Fragment, null,
26
29
  React.createElement("div", { className: classes["content-hidden"] }, children),
27
30
  React.createElement(ButtonSpinner, { className: classes["spinner"] }))) : (children)));
28
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BaseButton.esm.js","sources":["../../../../../src/components/Button/BaseButton.tsx"],"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 React, { ForwardRefRenderFunction, ComponentPropsWithRef, Fragment } from \"react\";\nimport classes from \"./BaseButton.module.scss\";\nimport { ButtonSpinner } from \"./Spinner\";\n\nexport interface Props extends ComponentPropsWithRef<\"button\"> {\n type?: \"submit\" | \"button\" | \"reset\";\n disabled?: boolean;\n loading?: boolean;\n color?: \"primary\" | \"danger\" | \"default\" | \"success\" | \"warning\";\n}\n\nconst BaseButtonComponent: ForwardRefRenderFunction<HTMLButtonElement, Props> = (\n { children, type = \"button\", className, loading, disabled, ...rest },\n ref\n) => {\n const validTypes = [\"submit\", \"button\", \"reset\"];\n const isDisabled = disabled ?? loading;\n if (!validTypes.includes(type))\n throw new Error(\n `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`\n );\n\n return (\n <button\n {...rest}\n disabled={isDisabled}\n ref={ref}\n type={type}\n className={`${classes.button} ${loading ? classes.loading : \"\"} ${\n className ? className : \"\"\n }`}\n >\n {loading ? (\n <Fragment>\n <div className={classes[\"content-hidden\"]}>{children}</div>\n <ButtonSpinner className={classes[\"spinner\"]} />\n </Fragment>\n ) : (\n children\n )}\n </button>\n );\n};\n\nexport const BaseButton = React.forwardRef(BaseButtonComponent);\n"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;;AAcG;AAaH,MAAM,mBAAmB,GAAuD,CAC9E,EAAE,QAAQ,EAAE,IAAI,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EACpE,GAAG,KACD;IACF,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,QAAQ,GAAI,OAAO,CAAC;AACvC,IAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5B,QAAA,MAAM,IAAI,KAAK,CACb,uFAAuF,IAAI,CAAA,CAAE,CAC9F,CAAC;IAEJ,QACE,KACM,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,GAAA,IAAI,EACR,QAAQ,EAAE,UAAU,EACpB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAA,EAAG,OAAO,CAAC,MAAM,CAAI,CAAA,EAAA,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,EAAE,CAC5D,CAAA,EAAA,SAAS,GAAG,SAAS,GAAG,EAC1B,CAAA,CAAE,EAED,EAAA,OAAO,IACN,KAAA,CAAA,aAAA,CAAC,QAAQ,EAAA,IAAA;QACP,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAA,EAAG,QAAQ,CAAO;AAC3D,QAAA,KAAA,CAAA,aAAA,CAAC,aAAa,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAA,CAAI,CACvC,KAEX,QAAQ,CACT,CACM,EACT;AACJ,CAAC,CAAC;AAEW,MAAA,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,mBAAmB;;;;"}
1
+ {"version":3,"file":"BaseButton.esm.js","sources":["../../../../../src/components/Button/BaseButton.tsx"],"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 React, { ForwardRefRenderFunction, ComponentPropsWithRef, Fragment } from \"react\";\nimport classes from \"./BaseButton.module.scss\";\nimport { ButtonSpinner } from \"./Spinner\";\n\nexport interface Props extends ComponentPropsWithRef<\"button\"> {\n type?: \"submit\" | \"button\" | \"reset\";\n disabled?: boolean;\n loading?: boolean;\n color?: \"primary\" | \"danger\" | \"default\" | \"success\" | \"warning\";\n}\n\nconst BaseButtonComponent: ForwardRefRenderFunction<HTMLButtonElement, Props> = (\n { children, type = \"button\", className, loading, disabled, hidden, ...rest },\n ref\n) => {\n const validTypes = [\"submit\", \"button\", \"reset\"];\n const isDisabled = disabled ?? loading;\n if (!validTypes.includes(type))\n throw new Error(\n `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`\n );\n\n const buttonClasses = [classes.button];\n loading && buttonClasses.push(classes.loading);\n className && buttonClasses.push(className);\n\n return (\n <button\n {...rest}\n disabled={isDisabled}\n ref={ref}\n type={type}\n hidden={hidden}\n className={hidden ? \"\" : buttonClasses.join(\" \")}\n >\n {loading ? (\n <Fragment>\n <div className={classes[\"content-hidden\"]}>{children}</div>\n <ButtonSpinner className={classes[\"spinner\"]} />\n </Fragment>\n ) : (\n children\n )}\n </button>\n );\n};\n\nexport const BaseButton = React.forwardRef(BaseButtonComponent);\n"],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;;;AAcG;AAaH,MAAM,mBAAmB,GAAuD,CAC9E,EAAE,QAAQ,EAAE,IAAI,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAC5E,GAAG,KACD;IACF,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,QAAQ,GAAI,OAAO,CAAC;AACvC,IAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5B,QAAA,MAAM,IAAI,KAAK,CACb,uFAAuF,IAAI,CAAA,CAAE,CAC9F,CAAC;AAEJ,IAAA,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/C,IAAA,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAE3C,IAAA,QACE,KACM,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,GAAA,IAAI,EACR,QAAQ,EAAE,UAAU,EACpB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAE/C,OAAO,IACN,oBAAC,QAAQ,EAAA,IAAA;QACP,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAA,EAAG,QAAQ,CAAO;AAC3D,QAAA,KAAA,CAAA,aAAA,CAAC,aAAa,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAA,CAAI,CACvC,KAEX,QAAQ,CACT,CACM,EACT;AACJ,CAAC,CAAC;AAEW,MAAA,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,mBAAmB;;;;"}
@@ -1,7 +1,7 @@
1
1
  import React, { useRef, createRef, useState, useEffect, useCallback } from 'react';
2
2
  import { Popover } from '../Popover/Popover.esm.js';
3
3
  import classes from './ContextMenu.module.scss.esm.js';
4
- import { useBodyClick } from '../src/hooks/useBodyClick.esm.js';
4
+ import { useClickOutside } from '../src/hooks/useClickOutside.esm.js';
5
5
  import { createPortal } from 'react-dom';
6
6
  import { useGetDomRoot } from '../src/hooks/useGetDomRoot.esm.js';
7
7
  import { useFocusAnchorElement, useDefaultOffset, useArrowNavigation } from './ContextMenuService.esm.js';
@@ -47,13 +47,11 @@ const ContextMenuComponent = ({ trigger, children, decorativeElement, id = `ID-$
47
47
  childrenCount,
48
48
  setShouldClick
49
49
  });
50
- useBodyClick(event => {
51
- return (showContextMenu &&
52
- anchorEl.current !== event.target &&
53
- anchorEl.current !== event.target.parentElement);
54
- }, () => {
55
- setShowContextMenu(false);
56
- }, showContextMenu);
50
+ useClickOutside(anchorEl, () => {
51
+ if (showContextMenu) {
52
+ setShowContextMenu(false);
53
+ }
54
+ }, [showContextMenu]);
57
55
  useFocusAnchorElement(anchorEl, id, showContextMenu, setShowContextMenu, setFocusedContextMenuItem, onShow, onClose);
58
56
  const renderTrigger = () => React.cloneElement(trigger, {
59
57
  id: id,
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.esm.js","sources":["../../../../../src/components/ContextMenu/ContextMenu.tsx"],"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 React, {\n ComponentPropsWithRef,\n createRef,\n ForwardRefRenderFunction,\n ReactElement,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport { Props as IconButtonProps } from \"../Button/IconButton\";\nimport { Popover, Props as PopoverProps } from \"../Popover/Popover\";\nimport { Placement, Offset } from \"../../hooks/usePosition\";\nimport classes from \"./ContextMenu.module.scss\";\nimport { useBodyClick } from \"../../hooks/useBodyClick\";\nimport { Props as ContextMenuItemProps } from \"./ContextMenuItem\";\nimport { createPortal } from \"react-dom\";\nimport { useGetDomRoot } from \"../../hooks/useGetDomRoot\";\nimport { useArrowNavigation, useDefaultOffset, useFocusAnchorElement } from \"./ContextMenuService\";\nimport { generateID } from \"../../util/helper\";\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"onChange\"> {\n trigger: ReactElement<ButtonProps> | ReactElement<IconButtonProps>;\n decorativeElement?: ReactNode;\n children: ReactElement<ContextMenuItemProps> | ReactElement<ContextMenuItemProps>[];\n placement?: Placement;\n transformOrigin?: Placement;\n offset?: Offset;\n debounceAmount?: number;\n id?: string;\n show?: boolean;\n domRoot?: HTMLElement;\n onShow?: () => void;\n onClose?: () => void;\n popoverProps?: PopoverProps;\n value?: number;\n onChange?: (event: React.MouseEvent<HTMLButtonElement>, childIndex: number) => void;\n}\n\nconst ContextMenuComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n {\n trigger,\n children,\n decorativeElement,\n id = `ID-${generateID()}`,\n show = false,\n onShow,\n onClose,\n placement = { horizontal: \"right\", vertical: \"top\" },\n offset,\n transformOrigin = { horizontal: \"left\", vertical: \"top\" },\n debounceAmount,\n domRoot,\n popoverProps,\n value,\n onChange,\n ...rest\n }: Props,\n ref\n) => {\n const anchorEl = useRef<HTMLButtonElement>(null);\n const wrappingDivRef = (ref as RefObject<HTMLDivElement>) || createRef<HTMLDivElement>();\n const [showContextMenu, setShowContextMenu] = useState(show);\n const [selectedContextMenuItem, setSelectedContextMenuItem] = useState(-1);\n const [focusedContextMenuItem, setFocusedContextMenuItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the contextmenu item, and we focus the currently selected item it fires the \"click\" listener in ContextMenuItem component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n const { root } = useGetDomRoot(domRoot, wrappingDivRef);\n\n const syncSelectedContextMenuItem = setSelectedContextMenuItem;\n\n useEffect(() => {\n value !== undefined && syncSelectedContextMenuItem(value);\n }, [value]);\n\n const { calculateDefaultOffset } = useDefaultOffset();\n const calculatedOffset = offset ?? calculateDefaultOffset(placement, transformOrigin);\n\n const { onArrowNavigation } = useArrowNavigation({\n selectedContextMenuItem,\n setSelectedContextMenuItem,\n focusedContextMenuItem,\n setFocusedContextMenuItem,\n showContextMenu,\n setShowContextMenu,\n childrenCount,\n setShouldClick\n });\n\n useBodyClick(\n event => {\n return (\n showContextMenu &&\n anchorEl.current !== event.target &&\n anchorEl.current !== (event.target as HTMLElement).parentElement\n );\n },\n () => {\n setShowContextMenu(false);\n },\n showContextMenu\n );\n\n useFocusAnchorElement(\n anchorEl,\n id,\n showContextMenu,\n setShowContextMenu,\n setFocusedContextMenuItem,\n onShow,\n onClose\n );\n\n const renderTrigger = () =>\n React.cloneElement(trigger, {\n id: id,\n \"aria-haspopup\": \"true\",\n \"aria-controls\": `${id}-menu`,\n \"aria-expanded\": showContextMenu,\n onClick: () => setShowContextMenu(!showContextMenu),\n tabIndex: 0,\n ref: anchorEl\n });\n\n const renderChildren = () =>\n React.Children.map(children, (child, index) =>\n React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => setFocusedContextMenuItem(childIndex),\n onSelectedChange: (event: React.MouseEvent<HTMLButtonElement>, childIndex: number) => {\n setSelectedContextMenuItem(childIndex);\n setShouldClick(false);\n onChange?.(event, childIndex);\n },\n childIndex: index,\n hasFocus: focusedContextMenuItem === index,\n isSelected: selectedContextMenuItem === index,\n showActiveState:\n child?.props.showActiveState ??\n (value !== undefined && selectedContextMenuItem === index),\n contextMenuOpened: showContextMenu,\n shouldClick: shouldClick\n })\n );\n\n const onOutOfViewHandler = useCallback(() => {\n setShowContextMenu(false);\n }, []);\n\n if (!root) {\n return null;\n }\n\n return (\n <div\n {...rest}\n ref={wrappingDivRef}\n onKeyDown={onArrowNavigation}\n className={classes[\"context-menu\"]}\n >\n {renderTrigger()}\n {createPortal(\n <Popover\n {...popoverProps}\n placement={placement}\n transformOrigin={transformOrigin}\n offset={calculatedOffset}\n anchorEl={anchorEl}\n debounceAmount={debounceAmount}\n show={showContextMenu}\n onAnchorOutOfView={onOutOfViewHandler}\n >\n {decorativeElement && (\n <div className={classes[\"decorative-element\"]}>{decorativeElement}</div>\n )}\n <ul\n className={`${classes[\"menu\"]} ${decorativeElement ? classes[\"no-margin-top\"] : \"\"}`}\n id={`${id}-menu`}\n aria-describedby={id}\n role=\"menu\"\n >\n {renderChildren()}\n </ul>\n </Popover>,\n root\n )}\n </div>\n );\n};\n\nexport const ContextMenu = React.forwardRef(ContextMenuComponent);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenu.esm.js","sources":["../../../../../src/components/ContextMenu/ContextMenu.tsx"],"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 React, {\n ComponentPropsWithRef,\n createRef,\n ForwardRefRenderFunction,\n ReactElement,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport { Props as IconButtonProps } from \"../Button/IconButton\";\nimport { Popover, Props as PopoverProps } from \"../Popover/Popover\";\nimport { Placement, Offset } from \"../../hooks/usePosition\";\nimport classes from \"./ContextMenu.module.scss\";\nimport { useClickOutside } from \"../../hooks/useClickOutside\";\nimport { Props as ContextMenuItemProps } from \"./ContextMenuItem\";\nimport { createPortal } from \"react-dom\";\nimport { useGetDomRoot } from \"../../hooks/useGetDomRoot\";\nimport { useArrowNavigation, useDefaultOffset, useFocusAnchorElement } from \"./ContextMenuService\";\nimport { generateID } from \"../../util/helper\";\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"onChange\"> {\n trigger: ReactElement<ButtonProps> | ReactElement<IconButtonProps>;\n decorativeElement?: ReactNode;\n children: ReactElement<ContextMenuItemProps> | ReactElement<ContextMenuItemProps>[];\n placement?: Placement;\n transformOrigin?: Placement;\n offset?: Offset;\n debounceAmount?: number;\n id?: string;\n show?: boolean;\n domRoot?: HTMLElement;\n onShow?: () => void;\n onClose?: () => void;\n popoverProps?: PopoverProps;\n value?: number;\n onChange?: (event: React.MouseEvent<HTMLButtonElement>, childIndex: number) => void;\n}\n\nconst ContextMenuComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n {\n trigger,\n children,\n decorativeElement,\n id = `ID-${generateID()}`,\n show = false,\n onShow,\n onClose,\n placement = { horizontal: \"right\", vertical: \"top\" },\n offset,\n transformOrigin = { horizontal: \"left\", vertical: \"top\" },\n debounceAmount,\n domRoot,\n popoverProps,\n value,\n onChange,\n ...rest\n }: Props,\n ref\n) => {\n const anchorEl = useRef<HTMLButtonElement>(null);\n const wrappingDivRef = (ref as RefObject<HTMLDivElement>) || createRef<HTMLDivElement>();\n const [showContextMenu, setShowContextMenu] = useState(show);\n const [selectedContextMenuItem, setSelectedContextMenuItem] = useState(-1);\n const [focusedContextMenuItem, setFocusedContextMenuItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the contextmenu item, and we focus the currently selected item it fires the \"click\" listener in ContextMenuItem component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n const { root } = useGetDomRoot(domRoot, wrappingDivRef);\n\n const syncSelectedContextMenuItem = setSelectedContextMenuItem;\n\n useEffect(() => {\n value !== undefined && syncSelectedContextMenuItem(value);\n }, [value]);\n\n const { calculateDefaultOffset } = useDefaultOffset();\n const calculatedOffset = offset ?? calculateDefaultOffset(placement, transformOrigin);\n\n const { onArrowNavigation } = useArrowNavigation({\n selectedContextMenuItem,\n setSelectedContextMenuItem,\n focusedContextMenuItem,\n setFocusedContextMenuItem,\n showContextMenu,\n setShowContextMenu,\n childrenCount,\n setShouldClick\n });\n\n useClickOutside(anchorEl, () => {\n if (showContextMenu) {\n setShowContextMenu(false);\n }\n }, [showContextMenu]);\n\n useFocusAnchorElement(\n anchorEl,\n id,\n showContextMenu,\n setShowContextMenu,\n setFocusedContextMenuItem,\n onShow,\n onClose\n );\n\n const renderTrigger = () =>\n React.cloneElement(trigger, {\n id: id,\n \"aria-haspopup\": \"true\",\n \"aria-controls\": `${id}-menu`,\n \"aria-expanded\": showContextMenu,\n onClick: () => setShowContextMenu(!showContextMenu),\n tabIndex: 0,\n ref: anchorEl\n });\n\n const renderChildren = () =>\n React.Children.map(children, (child, index) =>\n React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => setFocusedContextMenuItem(childIndex),\n onSelectedChange: (event: React.MouseEvent<HTMLButtonElement>, childIndex: number) => {\n setSelectedContextMenuItem(childIndex);\n setShouldClick(false);\n onChange?.(event, childIndex);\n },\n childIndex: index,\n hasFocus: focusedContextMenuItem === index,\n isSelected: selectedContextMenuItem === index,\n showActiveState:\n child?.props.showActiveState ??\n (value !== undefined && selectedContextMenuItem === index),\n contextMenuOpened: showContextMenu,\n shouldClick: shouldClick\n })\n );\n\n const onOutOfViewHandler = useCallback(() => {\n setShowContextMenu(false);\n }, []);\n\n if (!root) {\n return null;\n }\n\n return (\n <div\n {...rest}\n ref={wrappingDivRef}\n onKeyDown={onArrowNavigation}\n className={classes[\"context-menu\"]}\n >\n {renderTrigger()}\n {createPortal(\n <Popover\n {...popoverProps}\n placement={placement}\n transformOrigin={transformOrigin}\n offset={calculatedOffset}\n anchorEl={anchorEl}\n debounceAmount={debounceAmount}\n show={showContextMenu}\n onAnchorOutOfView={onOutOfViewHandler}\n >\n {decorativeElement && (\n <div className={classes[\"decorative-element\"]}>{decorativeElement}</div>\n )}\n <ul\n className={`${classes[\"menu\"]} ${decorativeElement ? classes[\"no-margin-top\"] : \"\"}`}\n id={`${id}-menu`}\n aria-describedby={id}\n role=\"menu\"\n >\n {renderChildren()}\n </ul>\n </Popover>,\n root\n )}\n </div>\n );\n};\n\nexport const ContextMenu = React.forwardRef(ContextMenuComponent);\n"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;AAcG;AA4CH,MAAM,oBAAoB,GAAoD,CAC5E,EACE,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,EAAE,GAAG,MAAM,UAAU,EAAE,CAAE,CAAA,EACzB,IAAI,GAAG,KAAK,EACZ,MAAM,EACN,OAAO,EACP,SAAS,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EACpD,MAAM,EACN,eAAe,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EACzD,cAAc,EACd,OAAO,EACP,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACD,EACR,GAAG,KACD;AACF,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;AACjD,IAAA,MAAM,cAAc,GAAI,GAAiC,IAAI,SAAS,EAAkB,CAAC;IACzF,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,IAAA,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GACjC,QAAQ,CACN,KAAK,CACN,CAAC;AACJ,IAAA,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAExD,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;IAE/D,SAAS,CAAC,MAAK;AACb,QAAA,KAAK,KAAK,SAAS,IAAI,2BAA2B,CAAC,KAAK,CAAC,CAAC;AAC5D,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEZ,IAAA,MAAM,EAAE,sBAAsB,EAAE,GAAG,gBAAgB,EAAE,CAAC;AACtD,IAAA,MAAM,gBAAgB,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,KAAA,CAAA,GAAA,MAAM,GAAI,sBAAsB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAEtF,IAAA,MAAM,EAAE,iBAAiB,EAAE,GAAG,kBAAkB,CAAC;QAC/C,uBAAuB;QACvB,0BAA0B;QAC1B,sBAAsB;QACtB,yBAAyB;QACzB,eAAe;QACf,kBAAkB;QAClB,aAAa;QACb,cAAc;AACf,KAAA,CAAC,CAAC;AAEH,IAAA,eAAe,CAAC,QAAQ,EAAE,MAAK;QAC7B,IAAI,eAAe,EAAE;YACnB,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAC3B;AACH,KAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AAEtB,IAAA,qBAAqB,CACnB,QAAQ,EACR,EAAE,EACF,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,MAAM,EACN,OAAO,CACR,CAAC;IAEF,MAAM,aAAa,GAAG,MACpB,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;AAC1B,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,eAAe,EAAE,MAAM;QACvB,eAAe,EAAE,CAAG,EAAA,EAAE,CAAO,KAAA,CAAA;AAC7B,QAAA,eAAe,EAAE,eAAe;QAChC,OAAO,EAAE,MAAM,kBAAkB,CAAC,CAAC,eAAe,CAAC;AACnD,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,GAAG,EAAE,QAAQ;AACd,KAAA,CAAC,CAAC;AAEL,IAAA,MAAM,cAAc,GAAG,MACrB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAI;;AAC5C,QAAA,OAAA,KAAK,CAAC,YAAY,CAAC,KAAqB,EAAE;YACxC,aAAa,EAAE,CAAC,UAAkB,KAAK,yBAAyB,CAAC,UAAU,CAAC;AAC5E,YAAA,gBAAgB,EAAE,CAAC,KAA0C,EAAE,UAAkB,KAAI;gBACnF,0BAA0B,CAAC,UAAU,CAAC,CAAC;gBACvC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtB,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAG,KAAK,EAAE,UAAU,CAAC,CAAC;aAC/B;AACD,YAAA,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,sBAAsB,KAAK,KAAK;YAC1C,UAAU,EAAE,uBAAuB,KAAK,KAAK;YAC7C,eAAe,EACb,MAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,KAAK,CAAC,eAAe,MAC5B,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,IAAC,KAAK,KAAK,SAAS,IAAI,uBAAuB,KAAK,KAAK,CAAC;AAC5D,YAAA,iBAAiB,EAAE,eAAe;AAClC,YAAA,WAAW,EAAE,WAAW;AACzB,SAAA,CAAC,CAAA;AAAA,KAAA,CACH,CAAC;AAEJ,IAAA,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAK;QAC1C,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAC3B,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,QACE,KACM,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAA,IAAI,EACR,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,EAAA;AAEjC,QAAA,aAAa,EAAE;AACf,QAAA,YAAY,CACX,KAAA,CAAA,aAAA,CAAC,OAAO,EAAA,EAAA,GACF,YAAY,EAChB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,eAAe,EACrB,iBAAiB,EAAE,kBAAkB,EAAA;AAEpC,YAAA,iBAAiB,KAChB,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAA,EAAG,iBAAiB,CAAO,CACzE;AACD,YAAA,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,SAAS,EAAE,CAAA,EAAG,OAAO,CAAC,MAAM,CAAC,CAAI,CAAA,EAAA,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,CAAA,CAAE,EACpF,EAAE,EAAE,GAAG,EAAE,CAAA,KAAA,CAAO,sBACE,EAAE,EACpB,IAAI,EAAC,MAAM,IAEV,cAAc,EAAE,CACd,CACG,EACV,IAAI,CACL,CACG,EACN;AACJ,CAAC,CAAC;AAEW,MAAA,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB;;;;"}