@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
@@ -7,8 +7,8 @@ import { Telemetry } from "@components/telemetry";
7
7
  import { AccessControlContextProvider } from "@contexts/accessControl";
8
8
  import { AuditLogContextProvider } from "@contexts/auditLog";
9
9
  import {
10
- AuthBindingsContextProvider,
11
- LegacyAuthContextProvider,
10
+ AuthBindingsContextProvider,
11
+ LegacyAuthContextProvider,
12
12
  } from "@contexts/auth";
13
13
  import { DataContextProvider } from "@contexts/data";
14
14
  import { LegacyRouterContextProvider } from "@contexts/legacy-router";
@@ -27,155 +27,155 @@ import { RouterPickerProvider } from "@contexts/router-picker";
27
27
  import { RouterBindingsProvider } from "../../../contexts/router";
28
28
  import { useRouterMisuseWarning } from "../../../hooks/router/use-router-misuse-warning/index";
29
29
  import {
30
- AccessControlProvider,
31
- AuditLogProvider,
32
- AuthProvider,
33
- DashboardPageProps,
34
- I18nProvider,
35
- IDataContextProvider,
36
- IDataMultipleContextProvider,
37
- ILiveContext,
38
- INotificationContext,
39
- IRefineOptions,
40
- IRouterProvider,
41
- LayoutProps,
42
- LegacyAuthProvider,
43
- LiveModeProps,
44
- NotificationProvider,
45
- TitleProps,
30
+ AccessControlProvider,
31
+ AuditLogProvider,
32
+ AuthProvider,
33
+ DashboardPageProps,
34
+ I18nProvider,
35
+ IDataContextProvider,
36
+ IDataMultipleContextProvider,
37
+ ILiveContext,
38
+ INotificationContext,
39
+ IRefineOptions,
40
+ IRouterProvider,
41
+ LayoutProps,
42
+ LegacyAuthProvider,
43
+ LiveModeProps,
44
+ NotificationProvider,
45
+ TitleProps,
46
46
  } from "../../../interfaces";
47
47
  import { ResourceProps } from "../../../interfaces/bindings/resource";
48
48
 
49
49
  export interface RefineProps {
50
- children?: React.ReactNode;
51
- /**
52
- * `resources` is the predefined interaction points for a refine app. A resource represents an entity in an endpoint in the API.
53
- * While this is not a required property, it is used in resource detection and creation of routes for the app.
54
- * @type [`ResourceProps[]`](https://refine.dev/docs/api-reference/core/components/refine-config/#resources)
55
- */
56
- resources?: ResourceProps[];
57
- /**
58
- * **refine** needs some router functions to create resource pages, handle navigation, etc. This provider allows you to use the router library you want
59
- * @type [`IRouterProvider`](https://refine.dev/docs/api-reference/core/providers/router-provider/)
60
- * @deprecated This property is deprecated and was the legacy way of routing. Please use `routerProvider` with new router bindings instead.
61
- */
62
- legacyRouterProvider?: IRouterProvider;
63
- /**
64
- * Router bindings for **refine**. A simple interface for **refine** to interact with your router in a flexible way.
65
- * @type [`RouterBindings`](https://refine.dev/docs/api-reference/core/bindings/router/)
66
- */
67
- routerProvider?: RouterBindings;
68
- /**
69
- * A `dataProvider` is the place where a refine app communicates with an API. Data providers also act as adapters for refine, making it possible for it to consume different API's and data services.
70
- * @type [`IDataContextProvider` | `IDataMultipleContextProvider`](https://refine.dev/docs/api-reference/core/providers/data-provider/)
71
- */
72
- dataProvider?: IDataContextProvider | IDataMultipleContextProvider;
73
- /**
74
- * `authProvider` handles authentication logic like login, logout flow and checking user credentials. It is an object with methods that refine uses when necessary.
75
- * @type [`AuthProvider`](https://refine.dev/docs/api-reference/core/providers/auth-provider/)
76
- */
77
- authProvider?: AuthProvider;
78
- /**
79
- * `legacyAuthProvider` handles authentication logic like login, logout flow and checking user credentials. It is an object with methods that refine uses when necessary.
80
- * @type [`AuthProvider`](https://refine.dev/docs/api-reference/core/providers/auth-provider/)
81
- * @deprecated `legacyAuthProvider` is deprecated with refine@4, use `authProvider` instead.
82
- */
83
- legacyAuthProvider?: LegacyAuthProvider;
84
- /**
85
- * **refine** lets you add Realtime support to your app via `liveProvider`. It can be used to update and show data in Realtime throughout your app.
86
- * @type [`ILiveContext`](https://refine.dev/docs/api-reference/core/providers/live-provider/)
87
- */
88
- liveProvider?: ILiveContext;
89
- /**
90
- * `notificationProvider` handles notification logics. It is an object with methods that refine uses when necessary.
91
- * @type [`NotificationProvider` | `(() => NotificationProvider)`](https://refine.dev/docs/api-reference/core/providers/notification-provider/)
92
- */
93
- notificationProvider?: NotificationProvider | (() => NotificationProvider);
94
- /**
95
- * `accessControlProvider` is the entry point for implementing access control for refine apps.
96
- * @type [`AccessControlProvider`](https://refine.dev/docs/api-reference/core/providers/accessControl-provider/)
97
- */
98
- accessControlProvider?: AccessControlProvider;
99
- /**
100
- * **refine** allows you to track changes in your data and keep track of who made the changes.
101
- * @type [`AuditLogProvider`](https://refine.dev/docs/api-reference/core/providers/audit-log-provider#overview)
102
- */
103
- auditLogProvider?: AuditLogProvider;
104
- /**
105
- * `i18nProvider` property lets you add i18n support to your app. Making you able to use any i18n framework.
106
- * @type [`i18nProvider`](https://refine.dev/docs/api-reference/core/providers/i18n-provider/)
107
- */
108
- i18nProvider?: I18nProvider;
109
- /**
110
- * A custom error component.
111
- * @type [`ReactNode`](https://refine.dev/docs/api-reference/core/components/refine-config/#catchall)
112
- * @deprecated Please use the `catchAll` element in your routes instead.
113
- */
114
- catchAll?: React.ReactNode;
115
- /**
116
- * Custom login component can be passed to the `LoginPage` property.
117
- * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#loginpage)
118
- * @deprecated Please use the `LoginPage` component in your routes instead.
119
- */
120
- LoginPage?: React.FC;
121
- /**
122
- * A custom dashboard page can be passed to the `DashboardPage` prop which is accessible on root route.
123
- * @type [`React.FC<DashboardPageProps>`](https://refine.dev/docs/api-reference/core/components/refine-config/#dashboardpage)
124
- * @deprecated Please use the `DashboardPage` component in your routes instead.
125
- */
126
- DashboardPage?: React.FC<DashboardPageProps>;
127
- /**
128
- * Custom ready page component can be set by passing to `ReadyPage` property.
129
- * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#readypage)
130
- * @deprecated This component is only used with the legacy router and will be removed in the future.
131
- */
132
- ReadyPage?: React.FC;
133
- /**
134
- * Default layout can be customized by passing the `Layout` property.
135
- * @type [`React.FC<LayoutProps>`](https://refine.dev/docs/api-reference/core/components/refine-config/#layout)
136
- * @deprecated Please use the `Layout` component as a children instead of a prop.
137
- */
138
- Layout?: React.FC<LayoutProps>;
139
- /**
140
- * The default sidebar can be customized by using refine hooks and passing custom components to `Sider` property.
141
- * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#sider)
142
- * @deprecated Please pass the `Sider` component to your `Layout` component.
143
- */
144
- Sider?: React.FC;
145
- /**
146
- * The default app header can be customized by passing the `Header` property.
147
- * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#header)
148
- * @deprecated Please pass the `Header` component to your `Layout` component.
149
- */
150
- Header?: React.FC;
151
- /**
152
- *The default app footer can be customized by passing the `Footer` property.
153
- * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#footer)
154
- * @deprecated Please pass the `Footer` component to your `Layout` component.
155
- */
156
- Footer?: React.FC;
157
- /**
158
- * The component wanted to be placed out of app layout structure can be set by passing to `OffLayoutArea` prop.
159
- * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#offlayoutarea)
160
- * @deprecated Please use your `OffLayoutArea` component as a children instead of a prop.
161
- */
162
- OffLayoutArea?: React.FC;
163
- /**
164
- * TThe app title can be set by passing the `Title` property.
165
- * @type [`React.FC<TitleProps>`](https://refine.dev/docs/api-reference/core/components/refine-config/#title)
166
- * @deprecated Please pass the `Title` component to your `Layout` component.
167
- */
168
- Title?: React.FC<TitleProps>;
169
- /**
170
- * Callback to handle all live events.
171
- * @type [`(event: LiveEvent) => void`](https://refine.dev/docs/api-reference/core/providers/live-provider/#onliveevent)
172
- */
173
- onLiveEvent?: LiveModeProps["onLiveEvent"];
174
- /**
175
- * `options` is used to configure the app.
176
- * @type [`IRefineOptions`](https://refine.dev/docs/api-reference/core/components/refine-config/#options)
177
- * */
178
- options?: IRefineOptions;
50
+ children?: React.ReactNode;
51
+ /**
52
+ * `resources` is the predefined interaction points for a refine app. A resource represents an entity in an endpoint in the API.
53
+ * While this is not a required property, it is used in resource detection and creation of routes for the app.
54
+ * @type [`ResourceProps[]`](https://refine.dev/docs/api-reference/core/components/refine-config/#resources)
55
+ */
56
+ resources?: ResourceProps[];
57
+ /**
58
+ * **refine** needs some router functions to create resource pages, handle navigation, etc. This provider allows you to use the router library you want
59
+ * @type [`IRouterProvider`](https://refine.dev/docs/api-reference/core/providers/router-provider/)
60
+ * @deprecated This property is deprecated and was the legacy way of routing. Please use `routerProvider` with new router bindings instead.
61
+ */
62
+ legacyRouterProvider?: IRouterProvider;
63
+ /**
64
+ * Router bindings for **refine**. A simple interface for **refine** to interact with your router in a flexible way.
65
+ * @type [`RouterBindings`](https://refine.dev/docs/api-reference/core/bindings/router/)
66
+ */
67
+ routerProvider?: RouterBindings;
68
+ /**
69
+ * A `dataProvider` is the place where a refine app communicates with an API. Data providers also act as adapters for refine, making it possible for it to consume different API's and data services.
70
+ * @type [`IDataContextProvider` | `IDataMultipleContextProvider`](https://refine.dev/docs/api-reference/core/providers/data-provider/)
71
+ */
72
+ dataProvider?: IDataContextProvider | IDataMultipleContextProvider;
73
+ /**
74
+ * `authProvider` handles authentication logic like login, logout flow and checking user credentials. It is an object with methods that refine uses when necessary.
75
+ * @type [`AuthProvider`](https://refine.dev/docs/api-reference/core/providers/auth-provider/)
76
+ */
77
+ authProvider?: AuthProvider;
78
+ /**
79
+ * `legacyAuthProvider` handles authentication logic like login, logout flow and checking user credentials. It is an object with methods that refine uses when necessary.
80
+ * @type [`AuthProvider`](https://refine.dev/docs/api-reference/core/providers/auth-provider/)
81
+ * @deprecated `legacyAuthProvider` is deprecated with refine@4, use `authProvider` instead.
82
+ */
83
+ legacyAuthProvider?: LegacyAuthProvider;
84
+ /**
85
+ * **refine** lets you add Realtime support to your app via `liveProvider`. It can be used to update and show data in Realtime throughout your app.
86
+ * @type [`ILiveContext`](https://refine.dev/docs/api-reference/core/providers/live-provider/)
87
+ */
88
+ liveProvider?: ILiveContext;
89
+ /**
90
+ * `notificationProvider` handles notification logics. It is an object with methods that refine uses when necessary.
91
+ * @type [`NotificationProvider` | `(() => NotificationProvider)`](https://refine.dev/docs/api-reference/core/providers/notification-provider/)
92
+ */
93
+ notificationProvider?: NotificationProvider | (() => NotificationProvider);
94
+ /**
95
+ * `accessControlProvider` is the entry point for implementing access control for refine apps.
96
+ * @type [`AccessControlProvider`](https://refine.dev/docs/api-reference/core/providers/accessControl-provider/)
97
+ */
98
+ accessControlProvider?: AccessControlProvider;
99
+ /**
100
+ * **refine** allows you to track changes in your data and keep track of who made the changes.
101
+ * @type [`AuditLogProvider`](https://refine.dev/docs/api-reference/core/providers/audit-log-provider#overview)
102
+ */
103
+ auditLogProvider?: AuditLogProvider;
104
+ /**
105
+ * `i18nProvider` property lets you add i18n support to your app. Making you able to use any i18n framework.
106
+ * @type [`i18nProvider`](https://refine.dev/docs/api-reference/core/providers/i18n-provider/)
107
+ */
108
+ i18nProvider?: I18nProvider;
109
+ /**
110
+ * A custom error component.
111
+ * @type [`ReactNode`](https://refine.dev/docs/api-reference/core/components/refine-config/#catchall)
112
+ * @deprecated Please use the `catchAll` element in your routes instead.
113
+ */
114
+ catchAll?: React.ReactNode;
115
+ /**
116
+ * Custom login component can be passed to the `LoginPage` property.
117
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#loginpage)
118
+ * @deprecated Please use the `LoginPage` component in your routes instead.
119
+ */
120
+ LoginPage?: React.FC;
121
+ /**
122
+ * A custom dashboard page can be passed to the `DashboardPage` prop which is accessible on root route.
123
+ * @type [`React.FC<DashboardPageProps>`](https://refine.dev/docs/api-reference/core/components/refine-config/#dashboardpage)
124
+ * @deprecated Please use the `DashboardPage` component in your routes instead.
125
+ */
126
+ DashboardPage?: React.FC<DashboardPageProps>;
127
+ /**
128
+ * Custom ready page component can be set by passing to `ReadyPage` property.
129
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#readypage)
130
+ * @deprecated This component is only used with the legacy router and will be removed in the future.
131
+ */
132
+ ReadyPage?: React.FC;
133
+ /**
134
+ * Default layout can be customized by passing the `Layout` property.
135
+ * @type [`React.FC<LayoutProps>`](https://refine.dev/docs/api-reference/core/components/refine-config/#layout)
136
+ * @deprecated Please use the `Layout` component as a children instead of a prop.
137
+ */
138
+ Layout?: React.FC<LayoutProps>;
139
+ /**
140
+ * The default sidebar can be customized by using refine hooks and passing custom components to `Sider` property.
141
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#sider)
142
+ * @deprecated Please pass the `Sider` component to your `Layout` component.
143
+ */
144
+ Sider?: React.FC;
145
+ /**
146
+ * The default app header can be customized by passing the `Header` property.
147
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#header)
148
+ * @deprecated Please pass the `Header` component to your `Layout` component.
149
+ */
150
+ Header?: React.FC;
151
+ /**
152
+ *The default app footer can be customized by passing the `Footer` property.
153
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#footer)
154
+ * @deprecated Please pass the `Footer` component to your `Layout` component.
155
+ */
156
+ Footer?: React.FC;
157
+ /**
158
+ * The component wanted to be placed out of app layout structure can be set by passing to `OffLayoutArea` prop.
159
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#offlayoutarea)
160
+ * @deprecated Please use your `OffLayoutArea` component as a children instead of a prop.
161
+ */
162
+ OffLayoutArea?: React.FC;
163
+ /**
164
+ * TThe app title can be set by passing the `Title` property.
165
+ * @type [`React.FC<TitleProps>`](https://refine.dev/docs/api-reference/core/components/refine-config/#title)
166
+ * @deprecated Please pass the `Title` component to your `Layout` component.
167
+ */
168
+ Title?: React.FC<TitleProps>;
169
+ /**
170
+ * Callback to handle all live events.
171
+ * @type [`(event: LiveEvent) => void`](https://refine.dev/docs/api-reference/core/providers/live-provider/#onliveevent)
172
+ */
173
+ onLiveEvent?: LiveModeProps["onLiveEvent"];
174
+ /**
175
+ * `options` is used to configure the app.
176
+ * @type [`IRefineOptions`](https://refine.dev/docs/api-reference/core/components/refine-config/#options)
177
+ * */
178
+ options?: IRefineOptions;
179
179
  }
180
180
 
181
181
  /**
@@ -186,222 +186,181 @@ export interface RefineProps {
186
186
  * @see {@link https://refine.dev/docs/api-reference/core/components/refine-config} for more details.
187
187
  */
188
188
  export const Refine: React.FC<RefineProps> = ({
189
- legacyAuthProvider,
190
- authProvider,
191
- dataProvider,
192
- legacyRouterProvider,
193
- routerProvider,
194
- notificationProvider,
195
- accessControlProvider,
196
- auditLogProvider,
197
- resources,
198
- DashboardPage,
199
- ReadyPage,
200
- LoginPage,
201
- catchAll,
202
- children,
203
- liveProvider,
204
- i18nProvider,
205
- Title,
206
- Layout,
207
- Sider,
208
- Header,
209
- Footer,
210
- OffLayoutArea,
211
- onLiveEvent,
212
- options,
189
+ legacyAuthProvider,
190
+ authProvider,
191
+ dataProvider,
192
+ legacyRouterProvider,
193
+ routerProvider,
194
+ notificationProvider,
195
+ accessControlProvider,
196
+ auditLogProvider,
197
+ resources,
198
+ DashboardPage,
199
+ ReadyPage,
200
+ LoginPage,
201
+ catchAll,
202
+ children,
203
+ liveProvider,
204
+ i18nProvider,
205
+ Title,
206
+ Layout,
207
+ Sider,
208
+ Header,
209
+ Footer,
210
+ OffLayoutArea,
211
+ onLiveEvent,
212
+ options,
213
213
  }) => {
214
- const {
215
- optionsWithDefaults,
216
- disableTelemetryWithDefault,
217
- reactQueryWithDefaults,
218
- } = handleRefineOptions({
219
- options,
220
- });
214
+ const {
215
+ optionsWithDefaults,
216
+ disableTelemetryWithDefault,
217
+ reactQueryWithDefaults,
218
+ } = handleRefineOptions({
219
+ options,
220
+ });
221
221
 
222
- const queryClient = useDeepMemo(() => {
223
- if (reactQueryWithDefaults.clientConfig instanceof QueryClient) {
224
- return reactQueryWithDefaults.clientConfig;
225
- }
222
+ const queryClient = useDeepMemo(() => {
223
+ if (reactQueryWithDefaults.clientConfig instanceof QueryClient) {
224
+ return reactQueryWithDefaults.clientConfig;
225
+ }
226
226
 
227
- return new QueryClient({
228
- ...reactQueryWithDefaults.clientConfig,
229
- defaultOptions: {
230
- ...reactQueryWithDefaults.clientConfig.defaultOptions,
231
- queries: {
232
- refetchOnWindowFocus: false,
233
- keepPreviousData: true,
234
- ...reactQueryWithDefaults.clientConfig.defaultOptions
235
- ?.queries,
236
- },
237
- },
238
- });
239
- }, [reactQueryWithDefaults.clientConfig]);
227
+ return new QueryClient({
228
+ ...reactQueryWithDefaults.clientConfig,
229
+ defaultOptions: {
230
+ ...reactQueryWithDefaults.clientConfig.defaultOptions,
231
+ queries: {
232
+ refetchOnWindowFocus: false,
233
+ keepPreviousData: true,
234
+ ...reactQueryWithDefaults.clientConfig.defaultOptions?.queries,
235
+ },
236
+ },
237
+ });
238
+ }, [reactQueryWithDefaults.clientConfig]);
240
239
 
241
- useQuerySubscription(queryClient);
240
+ useQuerySubscription(queryClient);
242
241
 
243
- const useNotificationProviderValues = React.useMemo(() => {
244
- return typeof notificationProvider === "function"
245
- ? notificationProvider
246
- : () => notificationProvider ?? ({} as INotificationContext);
247
- }, [notificationProvider]);
242
+ const useNotificationProviderValues = React.useMemo(() => {
243
+ return typeof notificationProvider === "function"
244
+ ? notificationProvider
245
+ : () => notificationProvider ?? ({} as INotificationContext);
246
+ }, [notificationProvider]);
248
247
 
249
- const notificationProviderContextValues = useNotificationProviderValues();
248
+ const notificationProviderContextValues = useNotificationProviderValues();
250
249
 
251
- /**
252
- * Warn our users if they are using the old way of routing in the wrong prop.
253
- */
254
- useRouterMisuseWarning(routerProvider);
255
- /** */
250
+ /**
251
+ * Warn our users if they are using the old way of routing in the wrong prop.
252
+ */
253
+ useRouterMisuseWarning(routerProvider);
254
+ /** */
256
255
 
257
- /**
258
- * `<ReadyPage />` is only used in the legacy routing and is not used in the new routing.
259
- * If `legacyRouterProvider` is provided and `routerProvider` is not, we'll check for the `resources` prop to be empty.
260
- * If `resources` is empty, then we'll render `<ReadyPage />` component.
261
- */
262
- if (
263
- legacyRouterProvider &&
264
- !routerProvider &&
265
- (resources ?? []).length === 0
266
- ) {
267
- return ReadyPage ? <ReadyPage /> : <DefaultReadyPage />;
268
- }
256
+ /**
257
+ * `<ReadyPage />` is only used in the legacy routing and is not used in the new routing.
258
+ * If `legacyRouterProvider` is provided and `routerProvider` is not, we'll check for the `resources` prop to be empty.
259
+ * If `resources` is empty, then we'll render `<ReadyPage />` component.
260
+ */
261
+ if (
262
+ legacyRouterProvider &&
263
+ !routerProvider &&
264
+ (resources ?? []).length === 0
265
+ ) {
266
+ return ReadyPage ? <ReadyPage /> : <DefaultReadyPage />;
267
+ }
269
268
 
270
- /** Router
271
- *
272
- * Handle routing from `RouterBindingsProvider` and `router` prop for the brand new way
273
- * If `router` is not provided, then we'r checking for `routerProvider` prop
274
- * If `routerProvider` is provided, then `RouterContextProvider` is used
275
- * If none of them is provided, then `RouterBindingsProvider` is used because it supports undefined router
276
- *
277
- * `RouterContextProvider` is skipped whenever possible and by this way,
278
- * we can achieve backward compability only when its provided by user
279
- *
280
- */
281
- const { RouterComponent = React.Fragment } = !routerProvider
282
- ? legacyRouterProvider ?? {}
283
- : {};
284
- /** */
269
+ /** Router
270
+ *
271
+ * Handle routing from `RouterBindingsProvider` and `router` prop for the brand new way
272
+ * If `router` is not provided, then we'r checking for `routerProvider` prop
273
+ * If `routerProvider` is provided, then `RouterContextProvider` is used
274
+ * If none of them is provided, then `RouterBindingsProvider` is used because it supports undefined router
275
+ *
276
+ * `RouterContextProvider` is skipped whenever possible and by this way,
277
+ * we can achieve backward compability only when its provided by user
278
+ *
279
+ */
280
+ const { RouterComponent = React.Fragment } = !routerProvider
281
+ ? legacyRouterProvider ?? {}
282
+ : {};
283
+ /** */
285
284
 
286
- return (
287
- <QueryClientProvider client={queryClient}>
288
- <NotificationContextProvider {...notificationProviderContextValues}>
289
- <LegacyAuthContextProvider
290
- {...(legacyAuthProvider ?? {})}
291
- isProvided={Boolean(legacyAuthProvider)}
285
+ return (
286
+ <QueryClientProvider client={queryClient}>
287
+ <NotificationContextProvider {...notificationProviderContextValues}>
288
+ <LegacyAuthContextProvider
289
+ {...(legacyAuthProvider ?? {})}
290
+ isProvided={Boolean(legacyAuthProvider)}
291
+ >
292
+ <AuthBindingsContextProvider
293
+ {...(authProvider ?? {})}
294
+ isProvided={Boolean(authProvider)}
295
+ >
296
+ <DataContextProvider {...dataProvider}>
297
+ <LiveContextProvider liveProvider={liveProvider}>
298
+ <RouterPickerProvider
299
+ value={
300
+ legacyRouterProvider && !routerProvider ? "legacy" : "new"
301
+ }
292
302
  >
293
- <AuthBindingsContextProvider
294
- {...(authProvider ?? {})}
295
- isProvided={Boolean(authProvider)}
296
- >
297
- <DataContextProvider {...dataProvider}>
298
- <LiveContextProvider liveProvider={liveProvider}>
299
- <RouterPickerProvider
300
- value={
301
- legacyRouterProvider && !routerProvider
302
- ? "legacy"
303
- : "new"
304
- }
303
+ <RouterBindingsProvider router={routerProvider}>
304
+ <LegacyRouterContextProvider {...legacyRouterProvider}>
305
+ <ResourceContextProvider resources={resources ?? []}>
306
+ <TranslationContextProvider i18nProvider={i18nProvider}>
307
+ <AccessControlContextProvider
308
+ {...(accessControlProvider ?? {})}
309
+ >
310
+ <AuditLogContextProvider
311
+ {...(auditLogProvider ?? {})}
312
+ >
313
+ <UndoableQueueContextProvider>
314
+ <RefineContextProvider
315
+ mutationMode={
316
+ optionsWithDefaults.mutationMode
317
+ }
318
+ warnWhenUnsavedChanges={
319
+ optionsWithDefaults.warnWhenUnsavedChanges
320
+ }
321
+ syncWithLocation={
322
+ optionsWithDefaults.syncWithLocation
323
+ }
324
+ Title={Title}
325
+ undoableTimeout={
326
+ optionsWithDefaults.undoableTimeout
327
+ }
328
+ catchAll={catchAll}
329
+ DashboardPage={DashboardPage}
330
+ LoginPage={LoginPage}
331
+ Layout={Layout}
332
+ Sider={Sider}
333
+ Footer={Footer}
334
+ Header={Header}
335
+ OffLayoutArea={OffLayoutArea}
336
+ hasDashboard={!!DashboardPage}
337
+ liveMode={optionsWithDefaults.liveMode}
338
+ onLiveEvent={onLiveEvent}
339
+ options={optionsWithDefaults}
305
340
  >
306
- <RouterBindingsProvider
307
- router={routerProvider}
308
- >
309
- <LegacyRouterContextProvider
310
- {...legacyRouterProvider}
311
- >
312
- <ResourceContextProvider
313
- resources={resources ?? []}
314
- >
315
- <TranslationContextProvider
316
- i18nProvider={i18nProvider}
317
- >
318
- <AccessControlContextProvider
319
- {...(accessControlProvider ??
320
- {})}
321
- >
322
- <AuditLogContextProvider
323
- {...(auditLogProvider ??
324
- {})}
325
- >
326
- <UndoableQueueContextProvider>
327
- <RefineContextProvider
328
- mutationMode={
329
- optionsWithDefaults.mutationMode
330
- }
331
- warnWhenUnsavedChanges={
332
- optionsWithDefaults.warnWhenUnsavedChanges
333
- }
334
- syncWithLocation={
335
- optionsWithDefaults.syncWithLocation
336
- }
337
- Title={
338
- Title
339
- }
340
- undoableTimeout={
341
- optionsWithDefaults.undoableTimeout
342
- }
343
- catchAll={
344
- catchAll
345
- }
346
- DashboardPage={
347
- DashboardPage
348
- }
349
- LoginPage={
350
- LoginPage
351
- }
352
- Layout={
353
- Layout
354
- }
355
- Sider={
356
- Sider
357
- }
358
- Footer={
359
- Footer
360
- }
361
- Header={
362
- Header
363
- }
364
- OffLayoutArea={
365
- OffLayoutArea
366
- }
367
- hasDashboard={
368
- !!DashboardPage
369
- }
370
- liveMode={
371
- optionsWithDefaults.liveMode
372
- }
373
- onLiveEvent={
374
- onLiveEvent
375
- }
376
- options={
377
- optionsWithDefaults
378
- }
379
- >
380
- <UnsavedWarnContextProvider>
381
- <RouterComponent>
382
- {
383
- children
384
- }
385
- {!disableTelemetryWithDefault && (
386
- <Telemetry />
387
- )}
388
- <RouteChangeHandler />
389
- </RouterComponent>
390
- </UnsavedWarnContextProvider>
391
- </RefineContextProvider>
392
- </UndoableQueueContextProvider>
393
- </AuditLogContextProvider>
394
- </AccessControlContextProvider>
395
- </TranslationContextProvider>
396
- </ResourceContextProvider>
397
- </LegacyRouterContextProvider>
398
- </RouterBindingsProvider>
399
- </RouterPickerProvider>
400
- </LiveContextProvider>
401
- </DataContextProvider>
402
- </AuthBindingsContextProvider>
403
- </LegacyAuthContextProvider>
404
- </NotificationContextProvider>
405
- </QueryClientProvider>
406
- );
341
+ <UnsavedWarnContextProvider>
342
+ <RouterComponent>
343
+ {children}
344
+ {!disableTelemetryWithDefault && (
345
+ <Telemetry />
346
+ )}
347
+ <RouteChangeHandler />
348
+ </RouterComponent>
349
+ </UnsavedWarnContextProvider>
350
+ </RefineContextProvider>
351
+ </UndoableQueueContextProvider>
352
+ </AuditLogContextProvider>
353
+ </AccessControlContextProvider>
354
+ </TranslationContextProvider>
355
+ </ResourceContextProvider>
356
+ </LegacyRouterContextProvider>
357
+ </RouterBindingsProvider>
358
+ </RouterPickerProvider>
359
+ </LiveContextProvider>
360
+ </DataContextProvider>
361
+ </AuthBindingsContextProvider>
362
+ </LegacyAuthContextProvider>
363
+ </NotificationContextProvider>
364
+ </QueryClientProvider>
365
+ );
407
366
  };