@firecms/core 3.0.0-canary.99 → 3.0.0-rc.2

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 (371) hide show
  1. package/README.md +2 -2
  2. package/dist/app/Drawer.d.ts +0 -1
  3. package/dist/app/Scaffold.d.ts +4 -0
  4. package/dist/components/ArrayContainer.d.ts +31 -12
  5. package/dist/components/{DeleteConfirmationDialog.d.ts → ConfirmationDialog.d.ts} +1 -1
  6. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +3 -1
  7. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
  8. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +17 -3
  9. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +1 -1
  10. package/dist/components/EntityCollectionTable/index.d.ts +1 -1
  11. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +6 -3
  12. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +8 -0
  13. package/dist/components/EntityCollectionView/utils.d.ts +3 -0
  14. package/dist/components/EntityJsonPreview.d.ts +3 -0
  15. package/dist/components/EntityPreview.d.ts +8 -6
  16. package/dist/components/HomePage/DefaultHomePage.d.ts +2 -15
  17. package/dist/components/HomePage/HomePageDnD.d.ts +76 -0
  18. package/dist/components/HomePage/NavigationCard.d.ts +3 -1
  19. package/dist/components/HomePage/NavigationCardBinding.d.ts +3 -2
  20. package/dist/components/HomePage/NavigationGroup.d.ts +8 -1
  21. package/dist/components/HomePage/RenameGroupDialog.d.ts +9 -0
  22. package/dist/components/PropertyConfigBadge.d.ts +2 -1
  23. package/dist/components/PropertyIdCopyTooltip.d.ts +8 -0
  24. package/dist/components/SelectableTable/SelectableTable.d.ts +13 -3
  25. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +1 -1
  26. package/dist/components/UnsavedChangesDialog.d.ts +8 -0
  27. package/dist/components/UserDisplay.d.ts +7 -0
  28. package/dist/components/VirtualTable/VirtualTableProps.d.ts +11 -2
  29. package/dist/components/VirtualTable/fields/VirtualTableUserSelect.d.ts +12 -0
  30. package/dist/components/common/default_entity_actions.d.ts +0 -2
  31. package/dist/components/common/index.d.ts +1 -1
  32. package/dist/components/common/useColumnsIds.d.ts +1 -0
  33. package/dist/components/common/{useDataSourceEntityCollectionTableController.d.ts → useDataSourceTableController.d.ts} +10 -2
  34. package/dist/components/common/useDebouncedCallback.d.ts +1 -0
  35. package/dist/components/common/useScrollRestoration.d.ts +14 -0
  36. package/dist/components/index.d.ts +3 -1
  37. package/dist/contexts/BreacrumbsContext.d.ts +8 -0
  38. package/dist/contexts/InternalUserManagementContext.d.ts +3 -0
  39. package/dist/core/DefaultAppBar.d.ts +8 -2
  40. package/dist/core/DrawerNavigationItem.d.ts +2 -1
  41. package/dist/core/EntityEditView.d.ts +40 -22
  42. package/dist/core/EntityEditViewFormActions.d.ts +2 -0
  43. package/dist/core/FireCMS.d.ts +2 -3
  44. package/dist/core/FireCMSRouter.d.ts +4 -0
  45. package/dist/core/NavigationRoutes.d.ts +0 -1
  46. package/dist/core/SideDialogs.d.ts +4 -2
  47. package/dist/core/field_configs.d.ts +1 -1
  48. package/dist/core/index.d.ts +2 -1
  49. package/dist/form/EntityForm.d.ts +50 -0
  50. package/dist/form/EntityFormActions.d.ts +21 -0
  51. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  52. package/dist/form/components/FormEntry.d.ts +6 -0
  53. package/dist/form/components/FormLayout.d.ts +5 -0
  54. package/dist/form/components/LabelWithIcon.d.ts +1 -1
  55. package/dist/form/components/LabelWithIconAndTooltip.d.ts +15 -0
  56. package/dist/form/components/index.d.ts +3 -1
  57. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +1 -1
  58. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +1 -1
  59. package/dist/form/field_bindings/BlockFieldBinding.d.ts +1 -1
  60. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
  61. package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
  62. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +11 -0
  63. package/dist/form/field_bindings/{MultiSelectBinding.d.ts → MultiSelectFieldBinding.d.ts} +1 -1
  64. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +1 -1
  65. package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +9 -0
  66. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -2
  67. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +1 -1
  68. package/dist/form/field_bindings/SelectFieldBinding.d.ts +1 -1
  69. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +4 -10
  70. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +1 -2
  71. package/dist/form/field_bindings/TextFieldBinding.d.ts +1 -1
  72. package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +12 -0
  73. package/dist/form/index.d.ts +17 -16
  74. package/dist/form/useClearRestoreValue.d.ts +2 -2
  75. package/dist/hooks/data/delete.d.ts +4 -4
  76. package/dist/hooks/data/save.d.ts +3 -3
  77. package/dist/hooks/data/useCollectionFetch.d.ts +1 -1
  78. package/dist/hooks/data/useEntityFetch.d.ts +4 -3
  79. package/dist/hooks/index.d.ts +2 -0
  80. package/dist/hooks/useAuthController.d.ts +1 -1
  81. package/dist/hooks/useBreadcrumbsController.d.ts +26 -0
  82. package/dist/hooks/useBuildNavigationController.d.ts +57 -12
  83. package/dist/hooks/useCollapsedGroups.d.ts +9 -0
  84. package/dist/hooks/useFireCMSContext.d.ts +1 -1
  85. package/dist/hooks/useInternalUserManagementController.d.ts +12 -0
  86. package/dist/hooks/useModeController.d.ts +1 -2
  87. package/dist/hooks/useProjectLog.d.ts +7 -1
  88. package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
  89. package/dist/hooks/useValidateAuthenticator.d.ts +3 -3
  90. package/dist/index.es.js +20480 -14434
  91. package/dist/index.es.js.map +1 -1
  92. package/dist/index.umd.js +20250 -14209
  93. package/dist/index.umd.js.map +1 -1
  94. package/dist/internal/useBuildDataSource.d.ts +3 -2
  95. package/dist/internal/useBuildSideEntityController.d.ts +3 -3
  96. package/dist/internal/useUnsavedChangesDialog.d.ts +7 -9
  97. package/dist/preview/PropertyPreviewProps.d.ts +1 -1
  98. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  99. package/dist/preview/components/ReferencePreview.d.ts +2 -2
  100. package/dist/preview/components/UserPreview.d.ts +8 -0
  101. package/dist/preview/index.d.ts +1 -0
  102. package/dist/preview/util.d.ts +3 -3
  103. package/dist/routes/CustomCMSRoute.d.ts +4 -0
  104. package/dist/routes/FireCMSRoute.d.ts +1 -0
  105. package/dist/routes/HomePageRoute.d.ts +3 -0
  106. package/dist/types/analytics.d.ts +1 -1
  107. package/dist/types/auth.d.ts +7 -9
  108. package/dist/types/collections.d.ts +88 -25
  109. package/dist/types/customization_controller.d.ts +8 -0
  110. package/dist/types/datasource.d.ts +19 -17
  111. package/dist/types/dialogs_controller.d.ts +7 -3
  112. package/dist/types/entities.d.ts +7 -2
  113. package/dist/types/entity_actions.d.ts +58 -8
  114. package/dist/types/entity_callbacks.d.ts +16 -16
  115. package/dist/types/entity_overrides.d.ts +2 -2
  116. package/dist/types/export_import.d.ts +4 -4
  117. package/dist/types/fields.d.ts +43 -17
  118. package/dist/types/firecms.d.ts +31 -3
  119. package/dist/types/firecms_context.d.ts +17 -1
  120. package/dist/types/index.d.ts +1 -0
  121. package/dist/types/internal_user_management.d.ts +20 -0
  122. package/dist/types/navigation.d.ts +60 -17
  123. package/dist/types/permissions.d.ts +4 -4
  124. package/dist/types/plugins.d.ts +44 -9
  125. package/dist/types/properties.d.ts +74 -22
  126. package/dist/types/property_config.d.ts +1 -3
  127. package/dist/types/roles.d.ts +3 -0
  128. package/dist/types/side_dialogs_controller.d.ts +10 -0
  129. package/dist/types/side_entity_controller.d.ts +14 -1
  130. package/dist/types/storage.d.ts +75 -0
  131. package/dist/types/user.d.ts +2 -1
  132. package/dist/util/builders.d.ts +3 -3
  133. package/dist/util/callbacks.d.ts +2 -0
  134. package/dist/util/createFormexStub.d.ts +2 -0
  135. package/dist/util/entities.d.ts +2 -2
  136. package/dist/util/entity_actions.d.ts +2 -0
  137. package/dist/util/entity_cache.d.ts +23 -0
  138. package/dist/util/icon_synonyms.d.ts +0 -1
  139. package/dist/util/icons.d.ts +5 -2
  140. package/dist/util/index.d.ts +3 -0
  141. package/dist/util/navigation_from_path.d.ts +10 -1
  142. package/dist/util/navigation_utils.d.ts +13 -1
  143. package/dist/util/objects.d.ts +2 -1
  144. package/dist/util/permissions.d.ts +4 -4
  145. package/dist/util/property_utils.d.ts +4 -4
  146. package/dist/util/references.d.ts +2 -2
  147. package/dist/util/resolutions.d.ts +30 -6
  148. package/dist/util/storage.d.ts +1 -1
  149. package/dist/util/useStorageUploadController.d.ts +2 -2
  150. package/package.json +133 -125
  151. package/src/app/Drawer.tsx +0 -1
  152. package/src/app/Scaffold.tsx +33 -29
  153. package/src/components/ArrayContainer.tsx +447 -229
  154. package/src/components/CircularProgressCenter.tsx +1 -1
  155. package/src/components/ClearFilterSortButton.tsx +1 -1
  156. package/src/components/{DeleteConfirmationDialog.tsx → ConfirmationDialog.tsx} +12 -11
  157. package/src/components/DeleteEntityDialog.tsx +13 -20
  158. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +59 -25
  159. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +23 -17
  160. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +20 -3
  161. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +47 -9
  162. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +21 -16
  163. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +6 -12
  164. package/src/components/EntityCollectionTable/index.tsx +1 -1
  165. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +6 -6
  166. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +35 -26
  167. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +20 -8
  168. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +132 -101
  169. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +9 -9
  170. package/src/components/EntityCollectionView/EntityCollectionView.tsx +178 -85
  171. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +7 -4
  172. package/src/components/EntityCollectionView/useSelectionController.tsx +5 -4
  173. package/src/components/EntityCollectionView/utils.ts +19 -0
  174. package/src/components/EntityJsonPreview.tsx +66 -0
  175. package/src/components/EntityPreview.tsx +75 -57
  176. package/src/components/EntityView.tsx +8 -5
  177. package/src/components/ErrorView.tsx +3 -3
  178. package/src/components/FireCMSLogo.tsx +7 -51
  179. package/src/components/HomePage/DefaultHomePage.tsx +506 -161
  180. package/src/components/HomePage/FavouritesView.tsx +9 -14
  181. package/src/components/HomePage/HomePageDnD.tsx +600 -0
  182. package/src/components/HomePage/NavigationCard.tsx +47 -38
  183. package/src/components/HomePage/NavigationCardBinding.tsx +16 -15
  184. package/src/components/HomePage/NavigationGroup.tsx +144 -30
  185. package/src/components/HomePage/RenameGroupDialog.tsx +123 -0
  186. package/src/components/HomePage/SmallNavigationCard.tsx +1 -2
  187. package/src/components/NotFoundPage.tsx +2 -2
  188. package/src/components/PropertyConfigBadge.tsx +10 -4
  189. package/src/components/PropertyIdCopyTooltip.tsx +47 -0
  190. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +22 -13
  191. package/src/components/SearchIconsView.tsx +2 -2
  192. package/src/components/SelectableTable/SelectableTable.tsx +154 -142
  193. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +4 -2
  194. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +10 -8
  195. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +60 -11
  196. package/src/components/UnsavedChangesDialog.tsx +46 -0
  197. package/src/components/UserDisplay.tsx +55 -0
  198. package/src/components/VirtualTable/VirtualTable.tsx +65 -44
  199. package/src/components/VirtualTable/VirtualTableCell.tsx +0 -8
  200. package/src/components/VirtualTable/VirtualTableHeader.tsx +8 -8
  201. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +1 -1
  202. package/src/components/VirtualTable/VirtualTableProps.tsx +12 -2
  203. package/src/components/VirtualTable/VirtualTableRow.tsx +1 -1
  204. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +4 -4
  205. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +2 -2
  206. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +2 -1
  207. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +16 -28
  208. package/src/components/VirtualTable/fields/VirtualTableUserSelect.tsx +99 -0
  209. package/src/components/common/default_entity_actions.tsx +62 -42
  210. package/src/components/common/index.ts +1 -1
  211. package/src/components/common/useColumnsIds.tsx +2 -9
  212. package/src/components/common/useDataSourceTableController.tsx +420 -0
  213. package/src/components/common/useDebouncedCallback.tsx +20 -0
  214. package/src/components/common/useScrollRestoration.tsx +68 -0
  215. package/src/components/common/useTableSearchHelper.ts +1 -0
  216. package/src/components/index.tsx +4 -1
  217. package/src/contexts/BreacrumbsContext.tsx +38 -0
  218. package/src/contexts/DialogsProvider.tsx +3 -2
  219. package/src/contexts/InternalUserManagementContext.tsx +4 -0
  220. package/src/contexts/ModeController.tsx +1 -3
  221. package/src/contexts/SnackbarProvider.tsx +2 -0
  222. package/src/core/DefaultAppBar.tsx +124 -85
  223. package/src/core/DefaultDrawer.tsx +30 -22
  224. package/src/core/DrawerNavigationItem.tsx +32 -28
  225. package/src/core/EntityEditView.tsx +388 -995
  226. package/src/core/EntityEditViewFormActions.tsx +329 -0
  227. package/src/core/EntitySidePanel.tsx +88 -20
  228. package/src/core/FireCMS.tsx +58 -28
  229. package/src/core/FireCMSRouter.tsx +17 -0
  230. package/src/core/NavigationRoutes.tsx +23 -32
  231. package/src/core/SideDialogs.tsx +22 -12
  232. package/src/core/field_configs.tsx +39 -11
  233. package/src/core/index.tsx +4 -2
  234. package/src/form/EntityForm.tsx +814 -0
  235. package/src/form/EntityFormActions.tsx +211 -0
  236. package/src/form/PropertyFieldBinding.tsx +59 -41
  237. package/src/form/components/CustomIdField.tsx +9 -3
  238. package/src/form/components/FieldHelperText.tsx +1 -1
  239. package/src/form/components/FormEntry.tsx +22 -0
  240. package/src/form/components/FormLayout.tsx +16 -0
  241. package/src/form/components/LabelWithIcon.tsx +30 -19
  242. package/src/form/components/LabelWithIconAndTooltip.tsx +28 -0
  243. package/src/form/components/StorageItemPreview.tsx +5 -4
  244. package/src/form/components/StorageUploadProgress.tsx +2 -3
  245. package/src/form/components/index.tsx +3 -1
  246. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +30 -18
  247. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +47 -36
  248. package/src/form/field_bindings/BlockFieldBinding.tsx +55 -33
  249. package/src/form/field_bindings/DateTimeFieldBinding.tsx +18 -14
  250. package/src/form/field_bindings/KeyValueFieldBinding.tsx +19 -15
  251. package/src/form/field_bindings/MapFieldBinding.tsx +72 -62
  252. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +159 -0
  253. package/src/form/field_bindings/{MultiSelectBinding.tsx → MultiSelectFieldBinding.tsx} +26 -21
  254. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +10 -8
  255. package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +135 -0
  256. package/src/form/field_bindings/ReferenceFieldBinding.tsx +28 -19
  257. package/src/form/field_bindings/RepeatFieldBinding.tsx +56 -32
  258. package/src/form/field_bindings/SelectFieldBinding.tsx +22 -13
  259. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +247 -168
  260. package/src/form/field_bindings/SwitchFieldBinding.tsx +29 -24
  261. package/src/form/field_bindings/TextFieldBinding.tsx +28 -24
  262. package/src/form/field_bindings/UserSelectFieldBinding.tsx +94 -0
  263. package/src/form/index.tsx +17 -37
  264. package/src/form/useClearRestoreValue.tsx +2 -2
  265. package/src/form/validation.ts +12 -6
  266. package/src/hooks/data/delete.ts +6 -5
  267. package/src/hooks/data/save.ts +26 -35
  268. package/src/hooks/data/useCollectionFetch.tsx +3 -3
  269. package/src/hooks/data/useDataSource.tsx +10 -2
  270. package/src/hooks/data/useEntityFetch.tsx +10 -6
  271. package/src/hooks/index.tsx +3 -0
  272. package/src/hooks/useAuthController.tsx +1 -1
  273. package/src/hooks/useBreadcrumbsController.tsx +31 -0
  274. package/src/hooks/useBrowserTitleAndIcon.tsx +1 -1
  275. package/src/hooks/useBuildModeController.tsx +15 -28
  276. package/src/hooks/useBuildNavigationController.tsx +386 -124
  277. package/src/hooks/useCollapsedGroups.ts +64 -0
  278. package/src/hooks/useFireCMSContext.tsx +9 -35
  279. package/src/hooks/useInternalUserManagementController.tsx +16 -0
  280. package/src/hooks/useLargeLayout.tsx +0 -35
  281. package/src/hooks/useModeController.tsx +1 -2
  282. package/src/hooks/useProjectLog.tsx +16 -5
  283. package/src/hooks/useResolvedNavigationFrom.tsx +9 -11
  284. package/src/hooks/useValidateAuthenticator.tsx +3 -3
  285. package/src/internal/useBuildDataSource.ts +67 -80
  286. package/src/internal/useBuildSideDialogsController.tsx +4 -2
  287. package/src/internal/useBuildSideEntityController.tsx +149 -86
  288. package/src/internal/useUnsavedChangesDialog.tsx +127 -91
  289. package/src/preview/PropertyPreview.tsx +36 -12
  290. package/src/preview/PropertyPreviewProps.tsx +1 -1
  291. package/src/preview/components/BooleanPreview.tsx +1 -1
  292. package/src/preview/components/EmptyValue.tsx +1 -1
  293. package/src/preview/components/EnumValuesChip.tsx +1 -1
  294. package/src/preview/components/ImagePreview.tsx +10 -9
  295. package/src/preview/components/ReferencePreview.tsx +10 -18
  296. package/src/preview/components/UrlComponentPreview.tsx +20 -21
  297. package/src/preview/components/UserPreview.tsx +27 -0
  298. package/src/preview/index.ts +1 -0
  299. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +6 -5
  300. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +5 -4
  301. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +5 -3
  302. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +4 -3
  303. package/src/preview/property_previews/ArrayOneOfPreview.tsx +6 -4
  304. package/src/preview/property_previews/ArrayPropertyPreview.tsx +6 -4
  305. package/src/preview/property_previews/MapPropertyPreview.tsx +7 -6
  306. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +13 -13
  307. package/src/preview/property_previews/StringPropertyPreview.tsx +2 -2
  308. package/src/preview/util.ts +10 -10
  309. package/src/routes/CustomCMSRoute.tsx +21 -0
  310. package/src/routes/FireCMSRoute.tsx +246 -0
  311. package/src/routes/HomePageRoute.tsx +17 -0
  312. package/src/types/analytics.ts +3 -0
  313. package/src/types/auth.tsx +8 -12
  314. package/src/types/collections.ts +103 -28
  315. package/src/types/customization_controller.tsx +9 -0
  316. package/src/types/datasource.ts +21 -20
  317. package/src/types/dialogs_controller.tsx +7 -3
  318. package/src/types/entities.ts +10 -2
  319. package/src/types/entity_actions.tsx +71 -8
  320. package/src/types/entity_callbacks.ts +18 -18
  321. package/src/types/entity_overrides.tsx +2 -2
  322. package/src/types/export_import.ts +4 -4
  323. package/src/types/fields.tsx +52 -19
  324. package/src/types/firecms.tsx +34 -4
  325. package/src/types/firecms_context.tsx +18 -1
  326. package/src/types/index.ts +1 -0
  327. package/src/types/internal_user_management.ts +24 -0
  328. package/src/types/navigation.ts +76 -22
  329. package/src/types/permissions.ts +5 -5
  330. package/src/types/plugins.tsx +53 -9
  331. package/src/types/properties.ts +84 -22
  332. package/src/types/property_config.tsx +2 -2
  333. package/src/types/roles.ts +3 -0
  334. package/src/types/side_dialogs_controller.tsx +15 -0
  335. package/src/types/side_entity_controller.tsx +16 -1
  336. package/src/types/storage.ts +82 -0
  337. package/src/types/user.ts +3 -1
  338. package/src/util/builders.ts +10 -8
  339. package/src/util/callbacks.ts +119 -0
  340. package/src/util/createFormexStub.tsx +62 -0
  341. package/src/util/entities.ts +6 -4
  342. package/src/util/entity_actions.ts +28 -0
  343. package/src/util/entity_cache.ts +204 -0
  344. package/src/util/icon_list.ts +1 -1
  345. package/src/util/icon_synonyms.ts +0 -1
  346. package/src/util/icons.tsx +36 -11
  347. package/src/util/index.ts +3 -0
  348. package/src/util/join_collections.ts +9 -2
  349. package/src/util/make_properties_editable.ts +13 -5
  350. package/src/util/navigation_from_path.ts +33 -12
  351. package/src/util/navigation_utils.ts +135 -19
  352. package/src/util/objects.ts +74 -14
  353. package/src/util/parent_references_from_path.ts +3 -3
  354. package/src/util/permissions.ts +8 -8
  355. package/src/util/property_utils.tsx +17 -6
  356. package/src/util/references.ts +19 -8
  357. package/src/util/resolutions.ts +93 -24
  358. package/src/util/storage.ts +6 -2
  359. package/src/util/useStorageUploadController.tsx +74 -29
  360. package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +0 -5
  361. package/dist/components/PropertyIdCopyTooltipContent.d.ts +0 -3
  362. package/dist/form/PropertiesForm.d.ts +0 -8
  363. package/dist/form/components/FormikArrayContainer.d.ts +0 -18
  364. package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +0 -9
  365. package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +0 -59
  366. package/src/components/PropertyIdCopyTooltipContent.tsx +0 -27
  367. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +0 -236
  368. package/src/form/PropertiesForm.tsx +0 -81
  369. package/src/form/components/FormikArrayContainer.tsx +0 -44
  370. package/src/form/field_bindings/MarkdownFieldBinding.tsx +0 -695
  371. /package/src/util/{common.tsx → common.ts} +0 -0
@@ -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
  */
@@ -18,6 +19,11 @@ export type DataSourceEntityCollectionTableControllerProps<M extends Record<stri
18
19
  * Force filter to be applied to the table.
19
20
  */
20
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;
21
27
  };
22
28
  /**
23
29
  * Use this hook to build a controller for the {@link EntityCollectionTable}.
@@ -28,8 +34,10 @@ export type DataSourceEntityCollectionTableControllerProps<M extends Record<stri
28
34
  *
29
35
  * @param fullPath
30
36
  * @param collection
37
+ * @param scrollRestoration
31
38
  * @param entitiesDisplayedFirst
32
39
  * @param lastDeleteTimestamp
33
40
  * @param forceFilterFromProps
41
+ * @param updateUrl
34
42
  */
35
- 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;
@@ -13,14 +13,16 @@ export * from "./EntityCollectionView/EntityCollectionView";
13
13
  export * from "./EntityCollectionView/EntityCollectionViewActions";
14
14
  export * from "./EntityCollectionView/useSelectionController";
15
15
  export * from "./PropertyConfigBadge";
16
+ export * from "./PropertyIdCopyTooltip";
16
17
  export * from "./EntityCollectionTable";
17
18
  export * from "./NotFoundPage";
18
19
  export * from "./VirtualTable";
19
20
  export * from "./ErrorBoundary";
20
- export * from "./DeleteConfirmationDialog";
21
+ export * from "./ConfirmationDialog";
21
22
  export * from "./FireCMSLogo";
22
23
  export * from "../core/DefaultAppBar";
23
24
  export * from "./ArrayContainer";
24
25
  export * from "./ReferenceWidget";
25
26
  export * from "./SearchIconsView";
26
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>>;
@@ -1,11 +1,17 @@
1
1
  import React from "react";
2
2
  import { User } from "../types";
3
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
+ */
4
7
  title?: React.ReactNode;
5
8
  /**
6
- * A component that gets rendered on the upper side of the main toolbar
9
+ * A component that gets rendered on the upper side to the end of the main toolbar
7
10
  */
8
11
  endAdornment?: React.ReactNode;
12
+ /**
13
+ * A component that gets rendered on the upper side to the start of the main toolbar
14
+ */
9
15
  startAdornment?: React.ReactNode;
10
16
  dropDownActions?: React.ReactNode;
11
17
  includeModeToggle?: boolean;
@@ -20,4 +26,4 @@ export type DefaultAppBarProps<ADDITIONAL_PROPS = object> = {
20
26
  *
21
27
 
22
28
  */
23
- export declare const DefaultAppBar: ({ title, endAdornment, startAdornment, dropDownActions, includeModeToggle, className, style, user: userProp }: DefaultAppBarProps) => import("react/jsx-runtime").JSX.Element;
29
+ export declare const DefaultAppBar: ({ title, endAdornment, startAdornment, dropDownActions, includeModeToggle, className, style, user: userProp, logo: logoProp, }: DefaultAppBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- export declare function DrawerNavigationItem({ name, icon, drawerOpen, tooltipsOpen, url, onClick }: {
2
+ export declare function DrawerNavigationItem({ name, icon, drawerOpen, adminMenuOpen, tooltipsOpen, url, onClick }: {
3
3
  icon: React.ReactElement;
4
4
  name: string;
5
5
  tooltipsOpen: boolean;
6
6
  drawerOpen: boolean;
7
+ adminMenuOpen?: boolean;
7
8
  url: string;
8
9
  onClick?: () => void;
9
10
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,36 +1,54 @@
1
- import { Entity, EntityCollection, EntityValues, ResolvedEntityCollection, User } from "../types";
2
- import { ValidationError } from "yup";
1
+ import React from "react";
2
+ import { Entity, EntityCollection, EntityStatus, User } from "../types";
3
+ import { EntityFormProps } from "../form";
4
+ export declare const MAIN_TAB_VALUE = "__main_##Q$SC^#S6";
5
+ export declare const JSON_TAB_VALUE = "__json";
6
+ export type OnUpdateParams = {
7
+ entity: Entity<any>;
8
+ status: EntityStatus;
9
+ path: string;
10
+ entityId?: string;
11
+ selectedTab?: string;
12
+ collection: EntityCollection<any>;
13
+ };
14
+ export type OnTabChangeParams<M extends Record<string, any>> = {
15
+ path: string;
16
+ entityId?: string;
17
+ selectedTab?: string;
18
+ collection: EntityCollection<M>;
19
+ };
3
20
  export interface EntityEditViewProps<M extends Record<string, any>> {
21
+ /**
22
+ * The database path of the entity, e.g. "users" or "products".
23
+ */
4
24
  path: string;
25
+ /**
26
+ * The navigation path to the entity.
27
+ */
28
+ fullIdPath?: string;
5
29
  collection: EntityCollection<M>;
6
30
  entityId?: string;
31
+ databaseId?: string;
7
32
  copy?: boolean;
8
- selectedSubPath?: string;
33
+ selectedTab?: string;
9
34
  parentCollectionIds: string[];
10
- onValuesAreModified: (modified: boolean) => void;
11
- onUpdate?: (params: {
12
- entity: Entity<any>;
13
- }) => void;
14
- onClose?: () => void;
35
+ onValuesModified?: (modified: boolean) => void;
36
+ onSaved?: (params: OnUpdateParams) => void;
37
+ onTabChange?: (props: OnTabChangeParams<M>) => void;
38
+ layout?: "side_panel" | "full_screen";
39
+ barActions?: React.ReactNode;
40
+ formProps?: Partial<EntityFormProps<M>>;
15
41
  }
16
42
  /**
17
43
  * This is the default view that is used as the content of a side panel when
18
44
  * an entity is opened.
19
- * You probably don't want to use this view directly since it is bound to the
20
- * side panel. Instead, you might want to use {@link EntityForm} or {@link EntityCollectionView}
21
45
  */
22
- export declare function EntityEditView<M extends Record<string, any>, UserType extends User>({ entityId, ...props }: EntityEditViewProps<M>): import("react/jsx-runtime").JSX.Element;
23
- export declare function EntityEditViewInner<M extends Record<string, any>>({ path, entityId: entityIdProp, selectedSubPath: selectedSubPathProp, copy, collection, parentCollectionIds, onValuesAreModified, onUpdate, onClose, entity, dataLoading, }: EntityEditViewProps<M> & {
46
+ export declare function EntityEditView<M extends Record<string, any>, USER extends User>({ entityId, ...props }: EntityEditViewProps<M>): import("react/jsx-runtime").JSX.Element;
47
+ export declare function EntityEditViewInner<M extends Record<string, any>>({ path, fullIdPath, entityId, selectedTab: selectedTabProp, collection, parentCollectionIds, onValuesModified, onSaved, onTabChange, entity, cachedDirtyValues, dataLoading, layout, barActions, status, setStatus, formProps, canEdit }: EntityEditViewProps<M> & {
24
48
  entity?: Entity<M>;
49
+ cachedDirtyValues?: Partial<M>;
25
50
  dataLoading: boolean;
51
+ status: EntityStatus;
52
+ setStatus: (status: EntityStatus) => void;
53
+ canEdit?: boolean;
26
54
  }): import("react/jsx-runtime").JSX.Element;
27
- export type EntityFormSaveParams<M extends Record<string, any>> = {
28
- collection: ResolvedEntityCollection<M>;
29
- path: string;
30
- entityId: string | undefined;
31
- values: EntityValues<M>;
32
- previousValues?: EntityValues<M>;
33
- closeAfterSave: boolean;
34
- autoSave: boolean;
35
- };
36
- export declare function yupToFormErrors(yupError: ValidationError): Record<string, any>;
@@ -0,0 +1,2 @@
1
+ import { EntityFormActionsProps } from "../form/EntityFormActions";
2
+ export declare function EntityEditViewFormActions({ collection, path, entity, layout, savingError, formex, disabled, status, pluginActions, openEntityMode, showDefaultActions, navigateBack, formContext }: EntityFormActionsProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { EntityCollection, FireCMSProps, User } from "../types";
1
+ import { FireCMSProps, User } from "../types";
2
2
  /**
3
3
  * If you are using independent components of the CMS
4
4
  * you need to wrap them with this main component, so the internal hooks work.
@@ -8,7 +8,6 @@ import { EntityCollection, FireCMSProps, User } from "../types";
8
8
  *
9
9
  * You only need to use this component if you are building a custom app.
10
10
  *
11
-
12
11
  * @group Core
13
12
  */
14
- export declare function FireCMS<UserType extends User, EC extends EntityCollection>(props: FireCMSProps<UserType, EC>): import("react/jsx-runtime").JSX.Element;
13
+ export declare function FireCMS<USER extends User>(props: FireCMSProps<USER>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export declare function FireCMSRouter({ children, basePath }: {
2
+ children: React.ReactNode;
3
+ basePath?: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -15,7 +15,6 @@ export type NavigationRoutesProps = {
15
15
  * or the home route) related to a {@link NavigationController}.
16
16
  * This component needs a parent {@link FireCMS}
17
17
  *
18
-
19
18
  * @group Components
20
19
  */
21
20
  export declare const NavigationRoutes: React.NamedExoticComponent<NavigationRoutesProps>;
@@ -1,17 +1,19 @@
1
1
  import React from "react";
2
- export type SideDialogContextProps = {
2
+ export type SideDialogController = {
3
3
  blocked: boolean;
4
4
  setBlocked: (blocked: boolean) => void;
5
5
  setBlockedNavigationMessage: (message?: React.ReactNode) => void;
6
6
  width?: string;
7
7
  close: (force?: boolean) => void;
8
+ pendingClose: boolean;
9
+ setPendingClose: (pendingClose: boolean) => void;
8
10
  };
9
11
  /**
10
12
  * This hook is used to access the properties of a particular side dialog,
11
13
  * in contrast with {@link useSideDialogsController} which handles the
12
14
  * state of all the dialogs.
13
15
  */
14
- export declare const useSideDialogContext: () => SideDialogContextProps;
16
+ export declare const useSideDialogContext: () => SideDialogController;
15
17
  /**
16
18
  * This is the component in charge of rendering the side dialogs used
17
19
  * for editing entities. Use the {@link useSideEntityController} to open
@@ -3,5 +3,5 @@ export declare function isDefaultFieldConfigId(id: string): boolean;
3
3
  export declare const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>>;
4
4
  export declare function getDefaultFieldConfig(property: Property | ResolvedProperty): PropertyConfig | undefined;
5
5
  export declare function getFieldConfig(property: Property | ResolvedProperty, propertyConfigs: Record<string, PropertyConfig<any>>): PropertyConfig | undefined;
6
- export declare function getDefaultFieldId(property: Property | ResolvedProperty): "reference" | "date_time" | "text_field" | "multiline" | "markdown" | "url" | "email" | "select" | "multi_select" | "number_input" | "number_select" | "multi_number_select" | "file_upload" | "multi_file_upload" | "group" | "key_value" | "multi_references" | "switch" | "repeat" | "custom_array" | "block" | undefined;
6
+ export declare function getDefaultFieldId(property: Property | ResolvedProperty): "reference" | "date_time" | "text_field" | "multiline" | "markdown" | "url" | "email" | "user_select" | "select" | "multi_select" | "number_input" | "number_select" | "multi_number_select" | "file_upload" | "multi_file_upload" | "group" | "key_value" | "reference_as_string" | "multi_references" | "switch" | "repeat" | "custom_array" | "block" | undefined;
7
7
  export declare function getFieldId(property: Property | ResolvedProperty): string | undefined;
@@ -1,7 +1,8 @@
1
1
  export * from "./FireCMS";
2
- export * from "../app/Scaffold";
3
2
  export * from "./DefaultDrawer";
4
3
  export * from "./DrawerNavigationItem";
5
4
  export * from "./field_configs";
6
5
  export * from "./SideDialogs";
7
6
  export * from "./NavigationRoutes";
7
+ export * from "./FireCMSRouter";
8
+ export * from "../app";
@@ -0,0 +1,50 @@
1
+ import React from "react";
2
+ import { Entity, EntityCollection, EntityCustomViewParams, EntityStatus, FormContext } from "../types";
3
+ import { FormexController } from "@firecms/formex";
4
+ import { ValidationError } from "yup";
5
+ import { EntityFormActionsProps } from "./EntityFormActions";
6
+ export type OnUpdateParams = {
7
+ entity: Entity<any>;
8
+ status: EntityStatus;
9
+ path: string;
10
+ entityId?: string;
11
+ selectedTab?: string;
12
+ collection: EntityCollection<any>;
13
+ };
14
+ export type EntityFormProps<M extends Record<string, any>> = {
15
+ path: string;
16
+ fullIdPath?: string;
17
+ collection: EntityCollection<M>;
18
+ entityId?: string;
19
+ entity?: Entity<M>;
20
+ databaseId?: string;
21
+ onIdChange?: (id: string) => void;
22
+ onValuesModified?: (modified: boolean) => void;
23
+ onSaved?: (params: OnUpdateParams) => void;
24
+ initialDirtyValues?: Partial<M>;
25
+ onFormContextReady?: (formContext: FormContext) => void;
26
+ forceActionsAtTheBottom?: boolean;
27
+ className?: string;
28
+ initialStatus: EntityStatus;
29
+ onStatusChange?: (status: EntityStatus) => void;
30
+ onEntityChange?: (entity: Entity<M>) => void;
31
+ formex?: FormexController<M>;
32
+ openEntityMode?: "side_panel" | "full_screen";
33
+ /**
34
+ * If true, the form will be disabled and no actions will be available
35
+ */
36
+ disabled?: boolean;
37
+ /**
38
+ * Include the copy and delete actions in the form
39
+ */
40
+ showDefaultActions?: boolean;
41
+ /**
42
+ * Display the entity path in the form
43
+ */
44
+ showEntityPath?: boolean;
45
+ EntityFormActionsComponent?: React.FC<EntityFormActionsProps>;
46
+ Builder?: React.ComponentType<EntityCustomViewParams<M>>;
47
+ children?: React.ReactNode;
48
+ };
49
+ export declare function EntityForm<M extends Record<string, any>>({ path, fullIdPath, entityId: entityIdProp, collection, onValuesModified, onIdChange, onSaved, entity, initialDirtyValues, onFormContextReady, forceActionsAtTheBottom, initialStatus, className, onStatusChange, onEntityChange, openEntityMode, formex: formexProp, disabled: disabledProp, Builder, EntityFormActionsComponent, showDefaultActions, showEntityPath, children }: EntityFormProps<M>): import("react/jsx-runtime").JSX.Element;
50
+ export declare function yupToFormErrors(yupError: ValidationError): Record<string, any>;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import { Entity, FormContext, ResolvedEntityCollection } from "../types";
3
+ import { FormexController } from "@firecms/formex";
4
+ export interface EntityFormActionsProps {
5
+ fullPath: string;
6
+ fullIdPath?: string;
7
+ collection: ResolvedEntityCollection;
8
+ path: string;
9
+ entity?: Entity;
10
+ layout: "bottom" | "side";
11
+ savingError?: Error;
12
+ formex: FormexController<any>;
13
+ disabled: boolean;
14
+ status: "new" | "existing" | "copy";
15
+ pluginActions: React.ReactNode[];
16
+ openEntityMode: "side_panel" | "full_screen";
17
+ showDefaultActions?: boolean;
18
+ navigateBack: () => void;
19
+ formContext: FormContext;
20
+ }
21
+ export declare function EntityFormActions({ fullPath, fullIdPath, collection, entity, layout, savingError, formex, disabled, status, pluginActions, openEntityMode, navigateBack, formContext }: EntityFormActionsProps): import("react/jsx-runtime").JSX.Element;
@@ -26,5 +26,5 @@ import { CMSType, PropertyFieldBindingProps } from "../types";
26
26
  * @group Form custom fields
27
27
  */
28
28
  export declare const PropertyFieldBinding: typeof PropertyFieldBindingInternal;
29
- declare function PropertyFieldBindingInternal<T extends CMSType = CMSType, M extends Record<string, any> = Record<string, any>>({ propertyKey, property, context, includeDescription, underlyingValueHasChanged, disabled, tableMode, partOfArray, partOfBlock, autoFocus, index, }: PropertyFieldBindingProps<T, M>): ReactElement<PropertyFieldBindingProps<T, M>>;
29
+ declare function PropertyFieldBindingInternal<T extends CMSType = CMSType, M extends Record<string, any> = any>({ propertyKey, property, context, includeDescription, underlyingValueHasChanged, disabled: disabledProp, partOfArray, minimalistView, autoFocus, index, size, onPropertyChange, }: PropertyFieldBindingProps<T, M>): ReactElement<PropertyFieldBindingProps<T, M>>;
30
30
  export {};
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export declare function FormEntry({ propertyKey, widthPercentage, children }: {
3
+ propertyKey: string;
4
+ widthPercentage?: number;
5
+ children: React.ReactNode;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export declare function FormLayout({ children, className }: {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -10,5 +10,5 @@ interface LabelWithIconProps {
10
10
  * Render the label of with an icon and the title of a property
11
11
  * @group Form custom fields
12
12
  */
13
- export declare function LabelWithIcon({ icon, title, small, className, required }: LabelWithIconProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare const LabelWithIcon: React.ForwardRefExoticComponent<LabelWithIconProps & React.RefAttributes<HTMLDivElement>>;
14
14
  export {};
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ interface LabelWithIconAndTooltip {
3
+ icon: React.ReactNode;
4
+ title?: string;
5
+ small?: boolean;
6
+ className?: string;
7
+ required?: boolean;
8
+ propertyKey: string;
9
+ }
10
+ /**
11
+ * Render the label of with an icon and the title of a property
12
+ * @group Form custom fields
13
+ */
14
+ export declare function LabelWithIconAndTooltip({ propertyKey, className, ...props }: LabelWithIconAndTooltip): import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -1,3 +1,5 @@
1
- export * from "./FormikArrayContainer";
2
1
  export * from "./FieldHelperText";
3
2
  export * from "./LabelWithIcon";
3
+ export * from "./LabelWithIconAndTooltip";
4
+ export * from "./FormEntry";
5
+ export * from "./FormLayout";
@@ -6,4 +6,4 @@ import { FieldProps } from "../../types";
6
6
  * and tables to the specified properties.
7
7
  * @group Form fields
8
8
  */
9
- export declare function ArrayCustomShapedFieldBinding<T extends Array<any>>({ propertyKey, value, error, showError, isSubmitting, setValue, tableMode, property, includeDescription, underlyingValueHasChanged, context, disabled }: FieldProps<T, any, any>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function ArrayCustomShapedFieldBinding<T extends Array<any>>({ propertyKey, value, error, showError, isSubmitting, setValue, minimalistView: minimalistViewProp, property, includeDescription, context, disabled }: FieldProps<T, any, any>): import("react/jsx-runtime").JSX.Element;
@@ -7,5 +7,5 @@ type ArrayOfReferencesFieldProps = FieldProps<EntityReference[]>;
7
7
  * and tables to the specified properties.
8
8
  * @group Form fields
9
9
  */
10
- export declare function ArrayOfReferencesFieldBinding({ propertyKey, value, error, showError, disabled, isSubmitting, tableMode, property, includeDescription, setValue, setFieldValue }: ArrayOfReferencesFieldProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function ArrayOfReferencesFieldBinding({ propertyKey, value, error, showError, disabled, isSubmitting, minimalistView: minimalistViewProp, property, includeDescription, setValue, setFieldValue }: ArrayOfReferencesFieldProps): import("react/jsx-runtime").JSX.Element;
11
11
  export {};
@@ -7,4 +7,4 @@ import { FieldProps } from "../../types";
7
7
  * and tables to the specified properties.
8
8
  * @group Form fields
9
9
  */
10
- export declare function BlockFieldBinding<T extends Array<any>>({ propertyKey, value, error, showError, isSubmitting, setValue, setFieldValue, tableMode, property, includeDescription, underlyingValueHasChanged, context, disabled }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
10
+ export declare function BlockFieldBinding<T extends Array<any>>({ propertyKey, value, error, showError, isSubmitting, setValue, setFieldValue, minimalistView: minimalistViewProp, property, includeDescription, underlyingValueHasChanged, context, disabled }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -4,4 +4,4 @@ import { FieldProps } from "../../types";
4
4
  *
5
5
  * @group Form fields
6
6
  */
7
- export declare function KeyValueFieldBinding({ propertyKey, value, showError, error, disabled, property, setValue, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<Record<string, any>>): import("react/jsx-runtime").JSX.Element;
7
+ export declare function KeyValueFieldBinding({ propertyKey, value, showError, error, disabled, property, setValue, minimalistView, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<Record<string, any>>): import("react/jsx-runtime").JSX.Element;
@@ -6,4 +6,4 @@ import { FieldProps } from "../../types";
6
6
  * and tables to the specified properties.
7
7
  * @group Form fields
8
8
  */
9
- export declare function MapFieldBinding({ propertyKey, value, showError, error, disabled, property, partOfBlock, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<Record<string, any>>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function MapFieldBinding({ propertyKey, value, showError, error, disabled, property, partOfArray, minimalistView: minimalistViewProp, includeDescription, autoFocus, context, onPropertyChange }: FieldProps<Record<string, any>>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { FieldProps } from "../../index";
2
+ import { FireCMSEditorProps } from "@firecms/editor";
3
+ interface MarkdownEditorFieldProps {
4
+ highlight?: {
5
+ from: number;
6
+ to: number;
7
+ };
8
+ editorProps?: Partial<FireCMSEditorProps>;
9
+ }
10
+ export declare function MarkdownEditorFieldBinding({ property, propertyKey, value, setValue, includeDescription, showError, error, minimalistView, disabled: disabledProp, isSubmitting, context, customProps, }: FieldProps<string, MarkdownEditorFieldProps>): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -6,4 +6,4 @@ import { EnumType, FieldProps } from "../../types";
6
6
  * and tables to the specified properties.
7
7
  * @group Form fields
8
8
  */
9
- export declare function MultiSelectBinding({ propertyKey, value, setValue, error, showError, disabled, property, includeDescription, autoFocus }: FieldProps<EnumType[], any, any>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function MultiSelectFieldBinding({ propertyKey, value, setValue, error, showError, disabled, property, includeDescription, size, autoFocus }: FieldProps<EnumType[], any, any>): import("react/jsx-runtime").JSX.Element;
@@ -7,4 +7,4 @@ import { FieldProps } from "../../types";
7
7
  * and tables to the specified properties.
8
8
  * @group Form fields
9
9
  */
10
- export declare function ReadOnlyFieldBinding({ propertyKey, value, error, showError, tableMode, property, includeDescription, context }: FieldProps<any>): import("react/jsx-runtime").JSX.Element;
10
+ export declare function ReadOnlyFieldBinding({ propertyKey, value, error, showError, minimalistView, property, includeDescription, context }: FieldProps<any>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { FieldProps } from "../../types";
2
+ /**
3
+ * Field that opens a reference selection dialog and stores the entity ID as a string.
4
+ *
5
+ * This is one of the internal components that get mapped natively inside forms
6
+ * and tables to the specified properties.
7
+ * @group Form fields
8
+ */
9
+ export declare function ReferenceAsStringFieldBinding(props: FieldProps<string>): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { EntityReference, FieldProps } from "../../types";
1
+ import { FieldProps } from "../../types";
2
2
  /**
3
3
  * Field that opens a reference selection dialog.
4
4
  *
@@ -6,4 +6,4 @@ import { EntityReference, FieldProps } from "../../types";
6
6
  * and tables to the specified properties.
7
7
  * @group Form fields
8
8
  */
9
- export declare function ReferenceFieldBinding<M extends Record<string, any>>(props: FieldProps<EntityReference>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function ReferenceFieldBinding(props: FieldProps): import("react/jsx-runtime").JSX.Element;
@@ -7,4 +7,4 @@ import { FieldProps } from "../../types";
7
7
  * and tables to the specified properties.
8
8
  * @group Form fields
9
9
  */
10
- export declare function RepeatFieldBinding<T extends Array<any>>({ propertyKey, value, error, showError, isSubmitting, setValue, setFieldValue, tableMode, property, includeDescription, underlyingValueHasChanged, context, disabled }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
10
+ export declare function RepeatFieldBinding<T extends Array<any>>({ propertyKey, value, error, showError, isSubmitting, setValue, setFieldValue, minimalistView: minimalistViewProp, property, includeDescription, underlyingValueHasChanged, context, disabled }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -8,5 +8,5 @@ type SelectProps<T extends EnumType> = FieldProps<T>;
8
8
  * and tables to the specified properties.
9
9
  * @group Form fields
10
10
  */
11
- export declare function SelectFieldBinding<T extends EnumType>({ propertyKey, value, setValue, error, showError, disabled, autoFocus, touched, property, includeDescription }: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
11
+ export declare function SelectFieldBinding<T extends EnumType>({ propertyKey, value, setValue, error, showError, disabled, autoFocus, touched, property, includeDescription, size }: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -1,14 +1,7 @@
1
1
  import { FieldProps, ResolvedArrayProperty, ResolvedStringProperty, StorageConfig } from "../../types";
2
2
  import { StorageFieldItem } from "../../util/useStorageUploadController";
3
3
  type StorageUploadFieldProps = FieldProps<string | string[]>;
4
- /**
5
- * Field that allows to upload files to Google Cloud Storage.
6
- *
7
- * This is one of the internal components that get mapped natively inside forms
8
- * and tables to the specified properties.
9
- * @group Form fields
10
- */
11
- export declare function StorageUploadFieldBinding({ propertyKey, value, setValue, error, showError, autoFocus, tableMode, property, includeDescription, context, isSubmitting, }: StorageUploadFieldProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare function StorageUploadFieldBinding({ propertyKey, value, setValue, error, showError, autoFocus, minimalistView, property, includeDescription, context, isSubmitting, }: StorageUploadFieldProps): import("react/jsx-runtime").JSX.Element;
12
5
  export interface StorageUploadProps {
13
6
  value: StorageFieldItem[];
14
7
  setInternalValue: (v: StorageFieldItem[]) => void;
@@ -19,9 +12,10 @@ export interface StorageUploadProps {
19
12
  autoFocus: boolean;
20
13
  disabled: boolean;
21
14
  storage: StorageConfig;
22
- onFilesAdded: (acceptedFiles: File[]) => void;
15
+ onFilesAdded: (acceptedFiles: File[]) => Promise<void>;
23
16
  storagePathBuilder: (file: File) => string;
24
17
  onFileUploadComplete: (uploadedPath: string, entry: StorageFieldItem, fileMetadata?: any) => Promise<void>;
25
18
  }
26
- export declare function StorageUpload({ property, name, value, setInternalValue, onChange, multipleFilesSupported, onFileUploadComplete, disabled, onFilesAdded, autoFocus, storage, storagePathBuilder, }: StorageUploadProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function StorageUpload({ property, name, value, // This is internalValue from useStorageUploadController
20
+ setInternalValue, onChange, multipleFilesSupported, onFileUploadComplete, disabled, onFilesAdded, autoFocus, storage, storagePathBuilder, }: StorageUploadProps): import("react/jsx-runtime").JSX.Element;
27
21
  export {};
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { FieldProps } from "../../types";
3
2
  type SwitchFieldProps = FieldProps<boolean>;
4
3
  /**
@@ -8,5 +7,5 @@ type SwitchFieldProps = FieldProps<boolean>;
8
7
  * and tables to the specified properties.
9
8
  * @group Form fields
10
9
  */
11
- export declare const SwitchFieldBinding: React.ForwardRefExoticComponent<SwitchFieldProps & React.RefAttributes<unknown>>;
10
+ export declare const SwitchFieldBinding: ({ propertyKey, value, setValue, error, showError, autoFocus, disabled, size, property, includeDescription }: SwitchFieldProps) => import("react/jsx-runtime").JSX.Element;
12
11
  export {};
@@ -8,5 +8,5 @@ interface TextFieldBindingProps<T extends string | number> extends FieldProps<T>
8
8
  * and tables to the specified properties.
9
9
  * @group Form fields
10
10
  */
11
- export declare function TextFieldBinding<T extends string | number>({ context, propertyKey, value, setValue, error, showError, disabled, autoFocus, property, includeDescription, }: TextFieldBindingProps<T>): import("react/jsx-runtime").JSX.Element;
11
+ export declare function TextFieldBinding<T extends string | number>({ propertyKey, value, setValue, error, showError, disabled, autoFocus, property, includeDescription, size }: TextFieldBindingProps<T>): import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -0,0 +1,12 @@
1
+ import { FieldProps } from "../../types";
2
+ type UserSelectProps = FieldProps<string>;
3
+ /**
4
+ * Field binding for selecting a user from the internal user management system.
5
+ * Renders a select dropdown with user information including name and email.
6
+ *
7
+ * This is one of the internal components that get mapped natively inside forms
8
+ * and tables to the specified properties.
9
+ * @group Form fields
10
+ */
11
+ export declare function UserSelectFieldBinding({ propertyKey, value, setValue, error, showError, disabled, autoFocus, touched, property, includeDescription, size }: UserSelectProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};