@firecms/core 3.0.0-canary.4 → 3.0.0-canary.40
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.
- package/README.md +2 -2
- package/dist/components/ClearFilterSortButton.d.ts +5 -0
- package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +1 -1
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
- package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +2 -2
- package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
- package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +1 -2
- package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
- package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
- package/dist/components/EntityPreview.d.ts +25 -7
- package/dist/components/EntityView.d.ts +11 -0
- package/dist/components/FieldCaption.d.ts +5 -0
- package/dist/components/HomePage/NavigationCard.d.ts +8 -0
- package/dist/components/HomePage/{NavigationCollectionCard.d.ts → NavigationCardBinding.d.ts} +2 -2
- package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
- package/dist/components/HomePage/index.d.ts +3 -1
- package/dist/components/VirtualTable/VirtualTableProps.d.ts +1 -1
- package/dist/components/index.d.ts +4 -3
- package/dist/contexts/AuthControllerContext.d.ts +1 -1
- package/dist/{internal/EntityView.d.ts → core/EntityEditView.d.ts} +2 -2
- package/dist/core/SideEntityView.d.ts +7 -0
- package/dist/core/index.d.ts +0 -2
- package/dist/form/EntityForm.d.ts +1 -1
- package/dist/form/components/StorageItemPreview.d.ts +3 -2
- package/dist/form/components/StorageUploadProgress.d.ts +1 -1
- package/dist/form/components/index.d.ts +1 -0
- package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +4 -3
- package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -2
- package/dist/form/index.d.ts +1 -0
- package/dist/form/validation.d.ts +1 -1
- package/dist/hooks/data/delete.d.ts +2 -2
- package/dist/hooks/data/save.d.ts +1 -1
- package/dist/hooks/data/useDataSource.d.ts +2 -2
- package/dist/hooks/data/useEntityFetch.d.ts +3 -3
- package/dist/hooks/index.d.ts +3 -1
- package/dist/{core → hooks}/useBuildModeController.d.ts +1 -1
- package/dist/hooks/useBuildNavigationController.d.ts +6 -4
- package/dist/hooks/useProjectLog.d.ts +6 -2
- package/dist/hooks/useStorageSource.d.ts +2 -2
- package/dist/hooks/useValidateAuthenticator.d.ts +25 -0
- package/dist/index.es.js +8343 -7846
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +5 -5
- package/dist/index.umd.js.map +1 -1
- package/dist/internal/useBuildDataSource.d.ts +4 -0
- package/dist/preview/PropertyPreview.d.ts +1 -1
- package/dist/preview/PropertyPreviewProps.d.ts +1 -4
- package/dist/preview/components/BooleanPreview.d.ts +5 -1
- package/dist/preview/components/EnumValuesChip.d.ts +1 -1
- package/dist/preview/components/ReferencePreview.d.ts +1 -7
- package/dist/types/analytics.d.ts +1 -1
- package/dist/types/auth.d.ts +37 -1
- package/dist/types/collections.d.ts +22 -5
- package/dist/types/datasource.d.ts +1 -1
- package/dist/types/entities.d.ts +1 -1
- package/dist/types/entity_callbacks.d.ts +2 -2
- package/dist/types/entity_overrides.d.ts +6 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/navigation.d.ts +14 -13
- package/dist/types/permissions.d.ts +5 -1
- package/dist/types/plugins.d.ts +20 -20
- package/dist/types/properties.d.ts +2 -2
- package/dist/types/property_config.d.ts +2 -2
- package/dist/types/roles.d.ts +31 -0
- package/dist/types/storage.d.ts +11 -3
- package/dist/types/user.d.ts +5 -0
- package/dist/util/collections.d.ts +9 -1
- package/dist/util/entities.d.ts +1 -1
- package/dist/util/icons.d.ts +8 -2
- package/dist/util/permissions.d.ts +4 -4
- package/dist/util/references.d.ts +4 -2
- package/dist/util/resolutions.d.ts +1 -1
- package/dist/util/useTraceUpdate.d.ts +1 -0
- package/package.json +24 -24
- package/src/components/ClearFilterSortButton.tsx +41 -0
- package/src/components/DeleteEntityDialog.tsx +4 -4
- package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +2 -2
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +268 -277
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +1 -1
- package/src/components/EntityCollectionTable/PropertyTableCell.tsx +13 -13
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +9 -16
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +3 -3
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +27 -32
- package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +9 -5
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +39 -49
- package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +5 -6
- package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
- package/src/components/EntityCollectionView/useSelectionController.tsx +30 -0
- package/src/components/EntityPreview.tsx +207 -70
- package/src/components/EntityView.tsx +84 -0
- package/src/components/FieldCaption.tsx +14 -0
- package/src/components/FireCMSAppBar.tsx +8 -0
- package/src/components/HomePage/DefaultHomePage.tsx +14 -10
- package/src/components/HomePage/NavigationCard.tsx +69 -0
- package/src/components/HomePage/NavigationCardBinding.tsx +116 -0
- package/src/components/HomePage/SmallNavigationCard.tsx +45 -0
- package/src/components/HomePage/index.tsx +3 -1
- package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +3 -4
- package/src/components/ReferenceWidget.tsx +4 -4
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +23 -8
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +35 -24
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +35 -15
- package/src/components/VirtualTable/VirtualTableProps.tsx +1 -1
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +1 -1
- package/src/components/common/useDataSourceEntityCollectionTableController.tsx +1 -1
- package/src/components/index.tsx +4 -3
- package/src/contexts/AuthControllerContext.tsx +1 -1
- package/src/core/Drawer.tsx +66 -39
- package/src/{internal/EntityView.tsx → core/EntityEditView.tsx} +22 -39
- package/src/core/EntitySidePanel.tsx +2 -2
- package/src/core/FireCMS.tsx +18 -2
- package/src/core/NavigationRoutes.tsx +8 -0
- package/src/core/SideEntityView.tsx +38 -0
- package/src/core/field_configs.tsx +1 -2
- package/src/core/index.tsx +0 -2
- package/src/form/EntityForm.tsx +20 -12
- package/src/form/components/StorageItemPreview.tsx +5 -3
- package/src/form/components/StorageUploadProgress.tsx +6 -5
- package/src/form/components/index.tsx +1 -0
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +2 -3
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +12 -15
- package/src/form/field_bindings/BlockFieldBinding.tsx +2 -3
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +4 -4
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +18 -18
- package/src/form/field_bindings/MapFieldBinding.tsx +17 -17
- package/src/form/field_bindings/MarkdownFieldBinding.tsx +1 -2
- package/src/form/field_bindings/MultiSelectBinding.tsx +2 -3
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +3 -3
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +5 -3
- package/src/form/field_bindings/RepeatFieldBinding.tsx +3 -3
- package/src/form/field_bindings/SelectFieldBinding.tsx +2 -3
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +15 -6
- package/src/form/field_bindings/SwitchFieldBinding.tsx +2 -3
- package/src/form/field_bindings/TextFieldBinding.tsx +10 -9
- package/src/form/index.tsx +1 -0
- package/src/form/validation.ts +3 -4
- package/src/hooks/data/delete.ts +3 -3
- package/src/hooks/data/save.ts +1 -1
- package/src/hooks/data/useCollectionFetch.tsx +1 -1
- package/src/hooks/data/useDataSource.tsx +8 -3
- package/src/hooks/data/useEntityFetch.tsx +4 -4
- package/src/hooks/index.tsx +5 -1
- package/src/{core → hooks}/useBuildLocalConfigurationPersistence.tsx +9 -10
- package/src/{core → hooks}/useBuildModeController.tsx +12 -6
- package/src/hooks/useBuildNavigationController.tsx +190 -72
- package/src/hooks/useProjectLog.tsx +16 -6
- package/src/hooks/useReferenceDialog.tsx +2 -2
- package/src/hooks/useStorageSource.tsx +7 -2
- package/src/hooks/useValidateAuthenticator.tsx +135 -0
- package/src/internal/useBuildDataSource.ts +6 -1
- package/src/internal/useBuildSideEntityController.tsx +18 -12
- package/src/preview/PropertyPreview.tsx +1 -1
- package/src/preview/PropertyPreviewProps.tsx +1 -11
- package/src/preview/components/BooleanPreview.tsx +19 -4
- package/src/preview/components/EnumValuesChip.tsx +1 -1
- package/src/preview/components/ReferencePreview.tsx +55 -147
- package/src/preview/property_previews/StringPropertyPreview.tsx +8 -7
- package/src/types/analytics.ts +1 -0
- package/src/types/auth.tsx +50 -1
- package/src/types/collections.ts +24 -5
- package/src/types/datasource.ts +1 -1
- package/src/types/entities.ts +1 -1
- package/src/types/entity_actions.tsx +4 -0
- package/src/types/entity_callbacks.ts +2 -2
- package/src/types/entity_overrides.tsx +7 -0
- package/src/types/firecms.tsx +0 -1
- package/src/types/index.ts +2 -0
- package/src/types/navigation.ts +17 -16
- package/src/types/permissions.ts +6 -1
- package/src/types/plugins.tsx +26 -28
- package/src/types/properties.ts +3 -2
- package/src/types/property_config.tsx +2 -2
- package/src/types/roles.ts +41 -0
- package/src/types/side_entity_controller.tsx +1 -0
- package/src/types/storage.ts +12 -3
- package/src/types/user.ts +7 -0
- package/src/util/collections.ts +22 -0
- package/src/util/entities.ts +1 -1
- package/src/util/icons.tsx +11 -3
- package/src/util/permissions.ts +11 -8
- package/src/util/references.ts +36 -5
- package/src/util/strings.ts +2 -2
- package/src/util/useTraceUpdate.tsx +2 -1
- package/src/components/HomePage/NavigationCollectionCard.tsx +0 -146
- /package/dist/{components → form/components}/LabelWithIcon.d.ts +0 -0
- /package/dist/{core → hooks}/useBuildLocalConfigurationPersistence.d.ts +0 -0
- /package/src/{components → form/components}/LabelWithIcon.tsx +0 -0
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
|
|
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
|
-

|
|
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
|
|
@@ -15,7 +15,7 @@ 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,
|
|
18
|
+
collection?: EntityCollection<any, any> | undefined;
|
|
19
19
|
fullPath?: string | undefined;
|
|
20
20
|
width: number;
|
|
21
21
|
frozen?: boolean | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
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:
|
|
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;
|
|
@@ -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
|
|
4
|
+
export interface PropertyTableCellProps<T extends CMSType> {
|
|
5
5
|
propertyKey: string;
|
|
6
6
|
columnIndex: number;
|
|
7
7
|
align: "right" | "left" | "center";
|
|
@@ -15,4 +15,4 @@ export interface PropertyTableCellProps<T extends CMSType, M extends Record<stri
|
|
|
15
15
|
path: string;
|
|
16
16
|
disabled: boolean;
|
|
17
17
|
}
|
|
18
|
-
export declare const PropertyTableCell: React.FunctionComponent<PropertyTableCellProps<any
|
|
18
|
+
export declare const PropertyTableCell: React.FunctionComponent<PropertyTableCellProps<any>>;
|
|
@@ -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(
|
|
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 {
|
|
2
|
+
import { EntityCollection } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* @group Components
|
|
5
5
|
*/
|
|
@@ -34,4 +34,3 @@ export type EntityCollectionViewProps<M extends Record<string, any>> = {
|
|
|
34
34
|
* @group Components
|
|
35
35
|
*/
|
|
36
36
|
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;
|
|
@@ -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
|
-
*
|
|
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
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
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,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;
|
package/dist/components/HomePage/{NavigationCollectionCard.d.ts → NavigationCardBinding.d.ts}
RENAMED
|
@@ -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
|
|
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;
|
|
@@ -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
|
|
210
|
+
* strings `<`, `<=`, `==`, `>=`, `>`, `array-contains`, `in`, and `array-contains-any`.
|
|
211
211
|
* @see Table
|
|
212
212
|
* @group Models
|
|
213
213
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type { ErrorViewProps } from "./ErrorView";
|
|
2
2
|
export { ErrorView } from "./ErrorView";
|
|
3
|
-
export type {
|
|
4
|
-
export {
|
|
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";
|
|
@@ -20,5 +21,5 @@ export * from "./FireCMSLogo";
|
|
|
20
21
|
export * from "./FireCMSAppBar";
|
|
21
22
|
export * from "./ArrayContainer";
|
|
22
23
|
export * from "./ReferenceWidget";
|
|
23
|
-
export * from "./LabelWithIcon";
|
|
24
24
|
export * from "./SearchIconsView";
|
|
25
|
+
export * from "./FieldCaption";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Entity, EntityCollection, User } from "../types";
|
|
2
|
-
export interface
|
|
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
|
|
22
|
+
export declare function EntityEditView<M extends Record<string, any>, UserType extends User>({ path, entityId, selectedSubPath, copy, collection, parentCollectionIds, onValuesAreModified, formWidth, onUpdate, onClose, }: EntityEditViewProps<M>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { User } from "../types";
|
|
2
|
+
import { EntityEditViewProps } from "./EntityEditView";
|
|
3
|
+
export type SideEntityViewProps<M extends Record<string, any>> = EntityEditViewProps<M> & {
|
|
4
|
+
formWidth?: number | string;
|
|
5
|
+
onClose?: () => void;
|
|
6
|
+
};
|
|
7
|
+
export declare function SideEntityView<M extends Record<string, any>, UserType extends User>({ path, entityId, selectedSubPath, copy, collection, parentCollectionIds, onValuesAreModified, formWidth, onUpdate, onClose }: SideEntityViewProps<M>): import("react/jsx-runtime").JSX.Element;
|
package/dist/core/index.d.ts
CHANGED
|
@@ -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
|
-
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
|
|
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
|
|
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
|
|
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, }:
|
|
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 {};
|
package/dist/form/index.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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;
|
|
@@ -36,7 +36,7 @@ export type SaveEntityWithCallbacksProps<M extends Record<string, any>> = SaveEn
|
|
|
36
36
|
* @group Hooks and utilities
|
|
37
37
|
*/
|
|
38
38
|
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>;
|
|
39
|
+
collection: EntityCollection<M, UserType>;
|
|
40
40
|
dataSource: DataSource;
|
|
41
41
|
context: FireCMSContext<UserType>;
|
|
42
42
|
}): 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>;
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ export * from "./data/useCollectionFetch";
|
|
|
3
3
|
export * from "./data/useEntityFetch";
|
|
4
4
|
export * from "./data/save";
|
|
5
5
|
export * from "./data/delete";
|
|
6
|
-
export * from "../form/useClearRestoreValue";
|
|
7
6
|
export * from "./useNavigationController";
|
|
8
7
|
export * from "./useResolvedNavigationFrom";
|
|
9
8
|
export * from "./useStorageSource";
|
|
@@ -19,3 +18,6 @@ export * from "./useReferenceDialog";
|
|
|
19
18
|
export * from "./useBrowserTitleAndIcon";
|
|
20
19
|
export * from "./useCustomizationController";
|
|
21
20
|
export * from "./useBuildNavigationController";
|
|
21
|
+
export * from "./useBuildLocalConfigurationPersistence";
|
|
22
|
+
export * from "./useBuildModeController";
|
|
23
|
+
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>(
|
|
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
|
|
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,25 @@
|
|
|
1
|
+
import { AppCheckTokenResult, 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 getAppCheckToken
|
|
8
|
+
* @param appCheckForceRefresh
|
|
9
|
+
* @param storageSource
|
|
10
|
+
* @param dataSourceDelegate
|
|
11
|
+
*/
|
|
12
|
+
export declare function useValidateAuthenticator<UserType extends User = User, Controller extends AuthController<UserType> = AuthController<UserType>>({ disabled, authController, authenticator, getAppCheckToken, appCheckForceRefresh, storageSource, dataSourceDelegate }: {
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
authController: Controller;
|
|
15
|
+
authenticator?: boolean | Authenticator<UserType, Controller>;
|
|
16
|
+
getAppCheckToken?: (forceRefresh: boolean) => Promise<AppCheckTokenResult> | undefined;
|
|
17
|
+
appCheckForceRefresh?: boolean;
|
|
18
|
+
dataSourceDelegate: DataSourceDelegate;
|
|
19
|
+
storageSource: StorageSource;
|
|
20
|
+
}): {
|
|
21
|
+
canAccessMainView: boolean;
|
|
22
|
+
authLoading: boolean;
|
|
23
|
+
notAllowedError: any;
|
|
24
|
+
authVerified: boolean;
|
|
25
|
+
};
|