@firecms/core 3.0.0-alpha.21 → 3.0.0-alpha.25

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 (41) hide show
  1. package/dist/components/TextareaAutosize.d.ts +2 -0
  2. package/dist/components/index.d.ts +2 -0
  3. package/dist/core/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +8 -1
  4. package/dist/core/components/EntityCollectionTable/useEntityCollectionTableController.d.ts +1 -1
  5. package/dist/core/components/VirtualTable/VirtualTableHeader.d.ts +3 -0
  6. package/dist/core/components/VirtualTable/VirtualTableHeaderRow.d.ts +1 -1
  7. package/dist/core/components/VirtualTable/VirtualTableProps.d.ts +14 -0
  8. package/dist/core/components/VirtualTable/types.d.ts +2 -0
  9. package/dist/core/form_field_configs.d.ts +1 -1
  10. package/dist/core/util/make_properties_editable.d.ts +2 -1
  11. package/dist/core/util/property_utils.d.ts +2 -1
  12. package/dist/index.es.js +7886 -7752
  13. package/dist/index.es.js.map +1 -1
  14. package/dist/index.umd.js +105 -105
  15. package/dist/index.umd.js.map +1 -1
  16. package/dist/types/collections.d.ts +1 -0
  17. package/dist/types/plugins.d.ts +22 -0
  18. package/package.json +137 -136
  19. package/src/components/BooleanSwitch.tsx +1 -1
  20. package/src/components/BooleanSwitchWithLabel.tsx +2 -2
  21. package/src/components/CircularProgress.tsx +1 -1
  22. package/src/components/TextField.tsx +5 -6
  23. package/src/components/TextareaAutosize.tsx +8 -4
  24. package/src/components/index.tsx +2 -0
  25. package/src/core/components/EntityCollectionTable/EntityCollectionTable.tsx +18 -7
  26. package/src/core/components/EntityCollectionTable/EntityCollectionTableProps.tsx +13 -1
  27. package/src/core/components/EntityCollectionTable/internal/PropertyTableCell.tsx +4 -2
  28. package/src/core/components/EntityCollectionTable/useEntityCollectionTableController.tsx +1 -1
  29. package/src/core/components/EntityCollectionView/EntityCollectionView.tsx +110 -4
  30. package/src/core/components/VirtualTable/VirtualTable.tsx +19 -7
  31. package/src/core/components/VirtualTable/VirtualTableHeader.tsx +32 -32
  32. package/src/core/components/VirtualTable/VirtualTableHeaderRow.tsx +7 -2
  33. package/src/core/components/VirtualTable/VirtualTableProps.tsx +14 -0
  34. package/src/core/components/VirtualTable/VirtualTableRow.tsx +1 -1
  35. package/src/core/components/VirtualTable/types.tsx +2 -0
  36. package/src/core/util/make_properties_editable.ts +18 -1
  37. package/src/core/util/property_utils.tsx +6 -1
  38. package/src/form/components/LabelWithIcon.tsx +2 -3
  39. package/src/form/field_bindings/TextFieldBinding.tsx +1 -2
  40. package/src/types/collections.ts +2 -0
  41. package/src/types/plugins.tsx +24 -1
@@ -35,6 +35,7 @@ export declare const TextareaAutosize: React.ForwardRefExoticComponent<Omit<Reac
35
35
  onScroll?: ((event: React.UIEvent<HTMLTextAreaElement>) => void) | undefined;
36
36
  onResize?: ((state: State) => void) | undefined;
37
37
  autoFocus?: boolean | undefined;
38
+ ignoreBoxSizing?: boolean | undefined;
38
39
  } & React.RefAttributes<Element>>;
39
40
  export type TextareaAutosizeProps = Omit<React.InputHTMLAttributes<HTMLTextAreaElement>, "onResize"> & {
40
41
  className?: string;
@@ -68,5 +69,6 @@ export type TextareaAutosizeProps = Omit<React.InputHTMLAttributes<HTMLTextAreaE
68
69
  onScroll?: (event: React.UIEvent<HTMLTextAreaElement>) => void;
69
70
  onResize?: (state: State) => void;
70
71
  autoFocus?: boolean;
72
+ ignoreBoxSizing?: boolean;
71
73
  };
72
74
  export {};
@@ -36,3 +36,5 @@ export * from "./Tooltip";
36
36
  export * from "./Typography";
37
37
  export * from "./Tabs";
38
38
  export * from "./Table";
39
+ export * from "./Popover";
40
+ export * from "./Badge";
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { AdditionalFieldDelegate, CollectionSize, Entity, FilterValues, ResolvedProperties, SelectionController, TableController, User } from "../../../types";
2
+ import { AdditionalFieldDelegate, CollectionSize, Entity, FilterValues, ResolvedProperties, ResolvedProperty, SelectionController, TableController, User } from "../../../types";
3
3
  import { OnCellValueChange, UniqueFieldValidator } from "./types";
4
4
  /**
5
5
  * @category Collection components
@@ -83,6 +83,13 @@ export type EntityCollectionTableProps<M extends Record<string, any>, Additional
83
83
  filterable?: boolean;
84
84
  sortable?: boolean;
85
85
  endAdornment?: React.ReactNode;
86
+ AdditionalHeaderWidget?: (props: {
87
+ property: ResolvedProperty;
88
+ propertyKey: string;
89
+ onHover: boolean;
90
+ }) => React.ReactNode;
91
+ AddColumnComponent?: React.ComponentType;
92
+ additionalIDHeaderWidget?: React.ReactNode;
86
93
  };
87
94
  export type GetPropertyForProps<M extends Record<string, any>> = {
88
95
  propertyKey: string;
@@ -18,4 +18,4 @@ export type EntityCollectionTableControllerProps<M extends Record<string, any> =
18
18
  * @param lastDeleteTimestamp
19
19
  * @param forceFilterFromProps
20
20
  */
21
- export declare function useEntityCollectionTableController<M extends Record<string, any> = any, UserType extends User = User>({ fullPath, collection, entitiesDisplayedFirst, lastDeleteTimestamp, forceFilter: forceFilterFromProps }: EntityCollectionTableControllerProps<M>): TableController<M>;
21
+ export declare function useEntityCollectionTableController<M extends Record<string, any> = any, UserType extends User = User>({ fullPath, collection, entitiesDisplayedFirst, lastDeleteTimestamp, forceFilter: forceFilterFromProps, }: EntityCollectionTableControllerProps<M>): TableController<M>;
@@ -19,6 +19,9 @@ type VirtualTableHeaderProps<M extends Record<string, any>> = {
19
19
  onFilterUpdate: (column: VirtualTableColumn, filterForProperty?: [VirtualTableWhereFilterOp, any]) => void;
20
20
  onClickResizeColumn?: (columnIndex: number, column: VirtualTableColumn) => void;
21
21
  createFilterField?: (props: FilterFormFieldProps<any>) => React.ReactNode;
22
+ AdditionalHeaderWidget?: (props: {
23
+ onHover: boolean;
24
+ }) => React.ReactNode;
22
25
  };
23
26
  export declare const VirtualTableHeader: React.FunctionComponent<VirtualTableHeaderProps<any>>;
24
27
  export {};
@@ -1,2 +1,2 @@
1
1
  import { VirtualTableContextProps } from "./types";
2
- export declare const VirtualTableHeaderRow: ({ columns, currentSort, onColumnSort, onFilterUpdate, sortByProperty, filter, onColumnResize, onColumnResizeEnd, createFilterField }: VirtualTableContextProps<any>) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const VirtualTableHeaderRow: ({ columns, currentSort, onColumnSort, onFilterUpdate, sortByProperty, filter, onColumnResize, onColumnResizeEnd, createFilterField, AddColumnComponent }: VirtualTableContextProps<any>) => import("react/jsx-runtime").JSX.Element;
@@ -110,6 +110,11 @@ export interface VirtualTableProps<T extends Record<string, any>> {
110
110
  * Component rendered at the end of the table, after scroll
111
111
  */
112
112
  endAdornment?: React.ReactNode;
113
+ /**
114
+ * If adding this callback, a button to add a new column is displayed.
115
+ * @param column
116
+ */
117
+ AddColumnComponent?: React.ComponentType;
113
118
  }
114
119
  export type CellRendererParams<T extends any> = {
115
120
  cellData?: any;
@@ -166,7 +171,16 @@ export interface VirtualTableColumn<CustomProps extends any = any> {
166
171
  * Can it be resized
167
172
  */
168
173
  resizable?: boolean;
174
+ /**
175
+ * Custom props passed to the cell renderer
176
+ */
169
177
  custom?: CustomProps;
178
+ /**
179
+ * Additional children to be rendered in the header when hovering
180
+ */
181
+ AdditionalHeaderWidget?: (props: {
182
+ onHover: boolean;
183
+ }) => React.ReactNode;
170
184
  }
171
185
  /**
172
186
  * @see Table
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import { CellRendererParams, OnRowClickParams, OnVirtualTableColumnResizeParams, VirtualTableColumn, VirtualTableFilterValues, VirtualTableSize, VirtualTableWhereFilterOp } from "./VirtualTableProps";
2
3
  import { FilterFormFieldProps } from "./VirtualTableHeader";
3
4
  export type VirtualTableRowProps<T> = {
@@ -29,4 +30,5 @@ export type VirtualTableContextProps<T extends any> = {
29
30
  createFilterField?: (props: FilterFormFieldProps<any>) => React.ReactNode;
30
31
  rowClassName?: (rowData: T) => string | undefined;
31
32
  endAdornment?: React.ReactNode;
33
+ AddColumnComponent?: React.ComponentType;
32
34
  };
@@ -2,5 +2,5 @@ import { FieldConfig, Property, ResolvedProperty } from "../types";
2
2
  export declare function isDefaultFieldConfigId(id: string): boolean;
3
3
  export declare const DEFAULT_FIELD_CONFIGS: Record<string, FieldConfig<any>>;
4
4
  export declare function getFieldConfig(property: Property | ResolvedProperty, customFields: Record<string, FieldConfig<any>>): FieldConfig | undefined;
5
- export declare function getDefaultFieldId(property: Property | ResolvedProperty): "reference" | "date_time" | "group" | "switch" | "email" | "url" | "block" | "file_upload" | "repeat" | "select" | "text_field" | "multiline" | "markdown" | "multi_select" | "number_input" | "number_select" | "multi_number_select" | "multi_file_upload" | "multi_references" | "key_value" | "custom_array" | undefined;
5
+ export declare function getDefaultFieldId(property: Property | ResolvedProperty): "reference" | "date_time" | "email" | "url" | "group" | "switch" | "block" | "file_upload" | "repeat" | "select" | "text_field" | "multiline" | "markdown" | "multi_select" | "number_input" | "number_select" | "multi_number_select" | "multi_file_upload" | "multi_references" | "key_value" | "custom_array" | undefined;
6
6
  export declare function getFieldId(property: Property | ResolvedProperty): string | undefined;
@@ -1,2 +1,3 @@
1
- import { Properties } from "../../types";
1
+ import { Properties, PropertiesOrBuilders } from "../../types";
2
2
  export declare function makePropertiesEditable(properties: Properties): void;
3
+ export declare function makePropertiesNonEditable(properties: PropertiesOrBuilders): PropertiesOrBuilders;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { FieldConfig, PropertiesOrBuilders, PropertyOrBuilder, ResolvedProperty } from "../../types";
2
+ import { EntityCollection, FieldConfig, PropertiesOrBuilders, PropertyOrBuilder, ResolvedProperty } from "../../types";
3
3
  export declare function isReferenceProperty(propertyOrBuilder: PropertyOrBuilder, fields: Record<string, FieldConfig>): boolean | null;
4
4
  export declare function getIdIcon(size: "small" | "medium" | "large"): React.ReactNode;
5
5
  export declare function getIconForWidget(widget: FieldConfig | undefined, size: "small" | "medium" | "large"): import("react/jsx-runtime").JSX.Element;
@@ -20,3 +20,4 @@ export declare function getBracketNotation(path: string): string;
20
20
  * @param propertiesOrder
21
21
  */
22
22
  export declare function getPropertiesWithPropertiesOrder<M extends Record<string, any>>(properties: PropertiesOrBuilders<M>, propertiesOrder?: Extract<keyof M, string>[]): PropertiesOrBuilders<M>;
23
+ export declare function getDefaultPropertiesOrder(collection: EntityCollection<any>): string[];