@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,73 @@
1
+ import { useRef, useEffect, useState, useCallback } from 'react';
2
+ import isEqual from 'lodash/isEqual.js';
3
+ // thanks Kent C Dodds for the following helpers
4
+ /**
5
+ * @deprecated use `useState` instead, since React no longer
6
+ * issues warnings when calling setState on unmounted components.
7
+ */
8
+ export function useSafeSetState(initialState) {
9
+ const [state, setState] = useState(initialState);
10
+ const mountedRef = useRef(false);
11
+ useEffect(() => {
12
+ mountedRef.current = true;
13
+ return () => {
14
+ mountedRef.current = false;
15
+ };
16
+ }, []);
17
+ const safeSetState = useCallback(args => {
18
+ if (mountedRef.current) {
19
+ return setState(args);
20
+ }
21
+ }, [mountedRef, setState]);
22
+ return [state, safeSetState];
23
+ }
24
+ export function usePrevious(value) {
25
+ const ref = useRef(null);
26
+ useEffect(() => {
27
+ ref.current = value;
28
+ });
29
+ return ref.current;
30
+ }
31
+ export function useDeepCompareEffect(callback, inputs) {
32
+ const cleanupRef = useRef(undefined);
33
+ useEffect(() => {
34
+ if (!isEqual(previousInputs, inputs)) {
35
+ cleanupRef.current = callback();
36
+ }
37
+ return () => {
38
+ if (typeof cleanupRef.current === 'function') {
39
+ cleanupRef.current();
40
+ }
41
+ };
42
+ });
43
+ const previousInputs = usePrevious(inputs);
44
+ }
45
+ /**
46
+ * A hook that returns true once a delay has expired.
47
+ * @param ms The delay in milliseconds
48
+ * @param key A key that can be used to reset the timer
49
+ * @returns true if the delay has expired, false otherwise
50
+ */
51
+ export function useTimeout(ms = 0, key = '') {
52
+ const [ready, setReady] = useState(false);
53
+ useEffect(() => {
54
+ setReady(false);
55
+ const timer = setTimeout(() => {
56
+ setReady(true);
57
+ }, ms);
58
+ return () => {
59
+ clearTimeout(timer);
60
+ };
61
+ }, [key, ms, setReady]);
62
+ return ready;
63
+ }
64
+ export function useIsMounted() {
65
+ const isMounted = useRef(true);
66
+ useEffect(() => {
67
+ isMounted.current = true;
68
+ return () => {
69
+ isMounted.current = false;
70
+ };
71
+ }, []);
72
+ return isMounted;
73
+ }
@@ -0,0 +1,20 @@
1
+ import escapePath from './escapePath';
2
+ import FieldTitle, { FieldTitleProps } from './FieldTitle';
3
+ import removeEmpty from './removeEmpty';
4
+ import removeKey from './removeKey';
5
+ import Ready from './Ready';
6
+ import warning from './warning';
7
+ import useWhyDidYouUpdate from './useWhyDidYouUpdate';
8
+ import { getMutationMode } from './getMutationMode';
9
+ export * from './getFieldLabelTranslationArgs';
10
+ export * from './mergeRefs';
11
+ export * from './useEvent';
12
+ export * from './useDebouncedEvent';
13
+ export * from './useFieldValue';
14
+ export { escapePath, FieldTitle, Ready, removeEmpty, removeKey, warning, useWhyDidYouUpdate, getMutationMode, };
15
+ export type { FieldTitleProps };
16
+ export * from './asyncDebounce';
17
+ export * from './hooks';
18
+ export * from './shallowEqual';
19
+ export * from './useCheckForApplicationUpdate';
20
+ export * from './genericMemo';
@@ -0,0 +1,19 @@
1
+ import escapePath from './escapePath';
2
+ import FieldTitle from './FieldTitle';
3
+ import removeEmpty from './removeEmpty';
4
+ import removeKey from './removeKey';
5
+ import Ready from './Ready';
6
+ import warning from './warning';
7
+ import useWhyDidYouUpdate from './useWhyDidYouUpdate';
8
+ import { getMutationMode } from './getMutationMode';
9
+ export * from './getFieldLabelTranslationArgs';
10
+ export * from './mergeRefs';
11
+ export * from './useEvent';
12
+ export * from './useDebouncedEvent';
13
+ export * from './useFieldValue';
14
+ export { escapePath, FieldTitle, Ready, removeEmpty, removeKey, warning, useWhyDidYouUpdate, getMutationMode, };
15
+ export * from './asyncDebounce';
16
+ export * from './hooks';
17
+ export * from './shallowEqual';
18
+ export * from './useCheckForApplicationUpdate';
19
+ export * from './genericMemo';
@@ -0,0 +1,2 @@
1
+ import { LegacyRef, MutableRefObject, RefCallback } from 'react';
2
+ export declare function mergeRefs<T = any>(refs: Array<MutableRefObject<T> | LegacyRef<T>>): RefCallback<T>;
@@ -0,0 +1,13 @@
1
+ // https://github.com/gregberge/react-merge-refs
2
+ export function mergeRefs(refs) {
3
+ return value => {
4
+ refs.forEach(ref => {
5
+ if (typeof ref === 'function') {
6
+ ref(value);
7
+ }
8
+ else if (ref != null) {
9
+ ref.current = value;
10
+ }
11
+ });
12
+ };
13
+ }
@@ -0,0 +1,2 @@
1
+ declare const removeEmpty: (object: any) => {};
2
+ export default removeEmpty;
@@ -0,0 +1,16 @@
1
+ import { shallowEqual } from './shallowEqual';
2
+ const isObject = obj => obj && Object.prototype.toString.call(obj) === '[object Object]';
3
+ const isEmpty = obj => obj instanceof Date
4
+ ? false
5
+ : obj === '' ||
6
+ obj === null ||
7
+ obj === undefined ||
8
+ shallowEqual(obj, {});
9
+ const removeEmpty = object => Object.keys(object).reduce((acc, key) => {
10
+ let child = object[key];
11
+ if (isObject(object[key])) {
12
+ child = removeEmpty(object[key]);
13
+ }
14
+ return isEmpty(child) ? acc : { ...acc, [key]: child };
15
+ }, {});
16
+ export default removeEmpty;
@@ -0,0 +1,2 @@
1
+ declare const deepRemoveKey: (target: any, path: any) => any;
2
+ export default deepRemoveKey;
@@ -0,0 +1,22 @@
1
+ const removeKey = (target, path) => Object.keys(target).reduce((acc, key) => {
2
+ if (key !== path) {
3
+ return Object.assign({}, acc, { [key]: target[key] });
4
+ }
5
+ return acc;
6
+ }, {});
7
+ const deepRemoveKey = (target, path) => {
8
+ const paths = path.split('.');
9
+ if (paths.length === 1) {
10
+ return removeKey(target, path);
11
+ }
12
+ const deepKey = paths[0];
13
+ if (target[deepKey] === undefined) {
14
+ return target;
15
+ }
16
+ const deep = deepRemoveKey(target[deepKey], paths.slice(1).join('.'));
17
+ if (Object.keys(deep).length === 0) {
18
+ return removeKey(target, deepKey);
19
+ }
20
+ return Object.assign({}, target, { [deepKey]: deep });
21
+ };
22
+ export default deepRemoveKey;
@@ -0,0 +1 @@
1
+ export declare const shallowEqual: (objA: any, objB: any) => boolean;
@@ -0,0 +1,29 @@
1
+ function is(x, y) {
2
+ if (x === y) {
3
+ return x !== 0 || y !== 0 || 1 / x === 1 / y;
4
+ }
5
+ else {
6
+ return x !== x && y !== y;
7
+ }
8
+ }
9
+ export const shallowEqual = (objA, objB) => {
10
+ if (is(objA, objB))
11
+ return true;
12
+ if (typeof objA !== 'object' ||
13
+ objA === null ||
14
+ typeof objB !== 'object' ||
15
+ objB === null) {
16
+ return false;
17
+ }
18
+ const keysA = Object.keys(objA);
19
+ const keysB = Object.keys(objB);
20
+ if (keysA.length !== keysB.length)
21
+ return false;
22
+ for (let i = 0; i < keysA.length; i++) {
23
+ if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) ||
24
+ !is(objA[keysA[i]], objB[keysA[i]])) {
25
+ return false;
26
+ }
27
+ }
28
+ return true;
29
+ };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Checks if the application code has changed and calls the provided onNewVersionAvailable function when needed.
3
+ *
4
+ * It checks for code update by downloading the provided URL (default to the HTML page) and
5
+ * comparing the hash of the response with the hash of the current page.
6
+ *
7
+ * @param {UseCheckForApplicationUpdateOptions} options The options
8
+ * @param {Function} options.onNewVersionAvailable The function to call when a new version of the application is available.
9
+ * @param {string} options.url Optional. The URL to download to check for code update. Defaults to the current URL.
10
+ * @param {RequestInit} options.fetchOptions Optional. The options passed to fetch function when checking for update.
11
+ * @param {number} options.interval Optional. The interval in milliseconds between two checks. Defaults to 3600000 (1 hour).
12
+ * @param {boolean} options.disabled Optional. Whether the check should be disabled. Defaults to false.
13
+ */
14
+ export declare const useCheckForApplicationUpdate: (options: UseCheckForApplicationUpdateOptions) => void;
15
+ export interface UseCheckForApplicationUpdateOptions {
16
+ onNewVersionAvailable: () => void;
17
+ interval?: number;
18
+ url?: string;
19
+ fetchOptions?: RequestInit;
20
+ disabled?: boolean;
21
+ }
@@ -0,0 +1,84 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import { useEvent } from './useEvent';
3
+ /**
4
+ * Checks if the application code has changed and calls the provided onNewVersionAvailable function when needed.
5
+ *
6
+ * It checks for code update by downloading the provided URL (default to the HTML page) and
7
+ * comparing the hash of the response with the hash of the current page.
8
+ *
9
+ * @param {UseCheckForApplicationUpdateOptions} options The options
10
+ * @param {Function} options.onNewVersionAvailable The function to call when a new version of the application is available.
11
+ * @param {string} options.url Optional. The URL to download to check for code update. Defaults to the current URL.
12
+ * @param {RequestInit} options.fetchOptions Optional. The options passed to fetch function when checking for update.
13
+ * @param {number} options.interval Optional. The interval in milliseconds between two checks. Defaults to 3600000 (1 hour).
14
+ * @param {boolean} options.disabled Optional. Whether the check should be disabled. Defaults to false.
15
+ */
16
+ export const useCheckForApplicationUpdate = (options) => {
17
+ const { url = window.location.href, fetchOptions, interval: delay = ONE_HOUR, onNewVersionAvailable: onNewVersionAvailableProp, disabled = process.env.NODE_ENV !== 'production', } = options;
18
+ const currentHash = useRef(undefined);
19
+ const onNewVersionAvailable = useEvent(onNewVersionAvailableProp);
20
+ useEffect(() => {
21
+ if (disabled)
22
+ return;
23
+ getHashForUrl(url, fetchOptions).then(hash => {
24
+ if (hash != null) {
25
+ currentHash.current = hash;
26
+ }
27
+ });
28
+ // eslint-disable-next-line react-hooks/exhaustive-deps
29
+ }, [disabled, url, JSON.stringify(fetchOptions)]);
30
+ useEffect(() => {
31
+ if (disabled)
32
+ return;
33
+ const interval = setInterval(() => {
34
+ getHashForUrl(url, fetchOptions)
35
+ .then(hash => {
36
+ if (hash != null && currentHash.current !== hash) {
37
+ // Store the latest hash to avoid calling the onNewVersionAvailable function multiple times
38
+ // or when users have closed the notification
39
+ currentHash.current = hash;
40
+ onNewVersionAvailable();
41
+ }
42
+ })
43
+ .catch(() => {
44
+ // Ignore errors to avoid issues when connectivity is lost
45
+ });
46
+ }, delay);
47
+ return () => clearInterval(interval);
48
+ // eslint-disable-next-line react-hooks/exhaustive-deps
49
+ }, [
50
+ delay,
51
+ onNewVersionAvailable,
52
+ disabled,
53
+ url,
54
+ // eslint-disable-next-line react-hooks/exhaustive-deps
55
+ JSON.stringify(fetchOptions),
56
+ ]);
57
+ };
58
+ const getHashForUrl = async (url, fetchOptions) => {
59
+ try {
60
+ const response = await fetch(url, fetchOptions);
61
+ if (!response.ok)
62
+ return null;
63
+ const text = await response.text();
64
+ return hash(text);
65
+ }
66
+ catch (e) {
67
+ return null;
68
+ }
69
+ };
70
+ // Simple hash function, taken from https://stackoverflow.com/a/52171480/3723993, suggested by Copilot
71
+ const hash = (value, seed = 0) => {
72
+ let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;
73
+ for (let i = 0, ch; i < value.length; i++) {
74
+ ch = value.charCodeAt(i);
75
+ h1 = Math.imul(h1 ^ ch, 2654435761);
76
+ h2 = Math.imul(h2 ^ ch, 1597334677);
77
+ }
78
+ h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507);
79
+ h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909);
80
+ h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507);
81
+ h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909);
82
+ return 4294967296 * (2097151 & h2) + (h1 >>> 0);
83
+ };
84
+ const ONE_HOUR = 1000 * 60 * 60;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Hook somewhat equivalent to useEvent, but with a debounce
3
+ * Returns a debounced callback which will not change across re-renders unless the
4
+ * callback or delay changes
5
+ * @see https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback
6
+ * @see https://github.com/facebook/react/issues/14099#issuecomment-440013892
7
+ */
8
+ export declare const useDebouncedEvent: <Args extends unknown[], Return>(callback: (...args: Args) => Return, delay: number) => (...args: Args) => Return | undefined;
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import { useCallback, useRef } from 'react';
3
+ import debounce from 'lodash/debounce.js';
4
+ import { useEvent } from './useEvent';
5
+ // allow the hook to work in SSR
6
+ const useLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
7
+ /**
8
+ * Hook somewhat equivalent to useEvent, but with a debounce
9
+ * Returns a debounced callback which will not change across re-renders unless the
10
+ * callback or delay changes
11
+ * @see https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback
12
+ * @see https://github.com/facebook/react/issues/14099#issuecomment-440013892
13
+ */
14
+ export const useDebouncedEvent = (callback, delay) => {
15
+ // Create a ref that stores the debounced callback
16
+ const debouncedCallbackRef = useRef(() => {
17
+ throw new Error('Cannot call an event handler while rendering.');
18
+ });
19
+ // Keep a stable ref to the callback (in case it's an inline function for instance)
20
+ const stableCallback = useEvent(callback);
21
+ // Whenever callback or delay changes, we need to update the debounced callback
22
+ useLayoutEffect(() => {
23
+ debouncedCallbackRef.current = debounce(stableCallback, delay);
24
+ }, [stableCallback, delay]);
25
+ // The function returned by useCallback will invoke the debounced callback
26
+ // Its dependencies array is empty, so it never changes across re-renders
27
+ return useCallback((...args) => debouncedCallbackRef.current(...args), []);
28
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Alternative to useCallback that doesn't update the callback when dependencies change
3
+ *
4
+ * @see https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback
5
+ * @see https://github.com/facebook/react/issues/14099#issuecomment-440013892
6
+ */
7
+ export declare const useEvent: <Args extends unknown[], Return>(fn: (...args: Args) => Return) => ((...args: Args) => Return);
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { useCallback } from 'react';
3
+ // allow the hook to work in SSR
4
+ const useLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
5
+ /**
6
+ * Alternative to useCallback that doesn't update the callback when dependencies change
7
+ *
8
+ * @see https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback
9
+ * @see https://github.com/facebook/react/issues/14099#issuecomment-440013892
10
+ */
11
+ export const useEvent = (fn) => {
12
+ const ref = React.useRef(() => {
13
+ throw new Error('Cannot call an event handler while rendering.');
14
+ });
15
+ useLayoutEffect(() => {
16
+ ref.current = fn;
17
+ });
18
+ return useCallback((...args) => ref.current(...args), []);
19
+ };
@@ -0,0 +1,21 @@
1
+ import { ExtractRecordPaths } from '../types';
2
+ /**
3
+ * A hook that gets the value of a field of the current record.
4
+ * @param params The hook parameters
5
+ * @param params.source The field source
6
+ * @param params.record The record to use. Uses the record from the RecordContext if not provided
7
+ * @param params.defaultValue The value to return when the field value is empty
8
+ * @returns The field value
9
+ *
10
+ * @example
11
+ * const MyField = (props: { source: string }) => {
12
+ * const value = useFieldValue(props);
13
+ * return <span>{value}</span>;
14
+ * }
15
+ */
16
+ export declare const useFieldValue: <RecordType extends Record<string, any> = Record<string, any>>(params: UseFieldValueOptions<RecordType>) => any;
17
+ export interface UseFieldValueOptions<RecordType extends Record<string, any> = Record<string, any>> {
18
+ defaultValue?: any;
19
+ source: ExtractRecordPaths<RecordType>;
20
+ record?: RecordType;
21
+ }
@@ -0,0 +1,27 @@
1
+ import get from 'lodash/get.js';
2
+ import { useRecordContext } from '../controller';
3
+ /**
4
+ * A hook that gets the value of a field of the current record.
5
+ * @param params The hook parameters
6
+ * @param params.source The field source
7
+ * @param params.record The record to use. Uses the record from the RecordContext if not provided
8
+ * @param params.defaultValue The value to return when the field value is empty
9
+ * @returns The field value
10
+ *
11
+ * @example
12
+ * const MyField = (props: { source: string }) => {
13
+ * const value = useFieldValue(props);
14
+ * return <span>{value}</span>;
15
+ * }
16
+ */
17
+ export const useFieldValue = (params) => {
18
+ const { defaultValue, source } = params;
19
+ // We use the record from the RecordContext and do not rely on the SourceContext on purpose to
20
+ // avoid having the wrong source targeting the record.
21
+ // Indeed, some components may create a sub record context (SimpleFormIterator, TranslatableInputs, etc.). In this case,
22
+ // it they used the SourceContext as well, they would have the wrong source.
23
+ // Inputs needs the SourceContext as they rely on the Form value and you can't have nested forms.
24
+ // Fields needs the RecordContext as they rely on the Record value and you can have nested RecordContext.
25
+ const record = useRecordContext(params);
26
+ return get(record, source, defaultValue);
27
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Debug hook showing which props updated between two renders
3
+ * @example
4
+ *
5
+ * const MyComponent = React.memo(props => {
6
+ * useWhyDidYouUpdate('MyComponent', props);
7
+ * return <div...;
8
+ * });
9
+ *
10
+ * @link https://usehooks.com/useWhyDidYouUpdate/
11
+ */
12
+ export default function useWhyDidYouUpdate(name: any, props: any): void;
@@ -0,0 +1,42 @@
1
+ import { useRef, useEffect } from 'react';
2
+ /**
3
+ * Debug hook showing which props updated between two renders
4
+ * @example
5
+ *
6
+ * const MyComponent = React.memo(props => {
7
+ * useWhyDidYouUpdate('MyComponent', props);
8
+ * return <div...;
9
+ * });
10
+ *
11
+ * @link https://usehooks.com/useWhyDidYouUpdate/
12
+ */
13
+ export default function useWhyDidYouUpdate(name, props) {
14
+ // Get a mutable ref object where we can store props ...
15
+ // ... for comparison next time this hook runs.
16
+ const previousProps = useRef(null);
17
+ useEffect(() => {
18
+ if (previousProps.current) {
19
+ // Get all keys from previous and current props
20
+ const allKeys = Object.keys({ ...previousProps.current, ...props });
21
+ // Use this object to keep track of changed props
22
+ const changesObj = {};
23
+ // Iterate through keys
24
+ allKeys.forEach(key => {
25
+ // If previous is different from current
26
+ if (previousProps.current[key] !== props[key]) {
27
+ // Add to changesObj
28
+ changesObj[key] = {
29
+ from: previousProps.current[key],
30
+ to: props[key],
31
+ };
32
+ }
33
+ });
34
+ // If changesObj not empty then output to console
35
+ if (Object.keys(changesObj).length) {
36
+ console.log('[why-did-you-update]', name, changesObj);
37
+ }
38
+ }
39
+ // Finally update previousProps with current props for next hook call
40
+ previousProps.current = props;
41
+ });
42
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: (condition: any, message: string) => void;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export default (condition, message) => {
2
+ if (condition && process.env.NODE_ENV !== 'production') {
3
+ console.warn(message);
4
+ }
5
+ };
@@ -0,0 +1,2 @@
1
+ import { DataProvider } from '@strato-admin/ra-core';
2
+ export declare const dataProvider: DataProvider;
@@ -0,0 +1,6 @@
1
+ import fakeRestDataProvider from 'ra-data-fakerest';
2
+ import { generateEcommerceData } from './generate';
3
+ const data = generateEcommerceData();
4
+ export const dataProvider = fakeRestDataProvider(data, true, // logging
5
+ 500 // simulate network delay
6
+ );
@@ -0,0 +1,8 @@
1
+ import { Category, Customer, Order, Product, Review } from './types';
2
+ export declare const generateEcommerceData: () => {
3
+ categories: Category[];
4
+ customers: Customer[];
5
+ products: Product[];
6
+ reviews: Review[];
7
+ orders: Order[];
8
+ };