@addev-be/ui 0.7.0 → 0.7.2

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 (316) hide show
  1. package/assets/icons/arrow-down-1-9.svg +1 -1
  2. package/assets/icons/arrow-down-a-z.svg +1 -1
  3. package/assets/icons/arrow-up-z-a.svg +1 -1
  4. package/assets/icons/check.svg +1 -1
  5. package/assets/icons/circle-check.svg +1 -1
  6. package/assets/icons/down.svg +1 -1
  7. package/assets/icons/filter-full.svg +1 -1
  8. package/assets/icons/filter.svg +1 -1
  9. package/assets/icons/hashtag.svg +1 -1
  10. package/assets/icons/image-slash.svg +1 -1
  11. package/assets/icons/left.svg +1 -1
  12. package/assets/icons/magnifier.svg +1 -1
  13. package/assets/icons/phone.svg +1 -1
  14. package/assets/icons/right.svg +1 -1
  15. package/assets/icons/sort-calendar-ascending.svg +5 -5
  16. package/assets/icons/spinner-third.svg +1 -1
  17. package/assets/icons/table-columns.svg +1 -1
  18. package/assets/icons/table-footer-slash.svg +4 -4
  19. package/assets/icons/table-footer.svg +3 -3
  20. package/assets/icons/up.svg +1 -1
  21. package/assets/icons/user-tie.svg +1 -1
  22. package/assets/icons/x-bar.svg +3 -3
  23. package/package.json +1 -1
  24. package/src/Icons.tsx +116 -116
  25. package/src/components/auth/LoginForm.tsx +83 -83
  26. package/src/components/auth/LoginPage.tsx +32 -32
  27. package/src/components/auth/PasswordRecoveryForm.tsx +52 -52
  28. package/src/components/auth/PasswordResetForm.tsx +112 -112
  29. package/src/components/auth/index.ts +4 -4
  30. package/src/components/auth/styles.ts +14 -14
  31. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +93 -93
  32. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +262 -262
  33. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +2 -2
  34. package/src/components/data/AdvancedRequestDataGrid/index.tsx +267 -267
  35. package/src/components/data/AdvancedRequestDataGrid/types.ts +47 -47
  36. package/src/components/data/DataGrid/DataGridCell.tsx +73 -73
  37. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +14 -14
  38. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  39. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +181 -181
  40. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  41. package/src/components/data/DataGrid/DataGridEditableCell.tsx +43 -43
  42. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +120 -120
  43. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +75 -75
  44. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +360 -360
  45. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +96 -96
  46. package/src/components/data/DataGrid/DataGridFooter.tsx +42 -42
  47. package/src/components/data/DataGrid/DataGridHeader.tsx +126 -126
  48. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +132 -132
  49. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +70 -70
  50. package/src/components/data/DataGrid/FilterModalContent/index.tsx +136 -136
  51. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  52. package/src/components/data/DataGrid/helpers/columns.tsx +319 -319
  53. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  54. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  55. package/src/components/data/DataGrid/hooks/index.ts +30 -30
  56. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +287 -287
  57. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +175 -175
  58. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  59. package/src/components/data/DataGrid/index.tsx +82 -82
  60. package/src/components/data/DataGrid/styles.ts +285 -285
  61. package/src/components/data/DataGrid/types.ts +276 -276
  62. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +303 -303
  63. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  64. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  65. package/src/components/data/SqlRequestDataGrid/index.tsx +380 -380
  66. package/src/components/data/SqlRequestDataGrid/types.ts +47 -47
  67. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -2
  68. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  69. package/src/components/data/SqlRequestGrid/index.tsx +174 -174
  70. package/src/components/data/SqlRequestGrid/styles.ts +50 -50
  71. package/src/components/data/SqlRequestGrid/types.ts +50 -50
  72. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  73. package/src/components/data/VirtualScroller/index.tsx +75 -75
  74. package/src/components/data/VirtualScroller/styles.ts +51 -51
  75. package/src/components/data/VirtualScroller/types.ts +12 -12
  76. package/src/components/data/index.ts +17 -17
  77. package/src/components/forms/Button.tsx +99 -99
  78. package/src/components/forms/IconButton.tsx +56 -56
  79. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  80. package/src/components/forms/Select.tsx +40 -40
  81. package/src/components/forms/VerticalLabel.tsx +20 -20
  82. package/src/components/forms/index.ts +5 -5
  83. package/src/components/forms/styles.ts +31 -31
  84. package/src/components/index.ts +6 -6
  85. package/src/components/layout/Dropdown/index.tsx +80 -80
  86. package/src/components/layout/Dropdown/styles.ts +45 -45
  87. package/src/components/layout/Loading/index.tsx +29 -29
  88. package/src/components/layout/Loading/styles.ts +29 -29
  89. package/src/components/layout/Modal/index.tsx +51 -51
  90. package/src/components/layout/Modal/styles.ts +121 -121
  91. package/src/components/layout/index.ts +3 -3
  92. package/src/components/search/HighlightedText.tsx +37 -37
  93. package/src/components/search/QuickSearchBar.tsx +80 -80
  94. package/src/components/search/QuickSearchResults.tsx +86 -86
  95. package/src/components/search/index.ts +9 -9
  96. package/src/components/search/styles.ts +96 -96
  97. package/src/components/search/types.ts +26 -26
  98. package/src/components/ui/Card/index.tsx +14 -14
  99. package/src/components/ui/Card/styles.ts +37 -37
  100. package/src/components/ui/ContextMenu/index.tsx +79 -79
  101. package/src/components/ui/ContextMenu/styles.ts +119 -119
  102. package/src/components/ui/Message/index.tsx +57 -57
  103. package/src/components/ui/Message/styles.ts +40 -40
  104. package/src/components/ui/index.ts +3 -3
  105. package/src/config/index.ts +14 -14
  106. package/src/helpers/dates.ts +17 -17
  107. package/src/helpers/getScrollbarSize.ts +14 -14
  108. package/src/helpers/index.ts +3 -3
  109. package/src/helpers/numbers.ts +26 -26
  110. package/src/helpers/text.ts +13 -13
  111. package/src/hooks/index.ts +2 -2
  112. package/src/hooks/useElementSize.ts +24 -24
  113. package/src/hooks/useWindowSize.ts +20 -20
  114. package/src/index.ts +8 -8
  115. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  116. package/src/providers/AuthenticationProvider/index.tsx +235 -226
  117. package/src/providers/LoadingProvider/index.tsx +47 -47
  118. package/src/providers/PortalsProvider/index.tsx +54 -54
  119. package/src/providers/PortalsProvider/styles.ts +27 -27
  120. package/src/providers/SettingsProvider/index.tsx +70 -70
  121. package/src/providers/ThemeProvider/ThemeProvider.ts +63 -63
  122. package/src/providers/ThemeProvider/defaultTheme.ts +444 -444
  123. package/src/providers/ThemeProvider/index.ts +4 -4
  124. package/src/providers/ThemeProvider/types.ts +123 -123
  125. package/src/providers/UiProviders/index.tsx +65 -65
  126. package/src/providers/UiProviders/styles.ts +10 -10
  127. package/src/providers/hooks.ts +12 -12
  128. package/src/providers/index.ts +6 -6
  129. package/src/services/HttpService.ts +92 -92
  130. package/src/services/WebSocketService.ts +137 -137
  131. package/src/services/advancedRequests.ts +101 -101
  132. package/src/services/base.ts +23 -23
  133. package/src/services/globalSearch.ts +27 -27
  134. package/src/services/hooks.ts +44 -44
  135. package/src/services/index.ts +13 -13
  136. package/src/services/requests/auth.ts +44 -44
  137. package/src/services/requests/userProfiles.ts +35 -35
  138. package/src/services/requests/users.ts +28 -28
  139. package/src/services/sqlRequests.ts +110 -110
  140. package/src/services/types/auth.ts +131 -131
  141. package/src/services/types/base.ts +10 -10
  142. package/src/services/types/userProfiles.ts +107 -107
  143. package/src/services/types/users.ts +106 -104
  144. package/src/styles/animations.scss +30 -30
  145. package/src/styles/index.scss +42 -42
  146. package/src/typings.d.ts +13 -13
  147. package/dist/Icons.d.ts +0 -43
  148. package/dist/Icons.js +0 -116
  149. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  150. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -76
  151. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  152. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -156
  153. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  154. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +0 -18
  155. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  156. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  157. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  158. package/dist/components/data/AdvancedRequestDataGrid/types.js +0 -2
  159. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +0 -10
  160. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +0 -173
  161. package/dist/components/data/DataGrid/DataGridCell.d.ts +0 -2
  162. package/dist/components/data/DataGrid/DataGridCell.js +0 -59
  163. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +0 -2
  164. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +0 -24
  165. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.d.ts +0 -6
  166. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +0 -38
  167. package/dist/components/data/DataGrid/DataGridColumnsModal/index.d.ts +0 -15
  168. package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +0 -111
  169. package/dist/components/data/DataGrid/DataGridColumnsModal/styles.d.ts +0 -22
  170. package/dist/components/data/DataGrid/DataGridColumnsModal/styles.js +0 -54
  171. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  172. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  173. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +0 -9
  174. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +0 -52
  175. package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +0 -9
  176. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +0 -220
  177. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.d.ts +0 -9
  178. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +0 -21
  179. package/dist/components/data/DataGrid/DataGridFooter.d.ts +0 -4
  180. package/dist/components/data/DataGrid/DataGridFooter.js +0 -44
  181. package/dist/components/data/DataGrid/DataGridHeader.d.ts +0 -4
  182. package/dist/components/data/DataGrid/DataGridHeader.js +0 -119
  183. package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +0 -2
  184. package/dist/components/data/DataGrid/DataGridHeaderCell.js +0 -84
  185. package/dist/components/data/DataGrid/FilterModalContent/index.d.ts +0 -7
  186. package/dist/components/data/DataGrid/FilterModalContent/index.js +0 -108
  187. package/dist/components/data/DataGrid/FilterModalContent/styles.d.ts +0 -3
  188. package/dist/components/data/DataGrid/FilterModalContent/styles.js +0 -15
  189. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +0 -13
  190. package/dist/components/data/DataGrid/FilterValuesScroller.js +0 -73
  191. package/dist/components/data/DataGrid/VirtualScroller.d.ts +0 -11
  192. package/dist/components/data/DataGrid/VirtualScroller.js +0 -41
  193. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +0 -12
  194. package/dist/components/data/DataGrid/helpers/advancedRequests.js +0 -53
  195. package/dist/components/data/DataGrid/helpers/columns.d.ts +0 -12
  196. package/dist/components/data/DataGrid/helpers/columns.js +0 -162
  197. package/dist/components/data/DataGrid/helpers/filters.d.ts +0 -17
  198. package/dist/components/data/DataGrid/helpers/filters.js +0 -254
  199. package/dist/components/data/DataGrid/helpers/index.d.ts +0 -2
  200. package/dist/components/data/DataGrid/helpers/index.js +0 -18
  201. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  202. package/dist/components/data/DataGrid/helpers.js +0 -436
  203. package/dist/components/data/DataGrid/hooks/index.d.ts +0 -7
  204. package/dist/components/data/DataGrid/hooks/index.js +0 -34
  205. package/dist/components/data/DataGrid/hooks/useDataGrid.d.ts +0 -2
  206. package/dist/components/data/DataGrid/hooks/useDataGrid.js +0 -246
  207. package/dist/components/data/DataGrid/hooks/useDataGridCopy.d.ts +0 -4
  208. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +0 -171
  209. package/dist/components/data/DataGrid/hooks/useDataGridSettings.d.ts +0 -16
  210. package/dist/components/data/DataGrid/hooks/useDataGridSettings.js +0 -43
  211. package/dist/components/data/DataGrid/index.d.ts +0 -4
  212. package/dist/components/data/DataGrid/index.js +0 -108
  213. package/dist/components/data/DataGrid/styles.d.ts +0 -64
  214. package/dist/components/data/DataGrid/styles.js +0 -134
  215. package/dist/components/data/DataGrid/types.d.ts +0 -162
  216. package/dist/components/data/DataGrid/types.js +0 -34
  217. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +0 -16
  218. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +0 -125
  219. package/dist/components/data/SqlRequestDataGrid/helpers/index.d.ts +0 -2
  220. package/dist/components/data/SqlRequestDataGrid/helpers/index.js +0 -18
  221. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.d.ts +0 -3
  222. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.js +0 -18
  223. package/dist/components/data/SqlRequestDataGrid/index.d.ts +0 -2
  224. package/dist/components/data/SqlRequestDataGrid/index.js +0 -296
  225. package/dist/components/data/SqlRequestDataGrid/types.d.ts +0 -21
  226. package/dist/components/data/SqlRequestDataGrid/types.js +0 -2
  227. package/dist/components/data/index.d.ts +0 -8
  228. package/dist/components/data/index.js +0 -24
  229. package/dist/components/forms/Button.d.ts +0 -10
  230. package/dist/components/forms/Button.js +0 -70
  231. package/dist/components/forms/IconButton.d.ts +0 -7
  232. package/dist/components/forms/IconButton.js +0 -64
  233. package/dist/components/forms/IndeterminateCheckbox.d.ts +0 -8
  234. package/dist/components/forms/IndeterminateCheckbox.js +0 -41
  235. package/dist/components/forms/Select.d.ts +0 -10
  236. package/dist/components/forms/Select.js +0 -49
  237. package/dist/components/forms/index.d.ts +0 -5
  238. package/dist/components/forms/index.js +0 -23
  239. package/dist/components/forms/styles.d.ts +0 -2
  240. package/dist/components/forms/styles.js +0 -34
  241. package/dist/components/index.d.ts +0 -3
  242. package/dist/components/index.js +0 -19
  243. package/dist/components/layout/Dropdown/index.d.ts +0 -11
  244. package/dist/components/layout/Dropdown/index.js +0 -85
  245. package/dist/components/layout/Dropdown/styles.d.ts +0 -11
  246. package/dist/components/layout/Dropdown/styles.js +0 -45
  247. package/dist/components/layout/Loading/index.d.ts +0 -6
  248. package/dist/components/layout/Loading/index.js +0 -42
  249. package/dist/components/layout/Loading/styles.d.ts +0 -6
  250. package/dist/components/layout/Loading/styles.js +0 -18
  251. package/dist/components/layout/Modal/index.d.ts +0 -16
  252. package/dist/components/layout/Modal/index.js +0 -67
  253. package/dist/components/layout/Modal/styles.d.ts +0 -32
  254. package/dist/components/layout/Modal/styles.js +0 -52
  255. package/dist/components/layout/index.d.ts +0 -3
  256. package/dist/components/layout/index.js +0 -19
  257. package/dist/components/ui/ContextMenu/index.d.ts +0 -11
  258. package/dist/components/ui/ContextMenu/index.js +0 -58
  259. package/dist/components/ui/ContextMenu/styles.d.ts +0 -18
  260. package/dist/components/ui/ContextMenu/styles.js +0 -56
  261. package/dist/config/index.d.ts +0 -10
  262. package/dist/config/index.js +0 -2
  263. package/dist/config/types.d.ts +0 -11
  264. package/dist/config/types.js +0 -2
  265. package/dist/helpers/dates.d.ts +0 -2
  266. package/dist/helpers/dates.js +0 -13
  267. package/dist/helpers/getScrollbarSize.d.ts +0 -1
  268. package/dist/helpers/getScrollbarSize.js +0 -17
  269. package/dist/helpers/numbers.d.ts +0 -3
  270. package/dist/helpers/numbers.js +0 -31
  271. package/dist/hooks/index.d.ts +0 -2
  272. package/dist/hooks/index.js +0 -18
  273. package/dist/hooks/useElementSize.d.ts +0 -4
  274. package/dist/hooks/useElementSize.js +0 -23
  275. package/dist/hooks/useWindowSize.d.ts +0 -4
  276. package/dist/hooks/useWindowSize.js +0 -19
  277. package/dist/index.d.ts +0 -5
  278. package/dist/index.js +0 -21
  279. package/dist/providers/PortalsProvider/index.d.ts +0 -10
  280. package/dist/providers/PortalsProvider/index.js +0 -46
  281. package/dist/providers/PortalsProvider/styles.d.ts +0 -9
  282. package/dist/providers/PortalsProvider/styles.js +0 -21
  283. package/dist/providers/SettingsProvider/index.d.ts +0 -8
  284. package/dist/providers/SettingsProvider/index.js +0 -54
  285. package/dist/providers/ThemeProvider/ThemeProvider.d.ts +0 -7
  286. package/dist/providers/ThemeProvider/ThemeProvider.js +0 -51
  287. package/dist/providers/ThemeProvider/defaultTheme.d.ts +0 -2
  288. package/dist/providers/ThemeProvider/defaultTheme.js +0 -417
  289. package/dist/providers/ThemeProvider/index.d.ts +0 -2
  290. package/dist/providers/ThemeProvider/index.js +0 -5
  291. package/dist/providers/ThemeProvider/types.d.ts +0 -24
  292. package/dist/providers/ThemeProvider/types.js +0 -2
  293. package/dist/providers/UiProviders/index.d.ts +0 -12
  294. package/dist/providers/UiProviders/index.js +0 -62
  295. package/dist/providers/UiProviders/styles.d.ts +0 -3
  296. package/dist/providers/UiProviders/styles.js +0 -13
  297. package/dist/providers/hooks.d.ts +0 -3
  298. package/dist/providers/hooks.js +0 -13
  299. package/dist/providers/index.d.ts +0 -4
  300. package/dist/providers/index.js +0 -20
  301. package/dist/services/HttpService.d.ts +0 -10
  302. package/dist/services/HttpService.js +0 -117
  303. package/dist/services/WebSocketService.d.ts +0 -24
  304. package/dist/services/WebSocketService.js +0 -136
  305. package/dist/services/advancedRequests.d.ts +0 -41
  306. package/dist/services/advancedRequests.js +0 -13
  307. package/dist/services/base.d.ts +0 -19
  308. package/dist/services/base.js +0 -10
  309. package/dist/services/hooks.d.ts +0 -2
  310. package/dist/services/hooks.js +0 -18
  311. package/dist/services/index.d.ts +0 -2
  312. package/dist/services/index.js +0 -18
  313. package/dist/services/sqlRequests.d.ts +0 -45
  314. package/dist/services/sqlRequests.js +0 -11
  315. package/src/services/requests/userPermissions.ts +0 -36
  316. package/tsconfig.tsbuildinfo +0 -1
@@ -1,276 +1,276 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
- import * as t from 'io-ts';
4
-
5
- import {
6
- CSSProperties,
7
- Context,
8
- Dispatch,
9
- FC,
10
- MouseEvent,
11
- MouseEventHandler,
12
- ReactNode,
13
- SetStateAction,
14
- } from 'react';
15
-
16
- import { SettingsContextProps } from '../../../providers/SettingsProvider';
17
- import { ThemeColor } from '../../../providers/ThemeProvider/types';
18
-
19
- export type DataGridCellFC = FC<{
20
- onDoubleClick?: MouseEventHandler;
21
- style?: CSSProperties;
22
- }>;
23
-
24
- export type DataGridFooterPredefinedFunction =
25
- | 'average'
26
- | 'avg'
27
- | 'count'
28
- | 'max'
29
- | 'min'
30
- | 'sum';
31
- export type DataGridFooterFunction<R> = (
32
- allRows: R[],
33
- filteredRows: R[],
34
- selectedRows: R[]
35
- ) => ReactNode;
36
-
37
- export type DataGridColumn<R> = {
38
- component?: DataGridCellFC;
39
- editable?: boolean;
40
- excelFormatter?: (value: any) => string;
41
- excelBackgroundColor?: (value: any) => string;
42
- excelValue?: (value: any) => string;
43
- filter?: DataGridFilter;
44
- footer?:
45
- | DataGridFooterFunction<R>
46
- | Record<string, DataGridFooterFunction<R> | null>;
47
- getter?: (row: R) => string | number;
48
- name: string;
49
- order?: number;
50
- propertyName?: keyof R;
51
- render?: (row: R, column: DataGridColumn<R>) => ReactNode | string;
52
- resizable?: boolean;
53
- sortGetter?: (row: R) => string | number;
54
- type?: 'text' | 'number' | 'date';
55
- width?: number;
56
- settingsContext?: Context<SettingsContextProps>;
57
- };
58
-
59
- export type DataGridColumns<R> = Record<string, DataGridColumn<R>>;
60
-
61
- export type DataGridFilters = Record<
62
- string,
63
- DataGridFilter<DataGridFilterType>
64
- >;
65
-
66
- export type DataGridProps<R> = {
67
- name?: string;
68
- className?: string;
69
- rows: R[];
70
- columns: DataGridColumns<R>;
71
- rowKey: keyof R | ((row: R) => string);
72
- selectable?: boolean;
73
- editable?: boolean;
74
- onRowDoubleClick?: (row: R, e: MouseEvent) => void;
75
- onSelectionChange?: (keys: string[]) => void;
76
- onSelectedRowsChanged?: (rows: R[]) => void;
77
- getAllIds?: () => Promise<string[]>;
78
- onFiltersChanged?: (filters: DataGridFilters) => void;
79
- onSortsChanged?: (sorts: Record<string, DataGridSort>) => void;
80
- onVisibleRowsChange?: (startIndex: number, length: number) => void;
81
- onCellEdited?: (row: R, columnKey: string, value: any) => void;
82
- rowClassNameGetter?: (row: R | null) => {
83
- className?: string;
84
- style?: CSSProperties;
85
- };
86
- headerRowHeight?: number;
87
- rowHeight?: number;
88
- filter?: boolean;
89
- sort?: boolean;
90
- initialSorts?: Record<string, DataGridSort>;
91
- initialFooters?: Record<string, string>;
92
- onFootersChanged?: (footers: Record<string, string>) => void;
93
- filterValuesLoader?: (
94
- columnKey: string
95
- ) => Promise<(string | number | null)[]>;
96
- // copyTableHandler?: (
97
- // includeHeaders?: boolean,
98
- // includeFooters?: boolean
99
- // ) => Promise<void>;
100
- loadCopyRows?: () => Promise<R[]>;
101
- refresh?: () => void;
102
- headerColor?: ThemeColor;
103
- };
104
-
105
- export type DataGridContextProps<R> = DataGridProps<R> & {
106
- editingCell?: [number, number];
107
- setEditingCell: Dispatch<SetStateAction<[number, number]>>;
108
- sortedRows: R[];
109
- selectedRows: R[];
110
- selectedKeys: string[];
111
- setSelectedKeys: (selection: string[]) => void;
112
- sorts?: Record<string, DataGridSort>;
113
- setSorts: (sorts: Record<string, DataGridSort>) => void;
114
- filters?: DataGridFilters;
115
- setFilters: Dispatch<SetStateAction<DataGridFilters>>;
116
- footers?: Record<string, string>;
117
- setFooters: Dispatch<SetStateAction<Record<string, string>>>;
118
- footerFunctions?: Record<string, DataGridFooterFunction<R>>;
119
- visibleColumns: DataGridColumnKeyValuePair<R>[];
120
- copyTable: (
121
- includeHeaders?: boolean,
122
- includeFooters?: boolean
123
- ) => Promise<void>;
124
- setColumnWidth: (key: string, width: number) => void;
125
- saveSettings: (newSettings?: DataGridSettings) => void;
126
- settings: DataGridSettings;
127
- setSettings: Dispatch<SetStateAction<DataGridSettings>>;
128
- length: number;
129
- rowKeyGetter: (row: R) => string;
130
- gridTemplateColumns: string;
131
- toggleSelection: (key: string) => void;
132
- };
133
-
134
- export type DataGridContext<R> = Context<DataGridContextProps<R>>;
135
-
136
- export const dataGridSettingCodec = t.partial(
137
- {
138
- width: t.number,
139
- order: t.number,
140
- },
141
- 'DataGridSetting'
142
- );
143
- export const dataGridSettingsCodec = t.record(
144
- t.string,
145
- dataGridSettingCodec,
146
- 'DataGridSettings'
147
- );
148
- export const dataGridSettingsByNameCodec = t.record(
149
- t.string,
150
- dataGridSettingsCodec,
151
- 'DataGridSettingsByName'
152
- );
153
-
154
- export type DataGridSetting = t.TypeOf<typeof dataGridSettingCodec>;
155
- export type DataGridSettings = t.TypeOf<typeof dataGridSettingsCodec>;
156
- export type DataGridSettingsByName = t.TypeOf<
157
- typeof dataGridSettingsByNameCodec
158
- >;
159
- export type DataGridSettingsTuple = [string, DataGridSetting];
160
- export type DataGridSettingsArray = DataGridSettingsTuple[];
161
- export type DataGridColumnKeyValuePair<R> = [string, DataGridColumn<R>];
162
-
163
- export type DataGridCellProps<R> = {
164
- row: R;
165
- rowIndex: number;
166
- columnKey: string;
167
- columnIndex: number;
168
- column: DataGridColumn<R>;
169
- context: DataGridContext<R>;
170
- className?: string;
171
- style?: CSSProperties;
172
- };
173
-
174
- export type DataGridHeaderCellProps<R> = {
175
- columnKey: string;
176
- columnIndex: number;
177
- column: DataGridColumn<R>;
178
- context: DataGridContext<R>;
179
- onFilterButtonClicked?: (columnKey: string) => void;
180
- isFilterOpen?: boolean;
181
- };
182
-
183
- export type DataGridSort = 'asc' | 'desc';
184
-
185
- export type DataGridFilterPredicate<T> = (valueToVerify: T) => boolean;
186
- export type DataGridFilterPredicateBuilder<T> = (
187
- ...filterValues: T[]
188
- ) => DataGridFilterPredicate<T>;
189
-
190
- export type DataGridFilterOperators<K extends string, T> = {
191
- [key in K]: DataGridFilterPredicateBuilder<T>;
192
- };
193
-
194
- export type DataGridFilterPredicates = {
195
- date: DataGridFilterOperators<
196
- 'before' | 'after' | 'equals' | 'notEquals' | 'inRange' | 'inArray',
197
- string
198
- >;
199
- text: DataGridFilterOperators<
200
- | 'contains'
201
- | 'notContains'
202
- | 'equals'
203
- | 'notEquals'
204
- | 'startsWith'
205
- | 'endsWith'
206
- | 'inArray',
207
- string
208
- >;
209
- number: DataGridFilterOperators<
210
- | 'equals'
211
- | 'notEquals'
212
- | 'lessThan'
213
- | 'lessThanOrEqual'
214
- | 'greaterThan'
215
- | 'greaterThanOrEqual'
216
- | 'inRange'
217
- | 'inArray',
218
- number
219
- >;
220
- };
221
-
222
- export type DataGridFilterType = keyof DataGridFilterPredicates;
223
- export type DataGridFilterDataType<T extends DataGridFilterType> =
224
- DataGridFilterPredicates[T] extends DataGridFilterOperators<string, infer U>
225
- ? U
226
- : never;
227
-
228
- export type DataGridFilterGetter<T extends DataGridFilterType> = (
229
- value: any
230
- ) => DataGridFilterDataType<T> | null;
231
- export type DataGridFilterRenderer = (value: any) => ReactNode;
232
- export type DataGridFilterFormatter = (value: any) => string;
233
-
234
- export type DataGridFilterOperator<T extends DataGridFilterType> =
235
- DataGridFilterPredicates[T] extends DataGridFilterOperators<infer K, any>
236
- ? K
237
- : never;
238
-
239
- export type DataGridFilter<T extends string = DataGridFilterType> =
240
- T extends DataGridFilterType
241
- ? {
242
- type: T;
243
- operator: DataGridFilterOperator<T>;
244
- getter: DataGridFilterGetter<T>;
245
- renderer?: DataGridFilterRenderer;
246
- formatter?: DataGridFilterFormatter;
247
- values: (DataGridFilterDataType<T> | null)[];
248
- }
249
- : never;
250
-
251
- export type DataGridFilterGroup = {
252
- name: string;
253
- displayValue: DataGridFilterValue;
254
- values?: DataGridFilterValue[];
255
- groups?: DataGridFilterGroup[];
256
- };
257
-
258
- export type DataGridFilterValue = string | number | null;
259
-
260
- export type DataGridFilterCheckbox = {
261
- displayValue: ReactNode;
262
- title: string;
263
- values: DataGridFilterValue[];
264
- level: number;
265
- };
266
-
267
- export type DataGridRowTemplateProps<R> = {
268
- selected?: boolean;
269
- toggleSelection?: () => void;
270
- context: DataGridContext<R>;
271
- };
272
-
273
- export type DataGridRefProps<R> = Pick<
274
- DataGridContextProps<R>,
275
- 'refresh' | 'setSelectedKeys'
276
- >;
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
3
+ import * as t from 'io-ts';
4
+
5
+ import {
6
+ CSSProperties,
7
+ Context,
8
+ Dispatch,
9
+ FC,
10
+ MouseEvent,
11
+ MouseEventHandler,
12
+ ReactNode,
13
+ SetStateAction,
14
+ } from 'react';
15
+
16
+ import { SettingsContextProps } from '../../../providers/SettingsProvider';
17
+ import { ThemeColor } from '../../../providers/ThemeProvider/types';
18
+
19
+ export type DataGridCellFC = FC<{
20
+ onDoubleClick?: MouseEventHandler;
21
+ style?: CSSProperties;
22
+ }>;
23
+
24
+ export type DataGridFooterPredefinedFunction =
25
+ | 'average'
26
+ | 'avg'
27
+ | 'count'
28
+ | 'max'
29
+ | 'min'
30
+ | 'sum';
31
+ export type DataGridFooterFunction<R> = (
32
+ allRows: R[],
33
+ filteredRows: R[],
34
+ selectedRows: R[]
35
+ ) => ReactNode;
36
+
37
+ export type DataGridColumn<R> = {
38
+ component?: DataGridCellFC;
39
+ editable?: boolean;
40
+ excelFormatter?: (value: any) => string;
41
+ excelBackgroundColor?: (value: any) => string;
42
+ excelValue?: (value: any) => string;
43
+ filter?: DataGridFilter;
44
+ footer?:
45
+ | DataGridFooterFunction<R>
46
+ | Record<string, DataGridFooterFunction<R> | null>;
47
+ getter?: (row: R) => string | number;
48
+ name: string;
49
+ order?: number;
50
+ propertyName?: keyof R;
51
+ render?: (row: R, column: DataGridColumn<R>) => ReactNode | string;
52
+ resizable?: boolean;
53
+ sortGetter?: (row: R) => string | number;
54
+ type?: 'text' | 'number' | 'date';
55
+ width?: number;
56
+ settingsContext?: Context<SettingsContextProps>;
57
+ };
58
+
59
+ export type DataGridColumns<R> = Record<string, DataGridColumn<R>>;
60
+
61
+ export type DataGridFilters = Record<
62
+ string,
63
+ DataGridFilter<DataGridFilterType>
64
+ >;
65
+
66
+ export type DataGridProps<R> = {
67
+ name?: string;
68
+ className?: string;
69
+ rows: R[];
70
+ columns: DataGridColumns<R>;
71
+ rowKey: keyof R | ((row: R) => string);
72
+ selectable?: boolean;
73
+ editable?: boolean;
74
+ onRowDoubleClick?: (row: R, e: MouseEvent) => void;
75
+ onSelectionChange?: (keys: string[]) => void;
76
+ onSelectedRowsChanged?: (rows: R[]) => void;
77
+ getAllIds?: () => Promise<string[]>;
78
+ onFiltersChanged?: (filters: DataGridFilters) => void;
79
+ onSortsChanged?: (sorts: Record<string, DataGridSort>) => void;
80
+ onVisibleRowsChange?: (startIndex: number, length: number) => void;
81
+ onCellEdited?: (row: R, columnKey: string, value: any) => void;
82
+ rowClassNameGetter?: (row: R | null) => {
83
+ className?: string;
84
+ style?: CSSProperties;
85
+ };
86
+ headerRowHeight?: number;
87
+ rowHeight?: number;
88
+ filter?: boolean;
89
+ sort?: boolean;
90
+ initialSorts?: Record<string, DataGridSort>;
91
+ initialFooters?: Record<string, string>;
92
+ onFootersChanged?: (footers: Record<string, string>) => void;
93
+ filterValuesLoader?: (
94
+ columnKey: string
95
+ ) => Promise<(string | number | null)[]>;
96
+ // copyTableHandler?: (
97
+ // includeHeaders?: boolean,
98
+ // includeFooters?: boolean
99
+ // ) => Promise<void>;
100
+ loadCopyRows?: () => Promise<R[]>;
101
+ refresh?: () => void;
102
+ headerColor?: ThemeColor;
103
+ };
104
+
105
+ export type DataGridContextProps<R> = DataGridProps<R> & {
106
+ editingCell?: [number, number];
107
+ setEditingCell: Dispatch<SetStateAction<[number, number]>>;
108
+ sortedRows: R[];
109
+ selectedRows: R[];
110
+ selectedKeys: string[];
111
+ setSelectedKeys: (selection: string[]) => void;
112
+ sorts?: Record<string, DataGridSort>;
113
+ setSorts: (sorts: Record<string, DataGridSort>) => void;
114
+ filters?: DataGridFilters;
115
+ setFilters: Dispatch<SetStateAction<DataGridFilters>>;
116
+ footers?: Record<string, string>;
117
+ setFooters: Dispatch<SetStateAction<Record<string, string>>>;
118
+ footerFunctions?: Record<string, DataGridFooterFunction<R>>;
119
+ visibleColumns: DataGridColumnKeyValuePair<R>[];
120
+ copyTable: (
121
+ includeHeaders?: boolean,
122
+ includeFooters?: boolean
123
+ ) => Promise<void>;
124
+ setColumnWidth: (key: string, width: number) => void;
125
+ saveSettings: (newSettings?: DataGridSettings) => void;
126
+ settings: DataGridSettings;
127
+ setSettings: Dispatch<SetStateAction<DataGridSettings>>;
128
+ length: number;
129
+ rowKeyGetter: (row: R) => string;
130
+ gridTemplateColumns: string;
131
+ toggleSelection: (key: string) => void;
132
+ };
133
+
134
+ export type DataGridContext<R> = Context<DataGridContextProps<R>>;
135
+
136
+ export const dataGridSettingCodec = t.partial(
137
+ {
138
+ width: t.number,
139
+ order: t.number,
140
+ },
141
+ 'DataGridSetting'
142
+ );
143
+ export const dataGridSettingsCodec = t.record(
144
+ t.string,
145
+ dataGridSettingCodec,
146
+ 'DataGridSettings'
147
+ );
148
+ export const dataGridSettingsByNameCodec = t.record(
149
+ t.string,
150
+ dataGridSettingsCodec,
151
+ 'DataGridSettingsByName'
152
+ );
153
+
154
+ export type DataGridSetting = t.TypeOf<typeof dataGridSettingCodec>;
155
+ export type DataGridSettings = t.TypeOf<typeof dataGridSettingsCodec>;
156
+ export type DataGridSettingsByName = t.TypeOf<
157
+ typeof dataGridSettingsByNameCodec
158
+ >;
159
+ export type DataGridSettingsTuple = [string, DataGridSetting];
160
+ export type DataGridSettingsArray = DataGridSettingsTuple[];
161
+ export type DataGridColumnKeyValuePair<R> = [string, DataGridColumn<R>];
162
+
163
+ export type DataGridCellProps<R> = {
164
+ row: R;
165
+ rowIndex: number;
166
+ columnKey: string;
167
+ columnIndex: number;
168
+ column: DataGridColumn<R>;
169
+ context: DataGridContext<R>;
170
+ className?: string;
171
+ style?: CSSProperties;
172
+ };
173
+
174
+ export type DataGridHeaderCellProps<R> = {
175
+ columnKey: string;
176
+ columnIndex: number;
177
+ column: DataGridColumn<R>;
178
+ context: DataGridContext<R>;
179
+ onFilterButtonClicked?: (columnKey: string) => void;
180
+ isFilterOpen?: boolean;
181
+ };
182
+
183
+ export type DataGridSort = 'asc' | 'desc';
184
+
185
+ export type DataGridFilterPredicate<T> = (valueToVerify: T) => boolean;
186
+ export type DataGridFilterPredicateBuilder<T> = (
187
+ ...filterValues: T[]
188
+ ) => DataGridFilterPredicate<T>;
189
+
190
+ export type DataGridFilterOperators<K extends string, T> = {
191
+ [key in K]: DataGridFilterPredicateBuilder<T>;
192
+ };
193
+
194
+ export type DataGridFilterPredicates = {
195
+ date: DataGridFilterOperators<
196
+ 'before' | 'after' | 'equals' | 'notEquals' | 'inRange' | 'inArray',
197
+ string
198
+ >;
199
+ text: DataGridFilterOperators<
200
+ | 'contains'
201
+ | 'notContains'
202
+ | 'equals'
203
+ | 'notEquals'
204
+ | 'startsWith'
205
+ | 'endsWith'
206
+ | 'inArray',
207
+ string
208
+ >;
209
+ number: DataGridFilterOperators<
210
+ | 'equals'
211
+ | 'notEquals'
212
+ | 'lessThan'
213
+ | 'lessThanOrEqual'
214
+ | 'greaterThan'
215
+ | 'greaterThanOrEqual'
216
+ | 'inRange'
217
+ | 'inArray',
218
+ number
219
+ >;
220
+ };
221
+
222
+ export type DataGridFilterType = keyof DataGridFilterPredicates;
223
+ export type DataGridFilterDataType<T extends DataGridFilterType> =
224
+ DataGridFilterPredicates[T] extends DataGridFilterOperators<string, infer U>
225
+ ? U
226
+ : never;
227
+
228
+ export type DataGridFilterGetter<T extends DataGridFilterType> = (
229
+ value: any
230
+ ) => DataGridFilterDataType<T> | null;
231
+ export type DataGridFilterRenderer = (value: any) => ReactNode;
232
+ export type DataGridFilterFormatter = (value: any) => string;
233
+
234
+ export type DataGridFilterOperator<T extends DataGridFilterType> =
235
+ DataGridFilterPredicates[T] extends DataGridFilterOperators<infer K, any>
236
+ ? K
237
+ : never;
238
+
239
+ export type DataGridFilter<T extends string = DataGridFilterType> =
240
+ T extends DataGridFilterType
241
+ ? {
242
+ type: T;
243
+ operator: DataGridFilterOperator<T>;
244
+ getter: DataGridFilterGetter<T>;
245
+ renderer?: DataGridFilterRenderer;
246
+ formatter?: DataGridFilterFormatter;
247
+ values: (DataGridFilterDataType<T> | null)[];
248
+ }
249
+ : never;
250
+
251
+ export type DataGridFilterGroup = {
252
+ name: string;
253
+ displayValue: DataGridFilterValue;
254
+ values?: DataGridFilterValue[];
255
+ groups?: DataGridFilterGroup[];
256
+ };
257
+
258
+ export type DataGridFilterValue = string | number | null;
259
+
260
+ export type DataGridFilterCheckbox = {
261
+ displayValue: ReactNode;
262
+ title: string;
263
+ values: DataGridFilterValue[];
264
+ level: number;
265
+ };
266
+
267
+ export type DataGridRowTemplateProps<R> = {
268
+ selected?: boolean;
269
+ toggleSelection?: () => void;
270
+ context: DataGridContext<R>;
271
+ };
272
+
273
+ export type DataGridRefProps = {
274
+ refresh: () => void;
275
+ setSelectedKeys: (keys: string[]) => void;
276
+ };