@applica-software-guru/react-admin 1.4.226 → 1.5.230

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 (878) hide show
  1. package/.eslintrc +217 -0
  2. package/.husky/pre-commit +7 -4
  3. package/.huskyrc +6 -0
  4. package/.nvmrc +1 -1
  5. package/.prettierignore +6 -0
  6. package/.prettierrc +1 -1
  7. package/README.md +8 -38
  8. package/bitbucket-pipelines.yml +3 -3
  9. package/dist/Admin.d.ts +5 -4
  10. package/dist/Admin.d.ts.map +1 -1
  11. package/dist/AdminContext.d.ts +4 -3
  12. package/dist/AdminContext.d.ts.map +1 -1
  13. package/dist/ApplicaAdmin.d.ts +12 -11
  14. package/dist/ApplicaAdmin.d.ts.map +1 -1
  15. package/dist/components/@extended/AnimateButton.d.ts +11 -19
  16. package/dist/components/@extended/AnimateButton.d.ts.map +1 -1
  17. package/dist/components/@extended/Avatar.d.ts +10 -19
  18. package/dist/components/@extended/Avatar.d.ts.map +1 -1
  19. package/dist/components/@extended/Breadcrumbs.d.ts +20 -18
  20. package/dist/components/@extended/Breadcrumbs.d.ts.map +1 -1
  21. package/dist/components/@extended/Dot.d.ts +10 -16
  22. package/dist/components/@extended/Dot.d.ts.map +1 -1
  23. package/dist/components/@extended/IconButton.d.ts +15 -2
  24. package/dist/components/@extended/IconButton.d.ts.map +1 -1
  25. package/dist/components/@extended/LoadingButton.d.ts +19 -2
  26. package/dist/components/@extended/LoadingButton.d.ts.map +1 -1
  27. package/dist/components/@extended/Tooltip.d.ts +9 -16
  28. package/dist/components/@extended/Tooltip.d.ts.map +1 -1
  29. package/dist/components/@extended/Transitions.d.ts +10 -3
  30. package/dist/components/@extended/Transitions.d.ts.map +1 -1
  31. package/dist/components/@extended/index.d.ts +9 -10
  32. package/dist/components/@extended/index.d.ts.map +1 -1
  33. package/dist/components/@extended/progress/CircularWithLabel.d.ts +6 -11
  34. package/dist/components/@extended/progress/CircularWithLabel.d.ts.map +1 -1
  35. package/dist/components/@extended/progress/CircularWithPath.d.ts +12 -23
  36. package/dist/components/@extended/progress/CircularWithPath.d.ts.map +1 -1
  37. package/dist/components/@extended/progress/LinearWithIcon.d.ts +6 -12
  38. package/dist/components/@extended/progress/LinearWithIcon.d.ts.map +1 -1
  39. package/dist/components/@extended/progress/LinearWithLabel.d.ts +6 -11
  40. package/dist/components/@extended/progress/LinearWithLabel.d.ts.map +1 -1
  41. package/dist/components/@extended/progress/index.d.ts +4 -5
  42. package/dist/components/@extended/progress/index.d.ts.map +1 -1
  43. package/dist/components/ActionsMenu.d.ts +6 -6
  44. package/dist/components/ActionsMenu.d.ts.map +1 -1
  45. package/dist/components/AppStateProvider.d.ts +21 -0
  46. package/dist/components/AppStateProvider.d.ts.map +1 -0
  47. package/dist/components/AuthBackground.d.ts +2 -2
  48. package/dist/components/AuthBackground.d.ts.map +1 -1
  49. package/dist/components/AuthCard.d.ts +5 -11
  50. package/dist/components/AuthCard.d.ts.map +1 -1
  51. package/dist/components/AuthWrapper.d.ts +5 -16
  52. package/dist/components/AuthWrapper.d.ts.map +1 -1
  53. package/dist/components/Layout/Content.d.ts.map +1 -1
  54. package/dist/components/Layout/Drawer/Drawer.d.ts +3 -2
  55. package/dist/components/Layout/Drawer/Drawer.d.ts.map +1 -1
  56. package/dist/components/Layout/Drawer/DrawerHeader.d.ts +3 -2
  57. package/dist/components/Layout/Drawer/DrawerHeader.d.ts.map +1 -1
  58. package/dist/components/Layout/Drawer/DrawerHeaderStyled.d.ts +10 -3
  59. package/dist/components/Layout/Drawer/DrawerHeaderStyled.d.ts.map +1 -1
  60. package/dist/components/Layout/Drawer/MiniDrawerStyled.d.ts +8 -2
  61. package/dist/components/Layout/Drawer/MiniDrawerStyled.d.ts.map +1 -1
  62. package/dist/components/Layout/Error.d.ts +5 -13
  63. package/dist/components/Layout/Error.d.ts.map +1 -1
  64. package/dist/components/Layout/Header/AppBarStyled.d.ts +3 -3
  65. package/dist/components/Layout/Header/AppBarStyled.d.ts.map +1 -1
  66. package/dist/components/Layout/Header/Buttons/HeaderButton.d.ts +1 -0
  67. package/dist/components/Layout/Header/Buttons/HeaderButton.d.ts.map +1 -1
  68. package/dist/components/Layout/Header/Buttons/HeaderIconButton.d.ts.map +1 -1
  69. package/dist/components/Layout/Header/Buttons/HeaderToggleButton.d.ts.map +1 -1
  70. package/dist/components/Layout/Header/Buttons/LocaleButton.d.ts +2 -2
  71. package/dist/components/Layout/Header/Buttons/LocaleButton.d.ts.map +1 -1
  72. package/dist/components/Layout/Header/DrawerToggle.d.ts.map +1 -1
  73. package/dist/components/Layout/Header/Header.d.ts.map +1 -1
  74. package/dist/components/Layout/Header/Notification/Notification.d.ts.map +1 -1
  75. package/dist/components/Layout/Header/Notification/NotificationItem.d.ts +1 -1
  76. package/dist/components/Layout/Header/Notification/NotificationItem.d.ts.map +1 -1
  77. package/dist/components/Layout/Header/Profile/HeaderProfile.d.ts +3 -0
  78. package/dist/components/Layout/Header/Profile/HeaderProfile.d.ts.map +1 -0
  79. package/dist/components/Layout/Header/Profile/buttons/ChangePasswordButton.d.ts +3 -2
  80. package/dist/components/Layout/Header/Profile/buttons/ChangePasswordButton.d.ts.map +1 -1
  81. package/dist/components/Layout/Header/Profile/buttons/LogoutButton.d.ts +3 -2
  82. package/dist/components/Layout/Header/Profile/buttons/LogoutButton.d.ts.map +1 -1
  83. package/dist/components/Layout/Header/Profile/buttons/StopImpersonateButton.d.ts +3 -2
  84. package/dist/components/Layout/Header/Profile/buttons/StopImpersonateButton.d.ts.map +1 -1
  85. package/dist/components/Layout/Header/Profile/buttons/index.d.ts +3 -4
  86. package/dist/components/Layout/Header/Profile/buttons/index.d.ts.map +1 -1
  87. package/dist/components/Layout/Header/Profile/index.d.ts +1 -1
  88. package/dist/components/Layout/Header/Profile/index.d.ts.map +1 -1
  89. package/dist/components/Layout/Header/ResponsiveSection.d.ts +1 -1
  90. package/dist/components/Layout/Header/ResponsiveSection.d.ts.map +1 -1
  91. package/dist/components/Layout/Layout.d.ts.map +1 -1
  92. package/dist/components/Layout/MenuProvider.d.ts +57 -0
  93. package/dist/components/Layout/MenuProvider.d.ts.map +1 -0
  94. package/dist/components/Layout/Navigation/NavCollapse.d.ts +3 -3
  95. package/dist/components/Layout/Navigation/NavCollapse.d.ts.map +1 -1
  96. package/dist/components/Layout/Navigation/NavGroup.d.ts +3 -2
  97. package/dist/components/Layout/Navigation/NavGroup.d.ts.map +1 -1
  98. package/dist/components/Layout/Navigation/NavItem.d.ts +3 -3
  99. package/dist/components/Layout/Navigation/NavItem.d.ts.map +1 -1
  100. package/dist/components/Layout/Navigation/NavList.d.ts +5 -6
  101. package/dist/components/Layout/Navigation/NavList.d.ts.map +1 -1
  102. package/dist/components/Layout/Navigation/Navigation.d.ts.map +1 -1
  103. package/dist/components/Layout/Navigation/index.d.ts +2 -2
  104. package/dist/components/Layout/Navigation/index.d.ts.map +1 -1
  105. package/dist/components/Layout/Provider.d.ts +1 -1
  106. package/dist/components/Layout/Provider.d.ts.map +1 -1
  107. package/dist/components/Layout/ThemeProvider.d.ts +41 -0
  108. package/dist/components/Layout/ThemeProvider.d.ts.map +1 -0
  109. package/dist/components/Layout/ThemeToggler.d.ts +2 -1
  110. package/dist/components/Layout/ThemeToggler.d.ts.map +1 -1
  111. package/dist/components/Layout/Wrapper.d.ts.map +1 -1
  112. package/dist/components/Layout/index.d.ts +7 -5
  113. package/dist/components/Layout/index.d.ts.map +1 -1
  114. package/dist/components/Loadable.d.ts +1 -1
  115. package/dist/components/Loadable.d.ts.map +1 -1
  116. package/dist/components/Loader.d.ts +1 -1
  117. package/dist/components/Loader.d.ts.map +1 -1
  118. package/dist/components/Logo.d.ts +12 -19
  119. package/dist/components/Logo.d.ts.map +1 -1
  120. package/dist/components/MainCard.d.ts +3 -2
  121. package/dist/components/MainCard.d.ts.map +1 -1
  122. package/dist/components/MainIcon.d.ts +4 -3
  123. package/dist/components/MainIcon.d.ts.map +1 -1
  124. package/dist/components/MenuPopover/MenuPopover.d.ts +10 -19
  125. package/dist/components/MenuPopover/MenuPopover.d.ts.map +1 -1
  126. package/dist/components/MenuPopover/getPosition.d.ts +11 -45
  127. package/dist/components/MenuPopover/getPosition.d.ts.map +1 -1
  128. package/dist/components/MenuPopover/index.d.ts +3 -3
  129. package/dist/components/MenuPopover/index.d.ts.map +1 -1
  130. package/dist/components/MenuPopover/styles.d.ts +10 -1
  131. package/dist/components/MenuPopover/styles.d.ts.map +1 -1
  132. package/dist/components/MenuPopover/types.d.ts +3 -0
  133. package/dist/components/MenuPopover/types.d.ts.map +1 -0
  134. package/dist/components/Notification.d.ts +2 -2
  135. package/dist/components/Notification.d.ts.map +1 -1
  136. package/dist/components/Onboarding/{onboardingDataProvider.d.ts → DataProvider.d.ts} +1 -1
  137. package/dist/components/Onboarding/DataProvider.d.ts.map +1 -0
  138. package/dist/components/Onboarding/OnboardingTip.d.ts.map +1 -1
  139. package/dist/components/Onboarding/Provider.d.ts +4 -4
  140. package/dist/components/Onboarding/Provider.d.ts.map +1 -1
  141. package/dist/components/Onboarding/hooks.d.ts.map +1 -1
  142. package/dist/components/Onboarding/index.d.ts +3 -3
  143. package/dist/components/Onboarding/index.d.ts.map +1 -1
  144. package/dist/components/Onboarding/schemas.d.ts +3 -2
  145. package/dist/components/Onboarding/schemas.d.ts.map +1 -1
  146. package/dist/components/ScrollTop.d.ts +4 -10
  147. package/dist/components/ScrollTop.d.ts.map +1 -1
  148. package/dist/components/ScrollX.d.ts +2 -1
  149. package/dist/components/ScrollX.d.ts.map +1 -1
  150. package/dist/components/SmallIcon.d.ts +6 -10
  151. package/dist/components/SmallIcon.d.ts.map +1 -1
  152. package/dist/components/index.d.ts +16 -19
  153. package/dist/components/index.d.ts.map +1 -1
  154. package/dist/components/ra-buttons/CreateInDialogButton.d.ts +7 -29
  155. package/dist/components/ra-buttons/CreateInDialogButton.d.ts.map +1 -1
  156. package/dist/components/ra-buttons/EditInDialogButton.d.ts +7 -7
  157. package/dist/components/ra-buttons/EditInDialogButton.d.ts.map +1 -1
  158. package/dist/components/ra-buttons/ImpersonateUserButton.d.ts +4 -3
  159. package/dist/components/ra-buttons/ImpersonateUserButton.d.ts.map +1 -1
  160. package/dist/components/ra-buttons/index.d.ts +1 -1
  161. package/dist/components/ra-buttons/index.d.ts.map +1 -1
  162. package/dist/components/ra-custom/ListItem.d.ts +9 -8
  163. package/dist/components/ra-custom/ListItem.d.ts.map +1 -1
  164. package/dist/components/ra-fields/ActionsField.d.ts +4 -3
  165. package/dist/components/ra-fields/ActionsField.d.ts.map +1 -1
  166. package/dist/components/ra-fields/AttachmentField.d.ts +5 -4
  167. package/dist/components/ra-fields/AttachmentField.d.ts.map +1 -1
  168. package/dist/components/ra-fields/BaseAttachmentField.d.ts +4 -3
  169. package/dist/components/ra-fields/BaseAttachmentField.d.ts.map +1 -1
  170. package/dist/components/ra-fields/CoverField.d.ts +4 -3
  171. package/dist/components/ra-fields/CoverField.d.ts.map +1 -1
  172. package/dist/components/ra-fields/DateAgoField.d.ts +4 -3
  173. package/dist/components/ra-fields/DateAgoField.d.ts.map +1 -1
  174. package/dist/components/ra-fields/DateField.d.ts +3 -2
  175. package/dist/components/ra-fields/DateField.d.ts.map +1 -1
  176. package/dist/components/ra-fields/EmailField.d.ts +3 -2
  177. package/dist/components/ra-fields/EmailField.d.ts.map +1 -1
  178. package/dist/components/ra-fields/FileField.d.ts +4 -3
  179. package/dist/components/ra-fields/FileField.d.ts.map +1 -1
  180. package/dist/components/ra-fields/FunctionField.d.ts +3 -2
  181. package/dist/components/ra-fields/FunctionField.d.ts.map +1 -1
  182. package/dist/components/ra-fields/ImageField.d.ts +3 -2
  183. package/dist/components/ra-fields/ImageField.d.ts.map +1 -1
  184. package/dist/components/ra-fields/LocalizedTextField.d.ts +4 -3
  185. package/dist/components/ra-fields/LocalizedTextField.d.ts.map +1 -1
  186. package/dist/components/ra-fields/ReadonlyField.d.ts +6 -15
  187. package/dist/components/ra-fields/ReadonlyField.d.ts.map +1 -1
  188. package/dist/components/ra-fields/ReferenceManyField.d.ts +10 -9
  189. package/dist/components/ra-fields/ReferenceManyField.d.ts.map +1 -1
  190. package/dist/components/ra-fields/SizeField.d.ts +4 -3
  191. package/dist/components/ra-fields/SizeField.d.ts.map +1 -1
  192. package/dist/components/ra-fields/TextField.d.ts +3 -2
  193. package/dist/components/ra-fields/TextField.d.ts.map +1 -1
  194. package/dist/components/ra-forms/CardForm.d.ts +16 -17
  195. package/dist/components/ra-forms/CardForm.d.ts.map +1 -1
  196. package/dist/components/ra-forms/ChangePasswordForm.d.ts +4 -3
  197. package/dist/components/ra-forms/ChangePasswordForm.d.ts.map +1 -1
  198. package/dist/components/ra-forms/Create.d.ts +16 -6
  199. package/dist/components/ra-forms/Create.d.ts.map +1 -1
  200. package/dist/components/ra-forms/Edit.d.ts +3 -2
  201. package/dist/components/ra-forms/Edit.d.ts.map +1 -1
  202. package/dist/components/ra-forms/FormHeader.d.ts +8 -6
  203. package/dist/components/ra-forms/FormHeader.d.ts.map +1 -1
  204. package/dist/components/ra-forms/LongForm/BaseForm.d.ts +1 -1
  205. package/dist/components/ra-forms/LongForm/BaseForm.d.ts.map +1 -1
  206. package/dist/components/ra-forms/LongForm/Content.d.ts +1 -1
  207. package/dist/components/ra-forms/LongForm/Content.d.ts.map +1 -1
  208. package/dist/components/ra-forms/LongForm/Form.d.ts +3 -3
  209. package/dist/components/ra-forms/LongForm/Form.d.ts.map +1 -1
  210. package/dist/components/ra-forms/LongForm/NavMenu.d.ts +1 -1
  211. package/dist/components/ra-forms/LongForm/NavMenu.d.ts.map +1 -1
  212. package/dist/components/ra-forms/LongForm/Provider.d.ts +2 -2
  213. package/dist/components/ra-forms/LongForm/Provider.d.ts.map +1 -1
  214. package/dist/components/ra-forms/LongForm/Sidebar.d.ts +1 -1
  215. package/dist/components/ra-forms/LongForm/Sidebar.d.ts.map +1 -1
  216. package/dist/components/ra-forms/LongForm/Tab.d.ts +3 -3
  217. package/dist/components/ra-forms/LongForm/Tab.d.ts.map +1 -1
  218. package/dist/components/ra-forms/LongForm/hooks.d.ts +1 -1
  219. package/dist/components/ra-forms/LongForm/hooks.d.ts.map +1 -1
  220. package/dist/components/ra-forms/LongForm/index.d.ts +8 -8
  221. package/dist/components/ra-forms/LongForm/index.d.ts.map +1 -1
  222. package/dist/components/ra-forms/LongForm/utils.d.ts +1 -1
  223. package/dist/components/ra-forms/LongForm/utils.d.ts.map +1 -1
  224. package/dist/components/ra-forms/Show.d.ts +3 -2
  225. package/dist/components/ra-forms/Show.d.ts.map +1 -1
  226. package/dist/components/ra-forms/SimpleForm.d.ts +4 -2
  227. package/dist/components/ra-forms/SimpleForm.d.ts.map +1 -1
  228. package/dist/components/ra-forms/SimpleFormIterator.d.ts +4 -2
  229. package/dist/components/ra-forms/SimpleFormIterator.d.ts.map +1 -1
  230. package/dist/components/ra-forms/TabbedForm.d.ts +17 -18
  231. package/dist/components/ra-forms/TabbedForm.d.ts.map +1 -1
  232. package/dist/components/ra-forms/TableForm/TableFormIterator.d.ts +5 -20
  233. package/dist/components/ra-forms/TableForm/TableFormIterator.d.ts.map +1 -1
  234. package/dist/{contexts → components/ra-forms/TableForm}/TableFormIteratorContext.d.ts +10 -2
  235. package/dist/components/ra-forms/TableForm/TableFormIteratorContext.d.ts.map +1 -0
  236. package/dist/components/ra-forms/TableForm/TableFormIteratorItem.d.ts +1 -1
  237. package/dist/components/ra-forms/TableForm/TableFormIteratorItem.d.ts.map +1 -1
  238. package/dist/components/ra-forms/TableForm/TableFormIteratorItemContext.d.ts +24 -0
  239. package/dist/components/ra-forms/TableForm/TableFormIteratorItemContext.d.ts.map +1 -0
  240. package/dist/components/ra-forms/TableForm/index.d.ts +2 -0
  241. package/dist/components/ra-forms/TableForm/index.d.ts.map +1 -1
  242. package/dist/components/ra-forms/Toolbar.d.ts +3 -2
  243. package/dist/components/ra-forms/Toolbar.d.ts.map +1 -1
  244. package/dist/components/ra-forms/index.d.ts +0 -1
  245. package/dist/components/ra-forms/index.d.ts.map +1 -1
  246. package/dist/components/ra-inputs/ArrayInput.d.ts +7 -6
  247. package/dist/components/ra-inputs/ArrayInput.d.ts.map +1 -1
  248. package/dist/components/ra-inputs/AttachmentInput.d.ts +10 -9
  249. package/dist/components/ra-inputs/AttachmentInput.d.ts.map +1 -1
  250. package/dist/components/ra-inputs/AutocompleteArrayInput.d.ts +3 -2
  251. package/dist/components/ra-inputs/AutocompleteArrayInput.d.ts.map +1 -1
  252. package/dist/components/ra-inputs/AutocompleteInput.d.ts +3 -2
  253. package/dist/components/ra-inputs/AutocompleteInput.d.ts.map +1 -1
  254. package/dist/components/ra-inputs/BooleanInput.d.ts +3 -2
  255. package/dist/components/ra-inputs/BooleanInput.d.ts.map +1 -1
  256. package/dist/components/ra-inputs/DateInput.d.ts +3 -2
  257. package/dist/components/ra-inputs/DateInput.d.ts.map +1 -1
  258. package/dist/components/ra-inputs/DateTimeInput.d.ts +3 -2
  259. package/dist/components/ra-inputs/DateTimeInput.d.ts.map +1 -1
  260. package/dist/components/ra-inputs/FileInput.d.ts +9 -8
  261. package/dist/components/ra-inputs/FileInput.d.ts.map +1 -1
  262. package/dist/components/ra-inputs/ImageInput.d.ts +5 -4
  263. package/dist/components/ra-inputs/ImageInput.d.ts.map +1 -1
  264. package/dist/components/ra-inputs/LabeledArrayInput.d.ts +9 -9
  265. package/dist/components/ra-inputs/LabeledArrayInput.d.ts.map +1 -1
  266. package/dist/components/ra-inputs/LabeledInput.d.ts +5 -4
  267. package/dist/components/ra-inputs/LabeledInput.d.ts.map +1 -1
  268. package/dist/components/ra-inputs/LocalizedTextInput.d.ts +5 -4
  269. package/dist/components/ra-inputs/LocalizedTextInput.d.ts.map +1 -1
  270. package/dist/components/ra-inputs/NumberInput.d.ts +3 -2
  271. package/dist/components/ra-inputs/NumberInput.d.ts.map +1 -1
  272. package/dist/components/ra-inputs/RecordInput.d.ts +4 -3
  273. package/dist/components/ra-inputs/RecordInput.d.ts.map +1 -1
  274. package/dist/components/ra-inputs/ReferenceArrayInput.d.ts +5 -6
  275. package/dist/components/ra-inputs/ReferenceArrayInput.d.ts.map +1 -1
  276. package/dist/components/ra-inputs/ReferenceInput.d.ts +5 -6
  277. package/dist/components/ra-inputs/ReferenceInput.d.ts.map +1 -1
  278. package/dist/components/ra-inputs/ReferenceManyInput.d.ts +4 -4
  279. package/dist/components/ra-inputs/ReferenceManyInput.d.ts.map +1 -1
  280. package/dist/components/ra-inputs/SearchInput.d.ts +3 -2
  281. package/dist/components/ra-inputs/SearchInput.d.ts.map +1 -1
  282. package/dist/components/ra-inputs/SelectArrayInput.d.ts +3 -2
  283. package/dist/components/ra-inputs/SelectArrayInput.d.ts.map +1 -1
  284. package/dist/components/ra-inputs/SelectInput.d.ts +4 -4
  285. package/dist/components/ra-inputs/SelectInput.d.ts.map +1 -1
  286. package/dist/components/ra-inputs/SmartTextInput.d.ts +4 -3
  287. package/dist/components/ra-inputs/SmartTextInput.d.ts.map +1 -1
  288. package/dist/components/ra-inputs/TextInput.d.ts +3 -2
  289. package/dist/components/ra-inputs/TextInput.d.ts.map +1 -1
  290. package/dist/components/ra-inputs/TimeInput.d.ts +3 -2
  291. package/dist/components/ra-inputs/TimeInput.d.ts.map +1 -1
  292. package/dist/components/ra-lists/BulkActionsToolbar.d.ts +5 -12
  293. package/dist/components/ra-lists/BulkActionsToolbar.d.ts.map +1 -1
  294. package/dist/components/ra-lists/BulkFloatingActionsToolbar.d.ts +4 -3
  295. package/dist/components/ra-lists/BulkFloatingActionsToolbar.d.ts.map +1 -1
  296. package/dist/components/ra-lists/Datagrid/Datagrid.d.ts +34 -33
  297. package/dist/components/ra-lists/Datagrid/Datagrid.d.ts.map +1 -1
  298. package/dist/components/ra-lists/Datagrid/DatagridContext.d.ts +3 -2
  299. package/dist/components/ra-lists/Datagrid/DatagridContext.d.ts.map +1 -1
  300. package/dist/components/ra-lists/Datagrid/DatagridContextProvider.d.ts +6 -5
  301. package/dist/components/ra-lists/Datagrid/DatagridContextProvider.d.ts.map +1 -1
  302. package/dist/components/ra-lists/Datagrid/index.d.ts +2 -2
  303. package/dist/components/ra-lists/Datagrid/index.d.ts.map +1 -1
  304. package/dist/components/ra-lists/Empty.d.ts +5 -4
  305. package/dist/components/ra-lists/Empty.d.ts.map +1 -1
  306. package/dist/components/ra-lists/List.d.ts +4 -3
  307. package/dist/components/ra-lists/List.d.ts.map +1 -1
  308. package/dist/components/ra-lists/ListView.d.ts +5 -9
  309. package/dist/components/ra-lists/ListView.d.ts.map +1 -1
  310. package/dist/components/ra-lists/NotificationList/NotificationList.d.ts +2 -2
  311. package/dist/components/ra-lists/NotificationList/NotificationList.d.ts.map +1 -1
  312. package/dist/components/ra-lists/NotificationList/buttons/MarkAsReadedButton.d.ts +2 -2
  313. package/dist/components/ra-lists/NotificationList/buttons/MarkAsReadedButton.d.ts.map +1 -1
  314. package/dist/components/ra-lists/NotificationList/buttons/MarkAsUnreadedButton.d.ts +2 -2
  315. package/dist/components/ra-lists/NotificationList/buttons/MarkAsUnreadedButton.d.ts.map +1 -1
  316. package/dist/components/ra-lists/NotificationList/fields/NotificationField.d.ts +2 -2
  317. package/dist/components/ra-lists/NotificationList/fields/NotificationField.d.ts.map +1 -1
  318. package/dist/components/ra-lists/NotificationList/index.d.ts.map +1 -1
  319. package/dist/components/ra-lists/SimpleList.d.ts +2 -2
  320. package/dist/components/ra-lists/SimpleList.d.ts.map +1 -1
  321. package/dist/components/ra-pages/ActivatePage.d.ts +4 -10
  322. package/dist/components/ra-pages/ActivatePage.d.ts.map +1 -1
  323. package/dist/components/ra-pages/GenericErrorPage.d.ts +1 -1
  324. package/dist/components/ra-pages/GenericErrorPage.d.ts.map +1 -1
  325. package/dist/components/ra-pages/LoginPage.d.ts +4 -3
  326. package/dist/components/ra-pages/LoginPage.d.ts.map +1 -1
  327. package/dist/components/ra-pages/RecoverPage.d.ts +2 -10
  328. package/dist/components/ra-pages/RecoverPage.d.ts.map +1 -1
  329. package/dist/components/ra-pages/RegisterPage.d.ts +2 -9
  330. package/dist/components/ra-pages/RegisterPage.d.ts.map +1 -1
  331. package/dist/components/ra-pages/index.d.ts +5 -5
  332. package/dist/components/ra-pages/index.d.ts.map +1 -1
  333. package/dist/components/ra-pages/types.d.ts +2 -1
  334. package/dist/components/ra-pages/types.d.ts.map +1 -1
  335. package/dist/components/third-party/SimpleBar.d.ts +7 -13
  336. package/dist/components/third-party/SimpleBar.d.ts.map +1 -1
  337. package/dist/components/third-party/index.d.ts +1 -2
  338. package/dist/components/third-party/index.d.ts.map +1 -1
  339. package/dist/dev/CatchResult.d.ts +4 -2
  340. package/dist/dev/CatchResult.d.ts.map +1 -1
  341. package/dist/dev/ErrorEventHandler.d.ts +4 -3
  342. package/dist/dev/ErrorEventHandler.d.ts.map +1 -1
  343. package/dist/dev/index.d.ts +3 -4
  344. package/dist/dev/index.d.ts.map +1 -1
  345. package/dist/dev/useErrorEventCatcher.d.ts +4 -4
  346. package/dist/dev/useErrorEventCatcher.d.ts.map +1 -1
  347. package/dist/hooks/index.d.ts +7 -14
  348. package/dist/hooks/index.d.ts.map +1 -1
  349. package/dist/hooks/mui.d.ts.map +1 -1
  350. package/dist/hooks/useLocalStorage.d.ts +1 -1
  351. package/dist/hooks/useLocalStorage.d.ts.map +1 -1
  352. package/dist/hooks/useLocalizedValue.d.ts +1 -1
  353. package/dist/hooks/useLocalizedValue.d.ts.map +1 -1
  354. package/dist/hooks/usePopoverState.d.ts.map +1 -1
  355. package/dist/hooks/useRefDimensions.d.ts.map +1 -1
  356. package/dist/hooks/useResourceTitle.d.ts +2 -2
  357. package/dist/hooks/useResourceTitle.d.ts.map +1 -1
  358. package/dist/i18n/MissingMessageHandler.d.ts +1 -1
  359. package/dist/i18n/MissingMessageHandler.d.ts.map +1 -1
  360. package/dist/i18n/createI18nProvider.d.ts +1 -1
  361. package/dist/i18n/createI18nProvider.d.ts.map +1 -1
  362. package/dist/i18n/index.d.ts +3 -3
  363. package/dist/i18n/useI18nLanguages.d.ts +7 -10
  364. package/dist/i18n/useI18nLanguages.d.ts.map +1 -1
  365. package/dist/i18n/useI18nProvider.d.ts +1 -1
  366. package/dist/i18n/useI18nProvider.d.ts.map +1 -1
  367. package/dist/index.d.ts +1 -10
  368. package/dist/react-admin.cjs.js +91 -148
  369. package/dist/react-admin.cjs.js.map +1 -1
  370. package/dist/react-admin.es.js +30864 -32588
  371. package/dist/react-admin.es.js.map +1 -1
  372. package/dist/react-admin.umd.js +91 -148
  373. package/dist/react-admin.umd.js.map +1 -1
  374. package/dist/themes/getColors.d.ts +3 -2
  375. package/dist/themes/getColors.d.ts.map +1 -1
  376. package/dist/themes/getShadow.d.ts +3 -9
  377. package/dist/themes/getShadow.d.ts.map +1 -1
  378. package/dist/themes/index.d.ts +8 -14
  379. package/dist/themes/index.d.ts.map +1 -1
  380. package/dist/themes/overrides/Accordion.d.ts +2 -23
  381. package/dist/themes/overrides/Accordion.d.ts.map +1 -1
  382. package/dist/themes/overrides/AccordionDetails.d.ts +2 -10
  383. package/dist/themes/overrides/AccordionDetails.d.ts.map +1 -1
  384. package/dist/themes/overrides/AccordionSummary.d.ts +2 -24
  385. package/dist/themes/overrides/AccordionSummary.d.ts.map +1 -1
  386. package/dist/themes/overrides/Alert.d.ts +2 -88
  387. package/dist/themes/overrides/Alert.d.ts.map +1 -1
  388. package/dist/themes/overrides/AlertTitle.d.ts +2 -11
  389. package/dist/themes/overrides/AlertTitle.d.ts.map +1 -1
  390. package/dist/themes/overrides/Autocomplete.d.ts +2 -22
  391. package/dist/themes/overrides/Autocomplete.d.ts.map +1 -1
  392. package/dist/themes/overrides/Badge.d.ts +2 -39
  393. package/dist/themes/overrides/Badge.d.ts.map +1 -1
  394. package/dist/themes/overrides/Button.d.ts +2 -7558
  395. package/dist/themes/overrides/Button.d.ts.map +1 -1
  396. package/dist/themes/overrides/ButtonBase.d.ts +2 -8
  397. package/dist/themes/overrides/ButtonBase.d.ts.map +1 -1
  398. package/dist/themes/overrides/ButtonGroup.d.ts +2 -7
  399. package/dist/themes/overrides/ButtonGroup.d.ts.map +1 -1
  400. package/dist/themes/overrides/CardContent.d.ts +2 -12
  401. package/dist/themes/overrides/CardContent.d.ts.map +1 -1
  402. package/dist/themes/overrides/Checkbox.d.ts +2 -121
  403. package/dist/themes/overrides/Checkbox.d.ts.map +1 -1
  404. package/dist/themes/overrides/Chip.d.ts +2 -207
  405. package/dist/themes/overrides/Chip.d.ts.map +1 -1
  406. package/dist/themes/overrides/Dialog.d.ts +2 -20
  407. package/dist/themes/overrides/Dialog.d.ts.map +1 -1
  408. package/dist/themes/overrides/DialogContentText.d.ts +2 -10
  409. package/dist/themes/overrides/DialogContentText.d.ts.map +1 -1
  410. package/dist/themes/overrides/DialogTitle.d.ts +2 -10
  411. package/dist/themes/overrides/DialogTitle.d.ts.map +1 -1
  412. package/dist/themes/overrides/Fab.d.ts +2 -158
  413. package/dist/themes/overrides/Fab.d.ts.map +1 -1
  414. package/dist/themes/overrides/IconButton.d.ts +2 -29
  415. package/dist/themes/overrides/IconButton.d.ts.map +1 -1
  416. package/dist/themes/overrides/InputBase.d.ts +2 -5
  417. package/dist/themes/overrides/InputBase.d.ts.map +1 -1
  418. package/dist/themes/overrides/InputLabel.d.ts +2 -21
  419. package/dist/themes/overrides/InputLabel.d.ts.map +1 -1
  420. package/dist/themes/overrides/LinearProgress.d.ts +2 -13
  421. package/dist/themes/overrides/LinearProgress.d.ts.map +1 -1
  422. package/dist/themes/overrides/Link.d.ts +2 -7
  423. package/dist/themes/overrides/Link.d.ts.map +1 -1
  424. package/dist/themes/overrides/ListItemButton.d.ts +2 -14
  425. package/dist/themes/overrides/ListItemButton.d.ts.map +1 -1
  426. package/dist/themes/overrides/ListItemIcon.d.ts +2 -10
  427. package/dist/themes/overrides/ListItemIcon.d.ts.map +1 -1
  428. package/dist/themes/overrides/ListItemText.d.ts +2 -11
  429. package/dist/themes/overrides/ListItemText.d.ts.map +1 -1
  430. package/dist/themes/overrides/LoadingButton.d.ts +2 -13
  431. package/dist/themes/overrides/LoadingButton.d.ts.map +1 -1
  432. package/dist/themes/overrides/OutlinedInput.d.ts +2 -95
  433. package/dist/themes/overrides/OutlinedInput.d.ts.map +1 -1
  434. package/dist/themes/overrides/Pagination.d.ts +2 -7
  435. package/dist/themes/overrides/Pagination.d.ts.map +1 -1
  436. package/dist/themes/overrides/PaginationItem.d.ts +2 -950
  437. package/dist/themes/overrides/PaginationItem.d.ts.map +1 -1
  438. package/dist/themes/overrides/Popover.d.ts +2 -9
  439. package/dist/themes/overrides/Popover.d.ts.map +1 -1
  440. package/dist/themes/overrides/Radio.d.ts +2 -122
  441. package/dist/themes/overrides/Radio.d.ts.map +1 -1
  442. package/dist/themes/overrides/Slider.d.ts +2 -65
  443. package/dist/themes/overrides/Slider.d.ts.map +1 -1
  444. package/dist/themes/overrides/Switch.d.ts +2 -90
  445. package/dist/themes/overrides/Switch.d.ts.map +1 -1
  446. package/dist/themes/overrides/Tab.d.ts +2 -20
  447. package/dist/themes/overrides/Tab.d.ts.map +1 -1
  448. package/dist/themes/overrides/TableBody.d.ts +2 -21
  449. package/dist/themes/overrides/TableBody.d.ts.map +1 -1
  450. package/dist/themes/overrides/TableCell.d.ts +2 -47
  451. package/dist/themes/overrides/TableCell.d.ts.map +1 -1
  452. package/dist/themes/overrides/TableFooter.d.ts +2 -11
  453. package/dist/themes/overrides/TableFooter.d.ts.map +1 -1
  454. package/dist/themes/overrides/TableHead.d.ts +2 -11
  455. package/dist/themes/overrides/TableHead.d.ts.map +1 -1
  456. package/dist/themes/overrides/TablePagination.d.ts +2 -12
  457. package/dist/themes/overrides/TablePagination.d.ts.map +1 -1
  458. package/dist/themes/overrides/TableRow.d.ts +2 -21
  459. package/dist/themes/overrides/TableRow.d.ts.map +1 -1
  460. package/dist/themes/overrides/Tabs.d.ts +2 -9
  461. package/dist/themes/overrides/Tabs.d.ts.map +1 -1
  462. package/dist/themes/overrides/ToggleButton.d.ts +2 -16
  463. package/dist/themes/overrides/ToggleButton.d.ts.map +1 -1
  464. package/dist/themes/overrides/Tooltip.d.ts +2 -9
  465. package/dist/themes/overrides/Tooltip.d.ts.map +1 -1
  466. package/dist/themes/overrides/TreeItem.d.ts +2 -14
  467. package/dist/themes/overrides/TreeItem.d.ts.map +1 -1
  468. package/dist/themes/overrides/Typography.d.ts +2 -9
  469. package/dist/themes/overrides/Typography.d.ts.map +1 -1
  470. package/dist/themes/overrides/index.d.ts +2 -1
  471. package/dist/themes/overrides/index.d.ts.map +1 -1
  472. package/dist/themes/palette.d.ts +2 -2
  473. package/dist/themes/palette.d.ts.map +1 -1
  474. package/dist/themes/shadows.d.ts +3 -2
  475. package/dist/themes/shadows.d.ts.map +1 -1
  476. package/dist/themes/theme/default.d.ts +2 -89
  477. package/dist/themes/theme/default.d.ts.map +1 -1
  478. package/dist/themes/theme/index.d.ts +2 -90
  479. package/dist/themes/theme/index.d.ts.map +1 -1
  480. package/dist/themes/theme/theme1.d.ts +2 -2
  481. package/dist/themes/theme/theme1.d.ts.map +1 -1
  482. package/dist/themes/theme/theme2.d.ts +2 -2
  483. package/dist/themes/theme/theme2.d.ts.map +1 -1
  484. package/dist/themes/theme/theme3.d.ts +2 -2
  485. package/dist/themes/theme/theme3.d.ts.map +1 -1
  486. package/dist/themes/theme/theme4.d.ts +2 -2
  487. package/dist/themes/theme/theme4.d.ts.map +1 -1
  488. package/dist/themes/theme/theme5.d.ts +2 -2
  489. package/dist/themes/theme/theme5.d.ts.map +1 -1
  490. package/dist/themes/theme/theme6.d.ts +2 -2
  491. package/dist/themes/theme/theme6.d.ts.map +1 -1
  492. package/dist/themes/theme/theme7.d.ts +2 -2
  493. package/dist/themes/theme/theme7.d.ts.map +1 -1
  494. package/dist/themes/theme/theme8.d.ts +2 -2
  495. package/dist/themes/theme/theme8.d.ts.map +1 -1
  496. package/dist/themes/types.d.ts +19 -0
  497. package/dist/themes/types.d.ts.map +1 -0
  498. package/dist/themes/typography.d.ts +3 -3
  499. package/dist/themes/typography.d.ts.map +1 -1
  500. package/dist/types.d.ts +2 -54
  501. package/dist/types.d.ts.map +1 -1
  502. package/dist/utils/index.d.ts +2 -2
  503. package/dist/utils/index.d.ts.map +1 -1
  504. package/dist/utils/lang.d.ts +2 -1
  505. package/dist/utils/lang.d.ts.map +1 -1
  506. package/dist/utils/localizedValue.d.ts +2 -2
  507. package/dist/utils/localizedValue.d.ts.map +1 -1
  508. package/dist/utils/time.d.ts +1 -1
  509. package/dist/utils/time.d.ts.map +1 -1
  510. package/jsconfig.json +24 -20
  511. package/jsconfig.node.json +4 -4
  512. package/package.json +73 -64
  513. package/src/Admin.tsx +5 -4
  514. package/src/AdminContext.tsx +5 -4
  515. package/src/ApplicaAdmin.tsx +152 -142
  516. package/src/components/@extended/{AnimateButton.jsx → AnimateButton.tsx} +16 -14
  517. package/src/components/@extended/{Avatar.jsx → Avatar.tsx} +31 -26
  518. package/src/components/@extended/{Breadcrumbs.jsx → Breadcrumbs.tsx} +68 -41
  519. package/src/components/@extended/Dot.tsx +34 -0
  520. package/src/components/@extended/{IconButton.jsx → IconButton.tsx} +39 -30
  521. package/src/components/@extended/{LoadingButton.jsx → LoadingButton.tsx} +59 -42
  522. package/src/components/@extended/{Tooltip.jsx → Tooltip.tsx} +31 -19
  523. package/src/components/@extended/Transitions.tsx +113 -0
  524. package/src/components/@extended/index.ts +9 -0
  525. package/src/components/@extended/progress/{CircularWithLabel.jsx → CircularWithLabel.tsx} +6 -9
  526. package/src/components/@extended/progress/{CircularWithPath.jsx → CircularWithPath.tsx} +24 -17
  527. package/src/components/@extended/progress/{LinearWithIcon.jsx → LinearWithIcon.tsx} +7 -9
  528. package/src/components/@extended/progress/{LinearWithLabel.jsx → LinearWithLabel.tsx} +6 -9
  529. package/src/components/@extended/progress/index.ts +4 -0
  530. package/src/components/ActionsMenu.tsx +28 -28
  531. package/src/components/AppStateProvider.tsx +84 -0
  532. package/src/components/AuthBackground.tsx +10 -4
  533. package/src/components/{AuthCard.jsx → AuthCard.tsx} +9 -10
  534. package/src/components/AuthWrapper.tsx +9 -19
  535. package/src/components/Layout/Content.tsx +21 -14
  536. package/src/components/Layout/Drawer/Drawer.tsx +35 -34
  537. package/src/components/Layout/Drawer/DrawerHeader.tsx +19 -18
  538. package/src/components/Layout/Drawer/DrawerHeaderStyled.tsx +19 -0
  539. package/src/components/Layout/Drawer/MiniDrawerStyled.tsx +59 -0
  540. package/src/components/Layout/Error.tsx +13 -20
  541. package/src/components/Layout/Header/AppBarStyled.tsx +4 -4
  542. package/src/components/Layout/Header/Buttons/HeaderButton.tsx +6 -2
  543. package/src/components/Layout/Header/Buttons/HeaderIconButton.tsx +6 -3
  544. package/src/components/Layout/Header/Buttons/HeaderToggleButton.tsx +5 -2
  545. package/src/components/Layout/Header/Buttons/LocaleButton.tsx +8 -7
  546. package/src/components/Layout/Header/Buttons/index.ts +1 -1
  547. package/src/components/Layout/Header/DrawerToggle.tsx +9 -3
  548. package/src/components/Layout/Header/Header.tsx +23 -22
  549. package/src/components/Layout/Header/Notification/Notification.tsx +42 -33
  550. package/src/components/Layout/Header/Notification/NotificationItem.tsx +40 -40
  551. package/src/components/Layout/Header/Profile/{Profile.tsx → HeaderProfile.tsx} +22 -25
  552. package/src/components/Layout/Header/Profile/buttons/ChangePasswordButton.tsx +8 -9
  553. package/src/components/Layout/Header/Profile/buttons/LogoutButton.tsx +6 -8
  554. package/src/components/Layout/Header/Profile/buttons/StopImpersonateButton.tsx +8 -9
  555. package/src/components/Layout/Header/Profile/buttons/index.ts +3 -0
  556. package/src/components/Layout/Header/Profile/index.ts +1 -1
  557. package/src/components/Layout/Header/ResponsiveSection.tsx +10 -10
  558. package/src/components/Layout/HorizontalBar.tsx +7 -7
  559. package/src/components/Layout/Layout.tsx +10 -13
  560. package/src/components/Layout/MenuProvider.tsx +415 -0
  561. package/src/components/Layout/Navigation/NavCollapse.tsx +48 -39
  562. package/src/components/Layout/Navigation/NavGroup.tsx +59 -41
  563. package/src/components/Layout/Navigation/NavItem.tsx +32 -33
  564. package/src/components/Layout/Navigation/NavList.tsx +7 -9
  565. package/src/components/Layout/Navigation/Navigation.tsx +16 -15
  566. package/src/components/Layout/Navigation/index.ts +2 -2
  567. package/src/components/Layout/Provider.tsx +63 -57
  568. package/src/components/Layout/ThemeProvider.tsx +161 -0
  569. package/src/components/Layout/ThemeToggler.tsx +4 -4
  570. package/src/components/Layout/Wrapper.tsx +2 -1
  571. package/src/components/Layout/index.ts +7 -5
  572. package/src/components/Loadable.tsx +12 -0
  573. package/src/components/{Loader.jsx → Loader.tsx} +9 -7
  574. package/src/components/Logo.tsx +26 -0
  575. package/src/components/MainCard.tsx +17 -34
  576. package/src/components/MainIcon.tsx +17 -14
  577. package/src/components/MenuPopover/{MenuPopover.jsx → MenuPopover.tsx} +15 -29
  578. package/src/components/MenuPopover/{getPosition.jsx → getPosition.tsx} +14 -2
  579. package/src/components/MenuPopover/index.tsx +3 -0
  580. package/src/components/MenuPopover/{styles.jsx → styles.tsx} +10 -2
  581. package/src/components/MenuPopover/types.ts +15 -0
  582. package/src/components/Notification.tsx +3 -3
  583. package/src/components/Onboarding/{onboardingDataProvider.tsx → DataProvider.tsx} +44 -39
  584. package/src/components/Onboarding/OnboardingTip.tsx +11 -10
  585. package/src/components/Onboarding/Provider.tsx +50 -45
  586. package/src/components/Onboarding/hooks.tsx +20 -14
  587. package/src/components/Onboarding/index.ts +3 -3
  588. package/src/components/Onboarding/schemas.ts +4 -3
  589. package/src/components/{ScrollTop.jsx → ScrollTop.tsx} +7 -10
  590. package/src/components/{ScrollX.jsx → ScrollX.tsx} +1 -2
  591. package/src/components/SmallIcon.tsx +16 -0
  592. package/src/components/index.jsx +16 -22
  593. package/src/components/ra-buttons/CreateInDialogButton.tsx +151 -138
  594. package/src/components/ra-buttons/EditInDialogButton.tsx +39 -36
  595. package/src/components/ra-buttons/ImpersonateUserButton.tsx +6 -5
  596. package/src/components/ra-buttons/index.ts +1 -1
  597. package/src/components/ra-custom/ListItem.tsx +48 -45
  598. package/src/components/ra-fields/ActionsField.tsx +13 -12
  599. package/src/components/ra-fields/AttachmentField.tsx +31 -30
  600. package/src/components/ra-fields/BaseAttachmentField.tsx +22 -21
  601. package/src/components/ra-fields/CoverField.tsx +7 -4
  602. package/src/components/ra-fields/DateAgoField.tsx +18 -13
  603. package/src/components/ra-fields/DateField.tsx +4 -3
  604. package/src/components/ra-fields/EmailField.tsx +4 -3
  605. package/src/components/ra-fields/FileField.tsx +8 -7
  606. package/src/components/ra-fields/FunctionField.tsx +3 -2
  607. package/src/components/ra-fields/ImageField.tsx +4 -3
  608. package/src/components/ra-fields/LocalizedTextField.tsx +32 -31
  609. package/src/components/ra-fields/ReadonlyField.tsx +39 -35
  610. package/src/components/ra-fields/ReferenceManyField.tsx +19 -13
  611. package/src/components/ra-fields/SizeField.tsx +7 -6
  612. package/src/components/ra-fields/TextField.tsx +4 -3
  613. package/src/components/ra-forms/CardForm.tsx +41 -40
  614. package/src/components/ra-forms/ChangePasswordForm.tsx +22 -13
  615. package/src/components/ra-forms/Create.tsx +61 -53
  616. package/src/components/ra-forms/Edit.tsx +5 -3
  617. package/src/components/ra-forms/FormHeader.tsx +14 -11
  618. package/src/components/ra-forms/LongForm/BaseForm.tsx +9 -9
  619. package/src/components/ra-forms/LongForm/Content.tsx +4 -4
  620. package/src/components/ra-forms/LongForm/Form.tsx +12 -12
  621. package/src/components/ra-forms/LongForm/NavMenu.tsx +81 -71
  622. package/src/components/ra-forms/LongForm/Provider.tsx +61 -59
  623. package/src/components/ra-forms/LongForm/Sidebar.tsx +29 -29
  624. package/src/components/ra-forms/LongForm/Tab.tsx +31 -31
  625. package/src/components/ra-forms/LongForm/hooks.tsx +14 -14
  626. package/src/components/ra-forms/LongForm/index.ts +23 -8
  627. package/src/components/ra-forms/LongForm/utils.ts +10 -10
  628. package/src/components/ra-forms/Show.tsx +5 -3
  629. package/src/components/ra-forms/SimpleForm.tsx +18 -15
  630. package/src/components/ra-forms/SimpleFormIterator.tsx +5 -3
  631. package/src/components/ra-forms/TabbedForm.tsx +23 -22
  632. package/src/components/ra-forms/TableForm/TableFormIterator.tsx +34 -25
  633. package/src/components/ra-forms/TableForm/TableFormIteratorContext.ts +32 -0
  634. package/src/components/ra-forms/TableForm/TableFormIteratorItem.tsx +10 -7
  635. package/src/components/ra-forms/TableForm/TableFormIteratorItemContext.ts +30 -0
  636. package/src/components/ra-forms/TableForm/index.ts +2 -0
  637. package/src/components/ra-forms/Toolbar.tsx +4 -2
  638. package/src/components/ra-forms/index.ts +0 -1
  639. package/src/components/ra-inputs/ArrayInput.tsx +18 -9
  640. package/src/components/ra-inputs/AttachmentInput.tsx +37 -34
  641. package/src/components/ra-inputs/AutocompleteArrayInput.tsx +5 -4
  642. package/src/components/ra-inputs/AutocompleteInput.tsx +6 -5
  643. package/src/components/ra-inputs/BooleanInput.tsx +6 -5
  644. package/src/components/ra-inputs/DateInput.tsx +5 -4
  645. package/src/components/ra-inputs/DateTimeInput.tsx +5 -4
  646. package/src/components/ra-inputs/FileInput.tsx +14 -13
  647. package/src/components/ra-inputs/ImageInput.tsx +13 -7
  648. package/src/components/ra-inputs/LabeledArrayInput.tsx +22 -22
  649. package/src/components/ra-inputs/LabeledInput.tsx +21 -19
  650. package/src/components/ra-inputs/LocalizedTextInput.tsx +49 -39
  651. package/src/components/ra-inputs/NumberInput.tsx +5 -4
  652. package/src/components/ra-inputs/RecordInput.tsx +6 -5
  653. package/src/components/ra-inputs/ReferenceArrayInput.tsx +12 -9
  654. package/src/components/ra-inputs/ReferenceInput.tsx +8 -8
  655. package/src/components/ra-inputs/ReferenceManyInput.tsx +14 -7
  656. package/src/components/ra-inputs/SearchInput.tsx +4 -3
  657. package/src/components/ra-inputs/SelectArrayInput.tsx +5 -4
  658. package/src/components/ra-inputs/SelectInput.tsx +5 -5
  659. package/src/components/ra-inputs/SmartTextInput.tsx +9 -5
  660. package/src/components/ra-inputs/TextInput.tsx +4 -3
  661. package/src/components/ra-inputs/TimeInput.tsx +5 -4
  662. package/src/components/ra-lists/BulkActionsToolbar.tsx +23 -21
  663. package/src/components/ra-lists/BulkFloatingActionsToolbar.tsx +17 -10
  664. package/src/components/ra-lists/Datagrid/Datagrid.tsx +63 -56
  665. package/src/components/ra-lists/Datagrid/DatagridContext.ts +6 -5
  666. package/src/components/ra-lists/Datagrid/DatagridContextProvider.tsx +8 -6
  667. package/src/components/ra-lists/Datagrid/index.tsx +3 -3
  668. package/src/components/ra-lists/Empty.tsx +10 -9
  669. package/src/components/ra-lists/List.tsx +27 -24
  670. package/src/components/ra-lists/ListView.tsx +54 -44
  671. package/src/components/ra-lists/NotificationList/NotificationList.tsx +14 -10
  672. package/src/components/ra-lists/NotificationList/buttons/MarkAsReadedButton.tsx +10 -6
  673. package/src/components/ra-lists/NotificationList/buttons/MarkAsUnreadedButton.tsx +4 -5
  674. package/src/components/ra-lists/NotificationList/fields/NotificationField.tsx +15 -7
  675. package/src/components/ra-lists/NotificationList/index.ts +1 -1
  676. package/src/components/ra-lists/SimpleList.tsx +3 -3
  677. package/src/components/ra-lists/index.ts +1 -1
  678. package/src/components/ra-pages/ActivatePage.tsx +15 -18
  679. package/src/components/ra-pages/GenericErrorPage.tsx +4 -6
  680. package/src/components/ra-pages/LoginPage.tsx +33 -18
  681. package/src/components/ra-pages/RecoverPage.tsx +15 -20
  682. package/src/components/ra-pages/RegisterPage.tsx +15 -18
  683. package/src/components/ra-pages/index.ts +5 -5
  684. package/src/components/ra-pages/types.ts +2 -1
  685. package/src/components/third-party/{SimpleBar.jsx → SimpleBar.tsx} +12 -18
  686. package/src/components/third-party/index.ts +1 -0
  687. package/src/dev/CatchResult.ts +5 -2
  688. package/src/dev/ErrorEventHandler.ts +6 -4
  689. package/src/dev/index.ts +3 -4
  690. package/src/dev/useErrorEventCatcher.ts +14 -13
  691. package/src/hooks/index.ts +7 -14
  692. package/src/hooks/mui.ts +2 -2
  693. package/src/hooks/useLocalStorage.tsx +7 -7
  694. package/src/hooks/useLocalizedValue.tsx +11 -11
  695. package/src/hooks/usePopoverState.tsx +17 -14
  696. package/src/hooks/useRefDimensions.ts +6 -6
  697. package/src/hooks/useResourceTitle.ts +3 -4
  698. package/src/i18n/MissingMessageHandler.ts +6 -2
  699. package/src/i18n/createI18nProvider.tsx +47 -48
  700. package/src/i18n/index.jsx +3 -3
  701. package/src/i18n/useI18nLanguages.ts +26 -0
  702. package/src/i18n/useI18nProvider.tsx +6 -6
  703. package/src/index.d.ts +1 -0
  704. package/src/index.jsx +18 -19
  705. package/src/main.tsx +1 -1
  706. package/src/playground/.prettierrc +1 -1
  707. package/src/playground/App.jsx +13 -17
  708. package/src/playground/components/index.jsx +4 -4
  709. package/src/playground/components/pages/CustomPage.jsx +10 -5
  710. package/src/playground/components/pages/index.jsx +1 -2
  711. package/src/playground/components/ra-fields/UserPictureField.jsx +5 -10
  712. package/src/playground/components/ra-fields/index.jsx +1 -2
  713. package/src/playground/components/ra-forms/DeviceForm.jsx +15 -9
  714. package/src/playground/components/ra-forms/I18nMessageForm.jsx +4 -5
  715. package/src/playground/components/ra-forms/TestModelForm.jsx +15 -13
  716. package/src/playground/components/ra-forms/UserForm.jsx +6 -31
  717. package/src/playground/components/ra-forms/index.jsx +4 -3
  718. package/src/playground/components/ra-inputs/LangSelectInput.jsx +7 -3
  719. package/src/playground/components/ra-inputs/YesOrNoSelectInput.jsx +15 -12
  720. package/src/playground/components/ra-inputs/index.jsx +2 -3
  721. package/src/playground/components/ra-lists/DeviceList.jsx +24 -15
  722. package/src/playground/components/ra-lists/I18nMessageList.jsx +23 -14
  723. package/src/playground/components/ra-lists/UserList.jsx +39 -29
  724. package/src/playground/components/ra-lists/index.jsx +3 -3
  725. package/src/playground/config.jsx +7 -5
  726. package/src/playground/entities/device.jsx +17 -14
  727. package/src/playground/entities/i18n-message.jsx +18 -18
  728. package/src/playground/entities/index.jsx +4 -4
  729. package/src/playground/entities/notification.jsx +8 -9
  730. package/src/playground/entities/user.jsx +19 -20
  731. package/src/playground/index.jsx +0 -1
  732. package/src/playground/menu.jsx +1 -3
  733. package/src/playground/theme.jsx +4 -2
  734. package/src/tests/README.md +0 -0
  735. package/src/tests/example.test.js +11 -0
  736. package/src/themes/{getColors.jsx → getColors.ts} +5 -3
  737. package/src/themes/{getShadow.jsx → getShadow.ts} +19 -9
  738. package/src/themes/{index.jsx → index.tsx} +18 -22
  739. package/src/themes/overrides/{Accordion.jsx → Accordion.ts} +3 -3
  740. package/src/themes/overrides/{AccordionDetails.jsx → AccordionDetails.ts} +3 -3
  741. package/src/themes/overrides/{AccordionSummary.jsx → AccordionSummary.tsx} +3 -4
  742. package/src/themes/overrides/{Alert.jsx → Alert.ts} +12 -7
  743. package/src/themes/overrides/{AlertTitle.jsx → AlertTitle.ts} +3 -3
  744. package/src/themes/overrides/{Autocomplete.jsx → Autocomplete.ts} +3 -3
  745. package/src/themes/overrides/{Badge.jsx → Badge.ts} +12 -3
  746. package/src/themes/overrides/{Button.jsx → Button.ts} +16 -7
  747. package/src/themes/overrides/ButtonBase.ts +12 -0
  748. package/src/themes/overrides/ButtonGroup.ts +11 -0
  749. package/src/themes/overrides/{CardContent.jsx → CardContent.ts} +3 -3
  750. package/src/themes/overrides/{Checkbox.jsx → Checkbox.tsx} +14 -6
  751. package/src/themes/overrides/{Chip.jsx → Chip.ts} +19 -4
  752. package/src/themes/overrides/{Dialog.jsx → Dialog.ts} +3 -4
  753. package/src/themes/overrides/{DialogContentText.jsx → DialogContentText.ts} +3 -3
  754. package/src/themes/overrides/{DialogTitle.jsx → DialogTitle.ts} +3 -3
  755. package/src/themes/overrides/{Fab.jsx → Fab.ts} +13 -7
  756. package/src/themes/overrides/{IconButton.jsx → IconButton.ts} +3 -3
  757. package/src/themes/overrides/{InputBase.jsx → InputBase.ts} +2 -3
  758. package/src/themes/overrides/{InputLabel.jsx → InputLabel.ts} +3 -3
  759. package/src/themes/overrides/{LinearProgress.jsx → LinearProgress.ts} +3 -3
  760. package/src/themes/overrides/Link.ts +11 -0
  761. package/src/themes/overrides/{ListItemButton.jsx → ListItemButton.ts} +3 -3
  762. package/src/themes/overrides/{ListItemIcon.jsx → ListItemIcon.ts} +3 -3
  763. package/src/themes/overrides/{ListItemText.jsx → ListItemText.ts} +3 -3
  764. package/src/themes/overrides/{LoadingButton.jsx → LoadingButton.ts} +3 -3
  765. package/src/themes/overrides/{OutlinedInput.jsx → OutlinedInput.ts} +12 -4
  766. package/src/themes/overrides/Pagination.ts +11 -0
  767. package/src/themes/overrides/{PaginationItem.jsx → PaginationItem.ts} +14 -5
  768. package/src/themes/overrides/{Popover.jsx → Popover.ts} +3 -3
  769. package/src/themes/overrides/{Radio.jsx → Radio.tsx} +14 -7
  770. package/src/themes/overrides/{Slider.jsx → Slider.ts} +11 -3
  771. package/src/themes/overrides/{Switch.jsx → Switch.ts} +5 -7
  772. package/src/themes/overrides/{Tab.jsx → Tab.ts} +3 -3
  773. package/src/themes/overrides/{TableBody.jsx → TableBody.ts} +3 -3
  774. package/src/themes/overrides/{TableCell.jsx → TableCell.ts} +3 -3
  775. package/src/themes/overrides/{TableFooter.jsx → TableFooter.ts} +3 -3
  776. package/src/themes/overrides/{TableHead.jsx → TableHead.ts} +3 -3
  777. package/src/themes/overrides/{TablePagination.jsx → TablePagination.ts} +3 -3
  778. package/src/themes/overrides/{TableRow.jsx → TableRow.ts} +3 -3
  779. package/src/themes/overrides/{Tabs.jsx → Tabs.ts} +3 -3
  780. package/src/themes/overrides/{ToggleButton.jsx → ToggleButton.ts} +3 -3
  781. package/src/themes/overrides/{Tooltip.jsx → Tooltip.ts} +3 -3
  782. package/src/themes/overrides/{TreeItem.jsx → TreeItem.ts} +3 -3
  783. package/src/themes/overrides/{Typography.jsx → Typography.ts} +3 -3
  784. package/src/themes/overrides/index.ts +98 -0
  785. package/src/themes/{palette.jsx → palette.ts} +19 -16
  786. package/src/themes/shadows.ts +29 -0
  787. package/src/themes/theme/{default.jsx → default.ts} +3 -11
  788. package/src/themes/theme/index.ts +37 -0
  789. package/src/themes/theme/{theme1.jsx → theme1.ts} +27 -7
  790. package/src/themes/theme/{theme5.jsx → theme2.ts} +27 -7
  791. package/src/themes/theme/{theme4.jsx → theme3.ts} +27 -7
  792. package/src/themes/theme/{theme3.jsx → theme4.ts} +27 -7
  793. package/src/themes/theme/{theme2.jsx → theme5.ts} +27 -7
  794. package/src/themes/theme/theme6.ts +126 -0
  795. package/src/themes/theme/theme7.ts +126 -0
  796. package/src/themes/theme/theme8.ts +126 -0
  797. package/src/themes/types.ts +20 -0
  798. package/src/themes/typography.ts +70 -0
  799. package/src/types.ts +3 -57
  800. package/src/utils/index.ts +2 -2
  801. package/src/utils/lang.ts +3 -1
  802. package/src/utils/localizedValue.ts +12 -6
  803. package/src/utils/time.ts +2 -2
  804. package/tsconfig.json +24 -15
  805. package/vite-env.d.ts +1 -0
  806. package/vite.config.js +9 -6
  807. package/.eslintrc.json +0 -46
  808. package/build.sh +0 -9
  809. package/dist/components/Layout/Header/Profile/Profile.d.ts +0 -3
  810. package/dist/components/Layout/Header/Profile/Profile.d.ts.map +0 -1
  811. package/dist/components/Onboarding/onboardingDataProvider.d.ts.map +0 -1
  812. package/dist/contexts/AppConfigContext.d.ts +0 -32
  813. package/dist/contexts/AppConfigContext.d.ts.map +0 -1
  814. package/dist/contexts/MenuConfigContext.d.ts +0 -23
  815. package/dist/contexts/MenuConfigContext.d.ts.map +0 -1
  816. package/dist/contexts/TableFormIteratorContext.d.ts.map +0 -1
  817. package/dist/contexts/TableFormIteratorItemContext.d.ts +0 -16
  818. package/dist/contexts/TableFormIteratorItemContext.d.ts.map +0 -1
  819. package/dist/contexts/ThemeConfigContext.d.ts +0 -79
  820. package/dist/contexts/ThemeConfigContext.d.ts.map +0 -1
  821. package/dist/contexts/index.d.ts +0 -6
  822. package/dist/contexts/index.d.ts.map +0 -1
  823. package/dist/hooks/useAppConfig.d.ts +0 -8
  824. package/dist/hooks/useAppConfig.d.ts.map +0 -1
  825. package/dist/hooks/useBreadcrumbs.d.ts +0 -9
  826. package/dist/hooks/useBreadcrumbs.d.ts.map +0 -1
  827. package/dist/hooks/useMenu.d.ts +0 -8
  828. package/dist/hooks/useMenu.d.ts.map +0 -1
  829. package/dist/hooks/useMenuConfig.d.ts +0 -3
  830. package/dist/hooks/useMenuConfig.d.ts.map +0 -1
  831. package/dist/hooks/useTableFormIterator.d.ts +0 -9
  832. package/dist/hooks/useTableFormIterator.d.ts.map +0 -1
  833. package/dist/hooks/useTableFormIteratorItem.d.ts +0 -9
  834. package/dist/hooks/useTableFormIteratorItem.d.ts.map +0 -1
  835. package/dist/hooks/useThemeConfig.d.ts +0 -3
  836. package/dist/hooks/useThemeConfig.d.ts.map +0 -1
  837. package/src/components/@extended/Dot.jsx +0 -35
  838. package/src/components/@extended/Transitions.jsx +0 -116
  839. package/src/components/@extended/index.jsx +0 -11
  840. package/src/components/@extended/progress/index.jsx +0 -6
  841. package/src/components/Layout/Drawer/DrawerHeaderStyled.jsx +0 -12
  842. package/src/components/Layout/Drawer/MiniDrawerStyled.jsx +0 -45
  843. package/src/components/Layout/Header/Profile/buttons/index.jsx +0 -4
  844. package/src/components/Loadable.jsx +0 -11
  845. package/src/components/Logo.jsx +0 -29
  846. package/src/components/MenuPopover/index.jsx +0 -3
  847. package/src/components/SmallIcon.jsx +0 -14
  848. package/src/components/third-party/index.jsx +0 -3
  849. package/src/contexts/AppConfigContext.tsx +0 -67
  850. package/src/contexts/MenuConfigContext.tsx +0 -69
  851. package/src/contexts/TableFormIteratorContext.ts +0 -21
  852. package/src/contexts/TableFormIteratorItemContext.ts +0 -19
  853. package/src/contexts/ThemeConfigContext.tsx +0 -151
  854. package/src/contexts/index.jsx +0 -5
  855. package/src/hooks/useAppConfig.jsx +0 -6
  856. package/src/hooks/useBreadcrumbs.jsx +0 -68
  857. package/src/hooks/useMenu.jsx +0 -217
  858. package/src/hooks/useMenuConfig.ts +0 -6
  859. package/src/hooks/useTableFormIterator.ts +0 -12
  860. package/src/hooks/useTableFormIteratorItem.ts +0 -12
  861. package/src/hooks/useThemeConfig.jsx +0 -6
  862. package/src/i18n/useI18nLanguages.jsx +0 -18
  863. package/src/playground/contexts/index.jsx +0 -1
  864. package/src/playground/entities/order.jsx +0 -24
  865. package/src/playground/hooks/index.jsx +0 -1
  866. package/src/playground/reportWebVitals.jsx +0 -13
  867. package/src/playground/types.ts +0 -92
  868. package/src/themes/overrides/ButtonBase.jsx +0 -12
  869. package/src/themes/overrides/ButtonGroup.jsx +0 -11
  870. package/src/themes/overrides/Link.jsx +0 -11
  871. package/src/themes/overrides/Pagination.jsx +0 -11
  872. package/src/themes/overrides/index.jsx +0 -100
  873. package/src/themes/shadows.jsx +0 -27
  874. package/src/themes/theme/index.jsx +0 -44
  875. package/src/themes/theme/theme6.jsx +0 -106
  876. package/src/themes/theme/theme7.jsx +0 -106
  877. package/src/themes/theme/theme8.jsx +0 -106
  878. package/src/themes/typography.jsx +0 -71
@@ -1,25 +1,25 @@
1
- import _ from 'lodash';
2
- import { Avatar } from '../../@extended';
1
+ import { Avatar } from '@/components/@extended/Avatar';
2
+ import { useThemeConfig } from '@/components/Layout/ThemeProvider';
3
+ import { useSetActiveItem, useSyncWithLocation } from '@/components/ra-forms/LongForm/Provider';
4
+ import { useChildren, useIsActive, useNavigateForm } from '@/components/ra-forms/LongForm/hooks';
5
+ import { IItem } from '@/components/ra-forms/LongForm/types';
6
+ import { getLevel } from '@/components/ra-forms/LongForm/utils';
7
+ import { ExpandLess, ExpandMore } from '@mui/icons-material';
3
8
  import {
9
+ Badge,
4
10
  Card,
5
11
  Collapse,
6
12
  List,
7
13
  ListItem,
8
- ListItemProps,
9
- ListItemIcon,
10
- ListItemText,
11
- ListItemButton,
12
14
  ListItemAvatar,
13
- Badge
15
+ ListItemButton,
16
+ ListItemIcon,
17
+ ListItemProps,
18
+ ListItemText
14
19
  } from '@mui/material';
15
- import { ExpandLess, ExpandMore } from '@mui/icons-material';
16
- import { getLevel } from './utils';
17
- import { IItem } from './types';
18
- import { useCallback, useEffect, useMemo, useState } from 'react';
19
- import { useChildren, useIsActive, useNavigateForm } from './hooks';
20
- import { useSetActiveItem, useSyncWithLocation } from './Provider';
21
- import { useThemeConfig } from '../../../hooks';
20
+ import _ from 'lodash';
22
21
  import { useTranslate } from 'ra-core';
22
+ import { useCallback, useEffect, useMemo, useState } from 'react';
23
23
 
24
24
  type IBaseNavMenuItemProps = React.PropsWithChildren<{
25
25
  id: string;
@@ -53,20 +53,20 @@ function NavMenu() {
53
53
  }
54
54
 
55
55
  function NavMenuItem(props: INavMenuItemProps) {
56
- const translate = useTranslate() ?? _.identity,
57
- navMenuItemProps = useNavMenuItem(props),
58
- { selected, label, icon, onClick: _onClick, badge, items, isGroup, level, errors = 0 } = navMenuItemProps,
59
- { spacing } = useThemeConfig(),
60
- [open, setOpen] = useState(selected),
61
- onClick = useCallback(
62
- (e: React.MouseEvent<HTMLDivElement>) => {
63
- setOpen(!open);
64
- _onClick(e);
65
- },
66
- [_onClick, open]
67
- ),
68
- hasIcon = icon !== undefined,
69
- listItemProps = _.omit(props, ['label', 'icon', 'selected', 'badge']);
56
+ const translate = useTranslate() ?? _.identity;
57
+ const navMenuItemProps = useNavMenuItem(props);
58
+ const { selected, label, icon, onClick: _onClick, badge, items, isGroup, level, errors = 0 } = navMenuItemProps;
59
+ const { spacing } = useThemeConfig();
60
+ const [open, setOpen] = useState(selected);
61
+ const onClick = useCallback(
62
+ (e: React.MouseEvent<HTMLDivElement>) => {
63
+ setOpen(!open);
64
+ _onClick(e);
65
+ },
66
+ [_onClick, open]
67
+ );
68
+ const hasIcon = icon !== undefined;
69
+ const listItemProps = _.omit(props, ['label', 'icon', 'selected', 'badge']);
70
70
 
71
71
  useEffect(() => {
72
72
  if (selected && !open) {
@@ -77,31 +77,37 @@ function NavMenuItem(props: INavMenuItemProps) {
77
77
  return (
78
78
  <>
79
79
  <ListItem {...listItemProps} disablePadding>
80
- <ListItemButton selected={selected && !isGroup} onClick={onClick} sx={{ pl: spacing * level }}>
81
- {hasIcon && <ListItemIcon>{icon}</ListItemIcon>}
80
+ {/* @ts-ignore */}
81
+ <ListItemButton selected={selected ? !isGroup : null} onClick={onClick} sx={{ pl: spacing * level }}>
82
+ {hasIcon ? <ListItemIcon>{icon}</ListItemIcon> : null}
82
83
  <ListItemText
83
84
  inset={!hasIcon}
84
85
  primary={
85
86
  errors === 0 ? (
86
87
  translate(label)
87
88
  ) : (
88
- <Badge variant="dot" color="error" sx={{ '& > .MuiBadge-badge': { transform: 'scale(1) translate(125%, 0)' } }}>
89
+ <Badge
90
+ variant="dot"
91
+ color="error"
92
+ sx={{ '& > .MuiBadge-badge': { transform: 'scale(1) translate(125%, 0)' } }}
93
+ >
89
94
  {translate(label)}
90
95
  </Badge>
91
96
  )
92
97
  }
93
98
  />
94
- {badge && (
99
+ {badge ? (
95
100
  <ListItemAvatar>
101
+ {/* @ts-ignore */}
96
102
  <Avatar type="filled" size="xs" color={badge.color ?? 'default'}>
97
103
  {badge.content}
98
104
  </Avatar>
99
105
  </ListItemAvatar>
100
- )}
101
- {isGroup && (open ? <ExpandLess /> : <ExpandMore />)}
106
+ ) : null}
107
+ {isGroup ? open ? <ExpandLess /> : <ExpandMore /> : null}
102
108
  </ListItemButton>
103
109
  </ListItem>
104
- {isGroup && (
110
+ {isGroup ? (
105
111
  <Collapse in={open} timeout="auto">
106
112
  <List>
107
113
  {_.map(items, (item: IItem, index: number) => {
@@ -109,47 +115,51 @@ function NavMenuItem(props: INavMenuItemProps) {
109
115
  })}
110
116
  </List>
111
117
  </Collapse>
112
- )}
118
+ ) : null}
113
119
  </>
114
120
  );
115
121
  }
116
122
 
117
- function useNavMenuItem(
118
- item: INavMenuItemProps
119
- ): IItem & { selected: boolean; onClick: React.MouseEventHandler<HTMLDivElement>; items: Array<IItem>; isGroup: boolean; level: number } {
120
- const { id } = item,
121
- isActive = useIsActive(id),
122
- level = getLevel(id),
123
- navigate = useNavigateForm(),
124
- syncWithLocation = useSyncWithLocation(),
125
- setActiveItem = useSetActiveItem(),
126
- items = useChildren(id),
127
- isGroup = !_.isEmpty(items),
128
- onClick = useCallback(
129
- (e: React.MouseEvent<HTMLDivElement>) => {
130
- if (!isGroup) {
131
- if (syncWithLocation) {
132
- navigate(item.id);
133
- } else {
134
- setActiveItem(item.id);
135
- }
123
+ function useNavMenuItem(item: INavMenuItemProps): IItem & {
124
+ selected: boolean;
125
+ onClick: React.MouseEventHandler<HTMLDivElement>;
126
+ items: Array<IItem>;
127
+ isGroup: boolean;
128
+ level: number;
129
+ } {
130
+ const { id } = item;
131
+ const isActive = useIsActive(id);
132
+ const level = getLevel(id);
133
+ const navigate = useNavigateForm();
134
+ const syncWithLocation = useSyncWithLocation();
135
+ const setActiveItem = useSetActiveItem();
136
+ const items = useChildren(id);
137
+ const isGroup = !_.isEmpty(items);
138
+ const onClick = useCallback(
139
+ (e: React.MouseEvent<HTMLDivElement>) => {
140
+ if (!isGroup) {
141
+ if (syncWithLocation) {
142
+ navigate(item.id);
143
+ } else {
144
+ setActiveItem(item.id);
136
145
  }
137
- if (_.isFunction(item.onClick)) {
138
- item.onClick(e);
139
- }
140
- },
141
- [setActiveItem, navigate, item, syncWithLocation, isGroup]
142
- ),
143
- navMenuItem = useMemo(() => {
144
- return {
145
- ...item,
146
- selected: isActive,
147
- onClick: onClick,
148
- items: items,
149
- isGroup: isGroup,
150
- level: level
151
- };
152
- }, [item, isActive, onClick, items, isGroup]);
146
+ }
147
+ if (_.isFunction(item.onClick)) {
148
+ item.onClick(e);
149
+ }
150
+ },
151
+ [setActiveItem, navigate, item, syncWithLocation, isGroup]
152
+ );
153
+ const navMenuItem = useMemo(() => {
154
+ return {
155
+ ...item,
156
+ selected: isActive,
157
+ onClick: onClick,
158
+ items: items,
159
+ isGroup: isGroup,
160
+ level: level
161
+ };
162
+ }, [item, isActive, onClick, items, isGroup, level]);
153
163
 
154
164
  return navMenuItem;
155
165
  }
@@ -1,7 +1,7 @@
1
+ import { IItem } from '@/components/ra-forms/LongForm/types';
2
+ import { getChildren, getItemsIds, getLevel } from '@/components/ra-forms/LongForm/utils';
1
3
  import _ from 'lodash';
2
4
  import { createContext, useCallback, useContext, useEffect, useMemo, useReducer } from 'react';
3
- import { getChildren, getItemsIds, getLevel } from './utils';
4
- import { IItem } from './types';
5
5
  import { matchPath, useLocation } from 'react-router';
6
6
 
7
7
  enum ActionType {
@@ -57,8 +57,8 @@ type IContext = {
57
57
  };
58
58
 
59
59
  function reducer(state: IState, action: IAction): IState {
60
- const newState = _.clone(state),
61
- { type, payload } = action;
60
+ const newState = _.clone(state);
61
+ const { type, payload } = action;
62
62
  switch (type) {
63
63
  case ActionType.SET_FORM_ROOT_PATH:
64
64
  return _.extend(newState, { formRootPath: payload });
@@ -80,11 +80,11 @@ function reducer(state: IState, action: IAction): IState {
80
80
  });
81
81
  }
82
82
  case ActionType.REMOVE_ITEM: {
83
- const id = _.isString(payload) ? payload : payload.id,
84
- items = _.chain(newState.items)
85
- .clone()
86
- .reject((item: IItem) => item.id === id)
87
- .value();
83
+ const id = _.isString(payload) ? payload : payload.id;
84
+ const items = _.chain(newState.items)
85
+ .clone()
86
+ .reject((item: IItem) => item.id === id)
87
+ .value();
88
88
  _.extend(newState, { items: items });
89
89
  if (newState.activeItem === id) {
90
90
  _.extend(newState, { activeItem: _.first(items)?.id ?? undefined });
@@ -107,13 +107,13 @@ const DefaultState: IState = {
107
107
  const Context = createContext<IContext | undefined>(undefined);
108
108
 
109
109
  function Provider(props: IProviderProps) {
110
- const syncWithLocation = Boolean(props.syncWithLocation ?? true),
111
- errorCount = Boolean(props.errorCount ?? true),
112
- { rootMatchString } = props,
113
- { pathname } = useLocation(),
114
- [state, dispatch] = useReducer(reducer, _.cloneDeep(DefaultState)),
115
- { formRootPath, items } = state,
116
- value = useMemo(() => ({ state: state, dispatch: dispatch }), [state, dispatch]);
110
+ const syncWithLocation = Boolean(props.syncWithLocation ?? true);
111
+ const errorCount = Boolean(props.errorCount ?? true);
112
+ const { rootMatchString } = props;
113
+ const { pathname } = useLocation();
114
+ const [state, dispatch] = useReducer(reducer, _.cloneDeep(DefaultState));
115
+ const { formRootPath, items } = state;
116
+ const value = useMemo(() => ({ state: state, dispatch: dispatch }), [state, dispatch]);
117
117
 
118
118
  useEffect(() => {
119
119
  // I possibili match sono ordinati per priorità (è fondamentale).
@@ -129,11 +129,11 @@ function Provider(props: IProviderProps) {
129
129
  matchStrings.push(rootMatchString);
130
130
  }
131
131
  const match = _.chain(matchStrings)
132
- .map((s) => matchPath(s, pathname))
133
- .reject((m) => m === null)
134
- .first()
135
- .value(),
136
- pathnameBase = match?.pathnameBase;
132
+ .map((s) => matchPath(s, pathname))
133
+ .reject((m) => m === null)
134
+ .first()
135
+ .value();
136
+ const pathnameBase = match?.pathnameBase;
137
137
 
138
138
  if (pathnameBase !== undefined && pathnameBase !== formRootPath) {
139
139
  dispatch({
@@ -173,7 +173,7 @@ function Provider(props: IProviderProps) {
173
173
  payload: locationItem
174
174
  });
175
175
  }
176
- }, [dispatch, formRootPath, pathname, items]);
176
+ }, [dispatch, formRootPath, pathname, items, syncWithLocation]);
177
177
 
178
178
  return <Context.Provider value={value}>{props.children}</Context.Provider>;
179
179
  }
@@ -182,7 +182,9 @@ function useFormContext(): IContext {
182
182
  const context = useContext(Context);
183
183
 
184
184
  if (context === undefined) {
185
- throw new Error('[LongForm] useFormContext: context undefined. Please provide a valid Context using LongForm.Provider');
185
+ throw new Error(
186
+ '[LongForm] useFormContext: context undefined. Please provide a valid Context using LongForm.Provider'
187
+ );
186
188
  }
187
189
 
188
190
  return context;
@@ -224,59 +226,59 @@ function useErrorCount(): boolean {
224
226
  }
225
227
 
226
228
  function useSetActiveItem(): (activeItem: string) => void {
227
- const dispatch = useFormDispatch(),
228
- setActiveItem = useCallback(
229
- (activeItem: string) => {
230
- dispatch({
231
- type: ActionType.SET_ACTIVE_ITEM,
232
- payload: activeItem
233
- });
234
- },
235
- [dispatch]
236
- );
229
+ const dispatch = useFormDispatch();
230
+ const setActiveItem = useCallback(
231
+ (activeItem: string) => {
232
+ dispatch({
233
+ type: ActionType.SET_ACTIVE_ITEM,
234
+ payload: activeItem
235
+ });
236
+ },
237
+ [dispatch]
238
+ );
237
239
 
238
240
  return setActiveItem;
239
241
  }
240
242
 
241
243
  function useAddItem(): (item: IItem) => void {
242
- const dispatch = useFormDispatch(),
243
- addItem = useCallback(
244
- (item: IItem) => {
245
- dispatch({
246
- type: ActionType.ADD_ITEM,
247
- payload: item
248
- });
249
- },
250
- [dispatch]
251
- );
244
+ const dispatch = useFormDispatch();
245
+ const addItem = useCallback(
246
+ (item: IItem) => {
247
+ dispatch({
248
+ type: ActionType.ADD_ITEM,
249
+ payload: item
250
+ });
251
+ },
252
+ [dispatch]
253
+ );
252
254
 
253
255
  return addItem;
254
256
  }
255
257
 
256
258
  function useRemoveItem(): (item: string | IItem) => void {
257
- const dispatch = useFormDispatch(),
258
- removeItem = useCallback(
259
- (item: string | IItem) => {
260
- dispatch({
261
- type: ActionType.REMOVE_ITEM,
262
- payload: item
263
- });
264
- },
265
- [dispatch]
266
- );
259
+ const dispatch = useFormDispatch();
260
+ const removeItem = useCallback(
261
+ (item: string | IItem) => {
262
+ dispatch({
263
+ type: ActionType.REMOVE_ITEM,
264
+ payload: item
265
+ });
266
+ },
267
+ [dispatch]
268
+ );
267
269
 
268
270
  return removeItem;
269
271
  }
270
272
 
273
+ export type { IProviderProps };
271
274
  export {
272
275
  Provider,
273
- useItems,
274
- useSyncWithLocation,
275
- useFormRootPath,
276
276
  useActiveItem,
277
- useSetActiveItem,
278
277
  useAddItem,
278
+ useErrorCount,
279
+ useFormRootPath,
280
+ useItems,
279
281
  useRemoveItem,
280
- useErrorCount
282
+ useSetActiveItem,
283
+ useSyncWithLocation
281
284
  };
282
- export type { IProviderProps };
@@ -1,8 +1,8 @@
1
- import _ from 'lodash';
1
+ import { Disposition } from '@/components/ra-forms/LongForm/types';
2
2
  import { Box, Grid, GridProps, Stack } from '@mui/material';
3
+ import _ from 'lodash';
3
4
  import { Children, isValidElement, useMemo } from 'react';
4
- import { Disposition } from './types';
5
- import StickyBox from 'react-sticky-box';
5
+ import { default as StickyBox } from 'react-sticky-box';
6
6
 
7
7
  enum SidebarSectionPosition {
8
8
  TOP = 'top',
@@ -19,12 +19,12 @@ type ISidebarSectionProps = React.PropsWithChildren<{
19
19
  }>;
20
20
 
21
21
  function Sidebar(props: ISidebarProps) {
22
- const { sticky = true, disposition = { xl: 3, lg: 3, md: 4, sm: 4, xs: 12 }, spacing = 2 } = props,
23
- gridProps = _.omit(props, ['sticky', 'disposition', 'spacing']),
24
- Wrapper = sticky ? StickyBox : Box,
25
- wrapperProps = useMemo(() => {
26
- return sticky ? { offsetTop: 74, offsetBottom: (spacing as number) * 2 } : {};
27
- }, [sticky, spacing]);
22
+ const { sticky = true, disposition = { xl: 3, lg: 3, md: 4, sm: 4, xs: 12 }, spacing = 2 } = props;
23
+ const gridProps = _.omit(props, ['sticky', 'disposition', 'spacing']);
24
+ const Wrapper = sticky ? StickyBox : Box;
25
+ const wrapperProps = useMemo(() => {
26
+ return sticky ? { offsetTop: 74, offsetBottom: (spacing as number) * 2 } : {};
27
+ }, [sticky, spacing]);
28
28
  return (
29
29
  <Grid {...gridProps} item {...disposition}>
30
30
  <Wrapper {...wrapperProps}>
@@ -44,27 +44,27 @@ type ISidebarChildren = {
44
44
  };
45
45
 
46
46
  function useSidebarChildren(props: React.PropsWithChildren): ISidebarChildren {
47
- const { children } = props,
48
- result = useMemo<ISidebarChildren>(() => {
49
- const result: ISidebarChildren = {
50
- top: [],
51
- bottom: []
52
- };
53
- Children.forEach<React.ReactNode>(children, (Child) => {
54
- if (isValidElement(Child) && Child?.type === SidebarSection) {
55
- const { position } = Child.props;
56
- switch (position) {
57
- case SidebarSectionPosition.TOP:
58
- result.top.push(Child);
59
- break;
60
- case SidebarSectionPosition.BOTTOM:
61
- result.bottom.push(Child);
62
- break;
63
- }
47
+ const { children } = props;
48
+ const result = useMemo<ISidebarChildren>(() => {
49
+ const result: ISidebarChildren = {
50
+ top: [],
51
+ bottom: []
52
+ };
53
+ Children.forEach<React.ReactNode>(children, (Child) => {
54
+ if (isValidElement(Child) && Child?.type === SidebarSection) {
55
+ const { position } = Child.props;
56
+ switch (position) {
57
+ case SidebarSectionPosition.TOP:
58
+ result.top.push(Child);
59
+ break;
60
+ case SidebarSectionPosition.BOTTOM:
61
+ result.bottom.push(Child);
62
+ break;
64
63
  }
65
- });
66
- return result;
67
- }, [children]);
64
+ }
65
+ });
66
+ return result;
67
+ }, [children]);
68
68
  return result;
69
69
  }
70
70
 
@@ -1,20 +1,20 @@
1
- import _ from 'lodash';
1
+ import { useAddItem, useErrorCount, useRemoveItem } from '@/components/ra-forms/LongForm/Provider';
2
+ import { useIsActive } from '@/components/ra-forms/LongForm/hooks';
3
+ import { IItem } from '@/components/ra-forms/LongForm/types';
4
+ import { getId } from '@/components/ra-forms/LongForm/utils';
5
+ import { Optional } from '@/types';
2
6
  import { Box } from '@mui/material';
3
- import { getId } from './utils';
4
- import { IItem } from './types';
5
- import { Optional } from 'src/types';
6
- import { useAddItem, useRemoveItem, useErrorCount } from './Provider';
7
- import { useFormState } from 'react-hook-form';
8
- import { useIsActive } from './hooks';
7
+ import _ from 'lodash';
9
8
  import React, { Children, ReactElement, ReactNode, cloneElement, isValidElement, useEffect, useMemo } from 'react';
9
+ import { useFormState } from 'react-hook-form';
10
10
 
11
11
  type IBaseItemProps = React.PropsWithChildren<Optional<IItem, 'id' | 'index'> & { sources: Array<string> }>;
12
12
  type ITabProps = IBaseItemProps;
13
13
  type IGroupProps = IBaseItemProps;
14
14
 
15
15
  function walkChildren(children: ReactNode = [], callback: (el: ReactElement) => void) {
16
- const _children = _.isArray(children) ? children : [children],
17
- validChildren = _.filter(_children, (child) => isValidElement(child));
16
+ const _children = _.isArray(children) ? children : [children];
17
+ const validChildren = _.filter(_children, (child) => isValidElement(child));
18
18
  _.each(validChildren, (child) => {
19
19
  callback(child);
20
20
  walkChildren(child?.props?.children ?? [], callback);
@@ -22,14 +22,14 @@ function walkChildren(children: ReactNode = [], callback: (el: ReactElement) =>
22
22
  }
23
23
 
24
24
  function BaseItem(props: IBaseItemProps) {
25
- const { errors } = useFormState(),
26
- countErrors = useErrorCount(),
27
- { label, icon, badge, index = 0, children } = props,
28
- id = getId(props),
29
- addItem = useAddItem(),
30
- removeItem = useRemoveItem(),
31
- visible = useIsActive(id),
32
- sources: Array<string> = [];
25
+ const { errors } = useFormState();
26
+ const countErrors = useErrorCount();
27
+ const { label, icon, badge, index = 0, children } = props;
28
+ const id = getId(props);
29
+ const addItem = useAddItem();
30
+ const removeItem = useRemoveItem();
31
+ const visible = useIsActive(id);
32
+ const sources: Array<string> = [];
33
33
 
34
34
  if (countErrors) {
35
35
  if (props.sources !== undefined) {
@@ -64,7 +64,7 @@ function BaseItem(props: IBaseItemProps) {
64
64
  return () => {
65
65
  removeItem(id);
66
66
  };
67
- }, [id]);
67
+ }, [id, removeItem]);
68
68
 
69
69
  /* All tabs are rendered (not only the one in focus), to allow validation
70
70
  on tabs not in focus. The tabs receive a `hidden` property, which they'll
@@ -74,8 +74,8 @@ function BaseItem(props: IBaseItemProps) {
74
74
  }
75
75
 
76
76
  function Group(props: IGroupProps) {
77
- const filteredChildren = useBaseItemChildren(props),
78
- groupId = getId(props);
77
+ const filteredChildren = useBaseItemChildren(props);
78
+ const groupId = getId(props);
79
79
  return (
80
80
  <BaseItem {...props} id={groupId}>
81
81
  {Children.map(filteredChildren, (Child) => {
@@ -91,17 +91,17 @@ function Tab(props: ITabProps) {
91
91
  }
92
92
 
93
93
  function useBaseItemChildren(props: React.PropsWithChildren): Array<React.FunctionComponentElement<IBaseItemProps>> {
94
- const { children } = props,
95
- result = useMemo<Array<React.FunctionComponentElement<IBaseItemProps>>>(
96
- () =>
97
- //@ts-ignore
98
- _.chain(Children.toArray(children))
99
- .filter((Child) => isValidElement(Child) && (Child?.type === Tab || Child?.type === Group))
100
- .map((Child: React.FunctionComponentElement<IBaseItemProps>, index) => cloneElement(Child, { index: index }))
101
- .value(),
102
- [children]
103
- );
94
+ const { children } = props;
95
+ const result = useMemo<Array<React.FunctionComponentElement<IBaseItemProps>>>(
96
+ () =>
97
+ //@ts-ignore
98
+ _.chain(Children.toArray(children))
99
+ .filter((Child) => isValidElement(Child) && (Child?.type === Tab || Child?.type === Group))
100
+ .map((Child: React.FunctionComponentElement<IBaseItemProps>, index) => cloneElement(Child, { index: index }))
101
+ .value(),
102
+ [children]
103
+ );
104
104
  return result;
105
105
  }
106
106
 
107
- export { Tab, Group, useBaseItemChildren };
107
+ export { Group, Tab, useBaseItemChildren };
@@ -1,6 +1,6 @@
1
- import { getChildren, isChild } from './utils';
2
- import { IItem } from './types';
3
- import { useActiveItem, useFormRootPath, useItems } from './Provider';
1
+ import { useActiveItem, useFormRootPath, useItems } from '@/components/ra-forms/LongForm/Provider';
2
+ import { IItem } from '@/components/ra-forms/LongForm/types';
3
+ import { getChildren, isChild } from '@/components/ra-forms/LongForm/utils';
4
4
  import { useCallback, useMemo } from 'react';
5
5
  import { useLocation, useNavigate } from 'react-router';
6
6
 
@@ -14,22 +14,22 @@ function useIsActive(id: string): boolean {
14
14
  }
15
15
 
16
16
  function useChildren(id?: string): Array<IItem> {
17
- const items = useItems(),
18
- children = useMemo(() => getChildren(id, items), [items, id]);
17
+ const items = useItems();
18
+ const children = useMemo(() => getChildren(id, items), [items, id]);
19
19
 
20
20
  return children;
21
21
  }
22
22
 
23
23
  function useNavigateForm(): (id: string) => void {
24
- const formRootPath = useFormRootPath(),
25
- { search } = useLocation(),
26
- navigate = useNavigate(),
27
- navigateSection = useCallback(
28
- (id: string) => {
29
- navigate(`${formRootPath}/${id}${search}`);
30
- },
31
- [formRootPath, navigate]
32
- );
24
+ const formRootPath = useFormRootPath();
25
+ const { search } = useLocation();
26
+ const navigate = useNavigate();
27
+ const navigateSection = useCallback(
28
+ (id: string) => {
29
+ navigate(`${formRootPath}/${id}${search}`);
30
+ },
31
+ [formRootPath, navigate, search]
32
+ );
33
33
 
34
34
  return navigateSection;
35
35
  }
@@ -1,10 +1,25 @@
1
- import { BaseForm } from './BaseForm';
2
- import { Content } from './Content';
3
- import { Form } from './Form';
4
- import { NavMenu, NavMenuItem, useNavMenuItem } from './NavMenu';
5
- import { Provider, useActiveItem, useItems, useSyncWithLocation, useErrorCount, useSetActiveItem, useAddItem, useRemoveItem, useFormRootPath } from './Provider';
6
- import { Sidebar, SidebarSection, SidebarSectionPosition, useSidebarChildren } from './Sidebar';
7
- import { Tab, Group, useBaseItemChildren } from './Tab';
1
+ import {
2
+ Provider,
3
+ useActiveItem,
4
+ useAddItem,
5
+ useErrorCount,
6
+ useFormRootPath,
7
+ useItems,
8
+ useRemoveItem,
9
+ useSetActiveItem,
10
+ useSyncWithLocation
11
+ } from './Provider';
12
+ import { BaseForm } from '@/components/ra-forms/LongForm/BaseForm';
13
+ import { Content } from '@/components/ra-forms/LongForm/Content';
14
+ import { Form } from '@/components/ra-forms/LongForm/Form';
15
+ import { NavMenu, NavMenuItem, useNavMenuItem } from '@/components/ra-forms/LongForm/NavMenu';
16
+ import {
17
+ Sidebar,
18
+ SidebarSection,
19
+ SidebarSectionPosition,
20
+ useSidebarChildren
21
+ } from '@/components/ra-forms/LongForm/Sidebar';
22
+ import { Group, Tab, useBaseItemChildren } from '@/components/ra-forms/LongForm/Tab';
8
23
 
9
24
  type IForm = typeof Form & {
10
25
  BaseForm: typeof BaseForm;
@@ -53,4 +68,4 @@ DefaultForm.Tab = Tab;
53
68
  DefaultForm.Group = Group;
54
69
  DefaultForm.useBaseItemChildren = useBaseItemChildren;
55
70
 
56
- export default DefaultForm;
71
+ export { DefaultForm as LongForm };