@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,112 +1,112 @@
1
1
  import React from "react";
2
2
  import {
3
- useMutation,
4
- UseMutationOptions,
5
- UseMutationResult,
3
+ useMutation,
4
+ UseMutationOptions,
5
+ UseMutationResult,
6
6
  } from "@tanstack/react-query";
7
7
  import { getXRay } from "@refinedev/devtools-internal";
8
8
  import qs from "qs";
9
9
 
10
10
  import {
11
- useNavigation,
12
- useRouterType,
13
- useGo,
14
- useParsed,
15
- useNotification,
16
- useRouterContext,
11
+ useNavigation,
12
+ useRouterType,
13
+ useGo,
14
+ useParsed,
15
+ useNotification,
16
+ useRouterContext,
17
17
  } from "@hooks";
18
18
  import { useAuthBindingsContext, useLegacyAuthContext } from "@contexts/auth";
19
19
  import { SuccessNotificationResponse } from "src/interfaces/bindings/auth";
20
20
  import {
21
- AuthActionResponse,
22
- RefineError,
23
- OpenNotificationParams,
24
- TUpdatePasswordData,
25
- UpdatePasswordFormTypes,
21
+ AuthActionResponse,
22
+ RefineError,
23
+ OpenNotificationParams,
24
+ TUpdatePasswordData,
25
+ UpdatePasswordFormTypes,
26
26
  } from "../../../interfaces";
27
27
  import { useKeys } from "@hooks/useKeys";
28
28
 
29
29
  export type UseUpdatePasswordLegacyProps<
30
- TVariables extends UpdatePasswordFormTypes,
30
+ TVariables extends UpdatePasswordFormTypes,
31
31
  > = {
32
- v3LegacyAuthProviderCompatible: true;
33
- mutationOptions?: Omit<
34
- UseMutationOptions<
35
- TUpdatePasswordData,
36
- Error | RefineError,
37
- TVariables,
38
- unknown
39
- >,
40
- "mutationFn" | "onError" | "onSuccess"
41
- >;
32
+ v3LegacyAuthProviderCompatible: true;
33
+ mutationOptions?: Omit<
34
+ UseMutationOptions<
35
+ TUpdatePasswordData,
36
+ Error | RefineError,
37
+ TVariables,
38
+ unknown
39
+ >,
40
+ "mutationFn" | "onError" | "onSuccess"
41
+ >;
42
42
  };
43
43
 
44
44
  export type UseUpdatePasswordProps<TVariables extends UpdatePasswordFormTypes> =
45
- {
46
- v3LegacyAuthProviderCompatible?: false;
47
- mutationOptions?: Omit<
48
- UseMutationOptions<
49
- AuthActionResponse,
50
- Error | RefineError,
51
- TVariables,
52
- unknown
53
- >,
54
- "mutationFn"
55
- >;
56
- };
45
+ {
46
+ v3LegacyAuthProviderCompatible?: false;
47
+ mutationOptions?: Omit<
48
+ UseMutationOptions<
49
+ AuthActionResponse,
50
+ Error | RefineError,
51
+ TVariables,
52
+ unknown
53
+ >,
54
+ "mutationFn"
55
+ >;
56
+ };
57
57
 
58
58
  export type UseUpdatePasswordCombinedProps<
59
- TVariables extends UpdatePasswordFormTypes,
59
+ TVariables extends UpdatePasswordFormTypes,
60
60
  > = {
61
- v3LegacyAuthProviderCompatible: boolean;
62
- mutationOptions?: Omit<
63
- UseMutationOptions<
64
- AuthActionResponse | TUpdatePasswordData,
65
- Error | RefineError,
66
- TVariables,
67
- unknown
68
- >,
69
- "mutationFn"
70
- >;
61
+ v3LegacyAuthProviderCompatible: boolean;
62
+ mutationOptions?: Omit<
63
+ UseMutationOptions<
64
+ AuthActionResponse | TUpdatePasswordData,
65
+ Error | RefineError,
66
+ TVariables,
67
+ unknown
68
+ >,
69
+ "mutationFn"
70
+ >;
71
71
  };
72
72
 
73
73
  export type UseUpdatePasswordLegacyReturnType<
74
- TVariables extends UpdatePasswordFormTypes,
74
+ TVariables extends UpdatePasswordFormTypes,
75
75
  > = UseMutationResult<
76
- TUpdatePasswordData,
77
- Error | RefineError,
78
- TVariables,
79
- unknown
76
+ TUpdatePasswordData,
77
+ Error | RefineError,
78
+ TVariables,
79
+ unknown
80
80
  >;
81
81
 
82
82
  export type UseUpdatePasswordReturnType<
83
- TVariables extends UpdatePasswordFormTypes,
83
+ TVariables extends UpdatePasswordFormTypes,
84
84
  > = UseMutationResult<
85
- AuthActionResponse,
86
- Error | RefineError,
87
- TVariables,
88
- unknown
85
+ AuthActionResponse,
86
+ Error | RefineError,
87
+ TVariables,
88
+ unknown
89
89
  >;
90
90
 
91
91
  export type UseUpdatePasswordCombinedReturnType<
92
- TVariables extends UpdatePasswordFormTypes,
92
+ TVariables extends UpdatePasswordFormTypes,
93
93
  > = UseMutationResult<
94
- AuthActionResponse | TUpdatePasswordData,
95
- Error | RefineError,
96
- TVariables,
97
- unknown
94
+ AuthActionResponse | TUpdatePasswordData,
95
+ Error | RefineError,
96
+ TVariables,
97
+ unknown
98
98
  >;
99
99
 
100
100
  export function useUpdatePassword<TVariables extends UpdatePasswordFormTypes>(
101
- props: UseUpdatePasswordLegacyProps<TVariables>,
101
+ props: UseUpdatePasswordLegacyProps<TVariables>,
102
102
  ): UseUpdatePasswordLegacyReturnType<TVariables>;
103
103
 
104
104
  export function useUpdatePassword<TVariables extends UpdatePasswordFormTypes>(
105
- props?: UseUpdatePasswordProps<TVariables>,
105
+ props?: UseUpdatePasswordProps<TVariables>,
106
106
  ): UseUpdatePasswordReturnType<TVariables>;
107
107
 
108
108
  export function useUpdatePassword<TVariables extends UpdatePasswordFormTypes>(
109
- props?: UseUpdatePasswordCombinedProps<TVariables>,
109
+ props?: UseUpdatePasswordCombinedProps<TVariables>,
110
110
  ): UseUpdatePasswordCombinedReturnType<TVariables>;
111
111
 
112
112
  /**
@@ -119,152 +119,141 @@ export function useUpdatePassword<TVariables extends UpdatePasswordFormTypes>(
119
119
  *
120
120
  */
121
121
  export function useUpdatePassword<
122
- TVariables extends UpdatePasswordFormTypes = {},
122
+ TVariables extends UpdatePasswordFormTypes = {},
123
123
  >({
124
- v3LegacyAuthProviderCompatible,
125
- mutationOptions,
124
+ v3LegacyAuthProviderCompatible,
125
+ mutationOptions,
126
126
  }:
127
- | UseUpdatePasswordProps<TVariables>
128
- | UseUpdatePasswordLegacyProps<TVariables> = {}):
129
- | UseUpdatePasswordReturnType<TVariables>
130
- | UseUpdatePasswordLegacyReturnType<TVariables> {
131
- const routerType = useRouterType();
127
+ | UseUpdatePasswordProps<TVariables>
128
+ | UseUpdatePasswordLegacyProps<TVariables> = {}):
129
+ | UseUpdatePasswordReturnType<TVariables>
130
+ | UseUpdatePasswordLegacyReturnType<TVariables> {
131
+ const routerType = useRouterType();
132
132
 
133
- const go = useGo();
134
- const { replace } = useNavigation();
135
- const { updatePassword: legacyUpdatePasswordFromContext } =
136
- useLegacyAuthContext();
137
- const { updatePassword: updatePasswordFromContext } =
138
- useAuthBindingsContext();
139
- const { close, open } = useNotification();
133
+ const go = useGo();
134
+ const { replace } = useNavigation();
135
+ const { updatePassword: legacyUpdatePasswordFromContext } =
136
+ useLegacyAuthContext();
137
+ const { updatePassword: updatePasswordFromContext } =
138
+ useAuthBindingsContext();
139
+ const { close, open } = useNotification();
140
140
 
141
- const { keys, preferLegacyKeys } = useKeys();
141
+ const { keys, preferLegacyKeys } = useKeys();
142
142
 
143
- const parsed = useParsed();
144
- const { useLocation } = useRouterContext();
145
- const { search } = useLocation();
143
+ const parsed = useParsed();
144
+ const { useLocation } = useRouterContext();
145
+ const { search } = useLocation();
146
146
 
147
- const params = React.useMemo(() => {
148
- if (routerType === "legacy") {
149
- const queryStrings = qs.parse(search, {
150
- ignoreQueryPrefix: true,
151
- });
152
- return queryStrings ?? {};
153
- } else {
154
- return parsed.params ?? {};
155
- }
156
- }, [search, parsed, routerType]);
147
+ const params = React.useMemo(() => {
148
+ if (routerType === "legacy") {
149
+ const queryStrings = qs.parse(search, {
150
+ ignoreQueryPrefix: true,
151
+ });
152
+ return queryStrings ?? {};
153
+ }
154
+ return parsed.params ?? {};
155
+ }, [search, parsed, routerType]);
157
156
 
158
- const mutation = useMutation<
159
- AuthActionResponse,
160
- Error,
161
- TVariables,
162
- unknown
163
- >({
164
- mutationKey: keys()
165
- .auth()
166
- .action("updatePassword")
167
- .get(preferLegacyKeys),
168
- mutationFn: async (variables) => {
169
- return updatePasswordFromContext?.({
170
- ...params,
171
- ...variables,
172
- }) as Promise<AuthActionResponse>;
173
- },
174
- onSuccess: ({ success, redirectTo, error, successNotification }) => {
175
- if (success) {
176
- close?.("update-password-error");
157
+ const mutation = useMutation<AuthActionResponse, Error, TVariables, unknown>({
158
+ mutationKey: keys().auth().action("updatePassword").get(preferLegacyKeys),
159
+ mutationFn: async (variables) => {
160
+ return updatePasswordFromContext?.({
161
+ ...params,
162
+ ...variables,
163
+ }) as Promise<AuthActionResponse>;
164
+ },
165
+ onSuccess: ({ success, redirectTo, error, successNotification }) => {
166
+ if (success) {
167
+ close?.("update-password-error");
177
168
 
178
- if (successNotification) {
179
- open?.(buildSuccessNotification(successNotification));
180
- }
181
- }
169
+ if (successNotification) {
170
+ open?.(buildSuccessNotification(successNotification));
171
+ }
172
+ }
182
173
 
183
- if (error || !success) {
184
- open?.(buildNotification(error));
185
- }
174
+ if (error || !success) {
175
+ open?.(buildNotification(error));
176
+ }
186
177
 
187
- if (redirectTo) {
188
- if (routerType === "legacy") {
189
- replace(redirectTo);
190
- } else {
191
- go({ to: redirectTo, type: "replace" });
192
- }
193
- }
194
- },
195
- onError: (error: any) => {
196
- open?.(buildNotification(error));
197
- },
198
- ...(v3LegacyAuthProviderCompatible === true ? {} : mutationOptions),
199
- meta: {
200
- ...(v3LegacyAuthProviderCompatible === true
201
- ? {}
202
- : mutationOptions?.meta),
203
- ...getXRay("useUpdatePassword", preferLegacyKeys),
204
- },
205
- });
178
+ if (redirectTo) {
179
+ if (routerType === "legacy") {
180
+ replace(redirectTo);
181
+ } else {
182
+ go({ to: redirectTo, type: "replace" });
183
+ }
184
+ }
185
+ },
186
+ onError: (error: any) => {
187
+ open?.(buildNotification(error));
188
+ },
189
+ ...(v3LegacyAuthProviderCompatible === true ? {} : mutationOptions),
190
+ meta: {
191
+ ...(v3LegacyAuthProviderCompatible === true ? {} : mutationOptions?.meta),
192
+ ...getXRay("useUpdatePassword", preferLegacyKeys),
193
+ },
194
+ });
206
195
 
207
- const v3LegacyAuthProviderCompatibleMutation = useMutation<
208
- TUpdatePasswordData,
209
- Error | RefineError,
210
- TVariables,
211
- unknown
212
- >({
213
- mutationKey: [
214
- ...keys().auth().action("updatePassword").get(preferLegacyKeys),
215
- "v3LegacyAuthProviderCompatible",
216
- ],
217
- mutationFn: async (variables) => {
218
- return legacyUpdatePasswordFromContext?.({
219
- ...params,
220
- ...variables,
221
- });
222
- },
223
- onSuccess: (redirectPathFromAuth) => {
224
- if (redirectPathFromAuth !== false) {
225
- if (redirectPathFromAuth) {
226
- if (routerType === "legacy") {
227
- replace(redirectPathFromAuth);
228
- } else {
229
- go({ to: redirectPathFromAuth, type: "replace" });
230
- }
231
- }
232
- }
233
- close?.("update-password-error");
234
- },
235
- onError: (error: any) => {
236
- open?.(buildNotification(error));
237
- },
238
- ...(v3LegacyAuthProviderCompatible ? mutationOptions : {}),
239
- meta: {
240
- ...(v3LegacyAuthProviderCompatible ? mutationOptions?.meta : {}),
241
- ...getXRay("useUpdatePassword", preferLegacyKeys),
242
- },
243
- });
196
+ const v3LegacyAuthProviderCompatibleMutation = useMutation<
197
+ TUpdatePasswordData,
198
+ Error | RefineError,
199
+ TVariables,
200
+ unknown
201
+ >({
202
+ mutationKey: [
203
+ ...keys().auth().action("updatePassword").get(preferLegacyKeys),
204
+ "v3LegacyAuthProviderCompatible",
205
+ ],
206
+ mutationFn: async (variables) => {
207
+ return legacyUpdatePasswordFromContext?.({
208
+ ...params,
209
+ ...variables,
210
+ });
211
+ },
212
+ onSuccess: (redirectPathFromAuth) => {
213
+ if (redirectPathFromAuth !== false) {
214
+ if (redirectPathFromAuth) {
215
+ if (routerType === "legacy") {
216
+ replace(redirectPathFromAuth);
217
+ } else {
218
+ go({ to: redirectPathFromAuth, type: "replace" });
219
+ }
220
+ }
221
+ }
222
+ close?.("update-password-error");
223
+ },
224
+ onError: (error: any) => {
225
+ open?.(buildNotification(error));
226
+ },
227
+ ...(v3LegacyAuthProviderCompatible ? mutationOptions : {}),
228
+ meta: {
229
+ ...(v3LegacyAuthProviderCompatible ? mutationOptions?.meta : {}),
230
+ ...getXRay("useUpdatePassword", preferLegacyKeys),
231
+ },
232
+ });
244
233
 
245
- return v3LegacyAuthProviderCompatible
246
- ? v3LegacyAuthProviderCompatibleMutation
247
- : mutation;
234
+ return v3LegacyAuthProviderCompatible
235
+ ? v3LegacyAuthProviderCompatibleMutation
236
+ : mutation;
248
237
  }
249
238
 
250
239
  const buildNotification = (
251
- error?: Error | RefineError,
240
+ error?: Error | RefineError,
252
241
  ): OpenNotificationParams => {
253
- return {
254
- message: error?.name || "Update Password Error",
255
- description: error?.message || "Error while updating password",
256
- key: "update-password-error",
257
- type: "error",
258
- };
242
+ return {
243
+ message: error?.name || "Update Password Error",
244
+ description: error?.message || "Error while updating password",
245
+ key: "update-password-error",
246
+ type: "error",
247
+ };
259
248
  };
260
249
 
261
250
  const buildSuccessNotification = (
262
- successNotification: SuccessNotificationResponse,
251
+ successNotification: SuccessNotificationResponse,
263
252
  ): OpenNotificationParams => {
264
- return {
265
- message: successNotification.message,
266
- description: successNotification.description,
267
- key: "update-password-success",
268
- type: "success",
269
- };
253
+ return {
254
+ message: successNotification.message,
255
+ description: successNotification.description,
256
+ key: "update-password-success",
257
+ type: "success",
258
+ };
270
259
  };
@@ -13,123 +13,116 @@ import { composeRoute } from "@definitions/helpers/router/compose-route";
13
13
  import { useParsed } from "@hooks/router/use-parsed";
14
14
 
15
15
  export type BreadcrumbsType = {
16
- label: string;
17
- href?: string;
18
- icon?: React.ReactNode;
16
+ label: string;
17
+ href?: string;
18
+ icon?: React.ReactNode;
19
19
  };
20
20
 
21
21
  type UseBreadcrumbReturnType = {
22
- breadcrumbs: BreadcrumbsType[];
22
+ breadcrumbs: BreadcrumbsType[];
23
23
  };
24
24
 
25
25
  type UseBreadcrumbProps = {
26
- /**
27
- * Additional params to be used in the route generation process.
28
- */
29
- meta?: Record<string, string | number>;
26
+ /**
27
+ * Additional params to be used in the route generation process.
28
+ */
29
+ meta?: Record<string, string | number>;
30
30
  };
31
31
 
32
32
  export const useBreadcrumb = ({
33
- meta: metaFromProps = {},
33
+ meta: metaFromProps = {},
34
34
  }: UseBreadcrumbProps = {}): UseBreadcrumbReturnType => {
35
- const routerType = useRouterType();
36
- const { i18nProvider } = useContext(TranslationContext);
37
- const parsed = useParsed();
38
- const translate = useTranslate();
39
- const { resources, resource, action } = useResource();
40
- const {
41
- options: { textTransformers },
42
- } = useRefineContext();
43
-
44
- const breadcrumbs: BreadcrumbsType[] = [];
45
-
46
- if (!resource?.name) {
47
- return { breadcrumbs };
35
+ const routerType = useRouterType();
36
+ const { i18nProvider } = useContext(TranslationContext);
37
+ const parsed = useParsed();
38
+ const translate = useTranslate();
39
+ const { resources, resource, action } = useResource();
40
+ const {
41
+ options: { textTransformers },
42
+ } = useRefineContext();
43
+
44
+ const breadcrumbs: BreadcrumbsType[] = [];
45
+
46
+ if (!resource?.name) {
47
+ return { breadcrumbs };
48
+ }
49
+
50
+ const addBreadcrumb = (parentName: string | IResourceItem) => {
51
+ const parentResource =
52
+ typeof parentName === "string"
53
+ ? pickResource(parentName, resources, routerType === "legacy") ?? {
54
+ name: parentName,
55
+ }
56
+ : parentName;
57
+
58
+ if (parentResource) {
59
+ const grandParentName = pickNotDeprecated(
60
+ parentResource?.meta?.parent,
61
+ parentResource?.parentName,
62
+ );
63
+ if (grandParentName) {
64
+ addBreadcrumb(grandParentName);
65
+ }
66
+ const listActionOfResource = getActionRoutesFromResource(
67
+ parentResource,
68
+ resources,
69
+ routerType === "legacy",
70
+ ).find((r) => r.action === "list");
71
+
72
+ const hrefRaw = listActionOfResource?.resource?.list
73
+ ? listActionOfResource?.route
74
+ : undefined;
75
+
76
+ const href = hrefRaw
77
+ ? routerType === "legacy"
78
+ ? hrefRaw
79
+ : composeRoute(hrefRaw, parentResource?.meta, parsed, metaFromProps)
80
+ : undefined;
81
+
82
+ breadcrumbs.push({
83
+ label:
84
+ pickNotDeprecated(
85
+ parentResource.meta?.label,
86
+ parentResource.options?.label,
87
+ ) ??
88
+ translate(
89
+ `${parentResource.name}.${parentResource.name}`,
90
+ textTransformers.humanize(parentResource.name),
91
+ ),
92
+ href: href,
93
+ icon: pickNotDeprecated(
94
+ parentResource.meta?.icon,
95
+ parentResource.options?.icon,
96
+ parentResource.icon,
97
+ ),
98
+ });
48
99
  }
49
-
50
- const addBreadcrumb = (parentName: string | IResourceItem) => {
51
- const parentResource =
52
- typeof parentName === "string"
53
- ? pickResource(
54
- parentName,
55
- resources,
56
- routerType === "legacy",
57
- ) ?? { name: parentName }
58
- : parentName;
59
-
60
- if (parentResource) {
61
- const grandParentName = pickNotDeprecated(
62
- parentResource?.meta?.parent,
63
- parentResource?.parentName,
64
- );
65
- if (grandParentName) {
66
- addBreadcrumb(grandParentName);
67
- }
68
- const listActionOfResource = getActionRoutesFromResource(
69
- parentResource,
70
- resources,
71
- routerType === "legacy",
72
- ).find((r) => r.action === "list");
73
-
74
- const hrefRaw = listActionOfResource?.resource?.list
75
- ? listActionOfResource?.route
76
- : undefined;
77
-
78
- const href = hrefRaw
79
- ? routerType === "legacy"
80
- ? hrefRaw
81
- : composeRoute(
82
- hrefRaw,
83
- parentResource?.meta,
84
- parsed,
85
- metaFromProps,
86
- )
87
- : undefined;
88
-
89
- breadcrumbs.push({
90
- label:
91
- pickNotDeprecated(
92
- parentResource.meta?.label,
93
- parentResource.options?.label,
94
- ) ??
95
- translate(
96
- `${parentResource.name}.${parentResource.name}`,
97
- textTransformers.humanize(parentResource.name),
98
- ),
99
- href: href,
100
- icon: pickNotDeprecated(
101
- parentResource.meta?.icon,
102
- parentResource.options?.icon,
103
- parentResource.icon,
104
- ),
105
- });
106
- }
107
- };
108
-
109
- addBreadcrumb(resource);
110
-
111
- if (action && action !== "list") {
112
- const key = `actions.${action}`;
113
- const actionLabel = translate(key);
114
- if (typeof i18nProvider !== "undefined" && actionLabel === key) {
115
- warnOnce(
116
- true,
117
- `[useBreadcrumb]: Breadcrumb missing translate key for the "${action}" action. Please add "actions.${action}" key to your translation file.\nFor more information, see https://refine.dev/docs/api-reference/core/hooks/useBreadcrumb/#i18n-support`,
118
- );
119
- breadcrumbs.push({
120
- label: translate(
121
- `buttons.${action}`,
122
- textTransformers.humanize(action),
123
- ),
124
- });
125
- } else {
126
- breadcrumbs.push({
127
- label: translate(key, textTransformers.humanize(action)),
128
- });
129
- }
100
+ };
101
+
102
+ addBreadcrumb(resource);
103
+
104
+ if (action && action !== "list") {
105
+ const key = `actions.${action}`;
106
+ const actionLabel = translate(key);
107
+ if (typeof i18nProvider !== "undefined" && actionLabel === key) {
108
+ warnOnce(
109
+ true,
110
+ `[useBreadcrumb]: Breadcrumb missing translate key for the "${action}" action. Please add "actions.${action}" key to your translation file.\nFor more information, see https://refine.dev/docs/api-reference/core/hooks/useBreadcrumb/#i18n-support`,
111
+ );
112
+ breadcrumbs.push({
113
+ label: translate(
114
+ `buttons.${action}`,
115
+ textTransformers.humanize(action),
116
+ ),
117
+ });
118
+ } else {
119
+ breadcrumbs.push({
120
+ label: translate(key, textTransformers.humanize(action)),
121
+ });
130
122
  }
123
+ }
131
124
 
132
- return {
133
- breadcrumbs,
134
- };
125
+ return {
126
+ breadcrumbs,
127
+ };
135
128
  };