@strato-admin/faker-ecommerce 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 (519) hide show
  1. package/dist/dataProvider.js +1 -2
  2. package/dist/generate.d.ts +2 -1
  3. package/dist/generate.js +15 -8
  4. package/dist/ra-core/src/auth/LogoutOnMount.d.ts +8 -0
  5. package/dist/ra-core/src/auth/LogoutOnMount.js +16 -0
  6. package/dist/ra-core/src/auth/addRefreshAuthToAuthProvider.d.ts +22 -0
  7. package/dist/ra-core/src/auth/addRefreshAuthToAuthProvider.js +41 -0
  8. package/dist/ra-core/src/auth/addRefreshAuthToDataProvider.d.ts +21 -0
  9. package/dist/ra-core/src/auth/addRefreshAuthToDataProvider.js +30 -0
  10. package/dist/ra-core/src/auth/convertLegacyAuthProvider.d.ts +12 -0
  11. package/dist/ra-core/src/auth/convertLegacyAuthProvider.js +19 -0
  12. package/dist/ra-core/src/auth/index.d.ts +27 -0
  13. package/dist/ra-core/src/auth/index.js +34 -0
  14. package/dist/ra-core/src/auth/types.d.ts +7 -0
  15. package/dist/ra-core/src/auth/types.js +5 -0
  16. package/dist/ra-core/src/auth/useAuthProvider.d.ts +10 -0
  17. package/dist/ra-core/src/auth/useAuthProvider.js +11 -0
  18. package/dist/ra-core/src/auth/useAuthState.d.ts +48 -0
  19. package/dist/ra-core/src/auth/useAuthState.js +171 -0
  20. package/dist/ra-core/src/auth/useAuthenticated.d.ts +36 -0
  21. package/dist/ra-core/src/auth/useAuthenticated.js +34 -0
  22. package/dist/ra-core/src/auth/useCanAccess.d.ts +56 -0
  23. package/dist/ra-core/src/auth/useCanAccess.js +108 -0
  24. package/dist/ra-core/src/auth/useCanAccessCallback.d.ts +39 -0
  25. package/dist/ra-core/src/auth/useCanAccessCallback.js +45 -0
  26. package/dist/ra-core/src/auth/useCanAccessResources.d.ts +67 -0
  27. package/dist/ra-core/src/auth/useCanAccessResources.js +92 -0
  28. package/dist/ra-core/src/auth/useCheckAuth.d.ts +48 -0
  29. package/dist/ra-core/src/auth/useCheckAuth.js +76 -0
  30. package/dist/ra-core/src/auth/useGetIdentity.d.ts +41 -0
  31. package/dist/ra-core/src/auth/useGetIdentity.js +86 -0
  32. package/dist/ra-core/src/auth/useGetPermissions.d.ts +41 -0
  33. package/dist/ra-core/src/auth/useGetPermissions.js +47 -0
  34. package/dist/ra-core/src/auth/useHandleAuthCallback.d.ts +20 -0
  35. package/dist/ra-core/src/auth/useHandleAuthCallback.js +83 -0
  36. package/dist/ra-core/src/auth/useIsAuthPending.d.ts +13 -0
  37. package/dist/ra-core/src/auth/useIsAuthPending.js +30 -0
  38. package/dist/ra-core/src/auth/useLogin.d.ts +34 -0
  39. package/dist/ra-core/src/auth/useLogin.js +78 -0
  40. package/dist/ra-core/src/auth/useLogout.d.ts +31 -0
  41. package/dist/ra-core/src/auth/useLogout.js +117 -0
  42. package/dist/ra-core/src/auth/useLogoutIfAccessDenied.d.ts +42 -0
  43. package/dist/ra-core/src/auth/useLogoutIfAccessDenied.js +111 -0
  44. package/dist/ra-core/src/auth/usePermissions.d.ts +41 -0
  45. package/dist/ra-core/src/auth/usePermissions.js +123 -0
  46. package/dist/ra-core/src/controller/button/index.d.ts +7 -0
  47. package/dist/ra-core/src/controller/button/index.js +7 -0
  48. package/dist/ra-core/src/controller/button/useBulkDeleteController.d.ts +14 -0
  49. package/dist/ra-core/src/controller/button/useBulkDeleteController.js +66 -0
  50. package/dist/ra-core/src/controller/create/index.d.ts +6 -0
  51. package/dist/ra-core/src/controller/create/index.js +6 -0
  52. package/dist/ra-core/src/controller/create/useCreateController.d.ts +50 -0
  53. package/dist/ra-core/src/controller/create/useCreateController.js +149 -0
  54. package/dist/ra-core/src/controller/edit/index.d.ts +6 -0
  55. package/dist/ra-core/src/controller/edit/index.js +6 -0
  56. package/dist/ra-core/src/controller/edit/useEditController.d.ts +72 -0
  57. package/dist/ra-core/src/controller/edit/useEditController.js +206 -0
  58. package/dist/ra-core/src/controller/field/index.d.ts +12 -0
  59. package/dist/ra-core/src/controller/field/index.js +12 -0
  60. package/dist/ra-core/src/controller/field/sanitizeFieldRestProps.d.ts +1 -0
  61. package/dist/ra-core/src/controller/field/sanitizeFieldRestProps.js +1 -0
  62. package/dist/ra-core/src/controller/field/types.d.ts +28 -0
  63. package/dist/ra-core/src/controller/field/types.js +1 -0
  64. package/dist/ra-core/src/controller/field/useReferenceArrayFieldController.d.ts +39 -0
  65. package/dist/ra-core/src/controller/field/useReferenceArrayFieldController.js +82 -0
  66. package/dist/ra-core/src/controller/field/useReferenceFieldController.d.ts +14 -0
  67. package/dist/ra-core/src/controller/field/useReferenceFieldController.js +31 -0
  68. package/dist/ra-core/src/controller/field/useReferenceManyFieldController.d.ts +49 -0
  69. package/dist/ra-core/src/controller/field/useReferenceManyFieldController.js +264 -0
  70. package/dist/ra-core/src/controller/index.d.ts +17 -0
  71. package/dist/ra-core/src/controller/index.js +16 -0
  72. package/dist/ra-core/src/controller/input/ArrayInputContext.d.ts +9 -0
  73. package/dist/ra-core/src/controller/input/ArrayInputContext.js +8 -0
  74. package/dist/ra-core/src/controller/input/SimpleFormIteratorContext.d.ts +15 -0
  75. package/dist/ra-core/src/controller/input/SimpleFormIteratorContext.js +8 -0
  76. package/dist/ra-core/src/controller/input/SimpleFormIteratorItemContext.d.ts +13 -0
  77. package/dist/ra-core/src/controller/input/SimpleFormIteratorItemContext.js +8 -0
  78. package/dist/ra-core/src/controller/input/index.d.ts +17 -0
  79. package/dist/ra-core/src/controller/input/index.js +17 -0
  80. package/dist/ra-core/src/controller/input/referenceDataStatus.d.ts +32 -0
  81. package/dist/ra-core/src/controller/input/referenceDataStatus.js +74 -0
  82. package/dist/ra-core/src/controller/input/sanitizeInputRestProps.d.ts +1 -0
  83. package/dist/ra-core/src/controller/input/sanitizeInputRestProps.js +1 -0
  84. package/dist/ra-core/src/controller/input/types.d.ts +3 -0
  85. package/dist/ra-core/src/controller/input/types.js +1 -0
  86. package/dist/ra-core/src/controller/input/useArrayInput.d.ts +8 -0
  87. package/dist/ra-core/src/controller/input/useArrayInput.js +29 -0
  88. package/dist/ra-core/src/controller/input/useGetArrayInputNewItemDefaults.d.ts +3 -0
  89. package/dist/ra-core/src/controller/input/useGetArrayInputNewItemDefaults.js +37 -0
  90. package/dist/ra-core/src/controller/input/useReferenceArrayInputController.d.ts +48 -0
  91. package/dist/ra-core/src/controller/input/useReferenceArrayInputController.js +137 -0
  92. package/dist/ra-core/src/controller/input/useReferenceInputController.d.ts +54 -0
  93. package/dist/ra-core/src/controller/input/useReferenceInputController.js +208 -0
  94. package/dist/ra-core/src/controller/input/useReferenceParams.d.ts +106 -0
  95. package/dist/ra-core/src/controller/input/useReferenceParams.js +226 -0
  96. package/dist/ra-core/src/controller/input/useSimpleFormIterator.d.ts +7 -0
  97. package/dist/ra-core/src/controller/input/useSimpleFormIterator.js +15 -0
  98. package/dist/ra-core/src/controller/input/useSimpleFormIteratorItem.d.ts +7 -0
  99. package/dist/ra-core/src/controller/input/useSimpleFormIteratorItem.js +15 -0
  100. package/dist/ra-core/src/controller/list/InfinitePaginationContext.d.ts +25 -0
  101. package/dist/ra-core/src/controller/list/InfinitePaginationContext.js +32 -0
  102. package/dist/ra-core/src/controller/list/index.d.ts +30 -0
  103. package/dist/ra-core/src/controller/list/index.js +30 -0
  104. package/dist/ra-core/src/controller/list/queryReducer.d.ts +45 -0
  105. package/dist/ra-core/src/controller/list/queryReducer.js +85 -0
  106. package/dist/ra-core/src/controller/list/useFilterContext.d.ts +2 -0
  107. package/dist/ra-core/src/controller/list/useFilterContext.js +5 -0
  108. package/dist/ra-core/src/controller/list/useInfiniteListController.d.ts +44 -0
  109. package/dist/ra-core/src/controller/list/useInfiniteListController.js +175 -0
  110. package/dist/ra-core/src/controller/list/useInfinitePaginationContext.d.ts +16 -0
  111. package/dist/ra-core/src/controller/list/useInfinitePaginationContext.js +17 -0
  112. package/dist/ra-core/src/controller/list/useList.d.ts +55 -0
  113. package/dist/ra-core/src/controller/list/useList.js +223 -0
  114. package/dist/ra-core/src/controller/list/useListContext.d.ts +59 -0
  115. package/dist/ra-core/src/controller/list/useListContext.js +65 -0
  116. package/dist/ra-core/src/controller/list/useListContextWithProps.d.ts +44 -0
  117. package/dist/ra-core/src/controller/list/useListContextWithProps.js +84 -0
  118. package/dist/ra-core/src/controller/list/useListController.d.ts +296 -0
  119. package/dist/ra-core/src/controller/list/useListController.js +234 -0
  120. package/dist/ra-core/src/controller/list/useListFilterContext.d.ts +11 -0
  121. package/dist/ra-core/src/controller/list/useListFilterContext.js +18 -0
  122. package/dist/ra-core/src/controller/list/useListPaginationContext.d.ts +12 -0
  123. package/dist/ra-core/src/controller/list/useListPaginationContext.js +19 -0
  124. package/dist/ra-core/src/controller/list/useListParams.d.ts +116 -0
  125. package/dist/ra-core/src/controller/list/useListParams.js +281 -0
  126. package/dist/ra-core/src/controller/list/useListSortContext.d.ts +12 -0
  127. package/dist/ra-core/src/controller/list/useListSortContext.js +19 -0
  128. package/dist/ra-core/src/controller/list/useRecordSelection.d.ts +32 -0
  129. package/dist/ra-core/src/controller/list/useRecordSelection.js +93 -0
  130. package/dist/ra-core/src/controller/list/useSavedQueries.d.ts +14 -0
  131. package/dist/ra-core/src/controller/list/useSavedQueries.js +29 -0
  132. package/dist/ra-core/src/controller/list/useUnselect.d.ts +10 -0
  133. package/dist/ra-core/src/controller/list/useUnselect.js +18 -0
  134. package/dist/ra-core/src/controller/list/useUnselectAll.d.ts +9 -0
  135. package/dist/ra-core/src/controller/list/useUnselectAll.js +18 -0
  136. package/dist/ra-core/src/controller/record/index.d.ts +5 -0
  137. package/dist/ra-core/src/controller/record/index.js +5 -0
  138. package/dist/ra-core/src/controller/record/useRecordContext.d.ts +34 -0
  139. package/dist/ra-core/src/controller/record/useRecordContext.js +36 -0
  140. package/dist/ra-core/src/controller/saveContext/SaveContext.d.ts +20 -0
  141. package/dist/ra-core/src/controller/saveContext/SaveContext.js +2 -0
  142. package/dist/ra-core/src/controller/saveContext/index.d.ts +6 -0
  143. package/dist/ra-core/src/controller/saveContext/index.js +6 -0
  144. package/dist/ra-core/src/controller/saveContext/useMutationMiddlewares.d.ts +39 -0
  145. package/dist/ra-core/src/controller/saveContext/useMutationMiddlewares.js +79 -0
  146. package/dist/ra-core/src/controller/saveContext/usePickSaveContext.d.ts +5 -0
  147. package/dist/ra-core/src/controller/saveContext/usePickSaveContext.js +25 -0
  148. package/dist/ra-core/src/controller/saveContext/useRegisterMutationMiddleware.d.ts +6 -0
  149. package/dist/ra-core/src/controller/saveContext/useRegisterMutationMiddleware.js +18 -0
  150. package/dist/ra-core/src/controller/saveContext/useSaveContext.d.ts +14 -0
  151. package/dist/ra-core/src/controller/saveContext/useSaveContext.js +17 -0
  152. package/dist/ra-core/src/controller/show/index.d.ts +6 -0
  153. package/dist/ra-core/src/controller/show/index.js +6 -0
  154. package/dist/ra-core/src/controller/show/useShowController.d.ts +75 -0
  155. package/dist/ra-core/src/controller/show/useShowController.js +110 -0
  156. package/dist/ra-core/src/controller/useFilterState.d.ts +46 -0
  157. package/dist/ra-core/src/controller/useFilterState.js +70 -0
  158. package/dist/ra-core/src/controller/usePaginationState.d.ts +33 -0
  159. package/dist/ra-core/src/controller/usePaginationState.js +45 -0
  160. package/dist/ra-core/src/controller/usePrevNextController.d.ts +127 -0
  161. package/dist/ra-core/src/controller/usePrevNextController.js +215 -0
  162. package/dist/ra-core/src/controller/useReference.d.ts +49 -0
  163. package/dist/ra-core/src/controller/useReference.js +42 -0
  164. package/dist/ra-core/src/controller/useSortState.d.ts +61 -0
  165. package/dist/ra-core/src/controller/useSortState.js +96 -0
  166. package/dist/ra-core/src/core/DefaultTitleContext.d.ts +15 -0
  167. package/dist/ra-core/src/core/DefaultTitleContext.js +15 -0
  168. package/dist/ra-core/src/core/HasDashboardContext.d.ts +21 -0
  169. package/dist/ra-core/src/core/HasDashboardContext.js +22 -0
  170. package/dist/ra-core/src/core/ResourceContext.d.ts +19 -0
  171. package/dist/ra-core/src/core/ResourceContext.js +19 -0
  172. package/dist/ra-core/src/core/UserMenuContext.d.ts +34 -0
  173. package/dist/ra-core/src/core/UserMenuContext.js +28 -0
  174. package/dist/ra-core/src/core/index.d.ts +27 -0
  175. package/dist/ra-core/src/core/index.js +27 -0
  176. package/dist/ra-core/src/core/useGetRecordRepresentation.d.ts +13 -0
  177. package/dist/ra-core/src/core/useGetRecordRepresentation.js +44 -0
  178. package/dist/ra-core/src/core/useGetResourceLabel.d.ts +22 -0
  179. package/dist/ra-core/src/core/useGetResourceLabel.js +42 -0
  180. package/dist/ra-core/src/core/useIsOffline.d.ts +7 -0
  181. package/dist/ra-core/src/core/useIsOffline.js +18 -0
  182. package/dist/ra-core/src/core/useResourceContext.d.ts +36 -0
  183. package/dist/ra-core/src/core/useResourceContext.js +38 -0
  184. package/dist/ra-core/src/core/useResourceDefinition.d.ts +31 -0
  185. package/dist/ra-core/src/core/useResourceDefinition.js +48 -0
  186. package/dist/ra-core/src/core/useResourceDefinitionContext.d.ts +1 -0
  187. package/dist/ra-core/src/core/useResourceDefinitionContext.js +3 -0
  188. package/dist/ra-core/src/core/useResourceDefinitions.d.ts +21 -0
  189. package/dist/ra-core/src/core/useResourceDefinitions.js +20 -0
  190. package/dist/ra-core/src/core/useUserMenu.d.ts +28 -0
  191. package/dist/ra-core/src/core/useUserMenu.js +30 -0
  192. package/dist/ra-core/src/core/useWrappedSource.d.ts +11 -0
  193. package/dist/ra-core/src/core/useWrappedSource.js +15 -0
  194. package/dist/ra-core/src/dataProvider/DataProviderContext.d.ts +3 -0
  195. package/dist/ra-core/src/dataProvider/DataProviderContext.js +4 -0
  196. package/dist/ra-core/src/dataProvider/HttpError.d.ts +6 -0
  197. package/dist/ra-core/src/dataProvider/HttpError.js +19 -0
  198. package/dist/ra-core/src/dataProvider/combineDataProviders.d.ts +21 -0
  199. package/dist/ra-core/src/dataProvider/combineDataProviders.js +32 -0
  200. package/dist/ra-core/src/dataProvider/convertLegacyDataProvider.d.ts +12 -0
  201. package/dist/ra-core/src/dataProvider/convertLegacyDataProvider.js +40 -0
  202. package/dist/ra-core/src/dataProvider/dataFetchActions.d.ts +15 -0
  203. package/dist/ra-core/src/dataProvider/dataFetchActions.js +49 -0
  204. package/dist/ra-core/src/dataProvider/defaultDataProvider.d.ts +2 -0
  205. package/dist/ra-core/src/dataProvider/defaultDataProvider.js +12 -0
  206. package/dist/ra-core/src/dataProvider/fetch.d.ts +32 -0
  207. package/dist/ra-core/src/dataProvider/fetch.js +78 -0
  208. package/dist/ra-core/src/dataProvider/index.d.ts +34 -0
  209. package/dist/ra-core/src/dataProvider/index.js +33 -0
  210. package/dist/ra-core/src/dataProvider/populateQueryCache.d.ts +22 -0
  211. package/dist/ra-core/src/dataProvider/populateQueryCache.js +30 -0
  212. package/dist/ra-core/src/dataProvider/testDataProvider.d.ts +2 -0
  213. package/dist/ra-core/src/dataProvider/testDataProvider.js +41 -0
  214. package/dist/ra-core/src/dataProvider/undo/index.d.ts +6 -0
  215. package/dist/ra-core/src/dataProvider/undo/index.js +6 -0
  216. package/dist/ra-core/src/dataProvider/undo/types.d.ts +3 -0
  217. package/dist/ra-core/src/dataProvider/undo/types.js +1 -0
  218. package/dist/ra-core/src/dataProvider/undoableEventEmitter.d.ts +3 -0
  219. package/dist/ra-core/src/dataProvider/undoableEventEmitter.js +2 -0
  220. package/dist/ra-core/src/dataProvider/useCreate.d.ts +89 -0
  221. package/dist/ra-core/src/dataProvider/useCreate.js +155 -0
  222. package/dist/ra-core/src/dataProvider/useDataProvider.d.ts +2 -0
  223. package/dist/ra-core/src/dataProvider/useDataProvider.js +140 -0
  224. package/dist/ra-core/src/dataProvider/useDelete.d.ts +83 -0
  225. package/dist/ra-core/src/dataProvider/useDelete.js +171 -0
  226. package/dist/ra-core/src/dataProvider/useDeleteMany.d.ts +81 -0
  227. package/dist/ra-core/src/dataProvider/useDeleteMany.js +193 -0
  228. package/dist/ra-core/src/dataProvider/useGetList.d.ts +58 -0
  229. package/dist/ra-core/src/dataProvider/useGetList.js +131 -0
  230. package/dist/ra-core/src/dataProvider/useGetMany.d.ts +49 -0
  231. package/dist/ra-core/src/dataProvider/useGetMany.js +143 -0
  232. package/dist/ra-core/src/dataProvider/useGetManyAggregate.d.ts +62 -0
  233. package/dist/ra-core/src/dataProvider/useGetManyAggregate.js +295 -0
  234. package/dist/ra-core/src/dataProvider/useGetManyReference.d.ts +62 -0
  235. package/dist/ra-core/src/dataProvider/useGetManyReference.js +117 -0
  236. package/dist/ra-core/src/dataProvider/useGetOne.d.ts +48 -0
  237. package/dist/ra-core/src/dataProvider/useGetOne.js +94 -0
  238. package/dist/ra-core/src/dataProvider/useGetRecordId.d.ts +14 -0
  239. package/dist/ra-core/src/dataProvider/useGetRecordId.js +22 -0
  240. package/dist/ra-core/src/dataProvider/useInfiniteGetList.d.ts +64 -0
  241. package/dist/ra-core/src/dataProvider/useInfiniteGetList.js +177 -0
  242. package/dist/ra-core/src/dataProvider/useIsDataLoaded.d.ts +13 -0
  243. package/dist/ra-core/src/dataProvider/useIsDataLoaded.js +35 -0
  244. package/dist/ra-core/src/dataProvider/useLoading.d.ts +12 -0
  245. package/dist/ra-core/src/dataProvider/useLoading.js +41 -0
  246. package/dist/ra-core/src/dataProvider/useMutationWithMutationMode.d.ts +51 -0
  247. package/dist/ra-core/src/dataProvider/useMutationWithMutationMode.js +238 -0
  248. package/dist/ra-core/src/dataProvider/useRefresh.d.ts +14 -0
  249. package/dist/ra-core/src/dataProvider/useRefresh.js +21 -0
  250. package/dist/ra-core/src/dataProvider/useUpdate.d.ts +89 -0
  251. package/dist/ra-core/src/dataProvider/useUpdate.js +183 -0
  252. package/dist/ra-core/src/dataProvider/useUpdateMany.d.ts +81 -0
  253. package/dist/ra-core/src/dataProvider/useUpdateMany.js +171 -0
  254. package/dist/ra-core/src/dataProvider/validateResponseFormat.d.ts +5 -0
  255. package/dist/ra-core/src/dataProvider/validateResponseFormat.js +35 -0
  256. package/dist/ra-core/src/dataProvider/withLifecycleCallbacks.d.ts +162 -0
  257. package/dist/ra-core/src/dataProvider/withLifecycleCallbacks.js +377 -0
  258. package/dist/ra-core/src/dataTable/DataTableCallbacksContext.d.ts +18 -0
  259. package/dist/ra-core/src/dataTable/DataTableCallbacksContext.js +3 -0
  260. package/dist/ra-core/src/dataTable/DataTableColumnFilterContext.d.ts +2 -0
  261. package/dist/ra-core/src/dataTable/DataTableColumnFilterContext.js +3 -0
  262. package/dist/ra-core/src/dataTable/DataTableColumnRankContext.d.ts +2 -0
  263. package/dist/ra-core/src/dataTable/DataTableColumnRankContext.js +3 -0
  264. package/dist/ra-core/src/dataTable/DataTableConfigContext.d.ts +22 -0
  265. package/dist/ra-core/src/dataTable/DataTableConfigContext.js +7 -0
  266. package/dist/ra-core/src/dataTable/DataTableDataContext.d.ts +4 -0
  267. package/dist/ra-core/src/dataTable/DataTableDataContext.js +3 -0
  268. package/dist/ra-core/src/dataTable/DataTableRenderContext.d.ts +3 -0
  269. package/dist/ra-core/src/dataTable/DataTableRenderContext.js +3 -0
  270. package/dist/ra-core/src/dataTable/DataTableSelectedIdsContext.d.ts +3 -0
  271. package/dist/ra-core/src/dataTable/DataTableSelectedIdsContext.js +3 -0
  272. package/dist/ra-core/src/dataTable/DataTableSortContext.d.ts +3 -0
  273. package/dist/ra-core/src/dataTable/DataTableSortContext.js +3 -0
  274. package/dist/ra-core/src/dataTable/DataTableStoreContext.d.ts +8 -0
  275. package/dist/ra-core/src/dataTable/DataTableStoreContext.js +6 -0
  276. package/dist/ra-core/src/dataTable/index.d.ts +11 -0
  277. package/dist/ra-core/src/dataTable/index.js +11 -0
  278. package/dist/ra-core/src/dataTable/types.d.ts +2 -0
  279. package/dist/ra-core/src/dataTable/types.js +1 -0
  280. package/dist/ra-core/src/export/ExporterContext.d.ts +2 -0
  281. package/dist/ra-core/src/export/ExporterContext.js +4 -0
  282. package/dist/ra-core/src/export/defaultExporter.d.ts +2 -0
  283. package/dist/ra-core/src/export/defaultExporter.js +3 -0
  284. package/dist/ra-core/src/export/downloadCSV.d.ts +1 -0
  285. package/dist/ra-core/src/export/downloadCSV.js +17 -0
  286. package/dist/ra-core/src/export/fetchRelatedRecords.d.ts +14 -0
  287. package/dist/ra-core/src/export/fetchRelatedRecords.js +19 -0
  288. package/dist/ra-core/src/export/getRelatedIds.d.ts +24 -0
  289. package/dist/ra-core/src/export/getRelatedIds.js +26 -0
  290. package/dist/ra-core/src/export/index.d.ts +5 -0
  291. package/dist/ra-core/src/export/index.js +5 -0
  292. package/dist/ra-core/src/export/useBulkExport.d.ts +11 -0
  293. package/dist/ra-core/src/export/useBulkExport.js +30 -0
  294. package/dist/ra-core/src/form/WarnWhenUnsavedChanges.d.ts +5 -0
  295. package/dist/ra-core/src/form/WarnWhenUnsavedChanges.js +5 -0
  296. package/dist/ra-core/src/form/choices/ChoicesContext.d.ts +65 -0
  297. package/dist/ra-core/src/form/choices/ChoicesContext.js +7 -0
  298. package/dist/ra-core/src/form/choices/index.d.ts +4 -0
  299. package/dist/ra-core/src/form/choices/index.js +4 -0
  300. package/dist/ra-core/src/form/choices/useChoicesContext.d.ts +5 -0
  301. package/dist/ra-core/src/form/choices/useChoicesContext.js +62 -0
  302. package/dist/ra-core/src/form/getFormInitialValues.d.ts +8 -0
  303. package/dist/ra-core/src/form/getFormInitialValues.js +14 -0
  304. package/dist/ra-core/src/form/groups/FormGroupContext.d.ts +9 -0
  305. package/dist/ra-core/src/form/groups/FormGroupContext.js +9 -0
  306. package/dist/ra-core/src/form/groups/index.d.ts +6 -0
  307. package/dist/ra-core/src/form/groups/index.js +6 -0
  308. package/dist/ra-core/src/form/groups/useFormGroup.d.ts +67 -0
  309. package/dist/ra-core/src/form/groups/useFormGroup.js +146 -0
  310. package/dist/ra-core/src/form/groups/useFormGroupContext.d.ts +4 -0
  311. package/dist/ra-core/src/form/groups/useFormGroupContext.js +9 -0
  312. package/dist/ra-core/src/form/groups/useFormGroups.d.ts +4 -0
  313. package/dist/ra-core/src/form/groups/useFormGroups.js +9 -0
  314. package/dist/ra-core/src/form/index.d.ts +14 -0
  315. package/dist/ra-core/src/form/index.js +14 -0
  316. package/dist/ra-core/src/form/sanitizeEmptyValues.d.ts +7 -0
  317. package/dist/ra-core/src/form/sanitizeEmptyValues.js +26 -0
  318. package/dist/ra-core/src/form/useApplyInputDefaultValues.d.ts +19 -0
  319. package/dist/ra-core/src/form/useApplyInputDefaultValues.js +71 -0
  320. package/dist/ra-core/src/form/useAugmentedForm.d.ts +32 -0
  321. package/dist/ra-core/src/form/useAugmentedForm.js +101 -0
  322. package/dist/ra-core/src/form/useFormIsDirty.d.ts +4 -0
  323. package/dist/ra-core/src/form/useFormIsDirty.js +39 -0
  324. package/dist/ra-core/src/form/useInput.d.ts +33 -0
  325. package/dist/ra-core/src/form/useInput.js +100 -0
  326. package/dist/ra-core/src/form/useRecordFromLocation.d.ts +22 -0
  327. package/dist/ra-core/src/form/useRecordFromLocation.js +59 -0
  328. package/dist/ra-core/src/form/useSuggestions.d.ts +43 -0
  329. package/dist/ra-core/src/form/useSuggestions.js +186 -0
  330. package/dist/ra-core/src/form/validation/getSimpleValidationResolver.d.ts +31 -0
  331. package/dist/ra-core/src/form/validation/getSimpleValidationResolver.js +87 -0
  332. package/dist/ra-core/src/form/validation/index.d.ts +7 -0
  333. package/dist/ra-core/src/form/validation/index.js +7 -0
  334. package/dist/ra-core/src/form/validation/setSubmissionErrors.d.ts +21 -0
  335. package/dist/ra-core/src/form/validation/setSubmissionErrors.js +34 -0
  336. package/dist/ra-core/src/form/validation/useGetValidationErrorMessage.d.ts +26 -0
  337. package/dist/ra-core/src/form/validation/useGetValidationErrorMessage.js +35 -0
  338. package/dist/ra-core/src/form/validation/useNotifyIsFormInvalid.d.ts +9 -0
  339. package/dist/ra-core/src/form/validation/useNotifyIsFormInvalid.js +30 -0
  340. package/dist/ra-core/src/form/validation/useUnique.d.ts +57 -0
  341. package/dist/ra-core/src/form/validation/useUnique.js +107 -0
  342. package/dist/ra-core/src/form/validation/validate.d.ts +168 -0
  343. package/dist/ra-core/src/form/validation/validate.js +218 -0
  344. package/dist/ra-core/src/i18n/I18nContext.d.ts +3 -0
  345. package/dist/ra-core/src/i18n/I18nContext.js +11 -0
  346. package/dist/ra-core/src/i18n/TranslatableContext.d.ts +16 -0
  347. package/dist/ra-core/src/i18n/TranslatableContext.js +2 -0
  348. package/dist/ra-core/src/i18n/TranslationMessages.d.ts +221 -0
  349. package/dist/ra-core/src/i18n/TranslationMessages.js +1 -0
  350. package/dist/ra-core/src/i18n/TranslationUtils.d.ts +60 -0
  351. package/dist/ra-core/src/i18n/TranslationUtils.js +70 -0
  352. package/dist/ra-core/src/i18n/index.d.ts +20 -0
  353. package/dist/ra-core/src/i18n/index.js +20 -0
  354. package/dist/ra-core/src/i18n/substituteTokens.d.ts +8 -0
  355. package/dist/ra-core/src/i18n/substituteTokens.js +18 -0
  356. package/dist/ra-core/src/i18n/useI18nProvider.d.ts +12 -0
  357. package/dist/ra-core/src/i18n/useI18nProvider.js +14 -0
  358. package/dist/ra-core/src/i18n/useLocales.d.ts +31 -0
  359. package/dist/ra-core/src/i18n/useLocales.js +28 -0
  360. package/dist/ra-core/src/i18n/useResourceTranslation.d.ts +8 -0
  361. package/dist/ra-core/src/i18n/useResourceTranslation.js +18 -0
  362. package/dist/ra-core/src/i18n/useTranslatable.d.ts +29 -0
  363. package/dist/ra-core/src/i18n/useTranslatable.js +98 -0
  364. package/dist/ra-core/src/i18n/useTranslatableContext.d.ts +31 -0
  365. package/dist/ra-core/src/i18n/useTranslatableContext.js +38 -0
  366. package/dist/ra-core/src/i18n/useTranslate.d.ts +21 -0
  367. package/dist/ra-core/src/i18n/useTranslate.js +29 -0
  368. package/dist/ra-core/src/i18n/useTranslateLabel.d.ts +6 -0
  369. package/dist/ra-core/src/i18n/useTranslateLabel.js +26 -0
  370. package/dist/ra-core/src/index.d.ts +16 -0
  371. package/dist/ra-core/src/index.js +16 -0
  372. package/dist/ra-core/src/inference/InferredElement.d.ts +12 -0
  373. package/dist/ra-core/src/inference/InferredElement.js +40 -0
  374. package/dist/ra-core/src/inference/assertions.d.ts +26 -0
  375. package/dist/ra-core/src/inference/assertions.js +38 -0
  376. package/dist/ra-core/src/inference/getElementsFromRecords.d.ts +35 -0
  377. package/dist/ra-core/src/inference/getElementsFromRecords.js +39 -0
  378. package/dist/ra-core/src/inference/getValuesFromRecords.d.ts +28 -0
  379. package/dist/ra-core/src/inference/getValuesFromRecords.js +40 -0
  380. package/dist/ra-core/src/inference/index.d.ts +6 -0
  381. package/dist/ra-core/src/inference/index.js +6 -0
  382. package/dist/ra-core/src/inference/inferTypeFromValues.d.ts +21 -0
  383. package/dist/ra-core/src/inference/inferTypeFromValues.js +141 -0
  384. package/dist/ra-core/src/inference/types.d.ts +9 -0
  385. package/dist/ra-core/src/inference/types.js +1 -0
  386. package/dist/ra-core/src/notification/CloseNotificationContext.d.ts +2 -0
  387. package/dist/ra-core/src/notification/CloseNotificationContext.js +2 -0
  388. package/dist/ra-core/src/notification/NotificationContext.d.ts +37 -0
  389. package/dist/ra-core/src/notification/NotificationContext.js +35 -0
  390. package/dist/ra-core/src/notification/index.d.ts +9 -0
  391. package/dist/ra-core/src/notification/index.js +9 -0
  392. package/dist/ra-core/src/notification/types.d.ts +14 -0
  393. package/dist/ra-core/src/notification/types.js +1 -0
  394. package/dist/ra-core/src/notification/useCloseNotification.d.ts +1 -0
  395. package/dist/ra-core/src/notification/useCloseNotification.js +9 -0
  396. package/dist/ra-core/src/notification/useNotificationContext.d.ts +1 -0
  397. package/dist/ra-core/src/notification/useNotificationContext.js +3 -0
  398. package/dist/ra-core/src/notification/useNotify.d.ts +20 -0
  399. package/dist/ra-core/src/notification/useNotify.js +28 -0
  400. package/dist/ra-core/src/preferences/index.d.ts +7 -0
  401. package/dist/ra-core/src/preferences/index.js +7 -0
  402. package/dist/ra-core/src/preferences/usePreference.d.ts +18 -0
  403. package/dist/ra-core/src/preferences/usePreference.js +10 -0
  404. package/dist/ra-core/src/preferences/usePreferenceInput.d.ts +22 -0
  405. package/dist/ra-core/src/preferences/usePreferenceInput.js +43 -0
  406. package/dist/ra-core/src/preferences/usePreferencesEditor.d.ts +2 -0
  407. package/dist/ra-core/src/preferences/usePreferencesEditor.js +9 -0
  408. package/dist/ra-core/src/preferences/useSetInspectorTitle.d.ts +7 -0
  409. package/dist/ra-core/src/preferences/useSetInspectorTitle.js +19 -0
  410. package/dist/ra-core/src/routing/BasenameContext.d.ts +1 -0
  411. package/dist/ra-core/src/routing/BasenameContext.js +2 -0
  412. package/dist/ra-core/src/routing/RouterProvider.d.ts +163 -0
  413. package/dist/ra-core/src/routing/RouterProvider.js +1 -0
  414. package/dist/ra-core/src/routing/index.d.ts +28 -0
  415. package/dist/ra-core/src/routing/index.js +28 -0
  416. package/dist/ra-core/src/routing/types.d.ts +3 -0
  417. package/dist/ra-core/src/routing/types.js +1 -0
  418. package/dist/ra-core/src/routing/useBasename.d.ts +21 -0
  419. package/dist/ra-core/src/routing/useBasename.js +23 -0
  420. package/dist/ra-core/src/routing/useBlocker.d.ts +14 -0
  421. package/dist/ra-core/src/routing/useBlocker.js +17 -0
  422. package/dist/ra-core/src/routing/useCanBlock.d.ts +7 -0
  423. package/dist/ra-core/src/routing/useCanBlock.js +11 -0
  424. package/dist/ra-core/src/routing/useCreatePath.d.ts +42 -0
  425. package/dist/ra-core/src/routing/useCreatePath.js +69 -0
  426. package/dist/ra-core/src/routing/useGetPathForRecord.d.ts +42 -0
  427. package/dist/ra-core/src/routing/useGetPathForRecord.js +135 -0
  428. package/dist/ra-core/src/routing/useGetPathForRecordCallback.d.ts +6 -0
  429. package/dist/ra-core/src/routing/useGetPathForRecordCallback.js +82 -0
  430. package/dist/ra-core/src/routing/useInRouterContext.d.ts +11 -0
  431. package/dist/ra-core/src/routing/useInRouterContext.js +15 -0
  432. package/dist/ra-core/src/routing/useLocation.d.ts +10 -0
  433. package/dist/ra-core/src/routing/useLocation.js +13 -0
  434. package/dist/ra-core/src/routing/useMatch.d.ts +15 -0
  435. package/dist/ra-core/src/routing/useMatch.js +15 -0
  436. package/dist/ra-core/src/routing/useMatchPath.d.ts +17 -0
  437. package/dist/ra-core/src/routing/useMatchPath.js +17 -0
  438. package/dist/ra-core/src/routing/useNavigate.d.ts +12 -0
  439. package/dist/ra-core/src/routing/useNavigate.js +15 -0
  440. package/dist/ra-core/src/routing/useParams.d.ts +9 -0
  441. package/dist/ra-core/src/routing/useParams.js +13 -0
  442. package/dist/ra-core/src/routing/useRedirect.d.ts +30 -0
  443. package/dist/ra-core/src/routing/useRedirect.js +66 -0
  444. package/dist/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.d.ts +7 -0
  445. package/dist/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.js +17 -0
  446. package/dist/ra-core/src/routing/useRestoreScrollPosition.d.ts +40 -0
  447. package/dist/ra-core/src/routing/useRestoreScrollPosition.js +70 -0
  448. package/dist/ra-core/src/routing/useSplatPathBase.d.ts +13 -0
  449. package/dist/ra-core/src/routing/useSplatPathBase.js +21 -0
  450. package/dist/ra-core/src/store/index.d.ts +11 -0
  451. package/dist/ra-core/src/store/index.js +11 -0
  452. package/dist/ra-core/src/store/localStorageStore.d.ts +27 -0
  453. package/dist/ra-core/src/store/localStorageStore.js +198 -0
  454. package/dist/ra-core/src/store/types.d.ts +11 -0
  455. package/dist/ra-core/src/store/types.js +1 -0
  456. package/dist/ra-core/src/store/useRemoveFromStore.d.ts +17 -0
  457. package/dist/ra-core/src/store/useRemoveFromStore.js +29 -0
  458. package/dist/ra-core/src/store/useRemoveItemsFromStore.d.ts +17 -0
  459. package/dist/ra-core/src/store/useRemoveItemsFromStore.js +29 -0
  460. package/dist/ra-core/src/store/useResetStore.d.ts +17 -0
  461. package/dist/ra-core/src/store/useResetStore.js +21 -0
  462. package/dist/ra-core/src/store/useStore.d.ts +48 -0
  463. package/dist/ra-core/src/store/useStore.js +32 -0
  464. package/dist/ra-core/src/store/useStoreContext.d.ts +4 -0
  465. package/dist/ra-core/src/store/useStoreContext.js +6 -0
  466. package/dist/ra-core/src/test-ui/defaultI18nProvider.d.ts +2 -0
  467. package/dist/ra-core/src/test-ui/defaultI18nProvider.js +10 -0
  468. package/dist/ra-core/src/test-ui/index.d.ts +21 -0
  469. package/dist/ra-core/src/test-ui/index.js +21 -0
  470. package/dist/ra-core/src/types.d.ts +284 -0
  471. package/dist/ra-core/src/types.js +5 -0
  472. package/dist/ra-core/src/util/asyncDebounce.d.ts +7 -0
  473. package/dist/ra-core/src/util/asyncDebounce.js +29 -0
  474. package/dist/ra-core/src/util/escapePath.d.ts +11 -0
  475. package/dist/ra-core/src/util/escapePath.js +10 -0
  476. package/dist/ra-core/src/util/genericMemo.d.ts +5 -0
  477. package/dist/ra-core/src/util/genericMemo.js +14 -0
  478. package/dist/ra-core/src/util/getFieldLabelTranslationArgs.d.ts +22 -0
  479. package/dist/ra-core/src/util/getFieldLabelTranslationArgs.js +73 -0
  480. package/dist/ra-core/src/util/getMutationMode.d.ts +1 -0
  481. package/dist/ra-core/src/util/getMutationMode.js +13 -0
  482. package/dist/ra-core/src/util/hooks.d.ts +15 -0
  483. package/dist/ra-core/src/util/hooks.js +73 -0
  484. package/dist/ra-core/src/util/index.d.ts +20 -0
  485. package/dist/ra-core/src/util/index.js +19 -0
  486. package/dist/ra-core/src/util/mergeRefs.d.ts +2 -0
  487. package/dist/ra-core/src/util/mergeRefs.js +13 -0
  488. package/dist/ra-core/src/util/removeEmpty.d.ts +2 -0
  489. package/dist/ra-core/src/util/removeEmpty.js +16 -0
  490. package/dist/ra-core/src/util/removeKey.d.ts +2 -0
  491. package/dist/ra-core/src/util/removeKey.js +22 -0
  492. package/dist/ra-core/src/util/shallowEqual.d.ts +1 -0
  493. package/dist/ra-core/src/util/shallowEqual.js +29 -0
  494. package/dist/ra-core/src/util/useCheckForApplicationUpdate.d.ts +21 -0
  495. package/dist/ra-core/src/util/useCheckForApplicationUpdate.js +84 -0
  496. package/dist/ra-core/src/util/useDebouncedEvent.d.ts +8 -0
  497. package/dist/ra-core/src/util/useDebouncedEvent.js +28 -0
  498. package/dist/ra-core/src/util/useEvent.d.ts +7 -0
  499. package/dist/ra-core/src/util/useEvent.js +19 -0
  500. package/dist/ra-core/src/util/useFieldValue.d.ts +21 -0
  501. package/dist/ra-core/src/util/useFieldValue.js +27 -0
  502. package/dist/ra-core/src/util/useWhyDidYouUpdate.d.ts +12 -0
  503. package/dist/ra-core/src/util/useWhyDidYouUpdate.js +42 -0
  504. package/dist/ra-core/src/util/warning.d.ts +2 -0
  505. package/dist/ra-core/src/util/warning.js +5 -0
  506. package/dist/strato-faker-ecommerce/src/dataProvider.d.ts +2 -0
  507. package/dist/strato-faker-ecommerce/src/dataProvider.js +6 -0
  508. package/dist/strato-faker-ecommerce/src/generate.d.ts +8 -0
  509. package/dist/strato-faker-ecommerce/src/generate.js +148 -0
  510. package/dist/strato-faker-ecommerce/src/index.d.ts +3 -0
  511. package/dist/strato-faker-ecommerce/src/index.js +3 -0
  512. package/dist/strato-faker-ecommerce/src/types.d.ts +69 -0
  513. package/dist/strato-faker-ecommerce/src/types.js +1 -0
  514. package/dist/types.d.ts +1 -1
  515. package/package.json +6 -5
  516. package/src/dataProvider.ts +3 -3
  517. package/src/generate.test.ts +12 -12
  518. package/src/generate.ts +21 -14
  519. package/src/types.ts +1 -1
@@ -0,0 +1,31 @@
1
+ import { TranslatableContextValue } from './TranslatableContext';
2
+ /**
3
+ * Gives access to the current TranslatableContext.
4
+ *
5
+ * @example
6
+ * <TranslatableFields
7
+ * selector={<MyLanguageSelector />}
8
+ * locales={['en', 'fr']}
9
+ * >
10
+ * <TextField source={getSource('title')} />
11
+ * <TranslatableFields>
12
+ *
13
+ * const MyLanguageSelector = () => {
14
+ * const {
15
+ * locales,
16
+ * selectedLocale,
17
+ * selectLocale,
18
+ * } = useTranslatableContext();
19
+ *
20
+ * return (
21
+ * <select onChange={selectLocale}>
22
+ * {locales.map((locale) => (
23
+ * <option selected={locale.locale === selectedLocale}>
24
+ * {locale.name}
25
+ * </option>
26
+ * ))}
27
+ * </select>
28
+ * );
29
+ * }
30
+ */
31
+ export declare const useTranslatableContext: () => TranslatableContextValue;
@@ -0,0 +1,38 @@
1
+ import { useContext } from 'react';
2
+ import { TranslatableContext, } from './TranslatableContext';
3
+ /**
4
+ * Gives access to the current TranslatableContext.
5
+ *
6
+ * @example
7
+ * <TranslatableFields
8
+ * selector={<MyLanguageSelector />}
9
+ * locales={['en', 'fr']}
10
+ * >
11
+ * <TextField source={getSource('title')} />
12
+ * <TranslatableFields>
13
+ *
14
+ * const MyLanguageSelector = () => {
15
+ * const {
16
+ * locales,
17
+ * selectedLocale,
18
+ * selectLocale,
19
+ * } = useTranslatableContext();
20
+ *
21
+ * return (
22
+ * <select onChange={selectLocale}>
23
+ * {locales.map((locale) => (
24
+ * <option selected={locale.locale === selectedLocale}>
25
+ * {locale.name}
26
+ * </option>
27
+ * ))}
28
+ * </select>
29
+ * );
30
+ * }
31
+ */
32
+ export const useTranslatableContext = () => {
33
+ const context = useContext(TranslatableContext);
34
+ if (!context) {
35
+ throw new Error('useTranslatableContext must be used inside a TranslatableContextProvider');
36
+ }
37
+ return context;
38
+ };
@@ -0,0 +1,21 @@
1
+ import { TranslateFunction } from '../types';
2
+ /**
3
+ * Translate a string using the current locale and the translations from the i18nProvider
4
+ *
5
+ * @see Polyglot.t()
6
+ * @link https://airbnb.io/polyglot.js/#polyglotprototypetkey-interpolationoptions
7
+ *
8
+ * @return {Function} A translation function, accepting two arguments
9
+ * - a string used as key in the translations
10
+ * - an interpolationOptions object
11
+ *
12
+ * @example
13
+ *
14
+ * import { useTranslate } from 'react-admin';
15
+ *
16
+ * const SettingsMenu = () => {
17
+ * const translate = useTranslate();
18
+ * return <MenuItem>{translate('settings')}</MenuItem>;
19
+ * }
20
+ */
21
+ export declare const useTranslate: () => TranslateFunction;
@@ -0,0 +1,29 @@
1
+ import { useCallback } from 'react';
2
+ import { useI18nProvider } from './useI18nProvider';
3
+ /**
4
+ * Translate a string using the current locale and the translations from the i18nProvider
5
+ *
6
+ * @see Polyglot.t()
7
+ * @link https://airbnb.io/polyglot.js/#polyglotprototypetkey-interpolationoptions
8
+ *
9
+ * @return {Function} A translation function, accepting two arguments
10
+ * - a string used as key in the translations
11
+ * - an interpolationOptions object
12
+ *
13
+ * @example
14
+ *
15
+ * import { useTranslate } from 'react-admin';
16
+ *
17
+ * const SettingsMenu = () => {
18
+ * const translate = useTranslate();
19
+ * return <MenuItem>{translate('settings')}</MenuItem>;
20
+ * }
21
+ */
22
+ export const useTranslate = () => {
23
+ const i18nProvider = useI18nProvider();
24
+ const translate = useCallback((key, options) => i18nProvider.translate(key, options),
25
+ // update the hook each time the locale changes
26
+ [i18nProvider]);
27
+ return i18nProvider ? translate : identity;
28
+ };
29
+ const identity = key => key;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const useTranslateLabel: () => ({ source, label, resource, }: {
3
+ source?: string;
4
+ label?: ReactNode;
5
+ resource?: string;
6
+ }) => string | number | bigint | true | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null;
@@ -0,0 +1,26 @@
1
+ import { useCallback } from 'react';
2
+ import { useTranslate } from './useTranslate';
3
+ import { getFieldLabelTranslationArgs } from '../util';
4
+ import { useResourceContext, useOptionalSourceContext } from '../core';
5
+ export const useTranslateLabel = () => {
6
+ const translate = useTranslate();
7
+ const resourceFromContext = useResourceContext();
8
+ const sourceContext = useOptionalSourceContext();
9
+ return useCallback(({ source, label, resource, }) => {
10
+ if (label === false || label === '') {
11
+ return null;
12
+ }
13
+ if (label && typeof label !== 'string') {
14
+ return label;
15
+ }
16
+ return translate(...getFieldLabelTranslationArgs({
17
+ label: label,
18
+ defaultLabel: source
19
+ ? sourceContext?.getLabel(source)
20
+ : undefined,
21
+ resource,
22
+ resourceFromContext,
23
+ source,
24
+ }));
25
+ }, [resourceFromContext, translate, sourceContext]);
26
+ };
@@ -0,0 +1,16 @@
1
+ export * from './auth';
2
+ export * from './controller';
3
+ export * from './core';
4
+ export * from './preferences';
5
+ export * from './dataProvider';
6
+ export * from './dataTable';
7
+ export * from './export';
8
+ export * from './form';
9
+ export * from './i18n';
10
+ export * from './inference';
11
+ export * from './notification';
12
+ export * from './routing';
13
+ export * from './store';
14
+ export * from './types';
15
+ export * from './util';
16
+ export * as testUI from './test-ui';
@@ -0,0 +1,16 @@
1
+ export * from './auth';
2
+ export * from './controller';
3
+ export * from './core';
4
+ export * from './preferences';
5
+ export * from './dataProvider';
6
+ export * from './dataTable';
7
+ export * from './export';
8
+ export * from './form';
9
+ export * from './i18n';
10
+ export * from './inference';
11
+ export * from './notification';
12
+ export * from './routing';
13
+ export * from './store';
14
+ export * from './types';
15
+ export * from './util';
16
+ export * as testUI from './test-ui';
@@ -0,0 +1,12 @@
1
+ import { InferredType } from './types';
2
+ declare class InferredElement {
3
+ type?: InferredType;
4
+ props?: any;
5
+ children?: any;
6
+ constructor(type?: InferredType, props?: any, children?: any);
7
+ getElement(props?: {}): import("react").ReactElement<{}, string | import("react").JSXElementConstructor<any>> | undefined;
8
+ getProps(): any;
9
+ isDefined(): boolean;
10
+ getRepresentation(): string;
11
+ }
12
+ export default InferredElement;
@@ -0,0 +1,40 @@
1
+ import { createElement } from 'react';
2
+ class InferredElement {
3
+ type;
4
+ props;
5
+ children;
6
+ constructor(type, props, children) {
7
+ this.type = type;
8
+ this.props = props;
9
+ this.children = children;
10
+ }
11
+ getElement(props = {}) {
12
+ if (!this.type || !this.type.component) {
13
+ return;
14
+ }
15
+ return this.children
16
+ ? createElement(this.type.component, { ...this.props, ...props }, this.children.length > 0
17
+ ? this.children.map((child, index) => child.getElement({ key: index }))
18
+ : this.children.getElement())
19
+ : createElement(this.type.component, { ...this.props, ...props });
20
+ }
21
+ getProps() {
22
+ return this.props;
23
+ }
24
+ isDefined() {
25
+ return !!this.type;
26
+ }
27
+ getRepresentation() {
28
+ if (!this.type) {
29
+ return '';
30
+ }
31
+ if (this.type.representation) {
32
+ return this.type.representation(this.props, this.children);
33
+ }
34
+ if (this.type.component) {
35
+ return `<${this.type.component.displayName || this.type.component.name} source="${this.props.source}" />`;
36
+ }
37
+ return '';
38
+ }
39
+ }
40
+ export default InferredElement;
@@ -0,0 +1,26 @@
1
+ export declare const isNumeric: (value: any) => boolean;
2
+ export declare const valuesAreNumeric: (values: any[]) => boolean;
3
+ export declare const isInteger: (value: any) => boolean;
4
+ export declare const valuesAreInteger: (values: any[]) => boolean;
5
+ export declare const isBoolean: (value: any) => value is boolean;
6
+ export declare const valuesAreBoolean: (values: any[]) => values is boolean[];
7
+ export declare const isBooleanString: (value: any) => boolean;
8
+ export declare const valuesAreBooleanString: (values: any[]) => boolean;
9
+ export declare const isString: (value: any) => value is string;
10
+ export declare const valuesAreString: (values: any[]) => values is string[];
11
+ export declare const isHtml: (value: any) => boolean;
12
+ export declare const valuesAreHtml: (values: any[]) => boolean;
13
+ export declare const isUrl: (value: any) => value is string;
14
+ export declare const valuesAreUrl: (values: any[]) => values is string[];
15
+ export declare const isImageUrl: (value: any) => value is string;
16
+ export declare const valuesAreImageUrl: (values: any[]) => values is string[];
17
+ export declare const isEmail: (value: any) => value is string;
18
+ export declare const valuesAreEmail: (values: any[]) => values is string[];
19
+ export declare const isArray: (value: any) => value is Array<any>;
20
+ export declare const valuesAreArray: (values: any[]) => values is Array<any>[];
21
+ export declare const isDate: (value: any) => value is Date;
22
+ export declare const valuesAreDate: (values: any[]) => values is Date[];
23
+ export declare const isDateString: (value: any) => value is string;
24
+ export declare const valuesAreDateString: (values: any[]) => values is string[];
25
+ export declare const isObject: (value: any) => value is object;
26
+ export declare const valuesAreObject: (values: any[]) => values is Array<object>;
@@ -0,0 +1,38 @@
1
+ import { isMatch, isValid, parseISO } from 'date-fns';
2
+ export const isNumeric = (value) => !isNaN(parseFloat(value)) && isFinite(value);
3
+ export const valuesAreNumeric = (values) => values.every(isNumeric);
4
+ export const isInteger = (value) => Number.isInteger(value) || !isNaN(parseInt(value));
5
+ export const valuesAreInteger = (values) => values.every(isInteger);
6
+ export const isBoolean = (value) => typeof value === 'boolean';
7
+ export const valuesAreBoolean = (values) => values.every(isBoolean);
8
+ export const isBooleanString = (value) => ['true', 'false'].includes(value.toString().toLowerCase());
9
+ export const valuesAreBooleanString = (values) => values.every(isBooleanString);
10
+ export const isString = (value) => typeof value === 'string';
11
+ export const valuesAreString = (values) => values.every(isString);
12
+ const HtmlRegexp = /<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)<\/\1>/i;
13
+ export const isHtml = (value) => !value || HtmlRegexp.test(value);
14
+ export const valuesAreHtml = (values) => values.every(isHtml);
15
+ const UrlRegexp = /http(s*):\/\/.*/i;
16
+ export const isUrl = (value) => !value || UrlRegexp.test(value);
17
+ export const valuesAreUrl = (values) => values.every(isUrl);
18
+ const ImageUrlRegexp = /^http(s*):\/\/.*\.(jpeg|jpg|jfif|pjpeg|pjp|png|svg|gif|webp|apng|bmp|ico|cur|tif|tiff)/i;
19
+ export const isImageUrl = (value) => !value || ImageUrlRegexp.test(value);
20
+ export const valuesAreImageUrl = (values) => values.every(isImageUrl);
21
+ // This is a very simple regex to find emails
22
+ // It is NOT meant to validate emails as the spec is way more complicated but is
23
+ // enough for our inference needs
24
+ const EmailRegexp = /@{1}/;
25
+ export const isEmail = (value) => !value || EmailRegexp.test(value);
26
+ export const valuesAreEmail = (values) => values.every(isEmail);
27
+ export const isArray = (value) => Array.isArray(value);
28
+ export const valuesAreArray = (values) => values.every(isArray);
29
+ export const isDate = (value) => !value || value instanceof Date;
30
+ export const valuesAreDate = (values) => values.every(isDate);
31
+ export const isDateString = (value) => !value ||
32
+ (typeof value === 'string' &&
33
+ (isMatch(value, 'MM/dd/yyyy') ||
34
+ isMatch(value, 'MM/dd/yy') ||
35
+ isValid(parseISO(value))));
36
+ export const valuesAreDateString = (values) => values.every(isDateString);
37
+ export const isObject = (value) => Object.prototype.toString.call(value) === '[object Object]';
38
+ export const valuesAreObject = (values) => values.every(isObject);
@@ -0,0 +1,35 @@
1
+ import { InferredTypeMap } from './types';
2
+ import InferredElement from './InferredElement';
3
+ /**
4
+ * Get a list of React-admin field components from a list of records
5
+ *
6
+ * @example
7
+ * const records = [
8
+ * {
9
+ * "id": 1,
10
+ * "title": "Lorem Ipsum",
11
+ * "views": 254,
12
+ * "user_id": 123,
13
+ * },
14
+ * {
15
+ * "id": 2,
16
+ * "title": "Sic Dolor amet",
17
+ * "user_id": 456,
18
+ * },
19
+ * ];
20
+ * const types = {
21
+ * id: NumberField,
22
+ * string: TextField,
23
+ * number: NumberField,
24
+ * reference: ReferenceField
25
+ * };
26
+ * const components = getElementsFromRecords(records, types);
27
+ * // [
28
+ * // <NumberField source="id" />,
29
+ * // <TextField source="title" />,
30
+ * // <NumberField source="views" />,
31
+ * // <ReferenceField source="user_id" reference="users"><NumberField source="id" /></ReferenceField>,
32
+ * // ];
33
+ */
34
+ declare const _default: (records: any[], types: InferredTypeMap) => InferredElement[];
35
+ export default _default;
@@ -0,0 +1,39 @@
1
+ import inferElementFromValues from './inferElementFromValues';
2
+ import getValuesFromRecords from './getValuesFromRecords';
3
+ /**
4
+ * Get a list of React-admin field components from a list of records
5
+ *
6
+ * @example
7
+ * const records = [
8
+ * {
9
+ * "id": 1,
10
+ * "title": "Lorem Ipsum",
11
+ * "views": 254,
12
+ * "user_id": 123,
13
+ * },
14
+ * {
15
+ * "id": 2,
16
+ * "title": "Sic Dolor amet",
17
+ * "user_id": 456,
18
+ * },
19
+ * ];
20
+ * const types = {
21
+ * id: NumberField,
22
+ * string: TextField,
23
+ * number: NumberField,
24
+ * reference: ReferenceField
25
+ * };
26
+ * const components = getElementsFromRecords(records, types);
27
+ * // [
28
+ * // <NumberField source="id" />,
29
+ * // <TextField source="title" />,
30
+ * // <NumberField source="views" />,
31
+ * // <ReferenceField source="user_id" reference="users"><NumberField source="id" /></ReferenceField>,
32
+ * // ];
33
+ */
34
+ export default (records, types) => {
35
+ const fieldValues = getValuesFromRecords(records);
36
+ return Object.keys(fieldValues)
37
+ .reduce((fields, fieldName) => fields.concat(inferElementFromValues(fieldName, fieldValues[fieldName], types)), [])
38
+ .filter(inferredElement => inferredElement.isDefined());
39
+ };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Gets a list of values indexed by field based on a list of records
3
+ *
4
+ * @example
5
+ * const records = [
6
+ * {
7
+ * id: 1,
8
+ * title: "Lorem Ipsum",
9
+ * views: 254,
10
+ * user_id: 123,
11
+ * },
12
+ * {
13
+ * id: 2,
14
+ * title: "Sic Dolor amet",
15
+ * views: 65,
16
+ * user_id: 456,
17
+ * },
18
+ * ];
19
+ * getValuesFromRecords(records);
20
+ * // {
21
+ * // id: [1, 2],
22
+ * // title: ['Lorem Ipsum', 'Sic Dolor amet'],
23
+ * // views: [254, 65],
24
+ * // user_id: [123, 456],
25
+ * // }
26
+ */
27
+ declare const _default: (records: any[]) => any;
28
+ export default _default;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Gets a list of values indexed by field based on a list of records
3
+ *
4
+ * @example
5
+ * const records = [
6
+ * {
7
+ * id: 1,
8
+ * title: "Lorem Ipsum",
9
+ * views: 254,
10
+ * user_id: 123,
11
+ * },
12
+ * {
13
+ * id: 2,
14
+ * title: "Sic Dolor amet",
15
+ * views: 65,
16
+ * user_id: 456,
17
+ * },
18
+ * ];
19
+ * getValuesFromRecords(records);
20
+ * // {
21
+ * // id: [1, 2],
22
+ * // title: ['Lorem Ipsum', 'Sic Dolor amet'],
23
+ * // views: [254, 65],
24
+ * // user_id: [123, 456],
25
+ * // }
26
+ */
27
+ export default (records) => records.reduce((values, record) => {
28
+ Object.keys(record).forEach(fieldName => {
29
+ if (!values[fieldName]) {
30
+ values[fieldName] = [];
31
+ }
32
+ if (record[fieldName] != null) {
33
+ const value = Array.isArray(record[fieldName])
34
+ ? [record[fieldName]]
35
+ : record[fieldName];
36
+ values[fieldName] = values[fieldName].concat(value);
37
+ }
38
+ });
39
+ return values;
40
+ }, {});
@@ -0,0 +1,6 @@
1
+ import getElementsFromRecords from './getElementsFromRecords';
2
+ import InferredElement from './InferredElement';
3
+ import getValuesFromRecords from './getValuesFromRecords';
4
+ export * from './inferTypeFromValues';
5
+ export * from './types';
6
+ export { getElementsFromRecords, getValuesFromRecords, InferredElement };
@@ -0,0 +1,6 @@
1
+ import getElementsFromRecords from './getElementsFromRecords';
2
+ import InferredElement from './InferredElement';
3
+ import getValuesFromRecords from './getValuesFromRecords';
4
+ export * from './inferTypeFromValues';
5
+ export * from './types';
6
+ export { getElementsFromRecords, getValuesFromRecords, InferredElement };
@@ -0,0 +1,21 @@
1
+ export declare const InferenceTypes: readonly ["array", "boolean", "date", "email", "id", "image", "number", "reference", "referenceChild", "referenceArray", "referenceArrayChild", "richText", "string", "url", "object"];
2
+ export type PossibleInferredElementTypes = (typeof InferenceTypes)[number];
3
+ export interface InferredElementDescription {
4
+ type: PossibleInferredElementTypes;
5
+ props?: any;
6
+ children?: InferredElementDescription | InferredElementDescription[];
7
+ }
8
+ /**
9
+ * Guesses an element type based on an array of values
10
+ *
11
+ * @example
12
+ * inferElementFromValues(
13
+ * 'address',
14
+ * ['2 Baker Street', '1 Downing street'],
15
+ * );
16
+ * // { type: 'string', props: { source: 'address' } }
17
+ *
18
+ * @param {string} name Property name, e.g. 'date_of_birth'
19
+ * @param {any[]} values an array of values from which to determine the type, e.g. [12, 34.4, 43]
20
+ */
21
+ export declare const inferTypeFromValues: (name: any, values?: any[]) => InferredElementDescription;
@@ -0,0 +1,141 @@
1
+ import getValuesFromRecords from './getValuesFromRecords';
2
+ import { isObject, valuesAreArray, valuesAreBoolean, valuesAreDate, valuesAreDateString, valuesAreHtml, valuesAreInteger, valuesAreNumeric, valuesAreObject, valuesAreString, valuesAreUrl, valuesAreImageUrl, valuesAreEmail, } from './assertions';
3
+ import { pluralize } from 'inflection';
4
+ export const InferenceTypes = [
5
+ 'array',
6
+ 'boolean',
7
+ 'date',
8
+ 'email',
9
+ 'id',
10
+ 'image',
11
+ 'number',
12
+ 'reference',
13
+ 'referenceChild',
14
+ 'referenceArray',
15
+ 'referenceArrayChild',
16
+ 'richText',
17
+ 'string',
18
+ 'url',
19
+ 'object',
20
+ ];
21
+ /**
22
+ * Guesses an element type based on an array of values
23
+ *
24
+ * @example
25
+ * inferElementFromValues(
26
+ * 'address',
27
+ * ['2 Baker Street', '1 Downing street'],
28
+ * );
29
+ * // { type: 'string', props: { source: 'address' } }
30
+ *
31
+ * @param {string} name Property name, e.g. 'date_of_birth'
32
+ * @param {any[]} values an array of values from which to determine the type, e.g. [12, 34.4, 43]
33
+ */
34
+ export const inferTypeFromValues = (name, values = []) => {
35
+ if (name === 'id') {
36
+ return { type: 'id', props: { source: name } };
37
+ }
38
+ if (name.substr(name.length - 3) === '_id') {
39
+ return {
40
+ type: 'reference',
41
+ props: {
42
+ source: name,
43
+ reference: pluralize(name.substr(0, name.length - 3)),
44
+ },
45
+ children: { type: 'referenceChild' },
46
+ };
47
+ }
48
+ if (name.substr(name.length - 2) === 'Id') {
49
+ return {
50
+ type: 'reference',
51
+ props: {
52
+ source: name,
53
+ reference: pluralize(name.substr(0, name.length - 2)),
54
+ },
55
+ children: { type: 'referenceChild' },
56
+ };
57
+ }
58
+ if (name.substr(name.length - 4) === '_ids') {
59
+ return {
60
+ type: 'referenceArray',
61
+ props: {
62
+ source: name,
63
+ reference: pluralize(name.substr(0, name.length - 4)),
64
+ },
65
+ children: { type: 'referenceArrayChild' },
66
+ };
67
+ }
68
+ if (name.substr(name.length - 3) === 'Ids') {
69
+ return {
70
+ type: 'referenceArray',
71
+ props: {
72
+ source: name,
73
+ reference: pluralize(name.substr(0, name.length - 3)),
74
+ },
75
+ children: { type: 'referenceArrayChild' },
76
+ };
77
+ }
78
+ if (values.length === 0) {
79
+ if (name === 'email') {
80
+ return { type: 'email', props: { source: name } };
81
+ }
82
+ if (name === 'url') {
83
+ return { type: 'url', props: { source: name } };
84
+ }
85
+ // FIXME introspect further using name
86
+ return { type: 'string', props: { source: name } };
87
+ }
88
+ if (valuesAreArray(values)) {
89
+ if (isObject(values[0][0])) {
90
+ const leafValues = getValuesFromRecords(values.reduce((acc, vals) => acc.concat(vals), []));
91
+ // FIXME bad visual representation
92
+ return {
93
+ type: 'array',
94
+ props: { source: name },
95
+ children: Object.keys(leafValues).map(leafName => inferTypeFromValues(leafName, leafValues[leafName])),
96
+ };
97
+ }
98
+ // FIXME introspect further
99
+ return { type: 'string', props: { source: name } };
100
+ }
101
+ if (valuesAreBoolean(values)) {
102
+ return { type: 'boolean', props: { source: name } };
103
+ }
104
+ if (valuesAreDate(values)) {
105
+ return { type: 'date', props: { source: name } };
106
+ }
107
+ if (valuesAreString(values)) {
108
+ if (name === 'email' || valuesAreEmail(values)) {
109
+ return { type: 'email', props: { source: name } };
110
+ }
111
+ if (name === 'url' || valuesAreUrl(values)) {
112
+ if (valuesAreImageUrl(values)) {
113
+ return { type: 'image', props: { source: name } };
114
+ }
115
+ return { type: 'url', props: { source: name } };
116
+ }
117
+ if (valuesAreDateString(values)) {
118
+ return { type: 'date', props: { source: name } };
119
+ }
120
+ if (valuesAreHtml(values)) {
121
+ return { type: 'richText', props: { source: name } };
122
+ }
123
+ if (valuesAreInteger(values) || valuesAreNumeric(values)) {
124
+ return { type: 'number', props: { source: name } };
125
+ }
126
+ return { type: 'string', props: { source: name } };
127
+ }
128
+ if (valuesAreInteger(values) || valuesAreNumeric(values)) {
129
+ return { type: 'number', props: { source: name } };
130
+ }
131
+ if (valuesAreObject(values)) {
132
+ /// Arbitrarily, choose the first prop of the first object
133
+ const propName = Object.keys(values[0]).shift();
134
+ if (!propName) {
135
+ return { type: 'object', props: { source: name } };
136
+ }
137
+ const leafValues = values.map(v => v[propName]);
138
+ return inferTypeFromValues(`${name}.${propName}`, leafValues);
139
+ }
140
+ return { type: 'string', props: { source: name } };
141
+ };
@@ -0,0 +1,9 @@
1
+ import { ComponentType } from 'react';
2
+ export interface InferredType {
3
+ type?: ComponentType;
4
+ component?: ComponentType;
5
+ representation?: (props: any, children: any) => string;
6
+ }
7
+ export interface InferredTypeMap {
8
+ [key: string]: InferredType | undefined;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export type CloseNotificationContextValue = () => void;
2
+ export declare const CloseNotificationContext: import("react").Context<CloseNotificationContextValue | null>;
@@ -0,0 +1,2 @@
1
+ import { createContext } from 'react';
2
+ export const CloseNotificationContext = createContext(null);