@firecms/core 3.0.0-canary.7 → 3.0.0-canary.71

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 (271) hide show
  1. package/README.md +2 -2
  2. package/dist/app/AppBar.d.ts +12 -0
  3. package/dist/app/Drawer.d.ts +17 -0
  4. package/dist/app/Scaffold.d.ts +30 -0
  5. package/dist/app/index.d.ts +4 -0
  6. package/dist/app/useApp.d.ts +16 -0
  7. package/dist/components/ClearFilterSortButton.d.ts +5 -0
  8. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +11 -11
  9. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
  10. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +5 -3
  11. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +3 -2
  12. package/dist/components/EntityCollectionTable/column_utils.d.ts +1 -2
  13. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +2 -0
  14. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
  15. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +2 -2
  16. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +1 -1
  17. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +12 -3
  18. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
  19. package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
  20. package/dist/components/EntityPreview.d.ts +26 -7
  21. package/dist/components/EntityView.d.ts +11 -0
  22. package/dist/components/FieldCaption.d.ts +5 -0
  23. package/dist/components/HomePage/NavigationCard.d.ts +8 -0
  24. package/dist/components/HomePage/{NavigationCollectionCard.d.ts → NavigationCardBinding.d.ts} +2 -2
  25. package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
  26. package/dist/components/HomePage/index.d.ts +3 -1
  27. package/dist/components/ReferenceWidget.d.ts +3 -1
  28. package/dist/components/SelectableTable/SelectableTable.d.ts +1 -1
  29. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
  30. package/dist/components/VirtualTable/VirtualTableProps.d.ts +6 -7
  31. package/dist/components/VirtualTable/types.d.ts +3 -3
  32. package/dist/components/{EntityCollectionTable/internal → common}/default_entity_actions.d.ts +1 -1
  33. package/dist/components/common/index.d.ts +1 -0
  34. package/dist/components/common/table_height.d.ts +5 -0
  35. package/dist/components/common/types.d.ts +4 -6
  36. package/dist/components/common/useDataSourceEntityCollectionTableController.d.ts +3 -0
  37. package/dist/components/index.d.ts +6 -3
  38. package/dist/contexts/AuthControllerContext.d.ts +1 -1
  39. package/dist/{components/FireCMSAppBar.d.ts → core/DefaultAppBar.d.ts} +5 -8
  40. package/dist/core/DefaultDrawer.d.ts +19 -0
  41. package/dist/core/DrawerNavigationItem.d.ts +9 -0
  42. package/dist/core/EntityEditView.d.ts +36 -0
  43. package/dist/core/NavigationRoutes.d.ts +2 -2
  44. package/dist/core/index.d.ts +3 -4
  45. package/dist/form/PropertiesForm.d.ts +8 -0
  46. package/dist/form/components/ErrorFocus.d.ts +1 -1
  47. package/dist/form/components/FieldHelperText.d.ts +3 -3
  48. package/dist/form/components/StorageItemPreview.d.ts +2 -3
  49. package/dist/form/components/StorageUploadProgress.d.ts +1 -1
  50. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
  51. package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
  52. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +3 -4
  53. package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -2
  54. package/dist/form/index.d.ts +0 -2
  55. package/dist/form/validation.d.ts +1 -1
  56. package/dist/hooks/data/delete.d.ts +2 -2
  57. package/dist/hooks/data/save.d.ts +2 -3
  58. package/dist/hooks/data/useDataSource.d.ts +2 -2
  59. package/dist/hooks/data/useEntityFetch.d.ts +3 -3
  60. package/dist/hooks/index.d.ts +2 -0
  61. package/dist/hooks/useBuildNavigationController.d.ts +6 -4
  62. package/dist/hooks/useProjectLog.d.ts +6 -2
  63. package/dist/hooks/useStorageSource.d.ts +2 -2
  64. package/dist/hooks/useValidateAuthenticator.d.ts +21 -0
  65. package/dist/index.d.ts +1 -0
  66. package/dist/index.es.js +10507 -9993
  67. package/dist/index.es.js.map +1 -1
  68. package/dist/index.umd.js +5 -5
  69. package/dist/index.umd.js.map +1 -1
  70. package/dist/internal/useBuildDataSource.d.ts +1 -16
  71. package/dist/preview/PropertyPreview.d.ts +1 -1
  72. package/dist/preview/PropertyPreviewProps.d.ts +1 -4
  73. package/dist/preview/components/BooleanPreview.d.ts +5 -1
  74. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  75. package/dist/preview/components/ReferencePreview.d.ts +3 -8
  76. package/dist/types/analytics.d.ts +1 -1
  77. package/dist/types/auth.d.ts +37 -1
  78. package/dist/types/collections.d.ts +44 -6
  79. package/dist/types/datasource.d.ts +21 -14
  80. package/dist/types/entities.d.ts +5 -1
  81. package/dist/types/entity_actions.d.ts +14 -0
  82. package/dist/types/entity_callbacks.d.ts +2 -2
  83. package/dist/types/entity_overrides.d.ts +6 -0
  84. package/dist/types/fields.d.ts +31 -30
  85. package/dist/types/index.d.ts +2 -1
  86. package/dist/types/navigation.d.ts +15 -14
  87. package/dist/types/permissions.d.ts +5 -1
  88. package/dist/types/plugins.d.ts +22 -22
  89. package/dist/types/properties.d.ts +13 -5
  90. package/dist/types/property_config.d.ts +2 -2
  91. package/dist/types/roles.d.ts +31 -0
  92. package/dist/types/storage.d.ts +11 -3
  93. package/dist/types/user.d.ts +5 -0
  94. package/dist/util/collections.d.ts +9 -1
  95. package/dist/util/entities.d.ts +1 -1
  96. package/dist/util/icon_synonyms.d.ts +1 -97
  97. package/dist/util/icons.d.ts +8 -2
  98. package/dist/util/navigation_utils.d.ts +2 -2
  99. package/dist/util/objects.d.ts +1 -1
  100. package/dist/util/permissions.d.ts +4 -4
  101. package/dist/util/references.d.ts +4 -2
  102. package/dist/util/resolutions.d.ts +14 -14
  103. package/dist/util/storage.d.ts +23 -2
  104. package/dist/util/useStorageUploadController.d.ts +1 -1
  105. package/dist/util/useTraceUpdate.d.ts +1 -0
  106. package/package.json +139 -119
  107. package/src/app/AppBar.tsx +18 -0
  108. package/src/app/Drawer.tsx +25 -0
  109. package/src/app/Scaffold.tsx +249 -0
  110. package/src/app/index.ts +4 -0
  111. package/src/app/useApp.tsx +32 -0
  112. package/src/components/ClearFilterSortButton.tsx +41 -0
  113. package/src/components/DeleteEntityDialog.tsx +4 -4
  114. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +4 -4
  115. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +276 -279
  116. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +9 -5
  117. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +48 -45
  118. package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
  119. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +18 -17
  120. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +5 -5
  121. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +29 -34
  122. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +16 -12
  123. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +4 -5
  124. package/src/components/EntityCollectionView/EntityCollectionView.tsx +75 -74
  125. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +5 -6
  126. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
  127. package/src/components/EntityCollectionView/useSelectionController.tsx +30 -0
  128. package/src/components/EntityPreview.tsx +209 -70
  129. package/src/components/EntityView.tsx +84 -0
  130. package/src/components/FieldCaption.tsx +14 -0
  131. package/src/components/HomePage/DefaultHomePage.tsx +15 -11
  132. package/src/components/HomePage/NavigationCard.tsx +69 -0
  133. package/src/components/HomePage/NavigationCardBinding.tsx +116 -0
  134. package/src/components/HomePage/SmallNavigationCard.tsx +45 -0
  135. package/src/components/HomePage/index.tsx +3 -1
  136. package/src/components/PropertyIdCopyTooltipContent.tsx +2 -3
  137. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +4 -4
  138. package/src/components/ReferenceWidget.tsx +22 -12
  139. package/src/components/SearchIconsView.tsx +5 -5
  140. package/src/components/SelectableTable/SelectableTable.tsx +5 -3
  141. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
  142. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +23 -8
  143. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +38 -24
  144. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +35 -15
  145. package/src/components/VirtualTable/VirtualTable.tsx +38 -29
  146. package/src/components/VirtualTable/VirtualTableHeader.tsx +4 -4
  147. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +2 -2
  148. package/src/components/VirtualTable/VirtualTableProps.tsx +7 -7
  149. package/src/components/VirtualTable/VirtualTableRow.tsx +4 -5
  150. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +1 -1
  151. package/src/components/VirtualTable/types.tsx +2 -3
  152. package/src/components/{EntityCollectionTable/internal → common}/default_entity_actions.tsx +11 -7
  153. package/src/components/common/index.ts +1 -0
  154. package/src/components/{VirtualTable/common.tsx → common/table_height.tsx} +5 -2
  155. package/src/components/common/types.tsx +4 -6
  156. package/src/components/common/useColumnsIds.tsx +10 -2
  157. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +12 -1
  158. package/src/components/common/useTableSearchHelper.ts +39 -9
  159. package/src/components/index.tsx +6 -3
  160. package/src/contexts/AuthControllerContext.tsx +1 -1
  161. package/src/{components/FireCMSAppBar.tsx → core/DefaultAppBar.tsx} +51 -34
  162. package/src/core/DefaultDrawer.tsx +177 -0
  163. package/src/core/DrawerNavigationItem.tsx +62 -0
  164. package/src/core/EntityEditView.tsx +1100 -0
  165. package/src/core/EntitySidePanel.tsx +3 -4
  166. package/src/core/FireCMS.tsx +54 -43
  167. package/src/core/NavigationRoutes.tsx +14 -7
  168. package/src/core/field_configs.tsx +2 -3
  169. package/src/core/index.tsx +3 -4
  170. package/src/form/PropertiesForm.tsx +81 -0
  171. package/src/form/PropertyFieldBinding.tsx +29 -7
  172. package/src/form/components/FieldHelperText.tsx +3 -3
  173. package/src/form/components/StorageItemPreview.tsx +5 -7
  174. package/src/form/components/StorageUploadProgress.tsx +9 -8
  175. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +10 -12
  176. package/src/form/field_bindings/BlockFieldBinding.tsx +2 -2
  177. package/src/form/field_bindings/DateTimeFieldBinding.tsx +1 -1
  178. package/src/form/field_bindings/KeyValueFieldBinding.tsx +19 -19
  179. package/src/form/field_bindings/MapFieldBinding.tsx +25 -17
  180. package/src/form/field_bindings/MarkdownFieldBinding.tsx +2 -2
  181. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +2 -9
  182. package/src/form/field_bindings/ReferenceFieldBinding.tsx +16 -13
  183. package/src/form/field_bindings/SelectFieldBinding.tsx +3 -3
  184. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +14 -35
  185. package/src/form/field_bindings/TextFieldBinding.tsx +7 -5
  186. package/src/form/index.tsx +4 -4
  187. package/src/form/validation.ts +4 -21
  188. package/src/hooks/data/delete.ts +3 -3
  189. package/src/hooks/data/save.ts +4 -2
  190. package/src/hooks/data/useCollectionFetch.tsx +1 -1
  191. package/src/hooks/data/useDataSource.tsx +8 -3
  192. package/src/hooks/data/useEntityFetch.tsx +4 -4
  193. package/src/hooks/index.tsx +3 -0
  194. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +8 -10
  195. package/src/hooks/useBuildModeController.tsx +11 -5
  196. package/src/hooks/useBuildNavigationController.tsx +200 -83
  197. package/src/hooks/useProjectLog.tsx +17 -7
  198. package/src/hooks/useReferenceDialog.tsx +2 -2
  199. package/src/hooks/useResolvedNavigationFrom.tsx +1 -1
  200. package/src/hooks/useStorageSource.tsx +7 -2
  201. package/src/hooks/useValidateAuthenticator.tsx +115 -0
  202. package/src/index.ts +1 -0
  203. package/src/internal/useBuildDataSource.ts +54 -47
  204. package/src/internal/useBuildSideEntityController.tsx +88 -21
  205. package/src/preview/PropertyPreview.tsx +5 -15
  206. package/src/preview/PropertyPreviewProps.tsx +1 -11
  207. package/src/preview/components/BooleanPreview.tsx +19 -4
  208. package/src/preview/components/EnumValuesChip.tsx +2 -2
  209. package/src/preview/components/ReferencePreview.tsx +72 -165
  210. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +0 -1
  211. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +2 -1
  212. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +0 -1
  213. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +0 -1
  214. package/src/preview/property_previews/ArrayOneOfPreview.tsx +2 -3
  215. package/src/preview/property_previews/ArrayPropertyPreview.tsx +2 -3
  216. package/src/preview/property_previews/MapPropertyPreview.tsx +5 -5
  217. package/src/preview/property_previews/StringPropertyPreview.tsx +8 -7
  218. package/src/types/analytics.ts +1 -0
  219. package/src/types/auth.tsx +50 -1
  220. package/src/types/collections.ts +51 -6
  221. package/src/types/customization_controller.tsx +0 -1
  222. package/src/types/datasource.ts +24 -17
  223. package/src/types/entities.ts +9 -1
  224. package/src/types/entity_actions.tsx +17 -0
  225. package/src/types/entity_callbacks.ts +2 -2
  226. package/src/types/entity_overrides.tsx +7 -0
  227. package/src/types/fields.tsx +33 -33
  228. package/src/types/firecms.tsx +0 -1
  229. package/src/types/index.ts +2 -1
  230. package/src/types/navigation.ts +17 -17
  231. package/src/types/permissions.ts +6 -1
  232. package/src/types/plugins.tsx +28 -30
  233. package/src/types/properties.ts +19 -7
  234. package/src/types/property_config.tsx +2 -2
  235. package/src/types/roles.ts +41 -0
  236. package/src/types/side_entity_controller.tsx +1 -0
  237. package/src/types/storage.ts +12 -3
  238. package/src/types/user.ts +7 -0
  239. package/src/util/collections.ts +22 -0
  240. package/src/util/entities.ts +2 -1
  241. package/src/util/enums.ts +1 -1
  242. package/src/util/icon_list.ts +2 -2
  243. package/src/util/icon_synonyms.ts +3 -99
  244. package/src/util/icons.tsx +11 -3
  245. package/src/util/navigation_utils.ts +6 -6
  246. package/src/util/objects.ts +8 -21
  247. package/src/util/permissions.ts +12 -8
  248. package/src/util/references.ts +36 -5
  249. package/src/util/resolutions.ts +32 -31
  250. package/src/util/storage.ts +75 -21
  251. package/src/util/strings.ts +2 -2
  252. package/src/util/useStorageUploadController.tsx +21 -3
  253. package/src/util/useTraceUpdate.tsx +2 -1
  254. package/dist/components/VirtualTable/common.d.ts +0 -2
  255. package/dist/core/Drawer.d.ts +0 -23
  256. package/dist/core/EntityView.d.ts +0 -22
  257. package/dist/core/Scaffold.d.ts +0 -55
  258. package/dist/core/SideEntityView.d.ts +0 -7
  259. package/dist/form/EntityForm.d.ts +0 -77
  260. package/dist/internal/useBuildCustomizationController.d.ts +0 -2
  261. package/dist/internal/useLocaleConfig.d.ts +0 -1
  262. package/dist/types/appcheck.d.ts +0 -26
  263. package/src/components/HomePage/NavigationCollectionCard.tsx +0 -146
  264. package/src/core/Drawer.tsx +0 -164
  265. package/src/core/EntityView.tsx +0 -578
  266. package/src/core/Scaffold.tsx +0 -281
  267. package/src/core/SideEntityView.tsx +0 -38
  268. package/src/form/EntityForm.tsx +0 -720
  269. package/src/internal/useBuildCustomizationController.tsx +0 -5
  270. package/src/internal/useLocaleConfig.tsx +0 -18
  271. 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,12 @@
1
+ import { DefaultAppBarProps } from "../core/DefaultAppBar";
2
+ /**
3
+ * This component renders the main app bar of FireCMS.
4
+ */
5
+ export declare function AppBar({ children, ...props }: {
6
+ children?: React.ReactNode;
7
+ className?: string;
8
+ style?: React.CSSProperties;
9
+ } & DefaultAppBarProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace AppBar {
11
+ var componentType: string;
12
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This component is in charge of rendering the drawer.
3
+ * If you add this component under your {@link Scaffold}, it will be rendered
4
+ * as a drawer, and the open and close functionality will be handled automatically.
5
+ * If you want to customise the drawer, you can create your own component and pass it as a child.
6
+ * For custom drawers, you can use the {@link useApp} to open and close the drawer.
7
+ *
8
+ * @constructor
9
+ */
10
+ export declare function Drawer({ children, className, style }: {
11
+ children?: React.ReactNode;
12
+ className?: string;
13
+ style?: React.CSSProperties;
14
+ }): import("react/jsx-runtime").JSX.Element;
15
+ export declare namespace Drawer {
16
+ var componentType: string;
17
+ }
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ export declare const DRAWER_WIDTH = 280;
3
+ /**
4
+ * @group Core
5
+ */
6
+ export interface ScaffoldProps {
7
+ /**
8
+ * Open the drawer on hover
9
+ */
10
+ autoOpenDrawer?: boolean;
11
+ /**
12
+ * Logo to be displayed in the top bar and drawer.
13
+ * Note that this has no effect if you are using a custom AppBar or Drawer.
14
+ */
15
+ logo?: string;
16
+ className?: string;
17
+ style?: React.CSSProperties;
18
+ }
19
+ /**
20
+ * This view acts as a scaffold for FireCMS.
21
+ *
22
+ * It is in charge of displaying the navigation drawer, top bar and main
23
+ * collection views.
24
+ * This component needs a parent {@link FireCMS}
25
+ *
26
+ * @param props
27
+ * @constructor
28
+ * @group Core
29
+ */
30
+ export declare const Scaffold: React.NamedExoticComponent<React.PropsWithChildren<ScaffoldProps>>;
@@ -0,0 +1,4 @@
1
+ export * from "./Drawer";
2
+ export * from "./AppBar";
3
+ export * from "./Scaffold";
4
+ export * from "./useApp";
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ /**
3
+ * This context represents the state of the app in terms of layout.
4
+ * @group Core
5
+ */
6
+ export type AppState = {
7
+ hasDrawer: boolean;
8
+ drawerHovered: boolean;
9
+ drawerOpen: boolean;
10
+ openDrawer: () => void;
11
+ closeDrawer: () => void;
12
+ autoOpenDrawer?: boolean;
13
+ logo?: string;
14
+ };
15
+ export declare const AppContext: React.Context<AppState>;
16
+ export declare function useApp(): AppState;
@@ -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[];
@@ -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;
@@ -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,30 @@
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
+ includeId?: boolean;
13
+ includeEntityLink?: boolean;
14
+ onClick?: (e: React.SyntheticEvent) => void;
15
+ };
2
16
  /**
3
- * @group Components
17
+ * This view is used to display a preview of an entity.
18
+ * It is used by default in reference fields and whenever a reference is displayed.
4
19
  */
5
- export interface EntityPreviewProps<M extends Record<string, any>> {
6
- entity: Entity<M>;
7
- collection: EntityCollection<M>;
8
- path: string;
20
+ export declare function EntityPreview({ actions, disabled, hover, collection: collectionProp, previewProperties, onClick, size, includeId, includeEntityLink, entity }: EntityPreviewProps): import("react/jsx-runtime").JSX.Element;
21
+ export type EntityPreviewContainerProps = {
22
+ children: React.ReactNode;
23
+ hover?: boolean;
24
+ fullwidth?: boolean;
25
+ size: PreviewSize;
9
26
  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;
27
+ style?: React.CSSProperties;
28
+ onClick?: (e: React.SyntheticEvent) => void;
29
+ };
30
+ 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;
@@ -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";
@@ -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
  */
@@ -106,6 +106,10 @@ export interface VirtualTableProps<T extends Record<string, any>> {
106
106
  * Class name applied to the table
107
107
  */
108
108
  className?: string;
109
+ /**
110
+ * Style applied to the table
111
+ */
112
+ style?: React.CSSProperties;
109
113
  /**
110
114
  * Component rendered at the end of the table, after scroll
111
115
  */
@@ -190,11 +194,6 @@ export type OnVirtualTableColumnResizeParams = {
190
194
  key: string;
191
195
  column: VirtualTableColumn;
192
196
  };
193
- /**
194
- * @see Table
195
- * @group Components
196
- */
197
- export type VirtualTableSize = "xs" | "s" | "m" | "l" | "xl";
198
197
  /**
199
198
  * @see Table
200
199
  * @group Components
@@ -207,7 +206,7 @@ export type VirtualTableSort = "asc" | "desc" | undefined;
207
206
  export type VirtualTableFilterValues<Key extends string> = Partial<Record<Key, [WhereFilterOp, any]>>;
208
207
  /**
209
208
  * Filter conditions in a `Query.where()` clause are specified using the
210
- * strings '<', '<=', '==', '>=', '>', 'array-contains', 'in', 'not-in', and 'array-contains-any'.
209
+ * strings `<`, `<=`, `==`, `>=`, `>`, `array-contains`, `in`, and `array-contains-any`.
211
210
  * @see Table
212
211
  * @group Models
213
212
  */
@@ -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
  /**
@@ -1,15 +1,17 @@
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";
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";
14
+ export * from "./EntityCollectionView/useSelectionController";
13
15
  export * from "./PropertyConfigBadge";
14
16
  export * from "./EntityCollectionTable";
15
17
  export * from "./NotFoundPage";
@@ -17,7 +19,8 @@ export * from "./VirtualTable";
17
19
  export * from "./ErrorBoundary";
18
20
  export * from "./DeleteConfirmationDialog";
19
21
  export * from "./FireCMSLogo";
20
- export * from "./FireCMSAppBar";
22
+ export * from "../core/DefaultAppBar";
21
23
  export * from "./ArrayContainer";
22
24
  export * from "./ReferenceWidget";
23
25
  export * from "./SearchIconsView";
26
+ 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>>;