@deviceinsight/ng-ui-components 6.19.0-SNAPSHOT → 6.20.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 (365) hide show
  1. package/lib/cjs/__mocks__/i18n.d.ts +12 -4
  2. package/lib/cjs/__mocks__/i18n.d.ts.map +1 -1
  3. package/lib/cjs/__mocks__/i18n.js +20 -7
  4. package/lib/cjs/assets/style.css +3 -2
  5. package/lib/cjs/components/chart/Chart.d.ts +1 -1
  6. package/lib/cjs/components/colorpicker/ColorPickerPopper.d.ts +1 -1
  7. package/lib/cjs/components/colorpicker/GradientColorPicker.d.ts +2 -2
  8. package/lib/cjs/components/colorpicker/GridColorPicker.d.ts +2 -2
  9. package/lib/cjs/components/contentHeader/ContentHeader.d.ts +1 -1
  10. package/lib/cjs/components/contentHeader/ContentHeader.d.ts.map +1 -1
  11. package/lib/cjs/components/infobox/InfoBox.d.ts +1 -1
  12. package/lib/cjs/components/infobox/InfoBox.d.ts.map +1 -1
  13. package/lib/cjs/components/input/DateInput.d.ts +2 -2
  14. package/lib/cjs/components/input/DateInput.d.ts.map +1 -1
  15. package/lib/cjs/components/input/DateTimeInput.d.ts +2 -2
  16. package/lib/cjs/components/input/DateTimeInput.d.ts.map +1 -1
  17. package/lib/cjs/components/input/SelectWithSearch.d.ts +4 -1
  18. package/lib/cjs/components/input/SelectWithSearch.d.ts.map +1 -1
  19. package/lib/cjs/components/input/SelectWithSearch.js +25 -4
  20. package/lib/cjs/components/input/SelectWithSearchAsync.d.ts +1 -1
  21. package/lib/cjs/components/input/UrnInput.d.ts +1 -1
  22. package/lib/cjs/components/input/ValidatedTextInput.d.ts +1 -1
  23. package/lib/cjs/components/input/__tests__/DateInput.spec.js +24 -24
  24. package/lib/cjs/components/input/__tests__/DateTimeInput.spec.js +5 -4
  25. package/lib/cjs/components/input/__tests__/SelectWithSearchAsync.spec.js +12 -11
  26. package/lib/cjs/components/link/RouteLink.d.ts +2 -2
  27. package/lib/cjs/components/link/RouteLink.d.ts.map +1 -1
  28. package/lib/cjs/components/multiMenu/MultiMenu.d.ts +1 -1
  29. package/lib/cjs/components/multiMenu/components/MultiMenuItem.d.ts +1 -1
  30. package/lib/cjs/components/pagination/Pagination.d.ts +1 -1
  31. package/lib/cjs/components/pagination/__tests__/Pagination.spec.js +70 -70
  32. package/lib/cjs/components/periodpicker/PeriodPicker.d.ts +2 -2
  33. package/lib/cjs/components/periodpicker/PeriodPicker.d.ts.map +1 -1
  34. package/lib/cjs/components/periodpicker/components/Inputs.d.ts +2 -2
  35. package/lib/cjs/components/periodpicker/components/Inputs.d.ts.map +1 -1
  36. package/lib/cjs/components/periodpicker/components/Menu.d.ts +2 -2
  37. package/lib/cjs/components/periodpicker/components/Menu.d.ts.map +1 -1
  38. package/lib/cjs/components/periodpicker/components/MonthPicker.d.ts +2 -2
  39. package/lib/cjs/components/periodpicker/components/MonthPicker.d.ts.map +1 -1
  40. package/lib/cjs/components/periodpicker/usePeriodName.d.ts +1 -1
  41. package/lib/cjs/components/periodpicker/usePeriodName.d.ts.map +1 -1
  42. package/lib/cjs/components/periodpicker/usePeriodName.js +2 -2
  43. package/lib/cjs/components/prompt/Prompt.d.ts +2 -2
  44. package/lib/cjs/components/prompt/Prompt.d.ts.map +1 -1
  45. package/lib/cjs/components/reactable/Reactable.d.ts +1 -1
  46. package/lib/cjs/components/reactable/helpers/ReactableTable.d.ts +6 -8
  47. package/lib/cjs/components/reactable/helpers/ReactableTable.d.ts.map +1 -1
  48. package/lib/cjs/components/reactable/helpers/ReactableTable.js +43 -27
  49. package/lib/cjs/components/reactable/helpers/ReactableTableHeader.d.ts +2 -2
  50. package/lib/cjs/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -1
  51. package/lib/cjs/components/reactable/helpers/ReactableTableRow.d.ts +1 -1
  52. package/lib/cjs/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +1 -1
  53. package/lib/cjs/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +64 -72
  54. package/lib/cjs/components/slider/Slider.d.ts +2 -2
  55. package/lib/cjs/components/slider/Slider.d.ts.map +1 -1
  56. package/lib/cjs/components/svg/SvgImage.d.ts +2 -2
  57. package/lib/cjs/components/svg/SvgImage.d.ts.map +1 -1
  58. package/lib/cjs/components/svg/utils/__tests__/getMutableNodeList.spec.js +11 -10
  59. package/lib/cjs/components/tabs/RouteTabs.d.ts +1 -1
  60. package/lib/cjs/components/tabs/RouteTabs.d.ts.map +1 -1
  61. package/lib/cjs/components/tabs/RouteTabs.js +2 -2
  62. package/lib/cjs/components/treeview/TreeView.d.ts +1 -1
  63. package/lib/cjs/components/treeview/components/Node.d.ts +1 -1
  64. package/lib/cjs/components/treeview/components/NodeInfo.d.ts +1 -1
  65. package/lib/cjs/components/upload/FileUpload.d.ts +1 -1
  66. package/lib/cjs/components/upload/ImageUpload.d.ts +1 -1
  67. package/lib/cjs/modules/messageBox/messageBox.d.ts +2 -2
  68. package/lib/cjs/modules/messageBox/messageBox.d.ts.map +1 -1
  69. package/lib/esm/__mocks__/i18n.d.ts +12 -4
  70. package/lib/esm/__mocks__/i18n.d.ts.map +1 -1
  71. package/lib/esm/__mocks__/i18n.js +20 -5
  72. package/lib/esm/assets/style.css +3 -2
  73. package/lib/esm/components/chart/Chart.d.ts +1 -1
  74. package/lib/esm/components/colorpicker/ColorPickerPopper.d.ts +1 -1
  75. package/lib/esm/components/colorpicker/GradientColorPicker.d.ts +2 -2
  76. package/lib/esm/components/colorpicker/GridColorPicker.d.ts +2 -2
  77. package/lib/esm/components/contentHeader/ContentHeader.d.ts +1 -1
  78. package/lib/esm/components/contentHeader/ContentHeader.d.ts.map +1 -1
  79. package/lib/esm/components/infobox/InfoBox.d.ts +1 -1
  80. package/lib/esm/components/infobox/InfoBox.d.ts.map +1 -1
  81. package/lib/esm/components/input/DateInput.d.ts +2 -2
  82. package/lib/esm/components/input/DateInput.d.ts.map +1 -1
  83. package/lib/esm/components/input/DateTimeInput.d.ts +2 -2
  84. package/lib/esm/components/input/DateTimeInput.d.ts.map +1 -1
  85. package/lib/esm/components/input/SelectWithSearch.d.ts +4 -1
  86. package/lib/esm/components/input/SelectWithSearch.d.ts.map +1 -1
  87. package/lib/esm/components/input/SelectWithSearch.js +25 -4
  88. package/lib/esm/components/input/SelectWithSearchAsync.d.ts +1 -1
  89. package/lib/esm/components/input/UrnInput.d.ts +1 -1
  90. package/lib/esm/components/input/ValidatedTextInput.d.ts +1 -1
  91. package/lib/esm/components/input/__tests__/DateInput.spec.js +4 -4
  92. package/lib/esm/components/input/__tests__/DateTimeInput.spec.js +1 -0
  93. package/lib/esm/components/input/__tests__/SelectWithSearchAsync.spec.js +3 -2
  94. package/lib/esm/components/link/RouteLink.d.ts +2 -2
  95. package/lib/esm/components/link/RouteLink.d.ts.map +1 -1
  96. package/lib/esm/components/multiMenu/MultiMenu.d.ts +1 -1
  97. package/lib/esm/components/multiMenu/components/MultiMenuItem.d.ts +1 -1
  98. package/lib/esm/components/pagination/Pagination.d.ts +1 -1
  99. package/lib/esm/components/pagination/__tests__/Pagination.spec.js +53 -53
  100. package/lib/esm/components/periodpicker/PeriodPicker.d.ts +2 -2
  101. package/lib/esm/components/periodpicker/PeriodPicker.d.ts.map +1 -1
  102. package/lib/esm/components/periodpicker/components/Inputs.d.ts +2 -2
  103. package/lib/esm/components/periodpicker/components/Inputs.d.ts.map +1 -1
  104. package/lib/esm/components/periodpicker/components/Menu.d.ts +2 -2
  105. package/lib/esm/components/periodpicker/components/Menu.d.ts.map +1 -1
  106. package/lib/esm/components/periodpicker/components/MonthPicker.d.ts +2 -2
  107. package/lib/esm/components/periodpicker/components/MonthPicker.d.ts.map +1 -1
  108. package/lib/esm/components/periodpicker/usePeriodName.d.ts +1 -1
  109. package/lib/esm/components/periodpicker/usePeriodName.d.ts.map +1 -1
  110. package/lib/esm/components/periodpicker/usePeriodName.js +1 -1
  111. package/lib/esm/components/prompt/Prompt.d.ts +2 -2
  112. package/lib/esm/components/prompt/Prompt.d.ts.map +1 -1
  113. package/lib/esm/components/reactable/Reactable.d.ts +1 -1
  114. package/lib/esm/components/reactable/helpers/ReactableTable.d.ts +6 -8
  115. package/lib/esm/components/reactable/helpers/ReactableTable.d.ts.map +1 -1
  116. package/lib/esm/components/reactable/helpers/ReactableTable.js +43 -26
  117. package/lib/esm/components/reactable/helpers/ReactableTableHeader.d.ts +2 -2
  118. package/lib/esm/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -1
  119. package/lib/esm/components/reactable/helpers/ReactableTableRow.d.ts +1 -1
  120. package/lib/esm/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +1 -1
  121. package/lib/esm/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +55 -63
  122. package/lib/esm/components/slider/Slider.d.ts +2 -2
  123. package/lib/esm/components/slider/Slider.d.ts.map +1 -1
  124. package/lib/esm/components/svg/SvgImage.d.ts +2 -2
  125. package/lib/esm/components/svg/SvgImage.d.ts.map +1 -1
  126. package/lib/esm/components/svg/utils/__tests__/getMutableNodeList.spec.js +1 -0
  127. package/lib/esm/components/tabs/RouteTabs.d.ts +1 -1
  128. package/lib/esm/components/tabs/RouteTabs.d.ts.map +1 -1
  129. package/lib/esm/components/tabs/RouteTabs.js +2 -2
  130. package/lib/esm/components/treeview/TreeView.d.ts +1 -1
  131. package/lib/esm/components/treeview/components/Node.d.ts +1 -1
  132. package/lib/esm/components/treeview/components/NodeInfo.d.ts +1 -1
  133. package/lib/esm/components/upload/FileUpload.d.ts +1 -1
  134. package/lib/esm/components/upload/ImageUpload.d.ts +1 -1
  135. package/lib/esm/modules/messageBox/messageBox.d.ts +2 -2
  136. package/lib/esm/modules/messageBox/messageBox.d.ts.map +1 -1
  137. package/lib/esm/src/__mocks__/i18n.d.ts +13 -0
  138. package/lib/esm/src/__mocks__/i18n.d.ts.map +1 -0
  139. package/lib/esm/src/__mocks__/i18n.js +20 -0
  140. package/lib/esm/src/components/chart/Chart.d.ts +38 -0
  141. package/lib/esm/src/components/chart/Chart.d.ts.map +1 -0
  142. package/lib/esm/src/components/chart/Chart.js +202 -0
  143. package/lib/esm/src/components/colorpicker/ColorPickerPopper.d.ts +24 -0
  144. package/lib/esm/src/components/colorpicker/ColorPickerPopper.d.ts.map +1 -0
  145. package/lib/esm/src/components/colorpicker/ColorPickerPopper.js +46 -0
  146. package/lib/esm/src/components/colorpicker/GradientColorPicker.d.ts +63 -0
  147. package/lib/esm/src/components/colorpicker/GradientColorPicker.d.ts.map +1 -0
  148. package/lib/esm/src/components/colorpicker/GradientColorPicker.js +125 -0
  149. package/lib/esm/src/components/colorpicker/GridColorPicker.d.ts +41 -0
  150. package/lib/esm/src/components/colorpicker/GridColorPicker.d.ts.map +1 -0
  151. package/lib/esm/src/components/colorpicker/GridColorPicker.js +30 -0
  152. package/lib/esm/src/components/contentHeader/ContentHeader.d.ts +25 -0
  153. package/lib/esm/src/components/contentHeader/ContentHeader.d.ts.map +1 -0
  154. package/lib/esm/src/components/contentHeader/ContentHeader.js +53 -0
  155. package/lib/esm/src/components/infobox/InfoBox.d.ts +22 -0
  156. package/lib/esm/src/components/infobox/InfoBox.d.ts.map +1 -0
  157. package/lib/esm/src/components/infobox/InfoBox.js +36 -0
  158. package/lib/esm/src/components/input/DateInput.d.ts +28 -0
  159. package/lib/esm/src/components/input/DateInput.d.ts.map +1 -0
  160. package/lib/esm/src/components/input/DateInput.js +157 -0
  161. package/lib/esm/src/components/input/DateTimeInput.d.ts +27 -0
  162. package/lib/esm/src/components/input/DateTimeInput.d.ts.map +1 -0
  163. package/lib/esm/src/components/input/DateTimeInput.js +50 -0
  164. package/lib/esm/src/components/input/SelectWithSearch.d.ts +65 -0
  165. package/lib/esm/src/components/input/SelectWithSearch.d.ts.map +1 -0
  166. package/lib/esm/src/components/input/SelectWithSearch.js +111 -0
  167. package/lib/esm/src/components/input/SelectWithSearchAsync.d.ts +58 -0
  168. package/lib/esm/src/components/input/SelectWithSearchAsync.d.ts.map +1 -0
  169. package/lib/esm/src/components/input/SelectWithSearchAsync.js +100 -0
  170. package/lib/esm/src/components/input/UrnInput.d.ts +22 -0
  171. package/lib/esm/src/components/input/UrnInput.d.ts.map +1 -0
  172. package/lib/esm/src/components/input/UrnInput.js +33 -0
  173. package/lib/esm/src/components/input/ValidatedTextInput.d.ts +35 -0
  174. package/lib/esm/src/components/input/ValidatedTextInput.d.ts.map +1 -0
  175. package/lib/esm/src/components/input/ValidatedTextInput.js +30 -0
  176. package/lib/esm/src/components/input/__tests__/DateInput.spec.d.ts +2 -0
  177. package/lib/esm/src/components/input/__tests__/DateInput.spec.d.ts.map +1 -0
  178. package/lib/esm/src/components/input/__tests__/DateInput.spec.js +85 -0
  179. package/lib/esm/src/components/input/__tests__/DateTimeInput.spec.d.ts +2 -0
  180. package/lib/esm/src/components/input/__tests__/DateTimeInput.spec.d.ts.map +1 -0
  181. package/lib/esm/src/components/input/__tests__/DateTimeInput.spec.js +13 -0
  182. package/lib/esm/src/components/input/__tests__/SelectWithSearchAsync.spec.d.ts +2 -0
  183. package/lib/esm/src/components/input/__tests__/SelectWithSearchAsync.spec.d.ts.map +1 -0
  184. package/lib/esm/src/components/input/__tests__/SelectWithSearchAsync.spec.js +44 -0
  185. package/lib/esm/src/components/link/RouteLink.d.ts +31 -0
  186. package/lib/esm/src/components/link/RouteLink.d.ts.map +1 -0
  187. package/lib/esm/src/components/link/RouteLink.js +55 -0
  188. package/lib/esm/src/components/multiMenu/MultiMenu.d.ts +27 -0
  189. package/lib/esm/src/components/multiMenu/MultiMenu.d.ts.map +1 -0
  190. package/lib/esm/src/components/multiMenu/MultiMenu.js +30 -0
  191. package/lib/esm/src/components/multiMenu/components/MultiMenuContext.d.ts +7 -0
  192. package/lib/esm/src/components/multiMenu/components/MultiMenuContext.d.ts.map +1 -0
  193. package/lib/esm/src/components/multiMenu/components/MultiMenuContext.js +5 -0
  194. package/lib/esm/src/components/multiMenu/components/MultiMenuItem.d.ts +14 -0
  195. package/lib/esm/src/components/multiMenu/components/MultiMenuItem.d.ts.map +1 -0
  196. package/lib/esm/src/components/multiMenu/components/MultiMenuItem.js +24 -0
  197. package/lib/esm/src/components/pagination/Pagination.d.ts +37 -0
  198. package/lib/esm/src/components/pagination/Pagination.d.ts.map +1 -0
  199. package/lib/esm/src/components/pagination/Pagination.js +114 -0
  200. package/lib/esm/src/components/pagination/__tests__/Pagination.spec.d.ts +2 -0
  201. package/lib/esm/src/components/pagination/__tests__/Pagination.spec.d.ts.map +1 -0
  202. package/lib/esm/src/components/pagination/__tests__/Pagination.spec.js +87 -0
  203. package/lib/esm/src/components/periodpicker/PeriodPicker.d.ts +23 -0
  204. package/lib/esm/src/components/periodpicker/PeriodPicker.d.ts.map +1 -0
  205. package/lib/esm/src/components/periodpicker/PeriodPicker.js +11 -0
  206. package/lib/esm/src/components/periodpicker/components/Inputs.d.ts +12 -0
  207. package/lib/esm/src/components/periodpicker/components/Inputs.d.ts.map +1 -0
  208. package/lib/esm/src/components/periodpicker/components/Inputs.js +59 -0
  209. package/lib/esm/src/components/periodpicker/components/Menu.d.ts +11 -0
  210. package/lib/esm/src/components/periodpicker/components/Menu.d.ts.map +1 -0
  211. package/lib/esm/src/components/periodpicker/components/Menu.js +96 -0
  212. package/lib/esm/src/components/periodpicker/components/MonthPicker.d.ts +19 -0
  213. package/lib/esm/src/components/periodpicker/components/MonthPicker.d.ts.map +1 -0
  214. package/lib/esm/src/components/periodpicker/components/MonthPicker.js +62 -0
  215. package/lib/esm/src/components/periodpicker/periods.d.ts +33 -0
  216. package/lib/esm/src/components/periodpicker/periods.d.ts.map +1 -0
  217. package/lib/esm/src/components/periodpicker/periods.js +56 -0
  218. package/lib/esm/src/components/periodpicker/types.d.ts +5 -0
  219. package/lib/esm/src/components/periodpicker/types.d.ts.map +1 -0
  220. package/lib/esm/src/components/periodpicker/types.js +1 -0
  221. package/lib/esm/src/components/periodpicker/usePeriodName.d.ts +7 -0
  222. package/lib/esm/src/components/periodpicker/usePeriodName.d.ts.map +1 -0
  223. package/lib/esm/src/components/periodpicker/usePeriodName.js +38 -0
  224. package/lib/esm/src/components/prompt/Prompt.d.ts +23 -0
  225. package/lib/esm/src/components/prompt/Prompt.d.ts.map +1 -0
  226. package/lib/esm/src/components/prompt/Prompt.js +31 -0
  227. package/lib/esm/src/components/prompt/withPrompt.d.ts +7 -0
  228. package/lib/esm/src/components/prompt/withPrompt.d.ts.map +1 -0
  229. package/lib/esm/src/components/prompt/withPrompt.js +33 -0
  230. package/lib/esm/src/components/reactable/Reactable.d.ts +38 -0
  231. package/lib/esm/src/components/reactable/Reactable.d.ts.map +1 -0
  232. package/lib/esm/src/components/reactable/Reactable.js +18 -0
  233. package/lib/esm/src/components/reactable/helpers/ReactableTable.d.ts +19 -0
  234. package/lib/esm/src/components/reactable/helpers/ReactableTable.d.ts.map +1 -0
  235. package/lib/esm/src/components/reactable/helpers/ReactableTable.js +50 -0
  236. package/lib/esm/src/components/reactable/helpers/ReactableTableFilterRow.d.ts +9 -0
  237. package/lib/esm/src/components/reactable/helpers/ReactableTableFilterRow.d.ts.map +1 -0
  238. package/lib/esm/src/components/reactable/helpers/ReactableTableFilterRow.js +57 -0
  239. package/lib/esm/src/components/reactable/helpers/ReactableTableHeader.d.ts +16 -0
  240. package/lib/esm/src/components/reactable/helpers/ReactableTableHeader.d.ts.map +1 -0
  241. package/lib/esm/src/components/reactable/helpers/ReactableTableHeader.js +52 -0
  242. package/lib/esm/src/components/reactable/helpers/ReactableTableRow.d.ts +16 -0
  243. package/lib/esm/src/components/reactable/helpers/ReactableTableRow.d.ts.map +1 -0
  244. package/lib/esm/src/components/reactable/helpers/ReactableTableRow.js +56 -0
  245. package/lib/esm/src/components/reactable/helpers/ReactableTextFilter.d.ts +9 -0
  246. package/lib/esm/src/components/reactable/helpers/ReactableTextFilter.d.ts.map +1 -0
  247. package/lib/esm/src/components/reactable/helpers/ReactableTextFilter.js +18 -0
  248. package/lib/esm/src/components/reactable/helpers/helper.d.ts +7 -0
  249. package/lib/esm/src/components/reactable/helpers/helper.d.ts.map +1 -0
  250. package/lib/esm/src/components/reactable/helpers/helper.js +90 -0
  251. package/lib/esm/src/components/reactable/types.d.ts +38 -0
  252. package/lib/esm/src/components/reactable/types.d.ts.map +1 -0
  253. package/lib/esm/src/components/reactable/types.js +1 -0
  254. package/lib/esm/src/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts +69 -0
  255. package/lib/esm/src/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.d.ts.map +1 -0
  256. package/lib/esm/src/components/reactableWithClientSidePagination/ReactableWithClientSidePagination.js +155 -0
  257. package/lib/esm/src/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts +2 -0
  258. package/lib/esm/src/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.d.ts.map +1 -0
  259. package/lib/esm/src/components/reactableWithClientSidePagination/__tests__/ReactableWithClientSidePagination.spec.js +130 -0
  260. package/lib/esm/src/components/slider/Slider.d.ts +30 -0
  261. package/lib/esm/src/components/slider/Slider.d.ts.map +1 -0
  262. package/lib/esm/src/components/slider/Slider.js +35 -0
  263. package/lib/esm/src/components/slider/useLimitStyling.d.ts +3 -0
  264. package/lib/esm/src/components/slider/useLimitStyling.d.ts.map +1 -0
  265. package/lib/esm/src/components/slider/useLimitStyling.js +49 -0
  266. package/lib/esm/src/components/svg/SvgImage.d.ts +12 -0
  267. package/lib/esm/src/components/svg/SvgImage.d.ts.map +1 -0
  268. package/lib/esm/src/components/svg/SvgImage.js +37 -0
  269. package/lib/esm/src/components/svg/storybookHelper.d.ts +7 -0
  270. package/lib/esm/src/components/svg/storybookHelper.d.ts.map +1 -0
  271. package/lib/esm/src/components/svg/storybookHelper.js +53 -0
  272. package/lib/esm/src/components/svg/types.d.ts +58 -0
  273. package/lib/esm/src/components/svg/types.d.ts.map +1 -0
  274. package/lib/esm/src/components/svg/types.js +1 -0
  275. package/lib/esm/src/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts +2 -0
  276. package/lib/esm/src/components/svg/utils/__tests__/getMutableNodeList.spec.d.ts.map +1 -0
  277. package/lib/esm/src/components/svg/utils/__tests__/getMutableNodeList.spec.js +24 -0
  278. package/lib/esm/src/components/svg/utils/createHyperlinkModification.d.ts +4 -0
  279. package/lib/esm/src/components/svg/utils/createHyperlinkModification.d.ts.map +1 -0
  280. package/lib/esm/src/components/svg/utils/createHyperlinkModification.js +35 -0
  281. package/lib/esm/src/components/svg/utils/createPositionModification.d.ts +3 -0
  282. package/lib/esm/src/components/svg/utils/createPositionModification.d.ts.map +1 -0
  283. package/lib/esm/src/components/svg/utils/createPositionModification.js +19 -0
  284. package/lib/esm/src/components/svg/utils/findConflicts.d.ts +2 -0
  285. package/lib/esm/src/components/svg/utils/findConflicts.d.ts.map +1 -0
  286. package/lib/esm/src/components/svg/utils/findConflicts.js +23 -0
  287. package/lib/esm/src/components/svg/utils/getMutableNodeList.d.ts +3 -0
  288. package/lib/esm/src/components/svg/utils/getMutableNodeList.d.ts.map +1 -0
  289. package/lib/esm/src/components/svg/utils/getMutableNodeList.js +12 -0
  290. package/lib/esm/src/components/svg/utils/getSvgElement.d.ts +3 -0
  291. package/lib/esm/src/components/svg/utils/getSvgElement.d.ts.map +1 -0
  292. package/lib/esm/src/components/svg/utils/getSvgElement.js +10 -0
  293. package/lib/esm/src/components/svg/utils/renderSvg.d.ts +3 -0
  294. package/lib/esm/src/components/svg/utils/renderSvg.d.ts.map +1 -0
  295. package/lib/esm/src/components/svg/utils/renderSvg.js +88 -0
  296. package/lib/esm/src/components/svg/utils/transformPositionModifications.d.ts +4 -0
  297. package/lib/esm/src/components/svg/utils/transformPositionModifications.d.ts.map +1 -0
  298. package/lib/esm/src/components/svg/utils/transformPositionModifications.js +42 -0
  299. package/lib/esm/src/components/svg/utils/validateSvg.d.ts +3 -0
  300. package/lib/esm/src/components/svg/utils/validateSvg.d.ts.map +1 -0
  301. package/lib/esm/src/components/svg/utils/validateSvg.js +5 -0
  302. package/lib/esm/src/components/tabs/RouteTabs.d.ts +24 -0
  303. package/lib/esm/src/components/tabs/RouteTabs.d.ts.map +1 -0
  304. package/lib/esm/src/components/tabs/RouteTabs.js +67 -0
  305. package/lib/esm/src/components/treeview/TreeView.d.ts +50 -0
  306. package/lib/esm/src/components/treeview/TreeView.d.ts.map +1 -0
  307. package/lib/esm/src/components/treeview/TreeView.js +104 -0
  308. package/lib/esm/src/components/treeview/components/Node.d.ts +37 -0
  309. package/lib/esm/src/components/treeview/components/Node.d.ts.map +1 -0
  310. package/lib/esm/src/components/treeview/components/Node.js +111 -0
  311. package/lib/esm/src/components/treeview/components/NodeInfo.d.ts +25 -0
  312. package/lib/esm/src/components/treeview/components/NodeInfo.d.ts.map +1 -0
  313. package/lib/esm/src/components/treeview/components/NodeInfo.js +64 -0
  314. package/lib/esm/src/components/treeview/constants.d.ts +6 -0
  315. package/lib/esm/src/components/treeview/constants.d.ts.map +1 -0
  316. package/lib/esm/src/components/treeview/constants.js +6 -0
  317. package/lib/esm/src/components/treeview/treeutils.d.ts +59 -0
  318. package/lib/esm/src/components/treeview/treeutils.d.ts.map +1 -0
  319. package/lib/esm/src/components/treeview/treeutils.js +158 -0
  320. package/lib/esm/src/components/treeview/types.d.ts +37 -0
  321. package/lib/esm/src/components/treeview/types.d.ts.map +1 -0
  322. package/lib/esm/src/components/treeview/types.js +1 -0
  323. package/lib/esm/src/components/upload/FileUpload.d.ts +67 -0
  324. package/lib/esm/src/components/upload/FileUpload.d.ts.map +1 -0
  325. package/lib/esm/src/components/upload/FileUpload.js +95 -0
  326. package/lib/esm/src/components/upload/ImageUpload.d.ts +21 -0
  327. package/lib/esm/src/components/upload/ImageUpload.d.ts.map +1 -0
  328. package/lib/esm/src/components/upload/ImageUpload.js +45 -0
  329. package/lib/esm/src/hoc/outsideClick.d.ts +4 -0
  330. package/lib/esm/src/hoc/outsideClick.d.ts.map +1 -0
  331. package/lib/esm/src/hoc/outsideClick.js +73 -0
  332. package/lib/esm/src/i18n/index.d.ts +16 -0
  333. package/lib/esm/src/i18n/index.d.ts.map +1 -0
  334. package/lib/esm/src/i18n/index.js +6 -0
  335. package/lib/esm/src/index.d.ts +52 -0
  336. package/lib/esm/src/index.d.ts.map +1 -0
  337. package/lib/esm/src/index.js +39 -0
  338. package/lib/esm/src/modules/messageBox/messageBox.d.ts +14 -0
  339. package/lib/esm/src/modules/messageBox/messageBox.d.ts.map +1 -0
  340. package/lib/esm/src/modules/messageBox/messageBox.js +56 -0
  341. package/lib/esm/src/modules/utils/nanoidGen.d.ts +2 -0
  342. package/lib/esm/src/modules/utils/nanoidGen.d.ts.map +1 -0
  343. package/lib/esm/src/modules/utils/nanoidGen.js +3 -0
  344. package/lib/esm/src/modules/utils/uuidGen.d.ts +2 -0
  345. package/lib/esm/src/modules/utils/uuidGen.d.ts.map +1 -0
  346. package/lib/esm/src/modules/utils/uuidGen.js +13 -0
  347. package/lib/esm/src/types/i18n.d.ts +5 -0
  348. package/lib/esm/src/types/i18n.d.ts.map +1 -0
  349. package/lib/esm/src/types/i18n.js +1 -0
  350. package/lib/esm/src/types/pagination.d.ts +19 -0
  351. package/lib/esm/src/types/pagination.d.ts.map +1 -0
  352. package/lib/esm/src/types/pagination.js +1 -0
  353. package/lib/esm/src/utils/dayjsLocales.d.ts +10 -0
  354. package/lib/esm/src/utils/dayjsLocales.d.ts.map +1 -0
  355. package/lib/esm/src/utils/dayjsLocales.js +12 -0
  356. package/lib/esm/src/utils/resolvePath.d.ts +2 -0
  357. package/lib/esm/src/utils/resolvePath.d.ts.map +1 -0
  358. package/lib/esm/src/utils/resolvePath.js +4 -0
  359. package/lib/esm/vite.config.d.mts +3 -0
  360. package/lib/esm/vite.config.d.mts.map +1 -0
  361. package/lib/esm/vite.config.mjs +9 -0
  362. package/lib/esm/vitest.setup.d.ts +3 -0
  363. package/lib/esm/vitest.setup.d.ts.map +1 -0
  364. package/lib/esm/vitest.setup.js +10 -0
  365. package/package.json +24 -54
@@ -28,7 +28,8 @@ export default class SelectWithSearch extends React.Component {
28
28
  constructor() {
29
29
  super(...arguments);
30
30
  this.state = {
31
- options: []
31
+ options: [],
32
+ inputValue: null
32
33
  };
33
34
  this.selectRef = React.createRef();
34
35
  this.portalRoot = null;
@@ -71,7 +72,7 @@ export default class SelectWithSearch extends React.Component {
71
72
  }
72
73
  }
73
74
  componentDidUpdate(prevProps) {
74
- if (!isEqual(prevProps.options, this.props.options)) {
75
+ if (!isEqual(prevProps.options, this.props.options) || prevProps.freeForm !== this.props.freeForm) {
75
76
  this.updateOptions();
76
77
  }
77
78
  }
@@ -83,8 +84,28 @@ export default class SelectWithSearch extends React.Component {
83
84
  render() {
84
85
  const { noResultsMessage, placeholder, value, onChange, clearable, loading, disabled } = this.props;
85
86
  const { options } = this.state;
86
- return (React.createElement(Select, { ref: this.selectRef, joinValues: true, name: "form-field-name", className: this.getContainerClasses().join(' '), classNamePrefix: "select-search", isClearable: clearable, noOptionsMessage: noResultsMessage ? () => noResultsMessage : undefined, options: options, value: value || null, onChange: onChange, placeholder: placeholder,
87
+ return (React.createElement(Select, { ref: this.selectRef, joinValues: true, name: "form-field-name", className: this.getContainerClasses().join(' '), classNamePrefix: "select-search", isClearable: clearable, noOptionsMessage: noResultsMessage ? () => noResultsMessage : undefined, options: options, value: value || null, onChange: onChange, onInputChange: (newValue) => {
88
+ if (this.props.freeForm && newValue) {
89
+ this.setState({ inputValue: newValue });
90
+ }
91
+ }, placeholder: placeholder,
87
92
  // @ts-ignore
88
- filterOption: this.filterOption, isLoading: loading, menuPortalTarget: this.portalRoot, isDisabled: disabled }));
93
+ filterOption: this.filterOption, isLoading: loading, menuPortalTarget: this.portalRoot, isDisabled: disabled, onBlur: () => {
94
+ if (this.props.freeForm && this.state.inputValue !== null) {
95
+ this.setState({ options: this.props.options });
96
+ this.setState({ inputValue: this.state.inputValue }, () => {
97
+ const newItem = {
98
+ type: 'item',
99
+ value: this.state.inputValue,
100
+ label: this.state.inputValue
101
+ };
102
+ this.setState((prevState) => ({
103
+ options: [newItem, ...prevState.options]
104
+ }));
105
+ this.state.inputValue = null;
106
+ onChange(newItem);
107
+ });
108
+ }
109
+ } }));
89
110
  }
90
111
  }
@@ -52,7 +52,7 @@ export default class SelectWithSearchAsync<Item, ID extends string | number> ext
52
52
  options: Array<any>;
53
53
  }>;
54
54
  handleChange: (item: SelectItem<ID> | null | undefined) => void;
55
- render(): JSX.Element;
55
+ render(): React.JSX.Element;
56
56
  }
57
57
  export {};
58
58
  //# sourceMappingURL=SelectWithSearchAsync.d.ts.map
@@ -16,7 +16,7 @@ export default class UrnInput extends React.Component<Props, State> {
16
16
  state: State;
17
17
  handleEdit: () => void;
18
18
  handleChangeValue: (event: React.SyntheticEvent<HTMLInputElement>) => any;
19
- render(): JSX.Element;
19
+ render(): React.JSX.Element;
20
20
  }
21
21
  export {};
22
22
  //# sourceMappingURL=UrnInput.d.ts.map
@@ -30,6 +30,6 @@ export default class ValidatedTextInput extends React.Component<Props> {
30
30
  required: boolean;
31
31
  };
32
32
  handleChange: (e: React.SyntheticEvent<HTMLInputElement>) => void;
33
- render(): JSX.Element;
33
+ render(): React.JSX.Element;
34
34
  }
35
35
  //# sourceMappingURL=ValidatedTextInput.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import React, { useState } from 'react';
2
+ import { describe, expect, it, vi } from 'vitest';
2
3
  import dayjs from 'dayjs';
3
4
  import { act, fireEvent, render, screen, waitFor } from '@testing-library/react';
4
5
  import DateInput from '../DateInput';
5
- jest.mock('i18next', () => ({ language: 'de' }));
6
6
  const DateStateProvider = ({ children, initialValue }) => {
7
7
  const [state, setState] = useState(initialValue);
8
8
  return children(state, setState);
@@ -35,7 +35,7 @@ describe('DateInput.js', () => {
35
35
  expect(screen.getByTestId('date-input')).toHaveClass('invalid');
36
36
  });
37
37
  it('should call onChange callback with parsed value of the input during the input is being changed when the value is valid', async () => {
38
- const onChange = jest.fn();
38
+ const onChange = vi.fn();
39
39
  await act(async () => {
40
40
  render(React.createElement(DateInput, { value: new Date('2019-02-01').getTime(), onChange: onChange }));
41
41
  });
@@ -46,7 +46,7 @@ describe('DateInput.js', () => {
46
46
  expect(dayjs(currentValue).toISOString()).toEqual(dayjs('2019-02-02').toISOString());
47
47
  });
48
48
  it('should not call onChange callback while editing the input when the input value is invalid', async () => {
49
- const onChange = jest.fn();
49
+ const onChange = vi.fn();
50
50
  await act(async () => {
51
51
  render(React.createElement(DateInput, { value: new Date('2019-02-01').getTime(), onChange: onChange }));
52
52
  });
@@ -72,7 +72,7 @@ describe('DateInput.js', () => {
72
72
  expect(screen.getByTestId('date-input')).toHaveValue('dateInput.invalidDate');
73
73
  });
74
74
  it('should call onChange callback with [null, true] when empty string is set to input field', async () => {
75
- const onChange = jest.fn();
75
+ const onChange = vi.fn();
76
76
  await act(async () => {
77
77
  render(React.createElement(DateInput, { value: Date.now(), onChange: onChange }));
78
78
  });
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { describe, expect, it } from 'vitest';
2
3
  import DateTimeInput from '../DateTimeInput';
3
4
  import { render, screen } from '@testing-library/react';
4
5
  describe('DateTimeInput.js', () => {
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
2
3
  import SelectWithSearchAsync from '../SelectWithSearchAsync';
3
4
  import { render, screen, waitFor } from '@testing-library/react';
4
5
  // helper data
5
6
  const obj1 = { id: 1, label: 'obj 1' };
6
7
  const obj5 = { id: 5, label: 'obj 5' };
7
8
  const content = [obj1, obj5];
8
- const searchByQuery = jest.fn(() => Promise.resolve({
9
+ const searchByQuery = vi.fn(() => Promise.resolve({
9
10
  content,
10
11
  totalElements: 2,
11
12
  totalPages: 1,
@@ -13,7 +14,7 @@ const searchByQuery = jest.fn(() => Promise.resolve({
13
14
  size: 5,
14
15
  sort: []
15
16
  }));
16
- const searchById = jest.fn((id) => Promise.resolve(content.find((item) => item.id === id)));
17
+ const searchById = vi.fn((id) => Promise.resolve(content.find((item) => item.id === id)));
17
18
  const noop = () => { };
18
19
  describe('SelectWithSearchAsync.js', () => {
19
20
  beforeEach(() => {
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RouteComponentProps } from 'react-router-dom';
3
3
  import { TranslationDescriptor } from '../../types/i18n';
4
4
  declare type LocationShape = RouteComponentProps['location'];
@@ -26,6 +26,6 @@ export declare type Props = {
26
26
  * RouteLink enables the possibility to add new links to existing routes.
27
27
  * Those routes can also be accessed via `keyboardShortcut`
28
28
  */
29
- export default function RouteLink({ to, confirm, className, title, children, keyboardShortcut, ...otherProps }: Props): JSX.Element;
29
+ export default function RouteLink({ to, confirm, className, title, children, keyboardShortcut, ...otherProps }: Props): React.JSX.Element;
30
30
  export {};
31
31
  //# sourceMappingURL=RouteLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteLink.d.ts","sourceRoot":"","sources":["../../../../src/components/link/RouteLink.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,aAAK,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAKrD,oBAAY,KAAK,GAAG;IACnB,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAE3B,sBAAsB;IACtB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAE9B,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;SAKK;IACL,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAE1F,cAAc;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEf,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,UAAU,EAAC,EAAE,KAAK,eAkElH"}
1
+ {"version":3,"file":"RouteLink.d.ts","sourceRoot":"","sources":["../../../../src/components/link/RouteLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAC,mBAAmB,EAAa,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,aAAK,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAKrD,oBAAY,KAAK,GAAG;IACnB,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAE3B,sBAAsB;IACtB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAE9B,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;SAKK;IACL,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAE1F,cAAc;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEf,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,UAAU,EAAC,EAAE,KAAK,qBAkElH"}
@@ -21,7 +21,7 @@ declare type State = {
21
21
  export default class MultiMenu extends React.Component<Props, State> {
22
22
  state: State;
23
23
  toggleMenu: () => void;
24
- render(): JSX.Element;
24
+ render(): React.JSX.Element;
25
25
  }
26
26
  export {};
27
27
  //# sourceMappingURL=MultiMenu.d.ts.map
@@ -9,6 +9,6 @@ export declare type Props = {
9
9
  };
10
10
  export default class MultiMenuItem extends React.PureComponent<Props> {
11
11
  createClickHandler: (toggleMenu: () => void) => () => void;
12
- render(): JSX.Element;
12
+ render(): React.JSX.Element;
13
13
  }
14
14
  //# sourceMappingURL=MultiMenuItem.d.ts.map
@@ -31,7 +31,7 @@ export default class Pagination extends React.Component<Props, State> {
31
31
  onChangeSize: (event: React.SyntheticEvent<HTMLSelectElement>) => void;
32
32
  notifyPageChange: (page: number) => void;
33
33
  handlePageInputChange: (event: React.SyntheticEvent<HTMLInputElement>) => void;
34
- render(): JSX.Element;
34
+ render(): React.JSX.Element;
35
35
  }
36
36
  export {};
37
37
  //# sourceMappingURL=Pagination.d.ts.map
@@ -1,87 +1,87 @@
1
1
  import * as React from 'react';
2
- import { shallow } from 'enzyme';
2
+ import { describe, expect, it, vi } from 'vitest';
3
3
  import Pagination from '../Pagination';
4
+ import { fireEvent, render, waitFor } from '@testing-library/react';
4
5
  describe('Pagination.js', () => {
5
6
  it('should disable all buttons when there is only one page', () => {
6
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 0, totalPages: 1, onChangePage: () => { } }));
7
- expect(PaginationWrapper.find('span.disabled')).toHaveLength(4);
7
+ const { container } = render(React.createElement(Pagination, { page: 0, totalPages: 1, onChangePage: () => { } }));
8
+ expect(container.querySelectorAll('span.disabled')).toHaveLength(4);
8
9
  });
9
10
  it('should disable "prev" and "first" when the first page is selected', () => {
10
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: () => { } }));
11
- expect(PaginationWrapper.find('span.prev.disabled')).toHaveLength(2);
11
+ const { container } = render(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: () => { } }));
12
+ expect(container.querySelectorAll('span.prev.disabled')).toHaveLength(2);
12
13
  });
13
14
  it('should disable "next" and "last" when the last page is selected', () => {
14
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 9, totalPages: 10, onChangePage: () => { } }));
15
- expect(PaginationWrapper.find('span.next.disabled')).toHaveLength(2);
15
+ const { container } = render(React.createElement(Pagination, { page: 9, totalPages: 10, onChangePage: () => { } }));
16
+ expect(container.querySelectorAll('span.next.disabled')).toHaveLength(2);
16
17
  });
17
18
  it('should not disable buttons when on a page > 0 and < max pages', () => {
18
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 5, totalPages: 10, onChangePage: () => { } }));
19
- expect(PaginationWrapper.find('span.disabled')).toHaveLength(0);
19
+ const { container } = render(React.createElement(Pagination, { page: 5, totalPages: 10, onChangePage: () => { } }));
20
+ expect(container.querySelectorAll('span.disabled')).toHaveLength(0);
20
21
  });
21
22
  it('should go to the first page when the user clicks "first"', () => {
22
- const handleChangePage = jest.fn();
23
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 5, totalPages: 10, onChangePage: handleChangePage }));
24
- PaginationWrapper.find('span.prev').first().simulate('click');
23
+ const handleChangePage = vi.fn();
24
+ const { container } = render(React.createElement(Pagination, { page: 5, totalPages: 10, onChangePage: handleChangePage }));
25
+ fireEvent.click(container.querySelectorAll('span.prev')[0]);
25
26
  expect(handleChangePage).toHaveBeenCalledWith(0);
26
27
  });
27
- it('should go to the previous page when the user clicks "prev"', () => {
28
+ it('should go to the previous page when the user clicks "prev"', async () => {
28
29
  const page = 2;
29
- const handleChangePage = jest.fn();
30
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: page, totalPages: 10, onChangePage: handleChangePage }));
31
- PaginationWrapper.find('span.prev').last().simulate('click');
30
+ const handleChangePage = vi.fn();
31
+ const { container } = render(React.createElement(Pagination, { page: page, totalPages: 10, onChangePage: handleChangePage }));
32
+ fireEvent.click(container.querySelectorAll('span.prev')[1]);
32
33
  expect(handleChangePage).toHaveBeenCalledWith(page - 1);
33
34
  });
34
35
  it('should go to the next page when the user clicks "next"', () => {
35
- const handleChangePage = jest.fn();
36
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 2, totalPages: 10, onChangePage: handleChangePage }));
37
- PaginationWrapper.find('span.next').first().simulate('click');
36
+ const handleChangePage = vi.fn();
37
+ const { container } = render(React.createElement(Pagination, { page: 2, totalPages: 10, onChangePage: handleChangePage }));
38
+ fireEvent.click(container.querySelectorAll('span.next')[0]);
38
39
  expect(handleChangePage).toHaveBeenCalledWith(3);
39
40
  });
40
41
  it('should go to the last page when the user clicks "last"', () => {
41
- const handleChangePage = jest.fn();
42
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 5, totalPages: 10, onChangePage: handleChangePage }));
43
- PaginationWrapper.find('span.next').last().simulate('click');
42
+ const handleChangePage = vi.fn();
43
+ const { container } = render(React.createElement(Pagination, { page: 5, totalPages: 10, onChangePage: handleChangePage }));
44
+ fireEvent.click(container.querySelectorAll('span.next')[1]);
44
45
  expect(handleChangePage).toHaveBeenCalledWith(9);
45
46
  });
46
47
  it('should match snapshot', () => {
47
- const PaginationWrapper1 = shallow(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: () => { } }));
48
- const PaginationWrapper2 = shallow(React.createElement(Pagination, { page: 5, totalPages: 10, onChangePage: () => { } }));
49
- const PaginationWrapper3 = shallow(React.createElement(Pagination, { page: 9, totalPages: 10, onChangePage: () => { } }));
48
+ const PaginationWrapper1 = render(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: () => { } }));
49
+ const PaginationWrapper2 = render(React.createElement(Pagination, { page: 5, totalPages: 10, onChangePage: () => { } }));
50
+ const PaginationWrapper3 = render(React.createElement(Pagination, { page: 9, totalPages: 10, onChangePage: () => { } }));
50
51
  expect(PaginationWrapper1).toMatchSnapshot();
51
52
  expect(PaginationWrapper2).toMatchSnapshot();
52
53
  expect(PaginationWrapper3).toMatchSnapshot();
53
54
  });
54
55
  describe('handlePageInputChange', () => {
55
- it('should set page number if input is a correct number', () => {
56
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: () => { } }));
57
- const instance = PaginationWrapper.instance();
58
- // @ts-ignore
59
- const spy = jest.spyOn(instance, 'notifyPageChange');
60
- // @ts-ignore
61
- instance.handlePageInputChange({ target: { value: '4' } });
62
- expect(spy).toHaveBeenCalledWith(4 - 1); // counting from 0
56
+ it('should set page number if input is a correct number', async () => {
57
+ const handleChangePage = vi.fn();
58
+ const { getByRole } = render(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: handleChangePage }));
59
+ const input = getByRole('textbox');
60
+ fireEvent.change(input, { target: { value: '4' } });
61
+ fireEvent.blur(input);
62
+ await waitFor(() => {
63
+ expect(handleChangePage).toHaveBeenCalledWith(3);
64
+ });
63
65
  });
64
- it('should not set page number if input is bigger than totalPages', () => {
65
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: () => { } }));
66
- const instance = PaginationWrapper.instance();
67
- // @ts-ignore
68
- const spy = jest.spyOn(instance, 'notifyPageChange');
69
- // @ts-ignore
70
- instance.handlePageInputChange({ target: { value: '12' } });
71
- expect(PaginationWrapper.state('page')).toBe(0);
72
- expect(spy).not.toHaveBeenCalled();
66
+ it('should not set page number if input is bigger than totalPages', async () => {
67
+ const handleChangePage = vi.fn();
68
+ const { getByRole } = render(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: handleChangePage }));
69
+ const input = getByRole('textbox');
70
+ fireEvent.change(input, { target: { value: '12' } });
71
+ fireEvent.blur(input);
72
+ await waitFor(() => {
73
+ expect(handleChangePage).not.toHaveBeenCalled();
74
+ });
73
75
  });
74
- it('should not set empty string as state and not call notifyPageChange', () => {
75
- const PaginationWrapper = shallow(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: () => { } }));
76
- const instance = PaginationWrapper.instance();
77
- // @ts-ignore
78
- instance.handlePageInputChange({ target: { value: '2' } });
79
- // @ts-ignore
80
- const spy = jest.spyOn(instance, 'notifyPageChange');
81
- // @ts-ignore
82
- instance.handlePageInputChange({ target: { value: '0' } });
83
- expect(PaginationWrapper.state('page')).toBe('');
84
- expect(spy).not.toHaveBeenCalled();
76
+ it('should not set an empty string as page state', async () => {
77
+ const handleChangePage = vi.fn();
78
+ const { getByRole } = render(React.createElement(Pagination, { page: 0, totalPages: 10, onChangePage: handleChangePage }));
79
+ const input = getByRole('textbox');
80
+ fireEvent.change(input, { target: { value: '' } });
81
+ fireEvent.blur(input);
82
+ await waitFor(() => {
83
+ expect(handleChangePage).not.toHaveBeenCalled();
84
+ });
85
85
  });
86
86
  });
87
87
  });
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { Period } from './types';
3
3
  export declare type Props = {
4
4
  /** Period from start- to endpoint */
@@ -19,5 +19,5 @@ export declare type Props = {
19
19
  timezone?: string;
20
20
  'data-testid'?: string;
21
21
  };
22
- export default function PeriodPicker({ period, onChange, inputsHiddenByDefault, menuHidden, readOnly, locale, defaultPeriodName, timezone, ...props }: Props): JSX.Element;
22
+ export default function PeriodPicker({ period, onChange, inputsHiddenByDefault, menuHidden, readOnly, locale, defaultPeriodName, timezone, ...props }: Props): React.JSX.Element;
23
23
  //# sourceMappingURL=PeriodPicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/periodpicker/PeriodPicker.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAK/B,oBAAY,KAAK,GAAG;IACnB,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,6BAA6B;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,4DAA4D;IAC5D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACpC,MAAM,EACN,QAAQ,EACR,qBAAqB,EACrB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,KAAK,eAmBP"}
1
+ {"version":3,"file":"PeriodPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/periodpicker/PeriodPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAK/B,oBAAY,KAAK,GAAG;IACnB,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,6BAA6B;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,4DAA4D;IAC5D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACpC,MAAM,EACN,QAAQ,EACR,qBAAqB,EACrB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,KAAK,qBAmBP"}
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { Period } from '../types';
3
3
  declare type Props = {
4
4
  period: Period;
@@ -7,6 +7,6 @@ declare type Props = {
7
7
  locale?: string;
8
8
  timezone?: string;
9
9
  };
10
- export default function Inputs({ period, onChange, readOnly, locale, timezone }: Props): JSX.Element;
10
+ export default function Inputs({ period, onChange, readOnly, locale, timezone }: Props): React.JSX.Element;
11
11
  export {};
12
12
  //# sourceMappingURL=Inputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Inputs.d.ts","sourceRoot":"","sources":["../../../../../src/components/periodpicker/components/Inputs.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAMhC,aAAK,KAAK,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC,EAAE,KAAK,eA2FnF"}
1
+ {"version":3,"file":"Inputs.d.ts","sourceRoot":"","sources":["../../../../../src/components/periodpicker/components/Inputs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAMhC,aAAK,KAAK,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC,EAAE,KAAK,qBA2FnF"}
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { Period } from '../types';
3
3
  declare type Props = {
4
4
  periodName: string | undefined;
@@ -6,6 +6,6 @@ declare type Props = {
6
6
  onChange: (period: Period) => void;
7
7
  onShowCustomPeriod: ((show: boolean) => void) | undefined;
8
8
  };
9
- export default function Menu({ onChange, onShowCustomPeriod, periodName, timezone }: Props): JSX.Element;
9
+ export default function Menu({ onChange, onShowCustomPeriod, periodName, timezone }: Props): React.JSX.Element;
10
10
  export {};
11
11
  //# sourceMappingURL=Menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../../src/components/periodpicker/components/Menu.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAgBhC,aAAK,KAAK,GAAG;IACZ,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,kBAAkB,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAAC,EAAE,KAAK,eA2KvF"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../../src/components/periodpicker/components/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAgBhC,aAAK,KAAK,GAAG;IACZ,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,kBAAkB,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAAC,EAAE,KAAK,qBA2KvF"}
@@ -12,8 +12,8 @@ declare type State = {
12
12
  };
13
13
  export default class MonthPicker extends React.Component<Props, State> {
14
14
  constructor(props: Props);
15
- tdMonth: (month: number) => JSX.Element;
16
- render(): JSX.Element;
15
+ tdMonth: (month: number) => React.JSX.Element;
16
+ render(): React.JSX.Element;
17
17
  }
18
18
  export {};
19
19
  //# sourceMappingURL=MonthPicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MonthPicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/periodpicker/components/MonthPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,aAAK,QAAQ,GAAG;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,aAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,aAAK,KAAK,GAAG;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBACzD,KAAK,EAAE,KAAK;IAWxB,OAAO,UAAW,MAAM,iBAiBtB;IAEF,MAAM;CAwDN"}
1
+ {"version":3,"file":"MonthPicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/periodpicker/components/MonthPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,aAAK,QAAQ,GAAG;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,aAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,aAAK,KAAK,GAAG;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBACzD,KAAK,EAAE,KAAK;IAWxB,OAAO,UAAW,MAAM,uBAiBtB;IAEF,MAAM;CAwDN"}
@@ -3,5 +3,5 @@ import { Period } from './types';
3
3
  * This hook takes a period and tries to find its translation.
4
4
  * @param period
5
5
  */
6
- export default function usePeriodName(period: Period, timezone: string | undefined): any;
6
+ export default function usePeriodName(period: Period, timezone: string | undefined): string | undefined;
7
7
  //# sourceMappingURL=usePeriodName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePeriodName.d.ts","sourceRoot":"","sources":["../../../../src/components/periodpicker/usePeriodName.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAgB/B;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,OAoCjF"}
1
+ {"version":3,"file":"usePeriodName.d.ts","sourceRoot":"","sources":["../../../../src/components/periodpicker/usePeriodName.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAgB/B;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,sBAoCjF"}
@@ -1,4 +1,4 @@
1
- import { useTranslation } from 'react-i18next';
1
+ import { useTranslation } from '../../i18n';
2
2
  import { createCurrentMonth, createCurrentWeek, createLastXDays, createToday, createWholeDay, createWholeMonth, createYesterday, periodToDays } from './periods';
3
3
  function compare(period1, period2) {
4
4
  return period1.tsStart === period2.tsStart && period1.tsEnd === period2.tsEnd;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { TranslationDescriptor } from '../../types/i18n';
3
3
  export declare type Props = {
4
4
  /** Title of the Prompt's content */
@@ -19,5 +19,5 @@ export declare type Props = {
19
19
  /**
20
20
  * This component should not be used directly, instead use `@withPrompt` to inject a promise-based prompt method
21
21
  */
22
- export default function Prompt({ title, message, onAccept, onCancel, inputPlaceholder, cancelButtonLabel, acceptButtonLabel }: Props): JSX.Element;
22
+ export default function Prompt({ title, message, onAccept, onCancel, inputPlaceholder, cancelButtonLabel, acceptButtonLabel }: Props): React.JSX.Element;
23
23
  //# sourceMappingURL=Prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Prompt.d.ts","sourceRoot":"","sources":["../../../../src/components/prompt/Prompt.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,oBAAY,KAAK,GAAG;IACnB,oCAAoC;IACpC,KAAK,EAAE,qBAAqB,CAAC;IAE7B,wCAAwC;IACxC,OAAO,EAAE,qBAAqB,CAAC;IAE/B,cAAc;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,cAAc;IACd,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;IAEvC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAE1C,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAE1C,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,EAAE,KAAK,eAiEP"}
1
+ {"version":3,"file":"Prompt.d.ts","sourceRoot":"","sources":["../../../../src/components/prompt/Prompt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAKzD,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,oBAAY,KAAK,GAAG;IACnB,oCAAoC;IACpC,KAAK,EAAE,qBAAqB,CAAC;IAE7B,wCAAwC;IACxC,OAAO,EAAE,qBAAqB,CAAC;IAE/B,cAAc;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,cAAc;IACd,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;IAEvC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAE1C,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAE1C,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,EAAE,KAAK,qBAiEP"}
@@ -33,6 +33,6 @@ export declare type Props<T, ID extends string | number | undefined | null = any
33
33
  * Each column can also be extended to be sortable and/or filterable
34
34
  */
35
35
  export default class Reactable<T = any, ID extends string | number | undefined | null = any> extends React.Component<Props<T, ID>> {
36
- render(): JSX.Element;
36
+ render(): React.JSX.Element;
37
37
  }
38
38
  //# sourceMappingURL=Reactable.d.ts.map
@@ -1,21 +1,19 @@
1
- import * as React from 'react';
1
+ import React from 'react';
2
2
  import { ReactableColumnDef, ReactableRowDef, ReactableFilterSettings } from '../types';
3
3
  import { Pageable, PaginationSettings, SortDirection } from '../../../types/pagination';
4
4
  declare type Props<T, ID extends string | number | undefined | null> = {
5
- columnDefs: Array<ReactableColumnDef<T>>;
6
- uniqueItemKey: (arg0: T) => ID;
5
+ columnDefs: ReactableColumnDef<T>[];
6
+ uniqueItemKey: (item: T) => ID;
7
7
  paginationSettings: PaginationSettings;
8
8
  onSort: (property: string, direction: SortDirection) => void;
9
9
  onFilter?: (filterSettings: ReactableFilterSettings) => void;
10
- pageable: Pageable<T> | null | undefined;
10
+ pageable?: Pageable<T> | null;
11
11
  isLoading: boolean;
12
12
  rowDef?: ReactableRowDef<T>;
13
13
  clickable?: boolean;
14
14
  messageWhenEmpty?: string;
15
15
  'data-testid'?: string;
16
16
  };
17
- export default class ReactableTable<T = any, ID extends string | number | undefined | null = any> extends React.Component<Props<T, ID>> {
18
- render(): JSX.Element;
19
- }
20
- export {};
17
+ declare const ReactableTable: <T, ID extends string | number | null | undefined>({ columnDefs, uniqueItemKey, paginationSettings, onSort, onFilter, pageable, isLoading, rowDef, clickable, messageWhenEmpty, "data-testid": testId }: Props<T, ID>) => React.JSX.Element;
18
+ export default ReactableTable;
21
19
  //# sourceMappingURL=ReactableTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactableTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/reactable/helpers/ReactableTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAE,uBAAuB,EAAC,MAAM,UAAU,CAAC;AACtF,OAAO,EAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAEtF,aAAK,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI;IAC9D,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAC7D,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc,CAClC,CAAC,GAAG,GAAG,EACP,EAAE,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,GAAG,CAClD,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM;CA+DN"}
1
+ {"version":3,"file":"ReactableTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/reactable/helpers/ReactableTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAQzD,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAE,uBAAuB,EAAC,MAAM,UAAU,CAAC;AACtF,OAAO,EAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAGtF,aAAK,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI;IAC9D,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;IAC/B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,cAAc,6OAgHnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,33 +1,50 @@
1
- import * as React from 'react';
1
+ import React, { useRef, useEffect, useState } from 'react';
2
2
  import { Trans } from '../../../i18n';
3
3
  import cx from 'classnames';
4
- import { SpinnerContainer } from '@deviceinsight/ng-ui-basic-components';
4
+ import { Button, Modal, SpinnerContainer } from '@deviceinsight/ng-ui-basic-components';
5
5
  import ReactableTableRow from './ReactableTableRow';
6
6
  import ReactableTableHeader from './ReactableTableHeader';
7
7
  import ReactableTableFilterRow from './ReactableTableFilterRow';
8
- export default class ReactableTable extends React.Component {
9
- render() {
10
- const { columnDefs, rowDef, uniqueItemKey, paginationSettings, pageable, onSort, onFilter, isLoading, clickable, messageWhenEmpty } = this.props;
11
- const showFilterRow = columnDefs.some((columnDef) => !!columnDef.filterable);
12
- return (React.createElement(SpinnerContainer, { show: isLoading },
13
- React.createElement("div", { className: "di reactable scroll-x" },
14
- React.createElement("table", { className: cx('di reactable sortable hoverable', { selectable: clickable }), "data-testid": this.props['data-testid'] },
15
- React.createElement("thead", null,
16
- React.createElement(ReactableTableHeader, { columnDefs: columnDefs, paginationSettings: paginationSettings, onSort: onSort })),
17
- React.createElement("tbody", null,
18
- onFilter && showFilterRow && (React.createElement(ReactableTableFilterRow, { columnDefs: columnDefs, onFilter: onFilter })),
19
- pageable &&
20
- pageable.content.length > 0 &&
21
- pageable.content.map((item, index) => {
22
- if (paginationSettings.size > index) {
23
- return (React.createElement(ReactableTableRow, { key: uniqueItemKey(item), columnDefs: columnDefs, item: item, rowDef: rowDef }));
24
- }
25
- else {
26
- return null;
27
- }
28
- }),
29
- (!pageable || !pageable.content.length) && !isLoading && (React.createElement("tr", null,
8
+ import { readAccountObject, writeAccountObject } from '@deviceinsight/ng-ui-api-client';
9
+ const ReactableTable = ({ columnDefs, uniqueItemKey, paginationSettings, onSort, onFilter, pageable, isLoading, rowDef, clickable, messageWhenEmpty, 'data-testid': testId }) => {
10
+ const containerRef = useRef(null);
11
+ const tableRef = useRef(null);
12
+ const [showHorizontalScrollingAdvice, setShowHorizontalScrollingAdvice] = useState(true);
13
+ const HIDE_SCROLLING_ADVICE_PATH = 'uiConfigurations/hidescrollingadvice';
14
+ useEffect(() => {
15
+ readAccountObject(HIDE_SCROLLING_ADVICE_PATH).then((value) => setShowHorizontalScrollingAdvice(value === undefined ? false : !value));
16
+ }, []);
17
+ useEffect(() => {
18
+ const updateScrollingAdvice = () => {
19
+ if (containerRef.current && tableRef.current) {
20
+ setShowHorizontalScrollingAdvice(showHorizontalScrollingAdvice && tableRef.current.scrollWidth > containerRef.current.offsetWidth);
21
+ }
22
+ };
23
+ window.addEventListener('resize', updateScrollingAdvice);
24
+ return () => window.removeEventListener('resize', updateScrollingAdvice);
25
+ }, [pageable, columnDefs, showHorizontalScrollingAdvice]);
26
+ const showFilterRow = columnDefs.some((col) => col.filterable);
27
+ return (React.createElement(SpinnerContainer, { show: isLoading },
28
+ React.createElement("div", { ref: containerRef, className: "di reactable scroll-x" },
29
+ showHorizontalScrollingAdvice && (React.createElement(Modal, { className: "scroll-horizontally-advice", header: React.createElement(Trans, { i18nKey: "reactable.scrollHorizontally.advice" }, "SHIFT + mouse wheel to scroll horizontally"), content: React.createElement("div", { className: "scroll-horizontally-advice-buttons" },
30
+ React.createElement(Button, { primary: true, onClick: async () => {
31
+ await writeAccountObject(HIDE_SCROLLING_ADVICE_PATH, true);
32
+ setShowHorizontalScrollingAdvice(false);
33
+ } },
34
+ React.createElement(Trans, { i18nKey: "reactable.scrollHorizontally.neverShowAgain" }, "Never show again")),
35
+ React.createElement(Button, { onClick: () => setShowHorizontalScrollingAdvice(false) },
36
+ React.createElement(Trans, { i18nKey: "reactable.scrollHorizontally.ok" }, "OK"))), width: '40%' })),
37
+ React.createElement("table", { ref: tableRef, className: cx('di reactable sortable hoverable', { selectable: clickable }), "data-testid": testId },
38
+ React.createElement("thead", null,
39
+ React.createElement(ReactableTableHeader, { columnDefs: columnDefs, paginationSettings: paginationSettings, onSort: onSort })),
40
+ React.createElement("tbody", null,
41
+ onFilter && showFilterRow && (React.createElement(ReactableTableFilterRow, { columnDefs: columnDefs, onFilter: onFilter })),
42
+ pageable?.content.length
43
+ ? pageable.content
44
+ .slice(0, paginationSettings.size)
45
+ .map((item) => (React.createElement(ReactableTableRow, { key: uniqueItemKey(item), columnDefs: columnDefs, item: item, rowDef: rowDef })))
46
+ : !isLoading && (React.createElement("tr", null,
30
47
  React.createElement("td", { colSpan: columnDefs.length },
31
48
  React.createElement(Trans, { i18nKey: messageWhenEmpty ?? 'reactable.noEntriesFound' }, "No entries found")))))))));
32
- }
33
- }
49
+ };
50
+ export default ReactableTable;