@firecms/core 3.0.0-canary.5 → 3.0.0-canary.50

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 (210) 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/internal/CollectionTableToolbar.d.ts +1 -4
  9. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +1 -1
  10. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +12 -3
  11. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
  12. package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
  13. package/dist/components/EntityPreview.d.ts +25 -7
  14. package/dist/components/EntityView.d.ts +11 -0
  15. package/dist/components/FieldCaption.d.ts +5 -0
  16. package/dist/components/FireCMSAppBar.d.ts +3 -2
  17. package/dist/components/HomePage/NavigationCard.d.ts +8 -0
  18. package/dist/components/HomePage/{NavigationCollectionCard.d.ts → NavigationCardBinding.d.ts} +2 -2
  19. package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
  20. package/dist/components/HomePage/index.d.ts +3 -1
  21. package/dist/components/SelectableTable/SelectableTable.d.ts +1 -1
  22. package/dist/components/VirtualTable/VirtualTableProps.d.ts +1 -1
  23. package/dist/components/common/types.d.ts +4 -6
  24. package/dist/components/common/useDataSourceEntityCollectionTableController.d.ts +3 -0
  25. package/dist/components/index.d.ts +4 -2
  26. package/dist/contexts/AuthControllerContext.d.ts +1 -1
  27. package/dist/core/{EntityView.d.ts → EntityEditView.d.ts} +2 -2
  28. package/dist/core/NavigationRoutes.d.ts +1 -1
  29. package/dist/core/Scaffold.d.ts +1 -1
  30. package/dist/form/EntityForm.d.ts +1 -1
  31. package/dist/form/components/ErrorFocus.d.ts +1 -1
  32. package/dist/form/components/StorageItemPreview.d.ts +3 -2
  33. package/dist/form/components/StorageUploadProgress.d.ts +1 -1
  34. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
  35. package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
  36. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +4 -3
  37. package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -2
  38. package/dist/form/validation.d.ts +1 -1
  39. package/dist/hooks/data/delete.d.ts +2 -2
  40. package/dist/hooks/data/save.d.ts +2 -3
  41. package/dist/hooks/data/useDataSource.d.ts +2 -2
  42. package/dist/hooks/data/useEntityFetch.d.ts +3 -3
  43. package/dist/hooks/index.d.ts +1 -0
  44. package/dist/hooks/useBuildNavigationController.d.ts +6 -4
  45. package/dist/hooks/useProjectLog.d.ts +6 -2
  46. package/dist/hooks/useStorageSource.d.ts +2 -2
  47. package/dist/hooks/useValidateAuthenticator.d.ts +21 -0
  48. package/dist/index.es.js +10402 -9898
  49. package/dist/index.es.js.map +1 -1
  50. package/dist/index.umd.js +5 -5
  51. package/dist/index.umd.js.map +1 -1
  52. package/dist/internal/useBuildDataSource.d.ts +1 -12
  53. package/dist/preview/PropertyPreview.d.ts +1 -1
  54. package/dist/preview/PropertyPreviewProps.d.ts +1 -4
  55. package/dist/preview/components/BooleanPreview.d.ts +5 -1
  56. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  57. package/dist/preview/components/ReferencePreview.d.ts +1 -7
  58. package/dist/types/analytics.d.ts +1 -1
  59. package/dist/types/auth.d.ts +37 -1
  60. package/dist/types/collections.d.ts +29 -5
  61. package/dist/types/datasource.d.ts +3 -6
  62. package/dist/types/entities.d.ts +5 -1
  63. package/dist/types/entity_actions.d.ts +14 -0
  64. package/dist/types/entity_callbacks.d.ts +2 -2
  65. package/dist/types/entity_overrides.d.ts +6 -0
  66. package/dist/types/index.d.ts +2 -1
  67. package/dist/types/navigation.d.ts +14 -13
  68. package/dist/types/permissions.d.ts +5 -1
  69. package/dist/types/plugins.d.ts +20 -20
  70. package/dist/types/properties.d.ts +4 -4
  71. package/dist/types/property_config.d.ts +2 -2
  72. package/dist/types/roles.d.ts +31 -0
  73. package/dist/types/storage.d.ts +11 -3
  74. package/dist/types/user.d.ts +5 -0
  75. package/dist/util/collections.d.ts +9 -1
  76. package/dist/util/entities.d.ts +1 -1
  77. package/dist/util/icon_synonyms.d.ts +1 -4
  78. package/dist/util/icons.d.ts +8 -2
  79. package/dist/util/navigation_utils.d.ts +2 -2
  80. package/dist/util/permissions.d.ts +4 -4
  81. package/dist/util/references.d.ts +4 -2
  82. package/dist/util/resolutions.d.ts +9 -13
  83. package/dist/util/useTraceUpdate.d.ts +1 -0
  84. package/package.json +139 -119
  85. package/src/components/ClearFilterSortButton.tsx +41 -0
  86. package/src/components/DeleteEntityDialog.tsx +4 -4
  87. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +2 -2
  88. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +275 -278
  89. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +9 -5
  90. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +44 -44
  91. package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
  92. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +9 -16
  93. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +3 -3
  94. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +27 -32
  95. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +11 -6
  96. package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +9 -5
  97. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +2 -4
  98. package/src/components/EntityCollectionView/EntityCollectionView.tsx +69 -64
  99. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +5 -6
  100. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
  101. package/src/components/EntityCollectionView/useSelectionController.tsx +30 -0
  102. package/src/components/EntityPreview.tsx +207 -70
  103. package/src/components/EntityView.tsx +84 -0
  104. package/src/components/FieldCaption.tsx +14 -0
  105. package/src/components/FireCMSAppBar.tsx +33 -11
  106. package/src/components/HomePage/DefaultHomePage.tsx +15 -11
  107. package/src/components/HomePage/NavigationCard.tsx +69 -0
  108. package/src/components/HomePage/NavigationCardBinding.tsx +116 -0
  109. package/src/components/HomePage/SmallNavigationCard.tsx +45 -0
  110. package/src/components/HomePage/index.tsx +3 -1
  111. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +4 -4
  112. package/src/components/ReferenceWidget.tsx +4 -4
  113. package/src/components/SearchIconsView.tsx +4 -4
  114. package/src/components/SelectableTable/SelectableTable.tsx +1 -1
  115. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
  116. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +23 -8
  117. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +35 -24
  118. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +35 -15
  119. package/src/components/VirtualTable/VirtualTable.tsx +28 -20
  120. package/src/components/VirtualTable/VirtualTableProps.tsx +1 -1
  121. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +1 -1
  122. package/src/components/common/types.tsx +4 -6
  123. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +12 -1
  124. package/src/components/index.tsx +4 -2
  125. package/src/contexts/AuthControllerContext.tsx +1 -1
  126. package/src/core/Drawer.tsx +66 -39
  127. package/src/core/{EntityView.tsx → EntityEditView.tsx} +21 -40
  128. package/src/core/EntitySidePanel.tsx +2 -2
  129. package/src/core/FireCMS.tsx +18 -3
  130. package/src/core/NavigationRoutes.tsx +11 -4
  131. package/src/core/Scaffold.tsx +5 -4
  132. package/src/core/field_configs.tsx +1 -2
  133. package/src/form/EntityForm.tsx +40 -21
  134. package/src/form/PropertyFieldBinding.tsx +0 -2
  135. package/src/form/components/StorageItemPreview.tsx +5 -3
  136. package/src/form/components/StorageUploadProgress.tsx +7 -6
  137. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +8 -12
  138. package/src/form/field_bindings/DateTimeFieldBinding.tsx +1 -1
  139. package/src/form/field_bindings/KeyValueFieldBinding.tsx +15 -15
  140. package/src/form/field_bindings/MapFieldBinding.tsx +15 -15
  141. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +1 -1
  142. package/src/form/field_bindings/ReferenceFieldBinding.tsx +1 -0
  143. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +14 -5
  144. package/src/form/field_bindings/TextFieldBinding.tsx +7 -5
  145. package/src/form/validation.ts +3 -4
  146. package/src/hooks/data/delete.ts +3 -3
  147. package/src/hooks/data/save.ts +2 -2
  148. package/src/hooks/data/useCollectionFetch.tsx +1 -1
  149. package/src/hooks/data/useDataSource.tsx +8 -3
  150. package/src/hooks/data/useEntityFetch.tsx +4 -4
  151. package/src/hooks/index.tsx +2 -0
  152. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +9 -10
  153. package/src/hooks/useBuildModeController.tsx +11 -5
  154. package/src/hooks/useBuildNavigationController.tsx +199 -81
  155. package/src/hooks/useProjectLog.tsx +17 -7
  156. package/src/hooks/useReferenceDialog.tsx +2 -2
  157. package/src/hooks/useStorageSource.tsx +7 -2
  158. package/src/hooks/useValidateAuthenticator.tsx +115 -0
  159. package/src/internal/useBuildDataSource.ts +42 -44
  160. package/src/internal/useBuildSideEntityController.tsx +86 -20
  161. package/src/preview/PropertyPreview.tsx +3 -14
  162. package/src/preview/PropertyPreviewProps.tsx +1 -11
  163. package/src/preview/components/BooleanPreview.tsx +19 -4
  164. package/src/preview/components/EnumValuesChip.tsx +1 -1
  165. package/src/preview/components/ReferencePreview.tsx +55 -147
  166. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +0 -1
  167. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +0 -1
  168. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +0 -1
  169. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +0 -1
  170. package/src/preview/property_previews/ArrayOneOfPreview.tsx +0 -1
  171. package/src/preview/property_previews/ArrayPropertyPreview.tsx +0 -1
  172. package/src/preview/property_previews/StringPropertyPreview.tsx +8 -7
  173. package/src/types/analytics.ts +1 -0
  174. package/src/types/auth.tsx +50 -1
  175. package/src/types/collections.ts +33 -5
  176. package/src/types/datasource.ts +8 -5
  177. package/src/types/entities.ts +9 -1
  178. package/src/types/entity_actions.tsx +17 -0
  179. package/src/types/entity_callbacks.ts +2 -2
  180. package/src/types/entity_overrides.tsx +7 -0
  181. package/src/types/firecms.tsx +0 -1
  182. package/src/types/index.ts +2 -1
  183. package/src/types/navigation.ts +17 -16
  184. package/src/types/permissions.ts +6 -1
  185. package/src/types/plugins.tsx +26 -28
  186. package/src/types/properties.ts +8 -6
  187. package/src/types/property_config.tsx +2 -2
  188. package/src/types/roles.ts +41 -0
  189. package/src/types/side_entity_controller.tsx +1 -0
  190. package/src/types/storage.ts +12 -3
  191. package/src/types/user.ts +7 -0
  192. package/src/util/collections.ts +22 -0
  193. package/src/util/entities.ts +1 -1
  194. package/src/util/icon_list.ts +2 -2
  195. package/src/util/icon_synonyms.ts +1 -4
  196. package/src/util/icons.tsx +11 -3
  197. package/src/util/navigation_utils.ts +6 -6
  198. package/src/util/objects.ts +0 -14
  199. package/src/util/permissions.ts +11 -8
  200. package/src/util/references.ts +36 -5
  201. package/src/util/resolutions.ts +6 -24
  202. package/src/util/strings.ts +2 -2
  203. package/src/util/useTraceUpdate.tsx +2 -1
  204. package/dist/core/SideEntityView.d.ts +0 -7
  205. package/dist/internal/useLocaleConfig.d.ts +0 -1
  206. package/dist/types/appcheck.d.ts +0 -26
  207. package/src/components/HomePage/NavigationCollectionCard.tsx +0 -146
  208. package/src/core/SideEntityView.tsx +0 -38
  209. package/src/internal/useLocaleConfig.tsx +0 -18
  210. package/src/types/appcheck.ts +0 -29
package/README.md CHANGED
@@ -49,7 +49,7 @@ FireCMS is based on this great technologies:
49
49
  The easiest way to get going is to check our quickstart guide! You will just
50
50
  need to follow some quick steps:
51
51
 
52
- https://firecms.co/docs/quickstart
52
+ https://firecms.co/docs
53
53
 
54
54
  ### Demo
55
55
 
@@ -82,7 +82,7 @@ data.
82
82
 
83
83
  ### ✨ Robust Forms
84
84
 
85
- ![fields](https://firecms.co/img/post_editing.webp)
85
+ ![fields](https://firecms.co/img/form_editing.webp)
86
86
 
87
87
  When editing an entity, FireCMS offers a nested system of side dialogs for
88
88
  navigating through **subcollections** and accessing custom views (such as custom
@@ -0,0 +1,5 @@
1
+ import { EntityTableController } from "../types";
2
+ export declare function ClearFilterSortButton({ tableController, enabled }: {
3
+ enabled: boolean;
4
+ tableController: EntityTableController;
5
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -15,17 +15,17 @@ import { CollectionSize, Entity, EntityAction, EntityCollection, SelectionContro
15
15
  */
16
16
  export declare const EntityCollectionRowActions: ({ entity, collection, fullPath, width, frozen, isSelected, selectionEnabled, size, highlightEntity, onCollectionChange, unhighlightEntity, actions, hideId, selectionController, }: {
17
17
  entity: Entity<any>;
18
- collection?: EntityCollection<any, import("../../types").User> | undefined;
19
- fullPath?: string | undefined;
18
+ collection?: EntityCollection<any>;
19
+ fullPath?: string;
20
20
  width: number;
21
- frozen?: boolean | undefined;
21
+ frozen?: boolean;
22
22
  size: CollectionSize;
23
- isSelected?: boolean | undefined;
24
- selectionEnabled?: boolean | undefined;
25
- actions?: EntityAction[] | undefined;
26
- hideId?: boolean | undefined;
27
- onCollectionChange?: (() => void) | undefined;
28
- selectionController?: SelectionController | undefined;
29
- highlightEntity?: ((entity: Entity<any>) => void) | undefined;
30
- unhighlightEntity?: ((entity: Entity<any>) => void) | undefined;
23
+ isSelected?: boolean;
24
+ selectionEnabled?: boolean;
25
+ actions?: EntityAction[];
26
+ hideId?: boolean;
27
+ onCollectionChange?: () => void;
28
+ selectionController?: SelectionController;
29
+ highlightEntity?: (entity: Entity<any>) => void;
30
+ unhighlightEntity?: (entity: Entity<any>) => void;
31
31
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import { User } from "../../types";
2
2
  import { EntityCollectionTableProps } from "./EntityCollectionTableProps";
3
3
  /**
4
4
  * This component is in charge of rendering a collection table with a high
@@ -24,4 +24,4 @@ import { EntityCollectionTableProps } from "./EntityCollectionTableProps";
24
24
  * @see VirtualTable
25
25
  * @group Components
26
26
  */
27
- export declare const EntityCollectionTable: React.NamedExoticComponent<EntityCollectionTableProps<any>>;
27
+ export declare const EntityCollectionTable: <M extends Record<string, any>, UserType extends User>({ className, style, forceFilter, actionsStart, actions, title, tableRowActionsBuilder, uniqueFieldValidator, getPropertyFor, onValueChange, selectionController, highlightedEntities, onEntityClick, onColumnResize, onSizeChanged, textSearchEnabled, hoverRow, inlineEditing, additionalFields, displayedColumnIds, defaultSize, properties, tableController, filterable, sortable, endAdornment, AddColumnComponent, AdditionalHeaderWidget, additionalIDHeaderWidget, emptyComponent, getIdColumnWidth, onTextSearchClick, textSearchLoading, enablePopupIcon }: EntityCollectionTableProps<M>) => import("react/jsx-runtime").JSX.Element;
@@ -5,6 +5,8 @@ import { OnCellValueChange, OnColumnResizeParams, UniqueFieldValidator } from ".
5
5
  * @group Collection components
6
6
  */
7
7
  export type EntityCollectionTableProps<M extends Record<string, any>, UserType extends User = User> = {
8
+ className?: string;
9
+ style?: React.CSSProperties;
8
10
  /**
9
11
  * Display these entities as selected
10
12
  */
@@ -65,7 +67,7 @@ export type EntityCollectionTableProps<M extends Record<string, any>, UserType e
65
67
  * {@link EntityTableController}
66
68
  */
67
69
  tableController: EntityTableController<M>;
68
- displayedColumnIds: PropertyColumnConfig[];
70
+ displayedColumnIds?: PropertyColumnConfig[];
69
71
  forceFilter?: FilterValues<Extract<keyof M, string>>;
70
72
  textSearchEnabled?: boolean;
71
73
  inlineEditing?: boolean;
@@ -87,13 +89,13 @@ export type EntityCollectionTableProps<M extends Record<string, any>, UserType e
87
89
  getIdColumnWidth?: () => number;
88
90
  onTextSearchClick?: () => void;
89
91
  textSearchLoading?: boolean;
92
+ enablePopupIcon: boolean;
90
93
  };
91
94
  export type GetPropertyForProps<M extends Record<string, any>> = {
92
95
  propertyKey: string;
93
- propertyValue: any;
94
96
  entity: Entity<M>;
95
97
  };
96
98
  export type PropertyColumnConfig = {
97
99
  key: string;
98
- disabled: boolean;
100
+ disabled?: boolean;
99
101
  };
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { CMSType, Entity, ResolvedProperty } from "../../types";
3
3
  import { CustomFieldValidator } from "../../form/validation";
4
- export interface PropertyTableCellProps<T extends CMSType, M extends Record<string, any>> {
4
+ export interface PropertyTableCellProps<T extends CMSType> {
5
5
  propertyKey: string;
6
6
  columnIndex: number;
7
7
  align: "right" | "left" | "center";
@@ -14,5 +14,6 @@ export interface PropertyTableCellProps<T extends CMSType, M extends Record<stri
14
14
  entity: Entity<any>;
15
15
  path: string;
16
16
  disabled: boolean;
17
+ enablePopupIcon?: boolean;
17
18
  }
18
- export declare const PropertyTableCell: React.FunctionComponent<PropertyTableCellProps<any, any>>;
19
+ export declare const PropertyTableCell: React.FunctionComponent<PropertyTableCellProps<any>>;
@@ -6,11 +6,10 @@ export interface PropertiesToColumnsParams<M extends Record<string, any>> {
6
6
  properties: ResolvedProperties<M>;
7
7
  sortable?: boolean;
8
8
  forceFilter?: FilterValues<keyof M extends string ? keyof M : never>;
9
- disabledFilter?: boolean;
10
9
  AdditionalHeaderWidget?: React.ComponentType<{
11
10
  property: ResolvedProperty;
12
11
  propertyKey: string;
13
12
  onHover: boolean;
14
13
  }>;
15
14
  }
16
- export declare function propertiesToColumns<M extends Record<string, any>>({ properties, sortable, forceFilter, disabledFilter, AdditionalHeaderWidget }: PropertiesToColumnsParams<M>): VirtualTableColumn[];
15
+ export declare function propertiesToColumns<M extends Record<string, any>>({ properties, sortable, forceFilter, AdditionalHeaderWidget }: PropertiesToColumnsParams<M>): VirtualTableColumn[];
@@ -2,17 +2,14 @@ import React from "react";
2
2
  import { CollectionSize } from "../../../types";
3
3
  interface CollectionTableToolbarProps {
4
4
  size: CollectionSize;
5
- filterIsSet: boolean;
6
5
  loading: boolean;
7
- forceFilter?: boolean;
8
6
  actionsStart?: React.ReactNode;
9
7
  actions?: React.ReactNode;
10
8
  title?: React.ReactNode;
11
9
  onTextSearchClick?: () => void;
12
10
  onTextSearch?: (searchString?: string) => void;
13
11
  onSizeChanged: (size: CollectionSize) => void;
14
- clearFilter?: () => void;
15
12
  textSearchLoading?: boolean;
16
13
  }
17
- export declare function CollectionTableToolbar(props: CollectionTableToolbarProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function CollectionTableToolbar({ actions, actionsStart, loading, onSizeChanged, onTextSearch, onTextSearchClick, size, textSearchLoading, title }: CollectionTableToolbarProps): import("react/jsx-runtime").JSX.Element;
18
15
  export {};
@@ -16,7 +16,7 @@ interface PopupFormFieldProps<M extends Record<string, any>> {
16
16
  * Callback when the value of a cell has been edited
17
17
  * @param params
18
18
  */
19
- onCellValueChange?: (params: OnCellValueChangeParams<any, M>) => Promise<void> | void;
19
+ onCellValueChange?: (params: OnCellValueChangeParams<any, any>) => Promise<void> | void;
20
20
  }
21
21
  export declare function PopupFormField<M extends Record<string, any>>(props: PopupFormFieldProps<M>): import("react/jsx-runtime").JSX.Element | null;
22
22
  export declare function PopupFormFieldInternal<M extends Record<string, any>>({ tableKey, entity: entityProp, customFieldValidator, propertyKey, collection: inputCollection, path, cellRect, open, onClose, onCellValueChange, container }: PopupFormFieldProps<M>): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,21 @@
1
1
  import React from "react";
2
- import { Entity, EntityCollection, SelectionController } from "../../types";
2
+ import { EntityCollection } from "../../types";
3
3
  /**
4
4
  * @group Components
5
5
  */
6
6
  export type EntityCollectionViewProps<M extends Record<string, any>> = {
7
- fullPath: string;
7
+ /**
8
+ * Complete path where this collection is located.
9
+ * It defaults to the collection path if not provided.
10
+ */
11
+ fullPath?: string;
12
+ /**
13
+ * If this is a subcollection, specify the parent collection ids.
14
+ */
8
15
  parentCollectionIds?: string[];
16
+ /**
17
+ * Whether this is a subcollection or not.
18
+ */
9
19
  isSubCollection?: boolean;
10
20
  className?: string;
11
21
  } & EntityCollection<M>;
@@ -34,4 +44,3 @@ export type EntityCollectionViewProps<M extends Record<string, any>> = {
34
44
  * @group Components
35
45
  */
36
46
  export declare const EntityCollectionView: React.FunctionComponent<EntityCollectionViewProps<any>>;
37
- export declare function useSelectionController<M extends Record<string, any> = any>(onSelectionChange?: (entity: Entity<M>, selected: boolean) => void): SelectionController<M>;
@@ -0,0 +1,11 @@
1
+ import { EntityCollection, EntityTableController, SelectionController } from "../../types";
2
+ export type EntityCollectionViewStartActionsProps<M extends Record<string, any>> = {
3
+ collection: EntityCollection<M>;
4
+ path: string;
5
+ relativePath: string;
6
+ parentCollectionIds: string[];
7
+ selectionController: SelectionController<M>;
8
+ tableController: EntityTableController<M>;
9
+ collectionEntitiesCount: number;
10
+ };
11
+ export declare function EntityCollectionViewStartActions<M extends Record<string, any>>({ collection, relativePath, parentCollectionIds, path, selectionController, tableController, collectionEntitiesCount }: EntityCollectionViewStartActionsProps<M>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { Entity, SelectionController } from "../../types";
2
+ export declare function useSelectionController<M extends Record<string, any> = any>(onSelectionChange?: (entity: Entity<M>, selected: boolean) => void): SelectionController<M>;
@@ -1,11 +1,29 @@
1
+ import * as React from "react";
1
2
  import { Entity, EntityCollection } from "../types";
3
+ import { PreviewSize } from "../preview";
4
+ export type EntityPreviewProps = {
5
+ size: PreviewSize;
6
+ actions?: React.ReactNode;
7
+ collection?: EntityCollection;
8
+ hover?: boolean;
9
+ previewProperties?: string[];
10
+ disabled: undefined | boolean;
11
+ entity: Entity<any>;
12
+ includeEntityNavigation?: boolean;
13
+ onClick?: (e: React.SyntheticEvent) => void;
14
+ };
2
15
  /**
3
- * @group Components
16
+ * This view is used to display a preview of an entity.
17
+ * It is used by default in reference fields and whenever a reference is displayed.
4
18
  */
5
- export interface EntityPreviewProps<M extends Record<string, any>> {
6
- entity: Entity<M>;
7
- collection: EntityCollection<M>;
8
- path: string;
19
+ export declare function EntityPreview({ actions, disabled, hover, collection: collectionProp, previewProperties, onClick, size, includeEntityNavigation, entity }: EntityPreviewProps): import("react/jsx-runtime").JSX.Element;
20
+ export type EntityPreviewContainerProps = {
21
+ children: React.ReactNode;
22
+ hover?: boolean;
23
+ fullwidth?: boolean;
24
+ size: PreviewSize;
9
25
  className?: string;
10
- }
11
- export declare function EntityPreview<M extends Record<string, any>>({ entity, collection, path, className }: EntityPreviewProps<M>): import("react/jsx-runtime").JSX.Element;
26
+ style?: React.CSSProperties;
27
+ onClick?: (e: React.SyntheticEvent) => void;
28
+ };
29
+ export declare const EntityPreviewContainer: React.FC<EntityPreviewContainerProps>;
@@ -0,0 +1,11 @@
1
+ import { Entity, EntityCollection } from "../types";
2
+ /**
3
+ * @group Components
4
+ */
5
+ export interface EntityViewProps<M extends Record<string, any>> {
6
+ entity: Entity<M>;
7
+ collection: EntityCollection<M>;
8
+ path: string;
9
+ className?: string;
10
+ }
11
+ export declare function EntityView<M extends Record<string, any>>({ entity, collection, path, className }: EntityViewProps<M>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export declare function FieldCaption({ error, children }: {
3
+ error?: boolean;
4
+ children?: React.ReactNode;
5
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { User } from "../types";
3
3
  export type FireCMSAppBarProps<ADDITIONAL_PROPS = object> = {
4
- title: string;
4
+ title: React.ReactNode;
5
5
  /**
6
6
  * A component that gets rendered on the upper side of the main toolbar
7
7
  */
@@ -12,6 +12,7 @@ export type FireCMSAppBarProps<ADDITIONAL_PROPS = object> = {
12
12
  drawerOpen: boolean;
13
13
  className?: string;
14
14
  style?: React.CSSProperties;
15
+ logo?: string;
15
16
  user?: User;
16
17
  } & ADDITIONAL_PROPS;
17
18
  /**
@@ -23,4 +24,4 @@ export type FireCMSAppBarProps<ADDITIONAL_PROPS = object> = {
23
24
  * @param drawerOpen
24
25
  * @constructor
25
26
  */
26
- export declare const FireCMSAppBar: ({ title, endAdornment, startAdornment, drawerOpen, dropDownActions, includeDrawer, className, style, user: userProp }: FireCMSAppBarProps) => import("react/jsx-runtime").JSX.Element;
27
+ export declare const FireCMSAppBar: ({ title, endAdornment, startAdornment, drawerOpen, dropDownActions, includeDrawer, className, style, logo, user: userProp }: FireCMSAppBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export type NavigationCardProps = {
2
+ name: string;
3
+ description?: string;
4
+ actions: React.ReactNode;
5
+ icon: React.ReactNode;
6
+ onClick?: () => void;
7
+ };
8
+ export declare function NavigationCard({ name, description, icon, actions, onClick, }: NavigationCardProps): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { TopNavigationEntry } from "../../types";
2
2
  /**
3
3
  * This is the component used in the home page to render a card for each
4
- * collection.
4
+ * collection or view.
5
5
  * @group Components
6
6
  * @param view
7
7
  * @param path
@@ -12,6 +12,6 @@ import { TopNavigationEntry } from "../../types";
12
12
  * @param onClick
13
13
  * @constructor
14
14
  */
15
- export declare function NavigationCollectionCard({ view, path, collection, url, name, description, onClick }: TopNavigationEntry & {
15
+ export declare function NavigationCardBinding({ path, collection, view, url, name, description, onClick, type }: TopNavigationEntry & {
16
16
  onClick?: () => void;
17
17
  }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export type SmallNavigationCardProps = {
2
+ name: string;
3
+ url: string;
4
+ icon: React.ReactElement;
5
+ };
6
+ export declare function SmallNavigationCard({ name, url, icon, }: SmallNavigationCardProps): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,5 @@
1
1
  export * from "./DefaultHomePage";
2
- export * from "./NavigationCollectionCard";
2
+ export * from "./NavigationCardBinding";
3
3
  export * from "./NavigationGroup";
4
+ export * from "./NavigationCard";
5
+ export * from "./SmallNavigationCard";
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { CollectionSize, Entity, EntityTableController, FilterValues } from "../../types";
3
3
  import { CellRendererParams, VirtualTableColumn } from "../VirtualTable";
4
- import { OnCellValueChange, OnColumnResizeParams } from "../common/types";
4
+ import { OnCellValueChange, OnColumnResizeParams } from "../common";
5
5
  export type SelectableTableProps<M extends Record<string, any>> = {
6
6
  /**
7
7
  * Callback when a cell value changes.
@@ -207,7 +207,7 @@ export type VirtualTableSort = "asc" | "desc" | undefined;
207
207
  export type VirtualTableFilterValues<Key extends string> = Partial<Record<Key, [WhereFilterOp, any]>>;
208
208
  /**
209
209
  * Filter conditions in a `Query.where()` clause are specified using the
210
- * strings '<', '<=', '==', '>=', '>', 'array-contains', 'in', 'not-in', and 'array-contains-any'.
210
+ * strings `<`, `<=`, `==`, `>=`, `>`, `array-contains`, `in`, and `array-contains-any`.
211
211
  * @see Table
212
212
  * @group Models
213
213
  */
@@ -1,4 +1,4 @@
1
- import { CollectionSize, Entity, FireCMSContext, ResolvedProperty, SelectedCellProps } from "../../types";
1
+ import { CollectionSize, ResolvedProperty, SelectedCellProps } from "../../types";
2
2
  export type EntityCollectionTableController<M extends Record<string, any>> = {
3
3
  /**
4
4
  * This cell is displayed as selected
@@ -28,14 +28,12 @@ export type EntityCollectionTableController<M extends Record<string, any>> = {
28
28
  * Props passed in a callback when the content of a cell in a table has been edited
29
29
  * @group Collection components
30
30
  */
31
- export interface OnCellValueChangeParams<T = any, M extends Record<string, any> = any> {
31
+ export interface OnCellValueChangeParams<T = any, D = any> {
32
32
  value: T;
33
33
  propertyKey: string;
34
- entity: Entity<M>;
34
+ data?: D;
35
35
  onValueUpdated: () => void;
36
- setError: (e: Error) => void;
37
- fullPath: string;
38
- context: FireCMSContext;
36
+ setError: (e: Error | undefined) => void;
39
37
  }
40
38
  /**
41
39
  * @group Collection components
@@ -14,6 +14,9 @@ export type DataSourceEntityCollectionTableControllerProps<M extends Record<stri
14
14
  */
15
15
  entitiesDisplayedFirst?: Entity<M>[];
16
16
  lastDeleteTimestamp?: number;
17
+ /**
18
+ * Force filter to be applied to the table.
19
+ */
17
20
  forceFilter?: FilterValues<string>;
18
21
  };
19
22
  /**
@@ -1,7 +1,7 @@
1
1
  export type { ErrorViewProps } from "./ErrorView";
2
2
  export { ErrorView } from "./ErrorView";
3
- export type { EntityPreviewProps } from "./EntityPreview";
4
- export { EntityPreview } from "./EntityPreview";
3
+ export type { EntityViewProps } from "./EntityView";
4
+ export { EntityView } from "./EntityView";
5
5
  export type { ReferenceSelectionInnerProps } from "./ReferenceTable/ReferenceSelectionTable";
6
6
  export { ReferenceSelectionTable } from "./ReferenceTable/ReferenceSelectionTable";
7
7
  export { CircularProgressCenter } from "./CircularProgressCenter";
@@ -10,6 +10,7 @@ export * from "./HomePage";
10
10
  export * from "./SelectableTable/SelectableTable";
11
11
  export * from "./EntityCollectionView/EntityCollectionView";
12
12
  export * from "./EntityCollectionView/EntityCollectionViewActions";
13
+ export * from "./EntityCollectionView/useSelectionController";
13
14
  export * from "./PropertyConfigBadge";
14
15
  export * from "./EntityCollectionTable";
15
16
  export * from "./NotFoundPage";
@@ -21,3 +22,4 @@ export * from "./FireCMSAppBar";
21
22
  export * from "./ArrayContainer";
22
23
  export * from "./ReferenceWidget";
23
24
  export * from "./SearchIconsView";
25
+ export * from "./FieldCaption";
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import { AuthController } from "../types";
3
- export declare const AuthControllerContext: React.Context<AuthController>;
3
+ export declare const AuthControllerContext: React.Context<AuthController<any, any>>;
@@ -1,5 +1,5 @@
1
1
  import { Entity, EntityCollection, User } from "../types";
2
- export interface EntityViewProps<M extends Record<string, any>> {
2
+ export interface EntityEditViewProps<M extends Record<string, any>> {
3
3
  path: string;
4
4
  collection: EntityCollection<M>;
5
5
  entityId?: string;
@@ -19,4 +19,4 @@ export interface EntityViewProps<M extends Record<string, any>> {
19
19
  * You probably don't want to use this view directly since it is bound to the
20
20
  * side panel. Instead, you might want to use {@link EntityForm} or {@link EntityCollectionView}
21
21
  */
22
- export declare function EntityView<M extends Record<string, any>, UserType extends User>({ path, entityId, selectedSubPath, copy, collection, parentCollectionIds, onValuesAreModified, formWidth, onUpdate, onClose }: EntityViewProps<M>): import("react/jsx-runtime").JSX.Element;
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;
@@ -6,7 +6,7 @@ export type NavigationRoutesProps = {
6
6
  /**
7
7
  * In case you need to override the home page
8
8
  */
9
- HomePage?: React.ComponentType;
9
+ homePage?: React.ReactNode;
10
10
  customRoutes?: React.ReactNode[];
11
11
  };
12
12
  /**
@@ -9,7 +9,7 @@ export interface ScaffoldProps<ExtraDrawerProps = object, ExtraAppbarProps = obj
9
9
  /**
10
10
  * Name of the app, displayed as the main title and in the tab title
11
11
  */
12
- name: string;
12
+ name: React.ReactNode;
13
13
  /**
14
14
  * Logo to be displayed in the drawer of the CMS
15
15
  */
@@ -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;