@firecms/core 3.0.0-canary.18 → 3.0.0-canary.182

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 (366) 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 +30 -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 +23 -6
  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 +13 -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 +16 -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/EntityPreview.d.ts +5 -4
  25. package/dist/components/ErrorView.d.ts +1 -1
  26. package/dist/components/HomePage/DefaultHomePage.d.ts +1 -1
  27. package/dist/components/HomePage/NavigationCardBinding.d.ts +1 -1
  28. package/dist/components/PropertyConfigBadge.d.ts +2 -1
  29. package/dist/components/PropertyIdCopyTooltip.d.ts +8 -0
  30. package/dist/components/ReferenceWidget.d.ts +3 -1
  31. package/dist/components/SelectableTable/SelectableTable.d.ts +13 -3
  32. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
  33. package/dist/components/UnsavedChangesDialog.d.ts +8 -0
  34. package/dist/components/VirtualTable/VirtualTableProps.d.ts +28 -12
  35. package/dist/components/VirtualTable/types.d.ts +3 -3
  36. package/dist/components/{EntityCollectionTable/internal → common}/default_entity_actions.d.ts +1 -3
  37. package/dist/components/common/index.d.ts +2 -1
  38. package/dist/components/common/table_height.d.ts +5 -0
  39. package/dist/components/common/types.d.ts +4 -6
  40. package/dist/components/common/useColumnsIds.d.ts +3 -1
  41. package/dist/components/common/{useDataSourceEntityCollectionTableController.d.ts → useDataSourceTableController.d.ts} +13 -2
  42. package/dist/components/common/useDebouncedCallback.d.ts +1 -0
  43. package/dist/components/common/useScrollRestoration.d.ts +14 -0
  44. package/dist/components/index.d.ts +4 -2
  45. package/dist/contexts/BreacrumbsContext.d.ts +8 -0
  46. package/dist/{components/FireCMSAppBar.d.ts → core/DefaultAppBar.d.ts} +6 -9
  47. package/dist/core/DefaultDrawer.d.ts +19 -0
  48. package/dist/core/DrawerNavigationItem.d.ts +10 -0
  49. package/dist/core/EntityEditView.d.ts +41 -9
  50. package/dist/core/FireCMS.d.ts +2 -2
  51. package/dist/core/FireCMSRouter.d.ts +4 -0
  52. package/dist/core/NavigationRoutes.d.ts +2 -3
  53. package/dist/core/index.d.ts +4 -4
  54. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  55. package/dist/form/components/ErrorFocus.d.ts +1 -1
  56. package/dist/form/components/FieldHelperText.d.ts +3 -3
  57. package/dist/form/components/LabelWithIcon.d.ts +1 -1
  58. package/dist/form/components/LabelWithIconAndTooltip.d.ts +15 -0
  59. package/dist/form/components/StorageItemPreview.d.ts +4 -4
  60. package/dist/form/components/index.d.ts +1 -1
  61. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +1 -1
  62. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +1 -1
  63. package/dist/form/field_bindings/BlockFieldBinding.d.ts +1 -1
  64. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
  65. package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
  66. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +11 -0
  67. package/dist/form/field_bindings/{MultiSelectBinding.d.ts → MultiSelectFieldBinding.d.ts} +1 -1
  68. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +1 -1
  69. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -2
  70. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +1 -1
  71. package/dist/form/field_bindings/SelectFieldBinding.d.ts +1 -1
  72. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +3 -5
  73. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +1 -2
  74. package/dist/form/field_bindings/TextFieldBinding.d.ts +1 -1
  75. package/dist/form/index.d.ts +3 -5
  76. package/dist/form/useClearRestoreValue.d.ts +2 -2
  77. package/dist/hooks/data/delete.d.ts +4 -4
  78. package/dist/hooks/data/save.d.ts +4 -5
  79. package/dist/hooks/data/useCollectionFetch.d.ts +1 -1
  80. package/dist/hooks/data/useEntityFetch.d.ts +4 -3
  81. package/dist/hooks/index.d.ts +1 -0
  82. package/dist/hooks/useAuthController.d.ts +1 -1
  83. package/dist/hooks/useBreadcrumbsController.d.ts +26 -0
  84. package/dist/hooks/useBuildNavigationController.d.ts +3 -5
  85. package/dist/hooks/useFireCMSContext.d.ts +1 -1
  86. package/dist/hooks/useProjectLog.d.ts +8 -2
  87. package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
  88. package/dist/hooks/useValidateAuthenticator.d.ts +4 -8
  89. package/dist/index.d.ts +1 -0
  90. package/dist/index.es.js +21537 -14243
  91. package/dist/index.es.js.map +1 -1
  92. package/dist/index.umd.js +23973 -588
  93. package/dist/index.umd.js.map +1 -1
  94. package/dist/internal/useBuildDataSource.d.ts +1 -16
  95. package/dist/internal/useUnsavedChangesDialog.d.ts +7 -9
  96. package/dist/preview/PropertyPreviewProps.d.ts +6 -1
  97. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  98. package/dist/preview/components/ReferencePreview.d.ts +3 -2
  99. package/dist/preview/components/StorageThumbnail.d.ts +2 -1
  100. package/dist/preview/components/UrlComponentPreview.d.ts +2 -1
  101. package/dist/preview/util.d.ts +3 -3
  102. package/dist/routes/CustomCMSRoute.d.ts +4 -0
  103. package/dist/routes/FireCMSRoute.d.ts +1 -0
  104. package/dist/routes/HomePageRoute.d.ts +3 -0
  105. package/dist/types/auth.d.ts +8 -10
  106. package/dist/types/collections.d.ts +71 -22
  107. package/dist/types/datasource.d.ts +52 -36
  108. package/dist/types/dialogs_controller.d.ts +7 -3
  109. package/dist/types/entities.d.ts +7 -2
  110. package/dist/types/entity_actions.d.ts +28 -4
  111. package/dist/types/entity_callbacks.d.ts +16 -16
  112. package/dist/types/entity_overrides.d.ts +2 -2
  113. package/dist/types/export_import.d.ts +4 -4
  114. package/dist/types/fields.d.ts +66 -42
  115. package/dist/types/firecms.d.ts +6 -2
  116. package/dist/types/firecms_context.d.ts +1 -1
  117. package/dist/types/index.d.ts +0 -1
  118. package/dist/types/navigation.d.ts +31 -14
  119. package/dist/types/permissions.d.ts +4 -4
  120. package/dist/types/plugins.d.ts +23 -12
  121. package/dist/types/properties.d.ts +51 -23
  122. package/dist/types/property_config.d.ts +0 -2
  123. package/dist/types/side_dialogs_controller.d.ts +10 -0
  124. package/dist/types/side_entity_controller.d.ts +1 -1
  125. package/dist/types/storage.d.ts +86 -3
  126. package/dist/types/user.d.ts +1 -0
  127. package/dist/util/builders.d.ts +3 -3
  128. package/dist/util/entities.d.ts +3 -3
  129. package/dist/util/entity_actions.d.ts +2 -0
  130. package/dist/util/entity_cache.d.ts +23 -0
  131. package/dist/util/icon_list.d.ts +5 -1
  132. package/dist/util/icon_synonyms.d.ts +1 -98
  133. package/dist/util/icons.d.ts +6 -3
  134. package/dist/util/index.d.ts +2 -0
  135. package/dist/util/navigation_from_path.d.ts +5 -1
  136. package/dist/util/navigation_utils.d.ts +14 -3
  137. package/dist/util/objects.d.ts +2 -1
  138. package/dist/util/permissions.d.ts +4 -4
  139. package/dist/util/plurals.d.ts +0 -2
  140. package/dist/util/property_utils.d.ts +3 -3
  141. package/dist/util/resolutions.d.ts +30 -16
  142. package/dist/util/storage.d.ts +23 -2
  143. package/dist/util/useStorageUploadController.d.ts +3 -3
  144. package/package.json +61 -48
  145. package/src/app/AppBar.tsx +18 -0
  146. package/src/app/Drawer.tsx +24 -0
  147. package/src/app/Scaffold.tsx +243 -0
  148. package/src/app/index.ts +4 -0
  149. package/src/app/useApp.tsx +32 -0
  150. package/src/components/ArrayContainer.tsx +126 -40
  151. package/src/components/CircularProgressCenter.tsx +2 -2
  152. package/src/components/ClearFilterSortButton.tsx +41 -0
  153. package/src/components/{DeleteConfirmationDialog.tsx → ConfirmationDialog.tsx} +3 -3
  154. package/src/components/DeleteEntityDialog.tsx +10 -19
  155. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +54 -37
  156. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +38 -31
  157. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +30 -9
  158. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +47 -39
  159. package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
  160. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +30 -16
  161. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +19 -17
  162. package/src/components/EntityCollectionTable/index.tsx +1 -1
  163. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +31 -36
  164. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +36 -34
  165. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +20 -8
  166. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +84 -77
  167. package/src/components/EntityCollectionView/EntityCollectionView.tsx +206 -112
  168. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +4 -2
  169. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
  170. package/src/components/EntityCollectionView/useSelectionController.tsx +20 -7
  171. package/src/components/EntityCollectionView/utils.ts +19 -0
  172. package/src/components/EntityPreview.tsx +62 -52
  173. package/src/components/EntityView.tsx +10 -10
  174. package/src/components/ErrorView.tsx +4 -4
  175. package/src/components/HomePage/DefaultHomePage.tsx +26 -19
  176. package/src/components/HomePage/FavouritesView.tsx +6 -11
  177. package/src/components/HomePage/NavigationCard.tsx +3 -3
  178. package/src/components/HomePage/NavigationCardBinding.tsx +5 -10
  179. package/src/components/HomePage/NavigationGroup.tsx +2 -2
  180. package/src/components/HomePage/SmallNavigationCard.tsx +5 -6
  181. package/src/components/NotFoundPage.tsx +2 -2
  182. package/src/components/PropertyConfigBadge.tsx +9 -3
  183. package/src/components/PropertyIdCopyTooltip.tsx +47 -0
  184. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +19 -13
  185. package/src/components/ReferenceWidget.tsx +21 -11
  186. package/src/components/SearchIconsView.tsx +10 -7
  187. package/src/components/SelectableTable/SelectableTable.tsx +27 -12
  188. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
  189. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +25 -8
  190. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +36 -12
  191. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +92 -23
  192. package/src/components/UnsavedChangesDialog.tsx +42 -0
  193. package/src/components/VirtualTable/VirtualTable.tsx +96 -48
  194. package/src/components/VirtualTable/VirtualTableCell.tsx +1 -9
  195. package/src/components/VirtualTable/VirtualTableHeader.tsx +10 -10
  196. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +2 -2
  197. package/src/components/VirtualTable/VirtualTableProps.tsx +33 -14
  198. package/src/components/VirtualTable/VirtualTableRow.tsx +5 -6
  199. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +5 -5
  200. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +3 -2
  201. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +2 -1
  202. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +16 -28
  203. package/src/components/VirtualTable/types.tsx +2 -3
  204. package/src/components/{EntityCollectionTable/internal → common}/default_entity_actions.tsx +33 -40
  205. package/src/components/common/index.ts +2 -1
  206. package/src/components/{VirtualTable/common.tsx → common/table_height.tsx} +5 -2
  207. package/src/components/common/types.tsx +4 -6
  208. package/src/components/common/useColumnsIds.tsx +24 -3
  209. package/src/components/common/useDataSourceTableController.tsx +420 -0
  210. package/src/components/common/useDebouncedCallback.tsx +20 -0
  211. package/src/components/common/useScrollRestoration.tsx +68 -0
  212. package/src/components/common/useTableSearchHelper.ts +53 -12
  213. package/src/components/index.tsx +4 -2
  214. package/src/contexts/BreacrumbsContext.tsx +38 -0
  215. package/src/contexts/DialogsProvider.tsx +5 -4
  216. package/src/contexts/SnackbarProvider.tsx +2 -0
  217. package/src/core/DefaultAppBar.tsx +201 -0
  218. package/src/core/DefaultDrawer.tsx +185 -0
  219. package/src/core/DrawerNavigationItem.tsx +66 -0
  220. package/src/core/EntityEditView.tsx +1001 -213
  221. package/src/core/EntitySidePanel.tsx +80 -17
  222. package/src/core/FireCMS.tsx +56 -49
  223. package/src/core/FireCMSRouter.tsx +17 -0
  224. package/src/core/NavigationRoutes.tsx +20 -34
  225. package/src/core/SideDialogs.tsx +12 -6
  226. package/src/core/field_configs.tsx +11 -12
  227. package/src/core/index.tsx +6 -5
  228. package/src/form/PropertyFieldBinding.tsx +85 -44
  229. package/src/form/components/CustomIdField.tsx +6 -2
  230. package/src/form/components/FieldHelperText.tsx +4 -4
  231. package/src/form/components/LabelWithIcon.tsx +30 -19
  232. package/src/form/components/LabelWithIconAndTooltip.tsx +28 -0
  233. package/src/form/components/StorageItemPreview.tsx +22 -12
  234. package/src/form/components/StorageUploadProgress.tsx +3 -4
  235. package/src/form/components/index.tsx +1 -1
  236. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +31 -17
  237. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +47 -35
  238. package/src/form/field_bindings/BlockFieldBinding.tsx +56 -34
  239. package/src/form/field_bindings/DateTimeFieldBinding.tsx +18 -14
  240. package/src/form/field_bindings/KeyValueFieldBinding.tsx +60 -51
  241. package/src/form/field_bindings/MapFieldBinding.tsx +72 -53
  242. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +150 -0
  243. package/src/form/field_bindings/{MultiSelectBinding.tsx → MultiSelectFieldBinding.tsx} +25 -20
  244. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +11 -16
  245. package/src/form/field_bindings/ReferenceFieldBinding.tsx +42 -31
  246. package/src/form/field_bindings/RepeatFieldBinding.tsx +56 -35
  247. package/src/form/field_bindings/SelectFieldBinding.tsx +22 -14
  248. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +37 -47
  249. package/src/form/field_bindings/SwitchFieldBinding.tsx +29 -24
  250. package/src/form/field_bindings/TextFieldBinding.tsx +28 -24
  251. package/src/form/index.tsx +4 -9
  252. package/src/form/useClearRestoreValue.tsx +2 -2
  253. package/src/form/validation.ts +1 -17
  254. package/src/hooks/data/delete.ts +6 -5
  255. package/src/hooks/data/save.ts +13 -9
  256. package/src/hooks/data/useCollectionFetch.tsx +3 -3
  257. package/src/hooks/data/useDataSource.tsx +11 -3
  258. package/src/hooks/data/useEntityFetch.tsx +10 -6
  259. package/src/hooks/index.tsx +1 -0
  260. package/src/hooks/useAuthController.tsx +1 -1
  261. package/src/hooks/useBreadcrumbsController.tsx +31 -0
  262. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +8 -10
  263. package/src/hooks/useBuildModeController.tsx +11 -5
  264. package/src/hooks/useBuildNavigationController.tsx +150 -50
  265. package/src/hooks/useFireCMSContext.tsx +5 -5
  266. package/src/hooks/useLargeLayout.tsx +0 -35
  267. package/src/hooks/useProjectLog.tsx +32 -10
  268. package/src/hooks/useResolvedNavigationFrom.tsx +10 -12
  269. package/src/hooks/useValidateAuthenticator.tsx +17 -37
  270. package/src/index.ts +1 -0
  271. package/src/internal/useBuildDataSource.ts +72 -82
  272. package/src/internal/useBuildSideDialogsController.tsx +4 -2
  273. package/src/internal/useBuildSideEntityController.tsx +230 -70
  274. package/src/internal/useUnsavedChangesDialog.tsx +127 -91
  275. package/src/preview/PropertyPreview.tsx +13 -20
  276. package/src/preview/PropertyPreviewProps.tsx +7 -1
  277. package/src/preview/components/BooleanPreview.tsx +2 -2
  278. package/src/preview/components/EmptyValue.tsx +1 -1
  279. package/src/preview/components/EnumValuesChip.tsx +2 -2
  280. package/src/preview/components/ImagePreview.tsx +25 -36
  281. package/src/preview/components/ReferencePreview.tsx +22 -33
  282. package/src/preview/components/StorageThumbnail.tsx +5 -1
  283. package/src/preview/components/UrlComponentPreview.tsx +44 -11
  284. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +2 -3
  285. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +4 -3
  286. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +2 -3
  287. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +1 -2
  288. package/src/preview/property_previews/ArrayOneOfPreview.tsx +4 -5
  289. package/src/preview/property_previews/ArrayPropertyPreview.tsx +4 -5
  290. package/src/preview/property_previews/MapPropertyPreview.tsx +9 -9
  291. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +12 -12
  292. package/src/preview/property_previews/StringPropertyPreview.tsx +3 -3
  293. package/src/preview/util.ts +10 -10
  294. package/src/routes/CustomCMSRoute.tsx +21 -0
  295. package/src/routes/FireCMSRoute.tsx +230 -0
  296. package/src/routes/HomePageRoute.tsx +17 -0
  297. package/src/types/auth.tsx +9 -13
  298. package/src/types/collections.ts +87 -27
  299. package/src/types/customization_controller.tsx +0 -1
  300. package/src/types/datasource.ts +61 -43
  301. package/src/types/dialogs_controller.tsx +7 -3
  302. package/src/types/entities.ts +12 -2
  303. package/src/types/entity_actions.tsx +32 -7
  304. package/src/types/entity_callbacks.ts +18 -18
  305. package/src/types/entity_overrides.tsx +2 -2
  306. package/src/types/export_import.ts +4 -4
  307. package/src/types/fields.tsx +72 -46
  308. package/src/types/firecms.tsx +7 -2
  309. package/src/types/firecms_context.tsx +1 -1
  310. package/src/types/index.ts +0 -1
  311. package/src/types/navigation.ts +37 -18
  312. package/src/types/permissions.ts +5 -5
  313. package/src/types/plugins.tsx +25 -14
  314. package/src/types/properties.ts +59 -24
  315. package/src/types/property_config.tsx +0 -2
  316. package/src/types/side_dialogs_controller.tsx +13 -0
  317. package/src/types/side_entity_controller.tsx +1 -1
  318. package/src/types/storage.ts +94 -3
  319. package/src/types/user.ts +2 -0
  320. package/src/util/builders.ts +10 -8
  321. package/src/util/entities.ts +9 -6
  322. package/src/util/entity_actions.ts +28 -0
  323. package/src/util/entity_cache.ts +196 -0
  324. package/src/util/enums.ts +1 -1
  325. package/src/util/icon_list.ts +16 -10
  326. package/src/util/icon_synonyms.ts +3 -100
  327. package/src/util/icons.tsx +17 -7
  328. package/src/util/index.ts +2 -0
  329. package/src/util/join_collections.ts +3 -0
  330. package/src/util/make_properties_editable.ts +13 -5
  331. package/src/util/navigation_from_path.ts +10 -2
  332. package/src/util/navigation_utils.ts +59 -7
  333. package/src/util/objects.ts +45 -28
  334. package/src/util/parent_references_from_path.ts +3 -3
  335. package/src/util/permissions.ts +9 -8
  336. package/src/util/plurals.ts +0 -2
  337. package/src/util/property_utils.tsx +11 -4
  338. package/src/util/references.ts +11 -2
  339. package/src/util/resolutions.ts +79 -46
  340. package/src/util/storage.ts +79 -21
  341. package/src/util/strings.ts +2 -2
  342. package/src/util/useStorageUploadController.tsx +34 -8
  343. package/dist/components/PropertyIdCopyTooltipContent.d.ts +0 -3
  344. package/dist/components/VirtualTable/common.d.ts +0 -2
  345. package/dist/core/Drawer.d.ts +0 -23
  346. package/dist/core/Scaffold.d.ts +0 -55
  347. package/dist/core/SideEntityView.d.ts +0 -7
  348. package/dist/form/EntityForm.d.ts +0 -77
  349. package/dist/form/components/FormikArrayContainer.d.ts +0 -18
  350. package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +0 -9
  351. package/dist/internal/useBuildCustomizationController.d.ts +0 -2
  352. package/dist/internal/useLocaleConfig.d.ts +0 -1
  353. package/dist/types/appcheck.d.ts +0 -26
  354. package/src/components/FireCMSAppBar.tsx +0 -165
  355. package/src/components/PropertyIdCopyTooltipContent.tsx +0 -28
  356. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +0 -225
  357. package/src/core/Drawer.tsx +0 -191
  358. package/src/core/Scaffold.tsx +0 -281
  359. package/src/core/SideEntityView.tsx +0 -38
  360. package/src/form/EntityForm.tsx +0 -728
  361. package/src/form/components/FormikArrayContainer.tsx +0 -44
  362. package/src/form/field_bindings/MarkdownFieldBinding.tsx +0 -695
  363. package/src/internal/useBuildCustomizationController.tsx +0 -5
  364. package/src/internal/useLocaleConfig.tsx +0 -18
  365. package/src/types/appcheck.ts +0 -29
  366. /package/src/util/{common.tsx → common.ts} +0 -0
@@ -1,11 +1,13 @@
1
1
  import React, { useCallback, useEffect, useMemo } from "react";
2
2
 
3
3
  import { EntitySidePanelProps } from "../types";
4
- import { useNavigationController } from "../hooks";
4
+ import { useNavigationController, useSideEntityController } from "../hooks";
5
5
 
6
6
  import { ErrorBoundary } from "../components";
7
- import { EntityEditView } from "./EntityEditView";
7
+ import { EntityEditView, OnUpdateParams } from "./EntityEditView";
8
8
  import { useSideDialogContext } from "./SideDialogs";
9
+ import { CloseIcon, IconButton, OpenInFullIcon } from "@firecms/ui";
10
+ import { useLocation, useNavigate } from "react-router-dom";
9
11
 
10
12
  /**
11
13
  * This is the component in charge of rendering the side dialog used
@@ -20,30 +22,58 @@ export function EntitySidePanel(props: EntitySidePanelProps) {
20
22
  const {
21
23
  blocked,
22
24
  setBlocked,
23
- setBlockedNavigationMessage
25
+ setBlockedNavigationMessage,
26
+ close
24
27
  } = useSideDialogContext();
25
28
 
29
+ const navigate = useNavigate();
30
+ const location = useLocation();
31
+
32
+ const sideEntityController = useSideEntityController();
26
33
  const navigationController = useNavigationController();
27
34
 
35
+ const onClose = () => {
36
+ if (props.onClose) {
37
+ props.onClose();
38
+ }
39
+
40
+ setBlocked(false);
41
+ close(true);
42
+ }
43
+
44
+ const onUpdate = (params: OnUpdateParams) => {
45
+ if (props.onUpdate) {
46
+ props.onUpdate(params);
47
+ }
48
+ if (params.status !== "existing") {
49
+ sideEntityController.replace({
50
+ path: params.path,
51
+ entityId: params.entityId,
52
+ selectedTab: params.selectedTab,
53
+ updateUrl: true,
54
+ collection: params.collection,
55
+ });
56
+ }
57
+
58
+ }
59
+
28
60
  const parentCollectionIds = useMemo(() => {
29
61
  return navigationController.getParentCollectionIds(props.path);
30
62
  }, [navigationController, props.path]);
31
63
 
32
64
  const collection = useMemo(() => {
33
- if (!props) return undefined;
34
- let usedCollection = props.collection;
65
+ if (props.collection) {
66
+ return props.collection;
67
+ }
35
68
 
36
- const registryCollection = navigationController.getCollection(props.path, props.entityId);
69
+ const registryCollection = navigationController.getCollection(props.path);
37
70
  if (registryCollection) {
38
- usedCollection = registryCollection;
39
- }
40
- if (!usedCollection) {
41
- console.error("ERROR: No collection found in path `", props.path, "`. Entity id: ", props.entityId);
42
- throw Error("ERROR: No collection found in path `" + props.path + "`. Make sure you have defined a collection for this path in the root navigation.");
71
+ return registryCollection;
43
72
  }
44
73
 
45
- return usedCollection;
46
- }, [navigationController, props]);
74
+ console.error("ERROR: No collection found in path `", props.path, "`. Entity id: ", props.entityId);
75
+ throw Error("ERROR: No collection found in path `" + props.path + "`. Make sure you have defined a collection for this path in the root navigation.");
76
+ }, [navigationController, props.collection]);
47
77
 
48
78
  useEffect(() => {
49
79
  function beforeunload(e: any) {
@@ -63,11 +93,11 @@ export function EntitySidePanel(props: EntitySidePanelProps) {
63
93
 
64
94
  }, [blocked, collection]);
65
95
 
66
- const onValuesAreModified = useCallback((modified: boolean) => {
67
- setBlocked(modified);
96
+ const onValuesModified = useCallback((modified: boolean) => {
68
97
  setBlockedNavigationMessage(modified
69
98
  ? <> You have unsaved changes in this <b>{collection?.singularName ?? collection?.name}</b>.</>
70
99
  : undefined)
100
+ setBlocked(modified);
71
101
  }, [collection?.name, setBlocked, setBlockedNavigationMessage]);
72
102
 
73
103
  if (!props || !collection) {
@@ -79,10 +109,43 @@ export function EntitySidePanel(props: EntitySidePanelProps) {
79
109
  <ErrorBoundary>
80
110
  <EntityEditView
81
111
  {...props}
82
- formWidth={props.width}
112
+ layout={"side_panel"}
83
113
  collection={collection}
84
114
  parentCollectionIds={parentCollectionIds}
85
- onValuesAreModified={onValuesAreModified}
115
+ onValuesModified={onValuesModified}
116
+ onClose={onClose}
117
+ onSaved={onUpdate}
118
+ barActions={<>
119
+ <IconButton
120
+ className="self-center"
121
+ onClick={onClose}>
122
+ <CloseIcon size={"small"}/>
123
+ </IconButton>
124
+ <IconButton
125
+ className="self-center"
126
+ onClick={() => {
127
+ if (props.entityId)
128
+ navigate(location.pathname);
129
+ else
130
+ navigate(location.pathname + "#new");
131
+ }}>
132
+ <OpenInFullIcon size={"small"}/>
133
+ </IconButton>
134
+ </>}
135
+ onTabChange={({
136
+ path,
137
+ entityId,
138
+ selectedTab,
139
+ collection
140
+ }) => {
141
+ sideEntityController.replace({
142
+ path,
143
+ entityId,
144
+ selectedTab,
145
+ updateUrl: true,
146
+ collection
147
+ });
148
+ }}
86
149
  />
87
150
  </ErrorBoundary>
88
151
 
@@ -1,9 +1,11 @@
1
- import React, { useMemo } from "react";
1
+ "use client";
2
2
 
3
- import { EntityCollection, FireCMSContext, FireCMSPlugin, FireCMSProps, User } from "../types";
4
- import { AuthControllerContext, ModeControllerContext } from "../contexts";
3
+ import React, { useMemo } from "react";
4
+ import { CenteredView, Typography } from "@firecms/ui";
5
+ import { CustomizationController, EntityCollection, FireCMSContext, FireCMSPlugin, FireCMSProps, User } from "../types";
6
+ import { AuthControllerContext } from "../contexts";
5
7
  import { useBuildSideEntityController } from "../internal/useBuildSideEntityController";
6
- import { useCustomizationController, useFireCMSContext, useModeController } from "../hooks";
8
+ import { useCustomizationController, useFireCMSContext } from "../hooks";
7
9
  import { useBuildSideDialogsController } from "../internal/useBuildSideDialogsController";
8
10
  import { ErrorView } from "../components";
9
11
  import { StorageSourceContext } from "../contexts/StorageSourceContext";
@@ -12,14 +14,12 @@ import { DataSourceContext } from "../contexts/DataSourceContext";
12
14
  import { SideEntityControllerContext } from "../contexts/SideEntityControllerContext";
13
15
  import { NavigationContext } from "../contexts/NavigationContext";
14
16
  import { SideDialogsControllerContext } from "../contexts/SideDialogsControllerContext";
15
- import { useLocaleConfig } from "../internal/useLocaleConfig";
16
- import { CenteredView, Typography } from "@firecms/ui";
17
17
  import { DialogsProvider } from "../contexts/DialogsProvider";
18
18
  import { useBuildDataSource } from "../internal/useBuildDataSource";
19
- import { useBuildCustomizationController } from "../internal/useBuildCustomizationController";
20
19
  import { CustomizationControllerContext } from "../contexts/CustomizationControllerContext";
21
20
  import { AnalyticsContext } from "../contexts/AnalyticsContext";
22
21
  import { useProjectLog } from "../hooks/useProjectLog";
22
+ import { BreadcrumbsProvider } from "../contexts/BreacrumbsContext";
23
23
 
24
24
  /**
25
25
  * If you are using independent components of the CMS
@@ -30,12 +30,11 @@ import { useProjectLog } from "../hooks/useProjectLog";
30
30
  *
31
31
  * You only need to use this component if you are building a custom app.
32
32
  *
33
- * @constructor
33
+
34
34
  * @group Core
35
35
  */
36
- export function FireCMS<UserType extends User, EC extends EntityCollection>(props: FireCMSProps<UserType, EC>) {
36
+ export function FireCMS<USER extends User, EC extends EntityCollection>(props: FireCMSProps<USER, EC>) {
37
37
 
38
- const modeController = useModeController();
39
38
  const {
40
39
  children,
41
40
  entityLinkBuilder,
@@ -51,10 +50,9 @@ export function FireCMS<UserType extends User, EC extends EntityCollection>(prop
51
50
  entityViews,
52
51
  components,
53
52
  navigationController,
53
+ apiKey
54
54
  } = props;
55
55
 
56
- useLocaleConfig(locale);
57
-
58
56
  /**
59
57
  * Controller in charge of fetching and persisting data
60
58
  */
@@ -71,7 +69,7 @@ export function FireCMS<UserType extends User, EC extends EntityCollection>(prop
71
69
 
72
70
  const loading = authController.initialLoading || navigationController.loading || pluginsLoading;
73
71
 
74
- const customizationController = useBuildCustomizationController({
72
+ const customizationController: CustomizationController = {
75
73
  dateTimeFormat,
76
74
  locale,
77
75
  entityLinkBuilder,
@@ -79,13 +77,22 @@ export function FireCMS<UserType extends User, EC extends EntityCollection>(prop
79
77
  entityViews: entityViews ?? [],
80
78
  propertyConfigs: propertyConfigs ?? {},
81
79
  components
82
- });
80
+ };
83
81
 
84
82
  const analyticsController = useMemo(() => ({
85
83
  onAnalyticsEvent
86
84
  }), []);
87
85
 
88
- const accessResponse = useProjectLog(authController, plugins);
86
+ const accessResponse = useProjectLog({
87
+ apiKey,
88
+ authController,
89
+ dataSourceDelegate,
90
+ plugins
91
+ });
92
+
93
+ if (accessResponse?.message) {
94
+ console.warn(accessResponse.message);
95
+ }
89
96
 
90
97
  if (navigationController.navigationLoadingError) {
91
98
  return (
@@ -109,54 +116,54 @@ export function FireCMS<UserType extends User, EC extends EntityCollection>(prop
109
116
 
110
117
  if (accessResponse?.blocked) {
111
118
  return (
112
- <CenteredView maxWidth={"md"} fullScreen={true}>
113
- <Typography variant={"h4"}>
114
- Access blocked
119
+ <CenteredView maxWidth={"md"} fullScreen={true} className={"flex flex-col gap-2"}>
120
+ <Typography variant={"h4"} gutterBottom>
121
+ License needed
115
122
  </Typography>
116
123
  <Typography>
117
- This app has been blocked. Please reach out at <a
124
+ You need a valid license to use FireCMS PRO. Please reach out at <a
118
125
  href={"mailto:hello@firecms.co"}>hello@firecms.co</a> for more information.
119
126
  </Typography>
120
127
  {accessResponse?.message &&
121
- <Typography>Response from the server: {accessResponse?.message}</Typography>}
128
+ <Typography>{accessResponse?.message}</Typography>}
122
129
  </CenteredView>
123
130
  );
124
131
  }
125
132
 
126
133
  return (
127
- <ModeControllerContext.Provider value={modeController}>
128
- <AnalyticsContext.Provider value={analyticsController}>
129
- <CustomizationControllerContext.Provider value={customizationController}>
130
- <UserConfigurationPersistenceContext.Provider
131
- value={userConfigPersistence}>
132
- <StorageSourceContext.Provider
133
- value={storageSource}>
134
- <DataSourceContext.Provider
135
- value={dataSource}>
136
- <AuthControllerContext.Provider
137
- value={authController}>
138
- <SideDialogsControllerContext.Provider
139
- value={sideDialogsController}>
140
- <SideEntityControllerContext.Provider
141
- value={sideEntityController}>
142
- <NavigationContext.Provider
143
- value={navigationController}>
144
- <DialogsProvider>
134
+ <AnalyticsContext.Provider value={analyticsController}>
135
+ <CustomizationControllerContext.Provider value={customizationController}>
136
+ <UserConfigurationPersistenceContext.Provider
137
+ value={userConfigPersistence}>
138
+ <StorageSourceContext.Provider
139
+ value={storageSource}>
140
+ <DataSourceContext.Provider
141
+ value={dataSource}>
142
+ <AuthControllerContext.Provider
143
+ value={authController}>
144
+ <SideDialogsControllerContext.Provider
145
+ value={sideDialogsController}>
146
+ <SideEntityControllerContext.Provider
147
+ value={sideEntityController}>
148
+ <NavigationContext.Provider
149
+ value={navigationController}>
150
+ <DialogsProvider>
151
+ <BreadcrumbsProvider>
145
152
  <FireCMSInternal
146
153
  loading={loading}>
147
154
  {children}
148
155
  </FireCMSInternal>
149
- </DialogsProvider>
150
- </NavigationContext.Provider>
151
- </SideEntityControllerContext.Provider>
152
- </SideDialogsControllerContext.Provider>
153
- </AuthControllerContext.Provider>
154
- </DataSourceContext.Provider>
155
- </StorageSourceContext.Provider>
156
- </UserConfigurationPersistenceContext.Provider>
157
- </CustomizationControllerContext.Provider>
158
- </AnalyticsContext.Provider>
159
- </ModeControllerContext.Provider>
156
+ </BreadcrumbsProvider>
157
+ </DialogsProvider>
158
+ </NavigationContext.Provider>
159
+ </SideEntityControllerContext.Provider>
160
+ </SideDialogsControllerContext.Provider>
161
+ </AuthControllerContext.Provider>
162
+ </DataSourceContext.Provider>
163
+ </StorageSourceContext.Provider>
164
+ </UserConfigurationPersistenceContext.Provider>
165
+ </CustomizationControllerContext.Provider>
166
+ </AnalyticsContext.Provider>
160
167
  );
161
168
 
162
169
  }
@@ -0,0 +1,17 @@
1
+ import { createBrowserRouter, RouterProvider } from "react-router-dom"
2
+ import { removeInitialAndTrailingSlashes } from "../util";
3
+
4
+ export function FireCMSRouter({
5
+ children,
6
+ basePath
7
+ }: {
8
+ children: React.ReactNode,
9
+ basePath?: string;
10
+ }) {
11
+ return <RouterProvider router={createBrowserRouter([
12
+ {
13
+ path: basePath ? `${removeInitialAndTrailingSlashes(basePath)}/*` : "/*",
14
+ element: children
15
+ }
16
+ ])}/>;
17
+ }
@@ -2,9 +2,11 @@ import React from "react";
2
2
 
3
3
  import { Route, Routes, useLocation } from "react-router-dom";
4
4
  import { CMSView } from "../types";
5
- import { DefaultHomePage, EntityCollectionView, ErrorBoundary, NotFoundPage } from "../components";
5
+ import { DefaultHomePage, ErrorBoundary, NotFoundPage } from "../components";
6
6
  import { useNavigationController } from "../hooks";
7
- import { toArray } from "../util/arrays";
7
+ import { FireCMSRoute } from "../routes/FireCMSRoute";
8
+ import { CustomCMSRoute } from "../routes/CustomCMSRoute";
9
+ import { HomePageRoute } from "../routes/HomePageRoute";
8
10
 
9
11
  /**
10
12
  * @group Components
@@ -13,9 +15,9 @@ export type NavigationRoutesProps = {
13
15
  /**
14
16
  * In case you need to override the home page
15
17
  */
16
- HomePage?: React.ComponentType;
18
+ homePage?: React.ReactNode;
17
19
 
18
- customRoutes?: React.ReactNode[]
20
+ children?: React.ReactNode | React.ReactNode[]
19
21
 
20
22
  };
21
23
 
@@ -25,14 +27,12 @@ export type NavigationRoutesProps = {
25
27
  * or the home route) related to a {@link NavigationController}.
26
28
  * This component needs a parent {@link FireCMS}
27
29
  *
28
- * @constructor
29
30
  * @group Components
30
31
  */
31
-
32
32
  export const NavigationRoutes = React.memo<NavigationRoutesProps>(
33
33
  function NavigationRoutes({
34
- HomePage = DefaultHomePage,
35
- customRoutes
34
+ homePage = <DefaultHomePage/>,
35
+ children
36
36
  }: NavigationRoutesProps) {
37
37
 
38
38
  const location = useLocation();
@@ -68,32 +68,18 @@ export const NavigationRoutes = React.memo<NavigationRoutesProps>(
68
68
  });
69
69
  }
70
70
 
71
- // we reorder collections so that nested paths are included first
72
- const sortedCollections = [...(navigation.collections ?? [])]
73
- .sort((a, b) => b.path.length - a.path.length);
74
-
75
- const collectionRoutes = sortedCollections
76
- .map((collection) => {
77
- const urlPath = navigation.buildUrlCollectionPath(collection.id ?? collection.path);
78
- return <Route path={urlPath + "/*"}
79
- key={`navigation_${collection.id ?? collection.path}`}
80
- element={
81
- <ErrorBoundary>
82
- <EntityCollectionView
83
- key={`collection_view_${collection.id ?? collection.path}`}
84
- isSubCollection={false}
85
- parentCollectionIds={[]}
86
- fullPath={collection.id ?? collection.path}
87
- {...collection}
88
- Actions={toArray(collection.Actions)}/>
89
- </ErrorBoundary>
90
- }/>;
91
- }
92
- );
71
+ const urlPath = navigation.buildUrlCollectionPath("");
72
+ const collectionRoute = <Route path={urlPath + "/*"}
73
+ key={`navigation_entity`}
74
+ element={
75
+ <ErrorBoundary>
76
+ <FireCMSRoute/>
77
+ </ErrorBoundary>
78
+ }/>
93
79
 
94
80
  const homeRoute = (
95
81
  <Route path={"/"}
96
- element={<HomePage/>}/>
82
+ element={<HomePageRoute>{homePage}</HomePageRoute>}/>
97
83
  );
98
84
 
99
85
  const notFoundRoute = <Route path={"*"}
@@ -104,7 +90,7 @@ export const NavigationRoutes = React.memo<NavigationRoutesProps>(
104
90
  return (
105
91
  <Routes location={baseLocation}>
106
92
 
107
- {collectionRoutes}
93
+ {collectionRoute}
108
94
 
109
95
  {cmsViews}
110
96
 
@@ -112,7 +98,7 @@ export const NavigationRoutes = React.memo<NavigationRoutesProps>(
112
98
 
113
99
  {notFoundRoute}
114
100
 
115
- {customRoutes}
101
+ {children}
116
102
 
117
103
  </Routes>
118
104
  );
@@ -122,6 +108,6 @@ const buildCMSViewRoute = (path: string, cmsView: CMSView) => {
122
108
  return <Route
123
109
  key={"navigation_view_" + path}
124
110
  path={path}
125
- element={cmsView.view}
111
+ element={<CustomCMSRoute cmsView={cmsView}/>}
126
112
  />;
127
113
  };
@@ -2,8 +2,9 @@ import React, { useContext, useEffect, useState } from "react";
2
2
  import { useSideDialogsController } from "../hooks";
3
3
  import { SideDialogPanelProps } from "../types";
4
4
  import { Sheet } from "@firecms/ui";
5
- import { UnsavedChangesDialog, useNavigationUnsavedChangesDialog } from "../internal/useUnsavedChangesDialog";
5
+ import { useNavigationUnsavedChangesDialog } from "../internal/useUnsavedChangesDialog";
6
6
  import { ErrorBoundary } from "../components";
7
+ import { UnsavedChangesDialog } from "../components/UnsavedChangesDialog";
7
8
 
8
9
  export type SideDialogContextProps = {
9
10
  blocked: boolean,
@@ -111,8 +112,6 @@ function SideDialogView({
111
112
  }
112
113
  };
113
114
 
114
- // const offsetClass = offsetPosition > 0 ? `transform translate-x-${offsetPosition}` : "";
115
-
116
115
  return (
117
116
  <SideDialogContext.Provider
118
117
  value={{
@@ -126,13 +125,20 @@ function SideDialogView({
126
125
  <Sheet
127
126
  open={Boolean(panel)}
128
127
  onOpenChange={(open) => !open && onCloseRequest()}
128
+ title={"Side dialog " + panel?.key}
129
+ // style={{
130
+ // zIndex: offsetPosition * 20 + 20,
131
+ // }}
132
+ // overlayStyle={{
133
+ // zIndex: offsetPosition * 20 + 10,
134
+ // }}
129
135
  >
130
136
  {panel &&
131
137
  <div
132
- className={"transform max-w-[100vw] lg:max-w-[95vw] flex flex-col h-full transition-all duration-250 ease-in-out bg-white dark:bg-gray-900 "}
138
+ className={"transform max-w-[100vw] lg:max-w-[95vw] flex flex-col h-full transition-all duration-250 ease-in-out bg-white dark:bg-surface-900 "}
133
139
  style={{
134
140
  width: panel.width,
135
- transform: `translateX(-${offsetPosition * 200}px)`
141
+ transform: `translateX(-${offsetPosition * 200}px)`,
136
142
  }}
137
143
  >
138
144
  <ErrorBoundary>
@@ -145,7 +151,7 @@ function SideDialogView({
145
151
  </Sheet>
146
152
 
147
153
  <UnsavedChangesDialog
148
- open={navigationWasBlocked || drawerCloseRequested}
154
+ open={drawerCloseRequested}
149
155
  handleOk={drawerCloseRequested ? handleDrawerCloseOk : handleNavigationOk}
150
156
  handleCancel={drawerCloseRequested ? handleDrawerCloseCancel : handleNavigationCancel}
151
157
  body={blockedNavigationMessage}/>
@@ -8,8 +8,8 @@ import {
8
8
  DateTimeFieldBinding,
9
9
  KeyValueFieldBinding,
10
10
  MapFieldBinding,
11
- MarkdownFieldBinding,
12
- MultiSelectBinding,
11
+ MarkdownEditorFieldBinding,
12
+ MultiSelectFieldBinding,
13
13
  ReferenceFieldBinding,
14
14
  RepeatFieldBinding,
15
15
  SelectFieldBinding,
@@ -23,7 +23,6 @@ import {
23
23
  AddLinkIcon,
24
24
  BallotIcon,
25
25
  DriveFolderUploadIcon,
26
- EmailIcon,
27
26
  FlagIcon,
28
27
  FormatListNumberedIcon,
29
28
  FormatQuoteIcon,
@@ -31,6 +30,7 @@ import {
31
30
  LinkIcon,
32
31
  ListAltIcon,
33
32
  ListIcon,
33
+ MailIcon,
34
34
  NumbersIcon,
35
35
  RepeatIcon,
36
36
  ScheduleIcon,
@@ -77,7 +77,7 @@ export const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>> = {
77
77
  property: {
78
78
  dataType: "string",
79
79
  markdown: true,
80
- Field: MarkdownFieldBinding
80
+ Field: MarkdownEditorFieldBinding
81
81
  }
82
82
  },
83
83
  url: {
@@ -96,7 +96,7 @@ export const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>> = {
96
96
  key: "email",
97
97
  name: "Email",
98
98
  description: "Text with email validation",
99
- Icon: EmailIcon,
99
+ Icon: MailIcon,
100
100
  color: "#154fb3",
101
101
  property: {
102
102
  dataType: "string",
@@ -129,7 +129,7 @@ export const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>> = {
129
129
  },
130
130
  multi_select: {
131
131
  key: "multi_select",
132
- name: "Multi select",
132
+ name: "Multi select (enum)",
133
133
  description: "Select multiple text values from within an enumeration",
134
134
  Icon: ListAltIcon,
135
135
  color: "#4223c9",
@@ -139,7 +139,7 @@ export const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>> = {
139
139
  dataType: "string",
140
140
  enumValues: [],
141
141
  },
142
- Field: MultiSelectBinding
142
+ Field: MultiSelectFieldBinding
143
143
  }
144
144
  },
145
145
  number_input: {
@@ -177,7 +177,7 @@ export const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>> = {
177
177
  dataType: "number",
178
178
  enumValues: [],
179
179
  },
180
- Field: MultiSelectBinding
180
+ Field: MultiSelectFieldBinding
181
181
  }
182
182
  },
183
183
  file_upload: {
@@ -300,7 +300,7 @@ export const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>> = {
300
300
  block: {
301
301
  key: "block",
302
302
  name: "Block",
303
- description: "A complex field that allows the user to compose different fields together, with a key->value format",
303
+ description: "A complex field that allows the user to compose different fields together, with a key/value format",
304
304
  Icon: ViewStreamIcon,
305
305
  color: "#ff9408",
306
306
  property: {
@@ -331,7 +331,7 @@ export function getFieldConfig(property: Property | ResolvedProperty, propertyCo
331
331
  }
332
332
  const defaultFieldConfig = DEFAULT_FIELD_CONFIGS[defaultFieldId];
333
333
  const customField = fieldId ? propertyConfigs[fieldId] : undefined;
334
- return mergeDeep(defaultFieldConfig ?? {}, customField ?? {});
334
+ return mergeDeep(defaultFieldConfig ?? {}, customField ?? {} as PropertyConfig);
335
335
  }
336
336
 
337
337
  export function getDefaultFieldId(property: Property | ResolvedProperty) {
@@ -359,8 +359,7 @@ export function getDefaultFieldId(property: Property | ResolvedProperty) {
359
359
  } else if (property.dataType === "map") {
360
360
  if (property.keyValue)
361
361
  return "key_value";
362
- if (property.properties)
363
- return "group";
362
+ return "group";
364
363
  } else if (property.dataType === "array") {
365
364
  const of = (property as ArrayProperty).of;
366
365
  const oneOf = (property as ArrayProperty).oneOf;
@@ -1,12 +1,13 @@
1
1
  export * from "./FireCMS";
2
2
 
3
- export type { ScaffoldProps } from "./Scaffold";
4
- export { Scaffold } from "./Scaffold";
5
-
6
- export type { DrawerProps } from "./Drawer";
7
- export { Drawer, DrawerNavigationItem } from "./Drawer";
3
+ export * from "./DefaultDrawer";
4
+ export * from "./DrawerNavigationItem";
8
5
 
9
6
  export * from "./field_configs";
10
7
 
11
8
  export * from "./SideDialogs";
12
9
  export * from "./NavigationRoutes";
10
+
11
+ export * from "./FireCMSRouter";
12
+
13
+ export * from "../app";