@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
@@ -0,0 +1,77 @@
1
+ import React from "react";
2
+ import { Active, CollisionDetection, DropAnimation, UniqueIdentifier } from "@dnd-kit/core";
3
+ import { NavigationEntry } from "../../types";
4
+ export declare function SortableNavigationCard({ entry, onClick }: {
5
+ entry: NavigationEntry;
6
+ onClick?: () => void;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ export declare function NavigationGroupDroppable({ id, itemIds, children, isPotentialCardDropTarget }: {
9
+ id: UniqueIdentifier;
10
+ itemIds: UniqueIdentifier[];
11
+ children: React.ReactNode;
12
+ isPotentialCardDropTarget?: boolean;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ export declare function SortableNavigationGroup({ groupName, children, disabled }: {
15
+ groupName: string;
16
+ children: React.ReactNode;
17
+ disabled?: boolean;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ export declare function useHomePageDnd({ items, setItems, disabled, onCardMovedBetweenGroups, onGroupMoved, onNewGroupDrop, onPersist }: {
20
+ items: {
21
+ name: string;
22
+ entries: NavigationEntry[];
23
+ }[];
24
+ setItems: (newItemsOrUpdater: {
25
+ name: string;
26
+ entries: NavigationEntry[];
27
+ }[] | ((currentItems: {
28
+ name: string;
29
+ entries: NavigationEntry[];
30
+ }[]) => {
31
+ name: string;
32
+ entries: NavigationEntry[];
33
+ }[])) => void;
34
+ disabled: boolean;
35
+ onCardMovedBetweenGroups?: (card: NavigationEntry) => void;
36
+ onGroupMoved?: (groupName: string, oldIndex: number, newIndex: number) => void;
37
+ onNewGroupDrop?: () => void;
38
+ onPersist?: (latest: {
39
+ name: string;
40
+ entries: NavigationEntry[];
41
+ }[]) => void;
42
+ }): {
43
+ sensors: import("@dnd-kit/core").SensorDescriptor<import("@dnd-kit/core").SensorOptions>[];
44
+ collisionDetection: CollisionDetection;
45
+ onDragStart: ({ active }: {
46
+ active: Active;
47
+ }) => void;
48
+ onDragOver: ({ active, over }: {
49
+ active: Active;
50
+ over: any;
51
+ }) => void;
52
+ onDragEnd: ({ active, over }: {
53
+ active: Active;
54
+ over: any;
55
+ }) => void;
56
+ onDragCancel: () => void;
57
+ dropAnimation: DropAnimation;
58
+ activeItemForOverlay: NavigationEntry | null;
59
+ activeGroupData: {
60
+ name: string;
61
+ entries: NavigationEntry[];
62
+ } | null;
63
+ draggingGroupId: UniqueIdentifier | null;
64
+ containers: string[];
65
+ dndKitActiveNode: Active | null;
66
+ isDraggingCardOnly: boolean;
67
+ dialogOpenForGroup: string | null;
68
+ setDialogOpenForGroup: React.Dispatch<React.SetStateAction<string | null>>;
69
+ handleRenameGroup: (oldName: string, newName: string) => void;
70
+ handleDialogClose: () => void;
71
+ isHoveringNewGroupDropZone: boolean;
72
+ setIsHoveringNewGroupDropZone: React.Dispatch<React.SetStateAction<boolean>>;
73
+ };
74
+ export declare function NewGroupDropZone({ disabled, setIsHovering }: {
75
+ disabled: boolean;
76
+ setIsHovering: (v: boolean) => void;
77
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,8 +1,10 @@
1
+ import React from "react";
1
2
  export type NavigationCardProps = {
2
3
  name: string;
3
4
  description?: string;
4
5
  actions: React.ReactNode;
5
6
  icon: React.ReactNode;
6
7
  onClick?: () => void;
8
+ shrink?: boolean;
7
9
  };
8
- export declare function NavigationCard({ name, description, icon, actions, onClick, }: NavigationCardProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare const NavigationCard: React.NamedExoticComponent<NavigationCardProps>;
@@ -1,4 +1,4 @@
1
- import { TopNavigationEntry } from "../../types";
1
+ import { NavigationEntry } from "../../types";
2
2
  /**
3
3
  * This is the component used in the home page to render a card for each
4
4
  * collection or view.
@@ -10,8 +10,9 @@ import { TopNavigationEntry } from "../../types";
10
10
  * @param name
11
11
  * @param description
12
12
  * @param onClick
13
- * @constructor
13
+
14
14
  */
15
- export declare function NavigationCardBinding({ path, collection, view, url, name, description, onClick, type }: TopNavigationEntry & {
15
+ export declare function NavigationCardBinding({ path, collection, view, url, name, description, onClick, type, shrink }: NavigationEntry & {
16
16
  onClick?: () => void;
17
+ shrink?: boolean;
17
18
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,11 @@
1
1
  import { PropsWithChildren } from "react";
2
- export declare function NavigationGroup({ children, group }: PropsWithChildren<{
2
+ export declare function NavigationGroup({ children, group, minimised, isPreview, isPotentialCardDropTarget, onEditGroup, dndDisabled, collapsed, onToggleCollapsed }: PropsWithChildren<{
3
3
  group: string | undefined;
4
+ minimised?: boolean;
5
+ isPreview?: boolean;
6
+ isPotentialCardDropTarget?: boolean;
7
+ onEditGroup?: (groupName: string) => void;
8
+ dndDisabled?: boolean;
9
+ collapsed?: boolean;
10
+ onToggleCollapsed?: () => void;
4
11
  }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ interface RenameGroupDialogProps {
2
+ open: boolean;
3
+ initialName: string;
4
+ existingGroupNames: string[];
5
+ onClose: () => void;
6
+ onRename: (newName: string) => void;
7
+ }
8
+ export declare function RenameGroupDialog({ open, initialName, existingGroupNames, onClose, onRename }: RenameGroupDialogProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export {};
@@ -0,0 +1,23 @@
1
+ import { PreviewSize } from "../preview";
2
+ import { ResolvedProperties, ResolvedProperty } from "../types";
3
+ /**
4
+ * Build a readable label for a path and resolve the property
5
+ * Supports map and array (including arrays of maps)
6
+ */
7
+ export declare function buildPropertyLabelAndGetProperty(properties: ResolvedProperties, key: string): {
8
+ label: string;
9
+ property: ResolvedProperty | undefined;
10
+ };
11
+ /**
12
+ * Improved simple layout for nested changes:
13
+ * - Map or Array-of-Map -> section header + indented rows
14
+ * - Leaf or Array-of-Primitives -> single row with label and value
15
+ */
16
+ export declare const PropertyCollectionView: ({ data, properties, baseKey, suppressHeader, size }: {
17
+ data: any;
18
+ properties: ResolvedProperties;
19
+ baseKey?: string;
20
+ suppressHeader?: boolean;
21
+ size?: PreviewSize;
22
+ }) => import("react/jsx-runtime").JSX.Element | null;
23
+ export declare function buildDataFromPaths(values: object, paths: string[]): object;
@@ -1,4 +1,5 @@
1
1
  import { PropertyConfig } from "../types";
2
- export declare function PropertyConfigBadge({ propertyConfig }: {
2
+ export declare function PropertyConfigBadge({ propertyConfig, disabled }: {
3
3
  propertyConfig: PropertyConfig | undefined;
4
+ disabled?: boolean;
4
5
  }): React.ReactNode;
@@ -0,0 +1,8 @@
1
+ export declare function PropertyIdCopyTooltip({ propertyKey, className, children, }: {
2
+ propertyKey: string;
3
+ className?: string;
4
+ children: React.ReactNode;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export declare function PropertyIdCopyTooltipContent({ propertyKey }: {
7
+ propertyKey: string;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -21,8 +21,10 @@ export type ReferenceWidgetProps<M extends Record<string, any>> = {
21
21
  forceFilter?: FilterValues<string>;
22
22
  size: PreviewSize;
23
23
  className?: string;
24
+ includeId?: boolean;
25
+ includeEntityLink?: boolean;
24
26
  };
25
27
  /**
26
28
  * This field allows selecting reference/s.
27
29
  */
28
- export declare function ReferenceWidget<M extends Record<string, any>>({ name, multiselect, path, disabled, value, onReferenceSelected, onMultipleReferenceSelected, previewProperties, forceFilter, size, className }: ReferenceWidgetProps<M>): import("react/jsx-runtime").JSX.Element;
30
+ export declare function ReferenceWidget<M extends Record<string, any>>({ name, multiselect, path, disabled, value, onReferenceSelected, onMultipleReferenceSelected, previewProperties, forceFilter, size, className, includeId, includeEntityLink }: ReferenceWidgetProps<M>): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { CollectionSize, Entity, EntityTableController, FilterValues } from "../../types";
3
3
  import { CellRendererParams, VirtualTableColumn } from "../VirtualTable";
4
- import { OnCellValueChange, OnColumnResizeParams } from "../common/types";
4
+ import { OnCellValueChange, OnColumnResizeParams } from "../common";
5
5
  export type SelectableTableProps<M extends Record<string, any>> = {
6
6
  /**
7
7
  * Callback when a cell value changes.
@@ -34,7 +34,7 @@ export type SelectableTableProps<M extends Record<string, any>> = {
34
34
  hoverRow?: boolean;
35
35
  /**
36
36
  * Controller holding the logic for the table
37
- * {@link useDataSourceEntityCollectionTableController}
37
+ * {@link useDataSourceTableController}
38
38
  * {@link EntityTableController}
39
39
  */
40
40
  tableController: EntityTableController<M>;
@@ -44,6 +44,16 @@ export type SelectableTableProps<M extends Record<string, any>> = {
44
44
  forceFilter?: FilterValues<keyof M extends string ? keyof M : never>;
45
45
  highlightedRow?: (data: Entity<M>) => boolean;
46
46
  size?: CollectionSize;
47
+ initialScroll?: number;
48
+ /**
49
+ * Callback when the table is scrolled
50
+ * @param props
51
+ */
52
+ onScroll?: (props: {
53
+ scrollDirection: "forward" | "backward";
54
+ scrollOffset: number;
55
+ scrollUpdateWasRequested: boolean;
56
+ }) => void;
47
57
  emptyComponent?: React.ReactNode;
48
58
  endAdornment?: React.ReactNode;
49
59
  AddColumnComponent?: React.ComponentType;
@@ -65,11 +75,11 @@ export type SelectableTableProps<M extends Record<string, any>> = {
65
75
  *
66
76
  * The data displayed in the table is managed by a {@link EntityTableController}.
67
77
  * You can build the default, bound to a path in the datasource, by using the hook
68
- * {@link useDataSourceEntityCollectionTableController}
78
+ * {@link useDataSourceTableController}
69
79
  *
70
80
  * @see EntityCollectionTableProps
71
81
  * @see EntityCollectionView
72
82
  * @see VirtualTable
73
83
  * @group Components
74
84
  */
75
- export declare const SelectableTable: React.NamedExoticComponent<SelectableTableProps<any>>;
85
+ export declare const SelectableTable: <M extends Record<string, any>>({ onValueChange, cellRenderer, onEntityClick, onColumnResize, hoverRow, size, inlineEditing, tableController: { data, dataLoading, noMoreToLoad, dataLoadingError, filterValues, setFilterValues, sortBy, setSortBy, itemCount, setItemCount, pageSize, paginationEnabled, checkFilterCombination, setPopupCell }, filterable, onScroll, initialScroll, emptyComponent, columns, forceFilter, highlightedRow, endAdornment, AddColumnComponent }: SelectableTableProps<M>) => import("react/jsx-runtime").JSX.Element;
@@ -6,9 +6,10 @@ interface ReferenceFilterFieldProps {
6
6
  isArray?: boolean;
7
7
  path?: string;
8
8
  title?: string;
9
+ includeId?: boolean;
9
10
  previewProperties?: string[];
10
11
  hidden: boolean;
11
12
  setHidden: (hidden: boolean) => void;
12
13
  }
13
- export declare function ReferenceFilterField({ name, value, setValue, isArray, path, title, previewProperties, setHidden }: ReferenceFilterFieldProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function ReferenceFilterField({ value, setValue, isArray, path, includeId, previewProperties, setHidden }: ReferenceFilterFieldProps): import("react/jsx-runtime").JSX.Element;
14
15
  export {};
@@ -0,0 +1,8 @@
1
+ export interface UnsavedChangesDialogProps {
2
+ open: boolean;
3
+ body?: React.ReactNode;
4
+ title?: string;
5
+ handleOk: () => void;
6
+ handleCancel: () => void;
7
+ }
8
+ export declare function UnsavedChangesDialog({ open, handleOk, handleCancel, body, title }: UnsavedChangesDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { User } from "../types";
2
+ /**
3
+ * Component to render a single user with name and email
4
+ */
5
+ export declare function UserDisplay({ user, }: {
6
+ user: User | null;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -25,10 +25,6 @@ export interface VirtualTableProps<T extends Record<string, any>> {
25
25
  * The renderer receives props `{ cellData, columns, column, columnIndex, rowData, rowIndex, container, isScrolling }`
26
26
  */
27
27
  cellRenderer: React.ComponentType<CellRendererParams<T>>;
28
- /**
29
- * If enabled, content is loaded in batch
30
- */
31
- paginationEnabled?: boolean;
32
28
  /**
33
29
  * Set this callback if you want to support some combinations
34
30
  * of filter combinations only.
@@ -40,6 +36,10 @@ export interface VirtualTableProps<T extends Record<string, any>> {
40
36
  * A callback function when scrolling the table to near the end
41
37
  */
42
38
  onEndReached?: () => void;
39
+ /**
40
+ * Offset in pixels where the onEndReached callback is triggered
41
+ */
42
+ endOffset?: number;
43
43
  /**
44
44
  * When the pagination should be reset. E.g. the filters or sorting
45
45
  * has been reset.
@@ -56,7 +56,7 @@ export interface VirtualTableProps<T extends Record<string, any>> {
56
56
  /**
57
57
  * Size of the table
58
58
  */
59
- size?: VirtualTableSize;
59
+ rowHeight?: number;
60
60
  /**
61
61
  * In case this table should have some filters set by default
62
62
  */
@@ -66,6 +66,15 @@ export interface VirtualTableProps<T extends Record<string, any>> {
66
66
  * @param filter
67
67
  */
68
68
  onFilterUpdate?: (filter?: VirtualTableFilterValues<any> | undefined) => void;
69
+ /**
70
+ * Callback when the table is scrolled
71
+ * @param props
72
+ */
73
+ onScroll?: (props: {
74
+ scrollDirection: "forward" | "backward";
75
+ scrollOffset: number;
76
+ scrollUpdateWasRequested: boolean;
77
+ }) => void;
69
78
  /**
70
79
  * Default sort applied to this collection
71
80
  */
@@ -106,6 +115,10 @@ export interface VirtualTableProps<T extends Record<string, any>> {
106
115
  * Class name applied to the table
107
116
  */
108
117
  className?: string;
118
+ /**
119
+ * Style applied to the table
120
+ */
121
+ style?: React.CSSProperties;
109
122
  /**
110
123
  * Component rendered at the end of the table, after scroll
111
124
  */
@@ -115,8 +128,12 @@ export interface VirtualTableProps<T extends Record<string, any>> {
115
128
  * @param column
116
129
  */
117
130
  AddColumnComponent?: React.ComponentType;
131
+ /**
132
+ * Initial scroll position
133
+ */
134
+ initialScroll?: number;
118
135
  }
119
- export type CellRendererParams<T extends any = any> = {
136
+ export type CellRendererParams<T = any> = {
120
137
  column: VirtualTableColumn;
121
138
  columns: VirtualTableColumn[];
122
139
  columnIndex: number;
@@ -129,7 +146,7 @@ export type CellRendererParams<T extends any = any> = {
129
146
  * @see Table
130
147
  * @group Components
131
148
  */
132
- export interface VirtualTableColumn<CustomProps extends any = any> {
149
+ export interface VirtualTableColumn<CustomProps = any> {
133
150
  /**
134
151
  * Data key for the cell value, could be "a.b.c"
135
152
  */
@@ -190,11 +207,6 @@ export type OnVirtualTableColumnResizeParams = {
190
207
  key: string;
191
208
  column: VirtualTableColumn;
192
209
  };
193
- /**
194
- * @see Table
195
- * @group Components
196
- */
197
- export type VirtualTableSize = "xs" | "s" | "m" | "l" | "xl";
198
210
  /**
199
211
  * @see Table
200
212
  * @group Components
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ export declare function VirtualTableUserSelect(props: {
3
+ name: string;
4
+ error: Error | undefined;
5
+ multiple: boolean;
6
+ disabled: boolean;
7
+ small: boolean;
8
+ internalValue: string | string[] | undefined;
9
+ updateValue: (newValue: (string | string[] | null)) => void;
10
+ focused: boolean;
11
+ onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
12
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import { CellRendererParams, OnRowClickParams, OnVirtualTableColumnResizeParams, VirtualTableColumn, VirtualTableFilterValues, VirtualTableSize, VirtualTableWhereFilterOp } from "./VirtualTableProps";
2
+ import { CellRendererParams, OnRowClickParams, OnVirtualTableColumnResizeParams, VirtualTableColumn, VirtualTableFilterValues, VirtualTableWhereFilterOp } from "./VirtualTableProps";
3
3
  import { FilterFormFieldProps } from "./VirtualTableHeader";
4
4
  export type VirtualTableRowProps<T> = {
5
5
  style: any;
6
- size: VirtualTableSize;
6
+ rowHeight: number;
7
7
  rowData: T;
8
8
  rowIndex: number;
9
9
  onRowClick?: (props: OnRowClickParams<any>) => void;
@@ -14,7 +14,7 @@ export type VirtualTableRowProps<T> = {
14
14
  };
15
15
  export type VirtualTableContextProps<T extends any> = {
16
16
  data?: T[];
17
- size?: VirtualTableSize;
17
+ rowHeight?: number;
18
18
  columns: VirtualTableColumn[];
19
19
  cellRenderer: React.ComponentType<CellRendererParams<T>>;
20
20
  currentSort: "asc" | "desc" | undefined;
@@ -1,6 +1,4 @@
1
- import { EntityAction } from "../../../types";
1
+ import { EntityAction } from "../../types";
2
2
  export declare const editEntityAction: EntityAction;
3
3
  export declare const copyEntityAction: EntityAction;
4
- export declare const archiveEntityAction: EntityAction;
5
- export declare const openWebsiteAction: EntityAction;
6
4
  export declare const deleteEntityAction: EntityAction;
@@ -1,5 +1,6 @@
1
1
  export * from "./types";
2
2
  export * from "./useDebouncedData";
3
3
  export * from "./useColumnsIds";
4
- export * from "./useDataSourceEntityCollectionTableController";
4
+ export * from "./useDataSourceTableController";
5
5
  export * from "./useTableSearchHelper";
6
+ export * from "./default_entity_actions";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @group Components
3
+ */
4
+ export type TableSize = "xs" | "s" | "m" | "l" | "xl";
5
+ export declare function getRowHeight(size: TableSize): number;
@@ -1,4 +1,4 @@
1
- import { CollectionSize, Entity, FireCMSContext, ResolvedProperty, SelectedCellProps } from "../../types";
1
+ import { CollectionSize, ResolvedProperty, SelectedCellProps } from "../../types";
2
2
  export type EntityCollectionTableController<M extends Record<string, any>> = {
3
3
  /**
4
4
  * This cell is displayed as selected
@@ -28,14 +28,12 @@ export type EntityCollectionTableController<M extends Record<string, any>> = {
28
28
  * Props passed in a callback when the content of a cell in a table has been edited
29
29
  * @group Collection components
30
30
  */
31
- export interface OnCellValueChangeParams<T = any, M extends Record<string, any> = any> {
31
+ export interface OnCellValueChangeParams<T = any, D = any> {
32
32
  value: T;
33
33
  propertyKey: string;
34
- entity: Entity<M>;
34
+ data?: D;
35
35
  onValueUpdated: () => void;
36
- setError: (e: Error) => void;
37
- fullPath: string;
38
- context: FireCMSContext;
36
+ setError: (e: Error | undefined) => void;
39
37
  }
40
38
  /**
41
39
  * @group Collection components
@@ -1,4 +1,6 @@
1
- import { ResolvedEntityCollection, ResolvedProperty } from "../../types";
1
+ import { EntityCollection, ResolvedEntityCollection, ResolvedProperty } from "../../types";
2
2
  import { PropertyColumnConfig } from "../EntityCollectionTable/EntityCollectionTableProps";
3
+ export declare const COLLECTION_GROUP_PARENT_ID = "collectionGroupParent";
3
4
  export declare function useColumnIds<M extends Record<string, any>>(collection: ResolvedEntityCollection<M>, includeSubcollections: boolean): PropertyColumnConfig[];
4
5
  export declare function getColumnKeysForProperty(property: ResolvedProperty, key: string, disabled?: boolean): PropertyColumnConfig[];
6
+ export declare function getFormFieldKeys(collection: EntityCollection): string[];
@@ -1,5 +1,6 @@
1
1
  import { Entity, EntityCollection, EntityTableController, FilterValues, User } from "../../types";
2
- export type DataSourceEntityCollectionTableControllerProps<M extends Record<string, any> = any> = {
2
+ import { ScrollRestorationController } from "./useScrollRestoration";
3
+ export type DataSourceTableControllerProps<M extends Record<string, any> = any> = {
3
4
  /**
4
5
  * Full path where the data of this table is located
5
6
  */
@@ -14,7 +15,15 @@ export type DataSourceEntityCollectionTableControllerProps<M extends Record<stri
14
15
  */
15
16
  entitiesDisplayedFirst?: Entity<M>[];
16
17
  lastDeleteTimestamp?: number;
18
+ /**
19
+ * Force filter to be applied to the table.
20
+ */
17
21
  forceFilter?: FilterValues<string>;
22
+ scrollRestoration?: ScrollRestorationController;
23
+ /**
24
+ * When set to true the filters and sort will be updated in the URL
25
+ */
26
+ updateUrl?: boolean;
18
27
  };
19
28
  /**
20
29
  * Use this hook to build a controller for the {@link EntityCollectionTable}.
@@ -25,8 +34,10 @@ export type DataSourceEntityCollectionTableControllerProps<M extends Record<stri
25
34
  *
26
35
  * @param fullPath
27
36
  * @param collection
37
+ * @param scrollRestoration
28
38
  * @param entitiesDisplayedFirst
29
39
  * @param lastDeleteTimestamp
30
40
  * @param forceFilterFromProps
41
+ * @param updateUrl
31
42
  */
32
- export declare function useDataSourceEntityCollectionTableController<M extends Record<string, any> = any, UserType extends User = User>({ fullPath, collection, entitiesDisplayedFirst, lastDeleteTimestamp, forceFilter: forceFilterFromProps, }: DataSourceEntityCollectionTableControllerProps<M>): EntityTableController<M>;
43
+ export declare function useDataSourceTableController<M extends Record<string, any> = any, USER extends User = User>({ fullPath, collection, scrollRestoration, entitiesDisplayedFirst, lastDeleteTimestamp, forceFilter: forceFilterFromProps, updateUrl }: DataSourceTableControllerProps<M>): EntityTableController<M>;
@@ -0,0 +1 @@
1
+ export declare function useDebounceCallback<T extends (...args: any[]) => any>(callback?: T, delay?: number): T;
@@ -0,0 +1,14 @@
1
+ import { Entity, FilterValues } from "../../types";
2
+ export type ScrollRestorationController = {
3
+ getCollectionScroll: (fullPath: string, filters?: FilterValues<any>) => {
4
+ scrollOffset: number;
5
+ data: Entity<any>[];
6
+ } | undefined;
7
+ updateCollectionScroll: (props: {
8
+ fullPath: string;
9
+ scrollOffset: number;
10
+ filters?: FilterValues<any>;
11
+ data: Entity<any>[];
12
+ }) => void;
13
+ };
14
+ export declare function useScrollRestoration(): ScrollRestorationController;
@@ -8,18 +8,21 @@ export { CircularProgressCenter } from "./CircularProgressCenter";
8
8
  export * from "./common";
9
9
  export * from "./HomePage";
10
10
  export * from "./SelectableTable/SelectableTable";
11
+ export * from "./SelectableTable/SelectableTableContext";
11
12
  export * from "./EntityCollectionView/EntityCollectionView";
12
13
  export * from "./EntityCollectionView/EntityCollectionViewActions";
13
14
  export * from "./EntityCollectionView/useSelectionController";
14
15
  export * from "./PropertyConfigBadge";
16
+ export * from "./PropertyIdCopyTooltip";
15
17
  export * from "./EntityCollectionTable";
16
18
  export * from "./NotFoundPage";
17
19
  export * from "./VirtualTable";
18
20
  export * from "./ErrorBoundary";
19
- export * from "./DeleteConfirmationDialog";
21
+ export * from "./ConfirmationDialog";
20
22
  export * from "./FireCMSLogo";
21
- export * from "./FireCMSAppBar";
23
+ export * from "../core/DefaultAppBar";
22
24
  export * from "./ArrayContainer";
23
25
  export * from "./ReferenceWidget";
24
26
  export * from "./SearchIconsView";
25
27
  export * from "./FieldCaption";
28
+ export * from "./EntityPreview";
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { BreadcrumbsController } from "../hooks/useBreadcrumbsController";
3
+ export declare const BreadcrumbContext: React.Context<BreadcrumbsController>;
4
+ interface BreadcrumbsProviderProps {
5
+ children: React.ReactNode;
6
+ }
7
+ export declare const BreadcrumbsProvider: React.FC<BreadcrumbsProviderProps>;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { InternalUserManagement } from "../types";
3
+ export declare const InternalUserManagementContext: React.Context<InternalUserManagement<any>>;
@@ -0,0 +1,29 @@
1
+ import React from "react";
2
+ import { User } from "../types";
3
+ export type DefaultAppBarProps<ADDITIONAL_PROPS = object> = {
4
+ /**
5
+ * The content of the app bar, usually a title or logo. This includes a link to the home page.
6
+ */
7
+ title?: React.ReactNode;
8
+ /**
9
+ * A component that gets rendered on the upper side to the end of the main toolbar
10
+ */
11
+ endAdornment?: React.ReactNode;
12
+ /**
13
+ * A component that gets rendered on the upper side to the start of the main toolbar
14
+ */
15
+ startAdornment?: React.ReactNode;
16
+ dropDownActions?: React.ReactNode;
17
+ includeModeToggle?: boolean;
18
+ className?: string;
19
+ style?: React.CSSProperties;
20
+ logo?: string;
21
+ user?: User;
22
+ } & ADDITIONAL_PROPS;
23
+ /**
24
+ * This component renders the main app bar of FireCMS.
25
+ * You will likely not need to use this component directly.
26
+ *
27
+
28
+ */
29
+ export declare const DefaultAppBar: ({ title, endAdornment, startAdornment, dropDownActions, includeModeToggle, className, style, user: userProp, logo: logoProp, }: DefaultAppBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ /**
3
+ * Default drawer used in the CMS
4
+ * @group Core
5
+ */
6
+ export declare function DefaultDrawer({ className, style, }: {
7
+ className?: string;
8
+ style?: React.CSSProperties;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ /**
11
+ * This is the logo displayed in the drawer
12
+ * It expands when the drawer is open.
13
+ *
14
+ * @param logo
15
+
16
+ */
17
+ export declare function DrawerLogo({ logo }: {
18
+ logo?: string;
19
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export declare function DrawerNavigationItem({ name, icon, drawerOpen, adminMenuOpen, tooltipsOpen, url, onClick }: {
3
+ icon: React.ReactElement;
4
+ name: string;
5
+ tooltipsOpen: boolean;
6
+ drawerOpen: boolean;
7
+ adminMenuOpen?: boolean;
8
+ url: string;
9
+ onClick?: () => void;
10
+ }): import("react/jsx-runtime").JSX.Element;