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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/README.md +2 -2
  2. package/dist/components/ClearFilterSortButton.d.ts +5 -0
  3. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +11 -11
  4. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
  5. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +5 -3
  6. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +3 -2
  7. package/dist/components/EntityCollectionTable/column_utils.d.ts +1 -2
  8. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
  9. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +1 -1
  10. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +12 -3
  11. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
  12. package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
  13. package/dist/components/EntityPreview.d.ts +25 -7
  14. package/dist/components/EntityView.d.ts +11 -0
  15. package/dist/components/FieldCaption.d.ts +5 -0
  16. package/dist/components/FireCMSAppBar.d.ts +3 -2
  17. package/dist/components/HomePage/NavigationCard.d.ts +8 -0
  18. package/dist/components/HomePage/{NavigationCollectionCard.d.ts → NavigationCardBinding.d.ts} +2 -2
  19. package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
  20. package/dist/components/HomePage/index.d.ts +3 -1
  21. package/dist/components/SelectableTable/SelectableTable.d.ts +1 -1
  22. package/dist/components/VirtualTable/VirtualTableProps.d.ts +1 -1
  23. package/dist/components/common/types.d.ts +4 -6
  24. package/dist/components/common/useDataSourceEntityCollectionTableController.d.ts +3 -0
  25. package/dist/components/index.d.ts +4 -2
  26. package/dist/contexts/AuthControllerContext.d.ts +1 -1
  27. package/dist/core/{EntityView.d.ts → EntityEditView.d.ts} +2 -2
  28. package/dist/core/NavigationRoutes.d.ts +1 -1
  29. package/dist/core/Scaffold.d.ts +1 -1
  30. package/dist/form/EntityForm.d.ts +1 -1
  31. package/dist/form/components/ErrorFocus.d.ts +1 -1
  32. package/dist/form/components/StorageItemPreview.d.ts +3 -2
  33. package/dist/form/components/StorageUploadProgress.d.ts +1 -1
  34. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
  35. package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
  36. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +4 -3
  37. package/dist/form/field_bindings/TextFieldBinding.d.ts +2 -2
  38. package/dist/form/validation.d.ts +1 -1
  39. package/dist/hooks/data/delete.d.ts +2 -2
  40. package/dist/hooks/data/save.d.ts +2 -3
  41. package/dist/hooks/data/useDataSource.d.ts +2 -2
  42. package/dist/hooks/data/useEntityFetch.d.ts +3 -3
  43. package/dist/hooks/index.d.ts +1 -0
  44. package/dist/hooks/useBuildNavigationController.d.ts +6 -4
  45. package/dist/hooks/useProjectLog.d.ts +6 -2
  46. package/dist/hooks/useStorageSource.d.ts +2 -2
  47. package/dist/hooks/useValidateAuthenticator.d.ts +21 -0
  48. package/dist/index.es.js +10402 -9898
  49. package/dist/index.es.js.map +1 -1
  50. package/dist/index.umd.js +5 -5
  51. package/dist/index.umd.js.map +1 -1
  52. package/dist/internal/useBuildDataSource.d.ts +1 -12
  53. package/dist/preview/PropertyPreview.d.ts +1 -1
  54. package/dist/preview/PropertyPreviewProps.d.ts +1 -4
  55. package/dist/preview/components/BooleanPreview.d.ts +5 -1
  56. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  57. package/dist/preview/components/ReferencePreview.d.ts +1 -7
  58. package/dist/types/analytics.d.ts +1 -1
  59. package/dist/types/auth.d.ts +37 -1
  60. package/dist/types/collections.d.ts +29 -5
  61. package/dist/types/datasource.d.ts +3 -6
  62. package/dist/types/entities.d.ts +5 -1
  63. package/dist/types/entity_actions.d.ts +14 -0
  64. package/dist/types/entity_callbacks.d.ts +2 -2
  65. package/dist/types/entity_overrides.d.ts +6 -0
  66. package/dist/types/index.d.ts +2 -1
  67. package/dist/types/navigation.d.ts +14 -13
  68. package/dist/types/permissions.d.ts +5 -1
  69. package/dist/types/plugins.d.ts +20 -20
  70. package/dist/types/properties.d.ts +4 -4
  71. package/dist/types/property_config.d.ts +2 -2
  72. package/dist/types/roles.d.ts +31 -0
  73. package/dist/types/storage.d.ts +11 -3
  74. package/dist/types/user.d.ts +5 -0
  75. package/dist/util/collections.d.ts +9 -1
  76. package/dist/util/entities.d.ts +1 -1
  77. package/dist/util/icon_synonyms.d.ts +1 -4
  78. package/dist/util/icons.d.ts +8 -2
  79. package/dist/util/navigation_utils.d.ts +2 -2
  80. package/dist/util/permissions.d.ts +4 -4
  81. package/dist/util/references.d.ts +4 -2
  82. package/dist/util/resolutions.d.ts +9 -13
  83. package/dist/util/useTraceUpdate.d.ts +1 -0
  84. package/package.json +139 -119
  85. package/src/components/ClearFilterSortButton.tsx +41 -0
  86. package/src/components/DeleteEntityDialog.tsx +4 -4
  87. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +2 -2
  88. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +275 -278
  89. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +9 -5
  90. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +44 -44
  91. package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
  92. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +9 -16
  93. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +3 -3
  94. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +27 -32
  95. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +11 -6
  96. package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +9 -5
  97. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +2 -4
  98. package/src/components/EntityCollectionView/EntityCollectionView.tsx +69 -64
  99. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +5 -6
  100. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
  101. package/src/components/EntityCollectionView/useSelectionController.tsx +30 -0
  102. package/src/components/EntityPreview.tsx +207 -70
  103. package/src/components/EntityView.tsx +84 -0
  104. package/src/components/FieldCaption.tsx +14 -0
  105. package/src/components/FireCMSAppBar.tsx +33 -11
  106. package/src/components/HomePage/DefaultHomePage.tsx +15 -11
  107. package/src/components/HomePage/NavigationCard.tsx +69 -0
  108. package/src/components/HomePage/NavigationCardBinding.tsx +116 -0
  109. package/src/components/HomePage/SmallNavigationCard.tsx +45 -0
  110. package/src/components/HomePage/index.tsx +3 -1
  111. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +4 -4
  112. package/src/components/ReferenceWidget.tsx +4 -4
  113. package/src/components/SearchIconsView.tsx +4 -4
  114. package/src/components/SelectableTable/SelectableTable.tsx +1 -1
  115. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
  116. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +23 -8
  117. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +35 -24
  118. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +35 -15
  119. package/src/components/VirtualTable/VirtualTable.tsx +28 -20
  120. package/src/components/VirtualTable/VirtualTableProps.tsx +1 -1
  121. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +1 -1
  122. package/src/components/common/types.tsx +4 -6
  123. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +12 -1
  124. package/src/components/index.tsx +4 -2
  125. package/src/contexts/AuthControllerContext.tsx +1 -1
  126. package/src/core/Drawer.tsx +66 -39
  127. package/src/core/{EntityView.tsx → EntityEditView.tsx} +21 -40
  128. package/src/core/EntitySidePanel.tsx +2 -2
  129. package/src/core/FireCMS.tsx +18 -3
  130. package/src/core/NavigationRoutes.tsx +11 -4
  131. package/src/core/Scaffold.tsx +5 -4
  132. package/src/core/field_configs.tsx +1 -2
  133. package/src/form/EntityForm.tsx +40 -21
  134. package/src/form/PropertyFieldBinding.tsx +0 -2
  135. package/src/form/components/StorageItemPreview.tsx +5 -3
  136. package/src/form/components/StorageUploadProgress.tsx +7 -6
  137. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +8 -12
  138. package/src/form/field_bindings/DateTimeFieldBinding.tsx +1 -1
  139. package/src/form/field_bindings/KeyValueFieldBinding.tsx +15 -15
  140. package/src/form/field_bindings/MapFieldBinding.tsx +15 -15
  141. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +1 -1
  142. package/src/form/field_bindings/ReferenceFieldBinding.tsx +1 -0
  143. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +14 -5
  144. package/src/form/field_bindings/TextFieldBinding.tsx +7 -5
  145. package/src/form/validation.ts +3 -4
  146. package/src/hooks/data/delete.ts +3 -3
  147. package/src/hooks/data/save.ts +2 -2
  148. package/src/hooks/data/useCollectionFetch.tsx +1 -1
  149. package/src/hooks/data/useDataSource.tsx +8 -3
  150. package/src/hooks/data/useEntityFetch.tsx +4 -4
  151. package/src/hooks/index.tsx +2 -0
  152. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +9 -10
  153. package/src/hooks/useBuildModeController.tsx +11 -5
  154. package/src/hooks/useBuildNavigationController.tsx +199 -81
  155. package/src/hooks/useProjectLog.tsx +17 -7
  156. package/src/hooks/useReferenceDialog.tsx +2 -2
  157. package/src/hooks/useStorageSource.tsx +7 -2
  158. package/src/hooks/useValidateAuthenticator.tsx +115 -0
  159. package/src/internal/useBuildDataSource.ts +42 -44
  160. package/src/internal/useBuildSideEntityController.tsx +86 -20
  161. package/src/preview/PropertyPreview.tsx +3 -14
  162. package/src/preview/PropertyPreviewProps.tsx +1 -11
  163. package/src/preview/components/BooleanPreview.tsx +19 -4
  164. package/src/preview/components/EnumValuesChip.tsx +1 -1
  165. package/src/preview/components/ReferencePreview.tsx +55 -147
  166. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +0 -1
  167. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +0 -1
  168. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +0 -1
  169. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +0 -1
  170. package/src/preview/property_previews/ArrayOneOfPreview.tsx +0 -1
  171. package/src/preview/property_previews/ArrayPropertyPreview.tsx +0 -1
  172. package/src/preview/property_previews/StringPropertyPreview.tsx +8 -7
  173. package/src/types/analytics.ts +1 -0
  174. package/src/types/auth.tsx +50 -1
  175. package/src/types/collections.ts +33 -5
  176. package/src/types/datasource.ts +8 -5
  177. package/src/types/entities.ts +9 -1
  178. package/src/types/entity_actions.tsx +17 -0
  179. package/src/types/entity_callbacks.ts +2 -2
  180. package/src/types/entity_overrides.tsx +7 -0
  181. package/src/types/firecms.tsx +0 -1
  182. package/src/types/index.ts +2 -1
  183. package/src/types/navigation.ts +17 -16
  184. package/src/types/permissions.ts +6 -1
  185. package/src/types/plugins.tsx +26 -28
  186. package/src/types/properties.ts +8 -6
  187. package/src/types/property_config.tsx +2 -2
  188. package/src/types/roles.ts +41 -0
  189. package/src/types/side_entity_controller.tsx +1 -0
  190. package/src/types/storage.ts +12 -3
  191. package/src/types/user.ts +7 -0
  192. package/src/util/collections.ts +22 -0
  193. package/src/util/entities.ts +1 -1
  194. package/src/util/icon_list.ts +2 -2
  195. package/src/util/icon_synonyms.ts +1 -4
  196. package/src/util/icons.tsx +11 -3
  197. package/src/util/navigation_utils.ts +6 -6
  198. package/src/util/objects.ts +0 -14
  199. package/src/util/permissions.ts +11 -8
  200. package/src/util/references.ts +36 -5
  201. package/src/util/resolutions.ts +6 -24
  202. package/src/util/strings.ts +2 -2
  203. package/src/util/useTraceUpdate.tsx +2 -1
  204. package/dist/core/SideEntityView.d.ts +0 -7
  205. package/dist/internal/useLocaleConfig.d.ts +0 -1
  206. package/dist/types/appcheck.d.ts +0 -26
  207. package/src/components/HomePage/NavigationCollectionCard.tsx +0 -146
  208. package/src/core/SideEntityView.tsx +0 -38
  209. package/src/internal/useLocaleConfig.tsx +0 -18
  210. package/src/types/appcheck.ts +0 -29
@@ -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>;
@@ -20,3 +20,4 @@ export * from "./useCustomizationController";
20
20
  export * from "./useBuildNavigationController";
21
21
  export * from "./useBuildLocalConfigurationPersistence";
22
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>({ basePath, baseCollectionPath, authController, collections: collectionsProp, views: baseViews, userConfigPersistence, dataSourceDelegate, injectCollections }: BuildNavigationContextProps<EC, UserType>): NavigationController;
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 declare function useProjectLog(authController: AuthController): void;
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,21 @@
1
+ import { 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 storageSource
8
+ * @param dataSourceDelegate
9
+ */
10
+ export declare function useValidateAuthenticator<UserType extends User = User, Controller extends AuthController<UserType> = AuthController<UserType>>({ disabled, authController, authenticator, storageSource, dataSourceDelegate }: {
11
+ disabled?: boolean;
12
+ authController: Controller;
13
+ authenticator?: boolean | Authenticator<UserType, Controller>;
14
+ dataSourceDelegate: DataSourceDelegate;
15
+ storageSource: StorageSource;
16
+ }): {
17
+ canAccessMainView: boolean;
18
+ authLoading: boolean;
19
+ notAllowedError: any;
20
+ authVerified: boolean;
21
+ };