@strato-admin/core 0.1.0 → 0.3.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 (841) hide show
  1. package/dist/index.d.ts +3 -2
  2. package/dist/index.js +3 -3
  3. package/dist/ra-core/src/auth/AuthContext.d.ts +2 -0
  4. package/dist/ra-core/src/auth/AuthContext.js +3 -0
  5. package/dist/ra-core/src/auth/Authenticated.d.ts +40 -0
  6. package/dist/ra-core/src/auth/Authenticated.js +39 -0
  7. package/dist/ra-core/src/auth/CanAccess.d.ts +20 -0
  8. package/dist/ra-core/src/auth/CanAccess.js +31 -0
  9. package/dist/ra-core/src/auth/LogoutOnMount.d.ts +8 -0
  10. package/dist/ra-core/src/auth/LogoutOnMount.js +16 -0
  11. package/dist/ra-core/src/auth/WithPermissions.d.ts +19 -0
  12. package/dist/ra-core/src/auth/WithPermissions.js +66 -0
  13. package/dist/ra-core/src/auth/addRefreshAuthToAuthProvider.d.ts +22 -0
  14. package/dist/ra-core/src/auth/addRefreshAuthToAuthProvider.js +41 -0
  15. package/dist/ra-core/src/auth/addRefreshAuthToDataProvider.d.ts +21 -0
  16. package/dist/ra-core/src/auth/addRefreshAuthToDataProvider.js +30 -0
  17. package/dist/ra-core/src/auth/convertLegacyAuthProvider.d.ts +12 -0
  18. package/dist/ra-core/src/auth/convertLegacyAuthProvider.js +19 -0
  19. package/dist/ra-core/src/auth/index.d.ts +27 -0
  20. package/dist/ra-core/src/auth/index.js +34 -0
  21. package/dist/ra-core/src/auth/types.d.ts +7 -0
  22. package/dist/ra-core/src/auth/types.js +5 -0
  23. package/dist/ra-core/src/auth/useAuthProvider.d.ts +10 -0
  24. package/dist/ra-core/src/auth/useAuthProvider.js +11 -0
  25. package/dist/ra-core/src/auth/useAuthState.d.ts +48 -0
  26. package/dist/ra-core/src/auth/useAuthState.js +171 -0
  27. package/dist/ra-core/src/auth/useAuthenticated.d.ts +36 -0
  28. package/dist/ra-core/src/auth/useAuthenticated.js +34 -0
  29. package/dist/ra-core/src/auth/useCanAccess.d.ts +56 -0
  30. package/dist/ra-core/src/auth/useCanAccess.js +108 -0
  31. package/dist/ra-core/src/auth/useCanAccessCallback.d.ts +39 -0
  32. package/dist/ra-core/src/auth/useCanAccessCallback.js +45 -0
  33. package/dist/ra-core/src/auth/useCanAccessResources.d.ts +67 -0
  34. package/dist/ra-core/src/auth/useCanAccessResources.js +92 -0
  35. package/dist/ra-core/src/auth/useCheckAuth.d.ts +48 -0
  36. package/dist/ra-core/src/auth/useCheckAuth.js +76 -0
  37. package/dist/ra-core/src/auth/useGetIdentity.d.ts +41 -0
  38. package/dist/ra-core/src/auth/useGetIdentity.js +86 -0
  39. package/dist/ra-core/src/auth/useGetPermissions.d.ts +41 -0
  40. package/dist/ra-core/src/auth/useGetPermissions.js +47 -0
  41. package/dist/ra-core/src/auth/useHandleAuthCallback.d.ts +20 -0
  42. package/dist/ra-core/src/auth/useHandleAuthCallback.js +83 -0
  43. package/dist/ra-core/src/auth/useIsAuthPending.d.ts +13 -0
  44. package/dist/ra-core/src/auth/useIsAuthPending.js +30 -0
  45. package/dist/ra-core/src/auth/useLogin.d.ts +34 -0
  46. package/dist/ra-core/src/auth/useLogin.js +78 -0
  47. package/dist/ra-core/src/auth/useLogout.d.ts +31 -0
  48. package/dist/ra-core/src/auth/useLogout.js +117 -0
  49. package/dist/ra-core/src/auth/useLogoutIfAccessDenied.d.ts +42 -0
  50. package/dist/ra-core/src/auth/useLogoutIfAccessDenied.js +111 -0
  51. package/dist/ra-core/src/auth/usePermissions.d.ts +41 -0
  52. package/dist/ra-core/src/auth/usePermissions.js +123 -0
  53. package/dist/ra-core/src/auth/useRequireAccess.d.ts +140 -0
  54. package/dist/ra-core/src/auth/useRequireAccess.js +56 -0
  55. package/dist/ra-core/src/controller/button/index.d.ts +7 -0
  56. package/dist/ra-core/src/controller/button/index.js +7 -0
  57. package/dist/ra-core/src/controller/button/useBulkDeleteController.d.ts +14 -0
  58. package/dist/ra-core/src/controller/button/useBulkDeleteController.js +66 -0
  59. package/dist/ra-core/src/controller/button/useBulkUpdateController.d.ts +16 -0
  60. package/dist/ra-core/src/controller/button/useBulkUpdateController.js +70 -0
  61. package/dist/ra-core/src/controller/button/useDeleteController.d.ts +64 -0
  62. package/dist/ra-core/src/controller/button/useDeleteController.js +119 -0
  63. package/dist/ra-core/src/controller/button/useDeleteWithConfirmController.d.ts +69 -0
  64. package/dist/ra-core/src/controller/button/useDeleteWithConfirmController.js +139 -0
  65. package/dist/ra-core/src/controller/button/useDeleteWithUndoController.d.ts +46 -0
  66. package/dist/ra-core/src/controller/button/useDeleteWithUndoController.js +52 -0
  67. package/dist/ra-core/src/controller/button/useUpdateController.d.ts +68 -0
  68. package/dist/ra-core/src/controller/button/useUpdateController.js +113 -0
  69. package/dist/ra-core/src/controller/checkMinimumRequiredProps.d.ts +4 -0
  70. package/dist/ra-core/src/controller/checkMinimumRequiredProps.js +21 -0
  71. package/dist/ra-core/src/controller/create/CreateBase.d.ts +46 -0
  72. package/dist/ra-core/src/controller/create/CreateBase.js +55 -0
  73. package/dist/ra-core/src/controller/create/CreateContext.d.ts +20 -0
  74. package/dist/ra-core/src/controller/create/CreateContext.js +21 -0
  75. package/dist/ra-core/src/controller/create/CreateContextProvider.d.ts +29 -0
  76. package/dist/ra-core/src/controller/create/CreateContextProvider.js +31 -0
  77. package/dist/ra-core/src/controller/create/CreateController.d.ts +19 -0
  78. package/dist/ra-core/src/controller/create/CreateController.js +18 -0
  79. package/dist/ra-core/src/controller/create/index.d.ts +6 -0
  80. package/dist/ra-core/src/controller/create/index.js +6 -0
  81. package/dist/ra-core/src/controller/create/useCreateContext.d.ts +12 -0
  82. package/dist/ra-core/src/controller/create/useCreateContext.js +18 -0
  83. package/dist/ra-core/src/controller/create/useCreateController.d.ts +50 -0
  84. package/dist/ra-core/src/controller/create/useCreateController.js +149 -0
  85. package/dist/ra-core/src/controller/edit/EditBase.d.ts +41 -0
  86. package/dist/ra-core/src/controller/edit/EditBase.js +72 -0
  87. package/dist/ra-core/src/controller/edit/EditContext.d.ts +20 -0
  88. package/dist/ra-core/src/controller/edit/EditContext.js +21 -0
  89. package/dist/ra-core/src/controller/edit/EditContextProvider.d.ts +29 -0
  90. package/dist/ra-core/src/controller/edit/EditContextProvider.js +28 -0
  91. package/dist/ra-core/src/controller/edit/EditController.d.ts +19 -0
  92. package/dist/ra-core/src/controller/edit/EditController.js +18 -0
  93. package/dist/ra-core/src/controller/edit/index.d.ts +6 -0
  94. package/dist/ra-core/src/controller/edit/index.js +6 -0
  95. package/dist/ra-core/src/controller/edit/useEditContext.d.ts +12 -0
  96. package/dist/ra-core/src/controller/edit/useEditContext.js +18 -0
  97. package/dist/ra-core/src/controller/edit/useEditController.d.ts +72 -0
  98. package/dist/ra-core/src/controller/edit/useEditController.js +206 -0
  99. package/dist/ra-core/src/controller/field/ReferenceArrayFieldBase.d.ts +77 -0
  100. package/dist/ra-core/src/controller/field/ReferenceArrayFieldBase.js +119 -0
  101. package/dist/ra-core/src/controller/field/ReferenceFieldBase.d.ts +51 -0
  102. package/dist/ra-core/src/controller/field/ReferenceFieldBase.js +71 -0
  103. package/dist/ra-core/src/controller/field/ReferenceFieldContext.d.ts +4 -0
  104. package/dist/ra-core/src/controller/field/ReferenceFieldContext.js +10 -0
  105. package/dist/ra-core/src/controller/field/ReferenceManyCountBase.d.ts +20 -0
  106. package/dist/ra-core/src/controller/field/ReferenceManyCountBase.js +35 -0
  107. package/dist/ra-core/src/controller/field/ReferenceManyFieldBase.d.ts +59 -0
  108. package/dist/ra-core/src/controller/field/ReferenceManyFieldBase.js +108 -0
  109. package/dist/ra-core/src/controller/field/ReferenceOneFieldBase.d.ts +26 -0
  110. package/dist/ra-core/src/controller/field/ReferenceOneFieldBase.js +64 -0
  111. package/dist/ra-core/src/controller/field/index.d.ts +12 -0
  112. package/dist/ra-core/src/controller/field/index.js +12 -0
  113. package/dist/ra-core/src/controller/field/sanitizeFieldRestProps.d.ts +1 -0
  114. package/dist/ra-core/src/controller/field/sanitizeFieldRestProps.js +1 -0
  115. package/dist/ra-core/src/controller/field/types.d.ts +28 -0
  116. package/dist/ra-core/src/controller/field/types.js +1 -0
  117. package/dist/ra-core/src/controller/field/useReferenceArrayFieldController.d.ts +39 -0
  118. package/dist/ra-core/src/controller/field/useReferenceArrayFieldController.js +82 -0
  119. package/dist/ra-core/src/controller/field/useReferenceFieldController.d.ts +14 -0
  120. package/dist/ra-core/src/controller/field/useReferenceFieldController.js +31 -0
  121. package/dist/ra-core/src/controller/field/useReferenceManyFieldController.d.ts +49 -0
  122. package/dist/ra-core/src/controller/field/useReferenceManyFieldController.js +264 -0
  123. package/dist/ra-core/src/controller/field/useReferenceOneFieldController.d.ts +41 -0
  124. package/dist/ra-core/src/controller/field/useReferenceOneFieldController.js +67 -0
  125. package/dist/ra-core/src/controller/index.d.ts +17 -0
  126. package/dist/ra-core/src/controller/index.js +16 -0
  127. package/dist/ra-core/src/controller/input/ArrayInputBase.d.ts +46 -0
  128. package/dist/ra-core/src/controller/input/ArrayInputBase.js +130 -0
  129. package/dist/ra-core/src/controller/input/ArrayInputContext.d.ts +9 -0
  130. package/dist/ra-core/src/controller/input/ArrayInputContext.js +8 -0
  131. package/dist/ra-core/src/controller/input/ReferenceArrayInputBase.d.ts +78 -0
  132. package/dist/ra-core/src/controller/input/ReferenceArrayInputBase.js +97 -0
  133. package/dist/ra-core/src/controller/input/ReferenceInputBase.d.ts +65 -0
  134. package/dist/ra-core/src/controller/input/ReferenceInputBase.js +75 -0
  135. package/dist/ra-core/src/controller/input/SimpleFormIteratorBase.d.ts +17 -0
  136. package/dist/ra-core/src/controller/input/SimpleFormIteratorBase.js +55 -0
  137. package/dist/ra-core/src/controller/input/SimpleFormIteratorContext.d.ts +15 -0
  138. package/dist/ra-core/src/controller/input/SimpleFormIteratorContext.js +8 -0
  139. package/dist/ra-core/src/controller/input/SimpleFormIteratorItemBase.d.ts +12 -0
  140. package/dist/ra-core/src/controller/input/SimpleFormIteratorItemBase.js +53 -0
  141. package/dist/ra-core/src/controller/input/SimpleFormIteratorItemContext.d.ts +13 -0
  142. package/dist/ra-core/src/controller/input/SimpleFormIteratorItemContext.js +8 -0
  143. package/dist/ra-core/src/controller/input/index.d.ts +17 -0
  144. package/dist/ra-core/src/controller/input/index.js +17 -0
  145. package/dist/ra-core/src/controller/input/referenceDataStatus.d.ts +32 -0
  146. package/dist/ra-core/src/controller/input/referenceDataStatus.js +74 -0
  147. package/dist/ra-core/src/controller/input/sanitizeInputRestProps.d.ts +1 -0
  148. package/dist/ra-core/src/controller/input/sanitizeInputRestProps.js +1 -0
  149. package/dist/ra-core/src/controller/input/types.d.ts +3 -0
  150. package/dist/ra-core/src/controller/input/types.js +1 -0
  151. package/dist/ra-core/src/controller/input/useArrayInput.d.ts +8 -0
  152. package/dist/ra-core/src/controller/input/useArrayInput.js +29 -0
  153. package/dist/ra-core/src/controller/input/useGetArrayInputNewItemDefaults.d.ts +3 -0
  154. package/dist/ra-core/src/controller/input/useGetArrayInputNewItemDefaults.js +37 -0
  155. package/dist/ra-core/src/controller/input/useReferenceArrayInputController.d.ts +48 -0
  156. package/dist/ra-core/src/controller/input/useReferenceArrayInputController.js +137 -0
  157. package/dist/ra-core/src/controller/input/useReferenceInputController.d.ts +54 -0
  158. package/dist/ra-core/src/controller/input/useReferenceInputController.js +208 -0
  159. package/dist/ra-core/src/controller/input/useReferenceParams.d.ts +106 -0
  160. package/dist/ra-core/src/controller/input/useReferenceParams.js +226 -0
  161. package/dist/ra-core/src/controller/input/useSimpleFormIterator.d.ts +7 -0
  162. package/dist/ra-core/src/controller/input/useSimpleFormIterator.js +15 -0
  163. package/dist/ra-core/src/controller/input/useSimpleFormIteratorItem.d.ts +7 -0
  164. package/dist/ra-core/src/controller/input/useSimpleFormIteratorItem.js +15 -0
  165. package/dist/ra-core/src/controller/input/useSupportCreateSuggestion.d.ts +54 -0
  166. package/dist/ra-core/src/controller/input/useSupportCreateSuggestion.js +90 -0
  167. package/dist/ra-core/src/controller/list/FilterContext.d.ts +6 -0
  168. package/dist/ra-core/src/controller/list/FilterContext.js +5 -0
  169. package/dist/ra-core/src/controller/list/InfiniteListBase.d.ts +47 -0
  170. package/dist/ra-core/src/controller/list/InfiniteListBase.js +103 -0
  171. package/dist/ra-core/src/controller/list/InfinitePaginationContext.d.ts +25 -0
  172. package/dist/ra-core/src/controller/list/InfinitePaginationContext.js +32 -0
  173. package/dist/ra-core/src/controller/list/ListBase.d.ts +48 -0
  174. package/dist/ra-core/src/controller/list/ListBase.js +98 -0
  175. package/dist/ra-core/src/controller/list/ListContext.d.ts +54 -0
  176. package/dist/ra-core/src/controller/list/ListContext.js +55 -0
  177. package/dist/ra-core/src/controller/list/ListContextProvider.d.ts +33 -0
  178. package/dist/ra-core/src/controller/list/ListContextProvider.js +33 -0
  179. package/dist/ra-core/src/controller/list/ListController.d.ts +19 -0
  180. package/dist/ra-core/src/controller/list/ListController.js +18 -0
  181. package/dist/ra-core/src/controller/list/ListFilterContext.d.ts +39 -0
  182. package/dist/ra-core/src/controller/list/ListFilterContext.js +55 -0
  183. package/dist/ra-core/src/controller/list/ListPaginationContext.d.ts +43 -0
  184. package/dist/ra-core/src/controller/list/ListPaginationContext.js +67 -0
  185. package/dist/ra-core/src/controller/list/ListSortContext.d.ts +36 -0
  186. package/dist/ra-core/src/controller/list/ListSortContext.js +39 -0
  187. package/dist/ra-core/src/controller/list/RecordsIterator.d.ts +16 -0
  188. package/dist/ra-core/src/controller/list/RecordsIterator.js +22 -0
  189. package/dist/ra-core/src/controller/list/WithListContext.d.ts +32 -0
  190. package/dist/ra-core/src/controller/list/WithListContext.js +42 -0
  191. package/dist/ra-core/src/controller/list/index.d.ts +30 -0
  192. package/dist/ra-core/src/controller/list/index.js +30 -0
  193. package/dist/ra-core/src/controller/list/queryReducer.d.ts +45 -0
  194. package/dist/ra-core/src/controller/list/queryReducer.js +85 -0
  195. package/dist/ra-core/src/controller/list/useExpanded.d.ts +31 -0
  196. package/dist/ra-core/src/controller/list/useExpanded.js +70 -0
  197. package/dist/ra-core/src/controller/list/useFilterContext.d.ts +2 -0
  198. package/dist/ra-core/src/controller/list/useFilterContext.js +5 -0
  199. package/dist/ra-core/src/controller/list/useInfiniteListController.d.ts +44 -0
  200. package/dist/ra-core/src/controller/list/useInfiniteListController.js +175 -0
  201. package/dist/ra-core/src/controller/list/useInfinitePaginationContext.d.ts +16 -0
  202. package/dist/ra-core/src/controller/list/useInfinitePaginationContext.js +17 -0
  203. package/dist/ra-core/src/controller/list/useList.d.ts +55 -0
  204. package/dist/ra-core/src/controller/list/useList.js +223 -0
  205. package/dist/ra-core/src/controller/list/useListContext.d.ts +59 -0
  206. package/dist/ra-core/src/controller/list/useListContext.js +65 -0
  207. package/dist/ra-core/src/controller/list/useListContextWithProps.d.ts +44 -0
  208. package/dist/ra-core/src/controller/list/useListContextWithProps.js +84 -0
  209. package/dist/ra-core/src/controller/list/useListController.d.ts +296 -0
  210. package/dist/ra-core/src/controller/list/useListController.js +234 -0
  211. package/dist/ra-core/src/controller/list/useListFilterContext.d.ts +11 -0
  212. package/dist/ra-core/src/controller/list/useListFilterContext.js +18 -0
  213. package/dist/ra-core/src/controller/list/useListPaginationContext.d.ts +12 -0
  214. package/dist/ra-core/src/controller/list/useListPaginationContext.js +19 -0
  215. package/dist/ra-core/src/controller/list/useListParams.d.ts +116 -0
  216. package/dist/ra-core/src/controller/list/useListParams.js +281 -0
  217. package/dist/ra-core/src/controller/list/useListSortContext.d.ts +12 -0
  218. package/dist/ra-core/src/controller/list/useListSortContext.js +19 -0
  219. package/dist/ra-core/src/controller/list/useRecordSelection.d.ts +32 -0
  220. package/dist/ra-core/src/controller/list/useRecordSelection.js +93 -0
  221. package/dist/ra-core/src/controller/list/useSavedQueries.d.ts +14 -0
  222. package/dist/ra-core/src/controller/list/useSavedQueries.js +29 -0
  223. package/dist/ra-core/src/controller/list/useSelectAll.d.ts +48 -0
  224. package/dist/ra-core/src/controller/list/useSelectAll.js +102 -0
  225. package/dist/ra-core/src/controller/list/useUnselect.d.ts +10 -0
  226. package/dist/ra-core/src/controller/list/useUnselect.js +18 -0
  227. package/dist/ra-core/src/controller/list/useUnselectAll.d.ts +9 -0
  228. package/dist/ra-core/src/controller/list/useUnselectAll.js +18 -0
  229. package/dist/ra-core/src/controller/record/OptionalRecordContextProvider.d.ts +21 -0
  230. package/dist/ra-core/src/controller/record/OptionalRecordContextProvider.js +18 -0
  231. package/dist/ra-core/src/controller/record/RecordContext.d.ts +37 -0
  232. package/dist/ra-core/src/controller/record/RecordContext.js +33 -0
  233. package/dist/ra-core/src/controller/record/RecordRepresentation.d.ts +11 -0
  234. package/dist/ra-core/src/controller/record/RecordRepresentation.js +15 -0
  235. package/dist/ra-core/src/controller/record/WithRecord.d.ts +20 -0
  236. package/dist/ra-core/src/controller/record/WithRecord.js +18 -0
  237. package/dist/ra-core/src/controller/record/index.d.ts +5 -0
  238. package/dist/ra-core/src/controller/record/index.js +5 -0
  239. package/dist/ra-core/src/controller/record/useRecordContext.d.ts +34 -0
  240. package/dist/ra-core/src/controller/record/useRecordContext.js +36 -0
  241. package/dist/ra-core/src/controller/saveContext/SaveContext.d.ts +20 -0
  242. package/dist/ra-core/src/controller/saveContext/SaveContext.js +2 -0
  243. package/dist/ra-core/src/controller/saveContext/SaveContextProvider.d.ts +4 -0
  244. package/dist/ra-core/src/controller/saveContext/SaveContextProvider.js +3 -0
  245. package/dist/ra-core/src/controller/saveContext/index.d.ts +6 -0
  246. package/dist/ra-core/src/controller/saveContext/index.js +6 -0
  247. package/dist/ra-core/src/controller/saveContext/useMutationMiddlewares.d.ts +39 -0
  248. package/dist/ra-core/src/controller/saveContext/useMutationMiddlewares.js +79 -0
  249. package/dist/ra-core/src/controller/saveContext/usePickSaveContext.d.ts +5 -0
  250. package/dist/ra-core/src/controller/saveContext/usePickSaveContext.js +25 -0
  251. package/dist/ra-core/src/controller/saveContext/useRegisterMutationMiddleware.d.ts +6 -0
  252. package/dist/ra-core/src/controller/saveContext/useRegisterMutationMiddleware.js +18 -0
  253. package/dist/ra-core/src/controller/saveContext/useSaveContext.d.ts +14 -0
  254. package/dist/ra-core/src/controller/saveContext/useSaveContext.js +17 -0
  255. package/dist/ra-core/src/controller/show/ShowBase.d.ts +42 -0
  256. package/dist/ra-core/src/controller/show/ShowBase.js +72 -0
  257. package/dist/ra-core/src/controller/show/ShowContext.d.ts +20 -0
  258. package/dist/ra-core/src/controller/show/ShowContext.js +21 -0
  259. package/dist/ra-core/src/controller/show/ShowContextProvider.d.ts +27 -0
  260. package/dist/ra-core/src/controller/show/ShowContextProvider.js +25 -0
  261. package/dist/ra-core/src/controller/show/ShowController.d.ts +19 -0
  262. package/dist/ra-core/src/controller/show/ShowController.js +18 -0
  263. package/dist/ra-core/src/controller/show/index.d.ts +6 -0
  264. package/dist/ra-core/src/controller/show/index.js +6 -0
  265. package/dist/ra-core/src/controller/show/useShowContext.d.ts +12 -0
  266. package/dist/ra-core/src/controller/show/useShowContext.js +19 -0
  267. package/dist/ra-core/src/controller/show/useShowController.d.ts +75 -0
  268. package/dist/ra-core/src/controller/show/useShowController.js +110 -0
  269. package/dist/ra-core/src/controller/useFilterState.d.ts +46 -0
  270. package/dist/ra-core/src/controller/useFilterState.js +70 -0
  271. package/dist/ra-core/src/controller/usePaginationState.d.ts +33 -0
  272. package/dist/ra-core/src/controller/usePaginationState.js +45 -0
  273. package/dist/ra-core/src/controller/usePrevNextController.d.ts +127 -0
  274. package/dist/ra-core/src/controller/usePrevNextController.js +215 -0
  275. package/dist/ra-core/src/controller/useReference.d.ts +49 -0
  276. package/dist/ra-core/src/controller/useReference.js +42 -0
  277. package/dist/ra-core/src/controller/useSortState.d.ts +61 -0
  278. package/dist/ra-core/src/controller/useSortState.js +96 -0
  279. package/dist/ra-core/src/core/CoreAdmin.d.ts +83 -0
  280. package/dist/ra-core/src/core/CoreAdmin.js +86 -0
  281. package/dist/ra-core/src/core/CoreAdminContext.d.ts +154 -0
  282. package/dist/ra-core/src/core/CoreAdminContext.js +27 -0
  283. package/dist/ra-core/src/core/CoreAdminRoutes.d.ts +15 -0
  284. package/dist/ra-core/src/core/CoreAdminRoutes.js +33 -0
  285. package/dist/ra-core/src/core/CoreAdminUI.d.ts +260 -0
  286. package/dist/ra-core/src/core/CoreAdminUI.js +33 -0
  287. package/dist/ra-core/src/core/CustomRoutes.d.ts +16 -0
  288. package/dist/ra-core/src/core/CustomRoutes.js +11 -0
  289. package/dist/ra-core/src/core/DefaultTitleContext.d.ts +15 -0
  290. package/dist/ra-core/src/core/DefaultTitleContext.js +15 -0
  291. package/dist/ra-core/src/core/HasDashboardContext.d.ts +21 -0
  292. package/dist/ra-core/src/core/HasDashboardContext.js +22 -0
  293. package/dist/ra-core/src/core/IsOffline.d.ts +4 -0
  294. package/dist/ra-core/src/core/IsOffline.js +5 -0
  295. package/dist/ra-core/src/core/NavigateToFirstResource.d.ts +10 -0
  296. package/dist/ra-core/src/core/NavigateToFirstResource.js +21 -0
  297. package/dist/ra-core/src/core/OptionalResourceContextProvider.d.ts +22 -0
  298. package/dist/ra-core/src/core/OptionalResourceContextProvider.js +18 -0
  299. package/dist/ra-core/src/core/Resource.d.ts +16 -0
  300. package/dist/ra-core/src/core/Resource.js +31 -0
  301. package/dist/ra-core/src/core/ResourceContext.d.ts +19 -0
  302. package/dist/ra-core/src/core/ResourceContext.js +19 -0
  303. package/dist/ra-core/src/core/ResourceContextProvider.d.ts +26 -0
  304. package/dist/ra-core/src/core/ResourceContextProvider.js +22 -0
  305. package/dist/ra-core/src/core/ResourceDefinitionContext.d.ts +35 -0
  306. package/dist/ra-core/src/core/ResourceDefinitionContext.js +48 -0
  307. package/dist/ra-core/src/core/SourceContext.d.ts +27 -0
  308. package/dist/ra-core/src/core/SourceContext.js +35 -0
  309. package/dist/ra-core/src/core/UserMenuContext.d.ts +34 -0
  310. package/dist/ra-core/src/core/UserMenuContext.js +28 -0
  311. package/dist/ra-core/src/core/UserMenuContextProvider.d.ts +16 -0
  312. package/dist/ra-core/src/core/UserMenuContextProvider.js +9 -0
  313. package/dist/ra-core/src/core/index.d.ts +27 -0
  314. package/dist/ra-core/src/core/index.js +27 -0
  315. package/dist/ra-core/src/core/useConfigureAdminRouterFromChildren.d.ts +34 -0
  316. package/dist/ra-core/src/core/useConfigureAdminRouterFromChildren.js +227 -0
  317. package/dist/ra-core/src/core/useFirstResourceWithListAccess.d.ts +8 -0
  318. package/dist/ra-core/src/core/useFirstResourceWithListAccess.js +19 -0
  319. package/dist/ra-core/src/core/useGetRecordRepresentation.d.ts +13 -0
  320. package/dist/ra-core/src/core/useGetRecordRepresentation.js +44 -0
  321. package/dist/ra-core/src/core/useGetResourceLabel.d.ts +22 -0
  322. package/dist/ra-core/src/core/useGetResourceLabel.js +42 -0
  323. package/dist/ra-core/src/core/useIsOffline.d.ts +7 -0
  324. package/dist/ra-core/src/core/useIsOffline.js +18 -0
  325. package/dist/ra-core/src/core/useResourceContext.d.ts +36 -0
  326. package/dist/ra-core/src/core/useResourceContext.js +38 -0
  327. package/dist/ra-core/src/core/useResourceDefinition.d.ts +31 -0
  328. package/dist/ra-core/src/core/useResourceDefinition.js +48 -0
  329. package/dist/ra-core/src/core/useResourceDefinitionContext.d.ts +1 -0
  330. package/dist/ra-core/src/core/useResourceDefinitionContext.js +3 -0
  331. package/dist/ra-core/src/core/useResourceDefinitions.d.ts +21 -0
  332. package/dist/ra-core/src/core/useResourceDefinitions.js +20 -0
  333. package/dist/ra-core/src/core/useUserMenu.d.ts +28 -0
  334. package/dist/ra-core/src/core/useUserMenu.js +30 -0
  335. package/dist/ra-core/src/core/useWrappedSource.d.ts +11 -0
  336. package/dist/ra-core/src/core/useWrappedSource.js +15 -0
  337. package/dist/ra-core/src/dataProvider/DataProviderContext.d.ts +3 -0
  338. package/dist/ra-core/src/dataProvider/DataProviderContext.js +4 -0
  339. package/dist/ra-core/src/dataProvider/HttpError.d.ts +6 -0
  340. package/dist/ra-core/src/dataProvider/HttpError.js +19 -0
  341. package/dist/ra-core/src/dataProvider/combineDataProviders.d.ts +21 -0
  342. package/dist/ra-core/src/dataProvider/combineDataProviders.js +32 -0
  343. package/dist/ra-core/src/dataProvider/convertLegacyDataProvider.d.ts +12 -0
  344. package/dist/ra-core/src/dataProvider/convertLegacyDataProvider.js +40 -0
  345. package/dist/ra-core/src/dataProvider/dataFetchActions.d.ts +15 -0
  346. package/dist/ra-core/src/dataProvider/dataFetchActions.js +49 -0
  347. package/dist/ra-core/src/dataProvider/defaultDataProvider.d.ts +2 -0
  348. package/dist/ra-core/src/dataProvider/defaultDataProvider.js +12 -0
  349. package/dist/ra-core/src/dataProvider/fetch.d.ts +32 -0
  350. package/dist/ra-core/src/dataProvider/fetch.js +78 -0
  351. package/dist/ra-core/src/dataProvider/index.d.ts +34 -0
  352. package/dist/ra-core/src/dataProvider/index.js +33 -0
  353. package/dist/ra-core/src/dataProvider/populateQueryCache.d.ts +22 -0
  354. package/dist/ra-core/src/dataProvider/populateQueryCache.js +30 -0
  355. package/dist/ra-core/src/dataProvider/testDataProvider.d.ts +2 -0
  356. package/dist/ra-core/src/dataProvider/testDataProvider.js +41 -0
  357. package/dist/ra-core/src/dataProvider/undo/AddUndoableMutationContext.d.ts +2 -0
  358. package/dist/ra-core/src/dataProvider/undo/AddUndoableMutationContext.js +2 -0
  359. package/dist/ra-core/src/dataProvider/undo/TakeUndoableMutationContext.d.ts +2 -0
  360. package/dist/ra-core/src/dataProvider/undo/TakeUndoableMutationContext.js +2 -0
  361. package/dist/ra-core/src/dataProvider/undo/UndoableMutationsContextProvider.d.ts +13 -0
  362. package/dist/ra-core/src/dataProvider/undo/UndoableMutationsContextProvider.js +38 -0
  363. package/dist/ra-core/src/dataProvider/undo/index.d.ts +6 -0
  364. package/dist/ra-core/src/dataProvider/undo/index.js +6 -0
  365. package/dist/ra-core/src/dataProvider/undo/types.d.ts +3 -0
  366. package/dist/ra-core/src/dataProvider/undo/types.js +1 -0
  367. package/dist/ra-core/src/dataProvider/undo/useAddUndoableMutation.d.ts +1 -0
  368. package/dist/ra-core/src/dataProvider/undo/useAddUndoableMutation.js +3 -0
  369. package/dist/ra-core/src/dataProvider/undo/useTakeUndoableMutation.d.ts +1 -0
  370. package/dist/ra-core/src/dataProvider/undo/useTakeUndoableMutation.js +3 -0
  371. package/dist/ra-core/src/dataProvider/undoableEventEmitter.d.ts +3 -0
  372. package/dist/ra-core/src/dataProvider/undoableEventEmitter.js +2 -0
  373. package/dist/ra-core/src/dataProvider/useCreate.d.ts +89 -0
  374. package/dist/ra-core/src/dataProvider/useCreate.js +155 -0
  375. package/dist/ra-core/src/dataProvider/useDataProvider.d.ts +2 -0
  376. package/dist/ra-core/src/dataProvider/useDataProvider.js +140 -0
  377. package/dist/ra-core/src/dataProvider/useDelete.d.ts +83 -0
  378. package/dist/ra-core/src/dataProvider/useDelete.js +171 -0
  379. package/dist/ra-core/src/dataProvider/useDeleteMany.d.ts +81 -0
  380. package/dist/ra-core/src/dataProvider/useDeleteMany.js +193 -0
  381. package/dist/ra-core/src/dataProvider/useGetList.d.ts +58 -0
  382. package/dist/ra-core/src/dataProvider/useGetList.js +131 -0
  383. package/dist/ra-core/src/dataProvider/useGetMany.d.ts +49 -0
  384. package/dist/ra-core/src/dataProvider/useGetMany.js +143 -0
  385. package/dist/ra-core/src/dataProvider/useGetManyAggregate.d.ts +62 -0
  386. package/dist/ra-core/src/dataProvider/useGetManyAggregate.js +295 -0
  387. package/dist/ra-core/src/dataProvider/useGetManyReference.d.ts +62 -0
  388. package/dist/ra-core/src/dataProvider/useGetManyReference.js +117 -0
  389. package/dist/ra-core/src/dataProvider/useGetOne.d.ts +48 -0
  390. package/dist/ra-core/src/dataProvider/useGetOne.js +94 -0
  391. package/dist/ra-core/src/dataProvider/useGetRecordId.d.ts +14 -0
  392. package/dist/ra-core/src/dataProvider/useGetRecordId.js +22 -0
  393. package/dist/ra-core/src/dataProvider/useInfiniteGetList.d.ts +64 -0
  394. package/dist/ra-core/src/dataProvider/useInfiniteGetList.js +177 -0
  395. package/dist/ra-core/src/dataProvider/useIsDataLoaded.d.ts +13 -0
  396. package/dist/ra-core/src/dataProvider/useIsDataLoaded.js +35 -0
  397. package/dist/ra-core/src/dataProvider/useLoading.d.ts +12 -0
  398. package/dist/ra-core/src/dataProvider/useLoading.js +41 -0
  399. package/dist/ra-core/src/dataProvider/useMutationWithMutationMode.d.ts +51 -0
  400. package/dist/ra-core/src/dataProvider/useMutationWithMutationMode.js +238 -0
  401. package/dist/ra-core/src/dataProvider/useRefresh.d.ts +14 -0
  402. package/dist/ra-core/src/dataProvider/useRefresh.js +21 -0
  403. package/dist/ra-core/src/dataProvider/useUpdate.d.ts +89 -0
  404. package/dist/ra-core/src/dataProvider/useUpdate.js +183 -0
  405. package/dist/ra-core/src/dataProvider/useUpdateMany.d.ts +81 -0
  406. package/dist/ra-core/src/dataProvider/useUpdateMany.js +171 -0
  407. package/dist/ra-core/src/dataProvider/validateResponseFormat.d.ts +2 -0
  408. package/dist/ra-core/src/dataProvider/validateResponseFormat.js +35 -0
  409. package/dist/ra-core/src/dataProvider/withLifecycleCallbacks.d.ts +162 -0
  410. package/dist/ra-core/src/dataProvider/withLifecycleCallbacks.js +377 -0
  411. package/dist/ra-core/src/dataTable/DataTableBase.d.ts +36 -0
  412. package/dist/ra-core/src/dataTable/DataTableBase.js +104 -0
  413. package/dist/ra-core/src/dataTable/DataTableCallbacksContext.d.ts +18 -0
  414. package/dist/ra-core/src/dataTable/DataTableCallbacksContext.js +3 -0
  415. package/dist/ra-core/src/dataTable/DataTableColumnFilterContext.d.ts +2 -0
  416. package/dist/ra-core/src/dataTable/DataTableColumnFilterContext.js +3 -0
  417. package/dist/ra-core/src/dataTable/DataTableColumnRankContext.d.ts +2 -0
  418. package/dist/ra-core/src/dataTable/DataTableColumnRankContext.js +3 -0
  419. package/dist/ra-core/src/dataTable/DataTableConfigContext.d.ts +22 -0
  420. package/dist/ra-core/src/dataTable/DataTableConfigContext.js +7 -0
  421. package/dist/ra-core/src/dataTable/DataTableDataContext.d.ts +4 -0
  422. package/dist/ra-core/src/dataTable/DataTableDataContext.js +3 -0
  423. package/dist/ra-core/src/dataTable/DataTableRenderContext.d.ts +3 -0
  424. package/dist/ra-core/src/dataTable/DataTableRenderContext.js +3 -0
  425. package/dist/ra-core/src/dataTable/DataTableSelectedIdsContext.d.ts +3 -0
  426. package/dist/ra-core/src/dataTable/DataTableSelectedIdsContext.js +3 -0
  427. package/dist/ra-core/src/dataTable/DataTableSortContext.d.ts +3 -0
  428. package/dist/ra-core/src/dataTable/DataTableSortContext.js +3 -0
  429. package/dist/ra-core/src/dataTable/DataTableStoreContext.d.ts +8 -0
  430. package/dist/ra-core/src/dataTable/DataTableStoreContext.js +6 -0
  431. package/dist/ra-core/src/dataTable/index.d.ts +11 -0
  432. package/dist/ra-core/src/dataTable/index.js +11 -0
  433. package/dist/ra-core/src/dataTable/types.d.ts +2 -0
  434. package/dist/ra-core/src/dataTable/types.js +1 -0
  435. package/dist/ra-core/src/export/ExporterContext.d.ts +2 -0
  436. package/dist/ra-core/src/export/ExporterContext.js +4 -0
  437. package/dist/ra-core/src/export/defaultExporter.d.ts +2 -0
  438. package/dist/ra-core/src/export/defaultExporter.js +3 -0
  439. package/dist/ra-core/src/export/downloadCSV.d.ts +1 -0
  440. package/dist/ra-core/src/export/downloadCSV.js +17 -0
  441. package/dist/ra-core/src/export/fetchRelatedRecords.d.ts +14 -0
  442. package/dist/ra-core/src/export/fetchRelatedRecords.js +19 -0
  443. package/dist/ra-core/src/export/getRelatedIds.d.ts +24 -0
  444. package/dist/ra-core/src/export/getRelatedIds.js +26 -0
  445. package/dist/ra-core/src/export/index.d.ts +5 -0
  446. package/dist/ra-core/src/export/index.js +5 -0
  447. package/dist/ra-core/src/export/useBulkExport.d.ts +11 -0
  448. package/dist/ra-core/src/export/useBulkExport.js +30 -0
  449. package/dist/ra-core/src/form/FilterLiveForm.d.ts +56 -0
  450. package/dist/ra-core/src/form/FilterLiveForm.js +161 -0
  451. package/dist/ra-core/src/form/Form.d.ts +56 -0
  452. package/dist/ra-core/src/form/Form.js +55 -0
  453. package/dist/ra-core/src/form/FormDataConsumer.d.ts +74 -0
  454. package/dist/ra-core/src/form/FormDataConsumer.js +68 -0
  455. package/dist/ra-core/src/form/WarnWhenUnsavedChanges.d.ts +5 -0
  456. package/dist/ra-core/src/form/WarnWhenUnsavedChanges.js +5 -0
  457. package/dist/ra-core/src/form/choices/ChoicesContext.d.ts +65 -0
  458. package/dist/ra-core/src/form/choices/ChoicesContext.js +7 -0
  459. package/dist/ra-core/src/form/choices/ChoicesContextProvider.d.ts +6 -0
  460. package/dist/ra-core/src/form/choices/ChoicesContextProvider.js +3 -0
  461. package/dist/ra-core/src/form/choices/index.d.ts +4 -0
  462. package/dist/ra-core/src/form/choices/index.js +4 -0
  463. package/dist/ra-core/src/form/choices/useChoices.d.ts +31 -0
  464. package/dist/ra-core/src/form/choices/useChoices.js +42 -0
  465. package/dist/ra-core/src/form/choices/useChoicesContext.d.ts +5 -0
  466. package/dist/ra-core/src/form/choices/useChoicesContext.js +62 -0
  467. package/dist/ra-core/src/form/getFormInitialValues.d.ts +8 -0
  468. package/dist/ra-core/src/form/getFormInitialValues.js +14 -0
  469. package/dist/ra-core/src/form/groups/FormGroupContext.d.ts +9 -0
  470. package/dist/ra-core/src/form/groups/FormGroupContext.js +9 -0
  471. package/dist/ra-core/src/form/groups/FormGroupContextProvider.d.ts +49 -0
  472. package/dist/ra-core/src/form/groups/FormGroupContextProvider.js +64 -0
  473. package/dist/ra-core/src/form/groups/FormGroupsContext.d.ts +15 -0
  474. package/dist/ra-core/src/form/groups/FormGroupsContext.js +3 -0
  475. package/dist/ra-core/src/form/groups/FormGroupsProvider.d.ts +11 -0
  476. package/dist/ra-core/src/form/groups/FormGroupsProvider.js +67 -0
  477. package/dist/ra-core/src/form/groups/index.d.ts +6 -0
  478. package/dist/ra-core/src/form/groups/index.js +6 -0
  479. package/dist/ra-core/src/form/groups/useFormGroup.d.ts +67 -0
  480. package/dist/ra-core/src/form/groups/useFormGroup.js +146 -0
  481. package/dist/ra-core/src/form/groups/useFormGroupContext.d.ts +4 -0
  482. package/dist/ra-core/src/form/groups/useFormGroupContext.js +9 -0
  483. package/dist/ra-core/src/form/groups/useFormGroups.d.ts +4 -0
  484. package/dist/ra-core/src/form/groups/useFormGroups.js +9 -0
  485. package/dist/ra-core/src/form/index.d.ts +14 -0
  486. package/dist/ra-core/src/form/index.js +14 -0
  487. package/dist/ra-core/src/form/sanitizeEmptyValues.d.ts +7 -0
  488. package/dist/ra-core/src/form/sanitizeEmptyValues.js +26 -0
  489. package/dist/ra-core/src/form/useApplyInputDefaultValues.d.ts +19 -0
  490. package/dist/ra-core/src/form/useApplyInputDefaultValues.js +71 -0
  491. package/dist/ra-core/src/form/useAugmentedForm.d.ts +32 -0
  492. package/dist/ra-core/src/form/useAugmentedForm.js +101 -0
  493. package/dist/ra-core/src/form/useFormIsDirty.d.ts +4 -0
  494. package/dist/ra-core/src/form/useFormIsDirty.js +39 -0
  495. package/dist/ra-core/src/form/useFormValues.d.ts +4 -0
  496. package/dist/ra-core/src/form/useFormValues.js +9 -0
  497. package/dist/ra-core/src/form/useInput.d.ts +33 -0
  498. package/dist/ra-core/src/form/useInput.js +100 -0
  499. package/dist/ra-core/src/form/useRecordFromLocation.d.ts +22 -0
  500. package/dist/ra-core/src/form/useRecordFromLocation.js +59 -0
  501. package/dist/ra-core/src/form/useSuggestions.d.ts +43 -0
  502. package/dist/ra-core/src/form/useSuggestions.js +186 -0
  503. package/dist/ra-core/src/form/useWarnWhenUnsavedChanges.d.ts +7 -0
  504. package/dist/ra-core/src/form/useWarnWhenUnsavedChanges.js +74 -0
  505. package/dist/ra-core/src/form/validation/ValidationError.d.ts +5 -0
  506. package/dist/ra-core/src/form/validation/ValidationError.js +22 -0
  507. package/dist/ra-core/src/form/validation/getSimpleValidationResolver.d.ts +31 -0
  508. package/dist/ra-core/src/form/validation/getSimpleValidationResolver.js +87 -0
  509. package/dist/ra-core/src/form/validation/index.d.ts +7 -0
  510. package/dist/ra-core/src/form/validation/index.js +7 -0
  511. package/dist/ra-core/src/form/validation/setSubmissionErrors.d.ts +21 -0
  512. package/dist/ra-core/src/form/validation/setSubmissionErrors.js +34 -0
  513. package/dist/ra-core/src/form/validation/useGetValidationErrorMessage.d.ts +26 -0
  514. package/dist/ra-core/src/form/validation/useGetValidationErrorMessage.js +35 -0
  515. package/dist/ra-core/src/form/validation/useNotifyIsFormInvalid.d.ts +9 -0
  516. package/dist/ra-core/src/form/validation/useNotifyIsFormInvalid.js +30 -0
  517. package/dist/ra-core/src/form/validation/useUnique.d.ts +57 -0
  518. package/dist/ra-core/src/form/validation/useUnique.js +107 -0
  519. package/dist/ra-core/src/form/validation/validate.d.ts +168 -0
  520. package/dist/ra-core/src/form/validation/validate.js +218 -0
  521. package/dist/ra-core/src/i18n/I18nContext.d.ts +3 -0
  522. package/dist/ra-core/src/i18n/I18nContext.js +11 -0
  523. package/dist/ra-core/src/i18n/I18nContextProvider.d.ts +10 -0
  524. package/dist/ra-core/src/i18n/I18nContextProvider.js +47 -0
  525. package/dist/ra-core/src/i18n/TestTranslationProvider.d.ts +8 -0
  526. package/dist/ra-core/src/i18n/TestTranslationProvider.js +20 -0
  527. package/dist/ra-core/src/i18n/TranslatableContext.d.ts +16 -0
  528. package/dist/ra-core/src/i18n/TranslatableContext.js +2 -0
  529. package/dist/ra-core/src/i18n/TranslatableContextProvider.d.ts +6 -0
  530. package/dist/ra-core/src/i18n/TranslatableContextProvider.js +5 -0
  531. package/dist/ra-core/src/i18n/Translate.d.ts +7 -0
  532. package/dist/ra-core/src/i18n/Translate.js +10 -0
  533. package/dist/ra-core/src/i18n/TranslationMessages.d.ts +221 -0
  534. package/dist/ra-core/src/i18n/TranslationMessages.js +1 -0
  535. package/dist/ra-core/src/i18n/TranslationUtils.d.ts +60 -0
  536. package/dist/ra-core/src/i18n/TranslationUtils.js +70 -0
  537. package/dist/ra-core/src/i18n/index.d.ts +20 -0
  538. package/dist/ra-core/src/i18n/index.js +20 -0
  539. package/dist/ra-core/src/i18n/substituteTokens.d.ts +8 -0
  540. package/dist/ra-core/src/i18n/substituteTokens.js +18 -0
  541. package/dist/ra-core/src/i18n/useI18nProvider.d.ts +12 -0
  542. package/dist/ra-core/src/i18n/useI18nProvider.js +14 -0
  543. package/dist/ra-core/src/i18n/useLocale.d.ts +17 -0
  544. package/dist/ra-core/src/i18n/useLocale.js +21 -0
  545. package/dist/ra-core/src/i18n/useLocaleState.d.ts +27 -0
  546. package/dist/ra-core/src/i18n/useLocaleState.js +34 -0
  547. package/dist/ra-core/src/i18n/useLocales.d.ts +31 -0
  548. package/dist/ra-core/src/i18n/useLocales.js +28 -0
  549. package/dist/ra-core/src/i18n/useResourceTranslation.d.ts +8 -0
  550. package/dist/ra-core/src/i18n/useResourceTranslation.js +18 -0
  551. package/dist/ra-core/src/i18n/useSetLocale.d.ts +25 -0
  552. package/dist/ra-core/src/i18n/useSetLocale.js +29 -0
  553. package/dist/ra-core/src/i18n/useTranslatable.d.ts +29 -0
  554. package/dist/ra-core/src/i18n/useTranslatable.js +98 -0
  555. package/dist/ra-core/src/i18n/useTranslatableContext.d.ts +31 -0
  556. package/dist/ra-core/src/i18n/useTranslatableContext.js +38 -0
  557. package/dist/ra-core/src/i18n/useTranslate.d.ts +21 -0
  558. package/dist/ra-core/src/i18n/useTranslate.js +29 -0
  559. package/dist/ra-core/src/i18n/useTranslateLabel.d.ts +6 -0
  560. package/dist/ra-core/src/i18n/useTranslateLabel.js +26 -0
  561. package/dist/ra-core/src/index.d.ts +16 -0
  562. package/dist/ra-core/src/index.js +16 -0
  563. package/dist/ra-core/src/inference/InferredElement.d.ts +12 -0
  564. package/dist/ra-core/src/inference/InferredElement.js +40 -0
  565. package/dist/ra-core/src/inference/assertions.d.ts +26 -0
  566. package/dist/ra-core/src/inference/assertions.js +38 -0
  567. package/dist/ra-core/src/inference/getElementsFromRecords.d.ts +35 -0
  568. package/dist/ra-core/src/inference/getElementsFromRecords.js +39 -0
  569. package/dist/ra-core/src/inference/getValuesFromRecords.d.ts +28 -0
  570. package/dist/ra-core/src/inference/getValuesFromRecords.js +40 -0
  571. package/dist/ra-core/src/inference/index.d.ts +6 -0
  572. package/dist/ra-core/src/inference/index.js +6 -0
  573. package/dist/ra-core/src/inference/inferElementFromValues.d.ts +41 -0
  574. package/dist/ra-core/src/inference/inferElementFromValues.js +161 -0
  575. package/dist/ra-core/src/inference/inferTypeFromValues.d.ts +21 -0
  576. package/dist/ra-core/src/inference/inferTypeFromValues.js +141 -0
  577. package/dist/ra-core/src/inference/types.d.ts +9 -0
  578. package/dist/ra-core/src/inference/types.js +1 -0
  579. package/dist/ra-core/src/notification/AddNotificationContext.d.ts +2 -0
  580. package/dist/ra-core/src/notification/AddNotificationContext.js +2 -0
  581. package/dist/ra-core/src/notification/CloseNotificationContext.d.ts +2 -0
  582. package/dist/ra-core/src/notification/CloseNotificationContext.js +2 -0
  583. package/dist/ra-core/src/notification/NotificationContext.d.ts +37 -0
  584. package/dist/ra-core/src/notification/NotificationContext.js +35 -0
  585. package/dist/ra-core/src/notification/NotificationContextProvider.d.ts +3 -0
  586. package/dist/ra-core/src/notification/NotificationContextProvider.js +31 -0
  587. package/dist/ra-core/src/notification/index.d.ts +9 -0
  588. package/dist/ra-core/src/notification/index.js +9 -0
  589. package/dist/ra-core/src/notification/types.d.ts +14 -0
  590. package/dist/ra-core/src/notification/types.js +1 -0
  591. package/dist/ra-core/src/notification/useAddNotificationContext.d.ts +1 -0
  592. package/dist/ra-core/src/notification/useAddNotificationContext.js +3 -0
  593. package/dist/ra-core/src/notification/useCloseNotification.d.ts +1 -0
  594. package/dist/ra-core/src/notification/useCloseNotification.js +9 -0
  595. package/dist/ra-core/src/notification/useNotificationContext.d.ts +1 -0
  596. package/dist/ra-core/src/notification/useNotificationContext.js +3 -0
  597. package/dist/ra-core/src/notification/useNotify.d.ts +20 -0
  598. package/dist/ra-core/src/notification/useNotify.js +28 -0
  599. package/dist/ra-core/src/preferences/PreferenceKeyContext.d.ts +7 -0
  600. package/dist/ra-core/src/preferences/PreferenceKeyContext.js +7 -0
  601. package/dist/ra-core/src/preferences/PreferencesEditorContext.d.ts +16 -0
  602. package/dist/ra-core/src/preferences/PreferencesEditorContext.js +2 -0
  603. package/dist/ra-core/src/preferences/PreferencesEditorContextProvider.d.ts +3 -0
  604. package/dist/ra-core/src/preferences/PreferencesEditorContextProvider.js +48 -0
  605. package/dist/ra-core/src/preferences/index.d.ts +7 -0
  606. package/dist/ra-core/src/preferences/index.js +7 -0
  607. package/dist/ra-core/src/preferences/usePreference.d.ts +18 -0
  608. package/dist/ra-core/src/preferences/usePreference.js +10 -0
  609. package/dist/ra-core/src/preferences/usePreferenceInput.d.ts +22 -0
  610. package/dist/ra-core/src/preferences/usePreferenceInput.js +43 -0
  611. package/dist/ra-core/src/preferences/usePreferencesEditor.d.ts +2 -0
  612. package/dist/ra-core/src/preferences/usePreferencesEditor.js +9 -0
  613. package/dist/ra-core/src/preferences/useSetInspectorTitle.d.ts +7 -0
  614. package/dist/ra-core/src/preferences/useSetInspectorTitle.js +19 -0
  615. package/dist/ra-core/src/routing/AdminRouter.d.ts +13 -0
  616. package/dist/ra-core/src/routing/AdminRouter.js +15 -0
  617. package/dist/ra-core/src/routing/BasenameContext.d.ts +1 -0
  618. package/dist/ra-core/src/routing/BasenameContext.js +2 -0
  619. package/dist/ra-core/src/routing/BasenameContextProvider.d.ts +12 -0
  620. package/dist/ra-core/src/routing/BasenameContextProvider.js +11 -0
  621. package/dist/ra-core/src/routing/LinkBase.d.ts +17 -0
  622. package/dist/ra-core/src/routing/LinkBase.js +22 -0
  623. package/dist/ra-core/src/routing/Navigate.d.ts +14 -0
  624. package/dist/ra-core/src/routing/Navigate.js +17 -0
  625. package/dist/ra-core/src/routing/Outlet.d.ts +19 -0
  626. package/dist/ra-core/src/routing/Outlet.js +22 -0
  627. package/dist/ra-core/src/routing/RestoreScrollPosition.d.ts +24 -0
  628. package/dist/ra-core/src/routing/RestoreScrollPosition.js +23 -0
  629. package/dist/ra-core/src/routing/RouterProvider.d.ts +163 -0
  630. package/dist/ra-core/src/routing/RouterProvider.js +1 -0
  631. package/dist/ra-core/src/routing/RouterProviderContext.d.ts +15 -0
  632. package/dist/ra-core/src/routing/RouterProviderContext.js +19 -0
  633. package/dist/ra-core/src/routing/TestMemoryRouter.d.ts +21 -0
  634. package/dist/ra-core/src/routing/TestMemoryRouter.js +42 -0
  635. package/dist/ra-core/src/routing/adapters/reactRouterProvider.d.ts +6 -0
  636. package/dist/ra-core/src/routing/adapters/reactRouterProvider.js +86 -0
  637. package/dist/ra-core/src/routing/index.d.ts +28 -0
  638. package/dist/ra-core/src/routing/index.js +28 -0
  639. package/dist/ra-core/src/routing/types.d.ts +3 -0
  640. package/dist/ra-core/src/routing/types.js +1 -0
  641. package/dist/ra-core/src/routing/useBasename.d.ts +21 -0
  642. package/dist/ra-core/src/routing/useBasename.js +23 -0
  643. package/dist/ra-core/src/routing/useBlocker.d.ts +14 -0
  644. package/dist/ra-core/src/routing/useBlocker.js +17 -0
  645. package/dist/ra-core/src/routing/useCanBlock.d.ts +7 -0
  646. package/dist/ra-core/src/routing/useCanBlock.js +11 -0
  647. package/dist/ra-core/src/routing/useCreatePath.d.ts +42 -0
  648. package/dist/ra-core/src/routing/useCreatePath.js +69 -0
  649. package/dist/ra-core/src/routing/useGetPathForRecord.d.ts +42 -0
  650. package/dist/ra-core/src/routing/useGetPathForRecord.js +135 -0
  651. package/dist/ra-core/src/routing/useGetPathForRecordCallback.d.ts +6 -0
  652. package/dist/ra-core/src/routing/useGetPathForRecordCallback.js +82 -0
  653. package/dist/ra-core/src/routing/useInRouterContext.d.ts +11 -0
  654. package/dist/ra-core/src/routing/useInRouterContext.js +15 -0
  655. package/dist/ra-core/src/routing/useLocation.d.ts +10 -0
  656. package/dist/ra-core/src/routing/useLocation.js +13 -0
  657. package/dist/ra-core/src/routing/useMatch.d.ts +15 -0
  658. package/dist/ra-core/src/routing/useMatch.js +15 -0
  659. package/dist/ra-core/src/routing/useMatchPath.d.ts +17 -0
  660. package/dist/ra-core/src/routing/useMatchPath.js +17 -0
  661. package/dist/ra-core/src/routing/useNavigate.d.ts +12 -0
  662. package/dist/ra-core/src/routing/useNavigate.js +15 -0
  663. package/dist/ra-core/src/routing/useParams.d.ts +9 -0
  664. package/dist/ra-core/src/routing/useParams.js +13 -0
  665. package/dist/ra-core/src/routing/useRedirect.d.ts +30 -0
  666. package/dist/ra-core/src/routing/useRedirect.js +66 -0
  667. package/dist/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.d.ts +7 -0
  668. package/dist/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.js +17 -0
  669. package/dist/ra-core/src/routing/useRestoreScrollPosition.d.ts +40 -0
  670. package/dist/ra-core/src/routing/useRestoreScrollPosition.js +70 -0
  671. package/dist/ra-core/src/routing/useScrollToTop.d.ts +22 -0
  672. package/dist/ra-core/src/routing/useScrollToTop.js +33 -0
  673. package/dist/ra-core/src/routing/useSplatPathBase.d.ts +13 -0
  674. package/dist/ra-core/src/routing/useSplatPathBase.js +21 -0
  675. package/dist/ra-core/src/store/StoreContext.d.ts +2 -0
  676. package/dist/ra-core/src/store/StoreContext.js +4 -0
  677. package/dist/ra-core/src/store/StoreContextProvider.d.ts +7 -0
  678. package/dist/ra-core/src/store/StoreContextProvider.js +12 -0
  679. package/dist/ra-core/src/store/StoreSetter.d.ts +37 -0
  680. package/dist/ra-core/src/store/StoreSetter.js +40 -0
  681. package/dist/ra-core/src/store/index.d.ts +11 -0
  682. package/dist/ra-core/src/store/index.js +11 -0
  683. package/dist/ra-core/src/store/localStorageStore.d.ts +27 -0
  684. package/dist/ra-core/src/store/localStorageStore.js +198 -0
  685. package/dist/ra-core/src/store/memoryStore.d.ts +15 -0
  686. package/dist/ra-core/src/store/memoryStore.js +108 -0
  687. package/dist/ra-core/src/store/types.d.ts +11 -0
  688. package/dist/ra-core/src/store/types.js +1 -0
  689. package/dist/ra-core/src/store/useRemoveFromStore.d.ts +17 -0
  690. package/dist/ra-core/src/store/useRemoveFromStore.js +29 -0
  691. package/dist/ra-core/src/store/useRemoveItemsFromStore.d.ts +17 -0
  692. package/dist/ra-core/src/store/useRemoveItemsFromStore.js +29 -0
  693. package/dist/ra-core/src/store/useResetStore.d.ts +17 -0
  694. package/dist/ra-core/src/store/useResetStore.js +21 -0
  695. package/dist/ra-core/src/store/useStore.d.ts +48 -0
  696. package/dist/ra-core/src/store/useStore.js +32 -0
  697. package/dist/ra-core/src/store/useStoreContext.d.ts +4 -0
  698. package/dist/ra-core/src/store/useStoreContext.js +6 -0
  699. package/dist/ra-core/src/test-ui/Admin.d.ts +2 -0
  700. package/dist/ra-core/src/test-ui/Admin.js +8 -0
  701. package/dist/ra-core/src/test-ui/ArrayInput.d.ts +10 -0
  702. package/dist/ra-core/src/test-ui/ArrayInput.js +8 -0
  703. package/dist/ra-core/src/test-ui/AutocompleteArrayInput.d.ts +5 -0
  704. package/dist/ra-core/src/test-ui/AutocompleteArrayInput.js +5 -0
  705. package/dist/ra-core/src/test-ui/AutocompleteInput.d.ts +5 -0
  706. package/dist/ra-core/src/test-ui/AutocompleteInput.js +29 -0
  707. package/dist/ra-core/src/test-ui/BooleanInput.d.ts +2 -0
  708. package/dist/ra-core/src/test-ui/BooleanInput.js +10 -0
  709. package/dist/ra-core/src/test-ui/Confirm.d.ts +10 -0
  710. package/dist/ra-core/src/test-ui/Confirm.js +25 -0
  711. package/dist/ra-core/src/test-ui/CreateButton.d.ts +3 -0
  712. package/dist/ra-core/src/test-ui/CreateButton.js +9 -0
  713. package/dist/ra-core/src/test-ui/DataTable.d.ts +15 -0
  714. package/dist/ra-core/src/test-ui/DataTable.js +88 -0
  715. package/dist/ra-core/src/test-ui/DeleteButton.d.ts +5 -0
  716. package/dist/ra-core/src/test-ui/DeleteButton.js +18 -0
  717. package/dist/ra-core/src/test-ui/EditButton.d.ts +5 -0
  718. package/dist/ra-core/src/test-ui/EditButton.js +13 -0
  719. package/dist/ra-core/src/test-ui/Layout.d.ts +4 -0
  720. package/dist/ra-core/src/test-ui/Layout.js +36 -0
  721. package/dist/ra-core/src/test-ui/Notification.d.ts +13 -0
  722. package/dist/ra-core/src/test-ui/Notification.js +109 -0
  723. package/dist/ra-core/src/test-ui/Pagination.d.ts +1 -0
  724. package/dist/ra-core/src/test-ui/Pagination.js +28 -0
  725. package/dist/ra-core/src/test-ui/PrevNextButtons.d.ts +5 -0
  726. package/dist/ra-core/src/test-ui/PrevNextButtons.js +18 -0
  727. package/dist/ra-core/src/test-ui/ShowButton.d.ts +5 -0
  728. package/dist/ra-core/src/test-ui/ShowButton.js +13 -0
  729. package/dist/ra-core/src/test-ui/SimpleForm.d.ts +2 -0
  730. package/dist/ra-core/src/test-ui/SimpleForm.js +11 -0
  731. package/dist/ra-core/src/test-ui/SimpleFormIterator.d.ts +46 -0
  732. package/dist/ra-core/src/test-ui/SimpleFormIterator.js +101 -0
  733. package/dist/ra-core/src/test-ui/SimpleList.d.ts +6 -0
  734. package/dist/ra-core/src/test-ui/SimpleList.js +12 -0
  735. package/dist/ra-core/src/test-ui/SimpleShowLayout.d.ts +4 -0
  736. package/dist/ra-core/src/test-ui/SimpleShowLayout.js +3 -0
  737. package/dist/ra-core/src/test-ui/TextInput.d.ts +6 -0
  738. package/dist/ra-core/src/test-ui/TextInput.js +9 -0
  739. package/dist/ra-core/src/test-ui/defaultI18nProvider.d.ts +2 -0
  740. package/dist/ra-core/src/test-ui/defaultI18nProvider.js +10 -0
  741. package/dist/ra-core/src/test-ui/index.d.ts +21 -0
  742. package/dist/ra-core/src/test-ui/index.js +21 -0
  743. package/dist/ra-core/src/types.d.ts +284 -0
  744. package/dist/ra-core/src/types.js +5 -0
  745. package/dist/ra-core/src/util/FieldTitle.d.ts +17 -0
  746. package/dist/ra-core/src/util/FieldTitle.js +24 -0
  747. package/dist/ra-core/src/util/Ready.d.ts +2 -0
  748. package/dist/ra-core/src/util/Ready.js +57 -0
  749. package/dist/ra-core/src/util/asyncDebounce.d.ts +7 -0
  750. package/dist/ra-core/src/util/asyncDebounce.js +29 -0
  751. package/dist/ra-core/src/util/escapePath.d.ts +11 -0
  752. package/dist/ra-core/src/util/escapePath.js +10 -0
  753. package/dist/ra-core/src/util/genericMemo.d.ts +5 -0
  754. package/dist/ra-core/src/util/genericMemo.js +14 -0
  755. package/dist/ra-core/src/util/getFieldLabelTranslationArgs.d.ts +22 -0
  756. package/dist/ra-core/src/util/getFieldLabelTranslationArgs.js +73 -0
  757. package/dist/ra-core/src/util/getMutationMode.d.ts +1 -0
  758. package/dist/ra-core/src/util/getMutationMode.js +13 -0
  759. package/dist/ra-core/src/util/hooks.d.ts +15 -0
  760. package/dist/ra-core/src/util/hooks.js +73 -0
  761. package/dist/ra-core/src/util/index.d.ts +20 -0
  762. package/dist/ra-core/src/util/index.js +19 -0
  763. package/dist/ra-core/src/util/mergeRefs.d.ts +2 -0
  764. package/dist/ra-core/src/util/mergeRefs.js +13 -0
  765. package/dist/ra-core/src/util/removeEmpty.d.ts +2 -0
  766. package/dist/ra-core/src/util/removeEmpty.js +16 -0
  767. package/dist/ra-core/src/util/removeKey.d.ts +2 -0
  768. package/dist/ra-core/src/util/removeKey.js +22 -0
  769. package/dist/ra-core/src/util/shallowEqual.d.ts +1 -0
  770. package/dist/ra-core/src/util/shallowEqual.js +29 -0
  771. package/dist/ra-core/src/util/useCheckForApplicationUpdate.d.ts +21 -0
  772. package/dist/ra-core/src/util/useCheckForApplicationUpdate.js +84 -0
  773. package/dist/ra-core/src/util/useDebouncedEvent.d.ts +8 -0
  774. package/dist/ra-core/src/util/useDebouncedEvent.js +28 -0
  775. package/dist/ra-core/src/util/useEvent.d.ts +7 -0
  776. package/dist/ra-core/src/util/useEvent.js +19 -0
  777. package/dist/ra-core/src/util/useFieldValue.d.ts +21 -0
  778. package/dist/ra-core/src/util/useFieldValue.js +27 -0
  779. package/dist/ra-core/src/util/useWhyDidYouUpdate.d.ts +12 -0
  780. package/dist/ra-core/src/util/useWhyDidYouUpdate.js +42 -0
  781. package/dist/ra-core/src/util/warning.d.ts +2 -0
  782. package/dist/ra-core/src/util/warning.js +5 -0
  783. package/dist/resource/Resource.d.ts +14 -0
  784. package/dist/resource/Resource.js +31 -0
  785. package/dist/resource/ResourceSchema.d.ts +170 -13
  786. package/dist/resource/ResourceSchema.js +118 -20
  787. package/dist/resource/ResourceSchemaProvider.d.ts +2 -1
  788. package/dist/resource/ResourceSchemaProvider.js +9 -9
  789. package/dist/resource/SchemaRegistry.d.ts +64 -5
  790. package/dist/resource/SchemaRegistry.js +189 -22
  791. package/dist/resource/index.d.ts +2 -0
  792. package/dist/resource/index.js +2 -0
  793. package/dist/resource/useConstructedPageTitle.d.ts +1 -0
  794. package/dist/resource/useConstructedPageTitle.js +27 -0
  795. package/dist/routing/index.d.ts +2 -0
  796. package/dist/routing/index.js +2 -0
  797. package/dist/routing/useCreatePath.d.ts +7 -0
  798. package/dist/routing/useCreatePath.js +36 -0
  799. package/dist/routing/useGetPathForRecord.d.ts +11 -0
  800. package/dist/routing/useGetPathForRecord.js +94 -0
  801. package/dist/settings/SettingsContext.d.ts +16 -0
  802. package/dist/settings/SettingsContext.js +3 -0
  803. package/dist/settings/useSettingValue.d.ts +15 -0
  804. package/dist/settings/useSettingValue.js +23 -0
  805. package/dist/strato-core/src/core/Resource.d.ts +0 -0
  806. package/dist/strato-core/src/core/Resource.js +1 -0
  807. package/dist/strato-core/src/core/index.d.ts +0 -0
  808. package/dist/strato-core/src/core/index.js +1 -0
  809. package/dist/strato-core/src/index.d.ts +3 -0
  810. package/dist/strato-core/src/index.js +4 -0
  811. package/dist/strato-core/src/ra-messages.d.ts +1 -0
  812. package/dist/strato-core/src/ra-messages.js +296 -0
  813. package/dist/strato-core/src/resource/FieldSchema.d.ts +18 -0
  814. package/dist/strato-core/src/resource/FieldSchema.js +19 -0
  815. package/dist/strato-core/src/resource/InputSchema.d.ts +18 -0
  816. package/dist/strato-core/src/resource/InputSchema.js +19 -0
  817. package/dist/strato-core/src/resource/ResourceContext.d.ts +2 -0
  818. package/dist/strato-core/src/resource/ResourceContext.js +3 -0
  819. package/dist/strato-core/src/resource/ResourceSchema.d.ts +33 -0
  820. package/dist/strato-core/src/resource/ResourceSchema.js +90 -0
  821. package/dist/strato-core/src/resource/ResourceSchemaProvider.d.ts +15 -0
  822. package/dist/strato-core/src/resource/ResourceSchemaProvider.js +71 -0
  823. package/dist/strato-core/src/resource/SchemaRegistry.d.ts +71 -0
  824. package/dist/strato-core/src/resource/SchemaRegistry.js +212 -0
  825. package/dist/strato-core/src/resource/index.d.ts +6 -0
  826. package/dist/strato-core/src/resource/index.js +6 -0
  827. package/package.json +10 -4
  828. package/src/index.ts +3 -4
  829. package/src/resource/Resource.test.tsx +87 -0
  830. package/src/resource/Resource.tsx +62 -0
  831. package/src/resource/ResourceSchema.tsx +378 -57
  832. package/src/resource/ResourceSchemaProvider.tsx +17 -27
  833. package/src/resource/SchemaRegistry.tsx +295 -46
  834. package/src/resource/index.ts +2 -0
  835. package/src/resource/useConstructedPageTitle.ts +31 -0
  836. package/src/routing/index.ts +2 -0
  837. package/src/routing/useCreatePath.test.tsx +38 -0
  838. package/src/routing/useCreatePath.ts +40 -0
  839. package/src/routing/useGetPathForRecord.ts +127 -0
  840. package/src/settings/SettingsContext.ts +20 -0
  841. package/src/settings/useSettingValue.ts +32 -0
@@ -0,0 +1,78 @@
1
+ import * as React from 'react';
2
+ import { InputProps } from '../../form/useInput';
3
+ import { type UseReferenceArrayInputParams } from './useReferenceArrayInputController';
4
+ import { ChoicesContextValue } from '../../form/choices/ChoicesContext';
5
+ import { RaRecord } from '../../types';
6
+ /**
7
+ * An Input component for fields containing a list of references to another resource.
8
+ * Useful for 'hasMany' relationship.
9
+ *
10
+ * @example
11
+ * The post object has many tags, so the post resource looks like:
12
+ * {
13
+ * id: 1234,
14
+ * tag_ids: [ "1", "23", "4" ]
15
+ * }
16
+ *
17
+ * ReferenceArrayInputBase component fetches the current resources (using
18
+ * `dataProvider.getMany()`) as well as possible resources (using
19
+ * `dataProvider.getList()`) in the reference endpoint. It then
20
+ * delegates rendering to its child component, to which it makes the possible
21
+ * choices available through the ChoicesContext.
22
+ *
23
+ * Use it with a selector component as child, like `<SelectArrayInput>`
24
+ * or <CheckboxGroupInput>.
25
+ *
26
+ * @example
27
+ * export const PostEdit = () => (
28
+ * <Edit>
29
+ * <SimpleForm>
30
+ * <ReferenceArrayInputBase source="tag_ids" reference="tags">
31
+ * <SelectArrayInput optionText="name" />
32
+ * </ReferenceArrayInputBase>
33
+ * </SimpleForm>
34
+ * </Edit>
35
+ * );
36
+ *
37
+ * By default, restricts the possible values to 25. You can extend this limit
38
+ * by setting the `perPage` prop.
39
+ *
40
+ * @example
41
+ * <ReferenceArrayInputBase
42
+ * source="tag_ids"
43
+ * reference="tags"
44
+ * perPage={100}>
45
+ * <SelectArrayInput optionText="name" />
46
+ * </ReferenceArrayInputBase>
47
+ *
48
+ * By default, orders the possible values by id desc. You can change this order
49
+ * by setting the `sort` prop (an object with `field` and `order` properties).
50
+ *
51
+ * @example
52
+ * <ReferenceArrayInputBase
53
+ * source="tag_ids"
54
+ * reference="tags"
55
+ * sort={{ field: 'name', order: 'ASC' }}>
56
+ * <SelectArrayInput optionText="name" />
57
+ * </ReferenceArrayInputBase>
58
+ *
59
+ * Also, you can filter the query used to populate the possible values. Use the
60
+ * `filter` prop for that.
61
+ *
62
+ * @example
63
+ * <ReferenceArrayInputBase
64
+ * source="tag_ids"
65
+ * reference="tags"
66
+ * filter={{ is_public: true }}>
67
+ * <SelectArrayInput optionText="name" />
68
+ * </ReferenceArrayInputBase>
69
+ *
70
+ * The enclosed component may filter results. ReferenceArrayInputBase create a ChoicesContext which provides
71
+ * a `setFilters` function. You can call this function to filter the results.
72
+ */
73
+ export declare const ReferenceArrayInputBase: <RecordType extends RaRecord = any>(props: ReferenceArrayInputBaseProps<RecordType>) => import("react/jsx-runtime").JSX.Element;
74
+ export interface ReferenceArrayInputBaseProps<RecordType extends RaRecord = any> extends InputProps, UseReferenceArrayInputParams<RecordType> {
75
+ children?: React.ReactNode;
76
+ render?: (context: ChoicesContextValue<RecordType>) => React.ReactNode;
77
+ offline?: React.ReactNode;
78
+ }
@@ -0,0 +1,97 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { useReferenceArrayInputController, } from './useReferenceArrayInputController';
4
+ import { ResourceContextProvider } from '../../core/ResourceContextProvider';
5
+ import { ChoicesContextProvider } from '../../form/choices/ChoicesContextProvider';
6
+ /**
7
+ * An Input component for fields containing a list of references to another resource.
8
+ * Useful for 'hasMany' relationship.
9
+ *
10
+ * @example
11
+ * The post object has many tags, so the post resource looks like:
12
+ * {
13
+ * id: 1234,
14
+ * tag_ids: [ "1", "23", "4" ]
15
+ * }
16
+ *
17
+ * ReferenceArrayInputBase component fetches the current resources (using
18
+ * `dataProvider.getMany()`) as well as possible resources (using
19
+ * `dataProvider.getList()`) in the reference endpoint. It then
20
+ * delegates rendering to its child component, to which it makes the possible
21
+ * choices available through the ChoicesContext.
22
+ *
23
+ * Use it with a selector component as child, like `<SelectArrayInput>`
24
+ * or <CheckboxGroupInput>.
25
+ *
26
+ * @example
27
+ * export const PostEdit = () => (
28
+ * <Edit>
29
+ * <SimpleForm>
30
+ * <ReferenceArrayInputBase source="tag_ids" reference="tags">
31
+ * <SelectArrayInput optionText="name" />
32
+ * </ReferenceArrayInputBase>
33
+ * </SimpleForm>
34
+ * </Edit>
35
+ * );
36
+ *
37
+ * By default, restricts the possible values to 25. You can extend this limit
38
+ * by setting the `perPage` prop.
39
+ *
40
+ * @example
41
+ * <ReferenceArrayInputBase
42
+ * source="tag_ids"
43
+ * reference="tags"
44
+ * perPage={100}>
45
+ * <SelectArrayInput optionText="name" />
46
+ * </ReferenceArrayInputBase>
47
+ *
48
+ * By default, orders the possible values by id desc. You can change this order
49
+ * by setting the `sort` prop (an object with `field` and `order` properties).
50
+ *
51
+ * @example
52
+ * <ReferenceArrayInputBase
53
+ * source="tag_ids"
54
+ * reference="tags"
55
+ * sort={{ field: 'name', order: 'ASC' }}>
56
+ * <SelectArrayInput optionText="name" />
57
+ * </ReferenceArrayInputBase>
58
+ *
59
+ * Also, you can filter the query used to populate the possible values. Use the
60
+ * `filter` prop for that.
61
+ *
62
+ * @example
63
+ * <ReferenceArrayInputBase
64
+ * source="tag_ids"
65
+ * reference="tags"
66
+ * filter={{ is_public: true }}>
67
+ * <SelectArrayInput optionText="name" />
68
+ * </ReferenceArrayInputBase>
69
+ *
70
+ * The enclosed component may filter results. ReferenceArrayInputBase create a ChoicesContext which provides
71
+ * a `setFilters` function. You can call this function to filter the results.
72
+ */
73
+ export const ReferenceArrayInputBase = (props) => {
74
+ const { children, filter = defaultFilter, offline, reference, render, sort, } = props;
75
+ if (children && React.Children.count(children) !== 1) {
76
+ throw new Error('<ReferenceArrayInputBase> only accepts a single child (like <AutocompleteArrayInput>)');
77
+ }
78
+ if (!render && !children) {
79
+ throw new Error("<ReferenceArrayInputBase> requires either a 'render' prop or 'children' prop");
80
+ }
81
+ const controllerProps = useReferenceArrayInputController({
82
+ ...props,
83
+ sort,
84
+ filter,
85
+ });
86
+ const { isPaused, isPending } = controllerProps;
87
+ // isPending is true: there's no cached data and no query attempt was finished yet
88
+ // isPaused is true: the query was paused (e.g. due to a network issue)
89
+ // Both true: we're offline and have no data to show
90
+ const shouldRenderOffline = isPaused && isPending && offline !== undefined && offline !== false;
91
+ return (_jsx(ResourceContextProvider, { value: reference, children: _jsx(ChoicesContextProvider, { value: controllerProps, children: shouldRenderOffline
92
+ ? offline
93
+ : render
94
+ ? render(controllerProps)
95
+ : children }) }));
96
+ };
97
+ const defaultFilter = {};
@@ -0,0 +1,65 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { InputProps } from '../../form/useInput';
3
+ import { type UseReferenceInputControllerParams } from './useReferenceInputController';
4
+ /**
5
+ * An Input component for choosing a reference record. Useful for foreign keys.
6
+ *
7
+ * This component fetches the possible values in the reference resource
8
+ * (using `dataProvider.getList()`), and renders the child you passed
9
+ * to which it passes the possible choices via a `ChoicesContext`.
10
+ *
11
+ * You must pass a child selection component to customize the way the reference
12
+ * selector is displayed (e.g. using `<SelectInput>` or `<RadioButtonGroupInput>`
13
+ * instead of `<AutocompleteInput>` ).
14
+ *
15
+ * Note that the child component should handle the error and loading cases as this base component does not.
16
+ *
17
+ * @example // using a SelectInput as selector
18
+ * export const CommentEdit = () => (
19
+ * <Edit>
20
+ * <SimpleForm>
21
+ * <ReferenceInputBase label="Post" source="post_id" reference="posts">
22
+ * <SelectInput optionText="title" />
23
+ * </ReferenceInputBase>
24
+ * </SimpleForm>
25
+ * </Edit>
26
+ * );
27
+ *
28
+ * By default, restricts the possible values to 25. You can extend this limit
29
+ * by setting the `perPage` prop.
30
+ *
31
+ * @example
32
+ * <ReferenceInputBase source="post_id" reference="posts" perPage={100}/>
33
+ *
34
+ * By default, orders the possible values by id desc. You can change this order
35
+ * by setting the `sort` prop (an object with `field` and `order` properties).
36
+ *
37
+ * @example
38
+ * <ReferenceInputBase
39
+ * source="post_id"
40
+ * reference="posts"
41
+ * sort={{ field: 'title', order: 'ASC' }}
42
+ * >
43
+ * <SelectInput optionText="title" />
44
+ * </ReferenceInputBase>
45
+ *
46
+ * Also, you can filter the query used to populate the possible values. Use the
47
+ * `filter` prop for that.
48
+ *
49
+ * @example
50
+ * <ReferenceInputBase
51
+ * source="post_id"
52
+ * reference="posts"
53
+ * filter={{ is_published: true }}
54
+ * >
55
+ * <SelectInput optionText="title" />
56
+ * </ReferenceInputBase>
57
+ *
58
+ * The enclosed component may filter results. ReferenceInputBase create a ChoicesContext which provides
59
+ * a `setFilters` function. You can call this function to filter the results.
60
+ */
61
+ export declare const ReferenceInputBase: (props: ReferenceInputBaseProps) => import("react/jsx-runtime").JSX.Element;
62
+ export interface ReferenceInputBaseProps extends InputProps, UseReferenceInputControllerParams {
63
+ children?: ReactNode;
64
+ offline?: ReactNode;
65
+ }
@@ -0,0 +1,75 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ResourceContextProvider } from '../../core';
3
+ import { ChoicesContextProvider } from '../../form/choices/ChoicesContextProvider';
4
+ import { useReferenceInputController, } from './useReferenceInputController';
5
+ /**
6
+ * An Input component for choosing a reference record. Useful for foreign keys.
7
+ *
8
+ * This component fetches the possible values in the reference resource
9
+ * (using `dataProvider.getList()`), and renders the child you passed
10
+ * to which it passes the possible choices via a `ChoicesContext`.
11
+ *
12
+ * You must pass a child selection component to customize the way the reference
13
+ * selector is displayed (e.g. using `<SelectInput>` or `<RadioButtonGroupInput>`
14
+ * instead of `<AutocompleteInput>` ).
15
+ *
16
+ * Note that the child component should handle the error and loading cases as this base component does not.
17
+ *
18
+ * @example // using a SelectInput as selector
19
+ * export const CommentEdit = () => (
20
+ * <Edit>
21
+ * <SimpleForm>
22
+ * <ReferenceInputBase label="Post" source="post_id" reference="posts">
23
+ * <SelectInput optionText="title" />
24
+ * </ReferenceInputBase>
25
+ * </SimpleForm>
26
+ * </Edit>
27
+ * );
28
+ *
29
+ * By default, restricts the possible values to 25. You can extend this limit
30
+ * by setting the `perPage` prop.
31
+ *
32
+ * @example
33
+ * <ReferenceInputBase source="post_id" reference="posts" perPage={100}/>
34
+ *
35
+ * By default, orders the possible values by id desc. You can change this order
36
+ * by setting the `sort` prop (an object with `field` and `order` properties).
37
+ *
38
+ * @example
39
+ * <ReferenceInputBase
40
+ * source="post_id"
41
+ * reference="posts"
42
+ * sort={{ field: 'title', order: 'ASC' }}
43
+ * >
44
+ * <SelectInput optionText="title" />
45
+ * </ReferenceInputBase>
46
+ *
47
+ * Also, you can filter the query used to populate the possible values. Use the
48
+ * `filter` prop for that.
49
+ *
50
+ * @example
51
+ * <ReferenceInputBase
52
+ * source="post_id"
53
+ * reference="posts"
54
+ * filter={{ is_published: true }}
55
+ * >
56
+ * <SelectInput optionText="title" />
57
+ * </ReferenceInputBase>
58
+ *
59
+ * The enclosed component may filter results. ReferenceInputBase create a ChoicesContext which provides
60
+ * a `setFilters` function. You can call this function to filter the results.
61
+ */
62
+ export const ReferenceInputBase = (props) => {
63
+ const { children, filter = {}, offline, reference, sort = { field: 'id', order: 'DESC' }, } = props;
64
+ const controllerProps = useReferenceInputController({
65
+ ...props,
66
+ sort,
67
+ filter,
68
+ });
69
+ const { isPaused, isPending } = controllerProps;
70
+ // isPending is true: there's no cached data and no query attempt was finished yet
71
+ // isPaused is true: the query was paused (e.g. due to a network issue)
72
+ // Both true: we're offline and have no data to show
73
+ const shouldRenderOffline = isPaused && isPending && offline !== undefined && offline !== false;
74
+ return (_jsx(ResourceContextProvider, { value: reference, children: _jsx(ChoicesContextProvider, { value: controllerProps, children: shouldRenderOffline ? offline : children }) }));
75
+ };
@@ -0,0 +1,17 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type UseFieldArrayReturn } from 'react-hook-form';
3
+ import type { RaRecord } from '../../types';
4
+ export declare const SimpleFormIteratorBase: (props: SimpleFormIteratorBaseProps) => import("react/jsx-runtime").JSX.Element | null;
5
+ export interface SimpleFormIteratorBaseProps extends Partial<UseFieldArrayReturn> {
6
+ children: ReactNode;
7
+ inline?: boolean;
8
+ meta?: {
9
+ error?: any;
10
+ submitFailed?: boolean;
11
+ };
12
+ getItemDefaults?: (item: any) => any;
13
+ record?: RaRecord;
14
+ resource?: string;
15
+ source?: string;
16
+ disableAutoFocus?: boolean;
17
+ }
@@ -0,0 +1,55 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { useFormContext } from 'react-hook-form';
4
+ import { useWrappedSource } from '../../core/useWrappedSource';
5
+ import { useEvent } from '../../util';
6
+ import { useArrayInput } from './useArrayInput';
7
+ import { SimpleFormIteratorContext } from './SimpleFormIteratorContext';
8
+ const DefaultGetItemDefaults = item => item;
9
+ export const SimpleFormIteratorBase = (props) => {
10
+ const { children, getItemDefaults: getItemDefaultsProp = DefaultGetItemDefaults, disableAutoFocus = false, } = props;
11
+ const getItemDefaults = useEvent(getItemDefaultsProp);
12
+ const finalSource = useWrappedSource('');
13
+ if (!finalSource) {
14
+ throw new Error('SimpleFormIterator can only be called within an iterator input like ArrayInput');
15
+ }
16
+ const { append, fields, move, remove } = useArrayInput(props);
17
+ const { trigger, getValues } = useFormContext();
18
+ const removeField = useEvent((index) => {
19
+ remove(index);
20
+ const isScalarArray = getValues(finalSource).every((value) => typeof value !== 'object');
21
+ if (isScalarArray) {
22
+ // Trigger validation on the Array to avoid ghost errors.
23
+ // Otherwise, validation errors on removed fields might still be displayed
24
+ trigger(finalSource);
25
+ }
26
+ });
27
+ const addField = useEvent((item = undefined) => {
28
+ append(getItemDefaults(item), { shouldFocus: !disableAutoFocus });
29
+ });
30
+ const handleReorder = useEvent((origin, destination) => {
31
+ move(origin, destination);
32
+ });
33
+ const handleArrayClear = useEvent(() => {
34
+ remove();
35
+ });
36
+ const context = useMemo(() => ({
37
+ total: fields.length,
38
+ add: addField,
39
+ clear: handleArrayClear,
40
+ remove: removeField,
41
+ reOrder: handleReorder,
42
+ source: finalSource,
43
+ }), [
44
+ addField,
45
+ fields.length,
46
+ handleArrayClear,
47
+ handleReorder,
48
+ removeField,
49
+ finalSource,
50
+ ]);
51
+ if (!fields) {
52
+ return null;
53
+ }
54
+ return (_jsx(SimpleFormIteratorContext.Provider, { value: context, children: children }));
55
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * A React context that provides access to a SimpleFormIterator data (the total number of items) and mutators (add, reorder and remove).
3
+ * Useful to create custom array input iterators.
4
+ * @see {SimpleFormIterator}
5
+ * @see {ArrayInput}
6
+ */
7
+ export declare const SimpleFormIteratorContext: import("react").Context<SimpleFormIteratorContextValue | undefined>;
8
+ export type SimpleFormIteratorContextValue = {
9
+ add: (item?: any) => void;
10
+ clear: () => void;
11
+ remove: (index: number) => void;
12
+ reOrder: (index: number, newIndex: number) => void;
13
+ source: string;
14
+ total: number;
15
+ };
@@ -0,0 +1,8 @@
1
+ import { createContext } from 'react';
2
+ /**
3
+ * A React context that provides access to a SimpleFormIterator data (the total number of items) and mutators (add, reorder and remove).
4
+ * Useful to create custom array input iterators.
5
+ * @see {SimpleFormIterator}
6
+ * @see {ArrayInput}
7
+ */
8
+ export const SimpleFormIteratorContext = createContext(undefined);
@@ -0,0 +1,12 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { RaRecord } from '../../types';
3
+ import type { ArrayInputContextValue } from './ArrayInputContext';
4
+ export declare const SimpleFormIteratorItemBase: (props: SimpleFormIteratorItemBaseProps) => import("react/jsx-runtime").JSX.Element;
5
+ export type SimpleFormIteratorDisableRemoveFunction = (record: RaRecord) => boolean;
6
+ export type SimpleFormIteratorItemBaseProps = Partial<ArrayInputContextValue> & {
7
+ children?: ReactNode;
8
+ index: number;
9
+ record?: RaRecord;
10
+ resource?: string;
11
+ source?: string;
12
+ };
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { SourceContextProvider, useResourceContext, useSourceContext, } from '../../core';
4
+ import { useSimpleFormIterator } from './useSimpleFormIterator';
5
+ import { SimpleFormIteratorItemContext, } from './SimpleFormIteratorItemContext';
6
+ export const SimpleFormIteratorItemBase = (props) => {
7
+ const { children, index } = props;
8
+ const resource = useResourceContext(props);
9
+ if (!resource) {
10
+ throw new Error('SimpleFormIteratorItem must be used in a ResourceContextProvider or be passed a resource prop.');
11
+ }
12
+ const { total, reOrder, remove } = useSimpleFormIterator();
13
+ const context = useMemo(() => ({
14
+ index,
15
+ total,
16
+ reOrder: newIndex => reOrder(index, newIndex),
17
+ remove: () => remove(index),
18
+ }), [index, total, reOrder, remove]);
19
+ const parentSourceContext = useSourceContext();
20
+ const sourceContext = useMemo(() => ({
21
+ getSource: (source) => {
22
+ if (!source) {
23
+ // source can be empty for scalar values, e.g.
24
+ // <ArrayInput source="tags" /> => SourceContext is "tags"
25
+ // <SimpleFormIterator> => SourceContext is "tags.0"
26
+ // <TextInput /> => use its parent's getSource so finalSource = "tags.0"
27
+ // </SimpleFormIterator>
28
+ // </ArrayInput>
29
+ return parentSourceContext.getSource(`${index}`);
30
+ }
31
+ else {
32
+ // Normal input with source, e.g.
33
+ // <ArrayInput source="orders" /> => SourceContext is "orders"
34
+ // <SimpleFormIterator> => SourceContext is "orders.0"
35
+ // <DateInput source="date" /> => use its parent's getSource so finalSource = "orders.0.date"
36
+ // </SimpleFormIterator>
37
+ // </ArrayInput>
38
+ return parentSourceContext.getSource(`${index}.${source}`);
39
+ }
40
+ },
41
+ getLabel: (source) => {
42
+ // <ArrayInput source="orders" /> => LabelContext is "orders"
43
+ // <SimpleFormIterator> => LabelContext is ALSO "orders"
44
+ // <DateInput source="date" /> => use its parent's getLabel so finalLabel = "orders.date"
45
+ // </SimpleFormIterator>
46
+ // </ArrayInput>
47
+ //
48
+ // we don't prefix with the index to avoid that translation keys contain it
49
+ return parentSourceContext.getLabel(source);
50
+ },
51
+ }), [index, parentSourceContext]);
52
+ return (_jsx(SimpleFormIteratorItemContext.Provider, { value: context, children: _jsx(SourceContextProvider, { value: sourceContext, children: children }) }));
53
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A React context that provides access to a SimpleFormIterator item meta (its index and the total number of items) and mutators (reorder and remove this remove).
3
+ * Useful to create custom array input iterators.
4
+ * @see {SimpleFormIterator}
5
+ * @see {ArrayInput}
6
+ */
7
+ export declare const SimpleFormIteratorItemContext: import("react").Context<SimpleFormIteratorItemContextValue | undefined>;
8
+ export type SimpleFormIteratorItemContextValue = {
9
+ index: number;
10
+ total: number;
11
+ remove: () => void;
12
+ reOrder: (newIndex: number) => void;
13
+ };
@@ -0,0 +1,8 @@
1
+ import { createContext } from 'react';
2
+ /**
3
+ * A React context that provides access to a SimpleFormIterator item meta (its index and the total number of items) and mutators (reorder and remove this remove).
4
+ * Useful to create custom array input iterators.
5
+ * @see {SimpleFormIterator}
6
+ * @see {ArrayInput}
7
+ */
8
+ export const SimpleFormIteratorItemContext = createContext(undefined);
@@ -0,0 +1,17 @@
1
+ export * from './referenceDataStatus';
2
+ export * from './useReferenceArrayInputController';
3
+ export * from './useReferenceInputController';
4
+ export * from './ReferenceInputBase';
5
+ export * from './ReferenceArrayInputBase';
6
+ export * from './ArrayInputBase';
7
+ export * from './ArrayInputContext';
8
+ export * from './SimpleFormIteratorBase';
9
+ export * from './SimpleFormIteratorItemBase';
10
+ export * from './useArrayInput';
11
+ export * from './sanitizeInputRestProps';
12
+ export * from './SimpleFormIteratorContext';
13
+ export * from './SimpleFormIteratorItemContext';
14
+ export * from './useSimpleFormIterator';
15
+ export * from './useSimpleFormIteratorItem';
16
+ export * from './useGetArrayInputNewItemDefaults';
17
+ export * from './useSupportCreateSuggestion';
@@ -0,0 +1,17 @@
1
+ export * from './referenceDataStatus';
2
+ export * from './useReferenceArrayInputController';
3
+ export * from './useReferenceInputController';
4
+ export * from './ReferenceInputBase';
5
+ export * from './ReferenceArrayInputBase';
6
+ export * from './ArrayInputBase';
7
+ export * from './ArrayInputContext';
8
+ export * from './SimpleFormIteratorBase';
9
+ export * from './SimpleFormIteratorItemBase';
10
+ export * from './useArrayInput';
11
+ export * from './sanitizeInputRestProps';
12
+ export * from './SimpleFormIteratorContext';
13
+ export * from './SimpleFormIteratorItemContext';
14
+ export * from './useSimpleFormIterator';
15
+ export * from './useSimpleFormIteratorItem';
16
+ export * from './useGetArrayInputNewItemDefaults';
17
+ export * from './useSupportCreateSuggestion';
@@ -0,0 +1,32 @@
1
+ import { RaRecord, TranslateFunction } from '../../types';
2
+ import { MatchingReferencesError } from './types';
3
+ import { ControllerRenderProps } from 'react-hook-form';
4
+ interface GetStatusForInputParams<RecordType extends RaRecord = RaRecord> {
5
+ field: Pick<ControllerRenderProps, 'value'>;
6
+ matchingReferences: RecordType[] | MatchingReferencesError;
7
+ referenceRecord: RecordType;
8
+ translate: TranslateFunction;
9
+ }
10
+ export declare const getStatusForInput: <RecordType extends RaRecord = RaRecord>({ field, matchingReferences, referenceRecord, translate, }: GetStatusForInputParams<RecordType>) => {
11
+ waiting: any;
12
+ error: string | null;
13
+ warning: string | null;
14
+ choices: RecordType[];
15
+ };
16
+ export declare const REFERENCES_STATUS_READY = "REFERENCES_STATUS_READY";
17
+ export declare const REFERENCES_STATUS_INCOMPLETE = "REFERENCES_STATUS_INCOMPLETE";
18
+ export declare const REFERENCES_STATUS_EMPTY = "REFERENCES_STATUS_EMPTY";
19
+ export declare const getSelectedReferencesStatus: <RecordType extends RaRecord = any>(field: Pick<ControllerRenderProps, "value">, referenceRecords: RecordType[]) => "REFERENCES_STATUS_READY" | "REFERENCES_STATUS_INCOMPLETE" | "REFERENCES_STATUS_EMPTY";
20
+ interface GetStatusForArrayInputParams<RecordType extends RaRecord = any> {
21
+ field: ControllerRenderProps;
22
+ matchingReferences: RecordType[] | MatchingReferencesError;
23
+ referenceRecords: RecordType[];
24
+ translate: TranslateFunction;
25
+ }
26
+ export declare const getStatusForArrayInput: <RecordType extends RaRecord = any>({ field, matchingReferences, referenceRecords, translate, }: GetStatusForArrayInputParams<RecordType>) => {
27
+ waiting: boolean;
28
+ error: string | null;
29
+ warning: string | null;
30
+ choices: RecordType[];
31
+ };
32
+ export {};
@@ -0,0 +1,74 @@
1
+ const isMatchingReferencesError = (matchingReferences) => matchingReferences && matchingReferences.error !== undefined;
2
+ export const getStatusForInput = ({ field, matchingReferences, referenceRecord, translate = x => x, }) => {
3
+ const matchingReferencesError = isMatchingReferencesError(matchingReferences)
4
+ ? translate(matchingReferences.error, {
5
+ _: matchingReferences.error,
6
+ })
7
+ : null;
8
+ const selectedReferenceError = field.value && !referenceRecord
9
+ ? translate("strato.input.references.single_missing', {
10
+ _: "strato.input.references.single_missing',
11
+ })
12
+ : null;
13
+ return {
14
+ waiting: (field.value && selectedReferenceError && !matchingReferences) ||
15
+ (!field.value && !matchingReferences),
16
+ error: (field.value &&
17
+ selectedReferenceError &&
18
+ matchingReferencesError) ||
19
+ (!field.value && matchingReferencesError)
20
+ ? field.value
21
+ ? selectedReferenceError
22
+ : matchingReferencesError
23
+ : null,
24
+ warning: selectedReferenceError || matchingReferencesError,
25
+ choices: Array.isArray(matchingReferences)
26
+ ? matchingReferences
27
+ : [referenceRecord].filter(choice => choice),
28
+ };
29
+ };
30
+ export const REFERENCES_STATUS_READY = 'REFERENCES_STATUS_READY';
31
+ export const REFERENCES_STATUS_INCOMPLETE = 'REFERENCES_STATUS_INCOMPLETE';
32
+ export const REFERENCES_STATUS_EMPTY = 'REFERENCES_STATUS_EMPTY';
33
+ export const getSelectedReferencesStatus = (field, referenceRecords) => !field.value || field.value.length === referenceRecords.length
34
+ ? REFERENCES_STATUS_READY
35
+ : referenceRecords.length > 0
36
+ ? REFERENCES_STATUS_INCOMPLETE
37
+ : REFERENCES_STATUS_EMPTY;
38
+ export const getStatusForArrayInput = ({ field, matchingReferences, referenceRecords, translate = x => x, }) => {
39
+ // selectedReferencesDataStatus can be "empty" (no data was found for references from input.value)
40
+ // or "incomplete" (Not all of the reference data was found)
41
+ // or "ready" (all references data was found or there is no references from input.value)
42
+ const selectedReferencesDataStatus = getSelectedReferencesStatus(field, referenceRecords);
43
+ const matchingReferencesError = isMatchingReferencesError(matchingReferences)
44
+ ? translate(matchingReferences.error, {
45
+ _: matchingReferences.error,
46
+ })
47
+ : null;
48
+ const choices = Array.isArray(matchingReferences)
49
+ ? referenceRecords.concat(matchingReferences.filter(choice => referenceRecords.findIndex(c => c.id === choice.id) === -1))
50
+ : referenceRecords;
51
+ return {
52
+ waiting: (!matchingReferences &&
53
+ field.value &&
54
+ selectedReferencesDataStatus === REFERENCES_STATUS_EMPTY) ||
55
+ (!matchingReferences && !field.value),
56
+ error: matchingReferencesError &&
57
+ (!field.value ||
58
+ (field.value &&
59
+ selectedReferencesDataStatus === REFERENCES_STATUS_EMPTY))
60
+ ? translate("strato.input.references.all_missing', {
61
+ _: "strato.input.references.all_missing',
62
+ })
63
+ : null,
64
+ warning: matchingReferencesError ||
65
+ (field.value &&
66
+ selectedReferencesDataStatus !== REFERENCES_STATUS_READY)
67
+ ? matchingReferencesError ||
68
+ translate("strato.input.references.many_missing', {
69
+ _: "strato.input.references.many_missing',
70
+ })
71
+ : null,
72
+ choices,
73
+ };
74
+ };
@@ -0,0 +1 @@
1
+ export declare const sanitizeInputRestProps: ({ afterSubmit, allowNull, alwaysOn, beforeSubmit, component, data, defaultValue, error, format, formatOnBlur, initializeForm, input, isEqual, isRequired, label, limitChoicesToValue, locale, meta, multiple, name, options, optionText, optionValue, parse, record, ref, refetch, render, resource, setFilter, setPagination, setSort, shouldUnregister, source, submitError, subscription, textAlign, translate, translateChoice, validate, validateFields, value, ...rest }: any) => any;
@@ -0,0 +1 @@
1
+ export const sanitizeInputRestProps = ({ afterSubmit, allowNull, alwaysOn, beforeSubmit, component, data, defaultValue, error, format, formatOnBlur, initializeForm, input, isEqual, isRequired, label, limitChoicesToValue, locale, meta, multiple, name, options, optionText, optionValue, parse, record, ref, refetch, render, resource, setFilter, setPagination, setSort, shouldUnregister, source, submitError, subscription, textAlign, translate, translateChoice, validate, validateFields, value, ...rest }) => rest;