@applica-software-guru/react-admin 1.3.143 → 1.3.145

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 (532) hide show
  1. package/dist/react-admin.cjs.js +59 -59
  2. package/dist/react-admin.cjs.js.map +1 -1
  3. package/dist/react-admin.es.js +10878 -10212
  4. package/dist/react-admin.es.js.map +1 -1
  5. package/dist/react-admin.umd.js +60 -60
  6. package/dist/react-admin.umd.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/components/ra-forms/LongForm/Form.tsx +2 -1
  9. package/src/components/ra-forms/LongForm/NavMenu.tsx +25 -3
  10. package/src/components/ra-forms/LongForm/Provider.tsx +35 -2
  11. package/src/components/ra-forms/LongForm/Tab.tsx +39 -7
  12. package/src/components/ra-forms/LongForm/index.ts +3 -0
  13. package/src/components/ra-forms/LongForm/types.ts +1 -0
  14. package/src/components/ra-lists/BulkActionsToolbar.tsx +141 -0
  15. package/src/components/ra-lists/BulkFloatingActionsToolbar.tsx +100 -0
  16. package/src/components/ra-lists/Datagrid/Datagrid.tsx +345 -0
  17. package/src/components/ra-lists/Datagrid/DatagridContext.ts +13 -0
  18. package/src/components/ra-lists/Datagrid/DatagridContextProvider.tsx +8 -0
  19. package/src/components/ra-lists/{Datagrid.tsx → Datagrid/index.tsx} +6 -9
  20. package/src/components/ra-lists/index.ts +6 -5
  21. package/src/playground/components/ra-forms/TestModelForm.jsx +18 -0
  22. package/vite.config.js +8 -8
  23. package/dist/Admin.d.ts +0 -10
  24. package/dist/Admin.d.ts.map +0 -1
  25. package/dist/AdminContext.d.ts +0 -10
  26. package/dist/AdminContext.d.ts.map +0 -1
  27. package/dist/ApplicaAdmin.d.ts +0 -142
  28. package/dist/ApplicaAdmin.d.ts.map +0 -1
  29. package/dist/components/@extended/AnimateButton.d.ts +0 -22
  30. package/dist/components/@extended/AnimateButton.d.ts.map +0 -1
  31. package/dist/components/@extended/Avatar.d.ts +0 -20
  32. package/dist/components/@extended/Avatar.d.ts.map +0 -1
  33. package/dist/components/@extended/Breadcrumbs.d.ts +0 -53
  34. package/dist/components/@extended/Breadcrumbs.d.ts.map +0 -1
  35. package/dist/components/@extended/Dot.d.ts +0 -17
  36. package/dist/components/@extended/Dot.d.ts.map +0 -1
  37. package/dist/components/@extended/IconButton.d.ts +0 -3
  38. package/dist/components/@extended/IconButton.d.ts.map +0 -1
  39. package/dist/components/@extended/LoadingButton.d.ts +0 -3
  40. package/dist/components/@extended/LoadingButton.d.ts.map +0 -1
  41. package/dist/components/@extended/Tooltip.d.ts +0 -17
  42. package/dist/components/@extended/Tooltip.d.ts.map +0 -1
  43. package/dist/components/@extended/Transitions.d.ts +0 -4
  44. package/dist/components/@extended/Transitions.d.ts.map +0 -1
  45. package/dist/components/@extended/index.d.ts +0 -11
  46. package/dist/components/@extended/index.d.ts.map +0 -1
  47. package/dist/components/@extended/progress/CircularWithLabel.d.ts +0 -12
  48. package/dist/components/@extended/progress/CircularWithLabel.d.ts.map +0 -1
  49. package/dist/components/@extended/progress/CircularWithPath.d.ts +0 -25
  50. package/dist/components/@extended/progress/CircularWithPath.d.ts.map +0 -1
  51. package/dist/components/@extended/progress/LinearWithIcon.d.ts +0 -14
  52. package/dist/components/@extended/progress/LinearWithIcon.d.ts.map +0 -1
  53. package/dist/components/@extended/progress/LinearWithLabel.d.ts +0 -12
  54. package/dist/components/@extended/progress/LinearWithLabel.d.ts.map +0 -1
  55. package/dist/components/@extended/progress/index.d.ts +0 -6
  56. package/dist/components/@extended/progress/index.d.ts.map +0 -1
  57. package/dist/components/ActionsMenu.d.ts +0 -31
  58. package/dist/components/ActionsMenu.d.ts.map +0 -1
  59. package/dist/components/AuthBackground.d.ts +0 -3
  60. package/dist/components/AuthBackground.d.ts.map +0 -1
  61. package/dist/components/AuthCard.d.ts +0 -12
  62. package/dist/components/AuthCard.d.ts.map +0 -1
  63. package/dist/components/AuthWrapper.d.ts +0 -19
  64. package/dist/components/AuthWrapper.d.ts.map +0 -1
  65. package/dist/components/Layout/Content.d.ts +0 -8
  66. package/dist/components/Layout/Content.d.ts.map +0 -1
  67. package/dist/components/Layout/Drawer/Drawer.d.ts +0 -8
  68. package/dist/components/Layout/Drawer/Drawer.d.ts.map +0 -1
  69. package/dist/components/Layout/Drawer/DrawerHeader.d.ts +0 -8
  70. package/dist/components/Layout/Drawer/DrawerHeader.d.ts.map +0 -1
  71. package/dist/components/Layout/Drawer/DrawerHeaderStyled.d.ts +0 -4
  72. package/dist/components/Layout/Drawer/DrawerHeaderStyled.d.ts.map +0 -1
  73. package/dist/components/Layout/Drawer/MiniDrawerStyled.d.ts +0 -3
  74. package/dist/components/Layout/Drawer/MiniDrawerStyled.d.ts.map +0 -1
  75. package/dist/components/Layout/Drawer/index.d.ts +0 -4
  76. package/dist/components/Layout/Drawer/index.d.ts.map +0 -1
  77. package/dist/components/Layout/Error.d.ts +0 -27
  78. package/dist/components/Layout/Error.d.ts.map +0 -1
  79. package/dist/components/Layout/Footer.d.ts +0 -19
  80. package/dist/components/Layout/Footer.d.ts.map +0 -1
  81. package/dist/components/Layout/Header/AppBarStyled.d.ts +0 -5
  82. package/dist/components/Layout/Header/AppBarStyled.d.ts.map +0 -1
  83. package/dist/components/Layout/Header/DrawerToggle.d.ts +0 -3
  84. package/dist/components/Layout/Header/DrawerToggle.d.ts.map +0 -1
  85. package/dist/components/Layout/Header/Header.d.ts +0 -8
  86. package/dist/components/Layout/Header/Header.d.ts.map +0 -1
  87. package/dist/components/Layout/Header/Notification/Notification.d.ts +0 -3
  88. package/dist/components/Layout/Header/Notification/Notification.d.ts.map +0 -1
  89. package/dist/components/Layout/Header/Notification/NotificationItem.d.ts +0 -19
  90. package/dist/components/Layout/Header/Notification/NotificationItem.d.ts.map +0 -1
  91. package/dist/components/Layout/Header/Notification/index.d.ts +0 -2
  92. package/dist/components/Layout/Header/Notification/index.d.ts.map +0 -1
  93. package/dist/components/Layout/Header/Profile/Profile.d.ts +0 -3
  94. package/dist/components/Layout/Header/Profile/Profile.d.ts.map +0 -1
  95. package/dist/components/Layout/Header/Profile/buttons/ChangePasswordButton.d.ts +0 -3
  96. package/dist/components/Layout/Header/Profile/buttons/ChangePasswordButton.d.ts.map +0 -1
  97. package/dist/components/Layout/Header/Profile/buttons/LogoutButton.d.ts +0 -3
  98. package/dist/components/Layout/Header/Profile/buttons/LogoutButton.d.ts.map +0 -1
  99. package/dist/components/Layout/Header/Profile/buttons/StopImpersonateButton.d.ts +0 -3
  100. package/dist/components/Layout/Header/Profile/buttons/StopImpersonateButton.d.ts.map +0 -1
  101. package/dist/components/Layout/Header/Profile/buttons/index.d.ts +0 -5
  102. package/dist/components/Layout/Header/Profile/buttons/index.d.ts.map +0 -1
  103. package/dist/components/Layout/Header/Profile/index.d.ts +0 -2
  104. package/dist/components/Layout/Header/Profile/index.d.ts.map +0 -1
  105. package/dist/components/Layout/Header/ResponsiveSection.d.ts +0 -5
  106. package/dist/components/Layout/Header/ResponsiveSection.d.ts.map +0 -1
  107. package/dist/components/Layout/Header/Spacer.d.ts +0 -5
  108. package/dist/components/Layout/Header/Spacer.d.ts.map +0 -1
  109. package/dist/components/Layout/Header/index.d.ts +0 -8
  110. package/dist/components/Layout/Header/index.d.ts.map +0 -1
  111. package/dist/components/Layout/HorizontalBar.d.ts +0 -5
  112. package/dist/components/Layout/HorizontalBar.d.ts.map +0 -1
  113. package/dist/components/Layout/Layout.d.ts +0 -24
  114. package/dist/components/Layout/Layout.d.ts.map +0 -1
  115. package/dist/components/Layout/NavMenu.d.ts +0 -5
  116. package/dist/components/Layout/NavMenu.d.ts.map +0 -1
  117. package/dist/components/Layout/Navigation/NavCollapse.d.ts +0 -23
  118. package/dist/components/Layout/Navigation/NavCollapse.d.ts.map +0 -1
  119. package/dist/components/Layout/Navigation/NavGroup.d.ts +0 -24
  120. package/dist/components/Layout/Navigation/NavGroup.d.ts.map +0 -1
  121. package/dist/components/Layout/Navigation/NavItem.d.ts +0 -13
  122. package/dist/components/Layout/Navigation/NavItem.d.ts.map +0 -1
  123. package/dist/components/Layout/Navigation/Navigation.d.ts +0 -7
  124. package/dist/components/Layout/Navigation/Navigation.d.ts.map +0 -1
  125. package/dist/components/Layout/Navigation/index.d.ts +0 -2
  126. package/dist/components/Layout/Navigation/index.d.ts.map +0 -1
  127. package/dist/components/Layout/Provider.d.ts +0 -84
  128. package/dist/components/Layout/Provider.d.ts.map +0 -1
  129. package/dist/components/Layout/Wrapper.d.ts +0 -6
  130. package/dist/components/Layout/Wrapper.d.ts.map +0 -1
  131. package/dist/components/Layout/index.d.ts +0 -12
  132. package/dist/components/Layout/index.d.ts.map +0 -1
  133. package/dist/components/Loadable.d.ts +0 -3
  134. package/dist/components/Loadable.d.ts.map +0 -1
  135. package/dist/components/Loader.d.ts +0 -3
  136. package/dist/components/Loader.d.ts.map +0 -1
  137. package/dist/components/Logo.d.ts +0 -20
  138. package/dist/components/Logo.d.ts.map +0 -1
  139. package/dist/components/MainCard.d.ts +0 -72
  140. package/dist/components/MainCard.d.ts.map +0 -1
  141. package/dist/components/MainIcon.d.ts +0 -11
  142. package/dist/components/MainIcon.d.ts.map +0 -1
  143. package/dist/components/MenuPopover/MenuPopover.d.ts +0 -20
  144. package/dist/components/MenuPopover/MenuPopover.d.ts.map +0 -1
  145. package/dist/components/MenuPopover/getPosition.d.ts +0 -51
  146. package/dist/components/MenuPopover/getPosition.d.ts.map +0 -1
  147. package/dist/components/MenuPopover/index.d.ts +0 -4
  148. package/dist/components/MenuPopover/index.d.ts.map +0 -1
  149. package/dist/components/MenuPopover/styles.d.ts +0 -2
  150. package/dist/components/MenuPopover/styles.d.ts.map +0 -1
  151. package/dist/components/Notification.d.ts +0 -7
  152. package/dist/components/Notification.d.ts.map +0 -1
  153. package/dist/components/ScrollTop.d.ts +0 -11
  154. package/dist/components/ScrollTop.d.ts.map +0 -1
  155. package/dist/components/ScrollX.d.ts +0 -3
  156. package/dist/components/ScrollX.d.ts.map +0 -1
  157. package/dist/components/SmallIcon.d.ts +0 -11
  158. package/dist/components/SmallIcon.d.ts.map +0 -1
  159. package/dist/components/index.d.ts +0 -24
  160. package/dist/components/index.d.ts.map +0 -1
  161. package/dist/components/ra-buttons/CreateInDialogButton.d.ts +0 -62
  162. package/dist/components/ra-buttons/CreateInDialogButton.d.ts.map +0 -1
  163. package/dist/components/ra-buttons/EditInDialogButton.d.ts +0 -24
  164. package/dist/components/ra-buttons/EditInDialogButton.d.ts.map +0 -1
  165. package/dist/components/ra-buttons/ImpersonateUserButton.d.ts +0 -12
  166. package/dist/components/ra-buttons/ImpersonateUserButton.d.ts.map +0 -1
  167. package/dist/components/ra-buttons/index.d.ts +0 -5
  168. package/dist/components/ra-buttons/index.d.ts.map +0 -1
  169. package/dist/components/ra-custom/ListItem.d.ts +0 -45
  170. package/dist/components/ra-custom/ListItem.d.ts.map +0 -1
  171. package/dist/components/ra-custom/index.d.ts +0 -3
  172. package/dist/components/ra-custom/index.d.ts.map +0 -1
  173. package/dist/components/ra-fields/ActionsField.d.ts +0 -23
  174. package/dist/components/ra-fields/ActionsField.d.ts.map +0 -1
  175. package/dist/components/ra-fields/AttachmentField.d.ts +0 -36
  176. package/dist/components/ra-fields/AttachmentField.d.ts.map +0 -1
  177. package/dist/components/ra-fields/BaseAttachmentField.d.ts +0 -32
  178. package/dist/components/ra-fields/BaseAttachmentField.d.ts.map +0 -1
  179. package/dist/components/ra-fields/CoverField.d.ts +0 -48
  180. package/dist/components/ra-fields/CoverField.d.ts.map +0 -1
  181. package/dist/components/ra-fields/DateAgoField.d.ts +0 -10
  182. package/dist/components/ra-fields/DateAgoField.d.ts.map +0 -1
  183. package/dist/components/ra-fields/DateField.d.ts +0 -7
  184. package/dist/components/ra-fields/DateField.d.ts.map +0 -1
  185. package/dist/components/ra-fields/EmailField.d.ts +0 -18
  186. package/dist/components/ra-fields/EmailField.d.ts.map +0 -1
  187. package/dist/components/ra-fields/FileField.d.ts +0 -29
  188. package/dist/components/ra-fields/FileField.d.ts.map +0 -1
  189. package/dist/components/ra-fields/FunctionField.d.ts +0 -8
  190. package/dist/components/ra-fields/FunctionField.d.ts.map +0 -1
  191. package/dist/components/ra-fields/ImageField.d.ts +0 -20
  192. package/dist/components/ra-fields/ImageField.d.ts.map +0 -1
  193. package/dist/components/ra-fields/ReadonlyField.d.ts +0 -27
  194. package/dist/components/ra-fields/ReadonlyField.d.ts.map +0 -1
  195. package/dist/components/ra-fields/ReferenceManyField.d.ts +0 -77
  196. package/dist/components/ra-fields/ReferenceManyField.d.ts.map +0 -1
  197. package/dist/components/ra-fields/SizeField.d.ts +0 -13
  198. package/dist/components/ra-fields/SizeField.d.ts.map +0 -1
  199. package/dist/components/ra-fields/TextField.d.ts +0 -7
  200. package/dist/components/ra-fields/TextField.d.ts.map +0 -1
  201. package/dist/components/ra-fields/index.d.ts +0 -15
  202. package/dist/components/ra-fields/index.d.ts.map +0 -1
  203. package/dist/components/ra-forms/CardForm.d.ts +0 -31
  204. package/dist/components/ra-forms/CardForm.d.ts.map +0 -1
  205. package/dist/components/ra-forms/ChangePasswordForm.d.ts +0 -7
  206. package/dist/components/ra-forms/ChangePasswordForm.d.ts.map +0 -1
  207. package/dist/components/ra-forms/Create.d.ts +0 -12
  208. package/dist/components/ra-forms/Create.d.ts.map +0 -1
  209. package/dist/components/ra-forms/Edit.d.ts +0 -26
  210. package/dist/components/ra-forms/Edit.d.ts.map +0 -1
  211. package/dist/components/ra-forms/FormHeader.d.ts +0 -29
  212. package/dist/components/ra-forms/FormHeader.d.ts.map +0 -1
  213. package/dist/components/ra-forms/LongForm/BaseForm.d.ts +0 -8
  214. package/dist/components/ra-forms/LongForm/BaseForm.d.ts.map +0 -1
  215. package/dist/components/ra-forms/LongForm/Content.d.ts +0 -8
  216. package/dist/components/ra-forms/LongForm/Content.d.ts.map +0 -1
  217. package/dist/components/ra-forms/LongForm/Form.d.ts +0 -11
  218. package/dist/components/ra-forms/LongForm/Form.d.ts.map +0 -1
  219. package/dist/components/ra-forms/LongForm/NavMenu.d.ts +0 -19
  220. package/dist/components/ra-forms/LongForm/NavMenu.d.ts.map +0 -1
  221. package/dist/components/ra-forms/LongForm/Provider.d.ts +0 -17
  222. package/dist/components/ra-forms/LongForm/Provider.d.ts.map +0 -1
  223. package/dist/components/ra-forms/LongForm/Sidebar.d.ts +0 -23
  224. package/dist/components/ra-forms/LongForm/Sidebar.d.ts.map +0 -1
  225. package/dist/components/ra-forms/LongForm/Tab.d.ts +0 -11
  226. package/dist/components/ra-forms/LongForm/Tab.d.ts.map +0 -1
  227. package/dist/components/ra-forms/LongForm/hooks.d.ts +0 -6
  228. package/dist/components/ra-forms/LongForm/hooks.d.ts.map +0 -1
  229. package/dist/components/ra-forms/LongForm/index.d.ts +0 -32
  230. package/dist/components/ra-forms/LongForm/index.d.ts.map +0 -1
  231. package/dist/components/ra-forms/LongForm/types.d.ts +0 -20
  232. package/dist/components/ra-forms/LongForm/types.d.ts.map +0 -1
  233. package/dist/components/ra-forms/LongForm/utils.d.ts +0 -9
  234. package/dist/components/ra-forms/LongForm/utils.d.ts.map +0 -1
  235. package/dist/components/ra-forms/Show.d.ts +0 -13
  236. package/dist/components/ra-forms/Show.d.ts.map +0 -1
  237. package/dist/components/ra-forms/SimpleForm.d.ts +0 -40
  238. package/dist/components/ra-forms/SimpleForm.d.ts.map +0 -1
  239. package/dist/components/ra-forms/SimpleFormIterator.d.ts +0 -6
  240. package/dist/components/ra-forms/SimpleFormIterator.d.ts.map +0 -1
  241. package/dist/components/ra-forms/TabbedForm.d.ts +0 -11
  242. package/dist/components/ra-forms/TabbedForm.d.ts.map +0 -1
  243. package/dist/components/ra-forms/TableForm/TableFormIterator.d.ts +0 -45
  244. package/dist/components/ra-forms/TableForm/TableFormIterator.d.ts.map +0 -1
  245. package/dist/components/ra-forms/TableForm/TableFormIteratorItem.d.ts +0 -18
  246. package/dist/components/ra-forms/TableForm/TableFormIteratorItem.d.ts.map +0 -1
  247. package/dist/components/ra-forms/TableForm/index.d.ts +0 -4
  248. package/dist/components/ra-forms/TableForm/index.d.ts.map +0 -1
  249. package/dist/components/ra-forms/Toolbar.d.ts +0 -11
  250. package/dist/components/ra-forms/Toolbar.d.ts.map +0 -1
  251. package/dist/components/ra-forms/index.d.ts +0 -15
  252. package/dist/components/ra-forms/index.d.ts.map +0 -1
  253. package/dist/components/ra-inputs/ArrayInput.d.ts +0 -15
  254. package/dist/components/ra-inputs/ArrayInput.d.ts.map +0 -1
  255. package/dist/components/ra-inputs/AttachmentInput.d.ts +0 -50
  256. package/dist/components/ra-inputs/AttachmentInput.d.ts.map +0 -1
  257. package/dist/components/ra-inputs/AutocompleteArrayInput.d.ts +0 -9
  258. package/dist/components/ra-inputs/AutocompleteArrayInput.d.ts.map +0 -1
  259. package/dist/components/ra-inputs/AutocompleteInput.d.ts +0 -7
  260. package/dist/components/ra-inputs/AutocompleteInput.d.ts.map +0 -1
  261. package/dist/components/ra-inputs/BooleanInput.d.ts +0 -25
  262. package/dist/components/ra-inputs/BooleanInput.d.ts.map +0 -1
  263. package/dist/components/ra-inputs/DateInput.d.ts +0 -18
  264. package/dist/components/ra-inputs/DateInput.d.ts.map +0 -1
  265. package/dist/components/ra-inputs/DateTimeInput.d.ts +0 -22
  266. package/dist/components/ra-inputs/DateTimeInput.d.ts.map +0 -1
  267. package/dist/components/ra-inputs/FileInput.d.ts +0 -47
  268. package/dist/components/ra-inputs/FileInput.d.ts.map +0 -1
  269. package/dist/components/ra-inputs/ImageInput.d.ts +0 -14
  270. package/dist/components/ra-inputs/ImageInput.d.ts.map +0 -1
  271. package/dist/components/ra-inputs/LabeledArrayInput.d.ts +0 -42
  272. package/dist/components/ra-inputs/LabeledArrayInput.d.ts.map +0 -1
  273. package/dist/components/ra-inputs/LabeledInput.d.ts +0 -41
  274. package/dist/components/ra-inputs/LabeledInput.d.ts.map +0 -1
  275. package/dist/components/ra-inputs/NumberInput.d.ts +0 -24
  276. package/dist/components/ra-inputs/NumberInput.d.ts.map +0 -1
  277. package/dist/components/ra-inputs/RecordInput.d.ts +0 -15
  278. package/dist/components/ra-inputs/RecordInput.d.ts.map +0 -1
  279. package/dist/components/ra-inputs/ReferenceArrayInput.d.ts +0 -24
  280. package/dist/components/ra-inputs/ReferenceArrayInput.d.ts.map +0 -1
  281. package/dist/components/ra-inputs/ReferenceInput.d.ts +0 -25
  282. package/dist/components/ra-inputs/ReferenceInput.d.ts.map +0 -1
  283. package/dist/components/ra-inputs/ReferenceManyInput.d.ts +0 -39
  284. package/dist/components/ra-inputs/ReferenceManyInput.d.ts.map +0 -1
  285. package/dist/components/ra-inputs/SearchInput.d.ts +0 -3
  286. package/dist/components/ra-inputs/SearchInput.d.ts.map +0 -1
  287. package/dist/components/ra-inputs/SelectArrayInput.d.ts +0 -28
  288. package/dist/components/ra-inputs/SelectArrayInput.d.ts.map +0 -1
  289. package/dist/components/ra-inputs/SelectInput.d.ts +0 -29
  290. package/dist/components/ra-inputs/SelectInput.d.ts.map +0 -1
  291. package/dist/components/ra-inputs/SmartTextInput.d.ts +0 -28
  292. package/dist/components/ra-inputs/SmartTextInput.d.ts.map +0 -1
  293. package/dist/components/ra-inputs/TextInput.d.ts +0 -19
  294. package/dist/components/ra-inputs/TextInput.d.ts.map +0 -1
  295. package/dist/components/ra-inputs/TimeInput.d.ts +0 -18
  296. package/dist/components/ra-inputs/TimeInput.d.ts.map +0 -1
  297. package/dist/components/ra-inputs/index.d.ts +0 -24
  298. package/dist/components/ra-inputs/index.d.ts.map +0 -1
  299. package/dist/components/ra-lists/Datagrid.d.ts +0 -638
  300. package/dist/components/ra-lists/Datagrid.d.ts.map +0 -1
  301. package/dist/components/ra-lists/Empty.d.ts +0 -44
  302. package/dist/components/ra-lists/Empty.d.ts.map +0 -1
  303. package/dist/components/ra-lists/List.d.ts +0 -29
  304. package/dist/components/ra-lists/List.d.ts.map +0 -1
  305. package/dist/components/ra-lists/ListView.d.ts +0 -257
  306. package/dist/components/ra-lists/ListView.d.ts.map +0 -1
  307. package/dist/components/ra-lists/NotificationList/NotificationList.d.ts +0 -5
  308. package/dist/components/ra-lists/NotificationList/NotificationList.d.ts.map +0 -1
  309. package/dist/components/ra-lists/NotificationList/button/MarkAsReadedButton.d.ts +0 -3
  310. package/dist/components/ra-lists/NotificationList/button/MarkAsReadedButton.d.ts.map +0 -1
  311. package/dist/components/ra-lists/NotificationList/button/MarkAsUnreadedButton.d.ts +0 -3
  312. package/dist/components/ra-lists/NotificationList/button/MarkAsUnreadedButton.d.ts.map +0 -1
  313. package/dist/components/ra-lists/NotificationList/button/index.d.ts +0 -3
  314. package/dist/components/ra-lists/NotificationList/button/index.d.ts.map +0 -1
  315. package/dist/components/ra-lists/NotificationList/field/NotificationField.d.ts +0 -3
  316. package/dist/components/ra-lists/NotificationList/field/NotificationField.d.ts.map +0 -1
  317. package/dist/components/ra-lists/NotificationList/field/index.d.ts +0 -2
  318. package/dist/components/ra-lists/NotificationList/field/index.d.ts.map +0 -1
  319. package/dist/components/ra-lists/NotificationList/index.d.ts +0 -3
  320. package/dist/components/ra-lists/NotificationList/index.d.ts.map +0 -1
  321. package/dist/components/ra-lists/index.d.ts +0 -6
  322. package/dist/components/ra-lists/index.d.ts.map +0 -1
  323. package/dist/components/ra-pages/ActivatePage.d.ts +0 -12
  324. package/dist/components/ra-pages/ActivatePage.d.ts.map +0 -1
  325. package/dist/components/ra-pages/GenericErrorPage.d.ts +0 -3
  326. package/dist/components/ra-pages/GenericErrorPage.d.ts.map +0 -1
  327. package/dist/components/ra-pages/LoginPage.d.ts +0 -52
  328. package/dist/components/ra-pages/LoginPage.d.ts.map +0 -1
  329. package/dist/components/ra-pages/RecoverPage.d.ts +0 -12
  330. package/dist/components/ra-pages/RecoverPage.d.ts.map +0 -1
  331. package/dist/components/ra-pages/RegisterPage.d.ts +0 -11
  332. package/dist/components/ra-pages/RegisterPage.d.ts.map +0 -1
  333. package/dist/components/ra-pages/index.d.ts +0 -6
  334. package/dist/components/ra-pages/index.d.ts.map +0 -1
  335. package/dist/components/ra-pages/types.d.ts +0 -32
  336. package/dist/components/ra-pages/types.d.ts.map +0 -1
  337. package/dist/components/third-party/SimpleBar.d.ts +0 -14
  338. package/dist/components/third-party/SimpleBar.d.ts.map +0 -1
  339. package/dist/components/third-party/index.d.ts +0 -3
  340. package/dist/components/third-party/index.d.ts.map +0 -1
  341. package/dist/contexts/AppConfigContext.d.ts +0 -32
  342. package/dist/contexts/AppConfigContext.d.ts.map +0 -1
  343. package/dist/contexts/MenuConfigContext.d.ts +0 -51
  344. package/dist/contexts/MenuConfigContext.d.ts.map +0 -1
  345. package/dist/contexts/MenuPropTypes.d.ts +0 -13
  346. package/dist/contexts/MenuPropTypes.d.ts.map +0 -1
  347. package/dist/contexts/TableFormIteratorContext.d.ts +0 -18
  348. package/dist/contexts/TableFormIteratorContext.d.ts.map +0 -1
  349. package/dist/contexts/TableFormIteratorItemContext.d.ts +0 -16
  350. package/dist/contexts/TableFormIteratorItemContext.d.ts.map +0 -1
  351. package/dist/contexts/ThemeConfigContext.d.ts +0 -69
  352. package/dist/contexts/ThemeConfigContext.d.ts.map +0 -1
  353. package/dist/contexts/index.d.ts +0 -8
  354. package/dist/contexts/index.d.ts.map +0 -1
  355. package/dist/dev/CatchResult.d.ts +0 -17
  356. package/dist/dev/CatchResult.d.ts.map +0 -1
  357. package/dist/dev/ErrorEventHandler.d.ts +0 -13
  358. package/dist/dev/ErrorEventHandler.d.ts.map +0 -1
  359. package/dist/dev/index.d.ts +0 -5
  360. package/dist/dev/index.d.ts.map +0 -1
  361. package/dist/dev/useErrorEventCatcher.d.ts +0 -12
  362. package/dist/dev/useErrorEventCatcher.d.ts.map +0 -1
  363. package/dist/hooks/index.d.ts +0 -14
  364. package/dist/hooks/index.d.ts.map +0 -1
  365. package/dist/hooks/mui.d.ts +0 -7
  366. package/dist/hooks/mui.d.ts.map +0 -1
  367. package/dist/hooks/useAppConfig.d.ts +0 -8
  368. package/dist/hooks/useAppConfig.d.ts.map +0 -1
  369. package/dist/hooks/useBreadcrumbs.d.ts +0 -9
  370. package/dist/hooks/useBreadcrumbs.d.ts.map +0 -1
  371. package/dist/hooks/useLocalStorage.d.ts +0 -2
  372. package/dist/hooks/useLocalStorage.d.ts.map +0 -1
  373. package/dist/hooks/useMemoizedObject.d.ts +0 -10
  374. package/dist/hooks/useMemoizedObject.d.ts.map +0 -1
  375. package/dist/hooks/useMenu.d.ts +0 -8
  376. package/dist/hooks/useMenu.d.ts.map +0 -1
  377. package/dist/hooks/useMenuConfig.d.ts +0 -11
  378. package/dist/hooks/useMenuConfig.d.ts.map +0 -1
  379. package/dist/hooks/useRefDimensions.d.ts +0 -13
  380. package/dist/hooks/useRefDimensions.d.ts.map +0 -1
  381. package/dist/hooks/useResourceTitle.d.ts +0 -3
  382. package/dist/hooks/useResourceTitle.d.ts.map +0 -1
  383. package/dist/hooks/useTableFormIterator.d.ts +0 -9
  384. package/dist/hooks/useTableFormIterator.d.ts.map +0 -1
  385. package/dist/hooks/useTableFormIteratorItem.d.ts +0 -9
  386. package/dist/hooks/useTableFormIteratorItem.d.ts.map +0 -1
  387. package/dist/hooks/useThemeConfig.d.ts +0 -3
  388. package/dist/hooks/useThemeConfig.d.ts.map +0 -1
  389. package/dist/i18n/MissingMessageHandler.d.ts +0 -19
  390. package/dist/i18n/MissingMessageHandler.d.ts.map +0 -1
  391. package/dist/i18n/createI18nProvider.d.ts +0 -10
  392. package/dist/i18n/createI18nProvider.d.ts.map +0 -1
  393. package/dist/i18n/index.d.ts +0 -4
  394. package/dist/i18n/index.d.ts.map +0 -1
  395. package/dist/i18n/useI18nLanguages.d.ts +0 -14
  396. package/dist/i18n/useI18nLanguages.d.ts.map +0 -1
  397. package/dist/i18n/useI18nProvider.d.ts +0 -7
  398. package/dist/i18n/useI18nProvider.d.ts.map +0 -1
  399. package/dist/index.d.ts +0 -10
  400. package/dist/index.d.ts.map +0 -1
  401. package/dist/themes/getColors.d.ts +0 -3
  402. package/dist/themes/getColors.d.ts.map +0 -1
  403. package/dist/themes/getShadow.d.ts +0 -10
  404. package/dist/themes/getShadow.d.ts.map +0 -1
  405. package/dist/themes/index.d.ts +0 -15
  406. package/dist/themes/index.d.ts.map +0 -1
  407. package/dist/themes/overrides/Accordion.d.ts +0 -24
  408. package/dist/themes/overrides/Accordion.d.ts.map +0 -1
  409. package/dist/themes/overrides/AccordionDetails.d.ts +0 -11
  410. package/dist/themes/overrides/AccordionDetails.d.ts.map +0 -1
  411. package/dist/themes/overrides/AccordionSummary.d.ts +0 -25
  412. package/dist/themes/overrides/AccordionSummary.d.ts.map +0 -1
  413. package/dist/themes/overrides/Alert.d.ts +0 -89
  414. package/dist/themes/overrides/Alert.d.ts.map +0 -1
  415. package/dist/themes/overrides/AlertTitle.d.ts +0 -12
  416. package/dist/themes/overrides/AlertTitle.d.ts.map +0 -1
  417. package/dist/themes/overrides/Autocomplete.d.ts +0 -23
  418. package/dist/themes/overrides/Autocomplete.d.ts.map +0 -1
  419. package/dist/themes/overrides/Badge.d.ts +0 -40
  420. package/dist/themes/overrides/Badge.d.ts.map +0 -1
  421. package/dist/themes/overrides/Button.d.ts +0 -7559
  422. package/dist/themes/overrides/Button.d.ts.map +0 -1
  423. package/dist/themes/overrides/ButtonBase.d.ts +0 -9
  424. package/dist/themes/overrides/ButtonBase.d.ts.map +0 -1
  425. package/dist/themes/overrides/ButtonGroup.d.ts +0 -8
  426. package/dist/themes/overrides/ButtonGroup.d.ts.map +0 -1
  427. package/dist/themes/overrides/CardContent.d.ts +0 -13
  428. package/dist/themes/overrides/CardContent.d.ts.map +0 -1
  429. package/dist/themes/overrides/Checkbox.d.ts +0 -122
  430. package/dist/themes/overrides/Checkbox.d.ts.map +0 -1
  431. package/dist/themes/overrides/Chip.d.ts +0 -208
  432. package/dist/themes/overrides/Chip.d.ts.map +0 -1
  433. package/dist/themes/overrides/Dialog.d.ts +0 -12
  434. package/dist/themes/overrides/Dialog.d.ts.map +0 -1
  435. package/dist/themes/overrides/DialogContentText.d.ts +0 -11
  436. package/dist/themes/overrides/DialogContentText.d.ts.map +0 -1
  437. package/dist/themes/overrides/DialogTitle.d.ts +0 -11
  438. package/dist/themes/overrides/DialogTitle.d.ts.map +0 -1
  439. package/dist/themes/overrides/Fab.d.ts +0 -159
  440. package/dist/themes/overrides/Fab.d.ts.map +0 -1
  441. package/dist/themes/overrides/IconButton.d.ts +0 -30
  442. package/dist/themes/overrides/IconButton.d.ts.map +0 -1
  443. package/dist/themes/overrides/InputBase.d.ts +0 -6
  444. package/dist/themes/overrides/InputBase.d.ts.map +0 -1
  445. package/dist/themes/overrides/InputLabel.d.ts +0 -22
  446. package/dist/themes/overrides/InputLabel.d.ts.map +0 -1
  447. package/dist/themes/overrides/LinearProgress.d.ts +0 -14
  448. package/dist/themes/overrides/LinearProgress.d.ts.map +0 -1
  449. package/dist/themes/overrides/Link.d.ts +0 -8
  450. package/dist/themes/overrides/Link.d.ts.map +0 -1
  451. package/dist/themes/overrides/ListItemButton.d.ts +0 -15
  452. package/dist/themes/overrides/ListItemButton.d.ts.map +0 -1
  453. package/dist/themes/overrides/ListItemIcon.d.ts +0 -11
  454. package/dist/themes/overrides/ListItemIcon.d.ts.map +0 -1
  455. package/dist/themes/overrides/ListItemText.d.ts +0 -12
  456. package/dist/themes/overrides/ListItemText.d.ts.map +0 -1
  457. package/dist/themes/overrides/LoadingButton.d.ts +0 -14
  458. package/dist/themes/overrides/LoadingButton.d.ts.map +0 -1
  459. package/dist/themes/overrides/OutlinedInput.d.ts +0 -96
  460. package/dist/themes/overrides/OutlinedInput.d.ts.map +0 -1
  461. package/dist/themes/overrides/Pagination.d.ts +0 -8
  462. package/dist/themes/overrides/Pagination.d.ts.map +0 -1
  463. package/dist/themes/overrides/PaginationItem.d.ts +0 -951
  464. package/dist/themes/overrides/PaginationItem.d.ts.map +0 -1
  465. package/dist/themes/overrides/Popover.d.ts +0 -10
  466. package/dist/themes/overrides/Popover.d.ts.map +0 -1
  467. package/dist/themes/overrides/Radio.d.ts +0 -123
  468. package/dist/themes/overrides/Radio.d.ts.map +0 -1
  469. package/dist/themes/overrides/Slider.d.ts +0 -66
  470. package/dist/themes/overrides/Slider.d.ts.map +0 -1
  471. package/dist/themes/overrides/Switch.d.ts +0 -91
  472. package/dist/themes/overrides/Switch.d.ts.map +0 -1
  473. package/dist/themes/overrides/Tab.d.ts +0 -21
  474. package/dist/themes/overrides/Tab.d.ts.map +0 -1
  475. package/dist/themes/overrides/TableBody.d.ts +0 -22
  476. package/dist/themes/overrides/TableBody.d.ts.map +0 -1
  477. package/dist/themes/overrides/TableCell.d.ts +0 -48
  478. package/dist/themes/overrides/TableCell.d.ts.map +0 -1
  479. package/dist/themes/overrides/TableFooter.d.ts +0 -12
  480. package/dist/themes/overrides/TableFooter.d.ts.map +0 -1
  481. package/dist/themes/overrides/TableHead.d.ts +0 -12
  482. package/dist/themes/overrides/TableHead.d.ts.map +0 -1
  483. package/dist/themes/overrides/TablePagination.d.ts +0 -13
  484. package/dist/themes/overrides/TablePagination.d.ts.map +0 -1
  485. package/dist/themes/overrides/TableRow.d.ts +0 -22
  486. package/dist/themes/overrides/TableRow.d.ts.map +0 -1
  487. package/dist/themes/overrides/Tabs.d.ts +0 -10
  488. package/dist/themes/overrides/Tabs.d.ts.map +0 -1
  489. package/dist/themes/overrides/ToggleButton.d.ts +0 -17
  490. package/dist/themes/overrides/ToggleButton.d.ts.map +0 -1
  491. package/dist/themes/overrides/Tooltip.d.ts +0 -10
  492. package/dist/themes/overrides/Tooltip.d.ts.map +0 -1
  493. package/dist/themes/overrides/TreeItem.d.ts +0 -15
  494. package/dist/themes/overrides/TreeItem.d.ts.map +0 -1
  495. package/dist/themes/overrides/Typography.d.ts +0 -10
  496. package/dist/themes/overrides/Typography.d.ts.map +0 -1
  497. package/dist/themes/overrides/index.d.ts +0 -2
  498. package/dist/themes/overrides/index.d.ts.map +0 -1
  499. package/dist/themes/palette.d.ts +0 -3
  500. package/dist/themes/palette.d.ts.map +0 -1
  501. package/dist/themes/shadows.d.ts +0 -21
  502. package/dist/themes/shadows.d.ts.map +0 -1
  503. package/dist/themes/theme/default.d.ts +0 -90
  504. package/dist/themes/theme/default.d.ts.map +0 -1
  505. package/dist/themes/theme/index.d.ts +0 -91
  506. package/dist/themes/theme/index.d.ts.map +0 -1
  507. package/dist/themes/theme/theme1.d.ts +0 -84
  508. package/dist/themes/theme/theme1.d.ts.map +0 -1
  509. package/dist/themes/theme/theme2.d.ts +0 -84
  510. package/dist/themes/theme/theme2.d.ts.map +0 -1
  511. package/dist/themes/theme/theme3.d.ts +0 -84
  512. package/dist/themes/theme/theme3.d.ts.map +0 -1
  513. package/dist/themes/theme/theme4.d.ts +0 -84
  514. package/dist/themes/theme/theme4.d.ts.map +0 -1
  515. package/dist/themes/theme/theme5.d.ts +0 -84
  516. package/dist/themes/theme/theme5.d.ts.map +0 -1
  517. package/dist/themes/theme/theme6.d.ts +0 -84
  518. package/dist/themes/theme/theme6.d.ts.map +0 -1
  519. package/dist/themes/theme/theme7.d.ts +0 -84
  520. package/dist/themes/theme/theme7.d.ts.map +0 -1
  521. package/dist/themes/theme/theme8.d.ts +0 -84
  522. package/dist/themes/theme/theme8.d.ts.map +0 -1
  523. package/dist/themes/typography.d.ts +0 -69
  524. package/dist/themes/typography.d.ts.map +0 -1
  525. package/dist/types.d.ts +0 -58
  526. package/dist/types.d.ts.map +0 -1
  527. package/dist/utils/index.d.ts +0 -3
  528. package/dist/utils/index.d.ts.map +0 -1
  529. package/dist/utils/lang.d.ts +0 -2
  530. package/dist/utils/lang.d.ts.map +0 -1
  531. package/dist/utils/time.d.ts +0 -4
  532. package/dist/utils/time.d.ts.map +0 -1
@@ -0,0 +1,345 @@
1
+ import {
2
+ DatagridProps as RaDatagridProps,
3
+ DatagridHeader,
4
+ DatagridLoading,
5
+ DatagridBody,
6
+ PureDatagridBody,
7
+ BulkDeleteButton,
8
+ ListNoResults,
9
+ DatagridClasses,
10
+ DatagridRoot
11
+ } from 'react-admin';
12
+
13
+ import * as React from 'react';
14
+ import { cloneElement, createElement, isValidElement, useCallback, useRef, useEffect, FC, useMemo } from 'react';
15
+ import PropTypes from 'prop-types';
16
+ import { sanitizeListRestProps, useListContext, Identifier } from 'ra-core';
17
+ import { Table } from '@mui/material';
18
+ import clsx from 'clsx';
19
+ import union from 'lodash/union';
20
+ import difference from 'lodash/difference';
21
+ import DatagridContextProvider from './DatagridContextProvider';
22
+ import BulkActionsToolbar from '../BulkActionsToolbar';
23
+
24
+ const defaultBulkActionButtons = <BulkDeleteButton />;
25
+
26
+ export type DatagridProps = RaDatagridProps & {
27
+ /**
28
+ * An alternative to bulkActionButtons, to be used when the actions are too complex to be expressed.
29
+ * In this case you are free to fully control the rendering of the bulk actions toolbar.
30
+ * @see BulkActionsToolbar
31
+ * @example <caption>Using the BulkActionsToolbar component</caption>
32
+ * import { BulkActionsToolbar } from '@applica-software-guru/react-admin';
33
+ * import { BulkDeleteButton } from 'react-admin';
34
+ *
35
+ * const PostBulkActionButtons = props => (
36
+ * <BulkActionsToolbar {...props}>
37
+ * <BulkDeleteButton />
38
+ * // add your custom actions here
39
+ * </BulkActionsToolbar>
40
+ * );
41
+ *
42
+ * @example <caption>Using BulkFloatingActionsToolbar component</caption>
43
+ * import { BulkActionsToolbar } from '@applica-software-guru/react-admin';
44
+ * import { BulkDeleteButton } from 'react-admin';
45
+ *
46
+ * const PostBulkActionButtons = props => (
47
+ * <BulkActionsToolbar {...props}>
48
+ * <BulkDeleteButton />
49
+ * // add your custom actions here
50
+ * </BulkActionsToolbar>
51
+ * );
52
+ *
53
+ */
54
+ bulkActionsToolbar: React.ReactNode | React.FC | boolean;
55
+ };
56
+
57
+ /**
58
+ * The Datagrid component renders a list of records as a table.
59
+ * It is usually used as a child of the <List> and <ReferenceManyField> components.
60
+ *
61
+ * Props:
62
+ * - body
63
+ * - bulkActionButtons
64
+ * - children
65
+ * - empty
66
+ * - expand
67
+ * - header
68
+ * - hover
69
+ * - isRowExpandable
70
+ * - isRowSelectable
71
+ * - optimized
72
+ * - rowClick
73
+ * - rowSx
74
+ * - size
75
+ * - sx
76
+ *
77
+ * @example // Display all posts as a datagrid
78
+ * const postRowSx = (record, index) => ({
79
+ * backgroundColor: record.nb_views >= 500 ? '#efe' : 'white',
80
+ * });
81
+ * export const PostList = () => (
82
+ * <List>
83
+ * <Datagrid rowSx={postRowSx}>
84
+ * <TextField source="id" />
85
+ * <TextField source="title" />
86
+ * <TextField source="body" />
87
+ * <EditButton />
88
+ * </Datagrid>
89
+ * </List>
90
+ * );
91
+ *
92
+ * @example // Display all the comments of the current post as a datagrid
93
+ * <ReferenceManyField reference="comments" target="post_id">
94
+ * <Datagrid>
95
+ * <TextField source="id" />
96
+ * <TextField source="body" />
97
+ * <DateField source="created_at" />
98
+ * <EditButton />
99
+ * </Datagrid>
100
+ * </ReferenceManyField>
101
+ *
102
+ * @example // Usage outside of a <List> or a <ReferenceManyField>.
103
+ *
104
+ * const sort = { field: 'published_at', order: 'DESC' };
105
+ *
106
+ * export const MyCustomList = (props) => {
107
+ * const { data, total, isLoading } = useGetList(
108
+ * 'posts',
109
+ * { pagination: { page: 1, perPage: 10 }, sort: sort }
110
+ * );
111
+ *
112
+ * return (
113
+ * <Datagrid
114
+ * data={data}
115
+ * total={total}
116
+ * isLoading={isLoading}
117
+ * sort={sort}
118
+ * selectedIds={[]}
119
+ * setSort={() => {
120
+ * console.log('set sort');
121
+ * }}
122
+ * onSelect={() => {
123
+ * console.log('on select');
124
+ * }}
125
+ * onToggleItem={() => {
126
+ * console.log('on toggle item');
127
+ * }}
128
+ * >
129
+ * <TextField source="id" />
130
+ * <TextField source="title" />
131
+ * </Datagrid>
132
+ * );
133
+ * }
134
+ */
135
+ export const Datagrid: FC<DatagridProps> = React.forwardRef((props, ref) => {
136
+ const {
137
+ optimized = false,
138
+ body = optimized ? PureDatagridBody : DatagridBody,
139
+ header = DatagridHeader,
140
+ children,
141
+ className,
142
+ empty = DefaultEmpty,
143
+ expand,
144
+ bulkActionsToolbar = false,
145
+ bulkActionButtons = defaultBulkActionButtons,
146
+ hover,
147
+ isRowSelectable,
148
+ isRowExpandable,
149
+ resource,
150
+ rowClick,
151
+ rowSx,
152
+ rowStyle,
153
+ size = 'small',
154
+ sx,
155
+ expandSingle = false,
156
+ ...rest
157
+ } = props;
158
+
159
+ const { sort, data, isLoading, onSelect, onToggleItem, selectedIds, setSort, total } = useListContext(props);
160
+
161
+ const hasBulkActions = !!bulkActionButtons !== false;
162
+
163
+ const contextValue = useMemo(() => ({ isRowExpandable, expandSingle }), [isRowExpandable, expandSingle]);
164
+
165
+ const lastSelected = useRef(null);
166
+
167
+ useEffect(() => {
168
+ if (!selectedIds || selectedIds.length === 0) {
169
+ lastSelected.current = null;
170
+ }
171
+ }, [JSON.stringify(selectedIds)]); // eslint-disable-line react-hooks/exhaustive-deps
172
+
173
+ // we manage row selection at the datagrid level to allow shift+click to select an array of rows
174
+ const handleToggleItem = useCallback(
175
+ // @ts-ignore
176
+ (id, event) => {
177
+ const ids = data.map((record) => record.id);
178
+ const lastSelectedIndex = ids.indexOf(lastSelected.current);
179
+ lastSelected.current = event.target.checked ? id : null;
180
+
181
+ if (event.shiftKey && lastSelectedIndex !== -1) {
182
+ const index = ids.indexOf(id);
183
+ const idsBetweenSelections = ids.slice(Math.min(lastSelectedIndex, index), Math.max(lastSelectedIndex, index) + 1);
184
+
185
+ const newSelectedIds = event.target.checked
186
+ ? union(selectedIds, idsBetweenSelections)
187
+ : difference(selectedIds, idsBetweenSelections);
188
+
189
+ onSelect(
190
+ isRowSelectable
191
+ ? newSelectedIds.filter((id: Identifier) => isRowSelectable(data.find((record) => record.id === id)))
192
+ : newSelectedIds
193
+ );
194
+ } else {
195
+ onToggleItem(id);
196
+ }
197
+ },
198
+ [data, isRowSelectable, onSelect, onToggleItem, selectedIds]
199
+ );
200
+
201
+ if (isLoading === true) {
202
+ return (
203
+ <DatagridLoading
204
+ className={className}
205
+ expand={expand}
206
+ hasBulkActions={hasBulkActions}
207
+ nbChildren={React.Children.count(children)}
208
+ size={size}
209
+ />
210
+ );
211
+ }
212
+
213
+ /**
214
+ * Once loaded, the data for the list may be empty. Instead of
215
+ * displaying the table header with zero data rows,
216
+ * the Datagrid displays the empty component.
217
+ */
218
+ if (data == null || data.length === 0 || total === 0) {
219
+ if (empty) {
220
+ return empty;
221
+ }
222
+
223
+ return null;
224
+ }
225
+
226
+ /**
227
+ * After the initial load, if the data for the list isn't empty,
228
+ * and even if the data is refreshing (e.g. after a filter change),
229
+ * the datagrid displays the current data.
230
+ */
231
+ return (
232
+ <DatagridContextProvider value={contextValue}>
233
+ <DatagridRoot sx={sx} className={clsx(DatagridClasses.root, className)}>
234
+ {bulkActionsToolbar != null && isValidElement(bulkActionsToolbar) ? (
235
+ cloneElement<any>(bulkActionsToolbar, {
236
+ selectedIds,
237
+ total
238
+ })
239
+ ) : bulkActionButtons !== false ? (
240
+ <BulkActionsToolbar>{isValidElement(bulkActionButtons) ? bulkActionButtons : defaultBulkActionButtons}</BulkActionsToolbar>
241
+ ) : null}
242
+ <div className={DatagridClasses.tableWrapper}>
243
+ <Table ref={ref} className={DatagridClasses.table} size={size} {...sanitizeRestProps(rest)}>
244
+ {createOrCloneElement(
245
+ header,
246
+ {
247
+ children,
248
+ sort,
249
+ data,
250
+ hasExpand: !!expand,
251
+ hasBulkActions,
252
+ isRowSelectable,
253
+ onSelect,
254
+ resource,
255
+ selectedIds,
256
+ setSort
257
+ },
258
+ children
259
+ )}
260
+ {createOrCloneElement(
261
+ body,
262
+ {
263
+ expand,
264
+ rowClick,
265
+ data,
266
+ hasBulkActions,
267
+ hover,
268
+ onToggleItem: handleToggleItem,
269
+ resource,
270
+ rowSx,
271
+ rowStyle,
272
+ selectedIds,
273
+ isRowSelectable
274
+ },
275
+ children
276
+ )}
277
+ </Table>
278
+ </div>
279
+ </DatagridRoot>
280
+ </DatagridContextProvider>
281
+ );
282
+ });
283
+
284
+ // @ts-ignore
285
+ const createOrCloneElement = (element, props, children) =>
286
+ isValidElement(element) ? cloneElement(element, props, children) : createElement(element, props, children);
287
+
288
+ Datagrid.propTypes = {
289
+ // @ts-ignore
290
+ body: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),
291
+ // @ts-ignore-line
292
+ bulkActionButtons: PropTypes.oneOfType([PropTypes.bool, PropTypes.element]),
293
+ children: PropTypes.node.isRequired,
294
+ className: PropTypes.string,
295
+ // @ts-ignore
296
+ sort: PropTypes.exact({
297
+ field: PropTypes.string,
298
+ order: PropTypes.oneOf(['ASC', 'DESC'] as const)
299
+ }),
300
+ data: PropTypes.arrayOf(PropTypes.any),
301
+ empty: PropTypes.element,
302
+ // @ts-ignore
303
+ expand: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),
304
+ // @ts-ignore
305
+ header: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),
306
+ hover: PropTypes.bool,
307
+ isLoading: PropTypes.bool,
308
+ onSelect: PropTypes.func,
309
+ onToggleItem: PropTypes.func,
310
+ resource: PropTypes.string,
311
+ // @ts-ignore
312
+ rowClick: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.bool]),
313
+ rowSx: PropTypes.func,
314
+ rowStyle: PropTypes.func,
315
+ selectedIds: PropTypes.arrayOf(PropTypes.any),
316
+ setSort: PropTypes.func,
317
+ total: PropTypes.number,
318
+ isRowSelectable: PropTypes.func,
319
+ isRowExpandable: PropTypes.func,
320
+ expandSingle: PropTypes.bool
321
+ };
322
+
323
+ const injectedProps = [
324
+ 'isRequired',
325
+ 'setFilter',
326
+ 'setPagination',
327
+ 'limitChoicesToValue',
328
+ 'translateChoice',
329
+ // Datagrid may be used as an alternative to SelectInput
330
+ 'field',
331
+ 'fieldState',
332
+ 'formState'
333
+ ];
334
+
335
+ // @ts-ignore
336
+ const sanitizeRestProps = (props) =>
337
+ Object.keys(sanitizeListRestProps(props))
338
+ .filter((propName) => !injectedProps.includes(propName))
339
+ .reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});
340
+
341
+ Datagrid.displayName = 'Datagrid';
342
+
343
+ const DefaultEmpty = <ListNoResults />;
344
+
345
+ export default Datagrid;
@@ -0,0 +1,13 @@
1
+ import { createContext } from 'react';
2
+ import { RaRecord } from 'ra-core';
3
+
4
+ const DatagridContext = createContext<DatagridContextValue>({});
5
+
6
+ DatagridContext.displayName = 'DatagridContext';
7
+
8
+ export type DatagridContextValue = {
9
+ isRowExpandable?: (record: RaRecord) => boolean;
10
+ expandSingle?: boolean;
11
+ };
12
+
13
+ export default DatagridContext;
@@ -0,0 +1,8 @@
1
+ import React, { ReactElement, ReactNode } from 'react';
2
+ import DatagridContext, { DatagridContextValue } from './DatagridContext';
3
+
4
+ const DatagridContextProvider = ({ children, value }: { children: ReactNode; value: DatagridContextValue }): ReactElement => (
5
+ <DatagridContext.Provider value={value}>{children}</DatagridContext.Provider>
6
+ );
7
+
8
+ export default DatagridContextProvider;
@@ -1,8 +1,9 @@
1
- import { DatagridProps, Datagrid as RaDatagrid } from 'react-admin';
1
+ import { Datagrid as RaDatagrid } from './Datagrid';
2
+ import { DatagridProps } from 'react-admin';
2
3
 
3
4
  import { styled } from '@mui/material/styles';
4
5
 
5
- const ApplicaStyledDatagrid = styled(RaDatagrid, {
6
+ const StyledDatagrid = styled(RaDatagrid, {
6
7
  name: 'ApplicaDatagrid',
7
8
  slot: 'root'
8
9
  })(() => ({
@@ -40,13 +41,9 @@ const ApplicaStyledDatagrid = styled(RaDatagrid, {
40
41
  * @param {DatagridProps} props
41
42
  * @returns {JSX.Element}
42
43
  */
43
- const Datagrid = (props: DatagridProps): JSX.Element => <ApplicaStyledDatagrid {...props} />;
44
-
45
- Datagrid.propTypes = {
46
- ...RaDatagrid.propTypes
47
- };
48
- Datagrid.defaultProps = {
49
- ...RaDatagrid.defaultProps
44
+ const Datagrid = (props: DatagridProps): JSX.Element => {
45
+ // @ts-ignore
46
+ return <StyledDatagrid {...props} />;
50
47
  };
51
48
 
52
49
  export default Datagrid;
@@ -1,5 +1,6 @@
1
- import Datagrid from './Datagrid';
2
- import Empty from './Empty';
3
- import List from './List';
4
- import NotificationList from './NotificationList';
5
- export { Datagrid, Empty, NotificationList, List };
1
+ export { default as Datagrid } from './Datagrid';
2
+ export { default as Empty } from './Empty';
3
+ export { default as NotificationList } from './NotificationList';
4
+ export { default as List } from './List';
5
+ export { default as BulkActionsToolbar } from './BulkActionsToolbar';
6
+ export { default as BulkFloatingActionsToolbar } from './BulkFloatingActionsToolbar';
@@ -0,0 +1,18 @@
1
+ import { LongForm, MainCard, TextInput } from '@applica-software-guru/react-admin';
2
+ import { Grid } from '@mui/material';
3
+
4
+ const TestModelForm = () => (
5
+ <LongForm>
6
+ <LongForm.Tab id="root" label="Root">
7
+ <MainCard title="Info">
8
+ <Grid container spacing={2}>
9
+ <Grid item xs={12}>
10
+ <TextInput source="name" fullWidth />
11
+ </Grid>
12
+ </Grid>
13
+ </MainCard>
14
+ </LongForm.Tab>
15
+ </LongForm>
16
+ );
17
+
18
+ export default TestModelForm;
package/vite.config.js CHANGED
@@ -15,14 +15,14 @@ export default defineConfig((configEnv) => ({
15
15
  }
16
16
  },
17
17
  plugins: [
18
- dts({
19
- include: ['./src/**/*.{js,jsx,ts,tsx}']
20
- }),
21
- react(),
22
- linterPlugin({
23
- include: ['./src/**/*.{js,jsx,ts,tsx}'],
24
- linters: [new EsLinter({ configEnv })]
25
- })
18
+ // dts({
19
+ // include: ['./src/**/*.{js,jsx,ts,tsx}']
20
+ // }),
21
+ react()
22
+ // linterPlugin({
23
+ // include: ['./src/**/*.{js,jsx,ts,tsx}'],
24
+ // linters: [new EsLinter({ configEnv })]
25
+ // })
26
26
  ],
27
27
  optimizeDeps: {
28
28
  include: ['react', 'react-dom', 'react-admin', 'ra-ui-materialui', 'ra-core', 'ra-i18n-polyglot']
package/dist/Admin.d.ts DELETED
@@ -1,10 +0,0 @@
1
- export default Admin;
2
- declare function Admin(props: any): import("react/jsx-runtime").JSX.Element;
3
- declare namespace Admin {
4
- namespace defaultProps {
5
- const store: import("react-admin").Store;
6
- const title: string;
7
- }
8
- const propTypes: any;
9
- }
10
- //# sourceMappingURL=Admin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Admin.d.ts","sourceRoot":"","sources":["../../src/Admin.jsx"],"names":[],"mappings":";AAIA,4EAmDC"}
@@ -1,10 +0,0 @@
1
- import { CoreAdminContextProps } from 'react-admin';
2
- export type AdminContextProps = CoreAdminContextProps & {
3
- theme?: any;
4
- };
5
- declare const AdminContext: {
6
- ({ children, theme, ...props }: AdminContextProps): import("react/jsx-runtime").JSX.Element;
7
- displayName: string;
8
- };
9
- export default AdminContext;
10
- //# sourceMappingURL=AdminContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AdminContext.d.ts","sourceRoot":"","sources":["../../src/AdminContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAKtE,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG;IACtD,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AACF,QAAA,MAAM,YAAY;oCAAmC,iBAAiB;;CASrE,CAAC;AAIF,eAAe,YAAY,CAAC"}
@@ -1,142 +0,0 @@
1
- import { AdminProps, AuthProvider, DataProvider } from 'react-admin';
2
- import { ThemeConfig } from './contexts';
3
- import React from 'react';
4
- import { MenuProps } from './types';
5
- import { IErrorEventHandler } from './dev/ErrorEventHandler';
6
- export type ApplicaAdminProps = AdminProps & {
7
- /**
8
- * Eventuali configurazioni aggiuntive da passare al tema.
9
- * @remarks Questo tema è basato su Mantis Theme (https://mantisdashboard.io/)
10
- *
11
- * @see https://marmelab.com/react-admin/Theming.html
12
- * @see https://material-ui.com/customization/theming/
13
- */
14
- theme: any;
15
- /**
16
- * Consente di personalizzare ulteriormente il tema in base alle specifiche esposte dal tema stesso.
17
- * Divertiti con cautela a modificare variabili di configurazione del tema, se fai un casino Marco Colucci potrebbe usare l'estintore (ho detto tutto).
18
- */
19
- themeConfig: ThemeConfig;
20
- /**
21
- * URL dell'API da utilizzare nell'applicazione.
22
- * Sebbene venga già definito un dataProvider ed authProvider di default, è possibile che l'app
23
- * utilizzi l'apiUrl specificato per ulteriori operazioni (es. getstione delle notifiche).
24
- */
25
- apiUrl: string;
26
- /**
27
- * La lingua di default da utilizzare nell'applicazione.
28
- */
29
- defaultLocale: string;
30
- /**
31
- * Se impostato a true, l'applicazione lavora in modalità sviluppo.
32
- * La modalità sviluppo è utile per effettuare test e debug ed esegue attività che non sono
33
- * consigliate in produzione (es. cattura e inoltro dei messaggi non localizzati).
34
- */
35
- development: boolean;
36
- /**
37
- * Il logo da visualizzare nella barra laterale quando il menu è espanso lateralmente.
38
- */
39
- logoMain: any;
40
- /**
41
- * Eventuale logo da visualizzare nella barra laterale quando il menu è ridotto lateralmente.
42
- */
43
- logoIcon: any;
44
- /**
45
- * Configurazione del menu da visualizzare nell'applicazione.
46
- */
47
- menu: MenuProps;
48
- /**
49
- * Nome dell'applicazione da mostrare nell'header.
50
- */
51
- name: string;
52
- /**
53
- * Testo da mostrare nel footer. Default: '&copy; Applica Software Guru for'.
54
- */
55
- copy: string;
56
- /**
57
- * Versione dell'applicazione da mostrare nel footer.
58
- */
59
- version: string;
60
- /**
61
- * Il provider di autenticazione da utilizzare nell'applicazione.
62
- */
63
- dataProvider: DataProvider;
64
- /**
65
- * Il provider di dati da utilizzare nell'applicazione.
66
- */
67
- authProvider: AuthProvider;
68
- /**
69
- * Indica l'eventuale handler da utilizzare per la gestione degli errori.
70
- * Di default è eseguita una chiamata PUT /api/ui/error con il messaggio di errore "error".
71
- * Puoi implementare un tuo handler per gestire gli errori in modo diverso.
72
- */
73
- errorHandler?: IErrorEventHandler | undefined;
74
- /**
75
- * Indica il componente da visualizzare in caso di errore.
76
- */
77
- error: React.Component;
78
- /**
79
- * Indica il nome della risorsa REST da utilizzare per la gestione delle notifiche.
80
- * @default "entities/notification"
81
- * @example
82
- * // In questo caso, le notifiche verranno gestite tramite la risorsa "entities/notification"
83
- * <ApplicaAdmin notification="entities/notification" />
84
- */
85
- notification: string;
86
- /**
87
- * Indica se le notifiche devono essere disabilitate.
88
- * Se le notifiche sono abilitate comparirà automaticamente un'icona in alto a destra nell'header.
89
- *
90
- * @example
91
- * <ApplicaAdmin enableNotification />
92
- */
93
- enableNotification: boolean;
94
- /**
95
- * Indica se la schermata di registrazione deve essere disabilitata.
96
- * Se abilitata è necessario registrare una pagina, nelle rotte, che punti a /register
97
- *
98
- * @example
99
- * // Pagina di base realizzata da Applica
100
- * import { RegisterPage } from '.';
101
- * <CustomRoutes noLayout>
102
- * <Route path="/register" component={RegisterPage} />
103
- * </CustomRoutes>
104
- */
105
- enableRegistration: boolean;
106
- /**
107
- * Indica se la schermata di recupero password deve essere disabilitata.
108
- * Se abilitata è necessario registrare una pagina, nelle rotte, che punti a /recover
109
- *
110
- * @example
111
- * // Pagina di base realizzata da Applica
112
- * import { RecoverPage } from '.';
113
- * <CustomRoutes noLayout>
114
- * <Route path="/recover" component={RecoverPage} />
115
- * </CustomRoutes>
116
- */
117
- enablePasswordRecover: boolean;
118
- };
119
- /**
120
- * Definisce un'applicazione super figa basata su React Admin, Mantis Theme ed il nostro stile.
121
- * @param {ApplicaAdminProps}
122
- * @returns {React.ReactElement}
123
- */
124
- declare const ApplicaAdmin: {
125
- ({ theme, themeConfig, apiUrl, defaultLocale, development, logoMain, logoIcon, loginPage, menu, name, copy, version, dataProvider, authProvider, errorHandler, error, notification, enableNotification, enableRegistration, enablePasswordRecover, ...props }: ApplicaAdminProps): import("react/jsx-runtime").JSX.Element;
126
- defaultProps: {
127
- fileFields: never[];
128
- defaultLocale: string;
129
- development: boolean;
130
- version: string;
131
- notification: string;
132
- enableNotification: boolean;
133
- enableRegistration: boolean;
134
- enableForgotPassword: boolean;
135
- loginPage: import("react/jsx-runtime").JSX.Element;
136
- store: import("react-admin").Store;
137
- title: string;
138
- };
139
- propTypes: any;
140
- };
141
- export default ApplicaAdmin;
142
- //# sourceMappingURL=ApplicaAdmin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ApplicaAdmin.d.ts","sourceRoot":"","sources":["../../src/ApplicaAdmin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAwD,WAAW,EAAuB,MAAM,YAAY,CAAC;AAGpH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAS7D,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAC3C;;;;;;OAMG;IACH,KAAK,EAAE,GAAG,CAAC;IACX;;;OAGG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,YAAY;mQAsBf,iBAAiB;;;;;;;;;;;;;;;CAgGnB,CAAC;AAkCF,eAAe,YAAY,CAAC"}
@@ -1,22 +0,0 @@
1
- declare function AnimateButton({ children, type, direction, offset, scale }: {
2
- children: any;
3
- type?: string | undefined;
4
- direction?: string | undefined;
5
- offset?: number | undefined;
6
- scale?: {
7
- hover: number;
8
- tap: number;
9
- } | undefined;
10
- }): import("react/jsx-runtime").JSX.Element;
11
- declare namespace AnimateButton {
12
- namespace propTypes {
13
- const children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
14
- const offset: PropTypes.Requireable<number>;
15
- const type: PropTypes.Requireable<string>;
16
- const direction: PropTypes.Requireable<string>;
17
- const scale: PropTypes.Requireable<NonNullable<number | object | null | undefined>>;
18
- }
19
- }
20
- export default AnimateButton;
21
- import PropTypes from 'prop-types';
22
- //# sourceMappingURL=AnimateButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AnimateButton.d.ts","sourceRoot":"","sources":["../../../../src/components/@extended/AnimateButton.jsx"],"names":[],"mappings":"AAOA;;;;;;;;;4CAwEC;;;;;;;;;;;sBA/EqB,YAAY"}
@@ -1,20 +0,0 @@
1
- declare function Avatar({ variant, children, color, type, size, ...others }: {
2
- [x: string]: any;
3
- variant?: string | undefined;
4
- children: any;
5
- color?: string | undefined;
6
- type: any;
7
- size?: string | undefined;
8
- }): import("react/jsx-runtime").JSX.Element;
9
- declare namespace Avatar {
10
- namespace propTypes {
11
- const children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
12
- const color: PropTypes.Requireable<string>;
13
- const type: PropTypes.Requireable<string>;
14
- const size: PropTypes.Requireable<string>;
15
- const variant: PropTypes.Requireable<string>;
16
- }
17
- }
18
- export default Avatar;
19
- import PropTypes from 'prop-types';
20
- //# sourceMappingURL=Avatar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/@extended/Avatar.jsx"],"names":[],"mappings":"AAqGA;;;;;;;4CAQC;;;;;;;;;;;sBAzGqB,YAAY"}