@firecms/core 3.0.0-3.0.0-beta.4.pre.1.0

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 (503) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/dist/components/ArrayContainer.d.ts +40 -0
  4. package/dist/components/CircularProgressCenter.d.ts +11 -0
  5. package/dist/components/DeleteConfirmationDialog.d.ts +9 -0
  6. package/dist/components/DeleteEntityDialog.d.ts +12 -0
  7. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +31 -0
  8. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +27 -0
  9. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +99 -0
  10. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +18 -0
  11. package/dist/components/EntityCollectionTable/column_utils.d.ts +16 -0
  12. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +19 -0
  13. package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
  14. package/dist/components/EntityCollectionTable/index.d.ts +6 -0
  15. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
  16. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
  17. package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
  18. package/dist/components/EntityCollectionTable/internal/common.d.ts +4 -0
  19. package/dist/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
  20. package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
  21. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
  22. package/dist/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
  23. package/dist/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
  24. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +36 -0
  25. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
  26. package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
  27. package/dist/components/EntityPreview.d.ts +29 -0
  28. package/dist/components/EntityView.d.ts +11 -0
  29. package/dist/components/ErrorBoundary.d.ts +11 -0
  30. package/dist/components/ErrorTooltip.d.ts +2 -0
  31. package/dist/components/ErrorView.d.ts +19 -0
  32. package/dist/components/FieldCaption.d.ts +4 -0
  33. package/dist/components/FireCMSAppBar.d.ts +26 -0
  34. package/dist/components/FireCMSLogo.d.ts +7 -0
  35. package/dist/components/HomePage/DefaultHomePage.d.ts +21 -0
  36. package/dist/components/HomePage/FavouritesView.d.ts +3 -0
  37. package/dist/components/HomePage/NavigationCard.d.ts +8 -0
  38. package/dist/components/HomePage/NavigationCardBinding.d.ts +17 -0
  39. package/dist/components/HomePage/NavigationGroup.d.ts +4 -0
  40. package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
  41. package/dist/components/HomePage/index.d.ts +5 -0
  42. package/dist/components/NotFoundPage.d.ts +1 -0
  43. package/dist/components/PropertyConfigBadge.d.ts +4 -0
  44. package/dist/components/PropertyIdCopyTooltipContent.d.ts +3 -0
  45. package/dist/components/ReferenceTable/ReferenceSelectionTable.d.ts +58 -0
  46. package/dist/components/ReferenceWidget.d.ts +28 -0
  47. package/dist/components/SearchIconsView.d.ts +5 -0
  48. package/dist/components/SelectableTable/SelectableTable.d.ts +75 -0
  49. package/dist/components/SelectableTable/SelectableTableContext.d.ts +4 -0
  50. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +9 -0
  51. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +11 -0
  52. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +14 -0
  53. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +13 -0
  54. package/dist/components/VirtualTable/VirtualTable.d.ts +11 -0
  55. package/dist/components/VirtualTable/VirtualTableCell.d.ts +14 -0
  56. package/dist/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
  57. package/dist/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
  58. package/dist/components/VirtualTable/VirtualTableProps.d.ts +214 -0
  59. package/dist/components/VirtualTable/VirtualTableRow.d.ts +3 -0
  60. package/dist/components/VirtualTable/common.d.ts +2 -0
  61. package/dist/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
  62. package/dist/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
  63. package/dist/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
  64. package/dist/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
  65. package/dist/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
  66. package/dist/components/VirtualTable/index.d.ts +2 -0
  67. package/dist/components/VirtualTable/types.d.ts +34 -0
  68. package/dist/components/common/index.d.ts +5 -0
  69. package/dist/components/common/types.d.ts +60 -0
  70. package/dist/components/common/useColumnsIds.d.ts +4 -0
  71. package/dist/components/common/useDataSourceEntityCollectionTableController.d.ts +32 -0
  72. package/dist/components/common/useDebouncedData.d.ts +9 -0
  73. package/dist/components/common/useTableSearchHelper.d.ts +12 -0
  74. package/dist/components/index.d.ts +25 -0
  75. package/dist/contexts/AnalyticsContext.d.ts +3 -0
  76. package/dist/contexts/AuthControllerContext.d.ts +3 -0
  77. package/dist/contexts/CustomizationControllerContext.d.ts +3 -0
  78. package/dist/contexts/DataSourceContext.d.ts +3 -0
  79. package/dist/contexts/DialogsProvider.d.ts +4 -0
  80. package/dist/contexts/ModeController.d.ts +4 -0
  81. package/dist/contexts/NavigationContext.d.ts +3 -0
  82. package/dist/contexts/SideDialogsControllerContext.d.ts +3 -0
  83. package/dist/contexts/SideEntityControllerContext.d.ts +3 -0
  84. package/dist/contexts/SnackbarProvider.d.ts +2 -0
  85. package/dist/contexts/StorageSourceContext.d.ts +3 -0
  86. package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
  87. package/dist/contexts/index.d.ts +3 -0
  88. package/dist/core/Drawer.d.ts +23 -0
  89. package/dist/core/EntityEditView.d.ts +22 -0
  90. package/dist/core/EntitySidePanel.d.ts +10 -0
  91. package/dist/core/FireCMS.d.ts +14 -0
  92. package/dist/core/NavigationRoutes.d.ts +21 -0
  93. package/dist/core/Scaffold.d.ts +55 -0
  94. package/dist/core/SideDialogs.d.ts +23 -0
  95. package/dist/core/SideEntityView.d.ts +7 -0
  96. package/dist/core/field_configs.d.ts +7 -0
  97. package/dist/core/index.d.ts +8 -0
  98. package/dist/form/EntityForm.d.ts +77 -0
  99. package/dist/form/PropertyFieldBinding.d.ts +30 -0
  100. package/dist/form/components/CustomIdField.d.ts +10 -0
  101. package/dist/form/components/ErrorFocus.d.ts +4 -0
  102. package/dist/form/components/FieldHelperText.d.ts +12 -0
  103. package/dist/form/components/FormikArrayContainer.d.ts +18 -0
  104. package/dist/form/components/LabelWithIcon.d.ts +14 -0
  105. package/dist/form/components/StorageItemPreview.d.ts +14 -0
  106. package/dist/form/components/StorageUploadProgress.d.ts +10 -0
  107. package/dist/form/components/index.d.ts +3 -0
  108. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
  109. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
  110. package/dist/form/field_bindings/BlockFieldBinding.d.ts +10 -0
  111. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
  112. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
  113. package/dist/form/field_bindings/MapFieldBinding.d.ts +9 -0
  114. package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
  115. package/dist/form/field_bindings/MultiSelectBinding.d.ts +9 -0
  116. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
  117. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
  118. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
  119. package/dist/form/field_bindings/SelectFieldBinding.d.ts +12 -0
  120. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +29 -0
  121. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
  122. package/dist/form/field_bindings/TextFieldBinding.d.ts +12 -0
  123. package/dist/form/index.d.ts +21 -0
  124. package/dist/form/useClearRestoreValue.d.ts +13 -0
  125. package/dist/form/validation.d.ts +25 -0
  126. package/dist/hooks/data/delete.d.ts +37 -0
  127. package/dist/hooks/data/save.d.ts +42 -0
  128. package/dist/hooks/data/useCollectionFetch.d.ts +50 -0
  129. package/dist/hooks/data/useDataOrder.d.ts +12 -0
  130. package/dist/hooks/data/useDataSource.d.ts +6 -0
  131. package/dist/hooks/data/useEntityFetch.d.ts +28 -0
  132. package/dist/hooks/index.d.ts +22 -0
  133. package/dist/hooks/useAnalyticsController.d.ts +5 -0
  134. package/dist/hooks/useAuthController.d.ts +11 -0
  135. package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
  136. package/dist/hooks/useBuildLocalConfigurationPersistence.d.ts +2 -0
  137. package/dist/hooks/useBuildModeController.d.ts +6 -0
  138. package/dist/hooks/useBuildNavigationController.d.ts +24 -0
  139. package/dist/hooks/useClipboard.d.ts +57 -0
  140. package/dist/hooks/useCustomizationController.d.ts +11 -0
  141. package/dist/hooks/useDialogsController.d.ts +11 -0
  142. package/dist/hooks/useFireCMSContext.d.ts +11 -0
  143. package/dist/hooks/useLargeLayout.d.ts +1 -0
  144. package/dist/hooks/useModeController.d.ts +20 -0
  145. package/dist/hooks/useNavigationController.d.ts +9 -0
  146. package/dist/hooks/useProjectLog.d.ts +8 -0
  147. package/dist/hooks/useReferenceDialog.d.ts +18 -0
  148. package/dist/hooks/useResolvedNavigationFrom.d.ts +72 -0
  149. package/dist/hooks/useSideDialogsController.d.ts +18 -0
  150. package/dist/hooks/useSideEntityController.d.ts +12 -0
  151. package/dist/hooks/useSnackbarController.d.ts +42 -0
  152. package/dist/hooks/useStorageSource.d.ts +6 -0
  153. package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
  154. package/dist/index.d.ts +8 -0
  155. package/dist/index.es.js +16602 -0
  156. package/dist/index.es.js.map +1 -0
  157. package/dist/index.umd.js +589 -0
  158. package/dist/index.umd.js.map +1 -0
  159. package/dist/internal/common.d.ts +3 -0
  160. package/dist/internal/useBuildCustomizationController.d.ts +2 -0
  161. package/dist/internal/useBuildDataSource.d.ts +26 -0
  162. package/dist/internal/useBuildSideDialogsController.d.ts +2 -0
  163. package/dist/internal/useBuildSideEntityController.d.ts +4 -0
  164. package/dist/internal/useLocaleConfig.d.ts +1 -0
  165. package/dist/internal/useRestoreScroll.d.ts +6 -0
  166. package/dist/internal/useUnsavedChangesDialog.d.ts +14 -0
  167. package/dist/preview/PropertyPreview.d.ts +7 -0
  168. package/dist/preview/PropertyPreviewProps.d.ts +43 -0
  169. package/dist/preview/components/ArrayEnumPreview.d.ts +11 -0
  170. package/dist/preview/components/AsyncPreviewComponent.d.ts +11 -0
  171. package/dist/preview/components/BooleanPreview.d.ts +11 -0
  172. package/dist/preview/components/DatePreview.d.ts +7 -0
  173. package/dist/preview/components/EmptyValue.d.ts +4 -0
  174. package/dist/preview/components/EnumValuesChip.d.ts +13 -0
  175. package/dist/preview/components/ImagePreview.d.ts +12 -0
  176. package/dist/preview/components/ReferencePreview.d.ts +16 -0
  177. package/dist/preview/components/StorageThumbnail.d.ts +13 -0
  178. package/dist/preview/components/UrlComponentPreview.d.ts +12 -0
  179. package/dist/preview/index.d.ts +23 -0
  180. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
  181. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
  182. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
  183. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
  184. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
  185. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
  186. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
  187. package/dist/preview/property_previews/MapPropertyPreview.d.ts +8 -0
  188. package/dist/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
  189. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
  190. package/dist/preview/property_previews/StringPropertyPreview.d.ts +6 -0
  191. package/dist/preview/util.d.ts +7 -0
  192. package/dist/types/analytics.d.ts +1 -0
  193. package/dist/types/analytics_controller.d.ts +7 -0
  194. package/dist/types/appcheck.d.ts +26 -0
  195. package/dist/types/auth.d.ts +47 -0
  196. package/dist/types/collections.d.ts +467 -0
  197. package/dist/types/customization_controller.d.ts +47 -0
  198. package/dist/types/datasource.d.ts +262 -0
  199. package/dist/types/dialogs_controller.d.ts +32 -0
  200. package/dist/types/entities.d.ts +58 -0
  201. package/dist/types/entity_actions.d.ts +35 -0
  202. package/dist/types/entity_callbacks.d.ts +185 -0
  203. package/dist/types/entity_link_builder.d.ts +7 -0
  204. package/dist/types/entity_overrides.d.ts +6 -0
  205. package/dist/types/export_import.d.ts +21 -0
  206. package/dist/types/fields.d.ts +180 -0
  207. package/dist/types/firecms.d.ts +132 -0
  208. package/dist/types/firecms_context.d.ts +70 -0
  209. package/dist/types/index.d.ts +29 -0
  210. package/dist/types/local_config_persistence.d.ts +21 -0
  211. package/dist/types/locales.d.ts +4 -0
  212. package/dist/types/modify_collections.d.ts +5 -0
  213. package/dist/types/navigation.d.ts +179 -0
  214. package/dist/types/permissions.d.ts +67 -0
  215. package/dist/types/plugins.d.ts +171 -0
  216. package/dist/types/properties.d.ts +681 -0
  217. package/dist/types/property_config.d.ts +42 -0
  218. package/dist/types/resolved_entities.d.ts +98 -0
  219. package/dist/types/side_dialogs_controller.d.ts +57 -0
  220. package/dist/types/side_entity_controller.d.ts +83 -0
  221. package/dist/types/storage.d.ts +82 -0
  222. package/dist/types/user.d.ts +36 -0
  223. package/dist/util/arrays.d.ts +1 -0
  224. package/dist/util/builders.d.ts +64 -0
  225. package/dist/util/collections.d.ts +11 -0
  226. package/dist/util/common.d.ts +2 -0
  227. package/dist/util/dates.d.ts +1 -0
  228. package/dist/util/entities.d.ts +28 -0
  229. package/dist/util/enums.d.ts +7 -0
  230. package/dist/util/flatten_object.d.ts +3 -0
  231. package/dist/util/hash.d.ts +1 -0
  232. package/dist/util/icon_list.d.ts +1 -0
  233. package/dist/util/icon_synonyms.d.ts +1950 -0
  234. package/dist/util/icons.d.ts +13 -0
  235. package/dist/util/index.d.ts +23 -0
  236. package/dist/util/join_collections.d.ts +9 -0
  237. package/dist/util/make_properties_editable.d.ts +3 -0
  238. package/dist/util/navigation_from_path.d.ts +24 -0
  239. package/dist/util/navigation_utils.d.ts +20 -0
  240. package/dist/util/objects.d.ts +10 -0
  241. package/dist/util/os.d.ts +2 -0
  242. package/dist/util/parent_references_from_path.d.ts +6 -0
  243. package/dist/util/paths.d.ts +14 -0
  244. package/dist/util/permissions.d.ts +5 -0
  245. package/dist/util/plurals.d.ts +18 -0
  246. package/dist/util/property_utils.d.ts +23 -0
  247. package/dist/util/references.d.ts +4 -0
  248. package/dist/util/regexp.d.ts +7 -0
  249. package/dist/util/resolutions.d.ts +64 -0
  250. package/dist/util/storage.d.ts +3 -0
  251. package/dist/util/strings.d.ts +6 -0
  252. package/dist/util/useDebouncedCallback.d.ts +1 -0
  253. package/dist/util/useStorageUploadController.d.ts +36 -0
  254. package/dist/util/useTraceUpdate.d.ts +1 -0
  255. package/package.json +122 -0
  256. package/src/components/ArrayContainer.tsx +334 -0
  257. package/src/components/CircularProgressCenter.tsx +26 -0
  258. package/src/components/DeleteConfirmationDialog.tsx +47 -0
  259. package/src/components/DeleteEntityDialog.tsx +213 -0
  260. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +170 -0
  261. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +325 -0
  262. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +145 -0
  263. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +461 -0
  264. package/src/components/EntityCollectionTable/column_utils.tsx +74 -0
  265. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +155 -0
  266. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +313 -0
  267. package/src/components/EntityCollectionTable/index.tsx +12 -0
  268. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +116 -0
  269. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +257 -0
  270. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +70 -0
  271. package/src/components/EntityCollectionTable/internal/common.tsx +70 -0
  272. package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +126 -0
  273. package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +59 -0
  274. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +408 -0
  275. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +97 -0
  276. package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
  277. package/src/components/EntityCollectionView/EntityCollectionView.tsx +804 -0
  278. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +132 -0
  279. package/src/components/EntityCollectionView/useSelectionController.tsx +30 -0
  280. package/src/components/EntityPreview.tsx +218 -0
  281. package/src/components/EntityView.tsx +84 -0
  282. package/src/components/ErrorBoundary.tsx +40 -0
  283. package/src/components/ErrorTooltip.tsx +11 -0
  284. package/src/components/ErrorView.tsx +52 -0
  285. package/src/components/FieldCaption.tsx +13 -0
  286. package/src/components/FireCMSAppBar.tsx +165 -0
  287. package/src/components/FireCMSLogo.tsx +73 -0
  288. package/src/components/HomePage/DefaultHomePage.tsx +214 -0
  289. package/src/components/HomePage/FavouritesView.tsx +64 -0
  290. package/src/components/HomePage/NavigationCard.tsx +69 -0
  291. package/src/components/HomePage/NavigationCardBinding.tsx +116 -0
  292. package/src/components/HomePage/NavigationGroup.tsx +39 -0
  293. package/src/components/HomePage/SmallNavigationCard.tsx +45 -0
  294. package/src/components/HomePage/index.tsx +5 -0
  295. package/src/components/NotFoundPage.tsx +25 -0
  296. package/src/components/PropertyConfigBadge.tsx +17 -0
  297. package/src/components/PropertyIdCopyTooltipContent.tsx +28 -0
  298. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +379 -0
  299. package/src/components/ReferenceWidget.tsx +145 -0
  300. package/src/components/SearchIconsView.tsx +75 -0
  301. package/src/components/SelectableTable/SelectableTable.tsx +329 -0
  302. package/src/components/SelectableTable/SelectableTableContext.tsx +6 -0
  303. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +49 -0
  304. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +109 -0
  305. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +179 -0
  306. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +158 -0
  307. package/src/components/VirtualTable/VirtualTable.tsx +405 -0
  308. package/src/components/VirtualTable/VirtualTableCell.tsx +50 -0
  309. package/src/components/VirtualTable/VirtualTableHeader.tsx +266 -0
  310. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +131 -0
  311. package/src/components/VirtualTable/VirtualTableProps.tsx +269 -0
  312. package/src/components/VirtualTable/VirtualTableRow.tsx +53 -0
  313. package/src/components/VirtualTable/common.tsx +18 -0
  314. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +37 -0
  315. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +91 -0
  316. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +82 -0
  317. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +130 -0
  318. package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
  319. package/src/components/VirtualTable/index.tsx +2 -0
  320. package/src/components/VirtualTable/types.tsx +44 -0
  321. package/src/components/common/index.ts +5 -0
  322. package/src/components/common/types.tsx +63 -0
  323. package/src/components/common/useColumnsIds.tsx +100 -0
  324. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +225 -0
  325. package/src/components/common/useDebouncedData.ts +49 -0
  326. package/src/components/common/useTableSearchHelper.ts +47 -0
  327. package/src/components/index.tsx +36 -0
  328. package/src/contexts/AnalyticsContext.tsx +4 -0
  329. package/src/contexts/AuthControllerContext.tsx +4 -0
  330. package/src/contexts/CustomizationControllerContext.tsx +4 -0
  331. package/src/contexts/DataSourceContext.tsx +4 -0
  332. package/src/contexts/DialogsProvider.tsx +52 -0
  333. package/src/contexts/ModeController.tsx +13 -0
  334. package/src/contexts/NavigationContext.tsx +4 -0
  335. package/src/contexts/SideDialogsControllerContext.tsx +4 -0
  336. package/src/contexts/SideEntityControllerContext.tsx +4 -0
  337. package/src/contexts/SnackbarProvider.tsx +12 -0
  338. package/src/contexts/StorageSourceContext.tsx +4 -0
  339. package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
  340. package/src/contexts/index.ts +3 -0
  341. package/src/core/Drawer.tsx +191 -0
  342. package/src/core/EntityEditView.tsx +561 -0
  343. package/src/core/EntitySidePanel.tsx +91 -0
  344. package/src/core/FireCMS.tsx +198 -0
  345. package/src/core/NavigationRoutes.tsx +127 -0
  346. package/src/core/Scaffold.tsx +281 -0
  347. package/src/core/SideDialogs.tsx +156 -0
  348. package/src/core/SideEntityView.tsx +38 -0
  349. package/src/core/field_configs.tsx +400 -0
  350. package/src/core/index.tsx +12 -0
  351. package/src/form/EntityForm.tsx +728 -0
  352. package/src/form/PropertyFieldBinding.tsx +306 -0
  353. package/src/form/components/CustomIdField.tsx +139 -0
  354. package/src/form/components/ErrorFocus.tsx +51 -0
  355. package/src/form/components/FieldHelperText.tsx +58 -0
  356. package/src/form/components/FormikArrayContainer.tsx +44 -0
  357. package/src/form/components/LabelWithIcon.tsx +33 -0
  358. package/src/form/components/StorageItemPreview.tsx +68 -0
  359. package/src/form/components/StorageUploadProgress.tsx +105 -0
  360. package/src/form/components/index.tsx +3 -0
  361. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +86 -0
  362. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +149 -0
  363. package/src/form/field_bindings/BlockFieldBinding.tsx +245 -0
  364. package/src/form/field_bindings/DateTimeFieldBinding.tsx +67 -0
  365. package/src/form/field_bindings/KeyValueFieldBinding.tsx +558 -0
  366. package/src/form/field_bindings/MapFieldBinding.tsx +138 -0
  367. package/src/form/field_bindings/MarkdownFieldBinding.tsx +695 -0
  368. package/src/form/field_bindings/MultiSelectBinding.tsx +114 -0
  369. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +69 -0
  370. package/src/form/field_bindings/ReferenceFieldBinding.tsx +123 -0
  371. package/src/form/field_bindings/RepeatFieldBinding.tsx +105 -0
  372. package/src/form/field_bindings/SelectFieldBinding.tsx +99 -0
  373. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +447 -0
  374. package/src/form/field_bindings/SwitchFieldBinding.tsx +60 -0
  375. package/src/form/field_bindings/TextFieldBinding.tsx +109 -0
  376. package/src/form/index.tsx +43 -0
  377. package/src/form/useClearRestoreValue.tsx +35 -0
  378. package/src/form/validation.ts +412 -0
  379. package/src/hooks/data/delete.ts +101 -0
  380. package/src/hooks/data/save.ts +170 -0
  381. package/src/hooks/data/useCollectionFetch.tsx +162 -0
  382. package/src/hooks/data/useDataOrder.ts +26 -0
  383. package/src/hooks/data/useDataSource.tsx +14 -0
  384. package/src/hooks/data/useEntityFetch.tsx +129 -0
  385. package/src/hooks/index.tsx +27 -0
  386. package/src/hooks/useAnalyticsController.tsx +8 -0
  387. package/src/hooks/useAuthController.tsx +14 -0
  388. package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
  389. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +67 -0
  390. package/src/hooks/useBuildModeController.tsx +60 -0
  391. package/src/hooks/useBuildNavigationController.tsx +433 -0
  392. package/src/hooks/useClipboard.tsx +158 -0
  393. package/src/hooks/useCustomizationController.tsx +14 -0
  394. package/src/hooks/useDialogsController.tsx +14 -0
  395. package/src/hooks/useFireCMSContext.tsx +99 -0
  396. package/src/hooks/useLargeLayout.tsx +100 -0
  397. package/src/hooks/useModeController.tsx +24 -0
  398. package/src/hooks/useNavigationController.tsx +12 -0
  399. package/src/hooks/useProjectLog.tsx +39 -0
  400. package/src/hooks/useReferenceDialog.tsx +56 -0
  401. package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
  402. package/src/hooks/useSideDialogsController.tsx +21 -0
  403. package/src/hooks/useSideEntityController.tsx +15 -0
  404. package/src/hooks/useSnackbarController.tsx +75 -0
  405. package/src/hooks/useStorageSource.tsx +14 -0
  406. package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
  407. package/src/index.ts +8 -0
  408. package/src/internal/common.tsx +5 -0
  409. package/src/internal/useBuildCustomizationController.tsx +5 -0
  410. package/src/internal/useBuildDataSource.ts +363 -0
  411. package/src/internal/useBuildSideDialogsController.tsx +125 -0
  412. package/src/internal/useBuildSideEntityController.tsx +172 -0
  413. package/src/internal/useLocaleConfig.tsx +18 -0
  414. package/src/internal/useRestoreScroll.tsx +48 -0
  415. package/src/internal/useUnsavedChangesDialog.tsx +106 -0
  416. package/src/preview/PropertyPreview.tsx +225 -0
  417. package/src/preview/PropertyPreviewProps.tsx +59 -0
  418. package/src/preview/components/ArrayEnumPreview.tsx +39 -0
  419. package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
  420. package/src/preview/components/BooleanPreview.tsx +24 -0
  421. package/src/preview/components/DatePreview.tsx +26 -0
  422. package/src/preview/components/EmptyValue.tsx +10 -0
  423. package/src/preview/components/EnumValuesChip.tsx +38 -0
  424. package/src/preview/components/ImagePreview.tsx +106 -0
  425. package/src/preview/components/ReferencePreview.tsx +166 -0
  426. package/src/preview/components/StorageThumbnail.tsx +84 -0
  427. package/src/preview/components/UrlComponentPreview.tsx +79 -0
  428. package/src/preview/index.ts +27 -0
  429. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +82 -0
  430. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +52 -0
  431. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +54 -0
  432. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +55 -0
  433. package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
  434. package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +28 -0
  435. package/src/preview/property_previews/ArrayPropertyPreview.tsx +68 -0
  436. package/src/preview/property_previews/MapPropertyPreview.tsx +146 -0
  437. package/src/preview/property_previews/NumberPropertyPreview.tsx +27 -0
  438. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +283 -0
  439. package/src/preview/property_previews/StringPropertyPreview.tsx +60 -0
  440. package/src/preview/util.ts +31 -0
  441. package/src/types/analytics.ts +35 -0
  442. package/src/types/analytics_controller.tsx +10 -0
  443. package/src/types/appcheck.ts +29 -0
  444. package/src/types/auth.tsx +59 -0
  445. package/src/types/collections.ts +548 -0
  446. package/src/types/customization_controller.tsx +58 -0
  447. package/src/types/datasource.ts +389 -0
  448. package/src/types/dialogs_controller.tsx +33 -0
  449. package/src/types/entities.ts +80 -0
  450. package/src/types/entity_actions.tsx +43 -0
  451. package/src/types/entity_callbacks.ts +229 -0
  452. package/src/types/entity_link_builder.ts +8 -0
  453. package/src/types/entity_overrides.tsx +7 -0
  454. package/src/types/export_import.ts +26 -0
  455. package/src/types/fields.tsx +220 -0
  456. package/src/types/firecms.tsx +153 -0
  457. package/src/types/firecms_context.tsx +83 -0
  458. package/src/types/index.ts +29 -0
  459. package/src/types/local_config_persistence.tsx +23 -0
  460. package/src/types/locales.ts +81 -0
  461. package/src/types/modify_collections.tsx +6 -0
  462. package/src/types/navigation.ts +215 -0
  463. package/src/types/permissions.ts +81 -0
  464. package/src/types/plugins.tsx +207 -0
  465. package/src/types/properties.ts +851 -0
  466. package/src/types/property_config.tsx +72 -0
  467. package/src/types/resolved_entities.ts +148 -0
  468. package/src/types/side_dialogs_controller.tsx +68 -0
  469. package/src/types/side_entity_controller.tsx +97 -0
  470. package/src/types/storage.ts +96 -0
  471. package/src/types/user.ts +37 -0
  472. package/src/util/arrays.ts +3 -0
  473. package/src/util/builders.ts +139 -0
  474. package/src/util/collections.ts +72 -0
  475. package/src/util/common.tsx +2 -0
  476. package/src/util/dates.ts +1 -0
  477. package/src/util/entities.ts +196 -0
  478. package/src/util/enums.ts +56 -0
  479. package/src/util/flatten_object.ts +45 -0
  480. package/src/util/hash.ts +11 -0
  481. package/src/util/icon_list.ts +17 -0
  482. package/src/util/icon_synonyms.ts +1950 -0
  483. package/src/util/icons.tsx +56 -0
  484. package/src/util/index.ts +23 -0
  485. package/src/util/join_collections.ts +172 -0
  486. package/src/util/make_properties_editable.ts +29 -0
  487. package/src/util/navigation_from_path.ts +107 -0
  488. package/src/util/navigation_utils.ts +111 -0
  489. package/src/util/objects.ts +168 -0
  490. package/src/util/os.ts +13 -0
  491. package/src/util/parent_references_from_path.ts +56 -0
  492. package/src/util/paths.ts +27 -0
  493. package/src/util/permissions.ts +83 -0
  494. package/src/util/plurals.ts +190 -0
  495. package/src/util/property_utils.tsx +130 -0
  496. package/src/util/references.ts +51 -0
  497. package/src/util/regexp.ts +32 -0
  498. package/src/util/resolutions.ts +399 -0
  499. package/src/util/storage.ts +92 -0
  500. package/src/util/strings.ts +63 -0
  501. package/src/util/useDebouncedCallback.ts +25 -0
  502. package/src/util/useStorageUploadController.tsx +243 -0
  503. 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?: 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`, 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,5 @@
1
+ export * from "./types";
2
+ export * from "./useDebouncedData";
3
+ export * from "./useColumnsIds";
4
+ export * from "./useDataSourceEntityCollectionTableController";
5
+ export * from "./useTableSearchHelper";
@@ -0,0 +1,60 @@
1
+ import { CollectionSize, Entity, FireCMSContext, ResolvedProperty, SelectedCellProps } from "../../types";
2
+ export type EntityCollectionTableController<M extends Record<string, any>> = {
3
+ /**
4
+ * This cell is displayed as selected
5
+ */
6
+ selectedCell?: SelectedCellProps<any>;
7
+ /**
8
+ * Select a table cell
9
+ * @param cell
10
+ */
11
+ select: (cell?: SelectedCellProps<M>) => void;
12
+ /**
13
+ * The cell that is displayed as a popup view.
14
+ * @param cell
15
+ */
16
+ setPopupCell?: (cell?: SelectedCellProps<M>) => void;
17
+ /**
18
+ * Callback used when the value of a cell has changed.
19
+ * @param params
20
+ */
21
+ onValueChange?: (params: OnCellValueChangeParams<any, M>) => void;
22
+ /**
23
+ * Size of the elements in the collection
24
+ */
25
+ size: CollectionSize;
26
+ };
27
+ /**
28
+ * Props passed in a callback when the content of a cell in a table has been edited
29
+ * @group Collection components
30
+ */
31
+ export interface OnCellValueChangeParams<T = any, M extends Record<string, any> = any> {
32
+ value: T;
33
+ propertyKey: string;
34
+ entity: Entity<M>;
35
+ onValueUpdated: () => void;
36
+ setError: (e: Error) => void;
37
+ fullPath: string;
38
+ context: FireCMSContext;
39
+ }
40
+ /**
41
+ * @group Collection components
42
+ */
43
+ export type UniqueFieldValidator = (props: {
44
+ name: string;
45
+ value: any;
46
+ property: ResolvedProperty;
47
+ entityId?: string;
48
+ }) => Promise<boolean>;
49
+ /**
50
+ * Callback when a cell has changed in a table
51
+ * @group Collection components
52
+ */
53
+ export type OnCellValueChange<T, M extends Record<string, any>> = (params: OnCellValueChangeParams<T, M>) => Promise<void> | void;
54
+ /**
55
+ * @group Collection components
56
+ */
57
+ export type OnColumnResizeParams = {
58
+ width: number;
59
+ key: string;
60
+ };
@@ -0,0 +1,4 @@
1
+ import { ResolvedEntityCollection, ResolvedProperty } from "../../types";
2
+ import { PropertyColumnConfig } from "../EntityCollectionTable/EntityCollectionTableProps";
3
+ export declare function useColumnIds<M extends Record<string, any>>(collection: ResolvedEntityCollection<M>, includeSubcollections: boolean): PropertyColumnConfig[];
4
+ export declare function getColumnKeysForProperty(property: ResolvedProperty, key: string, disabled?: boolean): PropertyColumnConfig[];
@@ -0,0 +1,32 @@
1
+ import { Entity, EntityCollection, EntityTableController, FilterValues, User } from "../../types";
2
+ export type DataSourceEntityCollectionTableControllerProps<M extends Record<string, any> = any> = {
3
+ /**
4
+ * Full path where the data of this table is located
5
+ */
6
+ fullPath: string;
7
+ /**
8
+ * The collection that is represented by this config.
9
+ */
10
+ collection: EntityCollection<M>;
11
+ /**
12
+ * List of entities that will be displayed on top, no matter the ordering.
13
+ * This is used for reference fields selection
14
+ */
15
+ entitiesDisplayedFirst?: Entity<M>[];
16
+ lastDeleteTimestamp?: number;
17
+ forceFilter?: FilterValues<string>;
18
+ };
19
+ /**
20
+ * Use this hook to build a controller for the {@link EntityCollectionTable}.
21
+ * This controller is bound to data in a path in your specified datasource.
22
+ *
23
+ * Note that you can build your own hook returning a {@link EntityTableController}
24
+ * if you would like to display different data.
25
+ *
26
+ * @param fullPath
27
+ * @param collection
28
+ * @param entitiesDisplayedFirst
29
+ * @param lastDeleteTimestamp
30
+ * @param forceFilterFromProps
31
+ */
32
+ export declare function useDataSourceEntityCollectionTableController<M extends Record<string, any> = any, UserType extends User = User>({ fullPath, collection, entitiesDisplayedFirst, lastDeleteTimestamp, forceFilter: forceFilterFromProps, }: DataSourceEntityCollectionTableControllerProps<M>): EntityTableController<M>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Hack to prevent data updates for incomplete callbacks from Firestore
3
+ * triggers.
4
+ * If any deps change, the update is immediate
5
+ * @param data
6
+ * @param deps
7
+ * @param timeoutMs
8
+ */
9
+ export declare function useDebouncedData<T>(data: T[], deps: any, timeoutMs?: number): T[];
@@ -0,0 +1,12 @@
1
+ import { EntityCollection } from "../../types";
2
+ export interface UseTableSearchHelperParams<M extends Record<string, any>> {
3
+ collection: EntityCollection<M>;
4
+ fullPath: string;
5
+ parentCollectionIds?: string[];
6
+ }
7
+ export declare function useTableSearchHelper<M extends Record<string, any>>({ collection, fullPath, parentCollectionIds }: UseTableSearchHelperParams<M>): {
8
+ textSearchLoading: boolean;
9
+ textSearchInitialised: boolean;
10
+ onTextSearchClick: (() => void) | undefined;
11
+ textSearchEnabled: boolean;
12
+ };
@@ -0,0 +1,25 @@
1
+ export type { ErrorViewProps } from "./ErrorView";
2
+ export { ErrorView } from "./ErrorView";
3
+ export type { EntityViewProps } from "./EntityView";
4
+ export { EntityView } from "./EntityView";
5
+ export type { ReferenceSelectionInnerProps } from "./ReferenceTable/ReferenceSelectionTable";
6
+ export { ReferenceSelectionTable } from "./ReferenceTable/ReferenceSelectionTable";
7
+ export { CircularProgressCenter } from "./CircularProgressCenter";
8
+ export * from "./common";
9
+ export * from "./HomePage";
10
+ export * from "./SelectableTable/SelectableTable";
11
+ export * from "./EntityCollectionView/EntityCollectionView";
12
+ export * from "./EntityCollectionView/EntityCollectionViewActions";
13
+ export * from "./EntityCollectionView/useSelectionController";
14
+ export * from "./PropertyConfigBadge";
15
+ export * from "./EntityCollectionTable";
16
+ export * from "./NotFoundPage";
17
+ export * from "./VirtualTable";
18
+ export * from "./ErrorBoundary";
19
+ export * from "./DeleteConfirmationDialog";
20
+ export * from "./FireCMSLogo";
21
+ export * from "./FireCMSAppBar";
22
+ export * from "./ArrayContainer";
23
+ export * from "./ReferenceWidget";
24
+ export * from "./SearchIconsView";
25
+ export * from "./FieldCaption";
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { AnalyticsController } from "../types";
3
+ export declare const AnalyticsContext: React.Context<AnalyticsController>;
@@ -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 { CustomizationController } from "../types/customization_controller";
3
+ export declare const CustomizationControllerContext: React.Context<CustomizationController>;
@@ -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,22 @@
1
+ import { Entity, EntityCollection, User } from "../types";
2
+ export interface EntityEditViewProps<M extends Record<string, any>> {
3
+ path: string;
4
+ collection: EntityCollection<M>;
5
+ entityId?: string;
6
+ copy?: boolean;
7
+ selectedSubPath?: string;
8
+ parentCollectionIds: string[];
9
+ formWidth?: number | string;
10
+ onValuesAreModified: (modified: boolean) => void;
11
+ onUpdate?: (params: {
12
+ entity: Entity<any>;
13
+ }) => void;
14
+ onClose?: () => void;
15
+ }
16
+ /**
17
+ * This is the default view that is used as the content of a side panel when
18
+ * an entity is opened.
19
+ * You probably don't want to use this view directly since it is bound to the
20
+ * side panel. Instead, you might want to use {@link EntityForm} or {@link EntityCollectionView}
21
+ */
22
+ export declare function EntityEditView<M extends Record<string, any>, UserType extends User>({ path, entityId, selectedSubPath, copy, collection, parentCollectionIds, onValuesAreModified, formWidth, onUpdate, onClose, }: EntityEditViewProps<M>): 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>;