@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
@@ -1,7 +1,7 @@
1
1
  import {
2
- useQuery,
3
- UseQueryResult,
4
- UseQueryOptions,
2
+ useQuery,
3
+ UseQueryResult,
4
+ UseQueryOptions,
5
5
  } from "@tanstack/react-query";
6
6
  import { getXRay } from "@refinedev/devtools-internal";
7
7
 
@@ -10,43 +10,62 @@ import { useKeys } from "@hooks/useKeys";
10
10
  import { useAuthBindingsContext, useLegacyAuthContext } from "@contexts/auth";
11
11
  import { PermissionResponse } from "../../../interfaces";
12
12
 
13
- export type UsePermissionsLegacyProps<TData = any> = {
14
- v3LegacyAuthProviderCompatible: true;
15
- options?: UseQueryOptions<TData>;
13
+ export type UsePermissionsLegacyProps<
14
+ TData = any,
15
+ TParams extends Record<string, any> = Record<string, any>,
16
+ > = {
17
+ v3LegacyAuthProviderCompatible: true;
18
+ options?: UseQueryOptions<TData>;
19
+ params?: TParams;
16
20
  };
17
21
 
18
- export type UsePermissionsProps<TData = PermissionResponse> = {
19
- v3LegacyAuthProviderCompatible?: false;
20
- options?: UseQueryOptions<TData>;
22
+ export type UsePermissionsProps<
23
+ TData = PermissionResponse,
24
+ TParams extends Record<string, any> = Record<string, any>,
25
+ > = {
26
+ v3LegacyAuthProviderCompatible?: false;
27
+ options?: UseQueryOptions<TData>;
28
+ params?: TParams;
21
29
  };
22
30
 
23
- export type UsePermissionsCombinedProps<TData = any> = {
24
- v3LegacyAuthProviderCompatible: boolean;
25
- options?: UseQueryOptions<TData> | UseQueryOptions<PermissionResponse>;
31
+ export type UsePermissionsCombinedProps<
32
+ TData = any,
33
+ TParams extends Record<string, any> = Record<string, any>,
34
+ > = {
35
+ v3LegacyAuthProviderCompatible: boolean;
36
+ options?: UseQueryOptions<TData> | UseQueryOptions<PermissionResponse>;
37
+ params?: TParams;
26
38
  };
27
39
 
28
40
  export type UsePermissionsLegacyReturnType<TData = any> = UseQueryResult<
29
- TData,
30
- unknown
41
+ TData,
42
+ unknown
31
43
  >;
32
44
 
33
45
  export type UsePermissionsReturnType<TData = PermissionResponse> =
34
- UseQueryResult<TData, unknown>;
46
+ UseQueryResult<TData, unknown>;
35
47
 
36
48
  export type UsePermissionsCombinedReturnType<TData = any> =
37
- | UseQueryResult<TData, unknown>
38
- | UseQueryResult<PermissionResponse, unknown>;
49
+ | UseQueryResult<TData, unknown>
50
+ | UseQueryResult<PermissionResponse, unknown>;
39
51
 
40
- export function usePermissions<TData = any>(
41
- props: UsePermissionsLegacyProps<TData>,
52
+ export function usePermissions<
53
+ TData = any,
54
+ TParams extends Record<string, any> = Record<string, any>,
55
+ >(
56
+ props: UsePermissionsLegacyProps<TData, TParams>,
42
57
  ): UsePermissionsLegacyReturnType<TData>;
43
58
 
44
- export function usePermissions<TData = PermissionResponse>(
45
- props?: UsePermissionsProps<TData>,
46
- ): UsePermissionsReturnType<TData>;
59
+ export function usePermissions<
60
+ TData = PermissionResponse,
61
+ TParams extends Record<string, any> = Record<string, any>,
62
+ >(props?: UsePermissionsProps<TData, TParams>): UsePermissionsReturnType<TData>;
47
63
 
48
- export function usePermissions<TData = any>(
49
- props?: UsePermissionsCombinedProps<TData>,
64
+ export function usePermissions<
65
+ TData = any,
66
+ TParams extends Record<string, any> = Record<string, any>,
67
+ >(
68
+ props?: UsePermissionsCombinedProps<TData, TParams>,
50
69
  ): UsePermissionsCombinedReturnType<TData>;
51
70
 
52
71
  /**
@@ -56,45 +75,59 @@ export function usePermissions<TData = any>(
56
75
  *
57
76
  * @typeParam TData - Result data of the query
58
77
  *
78
+ * @typeParam TParams - Params will be passed to the `getPermissions` method of {@link https://refine.dev/docs/core/providers/auth-provider `authProvider`}.
79
+ *
59
80
  */
60
- export function usePermissions<TData = any>({
61
- v3LegacyAuthProviderCompatible = false,
62
- options,
63
- }: UsePermissionsProps<TData> | UsePermissionsLegacyProps<TData> = {}):
64
- | UsePermissionsReturnType
65
- | UsePermissionsLegacyReturnType<TData> {
66
- const { getPermissions: legacyGetPermission } = useLegacyAuthContext();
67
- const { getPermissions } = useAuthBindingsContext();
68
- const { keys, preferLegacyKeys } = useKeys();
81
+ export function usePermissions<
82
+ TData = any,
83
+ TParams extends Record<string, any> = Record<string, any>,
84
+ >({
85
+ v3LegacyAuthProviderCompatible = false,
86
+ options,
87
+ params,
88
+ }:
89
+ | UsePermissionsProps<TData, TParams>
90
+ | UsePermissionsLegacyProps<TData, TParams> = {}):
91
+ | UsePermissionsReturnType
92
+ | UsePermissionsLegacyReturnType<TData> {
93
+ const { getPermissions: legacyGetPermission } = useLegacyAuthContext();
94
+ const { getPermissions } = useAuthBindingsContext();
95
+ const { keys, preferLegacyKeys } = useKeys();
69
96
 
70
- const queryResponse = useQuery<TData>({
71
- queryKey: keys().auth().action("permissions").get(preferLegacyKeys),
72
- // Enabled check for `getPermissions` is enough to be sure that it's defined in the query function but TS is not smart enough to know that.
73
- queryFn:
74
- (getPermissions as (params?: unknown) => Promise<TData>) ??
75
- (() => Promise.resolve(undefined)),
76
- enabled: !v3LegacyAuthProviderCompatible && !!getPermissions,
77
- ...(v3LegacyAuthProviderCompatible ? {} : options),
78
- meta: {
79
- ...(v3LegacyAuthProviderCompatible ? {} : options?.meta),
80
- ...getXRay("usePermissions", preferLegacyKeys),
81
- },
82
- });
97
+ const queryResponse = useQuery<TData>({
98
+ queryKey: keys().auth().action("permissions").get(preferLegacyKeys),
99
+ // Enabled check for `getPermissions` is enough to be sure that it's defined in the query function but TS is not smart enough to know that.
100
+ queryFn: (getPermissions
101
+ ? () => getPermissions(params)
102
+ : () => Promise.resolve(undefined)) as (
103
+ params?: unknown,
104
+ ) => Promise<TData>,
105
+ enabled: !v3LegacyAuthProviderCompatible && !!getPermissions,
106
+ ...(v3LegacyAuthProviderCompatible ? {} : options),
107
+ meta: {
108
+ ...(v3LegacyAuthProviderCompatible ? {} : options?.meta),
109
+ ...getXRay("usePermissions", preferLegacyKeys),
110
+ },
111
+ });
83
112
 
84
- const legacyQueryResponse = useQuery<TData>({
85
- queryKey: [
86
- ...keys().auth().action("permissions").get(preferLegacyKeys),
87
- "v3LegacyAuthProviderCompatible",
88
- ],
89
- // Enabled check for `getPermissions` is enough to be sure that it's defined in the query function but TS is not smart enough to know that.
90
- queryFn: legacyGetPermission ?? (() => Promise.resolve(undefined)),
91
- enabled: v3LegacyAuthProviderCompatible && !!legacyGetPermission,
92
- ...(v3LegacyAuthProviderCompatible ? options : {}),
93
- meta: {
94
- ...(v3LegacyAuthProviderCompatible ? options?.meta : {}),
95
- ...getXRay("usePermissions", preferLegacyKeys),
96
- },
97
- });
113
+ const legacyQueryResponse = useQuery<TData>({
114
+ queryKey: [
115
+ ...keys().auth().action("permissions").get(preferLegacyKeys),
116
+ "v3LegacyAuthProviderCompatible",
117
+ ],
118
+ // Enabled check for `getPermissions` is enough to be sure that it's defined in the query function but TS is not smart enough to know that.
119
+ queryFn: (legacyGetPermission
120
+ ? () => legacyGetPermission(params)
121
+ : () => Promise.resolve(undefined)) as (
122
+ params?: unknown,
123
+ ) => Promise<TData>,
124
+ enabled: v3LegacyAuthProviderCompatible && !!legacyGetPermission,
125
+ ...(v3LegacyAuthProviderCompatible ? options : {}),
126
+ meta: {
127
+ ...(v3LegacyAuthProviderCompatible ? options?.meta : {}),
128
+ ...getXRay("usePermissions", preferLegacyKeys),
129
+ },
130
+ });
98
131
 
99
- return v3LegacyAuthProviderCompatible ? legacyQueryResponse : queryResponse;
132
+ return v3LegacyAuthProviderCompatible ? legacyQueryResponse : queryResponse;
100
133
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
- useMutation,
3
- UseMutationOptions,
4
- UseMutationResult,
2
+ useMutation,
3
+ UseMutationOptions,
4
+ UseMutationResult,
5
5
  } from "@tanstack/react-query";
6
6
  import { getXRay } from "@refinedev/devtools-internal";
7
7
 
@@ -10,85 +10,80 @@ import { useAuthBindingsContext, useLegacyAuthContext } from "@contexts/auth";
10
10
  import { SuccessNotificationResponse } from "src/interfaces/bindings/auth";
11
11
 
12
12
  import {
13
- AuthActionResponse,
14
- RefineError,
15
- OpenNotificationParams,
16
- TLoginData,
17
- TRegisterData,
13
+ AuthActionResponse,
14
+ RefineError,
15
+ OpenNotificationParams,
16
+ TLoginData,
17
+ TRegisterData,
18
18
  } from "../../../interfaces";
19
19
  import { useInvalidateAuthStore } from "../useInvalidateAuthStore";
20
20
  import { useKeys } from "@hooks/useKeys";
21
21
 
22
22
  export type UseRegisterLegacyProps<TVariables> = {
23
- v3LegacyAuthProviderCompatible: true;
24
- mutationOptions?: Omit<
25
- UseMutationOptions<
26
- TRegisterData,
27
- Error | RefineError,
28
- TVariables,
29
- unknown
30
- >,
31
- "mutationFn" | "onError" | "onSuccess"
32
- >;
23
+ v3LegacyAuthProviderCompatible: true;
24
+ mutationOptions?: Omit<
25
+ UseMutationOptions<TRegisterData, Error | RefineError, TVariables, unknown>,
26
+ "mutationFn" | "onError" | "onSuccess"
27
+ >;
33
28
  };
34
29
 
35
30
  export type UseRegisterProps<TVariables> = {
36
- v3LegacyAuthProviderCompatible?: false;
37
- mutationOptions?: Omit<
38
- UseMutationOptions<
39
- AuthActionResponse,
40
- Error | RefineError,
41
- TVariables,
42
- unknown
43
- >,
44
- "mutationFn"
45
- >;
31
+ v3LegacyAuthProviderCompatible?: false;
32
+ mutationOptions?: Omit<
33
+ UseMutationOptions<
34
+ AuthActionResponse,
35
+ Error | RefineError,
36
+ TVariables,
37
+ unknown
38
+ >,
39
+ "mutationFn"
40
+ >;
46
41
  };
47
42
 
48
43
  export type UseRegisterCombinedProps<TVariables> = {
49
- v3LegacyAuthProviderCompatible: boolean;
50
- mutationOptions?: Omit<
51
- UseMutationOptions<
52
- AuthActionResponse | TRegisterData,
53
- Error | RefineError,
54
- TVariables,
55
- unknown
56
- >,
57
- "mutationFn"
58
- >;
44
+ v3LegacyAuthProviderCompatible: boolean;
45
+ mutationOptions?: Omit<
46
+ UseMutationOptions<
47
+ AuthActionResponse | TRegisterData,
48
+ Error | RefineError,
49
+ TVariables,
50
+ unknown
51
+ >,
52
+ "mutationFn"
53
+ >;
59
54
  };
60
55
 
61
56
  export type UseRegisterLegacyReturnType<TVariables> = UseMutationResult<
62
- TRegisterData,
63
- Error | RefineError,
64
- TVariables,
65
- unknown
57
+ TRegisterData,
58
+ Error | RefineError,
59
+ TVariables,
60
+ unknown
66
61
  >;
67
62
 
68
63
  export type UseRegisterReturnType<TVariables> = UseMutationResult<
69
- AuthActionResponse,
70
- Error | RefineError,
71
- TVariables,
72
- unknown
64
+ AuthActionResponse,
65
+ Error | RefineError,
66
+ TVariables,
67
+ unknown
73
68
  >;
74
69
 
75
70
  export type UseRegisterCombinedReturnType<TVariables> = UseMutationResult<
76
- AuthActionResponse | TLoginData,
77
- Error | RefineError,
78
- TVariables,
79
- unknown
71
+ AuthActionResponse | TLoginData,
72
+ Error | RefineError,
73
+ TVariables,
74
+ unknown
80
75
  >;
81
76
 
82
77
  export function useRegister<TVariables = {}>(
83
- props: UseRegisterLegacyProps<TVariables>,
78
+ props: UseRegisterLegacyProps<TVariables>,
84
79
  ): UseRegisterLegacyReturnType<TVariables>;
85
80
 
86
81
  export function useRegister<TVariables = {}>(
87
- props?: UseRegisterProps<TVariables>,
82
+ props?: UseRegisterProps<TVariables>,
88
83
  ): UseRegisterReturnType<TVariables>;
89
84
 
90
85
  export function useRegister<TVariables = {}>(
91
- props?: UseRegisterCombinedProps<TVariables>,
86
+ props?: UseRegisterCombinedProps<TVariables>,
92
87
  ): UseRegisterCombinedReturnType<TVariables>;
93
88
 
94
89
  /**
@@ -101,138 +96,131 @@ export function useRegister<TVariables = {}>(
101
96
  *
102
97
  */
103
98
  export function useRegister<TVariables = {}>({
104
- v3LegacyAuthProviderCompatible,
105
- mutationOptions,
99
+ v3LegacyAuthProviderCompatible,
100
+ mutationOptions,
106
101
  }: UseRegisterProps<TVariables> | UseRegisterLegacyProps<TVariables> = {}):
107
- | UseRegisterReturnType<TVariables>
108
- | UseRegisterLegacyReturnType<TVariables> {
109
- const invalidateAuthStore = useInvalidateAuthStore();
110
- const routerType = useRouterType();
111
- const go = useGo();
112
- const { replace } = useNavigation();
113
- const { register: legacyRegisterFromContext } = useLegacyAuthContext();
114
- const { register: registerFromContext } = useAuthBindingsContext();
115
- const { close, open } = useNotification();
116
-
117
- const { keys, preferLegacyKeys } = useKeys();
118
-
119
- const mutation = useMutation<
120
- AuthActionResponse,
121
- Error | RefineError,
122
- TVariables,
123
- unknown
124
- >({
125
- mutationKey: keys().auth().action("register").get(preferLegacyKeys),
126
- mutationFn: registerFromContext,
127
- onSuccess: async ({
128
- success,
129
- redirectTo,
130
- error,
131
- successNotification,
132
- }) => {
133
- if (success) {
134
- close?.("register-error");
135
-
136
- if (successNotification) {
137
- open?.(buildSuccessNotification(successNotification));
138
- }
139
- }
140
-
141
- if (error || !success) {
142
- open?.(buildNotification(error));
143
- }
144
-
145
- if (redirectTo) {
146
- if (routerType === "legacy") {
147
- replace(redirectTo);
148
- } else {
149
- go({ to: redirectTo, type: "replace" });
150
- }
151
- } else {
152
- if (routerType === "legacy") {
153
- replace("/");
154
- }
155
- }
156
-
157
- await invalidateAuthStore();
158
- },
159
- onError: (error: any) => {
160
- open?.(buildNotification(error));
161
- },
162
- ...(v3LegacyAuthProviderCompatible === true ? {} : mutationOptions),
163
- meta: {
164
- ...(v3LegacyAuthProviderCompatible === true
165
- ? {}
166
- : mutationOptions?.meta),
167
- ...getXRay("useRegister", preferLegacyKeys),
168
- },
169
- });
170
-
171
- const v3LegacyAuthProviderCompatibleMutation = useMutation<
172
- TRegisterData,
173
- Error | RefineError,
174
- TVariables,
175
- unknown
176
- >({
177
- mutationKey: [
178
- ...keys().auth().action("register").get(preferLegacyKeys),
179
- "v3LegacyAuthProviderCompatible",
180
- ],
181
- mutationFn: legacyRegisterFromContext,
182
- onSuccess: async (redirectPathFromAuth) => {
183
- if (redirectPathFromAuth !== false) {
184
- if (redirectPathFromAuth) {
185
- if (routerType === "legacy") {
186
- replace(redirectPathFromAuth);
187
- } else {
188
- go({ to: redirectPathFromAuth, type: "replace" });
189
- }
190
- } else {
191
- if (routerType === "legacy") {
192
- replace("/");
193
- } else {
194
- go({ to: "/", type: "replace" });
195
- }
196
- }
197
-
198
- await invalidateAuthStore();
199
-
200
- close?.("register-error");
201
- }
202
- },
203
- onError: (error: any) => {
204
- open?.(buildNotification(error));
205
- },
206
- ...(v3LegacyAuthProviderCompatible ? mutationOptions : {}),
207
- meta: {
208
- ...(v3LegacyAuthProviderCompatible ? mutationOptions?.meta : {}),
209
- ...getXRay("useRegister", preferLegacyKeys),
210
- },
211
- });
212
-
213
- return v3LegacyAuthProviderCompatible
214
- ? v3LegacyAuthProviderCompatibleMutation
215
- : mutation;
102
+ | UseRegisterReturnType<TVariables>
103
+ | UseRegisterLegacyReturnType<TVariables> {
104
+ const invalidateAuthStore = useInvalidateAuthStore();
105
+ const routerType = useRouterType();
106
+ const go = useGo();
107
+ const { replace } = useNavigation();
108
+ const { register: legacyRegisterFromContext } = useLegacyAuthContext();
109
+ const { register: registerFromContext } = useAuthBindingsContext();
110
+ const { close, open } = useNotification();
111
+
112
+ const { keys, preferLegacyKeys } = useKeys();
113
+
114
+ const mutation = useMutation<
115
+ AuthActionResponse,
116
+ Error | RefineError,
117
+ TVariables,
118
+ unknown
119
+ >({
120
+ mutationKey: keys().auth().action("register").get(preferLegacyKeys),
121
+ mutationFn: registerFromContext,
122
+ onSuccess: async ({ success, redirectTo, error, successNotification }) => {
123
+ if (success) {
124
+ close?.("register-error");
125
+
126
+ if (successNotification) {
127
+ open?.(buildSuccessNotification(successNotification));
128
+ }
129
+ }
130
+
131
+ if (error || !success) {
132
+ open?.(buildNotification(error));
133
+ }
134
+
135
+ if (redirectTo) {
136
+ if (routerType === "legacy") {
137
+ replace(redirectTo);
138
+ } else {
139
+ go({ to: redirectTo, type: "replace" });
140
+ }
141
+ } else {
142
+ if (routerType === "legacy") {
143
+ replace("/");
144
+ }
145
+ }
146
+
147
+ await invalidateAuthStore();
148
+ },
149
+ onError: (error: any) => {
150
+ open?.(buildNotification(error));
151
+ },
152
+ ...(v3LegacyAuthProviderCompatible === true ? {} : mutationOptions),
153
+ meta: {
154
+ ...(v3LegacyAuthProviderCompatible === true ? {} : mutationOptions?.meta),
155
+ ...getXRay("useRegister", preferLegacyKeys),
156
+ },
157
+ });
158
+
159
+ const v3LegacyAuthProviderCompatibleMutation = useMutation<
160
+ TRegisterData,
161
+ Error | RefineError,
162
+ TVariables,
163
+ unknown
164
+ >({
165
+ mutationKey: [
166
+ ...keys().auth().action("register").get(preferLegacyKeys),
167
+ "v3LegacyAuthProviderCompatible",
168
+ ],
169
+ mutationFn: legacyRegisterFromContext,
170
+ onSuccess: async (redirectPathFromAuth) => {
171
+ if (redirectPathFromAuth !== false) {
172
+ if (redirectPathFromAuth) {
173
+ if (routerType === "legacy") {
174
+ replace(redirectPathFromAuth);
175
+ } else {
176
+ go({ to: redirectPathFromAuth, type: "replace" });
177
+ }
178
+ } else {
179
+ if (routerType === "legacy") {
180
+ replace("/");
181
+ } else {
182
+ go({ to: "/", type: "replace" });
183
+ }
184
+ }
185
+
186
+ await invalidateAuthStore();
187
+
188
+ close?.("register-error");
189
+ }
190
+ },
191
+ onError: (error: any) => {
192
+ open?.(buildNotification(error));
193
+ },
194
+ ...(v3LegacyAuthProviderCompatible ? mutationOptions : {}),
195
+ meta: {
196
+ ...(v3LegacyAuthProviderCompatible ? mutationOptions?.meta : {}),
197
+ ...getXRay("useRegister", preferLegacyKeys),
198
+ },
199
+ });
200
+
201
+ return v3LegacyAuthProviderCompatible
202
+ ? v3LegacyAuthProviderCompatibleMutation
203
+ : mutation;
216
204
  }
217
205
 
218
206
  const buildNotification = (
219
- error?: Error | RefineError,
207
+ error?: Error | RefineError,
220
208
  ): OpenNotificationParams => {
221
- return {
222
- message: error?.name || "Register Error",
223
- description: error?.message || "Error while registering",
224
- key: "register-error",
225
- type: "error",
226
- };
209
+ return {
210
+ message: error?.name || "Register Error",
211
+ description: error?.message || "Error while registering",
212
+ key: "register-error",
213
+ type: "error",
214
+ };
227
215
  };
228
216
 
229
217
  const buildSuccessNotification = (
230
- successNotification: SuccessNotificationResponse,
218
+ successNotification: SuccessNotificationResponse,
231
219
  ): OpenNotificationParams => {
232
- return {
233
- message: successNotification.message,
234
- description: successNotification.description,
235
- key: "register-success",
236
- type: "success",
237
- };
220
+ return {
221
+ message: successNotification.message,
222
+ description: successNotification.description,
223
+ key: "register-success",
224
+ type: "success",
225
+ };
238
226
  };