@firecms/core 3.0.0-beta.5 → 3.0.0-beta.7

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 (163) hide show
  1. package/dist/components/ClearFilterSortButton.d.ts +5 -0
  2. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +11 -11
  3. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +1 -1
  4. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +5 -3
  5. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +1 -0
  6. package/dist/components/EntityCollectionTable/column_utils.d.ts +1 -2
  7. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +2 -0
  8. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
  9. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +2 -2
  10. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +1 -1
  11. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +11 -1
  12. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
  13. package/dist/components/EntityPreview.d.ts +3 -2
  14. package/dist/components/FireCMSAppBar.d.ts +4 -2
  15. package/dist/components/ReferenceWidget.d.ts +3 -1
  16. package/dist/components/SelectableTable/SelectableTable.d.ts +1 -1
  17. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
  18. package/dist/components/VirtualTable/VirtualTableProps.d.ts +1 -6
  19. package/dist/components/VirtualTable/types.d.ts +3 -3
  20. package/dist/components/{EntityCollectionTable/internal → common}/default_entity_actions.d.ts +1 -1
  21. package/dist/components/common/index.d.ts +1 -0
  22. package/dist/components/common/table_height.d.ts +5 -0
  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 +1 -0
  26. package/dist/core/Drawer.d.ts +5 -12
  27. package/dist/core/DrawerNavigationItem.d.ts +9 -0
  28. package/dist/core/NavigationRoutes.d.ts +1 -1
  29. package/dist/core/Scaffold.d.ts +8 -12
  30. package/dist/core/index.d.ts +3 -4
  31. package/dist/form/components/ErrorFocus.d.ts +1 -1
  32. package/dist/hooks/data/save.d.ts +1 -2
  33. package/dist/hooks/index.d.ts +1 -0
  34. package/dist/hooks/useValidateAuthenticator.d.ts +2 -6
  35. package/dist/index.es.js +10087 -9914
  36. package/dist/index.es.js.map +1 -1
  37. package/dist/index.umd.js +5 -5
  38. package/dist/index.umd.js.map +1 -1
  39. package/dist/internal/useBuildDataSource.d.ts +1 -16
  40. package/dist/preview/components/ReferencePreview.d.ts +2 -1
  41. package/dist/types/collections.d.ts +13 -2
  42. package/dist/types/datasource.d.ts +2 -5
  43. package/dist/types/entities.d.ts +5 -1
  44. package/dist/types/entity_actions.d.ts +14 -0
  45. package/dist/types/index.d.ts +0 -1
  46. package/dist/types/navigation.d.ts +2 -2
  47. package/dist/types/plugins.d.ts +3 -1
  48. package/dist/types/properties.d.ts +10 -2
  49. package/dist/util/entities.d.ts +1 -1
  50. package/dist/util/icon_synonyms.d.ts +1 -97
  51. package/dist/util/navigation_utils.d.ts +2 -2
  52. package/dist/util/objects.d.ts +1 -1
  53. package/dist/util/resolutions.d.ts +13 -13
  54. package/package.json +139 -119
  55. package/src/components/ClearFilterSortButton.tsx +41 -0
  56. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +2 -2
  57. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +19 -18
  58. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +10 -6
  59. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +38 -34
  60. package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
  61. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +9 -1
  62. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +2 -2
  63. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +29 -34
  64. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +16 -12
  65. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +2 -4
  66. package/src/components/EntityCollectionView/EntityCollectionView.tsx +47 -25
  67. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
  68. package/src/components/EntityPreview.tsx +9 -7
  69. package/src/components/EntityView.tsx +5 -5
  70. package/src/components/FireCMSAppBar.tsx +32 -15
  71. package/src/components/HomePage/DefaultHomePage.tsx +1 -1
  72. package/src/components/HomePage/NavigationCard.tsx +2 -2
  73. package/src/components/HomePage/SmallNavigationCard.tsx +5 -5
  74. package/src/components/PropertyIdCopyTooltipContent.tsx +2 -3
  75. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +1 -0
  76. package/src/components/ReferenceWidget.tsx +21 -11
  77. package/src/components/SearchIconsView.tsx +5 -5
  78. package/src/components/SelectableTable/SelectableTable.tsx +5 -3
  79. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
  80. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +22 -7
  81. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +28 -6
  82. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +35 -15
  83. package/src/components/VirtualTable/VirtualTable.tsx +36 -29
  84. package/src/components/VirtualTable/VirtualTableHeader.tsx +4 -4
  85. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +2 -2
  86. package/src/components/VirtualTable/VirtualTableProps.tsx +1 -6
  87. package/src/components/VirtualTable/VirtualTableRow.tsx +4 -5
  88. package/src/components/VirtualTable/types.tsx +2 -3
  89. package/src/components/{EntityCollectionTable/internal → common}/default_entity_actions.tsx +2 -2
  90. package/src/components/common/index.ts +1 -0
  91. package/src/components/{VirtualTable/common.tsx → common/table_height.tsx} +5 -2
  92. package/src/components/common/types.tsx +4 -6
  93. package/src/components/common/useColumnsIds.tsx +10 -2
  94. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +11 -0
  95. package/src/components/index.tsx +1 -0
  96. package/src/core/Drawer.tsx +16 -68
  97. package/src/core/DrawerNavigationItem.tsx +62 -0
  98. package/src/core/EntityEditView.tsx +7 -8
  99. package/src/core/EntitySidePanel.tsx +1 -1
  100. package/src/core/FireCMS.tsx +37 -42
  101. package/src/core/NavigationRoutes.tsx +3 -4
  102. package/src/core/Scaffold.tsx +80 -66
  103. package/src/core/field_configs.tsx +2 -3
  104. package/src/core/index.tsx +3 -4
  105. package/src/form/EntityForm.tsx +29 -21
  106. package/src/form/PropertyFieldBinding.tsx +0 -2
  107. package/src/form/components/StorageItemPreview.tsx +2 -2
  108. package/src/form/components/StorageUploadProgress.tsx +3 -3
  109. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +4 -2
  110. package/src/form/field_bindings/BlockFieldBinding.tsx +2 -2
  111. package/src/form/field_bindings/KeyValueFieldBinding.tsx +4 -4
  112. package/src/form/field_bindings/MarkdownFieldBinding.tsx +2 -2
  113. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +2 -2
  114. package/src/form/field_bindings/ReferenceFieldBinding.tsx +15 -13
  115. package/src/form/field_bindings/SelectFieldBinding.tsx +3 -3
  116. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +4 -4
  117. package/src/hooks/data/save.ts +3 -1
  118. package/src/hooks/index.tsx +1 -0
  119. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +8 -10
  120. package/src/hooks/useBuildModeController.tsx +11 -5
  121. package/src/hooks/useBuildNavigationController.tsx +77 -21
  122. package/src/hooks/useProjectLog.tsx +3 -3
  123. package/src/hooks/useResolvedNavigationFrom.tsx +1 -1
  124. package/src/hooks/useValidateAuthenticator.tsx +17 -37
  125. package/src/internal/useBuildDataSource.ts +42 -47
  126. package/src/internal/useBuildSideEntityController.tsx +86 -22
  127. package/src/preview/PropertyPreview.tsx +4 -14
  128. package/src/preview/components/BooleanPreview.tsx +2 -2
  129. package/src/preview/components/EnumValuesChip.tsx +1 -1
  130. package/src/preview/components/ReferencePreview.tsx +21 -22
  131. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +0 -1
  132. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +2 -1
  133. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +0 -1
  134. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +0 -1
  135. package/src/preview/property_previews/ArrayOneOfPreview.tsx +2 -3
  136. package/src/preview/property_previews/ArrayPropertyPreview.tsx +2 -3
  137. package/src/preview/property_previews/MapPropertyPreview.tsx +5 -5
  138. package/src/preview/property_previews/StringPropertyPreview.tsx +2 -2
  139. package/src/types/collections.ts +19 -3
  140. package/src/types/datasource.ts +7 -4
  141. package/src/types/entities.ts +9 -1
  142. package/src/types/entity_actions.tsx +16 -3
  143. package/src/types/index.ts +0 -1
  144. package/src/types/navigation.ts +2 -3
  145. package/src/types/plugins.tsx +4 -3
  146. package/src/types/properties.ts +15 -4
  147. package/src/types/storage.ts +1 -1
  148. package/src/util/entities.ts +1 -1
  149. package/src/util/enums.ts +1 -1
  150. package/src/util/icon_list.ts +2 -2
  151. package/src/util/icon_synonyms.ts +3 -99
  152. package/src/util/navigation_utils.ts +6 -6
  153. package/src/util/objects.ts +8 -21
  154. package/src/util/resolutions.ts +32 -31
  155. package/dist/components/VirtualTable/common.d.ts +0 -2
  156. package/dist/core/SideEntityView.d.ts +0 -7
  157. package/dist/internal/useBuildCustomizationController.d.ts +0 -2
  158. package/dist/internal/useLocaleConfig.d.ts +0 -1
  159. package/dist/types/appcheck.d.ts +0 -26
  160. package/src/core/SideEntityView.tsx +0 -38
  161. package/src/internal/useBuildCustomizationController.tsx +0 -5
  162. package/src/internal/useLocaleConfig.tsx +0 -18
  163. package/src/types/appcheck.ts +0 -29
@@ -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, any> | 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;
@@ -24,4 +24,4 @@ import { EntityCollectionTableProps } from "./EntityCollectionTableProps";
24
24
  * @see VirtualTable
25
25
  * @group Components
26
26
  */
27
- export declare const EntityCollectionTable: <M extends Record<string, any>, UserType extends User>({ 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 }: EntityCollectionTableProps<M>) => import("react/jsx-runtime").JSX.Element;
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
  };
@@ -14,5 +14,6 @@ export interface PropertyTableCellProps<T extends CMSType> {
14
14
  entity: Entity<any>;
15
15
  path: string;
16
16
  disabled: boolean;
17
+ enablePopupIcon?: boolean;
17
18
  }
18
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[];
@@ -11,6 +11,8 @@ type TableReferenceFieldProps = {
11
11
  title?: string;
12
12
  path: string;
13
13
  forceFilter?: FilterValues<string>;
14
+ includeId?: boolean;
15
+ includeEntityLink?: boolean;
14
16
  };
15
17
  export declare function TableReferenceField(props: TableReferenceFieldProps): import("react/jsx-runtime").JSX.Element;
16
18
  export declare const TableReferenceFieldSuccess: React.NamedExoticComponent<TableReferenceFieldProps & {
@@ -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 {};
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { VirtualTableSize } from "../../VirtualTable";
2
+ import { TableSize } from "../../common/table_height";
3
3
  interface EntityTableCellProps {
4
4
  children: React.ReactNode;
5
5
  actions?: React.ReactNode;
@@ -12,7 +12,7 @@ interface EntityTableCellProps {
12
12
  error?: Error;
13
13
  allowScroll?: boolean;
14
14
  align: "right" | "left" | "center";
15
- size: VirtualTableSize;
15
+ size: TableSize;
16
16
  disabledTooltip?: string;
17
17
  width: number;
18
18
  showExpandIcon?: boolean;
@@ -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;
@@ -4,8 +4,18 @@ import { EntityCollection } from "../../types";
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>;
@@ -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;
@@ -9,14 +9,15 @@ export type EntityPreviewProps = {
9
9
  previewProperties?: string[];
10
10
  disabled: undefined | boolean;
11
11
  entity: Entity<any>;
12
- includeEntityNavigation?: boolean;
12
+ includeId?: boolean;
13
+ includeEntityLink?: boolean;
13
14
  onClick?: (e: React.SyntheticEvent) => void;
14
15
  };
15
16
  /**
16
17
  * This view is used to display a preview of an entity.
17
18
  * It is used by default in reference fields and whenever a reference is displayed.
18
19
  */
19
- export declare function EntityPreview({ actions, disabled, hover, collection: collectionProp, previewProperties, onClick, size, includeEntityNavigation, entity }: EntityPreviewProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function EntityPreview({ actions, disabled, hover, collection: collectionProp, previewProperties, onClick, size, includeId, includeEntityLink, entity }: EntityPreviewProps): import("react/jsx-runtime").JSX.Element;
20
21
  export type EntityPreviewContainerProps = {
21
22
  children: React.ReactNode;
22
23
  hover?: boolean;
@@ -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
  */
@@ -9,9 +9,11 @@ export type FireCMSAppBarProps<ADDITIONAL_PROPS = object> = {
9
9
  startAdornment?: React.ReactNode;
10
10
  dropDownActions?: React.ReactNode;
11
11
  includeDrawer?: boolean;
12
+ includeModeToggle?: boolean;
12
13
  drawerOpen: boolean;
13
14
  className?: string;
14
15
  style?: React.CSSProperties;
16
+ logo?: string;
15
17
  user?: User;
16
18
  } & ADDITIONAL_PROPS;
17
19
  /**
@@ -23,4 +25,4 @@ export type FireCMSAppBarProps<ADDITIONAL_PROPS = object> = {
23
25
  * @param drawerOpen
24
26
  * @constructor
25
27
  */
26
- export declare const FireCMSAppBar: ({ title, endAdornment, startAdornment, drawerOpen, dropDownActions, includeDrawer, className, style, user: userProp }: FireCMSAppBarProps) => import("react/jsx-runtime").JSX.Element;
28
+ export declare const FireCMSAppBar: ({ title, endAdornment, startAdornment, drawerOpen, dropDownActions, includeDrawer, includeModeToggle, className, style, logo, user: userProp }: FireCMSAppBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -21,8 +21,10 @@ export type ReferenceWidgetProps<M extends Record<string, any>> = {
21
21
  forceFilter?: FilterValues<string>;
22
22
  size: PreviewSize;
23
23
  className?: string;
24
+ includeId?: boolean;
25
+ includeEntityLink?: boolean;
24
26
  };
25
27
  /**
26
28
  * This field allows selecting reference/s.
27
29
  */
28
- export declare function ReferenceWidget<M extends Record<string, any>>({ name, multiselect, path, disabled, value, onReferenceSelected, onMultipleReferenceSelected, previewProperties, forceFilter, size, className }: ReferenceWidgetProps<M>): import("react/jsx-runtime").JSX.Element;
30
+ export declare function ReferenceWidget<M extends Record<string, any>>({ name, multiselect, path, disabled, value, onReferenceSelected, onMultipleReferenceSelected, previewProperties, forceFilter, size, className, includeId, includeEntityLink }: ReferenceWidgetProps<M>): import("react/jsx-runtime").JSX.Element;
@@ -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.
@@ -6,9 +6,10 @@ interface ReferenceFilterFieldProps {
6
6
  isArray?: boolean;
7
7
  path?: string;
8
8
  title?: string;
9
+ includeId?: boolean;
9
10
  previewProperties?: string[];
10
11
  hidden: boolean;
11
12
  setHidden: (hidden: boolean) => void;
12
13
  }
13
- export declare function ReferenceFilterField({ name, value, setValue, isArray, path, title, previewProperties, setHidden }: ReferenceFilterFieldProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function ReferenceFilterField({ name, value, setValue, isArray, path, title, includeId, previewProperties, setHidden }: ReferenceFilterFieldProps): import("react/jsx-runtime").JSX.Element;
14
15
  export {};
@@ -56,7 +56,7 @@ export interface VirtualTableProps<T extends Record<string, any>> {
56
56
  /**
57
57
  * Size of the table
58
58
  */
59
- size?: VirtualTableSize;
59
+ rowHeight?: number;
60
60
  /**
61
61
  * In case this table should have some filters set by default
62
62
  */
@@ -190,11 +190,6 @@ export type OnVirtualTableColumnResizeParams = {
190
190
  key: string;
191
191
  column: VirtualTableColumn;
192
192
  };
193
- /**
194
- * @see Table
195
- * @group Components
196
- */
197
- export type VirtualTableSize = "xs" | "s" | "m" | "l" | "xl";
198
193
  /**
199
194
  * @see Table
200
195
  * @group Components
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import { CellRendererParams, OnRowClickParams, OnVirtualTableColumnResizeParams, VirtualTableColumn, VirtualTableFilterValues, VirtualTableSize, VirtualTableWhereFilterOp } from "./VirtualTableProps";
2
+ import { CellRendererParams, OnRowClickParams, OnVirtualTableColumnResizeParams, VirtualTableColumn, VirtualTableFilterValues, VirtualTableWhereFilterOp } from "./VirtualTableProps";
3
3
  import { FilterFormFieldProps } from "./VirtualTableHeader";
4
4
  export type VirtualTableRowProps<T> = {
5
5
  style: any;
6
- size: VirtualTableSize;
6
+ rowHeight: number;
7
7
  rowData: T;
8
8
  rowIndex: number;
9
9
  onRowClick?: (props: OnRowClickParams<any>) => void;
@@ -14,7 +14,7 @@ export type VirtualTableRowProps<T> = {
14
14
  };
15
15
  export type VirtualTableContextProps<T extends any> = {
16
16
  data?: T[];
17
- size?: VirtualTableSize;
17
+ rowHeight?: number;
18
18
  columns: VirtualTableColumn[];
19
19
  cellRenderer: React.ComponentType<CellRendererParams<T>>;
20
20
  currentSort: "asc" | "desc" | undefined;
@@ -1,4 +1,4 @@
1
- import { EntityAction } from "../../../types";
1
+ import { EntityAction } from "../../types";
2
2
  export declare const editEntityAction: EntityAction;
3
3
  export declare const copyEntityAction: EntityAction;
4
4
  export declare const archiveEntityAction: EntityAction;
@@ -3,3 +3,4 @@ export * from "./useDebouncedData";
3
3
  export * from "./useColumnsIds";
4
4
  export * from "./useDataSourceEntityCollectionTableController";
5
5
  export * from "./useTableSearchHelper";
6
+ export * from "./default_entity_actions";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @group Components
3
+ */
4
+ export type TableSize = "xs" | "s" | "m" | "l" | "xl";
5
+ export declare function getRowHeight(size: TableSize): number;
@@ -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
  /**
@@ -8,6 +8,7 @@ export { CircularProgressCenter } from "./CircularProgressCenter";
8
8
  export * from "./common";
9
9
  export * from "./HomePage";
10
10
  export * from "./SelectableTable/SelectableTable";
11
+ export * from "./SelectableTable/SelectableTableContext";
11
12
  export * from "./EntityCollectionView/EntityCollectionView";
12
13
  export * from "./EntityCollectionView/EntityCollectionViewActions";
13
14
  export * from "./EntityCollectionView/useSelectionController";
@@ -1,23 +1,16 @@
1
- import React from "react";
2
1
  /**
3
2
  * Props used in case you need to override the default drawer
4
3
  * @group Core
5
4
  */
6
- export type DrawerProps<T = {}> = T & {
5
+ export type DrawerProps = {
7
6
  hovered: boolean;
8
7
  drawerOpen: boolean;
9
- closeDrawer: () => any;
8
+ openDrawer: () => void;
9
+ closeDrawer: () => void;
10
+ autoOpenDrawer?: boolean;
10
11
  };
11
12
  /**
12
13
  * Default drawer used in the CMS
13
14
  * @group Core
14
15
  */
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;
16
+ export declare function Drawer(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export declare function DrawerNavigationItem({ name, icon, drawerOpen, tooltipsOpen, url, onClick }: {
3
+ icon: React.ReactElement;
4
+ name: string;
5
+ tooltipsOpen: boolean;
6
+ drawerOpen: boolean;
7
+ url: string;
8
+ onClick?: () => void;
9
+ }): 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
  /**
@@ -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";
@@ -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,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;
@@ -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";
@@ -1,20 +1,16 @@
1
- import { AppCheckTokenResult, AuthController, Authenticator, DataSourceDelegate, StorageSource, User } from "../index";
1
+ import { AuthController, Authenticator, DataSourceDelegate, StorageSource, User } from "../index";
2
2
  /**
3
3
  * This hook is used internally for validating an authenticator.
4
4
  *
5
5
  * @param authController
6
6
  * @param authentication
7
- * @param getAppCheckToken
8
- * @param appCheckForceRefresh
9
7
  * @param storageSource
10
8
  * @param dataSourceDelegate
11
9
  */
12
- export declare function useValidateAuthenticator<UserType extends User = User, Controller extends AuthController<UserType> = AuthController<UserType>>({ disabled, authController, authenticator, getAppCheckToken, appCheckForceRefresh, storageSource, dataSourceDelegate }: {
10
+ export declare function useValidateAuthenticator<UserType extends User = User, Controller extends AuthController<UserType> = AuthController<UserType>>({ disabled, authController, authenticator, storageSource, dataSourceDelegate }: {
13
11
  disabled?: boolean;
14
12
  authController: Controller;
15
13
  authenticator?: boolean | Authenticator<UserType, Controller>;
16
- getAppCheckToken?: (forceRefresh: boolean) => Promise<AppCheckTokenResult> | undefined;
17
- appCheckForceRefresh?: boolean;
18
14
  dataSourceDelegate: DataSourceDelegate;
19
15
  storageSource: StorageSource;
20
16
  }): {