@firecms/core 3.0.0-alpha.8 → 3.0.0-alpha.80

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 (470) hide show
  1. package/README.md +1 -1
  2. package/dist/components/ArrayContainer.d.ts +42 -0
  3. package/dist/components/CircularProgressCenter.d.ts +11 -0
  4. package/dist/components/DeleteConfirmationDialog.d.ts +9 -0
  5. package/dist/components/DeleteEntityDialog.d.ts +12 -0
  6. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +35 -0
  7. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +30 -0
  8. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +106 -0
  9. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +18 -0
  10. package/dist/components/EntityCollectionTable/SimpleEntityCollectionTable.d.ts +95 -0
  11. package/dist/components/EntityCollectionTable/column_utils.d.ts +16 -0
  12. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +15 -0
  13. package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
  14. package/dist/components/EntityCollectionTable/filters/BooleanFilterField.d.ts +9 -0
  15. package/dist/components/EntityCollectionTable/filters/DateTimeFilterField.d.ts +11 -0
  16. package/dist/components/EntityCollectionTable/filters/ReferenceFilterField.d.ts +14 -0
  17. package/dist/components/EntityCollectionTable/filters/StringNumberFilterField.d.ts +13 -0
  18. package/dist/components/EntityCollectionTable/index.d.ts +8 -0
  19. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
  20. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
  21. package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
  22. package/dist/components/EntityCollectionTable/internal/common.d.ts +4 -0
  23. package/dist/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
  24. package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
  25. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
  26. package/dist/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
  27. package/dist/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
  28. package/dist/components/EntityCollectionTable/types.d.ts +53 -0
  29. package/dist/components/EntityCollectionTable/useDataSourceEntityCollectionTableController.d.ts +32 -0
  30. package/dist/components/EntityCollectionTable/useDebouncedData.d.ts +9 -0
  31. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +37 -0
  32. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
  33. package/dist/components/EntityCollectionView/useColumnsIds.d.ts +4 -0
  34. package/dist/components/EntityPreview.d.ts +11 -0
  35. package/dist/components/ErrorBoundary.d.ts +11 -0
  36. package/dist/components/ErrorTooltip.d.ts +2 -0
  37. package/dist/components/ErrorView.d.ts +19 -0
  38. package/dist/components/FieldConfigBadge.d.ts +4 -0
  39. package/dist/components/FireCMSAppBar.d.ts +26 -0
  40. package/dist/components/FireCMSLogo.d.ts +7 -0
  41. package/dist/components/HomePage/DefaultHomePage.d.ts +21 -0
  42. package/dist/components/HomePage/FavouritesView.d.ts +3 -0
  43. package/dist/components/HomePage/NavigationCollectionCard.d.ts +17 -0
  44. package/dist/components/HomePage/NavigationGroup.d.ts +4 -0
  45. package/dist/components/HomePage/index.d.ts +3 -0
  46. package/dist/components/LabelWithIcon.d.ts +14 -0
  47. package/dist/components/NotFoundPage.d.ts +1 -0
  48. package/dist/components/ReferenceSelectionInner.d.ts +58 -0
  49. package/dist/components/ReferenceWidget.d.ts +28 -0
  50. package/dist/components/SearchIconsView.d.ts +5 -0
  51. package/dist/components/VirtualTable/VirtualTable.d.ts +11 -0
  52. package/dist/components/VirtualTable/VirtualTableCell.d.ts +14 -0
  53. package/dist/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
  54. package/dist/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
  55. package/dist/components/VirtualTable/VirtualTableProps.d.ts +214 -0
  56. package/dist/components/VirtualTable/VirtualTableRow.d.ts +3 -0
  57. package/dist/components/VirtualTable/common.d.ts +2 -0
  58. package/dist/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
  59. package/dist/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
  60. package/dist/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
  61. package/dist/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
  62. package/dist/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
  63. package/dist/components/VirtualTable/index.d.ts +2 -0
  64. package/dist/components/VirtualTable/types.d.ts +34 -0
  65. package/dist/components/index.d.ts +21 -0
  66. package/dist/contexts/AuthControllerContext.d.ts +3 -0
  67. package/dist/contexts/DataSourceContext.d.ts +3 -0
  68. package/dist/contexts/DialogsProvider.d.ts +4 -0
  69. package/dist/contexts/ModeController.d.ts +4 -0
  70. package/dist/contexts/NavigationContext.d.ts +3 -0
  71. package/dist/contexts/SideDialogsControllerContext.d.ts +3 -0
  72. package/dist/contexts/SideEntityControllerContext.d.ts +3 -0
  73. package/dist/contexts/SnackbarProvider.d.ts +2 -0
  74. package/dist/contexts/StorageSourceContext.d.ts +3 -0
  75. package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
  76. package/dist/contexts/index.d.ts +3 -0
  77. package/dist/core/Drawer.d.ts +23 -0
  78. package/dist/core/EntitySidePanel.d.ts +10 -0
  79. package/dist/core/FireCMS.d.ts +14 -0
  80. package/dist/core/NavigationRoutes.d.ts +21 -0
  81. package/dist/core/Scaffold.d.ts +52 -0
  82. package/dist/core/SideDialogs.d.ts +23 -0
  83. package/dist/core/field_configs.d.ts +7 -0
  84. package/dist/core/index.d.ts +10 -0
  85. package/dist/core/useBuildLocalConfigurationPersistence.d.ts +2 -0
  86. package/dist/core/useBuildModeController.d.ts +6 -0
  87. package/dist/form/EntityForm.d.ts +75 -0
  88. package/dist/form/PropertyFieldBinding.d.ts +30 -0
  89. package/dist/form/components/CustomIdField.d.ts +9 -0
  90. package/dist/form/components/ErrorFocus.d.ts +4 -0
  91. package/dist/form/components/FieldHelperText.d.ts +12 -0
  92. package/dist/form/components/FormikArrayContainer.d.ts +18 -0
  93. package/dist/form/components/StorageItemPreview.d.ts +13 -0
  94. package/dist/form/components/StorageUploadProgress.d.ts +10 -0
  95. package/dist/form/components/SubmitListener.d.ts +1 -0
  96. package/dist/form/components/SwitchControl.d.ts +8 -0
  97. package/dist/form/components/index.d.ts +3 -0
  98. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
  99. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
  100. package/dist/form/field_bindings/BlockFieldBinding.d.ts +10 -0
  101. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
  102. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
  103. package/dist/form/field_bindings/MapFieldBinding.d.ts +9 -0
  104. package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
  105. package/dist/form/field_bindings/MultiSelectBinding.d.ts +9 -0
  106. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
  107. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
  108. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
  109. package/dist/form/field_bindings/SelectFieldBinding.d.ts +12 -0
  110. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +28 -0
  111. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
  112. package/dist/form/field_bindings/TextFieldBinding.d.ts +12 -0
  113. package/dist/form/index.d.ts +20 -0
  114. package/dist/form/useClearRestoreValue.d.ts +13 -0
  115. package/dist/form/validation.d.ts +25 -0
  116. package/dist/hooks/data/delete.d.ts +37 -0
  117. package/dist/hooks/data/save.d.ts +42 -0
  118. package/dist/hooks/data/useCollectionFetch.d.ts +50 -0
  119. package/dist/hooks/data/useDataOrder.d.ts +12 -0
  120. package/dist/hooks/data/useDataSource.d.ts +6 -0
  121. package/dist/hooks/data/useEntityFetch.d.ts +28 -0
  122. package/dist/hooks/index.d.ts +19 -0
  123. package/dist/hooks/useAuthController.d.ts +11 -0
  124. package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
  125. package/dist/hooks/useClipboard.d.ts +57 -0
  126. package/dist/hooks/useDialogsController.d.ts +11 -0
  127. package/dist/hooks/useFireCMSContext.d.ts +12 -0
  128. package/dist/hooks/useLargeLayout.d.ts +1 -0
  129. package/dist/hooks/useModeController.d.ts +20 -0
  130. package/dist/hooks/useNavigationController.d.ts +9 -0
  131. package/dist/hooks/useReferenceDialog.d.ts +18 -0
  132. package/dist/hooks/useResolvedNavigationFrom.d.ts +72 -0
  133. package/dist/hooks/useSideDialogsController.d.ts +18 -0
  134. package/dist/hooks/useSideEntityController.d.ts +12 -0
  135. package/dist/hooks/useSnackbarController.d.ts +41 -0
  136. package/dist/hooks/useStorageSource.d.ts +6 -0
  137. package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
  138. package/dist/hooks/useVerifyLicense.d.ts +0 -0
  139. package/dist/index.d.ts +8 -0
  140. package/dist/index.es.js +15810 -26791
  141. package/dist/index.es.js.map +1 -1
  142. package/dist/index.umd.js +5 -1027
  143. package/dist/index.umd.js.map +1 -1
  144. package/dist/internal/EntityView.d.ts +22 -0
  145. package/dist/internal/common.d.ts +3 -0
  146. package/dist/internal/useBuildDataSource.d.ts +22 -0
  147. package/dist/internal/useBuildNavigationController.d.ts +14 -0
  148. package/dist/internal/useBuildSideDialogsController.d.ts +2 -0
  149. package/dist/internal/useBuildSideEntityController.d.ts +4 -0
  150. package/dist/internal/useLocaleConfig.d.ts +1 -0
  151. package/dist/internal/useRestoreScroll.d.ts +6 -0
  152. package/dist/internal/useUnsavedChangesDialog.d.ts +14 -0
  153. package/dist/preview/PropertyPreview.d.ts +7 -0
  154. package/dist/preview/PropertyPreviewProps.d.ts +43 -0
  155. package/dist/preview/components/ArrayEnumPreview.d.ts +11 -0
  156. package/dist/preview/components/AsyncPreviewComponent.d.ts +11 -0
  157. package/dist/preview/components/BooleanPreview.d.ts +7 -0
  158. package/dist/preview/components/DatePreview.d.ts +7 -0
  159. package/dist/preview/components/EmptyValue.d.ts +4 -0
  160. package/dist/preview/components/EnumValuesChip.d.ts +13 -0
  161. package/dist/preview/components/ImagePreview.d.ts +12 -0
  162. package/dist/preview/components/ReferencePreview.d.ts +22 -0
  163. package/dist/preview/components/StorageThumbnail.d.ts +13 -0
  164. package/dist/preview/components/UrlComponentPreview.d.ts +12 -0
  165. package/dist/preview/index.d.ts +23 -0
  166. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
  167. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
  168. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
  169. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
  170. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
  171. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
  172. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
  173. package/dist/preview/property_previews/MapPropertyPreview.d.ts +8 -0
  174. package/dist/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
  175. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
  176. package/dist/preview/property_previews/StringPropertyPreview.d.ts +6 -0
  177. package/dist/preview/util.d.ts +7 -0
  178. package/dist/types/analytics.d.ts +1 -0
  179. package/dist/types/appcheck.d.ts +26 -0
  180. package/dist/types/auth.d.ts +40 -0
  181. package/dist/types/collections.d.ts +451 -0
  182. package/dist/types/datasource.d.ts +262 -0
  183. package/dist/types/dialogs_controller.d.ts +32 -0
  184. package/dist/types/entities.d.ts +57 -0
  185. package/dist/types/entity_actions.d.ts +35 -0
  186. package/dist/types/entity_callbacks.d.ts +171 -0
  187. package/dist/types/entity_link_builder.d.ts +7 -0
  188. package/dist/types/export_import.d.ts +21 -0
  189. package/dist/types/fields.d.ts +181 -0
  190. package/dist/types/firecms.d.ts +151 -0
  191. package/dist/types/firecms_context.d.ts +110 -0
  192. package/dist/types/index.d.ts +26 -0
  193. package/dist/types/local_config_persistence.d.ts +21 -0
  194. package/dist/types/locales.d.ts +4 -0
  195. package/dist/types/modify_collections.d.ts +5 -0
  196. package/dist/types/navigation.d.ts +178 -0
  197. package/dist/types/permissions.d.ts +63 -0
  198. package/dist/types/plugins.d.ts +181 -0
  199. package/dist/types/properties.d.ts +681 -0
  200. package/dist/types/property_config.d.ts +42 -0
  201. package/dist/types/resolved_entities.d.ts +98 -0
  202. package/dist/types/side_dialogs_controller.d.ts +57 -0
  203. package/dist/types/side_entity_controller.d.ts +83 -0
  204. package/dist/types/storage.d.ts +82 -0
  205. package/dist/types/user.d.ts +36 -0
  206. package/dist/util/arrays.d.ts +1 -0
  207. package/dist/util/builders.d.ts +64 -0
  208. package/dist/util/collections.d.ts +3 -0
  209. package/dist/util/common.d.ts +2 -0
  210. package/dist/util/dates.d.ts +1 -0
  211. package/dist/util/entities.d.ts +28 -0
  212. package/dist/util/enums.d.ts +7 -0
  213. package/dist/util/flatten_object.d.ts +3 -0
  214. package/dist/util/hash.d.ts +1 -0
  215. package/dist/util/icon_list.d.ts +1 -0
  216. package/dist/util/icon_synonyms.d.ts +1950 -0
  217. package/dist/util/icons.d.ts +4 -0
  218. package/dist/util/index.d.ts +22 -0
  219. package/dist/util/join_collections.d.ts +9 -0
  220. package/dist/util/make_properties_editable.d.ts +3 -0
  221. package/dist/util/navigation_from_path.d.ts +24 -0
  222. package/dist/util/navigation_utils.d.ts +20 -0
  223. package/dist/util/objects.d.ts +10 -0
  224. package/dist/util/os.d.ts +2 -0
  225. package/dist/util/parent_references_from_path.d.ts +6 -0
  226. package/dist/util/paths.d.ts +14 -0
  227. package/dist/util/permissions.d.ts +5 -0
  228. package/dist/util/plurals.d.ts +18 -0
  229. package/dist/util/property_utils.d.ts +23 -0
  230. package/dist/util/references.d.ts +2 -0
  231. package/dist/util/regexp.d.ts +7 -0
  232. package/dist/util/resolutions.d.ts +64 -0
  233. package/dist/util/storage.d.ts +3 -0
  234. package/dist/util/strings.d.ts +6 -0
  235. package/dist/util/useDebounce.d.ts +1 -0
  236. package/dist/util/useStorageUploadController.d.ts +36 -0
  237. package/dist/util/useTraceUpdate.d.ts +1 -0
  238. package/package.json +112 -142
  239. package/src/components/ArrayContainer.tsx +369 -0
  240. package/src/components/CircularProgressCenter.tsx +26 -0
  241. package/src/components/DeleteConfirmationDialog.tsx +47 -0
  242. package/src/components/DeleteEntityDialog.tsx +207 -0
  243. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +174 -0
  244. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +496 -0
  245. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +150 -0
  246. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +461 -0
  247. package/src/components/EntityCollectionTable/SimpleEntityCollectionTable.tsx +369 -0
  248. package/src/components/EntityCollectionTable/column_utils.tsx +74 -0
  249. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +159 -0
  250. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +313 -0
  251. package/src/components/EntityCollectionTable/filters/BooleanFilterField.tsx +49 -0
  252. package/src/components/EntityCollectionTable/filters/DateTimeFilterField.tsx +109 -0
  253. package/src/components/EntityCollectionTable/filters/ReferenceFilterField.tsx +187 -0
  254. package/src/components/EntityCollectionTable/filters/StringNumberFilterField.tsx +159 -0
  255. package/src/components/EntityCollectionTable/index.tsx +20 -0
  256. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +113 -0
  257. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +257 -0
  258. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +70 -0
  259. package/src/components/EntityCollectionTable/internal/common.tsx +70 -0
  260. package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +122 -0
  261. package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +59 -0
  262. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +401 -0
  263. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +97 -0
  264. package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
  265. package/src/components/EntityCollectionTable/types.tsx +58 -0
  266. package/src/components/EntityCollectionTable/useDataSourceEntityCollectionTableController.tsx +225 -0
  267. package/src/components/EntityCollectionTable/useDebouncedData.ts +49 -0
  268. package/src/components/EntityCollectionView/EntityCollectionView.tsx +815 -0
  269. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +131 -0
  270. package/src/components/EntityCollectionView/useColumnsIds.tsx +100 -0
  271. package/src/components/EntityPreview.tsx +83 -0
  272. package/src/components/ErrorBoundary.tsx +40 -0
  273. package/src/components/ErrorTooltip.tsx +11 -0
  274. package/src/components/ErrorView.tsx +52 -0
  275. package/src/components/FieldConfigBadge.tsx +17 -0
  276. package/src/components/FireCMSAppBar.tsx +157 -0
  277. package/src/components/FireCMSLogo.tsx +73 -0
  278. package/src/components/HomePage/DefaultHomePage.tsx +209 -0
  279. package/src/components/HomePage/FavouritesView.tsx +64 -0
  280. package/src/components/HomePage/NavigationCollectionCard.tsx +145 -0
  281. package/src/components/HomePage/NavigationGroup.tsx +39 -0
  282. package/src/components/HomePage/index.tsx +3 -0
  283. package/src/components/LabelWithIcon.tsx +33 -0
  284. package/src/components/NotFoundPage.tsx +25 -0
  285. package/src/components/ReferenceSelectionInner.tsx +364 -0
  286. package/src/components/ReferenceWidget.tsx +145 -0
  287. package/src/components/SearchIconsView.tsx +75 -0
  288. package/src/components/VirtualTable/VirtualTable.tsx +402 -0
  289. package/src/components/VirtualTable/VirtualTableCell.tsx +32 -0
  290. package/src/components/VirtualTable/VirtualTableHeader.tsx +260 -0
  291. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +131 -0
  292. package/src/components/VirtualTable/VirtualTableProps.tsx +269 -0
  293. package/src/components/VirtualTable/VirtualTableRow.tsx +53 -0
  294. package/src/components/VirtualTable/common.tsx +18 -0
  295. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +37 -0
  296. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +91 -0
  297. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +82 -0
  298. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +130 -0
  299. package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
  300. package/src/components/VirtualTable/index.tsx +2 -0
  301. package/src/components/VirtualTable/types.tsx +44 -0
  302. package/src/components/index.tsx +31 -0
  303. package/src/contexts/AuthControllerContext.tsx +4 -0
  304. package/src/contexts/DataSourceContext.tsx +4 -0
  305. package/src/contexts/DialogsProvider.tsx +52 -0
  306. package/src/contexts/ModeController.tsx +13 -0
  307. package/src/contexts/NavigationContext.tsx +4 -0
  308. package/src/contexts/SideDialogsControllerContext.tsx +4 -0
  309. package/src/contexts/SideEntityControllerContext.tsx +4 -0
  310. package/src/contexts/SnackbarProvider.tsx +12 -0
  311. package/src/contexts/StorageSourceContext.tsx +4 -0
  312. package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
  313. package/src/contexts/index.ts +3 -0
  314. package/src/core/Drawer.tsx +161 -0
  315. package/src/core/EntitySidePanel.tsx +89 -0
  316. package/src/core/FireCMS.tsx +184 -0
  317. package/src/core/NavigationRoutes.tsx +118 -0
  318. package/src/core/Scaffold.tsx +278 -0
  319. package/src/core/SideDialogs.tsx +156 -0
  320. package/src/core/field_configs.tsx +400 -0
  321. package/src/core/index.tsx +14 -0
  322. package/src/core/useBuildLocalConfigurationPersistence.tsx +67 -0
  323. package/src/core/useBuildModeController.tsx +60 -0
  324. package/src/form/EntityForm.tsx +646 -0
  325. package/src/form/PropertyFieldBinding.tsx +313 -0
  326. package/src/form/components/CustomIdField.tsx +124 -0
  327. package/src/form/components/ErrorFocus.tsx +51 -0
  328. package/src/form/components/FieldHelperText.tsx +58 -0
  329. package/src/form/components/FormikArrayContainer.tsx +44 -0
  330. package/src/form/components/StorageItemPreview.tsx +66 -0
  331. package/src/form/components/StorageUploadProgress.tsx +104 -0
  332. package/src/form/components/SubmitListener.tsx +32 -0
  333. package/src/form/components/SwitchControl.tsx +39 -0
  334. package/src/form/components/index.tsx +3 -0
  335. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +88 -0
  336. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +153 -0
  337. package/src/form/field_bindings/BlockFieldBinding.tsx +245 -0
  338. package/src/form/field_bindings/DateTimeFieldBinding.tsx +67 -0
  339. package/src/form/field_bindings/KeyValueFieldBinding.tsx +560 -0
  340. package/src/form/field_bindings/MapFieldBinding.tsx +136 -0
  341. package/src/form/field_bindings/MarkdownFieldBinding.tsx +696 -0
  342. package/src/form/field_bindings/MultiSelectBinding.tsx +115 -0
  343. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +70 -0
  344. package/src/form/field_bindings/ReferenceFieldBinding.tsx +122 -0
  345. package/src/form/field_bindings/RepeatFieldBinding.tsx +103 -0
  346. package/src/form/field_bindings/SelectFieldBinding.tsx +100 -0
  347. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +438 -0
  348. package/src/form/field_bindings/SwitchFieldBinding.tsx +61 -0
  349. package/src/form/field_bindings/TextFieldBinding.tsx +108 -0
  350. package/src/form/index.tsx +42 -0
  351. package/src/form/useClearRestoreValue.tsx +35 -0
  352. package/src/form/validation.ts +413 -0
  353. package/src/hooks/data/delete.ts +101 -0
  354. package/src/hooks/data/save.ts +165 -0
  355. package/src/hooks/data/useCollectionFetch.tsx +162 -0
  356. package/src/hooks/data/useDataOrder.ts +26 -0
  357. package/src/hooks/data/useDataSource.tsx +9 -0
  358. package/src/hooks/data/useEntityFetch.tsx +129 -0
  359. package/src/hooks/index.tsx +23 -0
  360. package/src/hooks/useAuthController.tsx +14 -0
  361. package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
  362. package/src/hooks/useClipboard.tsx +158 -0
  363. package/src/hooks/useDialogsController.tsx +14 -0
  364. package/src/hooks/useFireCMSContext.tsx +50 -0
  365. package/src/hooks/useLargeLayout.tsx +97 -0
  366. package/src/hooks/useModeController.tsx +24 -0
  367. package/src/hooks/useNavigationController.tsx +12 -0
  368. package/src/hooks/useReferenceDialog.tsx +56 -0
  369. package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
  370. package/src/hooks/useSideDialogsController.tsx +21 -0
  371. package/src/hooks/useSideEntityController.tsx +15 -0
  372. package/src/hooks/useSnackbarController.tsx +76 -0
  373. package/src/hooks/useStorageSource.tsx +9 -0
  374. package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
  375. package/src/hooks/useVerifyLicense.tsx +1 -0
  376. package/src/index.ts +8 -0
  377. package/src/internal/EntityView.tsx +576 -0
  378. package/src/internal/common.tsx +5 -0
  379. package/src/internal/useBuildDataSource.ts +358 -0
  380. package/src/internal/useBuildNavigationController.tsx +371 -0
  381. package/src/internal/useBuildSideDialogsController.tsx +126 -0
  382. package/src/internal/useBuildSideEntityController.tsx +172 -0
  383. package/src/internal/useLocaleConfig.tsx +18 -0
  384. package/src/internal/useRestoreScroll.tsx +48 -0
  385. package/src/internal/useUnsavedChangesDialog.tsx +106 -0
  386. package/src/preview/PropertyPreview.tsx +222 -0
  387. package/src/preview/PropertyPreviewProps.tsx +59 -0
  388. package/src/preview/components/ArrayEnumPreview.tsx +39 -0
  389. package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
  390. package/src/preview/components/BooleanPreview.tsx +11 -0
  391. package/src/preview/components/DatePreview.tsx +27 -0
  392. package/src/preview/components/EmptyValue.tsx +10 -0
  393. package/src/preview/components/EnumValuesChip.tsx +38 -0
  394. package/src/preview/components/ImagePreview.tsx +106 -0
  395. package/src/preview/components/ReferencePreview.tsx +249 -0
  396. package/src/preview/components/StorageThumbnail.tsx +84 -0
  397. package/src/preview/components/UrlComponentPreview.tsx +79 -0
  398. package/src/preview/index.ts +27 -0
  399. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +82 -0
  400. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +52 -0
  401. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +54 -0
  402. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +55 -0
  403. package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
  404. package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +28 -0
  405. package/src/preview/property_previews/ArrayPropertyPreview.tsx +68 -0
  406. package/src/preview/property_previews/MapPropertyPreview.tsx +146 -0
  407. package/src/preview/property_previews/NumberPropertyPreview.tsx +27 -0
  408. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +283 -0
  409. package/src/preview/property_previews/StringPropertyPreview.tsx +59 -0
  410. package/src/preview/util.ts +31 -0
  411. package/src/types/analytics.ts +34 -0
  412. package/src/types/appcheck.ts +29 -0
  413. package/src/types/auth.tsx +49 -0
  414. package/src/types/collections.ts +530 -0
  415. package/src/types/datasource.ts +389 -0
  416. package/src/types/dialogs_controller.tsx +33 -0
  417. package/src/types/entities.ts +76 -0
  418. package/src/types/entity_actions.tsx +39 -0
  419. package/src/types/entity_callbacks.ts +209 -0
  420. package/src/types/entity_link_builder.ts +8 -0
  421. package/src/types/export_import.ts +26 -0
  422. package/src/types/fields.tsx +220 -0
  423. package/src/types/firecms.tsx +175 -0
  424. package/src/types/firecms_context.tsx +128 -0
  425. package/src/types/index.ts +26 -0
  426. package/src/types/local_config_persistence.tsx +23 -0
  427. package/src/types/locales.ts +81 -0
  428. package/src/types/modify_collections.tsx +6 -0
  429. package/src/types/navigation.ts +214 -0
  430. package/src/types/permissions.ts +76 -0
  431. package/src/types/plugins.tsx +219 -0
  432. package/src/types/properties.ts +851 -0
  433. package/src/types/property_config.tsx +72 -0
  434. package/src/types/resolved_entities.ts +148 -0
  435. package/src/types/side_dialogs_controller.tsx +68 -0
  436. package/src/types/side_entity_controller.tsx +96 -0
  437. package/src/types/storage.ts +96 -0
  438. package/src/types/user.ts +37 -0
  439. package/src/util/arrays.ts +3 -0
  440. package/src/util/builders.ts +139 -0
  441. package/src/util/collections.ts +50 -0
  442. package/src/util/common.tsx +2 -0
  443. package/src/util/dates.ts +1 -0
  444. package/src/util/entities.ts +196 -0
  445. package/src/util/enums.ts +56 -0
  446. package/src/util/flatten_object.ts +45 -0
  447. package/src/util/hash.ts +11 -0
  448. package/src/util/icon_list.ts +17 -0
  449. package/src/util/icon_synonyms.ts +1950 -0
  450. package/src/util/icons.tsx +45 -0
  451. package/src/util/index.ts +22 -0
  452. package/src/util/join_collections.ts +172 -0
  453. package/src/util/make_properties_editable.ts +29 -0
  454. package/src/util/navigation_from_path.ts +107 -0
  455. package/src/util/navigation_utils.ts +111 -0
  456. package/src/util/objects.ts +168 -0
  457. package/src/util/os.ts +13 -0
  458. package/src/util/parent_references_from_path.ts +56 -0
  459. package/src/util/paths.ts +27 -0
  460. package/src/util/permissions.ts +80 -0
  461. package/src/util/plurals.ts +190 -0
  462. package/src/util/property_utils.tsx +130 -0
  463. package/src/util/references.ts +20 -0
  464. package/src/util/regexp.ts +32 -0
  465. package/src/util/resolutions.ts +399 -0
  466. package/src/util/storage.ts +92 -0
  467. package/src/util/strings.ts +62 -0
  468. package/src/util/useDebounce.ts +25 -0
  469. package/src/util/useStorageUploadController.tsx +243 -0
  470. package/src/util/useTraceUpdate.tsx +23 -0
@@ -0,0 +1,214 @@
1
+ import React from "react";
2
+ import { WhereFilterOp } from "../../types";
3
+ import { FilterFormFieldProps } from "./VirtualTableHeader";
4
+ export type OnRowClickParams<T extends Record<string, any>> = {
5
+ rowData: T;
6
+ rowIndex: number;
7
+ event: React.SyntheticEvent;
8
+ };
9
+ /**
10
+ * @see Table
11
+ * @group Components
12
+ */
13
+ export interface VirtualTableProps<T extends Record<string, any>> {
14
+ /**
15
+ * Array of arbitrary data
16
+ */
17
+ data?: T[];
18
+ /**
19
+ * Properties displayed in this collection. If this property is not set
20
+ * every property is displayed, you can filter
21
+ */
22
+ columns: VirtualTableColumn[];
23
+ /**
24
+ * Custom cell renderer
25
+ * The renderer receives props `{ cellData, columns, column, columnIndex, rowData, rowIndex, container, isScrolling }`
26
+ */
27
+ cellRenderer: React.ComponentType<CellRendererParams<T>>;
28
+ /**
29
+ * If enabled, content is loaded in batch
30
+ */
31
+ paginationEnabled?: boolean;
32
+ /**
33
+ * Set this callback if you want to support some combinations
34
+ * of filter combinations only.
35
+ * @param filterValues
36
+ * @param sortBy
37
+ */
38
+ checkFilterCombination?: (filterValues: VirtualTableFilterValues<Extract<keyof T, string>>, sortBy?: [string, "asc" | "desc"]) => boolean;
39
+ /**
40
+ * A callback function when scrolling the table to near the end
41
+ */
42
+ onEndReached?: () => void;
43
+ /**
44
+ * When the pagination should be reset. E.g. the filters or sorting
45
+ * has been reset.
46
+ */
47
+ onResetPagination?: () => void;
48
+ /**
49
+ * Callback when a row is clicked
50
+ */
51
+ onRowClick?: (props: OnRowClickParams<T>) => void;
52
+ /**
53
+ * Callback when a column is resized
54
+ */
55
+ onColumnResize?: (params: OnVirtualTableColumnResizeParams) => void;
56
+ /**
57
+ * Size of the table
58
+ */
59
+ size?: VirtualTableSize;
60
+ /**
61
+ * In case this table should have some filters set by default
62
+ */
63
+ filter?: VirtualTableFilterValues<any>;
64
+ /**
65
+ * Callback used when filters are updated
66
+ * @param filter
67
+ */
68
+ onFilterUpdate?: (filter?: VirtualTableFilterValues<any> | undefined) => void;
69
+ /**
70
+ * Default sort applied to this collection
71
+ */
72
+ sortBy?: [string, "asc" | "desc"];
73
+ /**
74
+ * Callback used when sorting is updated
75
+ * @param sortBy
76
+ */
77
+ onSortByUpdate?: (sortBy?: [string, "asc" | "desc"]) => void;
78
+ /**
79
+ * If there is an error loading data you can pass it here, so it gets
80
+ * displayed instead of the content
81
+ */
82
+ error?: Error;
83
+ /**
84
+ * Message displayed when there is no data
85
+ */
86
+ emptyComponent?: React.ReactNode;
87
+ /**
88
+ * Is the table in a loading state
89
+ */
90
+ loading?: boolean;
91
+ /**
92
+ * Should apply a different style when hovering
93
+ */
94
+ hoverRow?: boolean;
95
+ /**
96
+ * Apply a custom class name to the row
97
+ * @param rowData
98
+ */
99
+ rowClassName?: (rowData: T) => string | undefined;
100
+ /**
101
+ * Callback to create a filter field, displayed in the header as a dropdown
102
+ * @param props
103
+ */
104
+ createFilterField?: (props: FilterFormFieldProps<any>) => React.ReactNode;
105
+ /**
106
+ * Class name applied to the table
107
+ */
108
+ className?: string;
109
+ /**
110
+ * Component rendered at the end of the table, after scroll
111
+ */
112
+ endAdornment?: React.ReactNode;
113
+ /**
114
+ * If adding this callback, a button to add a new column is displayed.
115
+ * @param column
116
+ */
117
+ AddColumnComponent?: React.ComponentType;
118
+ }
119
+ export type CellRendererParams<T extends any = any> = {
120
+ column: VirtualTableColumn;
121
+ columns: VirtualTableColumn[];
122
+ columnIndex: number;
123
+ rowData?: T;
124
+ rowIndex: number;
125
+ width: number;
126
+ isScrolling?: boolean;
127
+ };
128
+ /**
129
+ * @see Table
130
+ * @group Components
131
+ */
132
+ export interface VirtualTableColumn<CustomProps extends any = any> {
133
+ /**
134
+ * Data key for the cell value, could be "a.b.c"
135
+ */
136
+ key: string;
137
+ /**
138
+ * The width of the column, gutter width is not included
139
+ */
140
+ width: number;
141
+ /**
142
+ * Label displayed in the header
143
+ */
144
+ title?: string;
145
+ /**
146
+ * This column is frozen to the left
147
+ */
148
+ frozen?: boolean;
149
+ /**
150
+ * How is the
151
+ */
152
+ headerAlign?: "left" | "center" | "right";
153
+ /**
154
+ * Icon displayed in the header
155
+ */
156
+ icon?: (hoverOrOpen: boolean) => React.ReactNode;
157
+ /**
158
+ *
159
+ */
160
+ filter?: boolean;
161
+ /**
162
+ * Alignment of the column cell
163
+ */
164
+ align?: "left" | "right" | "center";
165
+ /**
166
+ * Whether the column is sortable, defaults to false
167
+ */
168
+ sortable?: boolean;
169
+ /**
170
+ * Can it be resized
171
+ */
172
+ resizable?: boolean;
173
+ /**
174
+ * Custom props passed to the cell renderer
175
+ */
176
+ custom?: CustomProps;
177
+ /**
178
+ * Additional children to be rendered in the header when hovering
179
+ */
180
+ AdditionalHeaderWidget?: (props: {
181
+ onHover: boolean;
182
+ }) => React.ReactNode;
183
+ }
184
+ /**
185
+ * @see Table
186
+ * @group Collection components
187
+ */
188
+ export type OnVirtualTableColumnResizeParams = {
189
+ width: number;
190
+ key: string;
191
+ column: VirtualTableColumn;
192
+ };
193
+ /**
194
+ * @see Table
195
+ * @group Components
196
+ */
197
+ export type VirtualTableSize = "xs" | "s" | "m" | "l" | "xl";
198
+ /**
199
+ * @see Table
200
+ * @group Components
201
+ */
202
+ export type VirtualTableSort = "asc" | "desc" | undefined;
203
+ /**
204
+ * @see Table
205
+ * @group Components
206
+ */
207
+ export type VirtualTableFilterValues<Key extends string> = Partial<Record<Key, [WhereFilterOp, any]>>;
208
+ /**
209
+ * Filter conditions in a `Query.where()` clause are specified using the
210
+ * strings '<', '<=', '==', '>=', '>', 'array-contains', 'in', 'not-in', and 'array-contains-any'.
211
+ * @see Table
212
+ * @group Models
213
+ */
214
+ export type VirtualTableWhereFilterOp = "<" | "<=" | "==" | "!=" | ">=" | ">" | "array-contains" | "in" | "not-in" | "array-contains-any";
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { VirtualTableRowProps } from "./types";
3
+ export declare const VirtualTableRow: React.NamedExoticComponent<VirtualTableRowProps<any>>;
@@ -0,0 +1,2 @@
1
+ import { VirtualTableSize } from "./VirtualTableProps";
2
+ export declare function getRowHeight(size: VirtualTableSize): number;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ export declare function VirtualTableDateField(props: {
3
+ name: string;
4
+ error: Error | undefined;
5
+ mode?: "date" | "date_time";
6
+ internalValue: Date | undefined | null;
7
+ updateValue: (newValue: (Date | null)) => void;
8
+ focused: boolean;
9
+ disabled: boolean;
10
+ onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
11
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export declare function VirtualTableInput(props: {
2
+ error: Error | undefined;
3
+ value: string;
4
+ multiline: boolean;
5
+ focused: boolean;
6
+ disabled: boolean;
7
+ updateValue: (newValue: (string | null)) => void;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export declare function VirtualTableNumberInput(props: {
2
+ error: Error | undefined;
3
+ value: number;
4
+ align: "right" | "left" | "center";
5
+ updateValue: (newValue: (number | null)) => void;
6
+ focused: boolean;
7
+ disabled: boolean;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { EnumValueConfig } from "../../../types";
2
+ import React from "react";
3
+ export declare function VirtualTableSelect(props: {
4
+ name: string;
5
+ enumValues: EnumValueConfig[];
6
+ error: Error | undefined;
7
+ multiple: boolean;
8
+ disabled: boolean;
9
+ small: boolean;
10
+ internalValue: string | number | string[] | number[] | undefined;
11
+ valueType: "string" | "number";
12
+ updateValue: (newValue: (string | number | string[] | number[] | null)) => void;
13
+ focused: boolean;
14
+ onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
15
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ export declare function VirtualTableSwitch(props: {
2
+ error: Error | undefined;
3
+ internalValue?: boolean;
4
+ focused: boolean;
5
+ disabled: boolean;
6
+ updateValue: (newValue: (boolean | null)) => void;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { VirtualTable } from "./VirtualTable";
2
+ export * from "./VirtualTableProps";
@@ -0,0 +1,34 @@
1
+ import React from "react";
2
+ import { CellRendererParams, OnRowClickParams, OnVirtualTableColumnResizeParams, VirtualTableColumn, VirtualTableFilterValues, VirtualTableSize, VirtualTableWhereFilterOp } from "./VirtualTableProps";
3
+ import { FilterFormFieldProps } from "./VirtualTableHeader";
4
+ export type VirtualTableRowProps<T> = {
5
+ style: any;
6
+ size: VirtualTableSize;
7
+ rowData: T;
8
+ rowIndex: number;
9
+ onRowClick?: (props: OnRowClickParams<any>) => void;
10
+ children: React.ReactNode[];
11
+ columns: VirtualTableColumn[];
12
+ hoverRow?: boolean;
13
+ rowClassName?: (rowData: T) => string | undefined;
14
+ };
15
+ export type VirtualTableContextProps<T extends any> = {
16
+ data?: T[];
17
+ size?: VirtualTableSize;
18
+ columns: VirtualTableColumn[];
19
+ cellRenderer: React.ComponentType<CellRendererParams<T>>;
20
+ currentSort: "asc" | "desc" | undefined;
21
+ filter?: VirtualTableFilterValues<any>;
22
+ onRowClick?: (props: OnRowClickParams<any>) => void;
23
+ onColumnSort: (key: string) => any;
24
+ onColumnResize: (params: OnVirtualTableColumnResizeParams) => void;
25
+ onColumnResizeEnd: (params: OnVirtualTableColumnResizeParams) => void;
26
+ onFilterUpdate: (column: VirtualTableColumn, filterForProperty?: [VirtualTableWhereFilterOp, any]) => void;
27
+ sortByProperty?: string;
28
+ customView?: React.ReactNode;
29
+ hoverRow: boolean;
30
+ createFilterField?: (props: FilterFormFieldProps<any>) => React.ReactNode;
31
+ rowClassName?: (rowData: T) => string | undefined;
32
+ endAdornment?: React.ReactNode;
33
+ AddColumnComponent?: React.ComponentType;
34
+ };
@@ -0,0 +1,21 @@
1
+ export type { ErrorViewProps } from "./ErrorView";
2
+ export { ErrorView } from "./ErrorView";
3
+ export type { EntityPreviewProps } from "./EntityPreview";
4
+ export { EntityPreview } from "./EntityPreview";
5
+ export type { ReferenceSelectionInnerProps } from "./ReferenceSelectionInner";
6
+ export { ReferenceSelectionInner } from "./ReferenceSelectionInner";
7
+ export { CircularProgressCenter } from "./CircularProgressCenter";
8
+ export * from "./HomePage";
9
+ export * from "./EntityCollectionView/EntityCollectionView";
10
+ export * from "./FieldConfigBadge";
11
+ export * from "./EntityCollectionTable";
12
+ export * from "./NotFoundPage";
13
+ export * from "./VirtualTable";
14
+ export * from "./ErrorBoundary";
15
+ export * from "./DeleteConfirmationDialog";
16
+ export * from "./FireCMSLogo";
17
+ export * from "./FireCMSAppBar";
18
+ export * from "./ArrayContainer";
19
+ export * from "./ReferenceWidget";
20
+ export * from "./LabelWithIcon";
21
+ export * from "./SearchIconsView";
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { AuthController } from "../types";
3
+ export declare const AuthControllerContext: React.Context<AuthController>;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { DataSource } from "../types";
3
+ export declare const DataSourceContext: React.Context<DataSource>;
@@ -0,0 +1,4 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import { DialogsController } from "../types/dialogs_controller";
3
+ export declare const DialogsControllerContext: React.Context<DialogsController>;
4
+ export declare const DialogsProvider: React.FC<PropsWithChildren<{}>>;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { ModeController } from "../hooks";
3
+ export declare const ModeControllerContext: React.Context<ModeController>;
4
+ export declare const ModeControllerProvider: React.Provider<ModeController>;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { NavigationController } from "../types";
3
+ export declare const NavigationContext: React.Context<NavigationController>;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { SideDialogsController } from "../types";
3
+ export declare const SideDialogsControllerContext: React.Context<SideDialogsController>;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { SideEntityController } from "../types";
3
+ export declare const SideEntityControllerContext: React.Context<SideEntityController>;
@@ -0,0 +1,2 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ export declare const SnackbarProvider: React.FC<PropsWithChildren<{}>>;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { StorageSource } from "../types";
3
+ export declare const StorageSourceContext: React.Context<StorageSource>;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { UserConfigurationPersistence } from "../types";
3
+ export declare const UserConfigurationPersistenceContext: React.Context<UserConfigurationPersistence | undefined>;
@@ -0,0 +1,3 @@
1
+ export * from "./SnackbarProvider";
2
+ export * from "./ModeController";
3
+ export * from "./AuthControllerContext";
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ /**
3
+ * Props used in case you need to override the default drawer
4
+ * @group Core
5
+ */
6
+ export type DrawerProps<T = {}> = T & {
7
+ hovered: boolean;
8
+ drawerOpen: boolean;
9
+ closeDrawer: () => any;
10
+ };
11
+ /**
12
+ * Default drawer used in the CMS
13
+ * @group Core
14
+ */
15
+ export declare function Drawer({ hovered, drawerOpen, closeDrawer }: DrawerProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function DrawerNavigationItem({ name, icon, drawerOpen, tooltipsOpen, url, onClick }: {
17
+ icon: React.ReactElement;
18
+ name: string;
19
+ tooltipsOpen: boolean;
20
+ drawerOpen: boolean;
21
+ url: string;
22
+ onClick?: () => void;
23
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { EntitySidePanelProps } from "../types";
2
+ /**
3
+ * This is the component in charge of rendering the side dialog used
4
+ * for editing entities. Use the {@link useSideEntityController} to open
5
+ * and control the dialogs.
6
+ * This component needs a parent {@link FireCMS}
7
+ * {@link useSideEntityController}
8
+ * @group Components
9
+ */
10
+ export declare function EntitySidePanel(props: EntitySidePanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { EntityCollection, FireCMSProps, User } from "../types";
2
+ /**
3
+ * If you are using independent components of the CMS
4
+ * you need to wrap them with this main component, so the internal hooks work.
5
+ *
6
+ * This is the main component of FireCMS. It acts as the provider of all the
7
+ * internal contexts and hooks.
8
+ *
9
+ * You only need to use this component if you are building a custom app.
10
+ *
11
+ * @constructor
12
+ * @group Core
13
+ */
14
+ export declare function FireCMS<UserType extends User, EC extends EntityCollection>(props: FireCMSProps<UserType, EC>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ /**
3
+ * @group Components
4
+ */
5
+ export type NavigationRoutesProps = {
6
+ /**
7
+ * In case you need to override the home page
8
+ */
9
+ HomePage?: React.ComponentType;
10
+ customRoutes?: React.ReactNode[];
11
+ };
12
+ /**
13
+ * This component is in charge of rendering
14
+ * all the related routes (entity collection root views, custom views
15
+ * or the home route) related to a {@link NavigationController}.
16
+ * This component needs a parent {@link FireCMS}
17
+ *
18
+ * @constructor
19
+ * @group Components
20
+ */
21
+ export declare const NavigationRoutes: React.NamedExoticComponent<NavigationRoutesProps>;
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+ import { DrawerProps } from "./Drawer";
3
+ import { FireCMSAppBarProps } from "../components";
4
+ export declare const DRAWER_WIDTH = 280;
5
+ /**
6
+ * @group Core
7
+ */
8
+ export interface ScaffoldProps<ExtraDrawerProps = object, ExtraAppbarProps = object> {
9
+ /**
10
+ * Name of the app, displayed as the main title and in the tab title
11
+ */
12
+ name: string;
13
+ /**
14
+ * Logo to be displayed in the drawer of the CMS
15
+ */
16
+ logo?: string;
17
+ includeDrawer?: boolean;
18
+ /**
19
+ * In case you need to override the view that gets rendered as a drawer
20
+ * @see DefaultDrawer
21
+ */
22
+ Drawer?: React.ComponentType<DrawerProps<ExtraDrawerProps>>;
23
+ /**
24
+ * Additional props passed to the custom Drawer
25
+ */
26
+ drawerProps?: Partial<DrawerProps> & ExtraDrawerProps;
27
+ /**
28
+ * Open the drawer on hover
29
+ */
30
+ autoOpenDrawer?: boolean;
31
+ /**
32
+ * A component that gets rendered on the upper side of the main toolbar.
33
+ * `toolbarExtraWidget` has no effect if this is set.
34
+ */
35
+ FireCMSAppBarComponent?: React.ComponentType<FireCMSAppBarProps<ExtraAppbarProps>>;
36
+ /**
37
+ * Additional props passed to the custom AppBar
38
+ */
39
+ fireCMSAppBarComponentProps?: Partial<FireCMSAppBarProps> & ExtraAppbarProps;
40
+ }
41
+ /**
42
+ * This view acts as a scaffold for FireCMS.
43
+ *
44
+ * It is in charge of displaying the navigation drawer, top bar and main
45
+ * collection views.
46
+ * This component needs a parent {@link FireCMS}
47
+ *
48
+ * @param props
49
+ * @constructor
50
+ * @group Core
51
+ */
52
+ export declare const Scaffold: React.NamedExoticComponent<React.PropsWithChildren<ScaffoldProps<object, object>>>;
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ export type SideDialogContextProps = {
3
+ blocked: boolean;
4
+ setBlocked: (blocked: boolean) => void;
5
+ setBlockedNavigationMessage: (message?: React.ReactNode) => void;
6
+ width?: string;
7
+ close: (force?: boolean) => void;
8
+ };
9
+ /**
10
+ * This hook is used to access the properties of a particular side dialog,
11
+ * in contrast with {@link useSideDialogsController} which handles the
12
+ * state of all the dialogs.
13
+ */
14
+ export declare const useSideDialogContext: () => SideDialogContextProps;
15
+ /**
16
+ * This is the component in charge of rendering the side dialogs used
17
+ * for editing entities. Use the {@link useSideEntityController} to open
18
+ * and control the dialogs.
19
+ * This component needs a parent {@link FireCMS}
20
+ * {@link useSideDialogsController}
21
+ * @group Components
22
+ */
23
+ export declare function SideDialogs(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { Property, PropertyConfig, ResolvedProperty } from "../types";
2
+ export declare function isDefaultFieldConfigId(id: string): boolean;
3
+ export declare const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>>;
4
+ export declare function getDefaultFieldConfig(property: Property | ResolvedProperty): PropertyConfig | undefined;
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" | "repeat" | "block" | "group" | "switch" | "url" | "email" | "select" | "text_field" | "multiline" | "markdown" | "multi_select" | "number_input" | "number_select" | "multi_number_select" | "file_upload" | "multi_file_upload" | "key_value" | "multi_references" | "custom_array" | undefined;
7
+ export declare function getFieldId(property: Property | ResolvedProperty): string | undefined;
@@ -0,0 +1,10 @@
1
+ export * from "./FireCMS";
2
+ export type { ScaffoldProps } from "./Scaffold";
3
+ export { Scaffold } from "./Scaffold";
4
+ export type { DrawerProps } from "./Drawer";
5
+ export { Drawer, DrawerNavigationItem } from "./Drawer";
6
+ export * from "./field_configs";
7
+ export * from "./SideDialogs";
8
+ export * from "./NavigationRoutes";
9
+ export * from "./useBuildModeController";
10
+ export * from "./useBuildLocalConfigurationPersistence";
@@ -0,0 +1,2 @@
1
+ import { UserConfigurationPersistence } from "../types";
2
+ export declare function useBuildLocalConfigurationPersistence(): UserConfigurationPersistence;
@@ -0,0 +1,6 @@
1
+ import { ModeController } from "../hooks";
2
+ /**
3
+ * Use this hook to build a color mode controller that determines
4
+ * the theme of the CMS
5
+ */
6
+ export declare function useBuildModeController(): ModeController;
@@ -0,0 +1,75 @@
1
+ import { Entity, EntityCollection, EntityStatus, EntityValues, FormContext, ResolvedEntityCollection } from "../types";
2
+ /**
3
+ * @group Components
4
+ */
5
+ export interface EntityFormProps<M extends Record<string, any>> {
6
+ /**
7
+ * New or existing status
8
+ */
9
+ status: EntityStatus;
10
+ /**
11
+ * Path of the collection this entity is located
12
+ */
13
+ path: string;
14
+ /**
15
+ * The collection is used to build the fields of the form
16
+ */
17
+ collection: EntityCollection<M>;
18
+ /**
19
+ * The updated entity is passed from the parent component when the underlying data
20
+ * has changed in the datasource
21
+ */
22
+ entity?: Entity<M>;
23
+ /**
24
+ * The callback function called when Save is clicked and validation is correct
25
+ */
26
+ onEntitySaveRequested: (props: EntityFormSaveParams<M>) => Promise<void>;
27
+ /**
28
+ * The callback function called when discard is clicked
29
+ */
30
+ onDiscard?: () => void;
31
+ /**
32
+ * The callback function when the form is dirty, so the values are different
33
+ * from the original ones
34
+ */
35
+ onModified?: (dirty: boolean) => void;
36
+ /**
37
+ * The callback function when the form original values have been modified
38
+ */
39
+ onValuesChanged?: (values?: EntityValues<M>) => void;
40
+ /**
41
+ *
42
+ * @param id
43
+ */
44
+ onIdChange?: (id: string) => void;
45
+ currentEntityId?: string;
46
+ onFormContextChange?: (formContext: FormContext<M>) => void;
47
+ hideId?: boolean;
48
+ autoSave?: boolean;
49
+ onIdUpdateError?: (error: any) => void;
50
+ }
51
+ export type EntityFormSaveParams<M extends Record<string, any>> = {
52
+ collection: ResolvedEntityCollection<M>;
53
+ path: string;
54
+ entityId: string | undefined;
55
+ values: EntityValues<M>;
56
+ previousValues?: EntityValues<M>;
57
+ closeAfterSave: boolean;
58
+ autoSave: boolean;
59
+ };
60
+ /**
61
+ * This is the form used internally by the CMS
62
+ * @param status
63
+ * @param path
64
+ * @param collection
65
+ * @param entity
66
+ * @param onEntitySave
67
+ * @param onDiscard
68
+ * @param onModified
69
+ * @param onValuesChanged
70
+ * @constructor
71
+ * @group Components
72
+ */
73
+ export declare const EntityForm: typeof EntityFormInternal;
74
+ declare function EntityFormInternal<M extends Record<string, any>>({ status, path, collection: inputCollection, entity, onEntitySaveRequested, onDiscard, onModified, onValuesChanged, onIdChange, onFormContextChange, hideId, autoSave, onIdUpdateError }: EntityFormProps<M>): import("react/jsx-runtime").JSX.Element;
75
+ export {};