@firecms/core 3.0.0-canary.6 → 3.0.0-canary.61

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 (242) hide show
  1. package/README.md +2 -2
  2. package/dist/components/ClearFilterSortButton.d.ts +5 -0
  3. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +11 -11
  4. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
  5. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +5 -3
  6. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +3 -2
  7. package/dist/components/EntityCollectionTable/column_utils.d.ts +1 -2
  8. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +2 -0
  9. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
  10. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +2 -2
  11. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +1 -1
  12. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +12 -3
  13. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
  14. package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
  15. package/dist/components/EntityPreview.d.ts +26 -7
  16. package/dist/components/EntityView.d.ts +11 -0
  17. package/dist/components/FieldCaption.d.ts +5 -0
  18. package/dist/components/FireCMSAppBar.d.ts +4 -2
  19. package/dist/components/HomePage/NavigationCard.d.ts +8 -0
  20. package/dist/components/HomePage/{NavigationCollectionCard.d.ts → NavigationCardBinding.d.ts} +2 -2
  21. package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
  22. package/dist/components/HomePage/index.d.ts +3 -1
  23. package/dist/components/ReferenceWidget.d.ts +3 -1
  24. package/dist/components/SelectableTable/SelectableTable.d.ts +1 -1
  25. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
  26. package/dist/components/VirtualTable/VirtualTableProps.d.ts +6 -7
  27. package/dist/components/VirtualTable/types.d.ts +3 -3
  28. package/dist/components/{EntityCollectionTable/internal → common}/default_entity_actions.d.ts +1 -1
  29. package/dist/components/common/index.d.ts +1 -0
  30. package/dist/components/common/table_height.d.ts +5 -0
  31. package/dist/components/common/types.d.ts +4 -6
  32. package/dist/components/common/useDataSourceEntityCollectionTableController.d.ts +3 -0
  33. package/dist/components/index.d.ts +5 -2
  34. package/dist/contexts/AuthControllerContext.d.ts +1 -1
  35. package/dist/core/Drawer.d.ts +5 -12
  36. package/dist/core/DrawerNavigationItem.d.ts +9 -0
  37. package/dist/core/{EntityView.d.ts → EntityEditView.d.ts} +2 -2
  38. package/dist/core/NavigationRoutes.d.ts +1 -1
  39. package/dist/core/Scaffold.d.ts +8 -12
  40. package/dist/core/index.d.ts +3 -4
  41. package/dist/form/EntityForm.d.ts +1 -1
  42. package/dist/form/components/ErrorFocus.d.ts +1 -1
  43. package/dist/form/components/StorageItemPreview.d.ts +3 -2
  44. package/dist/form/components/StorageUploadProgress.d.ts +1 -1
  45. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
  46. package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
  47. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +4 -3
  48. package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -2
  49. package/dist/form/validation.d.ts +1 -1
  50. package/dist/hooks/data/delete.d.ts +2 -2
  51. package/dist/hooks/data/save.d.ts +2 -3
  52. package/dist/hooks/data/useDataSource.d.ts +2 -2
  53. package/dist/hooks/data/useEntityFetch.d.ts +3 -3
  54. package/dist/hooks/index.d.ts +2 -0
  55. package/dist/hooks/useBuildNavigationController.d.ts +6 -4
  56. package/dist/hooks/useProjectLog.d.ts +6 -2
  57. package/dist/hooks/useStorageSource.d.ts +2 -2
  58. package/dist/hooks/useValidateAuthenticator.d.ts +21 -0
  59. package/dist/index.es.js +10498 -9944
  60. package/dist/index.es.js.map +1 -1
  61. package/dist/index.umd.js +5 -5
  62. package/dist/index.umd.js.map +1 -1
  63. package/dist/internal/useBuildDataSource.d.ts +1 -16
  64. package/dist/preview/PropertyPreview.d.ts +1 -1
  65. package/dist/preview/PropertyPreviewProps.d.ts +1 -4
  66. package/dist/preview/components/BooleanPreview.d.ts +5 -1
  67. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  68. package/dist/preview/components/ReferencePreview.d.ts +3 -8
  69. package/dist/types/analytics.d.ts +1 -1
  70. package/dist/types/auth.d.ts +37 -1
  71. package/dist/types/collections.d.ts +30 -6
  72. package/dist/types/datasource.d.ts +21 -14
  73. package/dist/types/entities.d.ts +5 -1
  74. package/dist/types/entity_actions.d.ts +14 -0
  75. package/dist/types/entity_callbacks.d.ts +2 -2
  76. package/dist/types/entity_overrides.d.ts +6 -0
  77. package/dist/types/index.d.ts +2 -1
  78. package/dist/types/navigation.d.ts +15 -14
  79. package/dist/types/permissions.d.ts +5 -1
  80. package/dist/types/plugins.d.ts +20 -20
  81. package/dist/types/properties.d.ts +12 -4
  82. package/dist/types/property_config.d.ts +2 -2
  83. package/dist/types/roles.d.ts +31 -0
  84. package/dist/types/storage.d.ts +11 -3
  85. package/dist/types/user.d.ts +5 -0
  86. package/dist/util/collections.d.ts +9 -1
  87. package/dist/util/entities.d.ts +1 -1
  88. package/dist/util/icon_synonyms.d.ts +1 -97
  89. package/dist/util/icons.d.ts +8 -2
  90. package/dist/util/navigation_utils.d.ts +2 -2
  91. package/dist/util/objects.d.ts +1 -1
  92. package/dist/util/permissions.d.ts +4 -4
  93. package/dist/util/references.d.ts +4 -2
  94. package/dist/util/resolutions.d.ts +14 -14
  95. package/dist/util/useTraceUpdate.d.ts +1 -0
  96. package/package.json +139 -119
  97. package/src/components/ClearFilterSortButton.tsx +41 -0
  98. package/src/components/DeleteEntityDialog.tsx +4 -4
  99. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +4 -4
  100. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +276 -279
  101. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +9 -5
  102. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +48 -45
  103. package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
  104. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +18 -17
  105. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +5 -5
  106. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +29 -34
  107. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +16 -12
  108. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +2 -4
  109. package/src/components/EntityCollectionView/EntityCollectionView.tsx +73 -72
  110. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +5 -6
  111. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
  112. package/src/components/EntityCollectionView/useSelectionController.tsx +30 -0
  113. package/src/components/EntityPreview.tsx +209 -70
  114. package/src/components/EntityView.tsx +84 -0
  115. package/src/components/FieldCaption.tsx +14 -0
  116. package/src/components/FireCMSAppBar.tsx +40 -15
  117. package/src/components/HomePage/DefaultHomePage.tsx +15 -11
  118. package/src/components/HomePage/NavigationCard.tsx +69 -0
  119. package/src/components/HomePage/NavigationCardBinding.tsx +116 -0
  120. package/src/components/HomePage/SmallNavigationCard.tsx +45 -0
  121. package/src/components/HomePage/index.tsx +3 -1
  122. package/src/components/PropertyIdCopyTooltipContent.tsx +2 -3
  123. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +4 -4
  124. package/src/components/ReferenceWidget.tsx +22 -12
  125. package/src/components/SearchIconsView.tsx +5 -5
  126. package/src/components/SelectableTable/SelectableTable.tsx +5 -3
  127. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
  128. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +23 -8
  129. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +38 -24
  130. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +35 -15
  131. package/src/components/VirtualTable/VirtualTable.tsx +38 -29
  132. package/src/components/VirtualTable/VirtualTableHeader.tsx +4 -4
  133. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +2 -2
  134. package/src/components/VirtualTable/VirtualTableProps.tsx +7 -7
  135. package/src/components/VirtualTable/VirtualTableRow.tsx +4 -5
  136. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +1 -1
  137. package/src/components/VirtualTable/types.tsx +2 -3
  138. package/src/components/{EntityCollectionTable/internal → common}/default_entity_actions.tsx +11 -7
  139. package/src/components/common/index.ts +1 -0
  140. package/src/components/{VirtualTable/common.tsx → common/table_height.tsx} +5 -2
  141. package/src/components/common/types.tsx +4 -6
  142. package/src/components/common/useColumnsIds.tsx +10 -2
  143. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +12 -1
  144. package/src/components/common/useTableSearchHelper.ts +39 -9
  145. package/src/components/index.tsx +5 -2
  146. package/src/contexts/AuthControllerContext.tsx +1 -1
  147. package/src/core/Drawer.tsx +78 -103
  148. package/src/core/DrawerNavigationItem.tsx +62 -0
  149. package/src/core/{EntityView.tsx → EntityEditView.tsx} +27 -45
  150. package/src/core/EntitySidePanel.tsx +3 -3
  151. package/src/core/FireCMS.tsx +54 -43
  152. package/src/core/NavigationRoutes.tsx +11 -4
  153. package/src/core/Scaffold.tsx +80 -66
  154. package/src/core/field_configs.tsx +2 -3
  155. package/src/core/index.tsx +3 -4
  156. package/src/form/EntityForm.tsx +42 -27
  157. package/src/form/PropertyFieldBinding.tsx +0 -2
  158. package/src/form/components/StorageItemPreview.tsx +7 -5
  159. package/src/form/components/StorageUploadProgress.tsx +9 -8
  160. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +10 -12
  161. package/src/form/field_bindings/BlockFieldBinding.tsx +2 -2
  162. package/src/form/field_bindings/DateTimeFieldBinding.tsx +1 -1
  163. package/src/form/field_bindings/KeyValueFieldBinding.tsx +19 -19
  164. package/src/form/field_bindings/MapFieldBinding.tsx +15 -15
  165. package/src/form/field_bindings/MarkdownFieldBinding.tsx +2 -2
  166. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +3 -3
  167. package/src/form/field_bindings/ReferenceFieldBinding.tsx +16 -13
  168. package/src/form/field_bindings/SelectFieldBinding.tsx +3 -3
  169. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +18 -9
  170. package/src/form/field_bindings/TextFieldBinding.tsx +7 -5
  171. package/src/form/validation.ts +3 -4
  172. package/src/hooks/data/delete.ts +3 -3
  173. package/src/hooks/data/save.ts +4 -2
  174. package/src/hooks/data/useCollectionFetch.tsx +1 -1
  175. package/src/hooks/data/useDataSource.tsx +8 -3
  176. package/src/hooks/data/useEntityFetch.tsx +4 -4
  177. package/src/hooks/index.tsx +3 -0
  178. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +8 -10
  179. package/src/hooks/useBuildModeController.tsx +11 -5
  180. package/src/hooks/useBuildNavigationController.tsx +200 -83
  181. package/src/hooks/useProjectLog.tsx +17 -7
  182. package/src/hooks/useReferenceDialog.tsx +2 -2
  183. package/src/hooks/useResolvedNavigationFrom.tsx +1 -1
  184. package/src/hooks/useStorageSource.tsx +7 -2
  185. package/src/hooks/useValidateAuthenticator.tsx +115 -0
  186. package/src/internal/useBuildDataSource.ts +54 -47
  187. package/src/internal/useBuildSideEntityController.tsx +88 -21
  188. package/src/preview/PropertyPreview.tsx +5 -15
  189. package/src/preview/PropertyPreviewProps.tsx +1 -11
  190. package/src/preview/components/BooleanPreview.tsx +19 -4
  191. package/src/preview/components/EnumValuesChip.tsx +2 -2
  192. package/src/preview/components/ReferencePreview.tsx +72 -165
  193. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +0 -1
  194. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +2 -1
  195. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +0 -1
  196. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +0 -1
  197. package/src/preview/property_previews/ArrayOneOfPreview.tsx +2 -3
  198. package/src/preview/property_previews/ArrayPropertyPreview.tsx +2 -3
  199. package/src/preview/property_previews/MapPropertyPreview.tsx +5 -5
  200. package/src/preview/property_previews/StringPropertyPreview.tsx +8 -7
  201. package/src/types/analytics.ts +1 -0
  202. package/src/types/auth.tsx +50 -1
  203. package/src/types/collections.ts +37 -6
  204. package/src/types/datasource.ts +24 -17
  205. package/src/types/entities.ts +9 -1
  206. package/src/types/entity_actions.tsx +17 -0
  207. package/src/types/entity_callbacks.ts +2 -2
  208. package/src/types/entity_overrides.tsx +7 -0
  209. package/src/types/firecms.tsx +0 -1
  210. package/src/types/index.ts +2 -1
  211. package/src/types/navigation.ts +17 -17
  212. package/src/types/permissions.ts +6 -1
  213. package/src/types/plugins.tsx +26 -28
  214. package/src/types/properties.ts +18 -6
  215. package/src/types/property_config.tsx +2 -2
  216. package/src/types/roles.ts +41 -0
  217. package/src/types/side_entity_controller.tsx +1 -0
  218. package/src/types/storage.ts +12 -3
  219. package/src/types/user.ts +7 -0
  220. package/src/util/collections.ts +22 -0
  221. package/src/util/entities.ts +1 -1
  222. package/src/util/enums.ts +1 -1
  223. package/src/util/icon_list.ts +2 -2
  224. package/src/util/icon_synonyms.ts +3 -99
  225. package/src/util/icons.tsx +11 -3
  226. package/src/util/navigation_utils.ts +6 -6
  227. package/src/util/objects.ts +8 -21
  228. package/src/util/permissions.ts +11 -8
  229. package/src/util/references.ts +36 -5
  230. package/src/util/resolutions.ts +32 -31
  231. package/src/util/strings.ts +2 -2
  232. package/src/util/useTraceUpdate.tsx +2 -1
  233. package/dist/components/VirtualTable/common.d.ts +0 -2
  234. package/dist/core/SideEntityView.d.ts +0 -7
  235. package/dist/internal/useBuildCustomizationController.d.ts +0 -2
  236. package/dist/internal/useLocaleConfig.d.ts +0 -1
  237. package/dist/types/appcheck.d.ts +0 -26
  238. package/src/components/HomePage/NavigationCollectionCard.tsx +0 -146
  239. package/src/core/SideEntityView.tsx +0 -38
  240. package/src/internal/useBuildCustomizationController.tsx +0 -5
  241. package/src/internal/useLocaleConfig.tsx +0 -18
  242. package/src/types/appcheck.ts +0 -29
@@ -2,14 +2,15 @@ import React from "react";
2
2
  import { DrawerProps } from "./Drawer";
3
3
  import { FireCMSAppBarProps } from "../components";
4
4
  export declare const DRAWER_WIDTH = 280;
5
+ export declare function useDrawer(): DrawerProps;
5
6
  /**
6
7
  * @group Core
7
8
  */
8
- export interface ScaffoldProps<ExtraDrawerProps = object, ExtraAppbarProps = object> {
9
+ export interface ScaffoldProps<ExtraAppbarProps = object> {
9
10
  /**
10
11
  * Name of the app, displayed as the main title and in the tab title
11
12
  */
12
- name: string;
13
+ name?: React.ReactNode;
13
14
  /**
14
15
  * Logo to be displayed in the drawer of the CMS
15
16
  */
@@ -19,21 +20,16 @@ export interface ScaffoldProps<ExtraDrawerProps = object, ExtraAppbarProps = obj
19
20
  */
20
21
  includeDrawer?: boolean;
21
22
  /**
22
- * In case you need to override the view that gets rendered as a drawer
23
- * @see DefaultDrawer
23
+ * You can define a custom drawer to be displayed in the scaffold.
24
+ * Use the hook `useDrawer` to access the context values.
24
25
  */
25
- Drawer?: React.ComponentType<DrawerProps<ExtraDrawerProps>>;
26
- /**
27
- * Additional props passed to the custom Drawer
28
- */
29
- drawerProps?: Partial<DrawerProps> & ExtraDrawerProps;
26
+ drawer?: React.ReactNode;
30
27
  /**
31
28
  * Open the drawer on hover
32
29
  */
33
30
  autoOpenDrawer?: boolean;
34
31
  /**
35
- * A component that gets rendered on the upper side of the main toolbar.
36
- * `toolbarExtraWidget` has no effect if this is set.
32
+ * The AppBar component to be used in the scaffold.
37
33
  */
38
34
  FireCMSAppBar?: React.ComponentType<FireCMSAppBarProps<ExtraAppbarProps>>;
39
35
  /**
@@ -52,4 +48,4 @@ export interface ScaffoldProps<ExtraDrawerProps = object, ExtraAppbarProps = obj
52
48
  * @constructor
53
49
  * @group Core
54
50
  */
55
- export declare const Scaffold: React.NamedExoticComponent<React.PropsWithChildren<ScaffoldProps<object, object>>>;
51
+ export declare const Scaffold: React.NamedExoticComponent<React.PropsWithChildren<ScaffoldProps<object>>>;
@@ -1,8 +1,7 @@
1
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";
2
+ export * from "./Scaffold";
3
+ export * from "./Drawer";
4
+ export * from "./DrawerNavigationItem";
6
5
  export * from "./field_configs";
7
6
  export * from "./SideDialogs";
8
7
  export * from "./NavigationRoutes";
@@ -72,6 +72,6 @@ export type EntityFormSaveParams<M extends Record<string, any>> = {
72
72
  * @group Components
73
73
  */
74
74
  export declare const EntityForm: typeof EntityFormInternal;
75
- 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
+ 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;
76
76
  export declare function yupToFormErrors(yupError: ValidationError): Record<string, any>;
77
77
  export {};
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  export declare const ErrorFocus: ({ containerRef }: {
3
- containerRef?: React.RefObject<HTMLDivElement> | undefined;
3
+ containerRef?: React.RefObject<HTMLDivElement>;
4
4
  }) => null;
@@ -1,4 +1,4 @@
1
- import { Entity, ResolvedStringProperty } from "../../types";
1
+ import { Entity, EntityCollection, ResolvedStringProperty } from "../../types";
2
2
  import { PreviewSize } from "../../preview";
3
3
  interface StorageItemPreviewProps {
4
4
  name: string;
@@ -8,6 +8,7 @@ interface StorageItemPreviewProps {
8
8
  onRemove: (value: string) => void;
9
9
  size: PreviewSize;
10
10
  disabled: boolean;
11
+ collection: EntityCollection;
11
12
  }
12
- export declare function StorageItemPreview({ name, property, value, entity, onRemove, disabled, size }: StorageItemPreviewProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function StorageItemPreview({ name, property, value, entity, onRemove, disabled, size, collection }: StorageItemPreviewProps): import("react/jsx-runtime").JSX.Element;
13
14
  export {};
@@ -7,4 +7,4 @@ export interface StorageUploadItemProps {
7
7
  imageSize: number;
8
8
  simple: boolean;
9
9
  }
10
- export declare function StorageUploadProgress({ storagePath, entry, metadata, onFileUploadComplete, imageSize, simple }: StorageUploadItemProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function StorageUploadProgress({ storagePath, entry, metadata, onFileUploadComplete, imageSize, simple, }: StorageUploadItemProps): import("react/jsx-runtime").JSX.Element;
@@ -4,4 +4,4 @@ import { FieldProps } from "../../types";
4
4
  *
5
5
  * @group Form fields
6
6
  */
7
- export declare function KeyValueFieldBinding<T extends Record<string, any>>({ propertyKey, value, showError, error, disabled, property, setValue, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
7
+ export declare function KeyValueFieldBinding({ propertyKey, value, showError, error, disabled, property, setValue, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<Record<string, any>>): import("react/jsx-runtime").JSX.Element;
@@ -6,4 +6,4 @@ import { FieldProps } from "../../types";
6
6
  * and tables to the specified properties.
7
7
  * @group Form fields
8
8
  */
9
- export declare function MapFieldBinding<T extends Record<string, any>>({ propertyKey, value, showError, error, disabled, property, setValue, partOfBlock, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function MapFieldBinding({ propertyKey, value, showError, error, disabled, property, setValue, partOfBlock, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<Record<string, any>>): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { Entity, FieldProps, ResolvedArrayProperty, ResolvedStringProperty, StorageConfig } from "../../types";
1
+ import { Entity, EntityCollection, FieldProps, ResolvedArrayProperty, ResolvedStringProperty, StorageConfig } from "../../types";
2
2
  import { StorageFieldItem } from "../../util/useStorageUploadController";
3
3
  type StorageUploadFieldProps = FieldProps<string | string[]>;
4
4
  /**
@@ -8,9 +8,10 @@ type StorageUploadFieldProps = FieldProps<string | string[]>;
8
8
  * and tables to the specified properties.
9
9
  * @group Form fields
10
10
  */
11
- export declare function StorageUploadFieldBinding({ propertyKey, value, setValue, error, showError, autoFocus, tableMode, property, includeDescription, context, isSubmitting }: StorageUploadFieldProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function StorageUploadFieldBinding({ propertyKey, value, setValue, error, showError, autoFocus, tableMode, property, includeDescription, context, isSubmitting, }: StorageUploadFieldProps): import("react/jsx-runtime").JSX.Element;
12
12
  export interface StorageUploadProps {
13
13
  value: StorageFieldItem[];
14
+ collection: EntityCollection;
14
15
  setInternalValue: (v: StorageFieldItem[]) => void;
15
16
  name: string;
16
17
  property: ResolvedStringProperty | ResolvedArrayProperty<string[]>;
@@ -24,5 +25,5 @@ export interface StorageUploadProps {
24
25
  storagePathBuilder: (file: File) => string;
25
26
  onFileUploadComplete: (uploadedPath: string, entry: StorageFieldItem, fileMetadata?: any) => Promise<void>;
26
27
  }
27
- export declare function StorageUpload({ property, name, value, setInternalValue, onChange, multipleFilesSupported, onFileUploadComplete, disabled, onFilesAdded, autoFocus, storage, entity, storagePathBuilder }: StorageUploadProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function StorageUpload({ collection, property, name, value, setInternalValue, onChange, multipleFilesSupported, onFileUploadComplete, disabled, onFilesAdded, autoFocus, storage, entity, storagePathBuilder, }: StorageUploadProps): import("react/jsx-runtime").JSX.Element;
28
29
  export {};
@@ -1,5 +1,5 @@
1
1
  import { FieldProps } from "../../types";
2
- interface TextFieldProps<T extends string | number> extends FieldProps<T> {
2
+ interface TextFieldBindingProps<T extends string | number> extends FieldProps<T> {
3
3
  allowInfinity?: boolean;
4
4
  }
5
5
  /**
@@ -8,5 +8,5 @@ interface TextFieldProps<T extends string | number> extends FieldProps<T> {
8
8
  * and tables to the specified properties.
9
9
  * @group Form fields
10
10
  */
11
- export declare function TextFieldBinding<T extends string | number>({ propertyKey, value, setValue, error, showError, disabled, autoFocus, property, includeDescription, }: TextFieldProps<T>): import("react/jsx-runtime").JSX.Element;
11
+ export declare function TextFieldBinding<T extends string | number>({ context, propertyKey, value, setValue, error, showError, disabled, autoFocus, property, includeDescription, }: TextFieldBindingProps<T>): import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -21,5 +21,5 @@ interface PropertyContext<T extends CMSType> {
21
21
  }
22
22
  export declare function getYupEntitySchema<M extends Record<string, any>>(entityId: string, properties: ResolvedProperties<M>, customFieldValidator?: CustomFieldValidator): ObjectSchema<any>;
23
23
  export declare function mapPropertyToYup<T extends CMSType>(propertyContext: PropertyContext<T>): AnySchema<unknown>;
24
- export declare function getYupMapObjectSchema<M extends Record<string, any>>({ property, entityId, customFieldValidator, name }: PropertyContext<M>): ObjectSchema<any>;
24
+ export declare function getYupMapObjectSchema({ property, entityId, customFieldValidator, name }: PropertyContext<Record<string, any>>): ObjectSchema<any>;
25
25
  export {};
@@ -2,8 +2,8 @@ import { DataSource, DeleteEntityProps, Entity, EntityCallbacks, FireCMSContext,
2
2
  /**
3
3
  * @group Hooks and utilities
4
4
  */
5
- export type DeleteEntityWithCallbacksProps<M extends Record<string, any>> = DeleteEntityProps<M> & {
6
- callbacks?: EntityCallbacks<M>;
5
+ export type DeleteEntityWithCallbacksProps<M extends Record<string, any>, UserType extends User = User> = DeleteEntityProps<M> & {
6
+ callbacks?: EntityCallbacks<M, UserType>;
7
7
  onDeleteSuccess?: (entity: Entity<M>) => void;
8
8
  onDeleteFailure?: (entity: Entity<M>, e: Error) => void;
9
9
  onPreDeleteHookError?: (entity: Entity<M>, e: Error) => void;
@@ -1,9 +1,8 @@
1
- import { DataSource, Entity, EntityCallbacks, EntityCollection, FireCMSContext, SaveEntityProps, User } from "../../types";
1
+ import { DataSource, Entity, EntityCollection, FireCMSContext, SaveEntityProps, User } from "../../types";
2
2
  /**
3
3
  * @group Hooks and utilities
4
4
  */
5
5
  export type SaveEntityWithCallbacksProps<M extends Record<string, any>> = SaveEntityProps<M> & {
6
- callbacks?: EntityCallbacks<M>;
7
6
  onSaveSuccess?: (updatedEntity: Entity<M>) => void;
8
7
  onSaveFailure?: (e: Error) => void;
9
8
  onPreSaveHookError?: (e: Error) => void;
@@ -36,7 +35,7 @@ export type SaveEntityWithCallbacksProps<M extends Record<string, any>> = SaveEn
36
35
  * @group Hooks and utilities
37
36
  */
38
37
  export declare function saveEntityWithCallbacks<M extends Record<string, any>, UserType extends User>({ collection, path, entityId, values, previousValues, status, dataSource, context, onSaveSuccess, onSaveFailure, onPreSaveHookError, onSaveSuccessHookError }: SaveEntityWithCallbacksProps<M> & {
39
- collection: EntityCollection<M>;
38
+ collection: EntityCollection<M, UserType>;
40
39
  dataSource: DataSource;
41
40
  context: FireCMSContext<UserType>;
42
41
  }): Promise<void>;
@@ -1,6 +1,6 @@
1
- import { DataSource } from "../../types";
1
+ import { DataSource, EntityCollection } from "../../types";
2
2
  /**
3
3
  * Use this hook to get the datasource being used
4
4
  * @group Hooks and utilities
5
5
  */
6
- export declare const useDataSource: () => DataSource;
6
+ export declare const useDataSource: (collection?: EntityCollection<any, any>) => DataSource;
@@ -2,10 +2,10 @@ import { Entity, EntityCollection, User } from "../../types";
2
2
  /**
3
3
  * @group Hooks and utilities
4
4
  */
5
- export interface EntityFetchProps<M extends Record<string, any>> {
5
+ export interface EntityFetchProps<M extends Record<string, any>, UserType extends User = User> {
6
6
  path: string;
7
7
  entityId?: string;
8
- collection: EntityCollection<M>;
8
+ collection: EntityCollection<M, UserType>;
9
9
  useCache?: boolean;
10
10
  }
11
11
  /**
@@ -25,4 +25,4 @@ export interface EntityFetchResult<M extends Record<string, any>> {
25
25
  * @param useCache
26
26
  * @group Hooks and utilities
27
27
  */
28
- export declare function useEntityFetch<M extends Record<string, any>, UserType extends User>({ path: inputPath, entityId, collection, useCache }: EntityFetchProps<M>): EntityFetchResult<M>;
28
+ export declare function useEntityFetch<M extends Record<string, any>, UserType extends User>({ path: inputPath, entityId, collection, useCache }: EntityFetchProps<M, UserType>): EntityFetchResult<M>;
@@ -7,6 +7,7 @@ export * from "./useNavigationController";
7
7
  export * from "./useResolvedNavigationFrom";
8
8
  export * from "./useStorageSource";
9
9
  export * from "./useAuthController";
10
+ export * from "./useDialogsController";
10
11
  export * from "./useSideDialogsController";
11
12
  export * from "./useSideEntityController";
12
13
  export * from "./useFireCMSContext";
@@ -20,3 +21,4 @@ export * from "./useCustomizationController";
20
21
  export * from "./useBuildNavigationController";
21
22
  export * from "./useBuildLocalConfigurationPersistence";
22
23
  export * from "./useBuildModeController";
24
+ export * from "./useValidateAuthenticator";
@@ -1,10 +1,13 @@
1
- import { AuthController, CMSView, CMSViewsBuilder, DataSourceDelegate, EntityCollection, EntityCollectionsBuilder, NavigationController, User, UserConfigurationPersistence } from "../types";
2
- type BuildNavigationContextProps<EC extends EntityCollection, UserType extends User> = {
1
+ import { AuthController, CMSView, CMSViewsBuilder, DataSourceDelegate, EntityCollection, EntityCollectionsBuilder, NavigationController, PermissionsBuilder, User, UserConfigurationPersistence } from "../types";
2
+ export type BuildNavigationContextProps<EC extends EntityCollection, UserType extends User> = {
3
3
  basePath?: string;
4
4
  baseCollectionPath?: string;
5
5
  authController: AuthController<UserType>;
6
6
  collections?: EC[] | EntityCollectionsBuilder<EC>;
7
+ collectionPermissions?: PermissionsBuilder;
7
8
  views?: CMSView[] | CMSViewsBuilder;
9
+ adminViews?: CMSView[] | CMSViewsBuilder;
10
+ viewsOrder?: string[];
8
11
  userConfigPersistence?: UserConfigurationPersistence;
9
12
  dataSourceDelegate: DataSourceDelegate;
10
13
  /**
@@ -16,6 +19,5 @@ type BuildNavigationContextProps<EC extends EntityCollection, UserType extends U
16
19
  */
17
20
  injectCollections?: (collections: EntityCollection[]) => EntityCollection[];
18
21
  };
19
- export declare function useBuildNavigationController<EC extends EntityCollection, UserType extends User>({ basePath, baseCollectionPath, authController, collections: collectionsProp, views: baseViews, userConfigPersistence, dataSourceDelegate, injectCollections }: BuildNavigationContextProps<EC, UserType>): NavigationController;
22
+ export declare function useBuildNavigationController<EC extends EntityCollection, UserType extends User>(props: BuildNavigationContextProps<EC, UserType>): NavigationController;
20
23
  export declare function getSidePanelKey(path: string, entityId?: string): string;
21
- export {};
@@ -1,4 +1,8 @@
1
- import { AuthController } from "../types";
1
+ import { AuthController, FireCMSPlugin } from "../types";
2
2
  export declare const DEFAULT_SERVER_DEV = "https://api-kdoe6pj3qq-ey.a.run.app";
3
3
  export declare const DEFAULT_SERVER = "https://api-drplyi3b6q-ey.a.run.app";
4
- export declare function useProjectLog(authController: AuthController): void;
4
+ export type AccessResponse = {
5
+ blocked?: boolean;
6
+ message?: string;
7
+ };
8
+ export declare function useProjectLog(authController: AuthController, plugins?: FireCMSPlugin<any, any, any>[]): AccessResponse | null;
@@ -1,6 +1,6 @@
1
- import { StorageSource } from "../types";
1
+ import { EntityCollection, StorageSource } from "../types";
2
2
  /**
3
3
  * Use this hook to get the storage source being used
4
4
  * @group Hooks and utilities
5
5
  */
6
- export declare const useStorageSource: () => StorageSource;
6
+ export declare const useStorageSource: (collection?: EntityCollection) => StorageSource;
@@ -0,0 +1,21 @@
1
+ import { AuthController, Authenticator, DataSourceDelegate, StorageSource, User } from "../index";
2
+ /**
3
+ * This hook is used internally for validating an authenticator.
4
+ *
5
+ * @param authController
6
+ * @param authentication
7
+ * @param storageSource
8
+ * @param dataSourceDelegate
9
+ */
10
+ export declare function useValidateAuthenticator<UserType extends User = User, Controller extends AuthController<UserType> = AuthController<UserType>>({ disabled, authController, authenticator, storageSource, dataSourceDelegate }: {
11
+ disabled?: boolean;
12
+ authController: Controller;
13
+ authenticator?: boolean | Authenticator<UserType, Controller>;
14
+ dataSourceDelegate: DataSourceDelegate;
15
+ storageSource: StorageSource;
16
+ }): {
17
+ canAccessMainView: boolean;
18
+ authLoading: boolean;
19
+ notAllowedError: any;
20
+ authVerified: boolean;
21
+ };