@firecms/core 3.0.0-canary.29 → 3.0.0-canary.292

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 (433) hide show
  1. package/README.md +3 -3
  2. package/dist/app/AppBar.d.ts +12 -0
  3. package/dist/app/Drawer.d.ts +16 -0
  4. package/dist/app/Scaffold.d.ts +34 -0
  5. package/dist/app/index.d.ts +4 -0
  6. package/dist/app/useApp.d.ts +16 -0
  7. package/dist/components/ArrayContainer.d.ts +31 -12
  8. package/dist/components/CircularProgressCenter.d.ts +1 -1
  9. package/dist/components/ClearFilterSortButton.d.ts +5 -0
  10. package/dist/components/{DeleteConfirmationDialog.d.ts → ConfirmationDialog.d.ts} +1 -1
  11. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +14 -13
  12. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
  13. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +22 -6
  14. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +1 -0
  15. package/dist/components/EntityCollectionTable/column_utils.d.ts +1 -2
  16. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +3 -1
  17. package/dist/components/EntityCollectionTable/index.d.ts +1 -1
  18. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
  19. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +2 -2
  20. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +7 -4
  21. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +20 -2
  22. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
  23. package/dist/components/EntityCollectionView/utils.d.ts +3 -0
  24. package/dist/components/EntityJsonPreview.d.ts +3 -0
  25. package/dist/components/EntityPreview.d.ts +10 -7
  26. package/dist/components/ErrorView.d.ts +1 -1
  27. package/dist/components/HomePage/DefaultHomePage.d.ts +2 -15
  28. package/dist/components/HomePage/HomePageDnD.d.ts +77 -0
  29. package/dist/components/HomePage/NavigationCard.d.ts +3 -1
  30. package/dist/components/HomePage/NavigationCardBinding.d.ts +4 -3
  31. package/dist/components/HomePage/NavigationGroup.d.ts +8 -1
  32. package/dist/components/HomePage/RenameGroupDialog.d.ts +9 -0
  33. package/dist/components/PropertyCollectionView.d.ts +23 -0
  34. package/dist/components/PropertyConfigBadge.d.ts +2 -1
  35. package/dist/components/PropertyIdCopyTooltip.d.ts +8 -0
  36. package/dist/components/ReferenceWidget.d.ts +3 -1
  37. package/dist/components/SelectableTable/SelectableTable.d.ts +14 -4
  38. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
  39. package/dist/components/UnsavedChangesDialog.d.ts +8 -0
  40. package/dist/components/UserDisplay.d.ts +7 -0
  41. package/dist/components/VirtualTable/VirtualTableProps.d.ts +24 -12
  42. package/dist/components/VirtualTable/fields/VirtualTableUserSelect.d.ts +12 -0
  43. package/dist/components/VirtualTable/types.d.ts +3 -3
  44. package/dist/components/{EntityCollectionTable/internal → common}/default_entity_actions.d.ts +1 -3
  45. package/dist/components/common/index.d.ts +2 -1
  46. package/dist/components/common/table_height.d.ts +5 -0
  47. package/dist/components/common/types.d.ts +4 -6
  48. package/dist/components/common/useColumnsIds.d.ts +3 -1
  49. package/dist/components/common/{useDataSourceEntityCollectionTableController.d.ts → useDataSourceTableController.d.ts} +13 -2
  50. package/dist/components/common/useDebouncedCallback.d.ts +1 -0
  51. package/dist/components/common/useScrollRestoration.d.ts +14 -0
  52. package/dist/components/index.d.ts +5 -2
  53. package/dist/contexts/BreacrumbsContext.d.ts +8 -0
  54. package/dist/contexts/InternalUserManagementContext.d.ts +3 -0
  55. package/dist/core/DefaultAppBar.d.ts +29 -0
  56. package/dist/core/DefaultDrawer.d.ts +19 -0
  57. package/dist/core/DrawerNavigationItem.d.ts +10 -0
  58. package/dist/core/EntityEditView.d.ts +49 -11
  59. package/dist/core/EntityEditViewFormActions.d.ts +2 -0
  60. package/dist/core/FireCMS.d.ts +2 -3
  61. package/dist/core/FireCMSRouter.d.ts +4 -0
  62. package/dist/core/NavigationRoutes.d.ts +2 -3
  63. package/dist/core/SideDialogs.d.ts +4 -2
  64. package/dist/core/field_configs.d.ts +1 -1
  65. package/dist/core/index.d.ts +4 -4
  66. package/dist/form/EntityForm.d.ts +40 -64
  67. package/dist/form/EntityFormActions.d.ts +21 -0
  68. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  69. package/dist/form/components/ErrorFocus.d.ts +1 -1
  70. package/dist/form/components/FieldHelperText.d.ts +3 -3
  71. package/dist/form/components/FormEntry.d.ts +6 -0
  72. package/dist/form/components/FormLayout.d.ts +5 -0
  73. package/dist/form/components/LabelWithIcon.d.ts +1 -1
  74. package/dist/form/components/LabelWithIconAndTooltip.d.ts +15 -0
  75. package/dist/form/components/LocalChangesMenu.d.ts +11 -0
  76. package/dist/form/components/StorageItemPreview.d.ts +4 -4
  77. package/dist/form/components/index.d.ts +3 -1
  78. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +1 -1
  79. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +1 -1
  80. package/dist/form/field_bindings/BlockFieldBinding.d.ts +1 -1
  81. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
  82. package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
  83. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +11 -0
  84. package/dist/form/field_bindings/{MultiSelectBinding.d.ts → MultiSelectFieldBinding.d.ts} +1 -1
  85. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +1 -1
  86. package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +9 -0
  87. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -2
  88. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +1 -1
  89. package/dist/form/field_bindings/SelectFieldBinding.d.ts +1 -1
  90. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +5 -13
  91. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +1 -2
  92. package/dist/form/field_bindings/TextFieldBinding.d.ts +1 -1
  93. package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +12 -0
  94. package/dist/form/index.d.ts +18 -18
  95. package/dist/form/useClearRestoreValue.d.ts +2 -2
  96. package/dist/hooks/data/delete.d.ts +4 -4
  97. package/dist/hooks/data/save.d.ts +4 -5
  98. package/dist/hooks/data/useCollectionFetch.d.ts +1 -1
  99. package/dist/hooks/data/useEntityFetch.d.ts +4 -3
  100. package/dist/hooks/index.d.ts +3 -0
  101. package/dist/hooks/useAuthController.d.ts +1 -1
  102. package/dist/hooks/useBreadcrumbsController.d.ts +26 -0
  103. package/dist/hooks/useBuildNavigationController.d.ts +57 -13
  104. package/dist/hooks/useCollapsedGroups.d.ts +9 -0
  105. package/dist/hooks/useFireCMSContext.d.ts +1 -1
  106. package/dist/hooks/useInternalUserManagementController.d.ts +12 -0
  107. package/dist/hooks/useModeController.d.ts +1 -2
  108. package/dist/hooks/useProjectLog.d.ts +8 -2
  109. package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
  110. package/dist/hooks/useValidateAuthenticator.d.ts +4 -8
  111. package/dist/index.d.ts +1 -0
  112. package/dist/index.es.js +24546 -13965
  113. package/dist/index.es.js.map +1 -1
  114. package/dist/index.umd.js +27256 -588
  115. package/dist/index.umd.js.map +1 -1
  116. package/dist/internal/useBuildDataSource.d.ts +3 -17
  117. package/dist/internal/useBuildSideEntityController.d.ts +3 -3
  118. package/dist/internal/useUnsavedChangesDialog.d.ts +7 -9
  119. package/dist/preview/PropertyPreviewProps.d.ts +6 -1
  120. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  121. package/dist/preview/components/ReferencePreview.d.ts +4 -3
  122. package/dist/preview/components/StorageThumbnail.d.ts +2 -1
  123. package/dist/preview/components/UrlComponentPreview.d.ts +2 -1
  124. package/dist/preview/components/UserPreview.d.ts +8 -0
  125. package/dist/preview/index.d.ts +1 -0
  126. package/dist/preview/util.d.ts +3 -3
  127. package/dist/routes/CustomCMSRoute.d.ts +4 -0
  128. package/dist/routes/FireCMSRoute.d.ts +1 -0
  129. package/dist/routes/HomePageRoute.d.ts +3 -0
  130. package/dist/types/analytics.d.ts +1 -1
  131. package/dist/types/auth.d.ts +8 -10
  132. package/dist/types/collections.d.ts +123 -25
  133. package/dist/types/customization_controller.d.ts +8 -0
  134. package/dist/types/datasource.d.ts +52 -36
  135. package/dist/types/dialogs_controller.d.ts +7 -3
  136. package/dist/types/entities.d.ts +12 -3
  137. package/dist/types/entity_actions.d.ts +72 -8
  138. package/dist/types/entity_callbacks.d.ts +16 -16
  139. package/dist/types/entity_overrides.d.ts +2 -2
  140. package/dist/types/export_import.d.ts +4 -4
  141. package/dist/types/fields.d.ts +79 -39
  142. package/dist/types/firecms.d.ts +31 -3
  143. package/dist/types/firecms_context.d.ts +17 -1
  144. package/dist/types/index.d.ts +1 -1
  145. package/dist/types/internal_user_management.d.ts +20 -0
  146. package/dist/types/navigation.d.ts +62 -19
  147. package/dist/types/permissions.d.ts +4 -4
  148. package/dist/types/plugins.d.ts +58 -13
  149. package/dist/types/properties.d.ts +122 -31
  150. package/dist/types/property_config.d.ts +1 -3
  151. package/dist/types/roles.d.ts +3 -0
  152. package/dist/types/side_dialogs_controller.d.ts +10 -0
  153. package/dist/types/side_entity_controller.d.ts +14 -1
  154. package/dist/types/storage.d.ts +75 -0
  155. package/dist/types/user.d.ts +2 -1
  156. package/dist/util/builders.d.ts +3 -3
  157. package/dist/util/callbacks.d.ts +2 -0
  158. package/dist/util/collections.d.ts +1 -0
  159. package/dist/util/createFormexStub.d.ts +2 -0
  160. package/dist/util/entities.d.ts +3 -3
  161. package/dist/util/entity_actions.d.ts +2 -0
  162. package/dist/util/entity_cache.d.ts +28 -0
  163. package/dist/util/icon_list.d.ts +5 -1
  164. package/dist/util/icon_synonyms.d.ts +1 -98
  165. package/dist/util/icons.d.ts +7 -4
  166. package/dist/util/index.d.ts +3 -0
  167. package/dist/util/make_properties_editable.d.ts +1 -2
  168. package/dist/util/navigation_from_path.d.ts +10 -1
  169. package/dist/util/navigation_utils.d.ts +15 -3
  170. package/dist/util/objects.d.ts +3 -1
  171. package/dist/util/permissions.d.ts +4 -4
  172. package/dist/util/plurals.d.ts +0 -2
  173. package/dist/util/property_utils.d.ts +4 -4
  174. package/dist/util/references.d.ts +2 -2
  175. package/dist/util/resolutions.d.ts +42 -17
  176. package/dist/util/storage.d.ts +23 -2
  177. package/dist/util/useStorageUploadController.d.ts +4 -3
  178. package/package.json +70 -53
  179. package/src/app/AppBar.tsx +18 -0
  180. package/src/app/Drawer.tsx +24 -0
  181. package/src/app/Scaffold.tsx +253 -0
  182. package/src/app/index.ts +4 -0
  183. package/src/app/useApp.tsx +32 -0
  184. package/src/components/ArrayContainer.tsx +447 -229
  185. package/src/components/CircularProgressCenter.tsx +2 -2
  186. package/src/components/ClearFilterSortButton.tsx +41 -0
  187. package/src/components/{DeleteConfirmationDialog.tsx → ConfirmationDialog.tsx} +12 -11
  188. package/src/components/DeleteEntityDialog.tsx +13 -20
  189. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +87 -62
  190. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +38 -31
  191. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +30 -9
  192. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +84 -42
  193. package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
  194. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +30 -16
  195. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +19 -17
  196. package/src/components/EntityCollectionTable/index.tsx +1 -1
  197. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +34 -39
  198. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +49 -36
  199. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +20 -8
  200. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +135 -105
  201. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +9 -9
  202. package/src/components/EntityCollectionView/EntityCollectionView.tsx +241 -119
  203. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +7 -4
  204. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
  205. package/src/components/EntityCollectionView/useSelectionController.tsx +20 -7
  206. package/src/components/EntityCollectionView/utils.ts +19 -0
  207. package/src/components/EntityJsonPreview.tsx +66 -0
  208. package/src/components/EntityPreview.tsx +83 -62
  209. package/src/components/EntityView.tsx +34 -42
  210. package/src/components/ErrorView.tsx +4 -4
  211. package/src/components/FireCMSLogo.tsx +7 -51
  212. package/src/components/HomePage/DefaultHomePage.tsx +516 -158
  213. package/src/components/HomePage/FavouritesView.tsx +9 -14
  214. package/src/components/HomePage/HomePageDnD.tsx +702 -0
  215. package/src/components/HomePage/NavigationCard.tsx +48 -39
  216. package/src/components/HomePage/NavigationCardBinding.tsx +17 -16
  217. package/src/components/HomePage/NavigationGroup.tsx +144 -30
  218. package/src/components/HomePage/RenameGroupDialog.tsx +123 -0
  219. package/src/components/HomePage/SmallNavigationCard.tsx +5 -6
  220. package/src/components/NotFoundPage.tsx +2 -2
  221. package/src/components/PropertyCollectionView.tsx +329 -0
  222. package/src/components/PropertyConfigBadge.tsx +10 -4
  223. package/src/components/PropertyIdCopyTooltip.tsx +47 -0
  224. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +23 -13
  225. package/src/components/ReferenceWidget.tsx +21 -11
  226. package/src/components/SearchIconsView.tsx +10 -7
  227. package/src/components/SelectableTable/SelectableTable.tsx +157 -157
  228. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
  229. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +27 -9
  230. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +36 -12
  231. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +92 -24
  232. package/src/components/UnsavedChangesDialog.tsx +46 -0
  233. package/src/components/UserDisplay.tsx +55 -0
  234. package/src/components/VirtualTable/VirtualTable.tsx +105 -51
  235. package/src/components/VirtualTable/VirtualTableCell.tsx +1 -9
  236. package/src/components/VirtualTable/VirtualTableHeader.tsx +10 -10
  237. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +2 -2
  238. package/src/components/VirtualTable/VirtualTableProps.tsx +28 -14
  239. package/src/components/VirtualTable/VirtualTableRow.tsx +5 -6
  240. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +5 -5
  241. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +2 -2
  242. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +2 -1
  243. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +16 -28
  244. package/src/components/VirtualTable/fields/VirtualTableUserSelect.tsx +99 -0
  245. package/src/components/VirtualTable/types.tsx +2 -3
  246. package/src/components/{EntityCollectionTable/internal → common}/default_entity_actions.tsx +64 -44
  247. package/src/components/common/index.ts +2 -1
  248. package/src/components/{VirtualTable/common.tsx → common/table_height.tsx} +5 -2
  249. package/src/components/common/types.tsx +4 -6
  250. package/src/components/common/useColumnsIds.tsx +16 -2
  251. package/src/components/common/useDataSourceTableController.tsx +420 -0
  252. package/src/components/common/useDebouncedCallback.tsx +20 -0
  253. package/src/components/common/useScrollRestoration.tsx +68 -0
  254. package/src/components/common/useTableSearchHelper.ts +53 -12
  255. package/src/components/index.tsx +6 -2
  256. package/src/contexts/BreacrumbsContext.tsx +38 -0
  257. package/src/contexts/DialogsProvider.tsx +5 -4
  258. package/src/contexts/InternalUserManagementContext.tsx +4 -0
  259. package/src/contexts/ModeController.tsx +1 -3
  260. package/src/contexts/SnackbarProvider.tsx +2 -0
  261. package/src/core/DefaultAppBar.tsx +219 -0
  262. package/src/core/DefaultDrawer.tsx +185 -0
  263. package/src/core/DrawerNavigationItem.tsx +66 -0
  264. package/src/core/EntityEditView.tsx +447 -469
  265. package/src/core/EntityEditViewFormActions.tsx +344 -0
  266. package/src/core/EntitySidePanel.tsx +96 -23
  267. package/src/core/FireCMS.tsx +85 -60
  268. package/src/core/FireCMSRouter.tsx +17 -0
  269. package/src/core/NavigationRoutes.tsx +28 -38
  270. package/src/core/SideDialogs.tsx +22 -12
  271. package/src/core/field_configs.tsx +41 -14
  272. package/src/core/index.tsx +6 -5
  273. package/src/form/EntityForm.tsx +740 -523
  274. package/src/form/EntityFormActions.tsx +226 -0
  275. package/src/form/PropertyFieldBinding.tsx +88 -41
  276. package/src/form/components/CustomIdField.tsx +9 -3
  277. package/src/form/components/ErrorFocus.tsx +22 -29
  278. package/src/form/components/FieldHelperText.tsx +4 -4
  279. package/src/form/components/FormEntry.tsx +22 -0
  280. package/src/form/components/FormLayout.tsx +16 -0
  281. package/src/form/components/LabelWithIcon.tsx +30 -19
  282. package/src/form/components/LabelWithIconAndTooltip.tsx +28 -0
  283. package/src/form/components/LocalChangesMenu.tsx +144 -0
  284. package/src/form/components/StorageItemPreview.tsx +23 -13
  285. package/src/form/components/StorageUploadProgress.tsx +5 -6
  286. package/src/form/components/index.tsx +3 -1
  287. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +34 -19
  288. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +50 -36
  289. package/src/form/field_bindings/BlockFieldBinding.tsx +56 -33
  290. package/src/form/field_bindings/DateTimeFieldBinding.tsx +18 -14
  291. package/src/form/field_bindings/KeyValueFieldBinding.tsx +61 -52
  292. package/src/form/field_bindings/MapFieldBinding.tsx +73 -55
  293. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +159 -0
  294. package/src/form/field_bindings/{MultiSelectBinding.tsx → MultiSelectFieldBinding.tsx} +26 -21
  295. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +11 -16
  296. package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +135 -0
  297. package/src/form/field_bindings/ReferenceFieldBinding.tsx +42 -31
  298. package/src/form/field_bindings/RepeatFieldBinding.tsx +62 -35
  299. package/src/form/field_bindings/SelectFieldBinding.tsx +24 -15
  300. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +257 -199
  301. package/src/form/field_bindings/SwitchFieldBinding.tsx +29 -24
  302. package/src/form/field_bindings/TextFieldBinding.tsx +28 -24
  303. package/src/form/field_bindings/UserSelectFieldBinding.tsx +94 -0
  304. package/src/form/index.tsx +21 -37
  305. package/src/form/useClearRestoreValue.tsx +2 -2
  306. package/src/form/validation.ts +13 -23
  307. package/src/hooks/data/delete.ts +6 -5
  308. package/src/hooks/data/save.ts +26 -33
  309. package/src/hooks/data/useCollectionFetch.tsx +3 -3
  310. package/src/hooks/data/useDataSource.tsx +11 -3
  311. package/src/hooks/data/useEntityFetch.tsx +10 -6
  312. package/src/hooks/index.tsx +4 -0
  313. package/src/hooks/useAuthController.tsx +1 -1
  314. package/src/hooks/useBreadcrumbsController.tsx +31 -0
  315. package/src/hooks/useBrowserTitleAndIcon.tsx +1 -1
  316. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +8 -10
  317. package/src/hooks/useBuildModeController.tsx +22 -29
  318. package/src/hooks/useBuildNavigationController.tsx +515 -121
  319. package/src/hooks/useCollapsedGroups.ts +64 -0
  320. package/src/hooks/useFireCMSContext.tsx +9 -35
  321. package/src/hooks/useInternalUserManagementController.tsx +16 -0
  322. package/src/hooks/useLargeLayout.tsx +0 -35
  323. package/src/hooks/useModeController.tsx +1 -2
  324. package/src/hooks/useProjectLog.tsx +32 -10
  325. package/src/hooks/useResolvedNavigationFrom.tsx +10 -12
  326. package/src/hooks/useValidateAuthenticator.tsx +17 -37
  327. package/src/index.ts +1 -0
  328. package/src/internal/useBuildDataSource.ts +79 -85
  329. package/src/internal/useBuildSideDialogsController.tsx +4 -2
  330. package/src/internal/useBuildSideEntityController.tsx +204 -77
  331. package/src/internal/useUnsavedChangesDialog.tsx +127 -91
  332. package/src/preview/PropertyPreview.tsx +42 -25
  333. package/src/preview/PropertyPreviewProps.tsx +7 -1
  334. package/src/preview/components/BooleanPreview.tsx +2 -2
  335. package/src/preview/components/EmptyValue.tsx +1 -1
  336. package/src/preview/components/EnumValuesChip.tsx +2 -2
  337. package/src/preview/components/ImagePreview.tsx +26 -37
  338. package/src/preview/components/ReferencePreview.tsx +30 -38
  339. package/src/preview/components/StorageThumbnail.tsx +5 -1
  340. package/src/preview/components/UrlComponentPreview.tsx +60 -28
  341. package/src/preview/components/UserPreview.tsx +27 -0
  342. package/src/preview/index.ts +1 -0
  343. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +6 -6
  344. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +7 -5
  345. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +5 -4
  346. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +4 -4
  347. package/src/preview/property_previews/ArrayOneOfPreview.tsx +7 -6
  348. package/src/preview/property_previews/ArrayPropertyPreview.tsx +8 -7
  349. package/src/preview/property_previews/MapPropertyPreview.tsx +14 -13
  350. package/src/preview/property_previews/NumberPropertyPreview.tsx +2 -2
  351. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +13 -13
  352. package/src/preview/property_previews/StringPropertyPreview.tsx +3 -3
  353. package/src/preview/util.ts +10 -10
  354. package/src/routes/CustomCMSRoute.tsx +21 -0
  355. package/src/routes/FireCMSRoute.tsx +246 -0
  356. package/src/routes/HomePageRoute.tsx +17 -0
  357. package/src/types/analytics.ts +3 -0
  358. package/src/types/auth.tsx +9 -13
  359. package/src/types/collections.ts +146 -30
  360. package/src/types/customization_controller.tsx +9 -1
  361. package/src/types/datasource.ts +61 -43
  362. package/src/types/dialogs_controller.tsx +7 -3
  363. package/src/types/entities.ts +19 -3
  364. package/src/types/entity_actions.tsx +86 -10
  365. package/src/types/entity_callbacks.ts +18 -18
  366. package/src/types/entity_overrides.tsx +2 -2
  367. package/src/types/export_import.ts +4 -4
  368. package/src/types/fields.tsx +91 -42
  369. package/src/types/firecms.tsx +34 -4
  370. package/src/types/firecms_context.tsx +18 -1
  371. package/src/types/index.ts +1 -1
  372. package/src/types/internal_user_management.ts +24 -0
  373. package/src/types/navigation.ts +77 -24
  374. package/src/types/permissions.ts +5 -5
  375. package/src/types/plugins.tsx +69 -15
  376. package/src/types/properties.ts +141 -33
  377. package/src/types/property_config.tsx +2 -2
  378. package/src/types/roles.ts +3 -0
  379. package/src/types/side_dialogs_controller.tsx +15 -0
  380. package/src/types/side_entity_controller.tsx +16 -1
  381. package/src/types/storage.ts +83 -1
  382. package/src/types/user.ts +3 -1
  383. package/src/util/builders.ts +10 -8
  384. package/src/util/callbacks.ts +119 -0
  385. package/src/util/collections.ts +8 -0
  386. package/src/util/createFormexStub.tsx +66 -0
  387. package/src/util/entities.ts +11 -8
  388. package/src/util/entity_actions.ts +28 -0
  389. package/src/util/entity_cache.ts +223 -0
  390. package/src/util/enums.ts +1 -1
  391. package/src/util/icon_list.ts +16 -10
  392. package/src/util/icon_synonyms.ts +3 -100
  393. package/src/util/icons.tsx +36 -11
  394. package/src/util/index.ts +3 -0
  395. package/src/util/join_collections.ts +11 -4
  396. package/src/util/make_properties_editable.ts +5 -19
  397. package/src/util/navigation_from_path.ts +33 -12
  398. package/src/util/navigation_utils.ts +141 -25
  399. package/src/util/objects.ts +128 -33
  400. package/src/util/parent_references_from_path.ts +3 -3
  401. package/src/util/permissions.ts +9 -8
  402. package/src/util/plurals.ts +0 -2
  403. package/src/util/property_utils.tsx +17 -6
  404. package/src/util/references.ts +19 -8
  405. package/src/util/resolutions.ts +122 -48
  406. package/src/util/storage.ts +79 -21
  407. package/src/util/strings.ts +2 -2
  408. package/src/util/useStorageUploadController.tsx +162 -62
  409. package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +0 -5
  410. package/dist/components/FireCMSAppBar.d.ts +0 -26
  411. package/dist/components/PropertyIdCopyTooltipContent.d.ts +0 -3
  412. package/dist/components/VirtualTable/common.d.ts +0 -2
  413. package/dist/core/Drawer.d.ts +0 -23
  414. package/dist/core/Scaffold.d.ts +0 -55
  415. package/dist/core/SideEntityView.d.ts +0 -7
  416. package/dist/form/components/FormikArrayContainer.d.ts +0 -18
  417. package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +0 -9
  418. package/dist/internal/useBuildCustomizationController.d.ts +0 -2
  419. package/dist/internal/useLocaleConfig.d.ts +0 -1
  420. package/dist/types/appcheck.d.ts +0 -26
  421. package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +0 -59
  422. package/src/components/FireCMSAppBar.tsx +0 -165
  423. package/src/components/PropertyIdCopyTooltipContent.tsx +0 -28
  424. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +0 -225
  425. package/src/core/Drawer.tsx +0 -191
  426. package/src/core/Scaffold.tsx +0 -281
  427. package/src/core/SideEntityView.tsx +0 -38
  428. package/src/form/components/FormikArrayContainer.tsx +0 -44
  429. package/src/form/field_bindings/MarkdownFieldBinding.tsx +0 -695
  430. package/src/internal/useBuildCustomizationController.tsx +0 -5
  431. package/src/internal/useLocaleConfig.tsx +0 -18
  432. package/src/types/appcheck.ts +0 -29
  433. /package/src/util/{common.tsx → common.ts} +0 -0
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
 
11
11
  <h1 align="center">FireCMS</h1>
12
- <h3 align="center">Awesome Firebase/Firestore-based headless CMS</h3>
12
+ <h3 align="center">Awesome Firebase/MongoDB-based headless CMS</h3>
13
13
  <p align="center"><a href="https://demo.firecms.co">Live demo</a></p>
14
14
 
15
15
  <br />
@@ -49,7 +49,7 @@ FireCMS is based on this great technologies:
49
49
  The easiest way to get going is to check our quickstart guide! You will just
50
50
  need to follow some quick steps:
51
51
 
52
- https://firecms.co/docs/quickstart
52
+ https://firecms.co/docs
53
53
 
54
54
  ### Demo
55
55
 
@@ -89,7 +89,7 @@ navigating through **subcollections** and accessing custom views (such as custom
89
89
  forms or blog previews). This functionality can also be accessed
90
90
  programmatically using the `useSideEntityController` hook.
91
91
 
92
- FireCMS includes **over 15 built-in fields** with numerous customization and
92
+ FireCMS includes **over 20 built-in fields** with numerous customization and
93
93
  validation options. The components have been carefully designed for an
94
94
  outstanding user experience, including advanced features like **references** to
95
95
  other collections, **markdown**, and **array reordering**.
@@ -0,0 +1,12 @@
1
+ import { DefaultAppBarProps } from "../core/DefaultAppBar";
2
+ /**
3
+ * This component renders the main app bar of FireCMS.
4
+ */
5
+ export declare function AppBar({ children, ...props }: {
6
+ children?: React.ReactNode;
7
+ className?: string;
8
+ style?: React.CSSProperties;
9
+ } & DefaultAppBarProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace AppBar {
11
+ var componentType: string;
12
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This component is in charge of rendering the drawer.
3
+ * If you add this component under your {@link Scaffold}, it will be rendered
4
+ * as a drawer, and the open and close functionality will be handled automatically.
5
+ * If you want to customise the drawer, you can create your own component and pass it as a child.
6
+ * For custom drawers, you can use the {@link useApp} to open and close the drawer.
7
+ *
8
+ */
9
+ export declare function Drawer({ children, className, style }: {
10
+ children?: React.ReactNode;
11
+ className?: string;
12
+ style?: React.CSSProperties;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ export declare namespace Drawer {
15
+ var componentType: string;
16
+ }
@@ -0,0 +1,34 @@
1
+ import React from "react";
2
+ export declare const DRAWER_WIDTH = 280;
3
+ /**
4
+ * @group Core
5
+ */
6
+ export interface ScaffoldProps {
7
+ /**
8
+ * Open the drawer on hover
9
+ */
10
+ autoOpenDrawer?: boolean;
11
+ /**
12
+ * Logo to be displayed in the top bar and drawer.
13
+ * Note that this has no effect if you are using a custom AppBar or Drawer.
14
+ */
15
+ logo?: string;
16
+ /**
17
+ * If true, the main content will be padded in large layouts. Defaults to true.
18
+ */
19
+ padding?: boolean;
20
+ className?: string;
21
+ style?: React.CSSProperties;
22
+ }
23
+ /**
24
+ * This view acts as a scaffold for FireCMS.
25
+ *
26
+ * It is in charge of displaying the navigation drawer, top bar and main
27
+ * collection views.
28
+ * This component needs a parent {@link FireCMS}
29
+ *
30
+ * @param props
31
+
32
+ * @group Core
33
+ */
34
+ export declare const Scaffold: React.NamedExoticComponent<React.PropsWithChildren<ScaffoldProps>>;
@@ -0,0 +1,4 @@
1
+ export * from "./Drawer";
2
+ export * from "./AppBar";
3
+ export * from "./Scaffold";
4
+ export * from "./useApp";
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ /**
3
+ * This context represents the state of the app in terms of layout.
4
+ * @group Core
5
+ */
6
+ export type AppState = {
7
+ hasDrawer: boolean;
8
+ drawerHovered: boolean;
9
+ drawerOpen: boolean;
10
+ openDrawer: () => void;
11
+ closeDrawer: () => void;
12
+ autoOpenDrawer?: boolean;
13
+ logo?: string;
14
+ };
15
+ export declare const AppContext: React.Context<AppState>;
16
+ export declare function useApp(): AppState;
@@ -1,40 +1,59 @@
1
1
  import React from "react";
2
- import { DraggableProvided } from "@hello-pangea/dnd";
3
- interface ArrayContainerProps<T> {
2
+ export type ArrayEntryParams = {
3
+ index: number;
4
+ internalId: number;
5
+ isDragging: boolean;
6
+ storedProps?: object;
7
+ storeProps: (props: object) => void;
8
+ };
9
+ export type ArrayEntryBuilder = (params: ArrayEntryParams) => React.ReactNode;
10
+ export interface ArrayContainerProps<T> {
4
11
  droppableId: string;
5
12
  value: T[];
6
13
  addLabel: string;
7
- buildEntry: (index: number, internalId: number) => React.ReactNode;
14
+ buildEntry: ArrayEntryBuilder;
8
15
  disabled?: boolean;
9
16
  size?: "small" | "medium";
10
17
  onInternalIdAdded?: (id: number) => void;
11
18
  includeAddButton?: boolean;
19
+ canAddElements?: boolean;
20
+ sortable?: boolean;
12
21
  newDefaultEntry: T;
13
22
  onValueChange: (value: T[]) => void;
23
+ className?: string;
24
+ min?: number;
25
+ max?: number;
14
26
  }
15
- /**
16
- * @group Form custom fields
17
- */
18
- export declare function ArrayContainer<T>({ droppableId, addLabel, value, disabled, buildEntry, size, onInternalIdAdded, includeAddButton, newDefaultEntry, onValueChange }: ArrayContainerProps<T>): import("react/jsx-runtime").JSX.Element;
19
27
  type ArrayContainerItemProps = {
20
- provided: DraggableProvided;
28
+ nodeRef: (node: HTMLElement | null) => void;
29
+ style: React.CSSProperties;
30
+ dragHandleProps: any;
21
31
  index: number;
22
32
  internalId: number;
23
33
  size?: "small" | "medium";
24
34
  disabled: boolean;
25
- buildEntry: (index: number, internalId: number) => React.ReactNode;
35
+ buildEntry: ArrayEntryBuilder;
26
36
  remove: (index: number) => void;
27
37
  copy: (index: number) => void;
38
+ addInIndex?: (index: number) => void;
39
+ canAddElements?: boolean;
40
+ sortable: boolean;
28
41
  isDragging: boolean;
42
+ storedProps?: object;
43
+ updateItemCustomProps: (internalId: number, props: object) => void;
29
44
  };
30
- export declare function ArrayContainerItem({ provided, index, internalId, size, disabled, buildEntry, remove, copy, isDragging }: ArrayContainerItemProps): import("react/jsx-runtime").JSX.Element;
31
- export declare function ArrayItemOptions({ direction, disabled, remove, index, provided, copy, }: {
45
+ export declare function ArrayContainerItem({ nodeRef, style, dragHandleProps, index, internalId, size, disabled, buildEntry, remove, copy, addInIndex, canAddElements, sortable, isDragging, storedProps, updateItemCustomProps }: ArrayContainerItemProps): import("react/jsx-runtime").JSX.Element;
46
+ export declare function ArrayItemOptions({ dragHandleProps, direction, disabled, remove, index, copy, canAddElements, sortable, addInIndex, }: {
47
+ dragHandleProps: any;
32
48
  direction?: "row" | "column";
33
49
  disabled: boolean;
34
50
  remove: (index: number) => void;
35
51
  index: number;
36
- provided: any;
37
52
  copy: (index: number) => void;
53
+ sortable: boolean;
54
+ canAddElements?: boolean;
55
+ addInIndex?: (index: number) => void;
38
56
  }): import("react/jsx-runtime").JSX.Element;
57
+ export declare function ArrayContainer<T>({ droppableId, addLabel, value, disabled, buildEntry, size, onInternalIdAdded, includeAddButton: deprecatedIncludeAddButton, canAddElements: canAddElementsProp, sortable, newDefaultEntry, onValueChange, className, min, max }: ArrayContainerProps<T>): import("react/jsx-runtime").JSX.Element;
39
58
  export declare function getRandomId(): number;
40
59
  export {};
@@ -3,7 +3,7 @@ import { CircularProgressProps } from "@firecms/ui";
3
3
  *
4
4
  * @param text
5
5
  * @param props
6
- * @constructor
6
+
7
7
  * @ignore
8
8
  */
9
9
  export declare function CircularProgressCenter({ text, ...props }: CircularProgressProps & {
@@ -0,0 +1,5 @@
1
+ import { EntityTableController } from "../types";
2
+ export declare function ClearFilterSortButton({ tableController, enabled }: {
3
+ enabled: boolean;
4
+ tableController: EntityTableController;
5
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- export declare function DeleteConfirmationDialog({ open, onAccept, onCancel, title, loading, body }: {
2
+ export declare function ConfirmationDialog({ open, onAccept, onCancel, title, loading, body }: {
3
3
  open: boolean;
4
4
  onAccept: () => void;
5
5
  onCancel: () => void;
@@ -9,23 +9,24 @@ import { CollectionSize, Entity, EntityAction, EntityCollection, SelectionContro
9
9
  * @param size
10
10
  * @param toggleEntitySelection
11
11
  * @param hideId
12
- * @constructor
13
12
  *
14
13
  * @group Collection components
15
14
  */
16
- export declare const EntityCollectionRowActions: ({ entity, collection, fullPath, width, frozen, isSelected, selectionEnabled, size, highlightEntity, onCollectionChange, unhighlightEntity, actions, hideId, selectionController, }: {
15
+ export declare const EntityCollectionRowActions: ({ entity, collection, fullPath, fullIdPath, width, frozen, isSelected, selectionEnabled, size, highlightEntity, onCollectionChange, unhighlightEntity, actions, hideId, selectionController, openEntityMode }: {
17
16
  entity: Entity<any>;
18
- collection?: EntityCollection<any, any> | undefined;
19
- fullPath?: string | undefined;
17
+ collection?: EntityCollection<any>;
18
+ fullPath?: string;
19
+ fullIdPath?: string;
20
20
  width: number;
21
- frozen?: boolean | undefined;
21
+ frozen?: boolean;
22
22
  size: CollectionSize;
23
- isSelected?: boolean | undefined;
24
- selectionEnabled?: boolean | undefined;
25
- actions?: EntityAction[] | undefined;
26
- hideId?: boolean | undefined;
27
- onCollectionChange?: (() => void) | undefined;
28
- selectionController?: SelectionController | undefined;
29
- highlightEntity?: ((entity: Entity<any>) => void) | undefined;
30
- unhighlightEntity?: ((entity: Entity<any>) => void) | undefined;
23
+ isSelected?: boolean;
24
+ selectionEnabled?: boolean;
25
+ actions?: EntityAction[];
26
+ hideId?: boolean;
27
+ onCollectionChange?: () => void;
28
+ selectionController?: SelectionController;
29
+ highlightEntity?: (entity: Entity<any>) => void;
30
+ unhighlightEntity?: (entity: Entity<any>) => void;
31
+ openEntityMode: "side_panel" | "full_screen";
31
32
  }) => import("react/jsx-runtime").JSX.Element;
@@ -17,11 +17,11 @@ import { EntityCollectionTableProps } from "./EntityCollectionTableProps";
17
17
  *
18
18
  * The data displayed in the table is managed by a {@link EntityTableController}.
19
19
  * You can build the default, bound to a path in the datasource, by using the hook
20
- * {@link useDataSourceEntityCollectionTableController}
20
+ * {@link useDataSourceTableController}
21
21
  *
22
22
  * @see EntityCollectionTableProps
23
23
  * @see EntityCollectionView
24
24
  * @see VirtualTable
25
25
  * @group Components
26
26
  */
27
- export declare const EntityCollectionTable: <M extends Record<string, any>, UserType extends User>({ forceFilter, actionsStart, actions, title, tableRowActionsBuilder, uniqueFieldValidator, getPropertyFor, onValueChange, selectionController, highlightedEntities, onEntityClick, onColumnResize, onSizeChanged, textSearchEnabled, hoverRow, inlineEditing, additionalFields, displayedColumnIds, defaultSize, properties, tableController, filterable, sortable, endAdornment, AddColumnComponent, AdditionalHeaderWidget, additionalIDHeaderWidget, emptyComponent, getIdColumnWidth, onTextSearchClick, textSearchLoading }: EntityCollectionTableProps<M>) => import("react/jsx-runtime").JSX.Element;
27
+ export declare const EntityCollectionTable: <M extends Record<string, any> = any, USER extends User = any>({ className, style, forceFilter, actionsStart, actions, title, tableRowActionsBuilder, uniqueFieldValidator, getPropertyFor, onValueChange, selectionController, highlightedEntities, onEntityClick, onColumnResize, initialScroll, onScroll, onSizeChanged, textSearchEnabled, hoverRow, inlineEditing, additionalFields, displayedColumnIds, defaultSize, properties, tableController, filterable, sortable, endAdornment, AddColumnComponent, AdditionalHeaderWidget, additionalIDHeaderWidget, emptyComponent, getIdColumnWidth, onTextSearchClick, textSearchLoading, enablePopupIcon, openEntityMode }: EntityCollectionTableProps<M>) => import("react/jsx-runtime").JSX.Element;
@@ -4,7 +4,9 @@ import { OnCellValueChange, OnColumnResizeParams, UniqueFieldValidator } from ".
4
4
  /**
5
5
  * @group Collection components
6
6
  */
7
- export type EntityCollectionTableProps<M extends Record<string, any>, UserType extends User = User> = {
7
+ export type EntityCollectionTableProps<M extends Record<string, any>, USER extends User = User> = {
8
+ className?: string;
9
+ style?: React.CSSProperties;
8
10
  /**
9
11
  * Display these entities as selected
10
12
  */
@@ -46,6 +48,19 @@ export type EntityCollectionTableProps<M extends Record<string, any>, UserType e
46
48
  * Callback when a column is resized
47
49
  */
48
50
  onColumnResize?(params: OnColumnResizeParams): void;
51
+ /**
52
+ * Initial scroll position
53
+ */
54
+ initialScroll?: number;
55
+ /**
56
+ * Callback when the table is scrolled
57
+ * @param props
58
+ */
59
+ onScroll?: (props: {
60
+ scrollDirection: "forward" | "backward";
61
+ scrollOffset: number;
62
+ scrollUpdateWasRequested: boolean;
63
+ }) => void;
49
64
  /**
50
65
  * Callback when the selected size of the table is changed
51
66
  */
@@ -61,15 +76,15 @@ export type EntityCollectionTableProps<M extends Record<string, any>, UserType e
61
76
  actions?: React.ReactNode;
62
77
  /**
63
78
  * Controller holding the logic for the table
64
- * {@link useDataSourceEntityCollectionTableController}
79
+ * {@link useDataSourceTableController}
65
80
  * {@link EntityTableController}
66
81
  */
67
82
  tableController: EntityTableController<M>;
68
- displayedColumnIds: PropertyColumnConfig[];
83
+ displayedColumnIds?: PropertyColumnConfig[];
69
84
  forceFilter?: FilterValues<Extract<keyof M, string>>;
70
85
  textSearchEnabled?: boolean;
71
86
  inlineEditing?: boolean;
72
- additionalFields?: AdditionalFieldDelegate<M, UserType>[];
87
+ additionalFields?: AdditionalFieldDelegate<M, USER>[];
73
88
  defaultSize?: CollectionSize;
74
89
  properties: ResolvedProperties<M>;
75
90
  getPropertyFor?: (props: GetPropertyForProps<M>) => ResolvedProperties<M>[string];
@@ -87,13 +102,14 @@ export type EntityCollectionTableProps<M extends Record<string, any>, UserType e
87
102
  getIdColumnWidth?: () => number;
88
103
  onTextSearchClick?: () => void;
89
104
  textSearchLoading?: boolean;
105
+ enablePopupIcon: boolean;
106
+ openEntityMode?: "side_panel" | "full_screen";
90
107
  };
91
108
  export type GetPropertyForProps<M extends Record<string, any>> = {
92
109
  propertyKey: string;
93
- propertyValue: any;
94
110
  entity: Entity<M>;
95
111
  };
96
112
  export type PropertyColumnConfig = {
97
113
  key: string;
98
- disabled: boolean;
114
+ disabled?: boolean;
99
115
  };
@@ -14,5 +14,6 @@ export interface PropertyTableCellProps<T extends CMSType> {
14
14
  entity: Entity<any>;
15
15
  path: string;
16
16
  disabled: boolean;
17
+ enablePopupIcon?: boolean;
17
18
  }
18
19
  export declare const PropertyTableCell: React.FunctionComponent<PropertyTableCellProps<any>>;
@@ -6,11 +6,10 @@ export interface PropertiesToColumnsParams<M extends Record<string, any>> {
6
6
  properties: ResolvedProperties<M>;
7
7
  sortable?: boolean;
8
8
  forceFilter?: FilterValues<keyof M extends string ? keyof M : never>;
9
- disabledFilter?: boolean;
10
9
  AdditionalHeaderWidget?: React.ComponentType<{
11
10
  property: ResolvedProperty;
12
11
  propertyKey: string;
13
12
  onHover: boolean;
14
13
  }>;
15
14
  }
16
- export declare function propertiesToColumns<M extends Record<string, any>>({ properties, sortable, forceFilter, disabledFilter, AdditionalHeaderWidget }: PropertiesToColumnsParams<M>): VirtualTableColumn[];
15
+ export declare function propertiesToColumns<M extends Record<string, any>>({ properties, sortable, forceFilter, AdditionalHeaderWidget }: PropertiesToColumnsParams<M>): VirtualTableColumn[];
@@ -11,9 +11,11 @@ type TableReferenceFieldProps = {
11
11
  title?: string;
12
12
  path: string;
13
13
  forceFilter?: FilterValues<string>;
14
+ includeId?: boolean;
15
+ includeEntityLink?: boolean;
14
16
  };
15
17
  export declare function TableReferenceField(props: TableReferenceFieldProps): import("react/jsx-runtime").JSX.Element;
16
- export declare const TableReferenceFieldSuccess: React.NamedExoticComponent<TableReferenceFieldProps & {
18
+ export declare const TableReferenceFieldInternal: React.NamedExoticComponent<TableReferenceFieldProps & {
17
19
  collection: EntityCollection;
18
20
  }>;
19
21
  export {};
@@ -2,5 +2,5 @@ export { EntityCollectionTable } from "./EntityCollectionTable";
2
2
  export type { EntityCollectionTableProps, } from "./EntityCollectionTableProps";
3
3
  export * from "./PropertyTableCell";
4
4
  export * from "./EntityCollectionRowActions";
5
- export * from "../common/useDataSourceEntityCollectionTableController";
5
+ export * from "../common/useDataSourceTableController";
6
6
  export * from "./column_utils";
@@ -2,17 +2,14 @@ import React from "react";
2
2
  import { CollectionSize } from "../../../types";
3
3
  interface CollectionTableToolbarProps {
4
4
  size: CollectionSize;
5
- filterIsSet: boolean;
6
5
  loading: boolean;
7
- forceFilter?: boolean;
8
6
  actionsStart?: React.ReactNode;
9
7
  actions?: React.ReactNode;
10
8
  title?: React.ReactNode;
11
9
  onTextSearchClick?: () => void;
12
10
  onTextSearch?: (searchString?: string) => void;
13
11
  onSizeChanged: (size: CollectionSize) => void;
14
- clearFilter?: () => void;
15
12
  textSearchLoading?: boolean;
16
13
  }
17
- export declare function CollectionTableToolbar(props: CollectionTableToolbarProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function CollectionTableToolbar({ actions, actionsStart, loading, onSizeChanged, onTextSearch, onTextSearchClick, size, textSearchLoading, title }: CollectionTableToolbarProps): import("react/jsx-runtime").JSX.Element;
18
15
  export {};
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { VirtualTableSize } from "../../VirtualTable";
2
+ import { TableSize } from "../../common/table_height";
3
3
  interface EntityTableCellProps {
4
4
  children: React.ReactNode;
5
5
  actions?: React.ReactNode;
@@ -12,7 +12,7 @@ interface EntityTableCellProps {
12
12
  error?: Error;
13
13
  allowScroll?: boolean;
14
14
  align: "right" | "left" | "center";
15
- size: VirtualTableSize;
15
+ size: TableSize;
16
16
  disabledTooltip?: string;
17
17
  width: number;
18
18
  showExpandIcon?: boolean;
@@ -2,12 +2,12 @@ import { Entity, EntityCollection } from "../../../../types";
2
2
  import { CustomFieldValidator } from "../../../../form/validation";
3
3
  import { OnCellValueChangeParams } from "../../../common";
4
4
  interface PopupFormFieldProps<M extends Record<string, any>> {
5
- entity?: Entity<M>;
6
5
  customFieldValidator?: CustomFieldValidator;
7
6
  path: string;
7
+ entityId: string;
8
8
  tableKey: string;
9
9
  propertyKey?: Extract<keyof M, string>;
10
- collection?: EntityCollection<M>;
10
+ collection?: EntityCollection<any>;
11
11
  cellRect?: DOMRect;
12
12
  open: boolean;
13
13
  onClose: () => void;
@@ -16,8 +16,11 @@ interface PopupFormFieldProps<M extends Record<string, any>> {
16
16
  * Callback when the value of a cell has been edited
17
17
  * @param params
18
18
  */
19
- onCellValueChange?: (params: OnCellValueChangeParams<any, M>) => Promise<void> | void;
19
+ onCellValueChange?: (params: OnCellValueChangeParams<any, any>) => Promise<void> | void;
20
20
  }
21
21
  export declare function PopupFormField<M extends Record<string, any>>(props: PopupFormFieldProps<M>): import("react/jsx-runtime").JSX.Element | null;
22
- export declare function PopupFormFieldInternal<M extends Record<string, any>>({ tableKey, entity: entityProp, customFieldValidator, propertyKey, collection: inputCollection, path, cellRect, open, onClose, onCellValueChange, container }: PopupFormFieldProps<M>): import("react/jsx-runtime").JSX.Element;
22
+ export declare function PopupFormFieldLoading<M extends Record<string, any>>({ tableKey, entityId, customFieldValidator, propertyKey, collection: inputCollection, path, cellRect, open, onClose, onCellValueChange, container }: PopupFormFieldProps<M>): import("react/jsx-runtime").JSX.Element | null;
23
+ export declare function PopupFormFieldInternal<M extends Record<string, any>>({ tableKey, entityId, customFieldValidator, propertyKey, collection: inputCollection, path, cellRect, open, onClose, onCellValueChange, container, entity }: PopupFormFieldProps<M> & {
24
+ entity?: Entity<M>;
25
+ }): import("react/jsx-runtime").JSX.Element;
23
26
  export {};
@@ -4,10 +4,28 @@ import { EntityCollection } from "../../types";
4
4
  * @group Components
5
5
  */
6
6
  export type EntityCollectionViewProps<M extends Record<string, any>> = {
7
- fullPath: string;
7
+ /**
8
+ * Complete path where this collection is located.
9
+ * It defaults to the collection path if not provided.
10
+ */
11
+ fullPath?: string;
12
+ /**
13
+ * Full path using navigation ids.
14
+ */
15
+ fullIdPath?: string;
16
+ /**
17
+ * If this is a subcollection, specify the parent collection ids.
18
+ */
8
19
  parentCollectionIds?: string[];
20
+ /**
21
+ * Whether this is a subcollection or not.
22
+ */
9
23
  isSubCollection?: boolean;
10
24
  className?: string;
25
+ /**
26
+ * If true, this view will store its filter and sorting status in the url params
27
+ */
28
+ updateUrl?: boolean;
11
29
  } & EntityCollection<M>;
12
30
  /**
13
31
  * This component is in charge of binding a datasource path with an {@link EntityCollection}
@@ -30,7 +48,7 @@ export type EntityCollectionViewProps<M extends Record<string, any>> = {
30
48
  *
31
49
  * @param fullPath
32
50
  * @param collection
33
- * @constructor
51
+
34
52
  * @group Components
35
53
  */
36
54
  export declare const EntityCollectionView: React.FunctionComponent<EntityCollectionViewProps<any>>;
@@ -0,0 +1,11 @@
1
+ import { EntityCollection, EntityTableController, SelectionController } from "../../types";
2
+ export type EntityCollectionViewStartActionsProps<M extends Record<string, any>> = {
3
+ collection: EntityCollection<M>;
4
+ path: string;
5
+ relativePath: string;
6
+ parentCollectionIds: string[];
7
+ selectionController: SelectionController<M>;
8
+ tableController: EntityTableController<M>;
9
+ collectionEntitiesCount: number;
10
+ };
11
+ export declare function EntityCollectionViewStartActions<M extends Record<string, any>>({ collection, relativePath, parentCollectionIds, path, selectionController, tableController, collectionEntitiesCount }: EntityCollectionViewStartActionsProps<M>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export declare function addRecentId(collectionId: string, id: string): string[];
2
+ export declare function saveSearchedIdsLocally(collectionId: string, ids: string[]): void;
3
+ export declare function getRecentIds(collectionId: string): string[];
@@ -0,0 +1,3 @@
1
+ export declare function EntityJsonPreview({ values }: {
2
+ values: object;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -2,28 +2,31 @@ import * as React from "react";
2
2
  import { Entity, EntityCollection } from "../types";
3
3
  import { PreviewSize } from "../preview";
4
4
  export type EntityPreviewProps = {
5
- size: PreviewSize;
5
+ size?: PreviewSize;
6
6
  actions?: React.ReactNode;
7
7
  collection?: EntityCollection;
8
8
  hover?: boolean;
9
- previewProperties?: string[];
10
- disabled: undefined | boolean;
9
+ previewKeys?: string[];
10
+ disabled?: boolean;
11
11
  entity: Entity<any>;
12
- includeEntityNavigation?: boolean;
12
+ includeId?: boolean;
13
+ includeTitle?: boolean;
14
+ includeEntityLink?: boolean;
15
+ includeImage?: boolean;
13
16
  onClick?: (e: React.SyntheticEvent) => void;
14
17
  };
15
18
  /**
16
19
  * This view is used to display a preview of an entity.
17
20
  * It is used by default in reference fields and whenever a reference is displayed.
18
21
  */
19
- export declare function EntityPreview({ actions, disabled, hover, collection: collectionProp, previewProperties, onClick, size, includeEntityNavigation, entity }: EntityPreviewProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function EntityPreview({ actions, disabled, hover, collection: collectionProp, previewKeys, onClick, size, includeId, includeTitle, includeEntityLink, includeImage, entity, }: EntityPreviewProps): import("react/jsx-runtime").JSX.Element;
20
23
  export type EntityPreviewContainerProps = {
21
24
  children: React.ReactNode;
22
25
  hover?: boolean;
23
26
  fullwidth?: boolean;
24
- size: PreviewSize;
27
+ size?: PreviewSize;
25
28
  className?: string;
26
29
  style?: React.CSSProperties;
27
30
  onClick?: (e: React.SyntheticEvent) => void;
28
31
  };
29
- export declare const EntityPreviewContainer: React.FC<EntityPreviewContainerProps>;
32
+ export declare const EntityPreviewContainer: React.ForwardRefExoticComponent<EntityPreviewContainerProps & React.RefAttributes<HTMLDivElement>>;
@@ -13,7 +13,7 @@ export interface ErrorViewProps {
13
13
  * @param title
14
14
  * @param error
15
15
  * @param tooltip
16
- * @constructor
16
+
17
17
  * @group Components
18
18
  */
19
19
  export declare function ErrorView({ title, error, tooltip }: ErrorViewProps): React.ReactElement;
@@ -1,21 +1,8 @@
1
1
  import React from "react";
2
- /**
3
- * Default entry view for the CMS. This component renders navigation cards
4
- * for each collection defined in the navigation.
5
- * @constructor
6
- * @group Components
7
- */
2
+ export declare const DEFAULT_GROUP_NAME = "Views";
3
+ export declare const ADMIN_GROUP_NAME = "Admin";
8
4
  export declare function DefaultHomePage({ additionalActions, additionalChildrenStart, additionalChildrenEnd }: {
9
- /**
10
- * Additional actions to be rendered in the home page, close to the search bar.
11
- */
12
5
  additionalActions?: React.ReactNode;
13
- /**
14
- * Additional children to be rendered in the beginning of the home page.
15
- */
16
6
  additionalChildrenStart?: React.ReactNode;
17
- /**
18
- * Additional children to be rendered at the end of the home page.
19
- */
20
7
  additionalChildrenEnd?: React.ReactNode;
21
8
  }): import("react/jsx-runtime").JSX.Element;