@refinedev/core 4.47.2 → 4.48.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 (409) hide show
  1. package/CHANGELOG.md +2944 -2919
  2. package/dist/components/authenticated/index.d.ts.map +1 -1
  3. package/dist/components/autoSaveIndicator/index.d.ts.map +1 -1
  4. package/dist/components/canAccess/index.d.ts.map +1 -1
  5. package/dist/components/containers/refine/index.d.ts.map +1 -1
  6. package/dist/components/layoutWrapper/index.d.ts.map +1 -1
  7. package/dist/components/pages/auth/components/forgotPassword/index.d.ts.map +1 -1
  8. package/dist/components/pages/auth/components/login/index.d.ts.map +1 -1
  9. package/dist/components/pages/auth/components/register/index.d.ts.map +1 -1
  10. package/dist/components/pages/auth/components/updatePassword/index.d.ts.map +1 -1
  11. package/dist/components/pages/auth/index.d.ts.map +1 -1
  12. package/dist/components/pages/config-error/index.d.ts.map +1 -1
  13. package/dist/components/pages/config-success/index.d.ts.map +1 -1
  14. package/dist/components/pages/login/index.d.ts.map +1 -1
  15. package/dist/components/pages/ready/index.d.ts.map +1 -1
  16. package/dist/components/undoableQueue/index.d.ts.map +1 -1
  17. package/dist/contexts/accessControl/IAccessControlContext.d.ts.map +1 -1
  18. package/dist/contexts/accessControl/index.d.ts.map +1 -1
  19. package/dist/contexts/auditLog/IAuditLogContext.d.ts.map +1 -1
  20. package/dist/contexts/auditLog/index.d.ts.map +1 -1
  21. package/dist/contexts/auth/IAuthContext.d.ts +1 -1
  22. package/dist/contexts/auth/IAuthContext.d.ts.map +1 -1
  23. package/dist/contexts/auth/index.d.ts.map +1 -1
  24. package/dist/contexts/data/IDataContext.d.ts.map +1 -1
  25. package/dist/contexts/data/index.d.ts.map +1 -1
  26. package/dist/contexts/legacy-router/IRouterContext.d.ts.map +1 -1
  27. package/dist/contexts/legacy-router/index.d.ts.map +1 -1
  28. package/dist/contexts/live/ILiveContext.d.ts.map +1 -1
  29. package/dist/contexts/live/index.d.ts.map +1 -1
  30. package/dist/contexts/notification/INotificationContext.d.ts.map +1 -1
  31. package/dist/contexts/notification/index.d.ts.map +1 -1
  32. package/dist/contexts/refine/IRefineContext.d.ts.map +1 -1
  33. package/dist/contexts/refine/index.d.ts.map +1 -1
  34. package/dist/contexts/resource/IResourceContext.d.ts.map +1 -1
  35. package/dist/contexts/resource/index.d.ts.map +1 -1
  36. package/dist/contexts/router/index.d.ts.map +1 -1
  37. package/dist/contexts/translation/ITranslationContext.d.ts.map +1 -1
  38. package/dist/contexts/translation/index.d.ts.map +1 -1
  39. package/dist/contexts/undoableQueue/IUndoableQueueContext.d.ts.map +1 -1
  40. package/dist/contexts/undoableQueue/actionTypes.d.ts.map +1 -1
  41. package/dist/contexts/undoableQueue/index.d.ts.map +1 -1
  42. package/dist/contexts/undoableQueue/undoableQueueContext.d.ts.map +1 -1
  43. package/dist/contexts/unsavedWarn/IUnsavedWarnContext.d.ts.map +1 -1
  44. package/dist/definitions/helpers/check-router-prop-misuse/index.d.ts.map +1 -1
  45. package/dist/definitions/helpers/downloadInBrowser/index.d.ts.map +1 -1
  46. package/dist/definitions/helpers/flatten-object-keys/index.d.ts.map +1 -1
  47. package/dist/definitions/helpers/generateDocumentTitle/index.d.ts.map +1 -1
  48. package/dist/definitions/helpers/handlePaginationParams/index.d.ts.map +1 -1
  49. package/dist/definitions/helpers/handleRefineOptions/index.d.ts.map +1 -1
  50. package/dist/definitions/helpers/hasPermission/index.d.ts.map +1 -1
  51. package/dist/definitions/helpers/importCSVMapper/index.d.ts.map +1 -1
  52. package/dist/definitions/helpers/index.d.ts.map +1 -1
  53. package/dist/definitions/helpers/keys/index.d.ts +0 -11
  54. package/dist/definitions/helpers/keys/index.d.ts.map +1 -1
  55. package/dist/definitions/helpers/legacy-resource-transform/index.d.ts.map +1 -1
  56. package/dist/definitions/helpers/menu/create-resource-key.d.ts.map +1 -1
  57. package/dist/definitions/helpers/menu/create-tree.d.ts.map +1 -1
  58. package/dist/definitions/helpers/pick-resource/index.d.ts.map +1 -1
  59. package/dist/definitions/helpers/pickDataProvider/index.d.ts.map +1 -1
  60. package/dist/definitions/helpers/queryKeys/index.d.ts.map +1 -1
  61. package/dist/definitions/helpers/redirectPage/index.d.ts.map +1 -1
  62. package/dist/definitions/helpers/routeGenerator/index.d.ts.map +1 -1
  63. package/dist/definitions/helpers/router/compose-route.d.ts.map +1 -1
  64. package/dist/definitions/helpers/router/get-action-routes-from-resource.d.ts.map +1 -1
  65. package/dist/definitions/helpers/router/get-default-action-path.d.ts.map +1 -1
  66. package/dist/definitions/helpers/router/get-parent-prefix-for-resource.d.ts.map +1 -1
  67. package/dist/definitions/helpers/router/get-parent-resource.d.ts.map +1 -1
  68. package/dist/definitions/helpers/router/match-resource-from-route.d.ts.map +1 -1
  69. package/dist/definitions/helpers/router/pick-matched-route.d.ts.map +1 -1
  70. package/dist/definitions/helpers/router/prepare-route-params.d.ts.map +1 -1
  71. package/dist/definitions/helpers/safe-translate/index.d.ts.map +1 -1
  72. package/dist/definitions/helpers/sanitize-resource/index.d.ts.map +1 -1
  73. package/dist/definitions/helpers/sequentialPromises/index.d.ts.map +1 -1
  74. package/dist/definitions/helpers/treeView/createTreeView/index.d.ts.map +1 -1
  75. package/dist/definitions/helpers/useActiveAuthProvider/index.d.ts +2 -2
  76. package/dist/definitions/helpers/useUserFriendlyName/index.d.ts.map +1 -1
  77. package/dist/definitions/helpers/userFriendlyResourceName/index.d.ts.map +1 -1
  78. package/dist/definitions/table/index.d.ts.map +1 -1
  79. package/dist/esm/index.js +18 -18
  80. package/dist/esm/index.js.map +1 -1
  81. package/dist/hooks/accessControl/useCan/index.d.ts.map +1 -1
  82. package/dist/hooks/accessControl/useCanWithoutCache.d.ts.map +1 -1
  83. package/dist/hooks/auditLog/useLog/index.d.ts.map +1 -1
  84. package/dist/hooks/auditLog/useLogList/index.d.ts.map +1 -1
  85. package/dist/hooks/auth/useForgotPassword/index.d.ts.map +1 -1
  86. package/dist/hooks/auth/useGetIdentity/index.d.ts.map +1 -1
  87. package/dist/hooks/auth/useIsAuthenticated/index.d.ts.map +1 -1
  88. package/dist/hooks/auth/useLogin/index.d.ts.map +1 -1
  89. package/dist/hooks/auth/useLogout/index.d.ts.map +1 -1
  90. package/dist/hooks/auth/useOnError/index.d.ts.map +1 -1
  91. package/dist/hooks/auth/usePermissions/index.d.ts +9 -6
  92. package/dist/hooks/auth/usePermissions/index.d.ts.map +1 -1
  93. package/dist/hooks/auth/useRegister/index.d.ts.map +1 -1
  94. package/dist/hooks/auth/useUpdatePassword/index.d.ts.map +1 -1
  95. package/dist/hooks/breadcrumb/index.d.ts.map +1 -1
  96. package/dist/hooks/data/useApiUrl.d.ts.map +1 -1
  97. package/dist/hooks/data/useCreate.d.ts.map +1 -1
  98. package/dist/hooks/data/useCreateMany.d.ts.map +1 -1
  99. package/dist/hooks/data/useCustom.d.ts.map +1 -1
  100. package/dist/hooks/data/useCustomMutation.d.ts.map +1 -1
  101. package/dist/hooks/data/useDataProvider.d.ts.map +1 -1
  102. package/dist/hooks/data/useDelete.d.ts.map +1 -1
  103. package/dist/hooks/data/useDeleteMany.d.ts.map +1 -1
  104. package/dist/hooks/data/useInfiniteList.d.ts.map +1 -1
  105. package/dist/hooks/data/useList.d.ts.map +1 -1
  106. package/dist/hooks/data/useMany.d.ts.map +1 -1
  107. package/dist/hooks/data/useOne.d.ts.map +1 -1
  108. package/dist/hooks/data/useUpdate.d.ts.map +1 -1
  109. package/dist/hooks/data/useUpdateMany.d.ts.map +1 -1
  110. package/dist/hooks/export/csvDownload.interface.d.ts.map +1 -1
  111. package/dist/hooks/export/index.d.ts +1 -1
  112. package/dist/hooks/export/index.d.ts.map +1 -1
  113. package/dist/hooks/form/useForm.d.ts.map +1 -1
  114. package/dist/hooks/import/index.d.ts.map +1 -1
  115. package/dist/hooks/invalidate/index.d.ts.map +1 -1
  116. package/dist/hooks/live/useLiveMode/index.d.ts.map +1 -1
  117. package/dist/hooks/live/useResourceSubscription/index.d.ts.map +1 -1
  118. package/dist/hooks/live/useSubscription/index.d.ts.map +1 -1
  119. package/dist/hooks/menu/useMenu.d.ts.map +1 -1
  120. package/dist/hooks/modal/useModal/index.d.ts.map +1 -1
  121. package/dist/hooks/navigation/index.d.ts.map +1 -1
  122. package/dist/hooks/notification/useCancelNotification/index.d.ts.map +1 -1
  123. package/dist/hooks/notification/useHandleNotification/index.d.ts.map +1 -1
  124. package/dist/hooks/redirection/index.d.ts.map +1 -1
  125. package/dist/hooks/refine/useMutationMode.d.ts.map +1 -1
  126. package/dist/hooks/refine/useSyncWithLocation.d.ts.map +1 -1
  127. package/dist/hooks/refine/useWarnAboutChange/index.d.ts.map +1 -1
  128. package/dist/hooks/resource/useResource/index.d.ts.map +1 -1
  129. package/dist/hooks/router/use-get-to-path/index.d.ts.map +1 -1
  130. package/dist/hooks/router/use-go/index.d.ts.map +1 -1
  131. package/dist/hooks/router/use-link/index.d.ts.map +1 -1
  132. package/dist/hooks/router/use-parse/index.d.ts.map +1 -1
  133. package/dist/hooks/router/use-to-path/index.d.ts.map +1 -1
  134. package/dist/hooks/show/useShow.d.ts.map +1 -1
  135. package/dist/hooks/translate/useSetLocale.d.ts.map +1 -1
  136. package/dist/hooks/translate/useTranslate.d.ts.map +1 -1
  137. package/dist/hooks/useLoadingOvertime/index.d.ts.map +1 -1
  138. package/dist/hooks/useSelect/index.d.ts +18 -4
  139. package/dist/hooks/useSelect/index.d.ts.map +1 -1
  140. package/dist/hooks/useTable/index.d.ts.map +1 -1
  141. package/dist/iife/index.js +18 -18
  142. package/dist/iife/index.js.map +1 -1
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +18 -18
  145. package/dist/index.js.map +1 -1
  146. package/dist/interfaces/actions.d.ts.map +1 -1
  147. package/dist/interfaces/auditLog/logData.d.ts.map +1 -1
  148. package/dist/interfaces/auth.d.ts.map +1 -1
  149. package/dist/interfaces/autoSave.d.ts.map +1 -1
  150. package/dist/interfaces/bindings/access-control.d.ts.map +1 -1
  151. package/dist/interfaces/bindings/auth.d.ts +1 -1
  152. package/dist/interfaces/bindings/auth.d.ts.map +1 -1
  153. package/dist/interfaces/bindings/data.d.ts.map +1 -1
  154. package/dist/interfaces/bindings/i18n.d.ts.map +1 -1
  155. package/dist/interfaces/bindings/index.d.ts.map +1 -1
  156. package/dist/interfaces/bindings/live.d.ts.map +1 -1
  157. package/dist/interfaces/bindings/notifications.d.ts.map +1 -1
  158. package/dist/interfaces/bindings/resource.d.ts.map +1 -1
  159. package/dist/interfaces/bindings/router.d.ts.map +1 -1
  160. package/dist/interfaces/customComponents.d.ts.map +1 -1
  161. package/dist/interfaces/errors/HttpError.d.ts.map +1 -1
  162. package/dist/interfaces/form-url-params.d.ts.map +1 -1
  163. package/dist/interfaces/index.d.ts.map +1 -1
  164. package/dist/interfaces/live/LiveEvent.d.ts.map +1 -1
  165. package/dist/interfaces/live/LiveModeProps.d.ts.map +1 -1
  166. package/dist/interfaces/mapDataFn.d.ts.map +1 -1
  167. package/dist/interfaces/metaData/graphqlQueryOptions.d.ts.map +1 -1
  168. package/dist/interfaces/metaData/metaDataQuery.d.ts.map +1 -1
  169. package/dist/interfaces/metaData/metaQuery.d.ts.map +1 -1
  170. package/dist/interfaces/metaData/nestedField.d.ts.map +1 -1
  171. package/dist/interfaces/metaData/queryBuilderOptions.d.ts.map +1 -1
  172. package/dist/interfaces/metaData/variableOptions.d.ts.map +1 -1
  173. package/dist/interfaces/mutationMode.d.ts.map +1 -1
  174. package/dist/interfaces/notification.d.ts.map +1 -1
  175. package/dist/interfaces/optimistic-update-map.d.ts.map +1 -1
  176. package/dist/interfaces/prettify.d.ts.map +1 -1
  177. package/dist/interfaces/queryKey.d.ts.map +1 -1
  178. package/dist/interfaces/resourceErrorRouterParams.d.ts.map +1 -1
  179. package/dist/interfaces/resourceRouterParams.d.ts.map +1 -1
  180. package/dist/interfaces/successErrorNotification.d.ts +4 -4
  181. package/dist/interfaces/successErrorNotification.d.ts.map +1 -1
  182. package/dist/interfaces/telemetry.d.ts.map +1 -1
  183. package/dist/interfaces/textTransformers.d.ts.map +1 -1
  184. package/package.json +2 -2
  185. package/refine.config.js +99 -102
  186. package/src/components/authenticated/index.tsx +157 -159
  187. package/src/components/autoSaveIndicator/index.tsx +23 -27
  188. package/src/components/canAccess/index.tsx +93 -93
  189. package/src/components/containers/refine/index.tsx +312 -353
  190. package/src/components/gh-banner/index.tsx +235 -242
  191. package/src/components/gh-banner/styles.ts +5 -5
  192. package/src/components/layoutWrapper/defaultLayout/index.tsx +1 -1
  193. package/src/components/layoutWrapper/index.tsx +87 -87
  194. package/src/components/pages/auth/components/forgotPassword/index.tsx +87 -96
  195. package/src/components/pages/auth/components/login/index.tsx +166 -181
  196. package/src/components/pages/auth/components/register/index.tsx +141 -159
  197. package/src/components/pages/auth/components/updatePassword/index.tsx +81 -87
  198. package/src/components/pages/auth/index.tsx +28 -28
  199. package/src/components/pages/config-error/index.tsx +422 -422
  200. package/src/components/pages/config-success/index.tsx +249 -260
  201. package/src/components/pages/error/index.tsx +48 -48
  202. package/src/components/pages/login/index.tsx +59 -73
  203. package/src/components/pages/ready/index.tsx +21 -29
  204. package/src/components/pages/welcome/index.tsx +7 -7
  205. package/src/components/routeChangeHandler/index.tsx +7 -7
  206. package/src/components/telemetry/index.tsx +31 -31
  207. package/src/components/undoableQueue/index.tsx +49 -49
  208. package/src/contexts/accessControl/IAccessControlContext.ts +34 -34
  209. package/src/contexts/accessControl/index.tsx +35 -35
  210. package/src/contexts/auditLog/IAuditLogContext.ts +22 -22
  211. package/src/contexts/auditLog/index.tsx +8 -8
  212. package/src/contexts/auth/IAuthContext.ts +10 -10
  213. package/src/contexts/auth/index.tsx +169 -169
  214. package/src/contexts/data/IDataContext.ts +203 -203
  215. package/src/contexts/data/index.tsx +18 -18
  216. package/src/contexts/legacy-router/IRouterContext.ts +23 -27
  217. package/src/contexts/legacy-router/index.tsx +30 -30
  218. package/src/contexts/live/ILiveContext.ts +49 -49
  219. package/src/contexts/live/index.tsx +5 -7
  220. package/src/contexts/notification/INotificationContext.ts +8 -8
  221. package/src/contexts/notification/index.tsx +8 -8
  222. package/src/contexts/refine/IRefineContext.ts +119 -119
  223. package/src/contexts/refine/index.tsx +80 -80
  224. package/src/contexts/resource/IResourceContext.ts +35 -35
  225. package/src/contexts/resource/index.tsx +16 -16
  226. package/src/contexts/router/index.tsx +7 -7
  227. package/src/contexts/router-picker/index.tsx +2 -2
  228. package/src/contexts/translation/ITranslationContext.ts +7 -7
  229. package/src/contexts/translation/index.tsx +12 -12
  230. package/src/contexts/undoableQueue/IUndoableQueueContext.ts +2 -2
  231. package/src/contexts/undoableQueue/actionTypes.ts +3 -3
  232. package/src/contexts/undoableQueue/index.ts +2 -2
  233. package/src/contexts/undoableQueue/undoableQueueContext.tsx +59 -60
  234. package/src/contexts/unsavedWarn/IUnsavedWarnContext.ts +2 -2
  235. package/src/contexts/unsavedWarn/index.tsx +7 -7
  236. package/src/definitions/helpers/check-router-prop-misuse/index.ts +20 -20
  237. package/src/definitions/helpers/downloadInBrowser/index.ts +19 -20
  238. package/src/definitions/helpers/flatten-object-keys/index.ts +26 -29
  239. package/src/definitions/helpers/generateDocumentTitle/index.ts +39 -45
  240. package/src/definitions/helpers/handleMultiple/index.ts +4 -4
  241. package/src/definitions/helpers/handlePaginationParams/index.ts +17 -18
  242. package/src/definitions/helpers/handleRefineOptions/index.ts +88 -90
  243. package/src/definitions/helpers/handleUseParams/index.tsx +7 -7
  244. package/src/definitions/helpers/hasPermission/index.ts +6 -6
  245. package/src/definitions/helpers/humanizeString/index.ts +9 -9
  246. package/src/definitions/helpers/importCSVMapper/index.ts +8 -8
  247. package/src/definitions/helpers/index.ts +2 -2
  248. package/src/definitions/helpers/keys/index.ts +205 -258
  249. package/src/definitions/helpers/legacy-resource-transform/index.ts +14 -14
  250. package/src/definitions/helpers/menu/create-resource-key.ts +20 -23
  251. package/src/definitions/helpers/menu/create-tree.ts +61 -63
  252. package/src/definitions/helpers/pick-resource/index.ts +25 -25
  253. package/src/definitions/helpers/pickDataProvider/index.ts +15 -15
  254. package/src/definitions/helpers/pickNotDeprecated/index.ts +2 -2
  255. package/src/definitions/helpers/property-path-to-array/index.ts +3 -3
  256. package/src/definitions/helpers/queryKeys/index.ts +92 -92
  257. package/src/definitions/helpers/redirectPage/index.ts +19 -19
  258. package/src/definitions/helpers/routeGenerator/index.ts +15 -15
  259. package/src/definitions/helpers/router/__tests__/check-by-segments.ts +12 -15
  260. package/src/definitions/helpers/router/__tests__/compose-route.ts +48 -48
  261. package/src/definitions/helpers/router/__tests__/get-action-routes-from-resource.ts +152 -152
  262. package/src/definitions/helpers/router/__tests__/get-default-action-path.ts +39 -41
  263. package/src/definitions/helpers/router/__tests__/get-parent-prefix-for-resource.ts +69 -73
  264. package/src/definitions/helpers/router/__tests__/get-parent-resource.ts +40 -40
  265. package/src/definitions/helpers/router/__tests__/is-segment-counts-same.ts +11 -14
  266. package/src/definitions/helpers/router/__tests__/match-resource-from-route.ts +55 -55
  267. package/src/definitions/helpers/router/__tests__/pick-matched-route.ts +74 -74
  268. package/src/definitions/helpers/router/__tests__/pick-route-params.ts +12 -12
  269. package/src/definitions/helpers/router/__tests__/prepare-route-params.ts +18 -18
  270. package/src/definitions/helpers/router/__tests__/remove-leading-trailing-slashes.ts +9 -9
  271. package/src/definitions/helpers/router/__tests__/split-to-segments.ts +9 -9
  272. package/src/definitions/helpers/router/check-by-segments.ts +12 -12
  273. package/src/definitions/helpers/router/compose-route.ts +25 -27
  274. package/src/definitions/helpers/router/get-action-routes-from-resource.ts +41 -47
  275. package/src/definitions/helpers/router/get-default-action-path.ts +19 -19
  276. package/src/definitions/helpers/router/get-parent-prefix-for-resource.ts +22 -24
  277. package/src/definitions/helpers/router/get-parent-resource.ts +18 -18
  278. package/src/definitions/helpers/router/is-parameter.ts +1 -1
  279. package/src/definitions/helpers/router/is-segment-counts-same.ts +3 -3
  280. package/src/definitions/helpers/router/match-resource-from-route.ts +19 -19
  281. package/src/definitions/helpers/router/pick-matched-route.ts +44 -44
  282. package/src/definitions/helpers/router/pick-route-params.ts +7 -7
  283. package/src/definitions/helpers/router/prepare-route-params.ts +13 -10
  284. package/src/definitions/helpers/router/remove-leading-trailing-slashes.ts +1 -1
  285. package/src/definitions/helpers/router/split-to-segments.ts +2 -2
  286. package/src/definitions/helpers/safe-translate/index.ts +12 -12
  287. package/src/definitions/helpers/sanitize-resource/index.ts +26 -27
  288. package/src/definitions/helpers/sequentialPromises/index.ts +21 -21
  289. package/src/definitions/helpers/treeView/createTreeView/index.ts +33 -33
  290. package/src/definitions/helpers/useActiveAuthProvider/index.ts +18 -18
  291. package/src/definitions/helpers/useInfinitePagination/index.ts +16 -16
  292. package/src/definitions/helpers/useMediaQuery/index.ts +11 -11
  293. package/src/definitions/helpers/useUserFriendlyName/index.ts +11 -14
  294. package/src/definitions/helpers/userFriendlyResourceName/index.ts +7 -7
  295. package/src/definitions/helpers/userFriendlySeconds/index.ts +1 -1
  296. package/src/definitions/table/index.ts +127 -130
  297. package/src/definitions/upload/file2Base64/index.ts +15 -15
  298. package/src/hooks/accessControl/useCan/index.ts +52 -54
  299. package/src/hooks/accessControl/useCanWithoutCache.ts +25 -26
  300. package/src/hooks/auditLog/useLog/index.ts +114 -114
  301. package/src/hooks/auditLog/useLogList/index.ts +44 -44
  302. package/src/hooks/auth/useForgotPassword/index.ts +158 -163
  303. package/src/hooks/auth/useGetIdentity/index.ts +55 -57
  304. package/src/hooks/auth/useInvalidateAuthStore/index.ts +12 -12
  305. package/src/hooks/auth/useIsAuthenticated/index.ts +44 -48
  306. package/src/hooks/auth/useIsExistAuthentication/index.ts +3 -3
  307. package/src/hooks/auth/useLogin/index.ts +181 -194
  308. package/src/hooks/auth/useLogout/index.ts +175 -177
  309. package/src/hooks/auth/useOnError/index.ts +76 -76
  310. package/src/hooks/auth/usePermissions/index.ts +94 -61
  311. package/src/hooks/auth/useRegister/index.ts +166 -178
  312. package/src/hooks/auth/useUpdatePassword/index.ts +183 -194
  313. package/src/hooks/breadcrumb/index.ts +99 -106
  314. package/src/hooks/data/useApiUrl.ts +7 -8
  315. package/src/hooks/data/useCreate.ts +241 -241
  316. package/src/hooks/data/useCreateMany.ts +219 -226
  317. package/src/hooks/data/useCustom.ts +181 -182
  318. package/src/hooks/data/useCustomMutation.ts +174 -174
  319. package/src/hooks/data/useDataProvider.tsx +27 -29
  320. package/src/hooks/data/useDelete.ts +447 -454
  321. package/src/hooks/data/useDeleteMany.ts +475 -484
  322. package/src/hooks/data/useInfiniteList.ts +280 -280
  323. package/src/hooks/data/useList.ts +280 -283
  324. package/src/hooks/data/useMany.ts +215 -216
  325. package/src/hooks/data/useOne.ts +210 -211
  326. package/src/hooks/data/useUpdate.ts +529 -556
  327. package/src/hooks/data/useUpdateMany.ts +556 -584
  328. package/src/hooks/deepMemo/index.tsx +5 -5
  329. package/src/hooks/export/csvDownload.interface.ts +13 -13
  330. package/src/hooks/export/index.ts +223 -217
  331. package/src/hooks/form/useForm.ts +543 -560
  332. package/src/hooks/import/index.tsx +254 -260
  333. package/src/hooks/invalidate/index.tsx +75 -75
  334. package/src/hooks/legacy-router/useRouterContext.ts +11 -11
  335. package/src/hooks/live/useLiveMode/index.ts +4 -4
  336. package/src/hooks/live/usePublish/index.ts +2 -2
  337. package/src/hooks/live/useResourceSubscription/index.ts +103 -103
  338. package/src/hooks/live/useSubscription/index.ts +77 -77
  339. package/src/hooks/memoized/index.tsx +6 -6
  340. package/src/hooks/menu/useMenu.tsx +113 -120
  341. package/src/hooks/modal/useModal/index.tsx +16 -16
  342. package/src/hooks/navigation/index.ts +362 -392
  343. package/src/hooks/notification/useCancelNotification/index.tsx +5 -5
  344. package/src/hooks/notification/useHandleNotification/index.ts +17 -17
  345. package/src/hooks/notification/useNotification/index.ts +2 -2
  346. package/src/hooks/redirection/index.ts +45 -46
  347. package/src/hooks/refine/useMutationMode.ts +4 -4
  348. package/src/hooks/refine/useRefineContext.ts +36 -36
  349. package/src/hooks/refine/useSyncWithLocation.ts +3 -3
  350. package/src/hooks/refine/useTitle.tsx +2 -2
  351. package/src/hooks/refine/useWarnAboutChange/index.ts +12 -12
  352. package/src/hooks/resource/useResource/index.ts +141 -146
  353. package/src/hooks/resource/useResourceWithRoute/index.ts +12 -12
  354. package/src/hooks/router/use-back/index.tsx +7 -7
  355. package/src/hooks/router/use-get-to-path/index.ts +35 -35
  356. package/src/hooks/router/use-go/index.tsx +66 -66
  357. package/src/hooks/router/use-link/index.tsx +8 -9
  358. package/src/hooks/router/use-parse/index.tsx +13 -13
  359. package/src/hooks/router/use-parsed/index.tsx +4 -4
  360. package/src/hooks/router/use-router-misuse-warning/index.ts +10 -10
  361. package/src/hooks/router/use-to-path/index.ts +10 -10
  362. package/src/hooks/show/useShow.ts +135 -135
  363. package/src/hooks/translate/useGetLocale.ts +2 -2
  364. package/src/hooks/translate/useSetLocale.ts +2 -2
  365. package/src/hooks/translate/useTranslate.ts +24 -25
  366. package/src/hooks/useKeys/index.tsx +7 -7
  367. package/src/hooks/useLoadingOvertime/index.ts +74 -76
  368. package/src/hooks/useMeta/index.ts +20 -20
  369. package/src/hooks/useSelect/index.ts +317 -277
  370. package/src/hooks/useTable/index.ts +483 -507
  371. package/src/hooks/useTelemetryData/index.ts +48 -48
  372. package/src/index.tsx +125 -125
  373. package/src/interfaces/actions.ts +2 -2
  374. package/src/interfaces/auditLog/logData.ts +9 -9
  375. package/src/interfaces/auth.tsx +176 -176
  376. package/src/interfaces/autoSave.ts +37 -37
  377. package/src/interfaces/bindings/access-control.ts +21 -21
  378. package/src/interfaces/bindings/auth.ts +27 -25
  379. package/src/interfaces/bindings/data.ts +2 -2
  380. package/src/interfaces/bindings/i18n.ts +8 -8
  381. package/src/interfaces/bindings/index.ts +15 -15
  382. package/src/interfaces/bindings/live.ts +28 -28
  383. package/src/interfaces/bindings/notifications.ts +8 -8
  384. package/src/interfaces/bindings/resource.ts +127 -127
  385. package/src/interfaces/bindings/router.ts +26 -26
  386. package/src/interfaces/customComponents.ts +17 -17
  387. package/src/interfaces/errors/HttpError.ts +8 -8
  388. package/src/interfaces/form-url-params.ts +6 -6
  389. package/src/interfaces/index.ts +8 -10
  390. package/src/interfaces/live/LiveEvent.ts +10 -10
  391. package/src/interfaces/live/LiveModeProps.ts +21 -21
  392. package/src/interfaces/mapDataFn.ts +1 -1
  393. package/src/interfaces/metaData/graphqlQueryOptions.ts +49 -49
  394. package/src/interfaces/metaData/metaDataQuery.ts +2 -2
  395. package/src/interfaces/metaData/metaQuery.ts +3 -3
  396. package/src/interfaces/metaData/nestedField.ts +3 -3
  397. package/src/interfaces/metaData/queryBuilderOptions.ts +3 -3
  398. package/src/interfaces/metaData/variableOptions.ts +8 -8
  399. package/src/interfaces/mutationMode.ts +14 -14
  400. package/src/interfaces/notification.ts +7 -7
  401. package/src/interfaces/optimistic-update-map.ts +42 -42
  402. package/src/interfaces/prettify.ts +1 -1
  403. package/src/interfaces/queryKey.ts +16 -16
  404. package/src/interfaces/resourceErrorRouterParams.ts +2 -2
  405. package/src/interfaces/resourceRouterParams.ts +3 -3
  406. package/src/interfaces/successErrorNotification.ts +24 -24
  407. package/src/interfaces/telemetry.ts +13 -13
  408. package/src/interfaces/textTransformers.ts +18 -18
  409. package/tsconfig.json +26 -26
@@ -5,114 +5,114 @@ import chunk from "lodash/chunk";
5
5
  import { useCreate, useCreateMany, useMeta, useResource } from "@hooks";
6
6
  import { MapDataFn, BaseRecord, HttpError, MetaQuery } from "../../interfaces";
7
7
  import {
8
- importCSVMapper,
9
- sequentialPromises,
10
- pickNotDeprecated,
8
+ importCSVMapper,
9
+ sequentialPromises,
10
+ pickNotDeprecated,
11
11
  } from "@definitions";
12
12
  import { UseCreateReturnType } from "../../hooks/data/useCreate";
13
13
  import { UseCreateManyReturnType } from "../../hooks/data/useCreateMany";
14
14
 
15
15
  export type ImportSuccessResult<TVariables, TData> = {
16
- request: TVariables[];
17
- type: "success";
18
- response: TData[];
16
+ request: TVariables[];
17
+ type: "success";
18
+ response: TData[];
19
19
  };
20
20
 
21
21
  export type ImportErrorResult<TVariables> = {
22
- request: TVariables[];
23
- type: "error";
24
- response: HttpError[];
22
+ request: TVariables[];
23
+ type: "error";
24
+ response: HttpError[];
25
25
  };
26
26
 
27
27
  export type OnFinishParams<TVariables, TData> = {
28
- succeeded: ImportSuccessResult<TVariables, TData>[];
29
- errored: ImportErrorResult<TVariables>[];
28
+ succeeded: ImportSuccessResult<TVariables, TData>[];
29
+ errored: ImportErrorResult<TVariables>[];
30
30
  };
31
31
 
32
32
  export type OnProgressParams = {
33
- totalAmount: number;
34
- processedAmount: number;
33
+ totalAmount: number;
34
+ processedAmount: number;
35
35
  };
36
36
 
37
37
  export type ImportOptions<
38
- TItem,
39
- TVariables = any,
40
- TData extends BaseRecord = BaseRecord,
38
+ TItem,
39
+ TVariables = any,
40
+ TData extends BaseRecord = BaseRecord,
41
41
  > = {
42
- /**
43
- * Resource name for API data interactions.
44
- * @default Resource name that it reads from route
45
- * @deprecated `resourceName` is deprecated. Use `resource` instead.
46
- */
47
- resourceName?: string;
48
- /**
49
- * Resource name for API data interactions.
50
- * @default Resource name that it reads from route
51
- */
52
- resource?: string;
53
- /**
54
- * A mapping function that runs for every record. Mapped data will be included in the file contents.
55
- */
56
- mapData?: MapDataFn<TItem, TVariables>;
57
- /**
58
- * Custom Papa Parse options.
59
- * @type [`ParseConfig`](https://www.papaparse.com/docs)
60
- */
61
- paparseOptions?: ParseConfig;
62
- /**
63
- * Requests batch size. If it is 1, all records are sent one by one. By default, it is [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER) to send all records in one batch. If it is more than 1, `createMany` should be implemented on DataProvider.
64
- */
65
- batchSize?: number;
66
- /**
67
- * Called with errors and successful responses when all requests are sent.
68
- */
69
- onFinish?: (results: OnFinishParams<TVariables, TData>) => void;
70
- /**
71
- * Metadata query for `dataProvider`
72
- */
73
- meta?: MetaQuery;
74
- /**
75
- * Metadata query for `dataProvider`
76
- * @deprecated `metaData` is deprecated with refine@4, refine will pass `meta` instead, however, we still support `metaData` for backward compatibility.
77
- */
78
- metaData?: MetaQuery;
79
- /**
80
- * A callback function that returns a current state of uploading process.
81
- *
82
- * Ex: `percentage = onProgressParams.processedAmount / onProgressParams.totalAmount * 100`
83
- */
84
- onProgress?: (onProgressParams: OnProgressParams) => void;
85
- /**
86
- * If there is more than one `dataProvider`, you should use the `dataProviderName` that you will use.
87
- */
88
- dataProviderName?: string;
42
+ /**
43
+ * Resource name for API data interactions.
44
+ * @default Resource name that it reads from route
45
+ * @deprecated `resourceName` is deprecated. Use `resource` instead.
46
+ */
47
+ resourceName?: string;
48
+ /**
49
+ * Resource name for API data interactions.
50
+ * @default Resource name that it reads from route
51
+ */
52
+ resource?: string;
53
+ /**
54
+ * A mapping function that runs for every record. Mapped data will be included in the file contents.
55
+ */
56
+ mapData?: MapDataFn<TItem, TVariables>;
57
+ /**
58
+ * Custom Papa Parse options.
59
+ * @type [`ParseConfig`](https://www.papaparse.com/docs)
60
+ */
61
+ paparseOptions?: ParseConfig;
62
+ /**
63
+ * Requests batch size. If it is 1, all records are sent one by one. By default, it is [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER) to send all records in one batch. If it is more than 1, `createMany` should be implemented on DataProvider.
64
+ */
65
+ batchSize?: number;
66
+ /**
67
+ * Called with errors and successful responses when all requests are sent.
68
+ */
69
+ onFinish?: (results: OnFinishParams<TVariables, TData>) => void;
70
+ /**
71
+ * Metadata query for `dataProvider`
72
+ */
73
+ meta?: MetaQuery;
74
+ /**
75
+ * Metadata query for `dataProvider`
76
+ * @deprecated `metaData` is deprecated with refine@4, refine will pass `meta` instead, however, we still support `metaData` for backward compatibility.
77
+ */
78
+ metaData?: MetaQuery;
79
+ /**
80
+ * A callback function that returns a current state of uploading process.
81
+ *
82
+ * Ex: `percentage = onProgressParams.processedAmount / onProgressParams.totalAmount * 100`
83
+ */
84
+ onProgress?: (onProgressParams: OnProgressParams) => void;
85
+ /**
86
+ * If there is more than one `dataProvider`, you should use the `dataProviderName` that you will use.
87
+ */
88
+ dataProviderName?: string;
89
89
  };
90
90
 
91
91
  export type CreatedValuesType<TVariables, TData> =
92
- | ImportSuccessResult<TVariables, TData>
93
- | ImportErrorResult<TVariables>;
92
+ | ImportSuccessResult<TVariables, TData>
93
+ | ImportErrorResult<TVariables>;
94
94
 
95
95
  export type HandleChangeType<TVariables, TData> = (onChangeParams: {
96
- file: Partial<File>;
96
+ file: Partial<File>;
97
97
  }) => Promise<CreatedValuesType<TVariables, TData>[]>;
98
98
 
99
99
  export type UseImportInputPropsType = {
100
- type: "file";
101
- accept: string;
102
- onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
100
+ type: "file";
101
+ accept: string;
102
+ onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
103
103
  };
104
104
 
105
105
  export type UseImportReturnType<
106
- TData extends BaseRecord = BaseRecord,
107
- TVariables = {},
108
- TError extends HttpError = HttpError,
106
+ TData extends BaseRecord = BaseRecord,
107
+ TVariables = {},
108
+ TError extends HttpError = HttpError,
109
109
  > = {
110
- inputProps: UseImportInputPropsType;
111
- mutationResult:
112
- | UseCreateReturnType<TData, TError, TVariables>
113
- | UseCreateManyReturnType<TData, TError, TVariables>;
114
- isLoading: boolean;
115
- handleChange: HandleChangeType<TVariables, TData>;
110
+ inputProps: UseImportInputPropsType;
111
+ mutationResult:
112
+ | UseCreateReturnType<TData, TError, TVariables>
113
+ | UseCreateManyReturnType<TData, TError, TVariables>;
114
+ isLoading: boolean;
115
+ handleChange: HandleChangeType<TVariables, TData>;
116
116
  };
117
117
 
118
118
  /**
@@ -127,210 +127,204 @@ export type UseImportReturnType<
127
127
  *
128
128
  */
129
129
  export const useImport = <
130
- TItem = any,
131
- TData extends BaseRecord = BaseRecord,
132
- TError extends HttpError = HttpError,
133
- TVariables = any,
130
+ TItem = any,
131
+ TData extends BaseRecord = BaseRecord,
132
+ TError extends HttpError = HttpError,
133
+ TVariables = any,
134
134
  >({
135
- resourceName,
136
- resource: resourceFromProps,
137
- mapData = (item) => item as unknown as TVariables,
138
- paparseOptions,
139
- batchSize = Number.MAX_SAFE_INTEGER,
140
- onFinish,
141
- meta,
142
- metaData,
143
- onProgress,
144
- dataProviderName,
135
+ resourceName,
136
+ resource: resourceFromProps,
137
+ mapData = (item) => item as unknown as TVariables,
138
+ paparseOptions,
139
+ batchSize = Number.MAX_SAFE_INTEGER,
140
+ onFinish,
141
+ meta,
142
+ metaData,
143
+ onProgress,
144
+ dataProviderName,
145
145
  }: ImportOptions<TItem, TVariables, TData> = {}): UseImportReturnType<
146
- TData,
147
- TVariables,
148
- TError
146
+ TData,
147
+ TVariables,
148
+ TError
149
149
  > => {
150
- const [processedAmount, setProcessedAmount] = useState<number>(0);
151
- const [totalAmount, setTotalAmount] = useState<number>(0);
152
- const [isLoading, setIsLoading] = useState(false);
150
+ const [processedAmount, setProcessedAmount] = useState<number>(0);
151
+ const [totalAmount, setTotalAmount] = useState<number>(0);
152
+ const [isLoading, setIsLoading] = useState(false);
153
153
 
154
- const { resource, identifier } = useResource(
155
- resourceFromProps ?? resourceName,
156
- );
154
+ const { resource, identifier } = useResource(
155
+ resourceFromProps ?? resourceName,
156
+ );
157
157
 
158
- const getMeta = useMeta();
158
+ const getMeta = useMeta();
159
159
 
160
- const createMany = useCreateMany<TData, TError, TVariables>();
161
- const create = useCreate<TData, TError, TVariables>();
160
+ const createMany = useCreateMany<TData, TError, TVariables>();
161
+ const create = useCreate<TData, TError, TVariables>();
162
162
 
163
- const combinedMeta = getMeta({
164
- resource,
165
- meta: pickNotDeprecated(meta, metaData),
166
- });
167
-
168
- let mutationResult:
169
- | UseCreateReturnType<TData, TError, TVariables>
170
- | UseCreateManyReturnType<TData, TError, TVariables>;
163
+ const combinedMeta = getMeta({
164
+ resource,
165
+ meta: pickNotDeprecated(meta, metaData),
166
+ });
171
167
 
172
- if (batchSize === 1) {
173
- mutationResult = create;
174
- } else {
175
- mutationResult = createMany;
176
- }
168
+ let mutationResult:
169
+ | UseCreateReturnType<TData, TError, TVariables>
170
+ | UseCreateManyReturnType<TData, TError, TVariables>;
177
171
 
178
- const handleCleanup = () => {
179
- setTotalAmount(0);
180
- setProcessedAmount(0);
181
- setIsLoading(false);
182
- };
172
+ if (batchSize === 1) {
173
+ mutationResult = create;
174
+ } else {
175
+ mutationResult = createMany;
176
+ }
183
177
 
184
- const handleFinish = (
185
- createdValues: CreatedValuesType<TVariables, TData>[],
186
- ) => {
187
- const result = {
188
- succeeded: createdValues.filter(
189
- (item) => item.type === "success",
190
- ) as unknown as ImportSuccessResult<TVariables, TData>[],
191
- errored: createdValues.filter(
192
- (item) => item.type === "error",
193
- ) as unknown as ImportErrorResult<TVariables>[],
194
- };
178
+ const handleCleanup = () => {
179
+ setTotalAmount(0);
180
+ setProcessedAmount(0);
181
+ setIsLoading(false);
182
+ };
195
183
 
196
- onFinish?.(result);
197
- setIsLoading(false);
184
+ const handleFinish = (
185
+ createdValues: CreatedValuesType<TVariables, TData>[],
186
+ ) => {
187
+ const result = {
188
+ succeeded: createdValues.filter(
189
+ (item) => item.type === "success",
190
+ ) as unknown as ImportSuccessResult<TVariables, TData>[],
191
+ errored: createdValues.filter(
192
+ (item) => item.type === "error",
193
+ ) as unknown as ImportErrorResult<TVariables>[],
198
194
  };
199
195
 
200
- useEffect(() => {
201
- onProgress?.({ totalAmount, processedAmount });
202
- }, [totalAmount, processedAmount]);
196
+ onFinish?.(result);
197
+ setIsLoading(false);
198
+ };
203
199
 
204
- const handleChange: HandleChangeType<TVariables, TData> = ({ file }) => {
205
- handleCleanup();
206
- return new Promise<CreatedValuesType<TVariables, TData>[]>(
207
- (resolve) => {
208
- setIsLoading(true);
209
- parse(file as any, {
210
- complete: async ({ data }: { data: unknown[][] }) => {
211
- const values = importCSVMapper(data, mapData);
200
+ useEffect(() => {
201
+ onProgress?.({ totalAmount, processedAmount });
202
+ }, [totalAmount, processedAmount]);
212
203
 
213
- setTotalAmount(values.length);
204
+ const handleChange: HandleChangeType<TVariables, TData> = ({ file }) => {
205
+ handleCleanup();
206
+ return new Promise<CreatedValuesType<TVariables, TData>[]>((resolve) => {
207
+ setIsLoading(true);
208
+ parse(file as any, {
209
+ complete: async ({ data }: { data: unknown[][] }) => {
210
+ const values = importCSVMapper(data, mapData);
214
211
 
215
- if (batchSize === 1) {
216
- // Create Processor Functions
217
- const valueFns = values.map((value) => {
218
- const fn = async () => {
219
- const response = await create.mutateAsync({
220
- resource: identifier ?? "",
221
- values: value,
222
- successNotification: false,
223
- errorNotification: false,
224
- dataProviderName,
225
- meta: combinedMeta,
226
- metaData: combinedMeta,
227
- });
212
+ setTotalAmount(values.length);
228
213
 
229
- return { response, value };
230
- };
231
- return fn;
232
- });
233
- // Sequentially run processor functions and process resolves/rejects
234
- const createdValues = await sequentialPromises(
235
- valueFns,
236
- ({ response, value }) => {
237
- setProcessedAmount((currentAmount) => {
238
- return currentAmount + 1;
239
- });
240
-
241
- return {
242
- response: [response.data],
243
- type: "success",
244
- request: [value],
245
- } as ImportSuccessResult<TVariables, TData>;
246
- },
247
- (error: HttpError, index) => {
248
- return {
249
- response: [error],
250
- type: "error",
251
- request: [values[index]],
252
- } as ImportErrorResult<TVariables>;
253
- },
254
- );
255
- // Resolve with created values
256
- resolve(createdValues);
257
- } else {
258
- // Create Chunks
259
- const chunks = chunk(values, batchSize);
260
- // Create Chunk Processor Functions
261
- const chunkedFns = chunks.map((chunkedValues) => {
262
- const fn = async () => {
263
- const response =
264
- await createMany.mutateAsync({
265
- resource: identifier ?? "",
266
- values: chunkedValues,
267
- successNotification: false,
268
- errorNotification: false,
269
- dataProviderName,
270
- meta: combinedMeta,
271
- metaData: combinedMeta,
272
- });
214
+ if (batchSize === 1) {
215
+ // Create Processor Functions
216
+ const valueFns = values.map((value) => {
217
+ const fn = async () => {
218
+ const response = await create.mutateAsync({
219
+ resource: identifier ?? "",
220
+ values: value,
221
+ successNotification: false,
222
+ errorNotification: false,
223
+ dataProviderName,
224
+ meta: combinedMeta,
225
+ metaData: combinedMeta,
226
+ });
273
227
 
274
- return {
275
- response,
276
- value: chunkedValues,
277
- currentBatchLength:
278
- chunkedValues.length,
279
- };
280
- };
228
+ return { response, value };
229
+ };
230
+ return fn;
231
+ });
232
+ // Sequentially run processor functions and process resolves/rejects
233
+ const createdValues = await sequentialPromises(
234
+ valueFns,
235
+ ({ response, value }) => {
236
+ setProcessedAmount((currentAmount) => {
237
+ return currentAmount + 1;
238
+ });
281
239
 
282
- return fn;
283
- });
284
- // Sequentially run chunked functions and process resolves/rejects
285
- const createdValues = await sequentialPromises(
286
- chunkedFns,
287
- ({ response, currentBatchLength, value }) => {
288
- setProcessedAmount((currentAmount) => {
289
- return (
290
- currentAmount + currentBatchLength
291
- );
292
- });
240
+ return {
241
+ response: [response.data],
242
+ type: "success",
243
+ request: [value],
244
+ } as ImportSuccessResult<TVariables, TData>;
245
+ },
246
+ (error: HttpError, index) => {
247
+ return {
248
+ response: [error],
249
+ type: "error",
250
+ request: [values[index]],
251
+ } as ImportErrorResult<TVariables>;
252
+ },
253
+ );
254
+ // Resolve with created values
255
+ resolve(createdValues);
256
+ } else {
257
+ // Create Chunks
258
+ const chunks = chunk(values, batchSize);
259
+ // Create Chunk Processor Functions
260
+ const chunkedFns = chunks.map((chunkedValues) => {
261
+ const fn = async () => {
262
+ const response = await createMany.mutateAsync({
263
+ resource: identifier ?? "",
264
+ values: chunkedValues,
265
+ successNotification: false,
266
+ errorNotification: false,
267
+ dataProviderName,
268
+ meta: combinedMeta,
269
+ metaData: combinedMeta,
270
+ });
293
271
 
294
- return {
295
- response: response.data,
296
- type: "success",
297
- request: value,
298
- } as ImportSuccessResult<TVariables, TData>;
299
- },
300
- (error: HttpError, index) => {
301
- return {
302
- response: [error],
303
- type: "error",
304
- request: chunks[index],
305
- } as ImportErrorResult<TVariables>;
306
- },
307
- );
308
- // resolve with all created values
309
- resolve(createdValues);
310
- }
311
- },
272
+ return {
273
+ response,
274
+ value: chunkedValues,
275
+ currentBatchLength: chunkedValues.length,
276
+ };
277
+ };
312
278
 
313
- ...paparseOptions,
279
+ return fn;
280
+ });
281
+ // Sequentially run chunked functions and process resolves/rejects
282
+ const createdValues = await sequentialPromises(
283
+ chunkedFns,
284
+ ({ response, currentBatchLength, value }) => {
285
+ setProcessedAmount((currentAmount) => {
286
+ return currentAmount + currentBatchLength;
314
287
  });
315
- },
316
- ).then((createdValues) => {
317
- handleFinish(createdValues);
318
- return createdValues;
319
- });
320
- };
321
288
 
322
- return {
323
- inputProps: {
324
- type: "file",
325
- accept: ".csv",
326
- onChange: (event: React.ChangeEvent<HTMLInputElement>) => {
327
- if (event.target.files && event.target.files.length > 0) {
328
- handleChange({ file: event.target.files[0] });
329
- }
330
- },
289
+ return {
290
+ response: response.data,
291
+ type: "success",
292
+ request: value,
293
+ } as ImportSuccessResult<TVariables, TData>;
294
+ },
295
+ (error: HttpError, index) => {
296
+ return {
297
+ response: [error],
298
+ type: "error",
299
+ request: chunks[index],
300
+ } as ImportErrorResult<TVariables>;
301
+ },
302
+ );
303
+ // resolve with all created values
304
+ resolve(createdValues);
305
+ }
331
306
  },
332
- mutationResult,
333
- isLoading,
334
- handleChange,
335
- };
307
+
308
+ ...paparseOptions,
309
+ });
310
+ }).then((createdValues) => {
311
+ handleFinish(createdValues);
312
+ return createdValues;
313
+ });
314
+ };
315
+
316
+ return {
317
+ inputProps: {
318
+ type: "file",
319
+ accept: ".csv",
320
+ onChange: (event: React.ChangeEvent<HTMLInputElement>) => {
321
+ if (event.target.files && event.target.files.length > 0) {
322
+ handleChange({ file: event.target.files[0] });
323
+ }
324
+ },
325
+ },
326
+ mutationResult,
327
+ isLoading,
328
+ handleChange,
329
+ };
336
330
  };