@firecms/core 3.0.0-canary.29 → 3.0.0-canary.292
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 +3 -3
- package/dist/app/AppBar.d.ts +12 -0
- package/dist/app/Drawer.d.ts +16 -0
- package/dist/app/Scaffold.d.ts +34 -0
- package/dist/app/index.d.ts +4 -0
- package/dist/app/useApp.d.ts +16 -0
- package/dist/components/ArrayContainer.d.ts +31 -12
- package/dist/components/CircularProgressCenter.d.ts +1 -1
- package/dist/components/ClearFilterSortButton.d.ts +5 -0
- package/dist/components/{DeleteConfirmationDialog.d.ts → ConfirmationDialog.d.ts} +1 -1
- package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +14 -13
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
- package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +22 -6
- package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +1 -0
- package/dist/components/EntityCollectionTable/column_utils.d.ts +1 -2
- package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +3 -1
- package/dist/components/EntityCollectionTable/index.d.ts +1 -1
- package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
- package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +2 -2
- package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +7 -4
- package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +20 -2
- package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
- package/dist/components/EntityCollectionView/utils.d.ts +3 -0
- package/dist/components/EntityJsonPreview.d.ts +3 -0
- package/dist/components/EntityPreview.d.ts +10 -7
- package/dist/components/ErrorView.d.ts +1 -1
- package/dist/components/HomePage/DefaultHomePage.d.ts +2 -15
- package/dist/components/HomePage/HomePageDnD.d.ts +77 -0
- package/dist/components/HomePage/NavigationCard.d.ts +3 -1
- package/dist/components/HomePage/NavigationCardBinding.d.ts +4 -3
- package/dist/components/HomePage/NavigationGroup.d.ts +8 -1
- package/dist/components/HomePage/RenameGroupDialog.d.ts +9 -0
- package/dist/components/PropertyCollectionView.d.ts +23 -0
- package/dist/components/PropertyConfigBadge.d.ts +2 -1
- package/dist/components/PropertyIdCopyTooltip.d.ts +8 -0
- package/dist/components/ReferenceWidget.d.ts +3 -1
- package/dist/components/SelectableTable/SelectableTable.d.ts +14 -4
- package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
- package/dist/components/UnsavedChangesDialog.d.ts +8 -0
- package/dist/components/UserDisplay.d.ts +7 -0
- package/dist/components/VirtualTable/VirtualTableProps.d.ts +24 -12
- package/dist/components/VirtualTable/fields/VirtualTableUserSelect.d.ts +12 -0
- package/dist/components/VirtualTable/types.d.ts +3 -3
- package/dist/components/{EntityCollectionTable/internal → common}/default_entity_actions.d.ts +1 -3
- package/dist/components/common/index.d.ts +2 -1
- package/dist/components/common/table_height.d.ts +5 -0
- package/dist/components/common/types.d.ts +4 -6
- package/dist/components/common/useColumnsIds.d.ts +3 -1
- package/dist/components/common/{useDataSourceEntityCollectionTableController.d.ts → useDataSourceTableController.d.ts} +13 -2
- package/dist/components/common/useDebouncedCallback.d.ts +1 -0
- package/dist/components/common/useScrollRestoration.d.ts +14 -0
- package/dist/components/index.d.ts +5 -2
- package/dist/contexts/BreacrumbsContext.d.ts +8 -0
- package/dist/contexts/InternalUserManagementContext.d.ts +3 -0
- package/dist/core/DefaultAppBar.d.ts +29 -0
- package/dist/core/DefaultDrawer.d.ts +19 -0
- package/dist/core/DrawerNavigationItem.d.ts +10 -0
- package/dist/core/EntityEditView.d.ts +49 -11
- package/dist/core/EntityEditViewFormActions.d.ts +2 -0
- package/dist/core/FireCMS.d.ts +2 -3
- package/dist/core/FireCMSRouter.d.ts +4 -0
- package/dist/core/NavigationRoutes.d.ts +2 -3
- package/dist/core/SideDialogs.d.ts +4 -2
- package/dist/core/field_configs.d.ts +1 -1
- package/dist/core/index.d.ts +4 -4
- package/dist/form/EntityForm.d.ts +40 -64
- package/dist/form/EntityFormActions.d.ts +21 -0
- package/dist/form/PropertyFieldBinding.d.ts +1 -1
- package/dist/form/components/ErrorFocus.d.ts +1 -1
- package/dist/form/components/FieldHelperText.d.ts +3 -3
- package/dist/form/components/FormEntry.d.ts +6 -0
- package/dist/form/components/FormLayout.d.ts +5 -0
- package/dist/form/components/LabelWithIcon.d.ts +1 -1
- package/dist/form/components/LabelWithIconAndTooltip.d.ts +15 -0
- package/dist/form/components/LocalChangesMenu.d.ts +11 -0
- package/dist/form/components/StorageItemPreview.d.ts +4 -4
- package/dist/form/components/index.d.ts +3 -1
- package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/BlockFieldBinding.d.ts +1 -1
- 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/MarkdownEditorFieldBinding.d.ts +11 -0
- package/dist/form/field_bindings/{MultiSelectBinding.d.ts → MultiSelectFieldBinding.d.ts} +1 -1
- package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/ReferenceAsStringFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -2
- package/dist/form/field_bindings/RepeatFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/SelectFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +5 -13
- package/dist/form/field_bindings/SwitchFieldBinding.d.ts +1 -2
- package/dist/form/field_bindings/TextFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/UserSelectFieldBinding.d.ts +12 -0
- package/dist/form/index.d.ts +18 -18
- package/dist/form/useClearRestoreValue.d.ts +2 -2
- package/dist/hooks/data/delete.d.ts +4 -4
- package/dist/hooks/data/save.d.ts +4 -5
- package/dist/hooks/data/useCollectionFetch.d.ts +1 -1
- package/dist/hooks/data/useEntityFetch.d.ts +4 -3
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/useAuthController.d.ts +1 -1
- package/dist/hooks/useBreadcrumbsController.d.ts +26 -0
- package/dist/hooks/useBuildNavigationController.d.ts +57 -13
- package/dist/hooks/useCollapsedGroups.d.ts +9 -0
- package/dist/hooks/useFireCMSContext.d.ts +1 -1
- package/dist/hooks/useInternalUserManagementController.d.ts +12 -0
- package/dist/hooks/useModeController.d.ts +1 -2
- package/dist/hooks/useProjectLog.d.ts +8 -2
- package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
- package/dist/hooks/useValidateAuthenticator.d.ts +4 -8
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +24546 -13965
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +27256 -588
- package/dist/index.umd.js.map +1 -1
- package/dist/internal/useBuildDataSource.d.ts +3 -17
- package/dist/internal/useBuildSideEntityController.d.ts +3 -3
- package/dist/internal/useUnsavedChangesDialog.d.ts +7 -9
- package/dist/preview/PropertyPreviewProps.d.ts +6 -1
- package/dist/preview/components/EnumValuesChip.d.ts +1 -1
- package/dist/preview/components/ReferencePreview.d.ts +4 -3
- package/dist/preview/components/StorageThumbnail.d.ts +2 -1
- package/dist/preview/components/UrlComponentPreview.d.ts +2 -1
- package/dist/preview/components/UserPreview.d.ts +8 -0
- package/dist/preview/index.d.ts +1 -0
- package/dist/preview/util.d.ts +3 -3
- package/dist/routes/CustomCMSRoute.d.ts +4 -0
- package/dist/routes/FireCMSRoute.d.ts +1 -0
- package/dist/routes/HomePageRoute.d.ts +3 -0
- package/dist/types/analytics.d.ts +1 -1
- package/dist/types/auth.d.ts +8 -10
- package/dist/types/collections.d.ts +123 -25
- package/dist/types/customization_controller.d.ts +8 -0
- package/dist/types/datasource.d.ts +52 -36
- package/dist/types/dialogs_controller.d.ts +7 -3
- package/dist/types/entities.d.ts +12 -3
- package/dist/types/entity_actions.d.ts +72 -8
- package/dist/types/entity_callbacks.d.ts +16 -16
- package/dist/types/entity_overrides.d.ts +2 -2
- package/dist/types/export_import.d.ts +4 -4
- package/dist/types/fields.d.ts +79 -39
- package/dist/types/firecms.d.ts +31 -3
- package/dist/types/firecms_context.d.ts +17 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/internal_user_management.d.ts +20 -0
- package/dist/types/navigation.d.ts +62 -19
- package/dist/types/permissions.d.ts +4 -4
- package/dist/types/plugins.d.ts +58 -13
- package/dist/types/properties.d.ts +122 -31
- package/dist/types/property_config.d.ts +1 -3
- package/dist/types/roles.d.ts +3 -0
- package/dist/types/side_dialogs_controller.d.ts +10 -0
- package/dist/types/side_entity_controller.d.ts +14 -1
- package/dist/types/storage.d.ts +75 -0
- package/dist/types/user.d.ts +2 -1
- package/dist/util/builders.d.ts +3 -3
- package/dist/util/callbacks.d.ts +2 -0
- package/dist/util/collections.d.ts +1 -0
- package/dist/util/createFormexStub.d.ts +2 -0
- package/dist/util/entities.d.ts +3 -3
- package/dist/util/entity_actions.d.ts +2 -0
- package/dist/util/entity_cache.d.ts +28 -0
- package/dist/util/icon_list.d.ts +5 -1
- package/dist/util/icon_synonyms.d.ts +1 -98
- package/dist/util/icons.d.ts +7 -4
- package/dist/util/index.d.ts +3 -0
- package/dist/util/make_properties_editable.d.ts +1 -2
- package/dist/util/navigation_from_path.d.ts +10 -1
- package/dist/util/navigation_utils.d.ts +15 -3
- package/dist/util/objects.d.ts +3 -1
- package/dist/util/permissions.d.ts +4 -4
- package/dist/util/plurals.d.ts +0 -2
- package/dist/util/property_utils.d.ts +4 -4
- package/dist/util/references.d.ts +2 -2
- package/dist/util/resolutions.d.ts +42 -17
- package/dist/util/storage.d.ts +23 -2
- package/dist/util/useStorageUploadController.d.ts +4 -3
- package/package.json +70 -53
- package/src/app/AppBar.tsx +18 -0
- package/src/app/Drawer.tsx +24 -0
- package/src/app/Scaffold.tsx +253 -0
- package/src/app/index.ts +4 -0
- package/src/app/useApp.tsx +32 -0
- package/src/components/ArrayContainer.tsx +447 -229
- package/src/components/CircularProgressCenter.tsx +2 -2
- package/src/components/ClearFilterSortButton.tsx +41 -0
- package/src/components/{DeleteConfirmationDialog.tsx → ConfirmationDialog.tsx} +12 -11
- package/src/components/DeleteEntityDialog.tsx +13 -20
- package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +87 -62
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +38 -31
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +30 -9
- package/src/components/EntityCollectionTable/PropertyTableCell.tsx +84 -42
- package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +30 -16
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +19 -17
- package/src/components/EntityCollectionTable/index.tsx +1 -1
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +34 -39
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +49 -36
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +20 -8
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +135 -105
- package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +9 -9
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +241 -119
- package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +7 -4
- package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
- package/src/components/EntityCollectionView/useSelectionController.tsx +20 -7
- package/src/components/EntityCollectionView/utils.ts +19 -0
- package/src/components/EntityJsonPreview.tsx +66 -0
- package/src/components/EntityPreview.tsx +83 -62
- package/src/components/EntityView.tsx +34 -42
- package/src/components/ErrorView.tsx +4 -4
- package/src/components/FireCMSLogo.tsx +7 -51
- package/src/components/HomePage/DefaultHomePage.tsx +516 -158
- package/src/components/HomePage/FavouritesView.tsx +9 -14
- package/src/components/HomePage/HomePageDnD.tsx +702 -0
- package/src/components/HomePage/NavigationCard.tsx +48 -39
- package/src/components/HomePage/NavigationCardBinding.tsx +17 -16
- package/src/components/HomePage/NavigationGroup.tsx +144 -30
- package/src/components/HomePage/RenameGroupDialog.tsx +123 -0
- package/src/components/HomePage/SmallNavigationCard.tsx +5 -6
- package/src/components/NotFoundPage.tsx +2 -2
- package/src/components/PropertyCollectionView.tsx +329 -0
- package/src/components/PropertyConfigBadge.tsx +10 -4
- package/src/components/PropertyIdCopyTooltip.tsx +47 -0
- package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +23 -13
- package/src/components/ReferenceWidget.tsx +21 -11
- package/src/components/SearchIconsView.tsx +10 -7
- package/src/components/SelectableTable/SelectableTable.tsx +157 -157
- package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +27 -9
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +36 -12
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +92 -24
- package/src/components/UnsavedChangesDialog.tsx +46 -0
- package/src/components/UserDisplay.tsx +55 -0
- package/src/components/VirtualTable/VirtualTable.tsx +105 -51
- package/src/components/VirtualTable/VirtualTableCell.tsx +1 -9
- package/src/components/VirtualTable/VirtualTableHeader.tsx +10 -10
- package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +2 -2
- package/src/components/VirtualTable/VirtualTableProps.tsx +28 -14
- package/src/components/VirtualTable/VirtualTableRow.tsx +5 -6
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +5 -5
- package/src/components/VirtualTable/fields/VirtualTableInput.tsx +2 -2
- package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +2 -1
- package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +16 -28
- package/src/components/VirtualTable/fields/VirtualTableUserSelect.tsx +99 -0
- package/src/components/VirtualTable/types.tsx +2 -3
- package/src/components/{EntityCollectionTable/internal → common}/default_entity_actions.tsx +64 -44
- package/src/components/common/index.ts +2 -1
- package/src/components/{VirtualTable/common.tsx → common/table_height.tsx} +5 -2
- package/src/components/common/types.tsx +4 -6
- package/src/components/common/useColumnsIds.tsx +16 -2
- package/src/components/common/useDataSourceTableController.tsx +420 -0
- package/src/components/common/useDebouncedCallback.tsx +20 -0
- package/src/components/common/useScrollRestoration.tsx +68 -0
- package/src/components/common/useTableSearchHelper.ts +53 -12
- package/src/components/index.tsx +6 -2
- package/src/contexts/BreacrumbsContext.tsx +38 -0
- package/src/contexts/DialogsProvider.tsx +5 -4
- package/src/contexts/InternalUserManagementContext.tsx +4 -0
- package/src/contexts/ModeController.tsx +1 -3
- package/src/contexts/SnackbarProvider.tsx +2 -0
- package/src/core/DefaultAppBar.tsx +219 -0
- package/src/core/DefaultDrawer.tsx +185 -0
- package/src/core/DrawerNavigationItem.tsx +66 -0
- package/src/core/EntityEditView.tsx +447 -469
- package/src/core/EntityEditViewFormActions.tsx +344 -0
- package/src/core/EntitySidePanel.tsx +96 -23
- package/src/core/FireCMS.tsx +85 -60
- package/src/core/FireCMSRouter.tsx +17 -0
- package/src/core/NavigationRoutes.tsx +28 -38
- package/src/core/SideDialogs.tsx +22 -12
- package/src/core/field_configs.tsx +41 -14
- package/src/core/index.tsx +6 -5
- package/src/form/EntityForm.tsx +740 -523
- package/src/form/EntityFormActions.tsx +226 -0
- package/src/form/PropertyFieldBinding.tsx +88 -41
- package/src/form/components/CustomIdField.tsx +9 -3
- package/src/form/components/ErrorFocus.tsx +22 -29
- package/src/form/components/FieldHelperText.tsx +4 -4
- package/src/form/components/FormEntry.tsx +22 -0
- package/src/form/components/FormLayout.tsx +16 -0
- package/src/form/components/LabelWithIcon.tsx +30 -19
- package/src/form/components/LabelWithIconAndTooltip.tsx +28 -0
- package/src/form/components/LocalChangesMenu.tsx +144 -0
- package/src/form/components/StorageItemPreview.tsx +23 -13
- package/src/form/components/StorageUploadProgress.tsx +5 -6
- package/src/form/components/index.tsx +3 -1
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +34 -19
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +50 -36
- package/src/form/field_bindings/BlockFieldBinding.tsx +56 -33
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +18 -14
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +61 -52
- package/src/form/field_bindings/MapFieldBinding.tsx +73 -55
- package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +159 -0
- package/src/form/field_bindings/{MultiSelectBinding.tsx → MultiSelectFieldBinding.tsx} +26 -21
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +11 -16
- package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +135 -0
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +42 -31
- package/src/form/field_bindings/RepeatFieldBinding.tsx +62 -35
- package/src/form/field_bindings/SelectFieldBinding.tsx +24 -15
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +257 -199
- package/src/form/field_bindings/SwitchFieldBinding.tsx +29 -24
- package/src/form/field_bindings/TextFieldBinding.tsx +28 -24
- package/src/form/field_bindings/UserSelectFieldBinding.tsx +94 -0
- package/src/form/index.tsx +21 -37
- package/src/form/useClearRestoreValue.tsx +2 -2
- package/src/form/validation.ts +13 -23
- package/src/hooks/data/delete.ts +6 -5
- package/src/hooks/data/save.ts +26 -33
- package/src/hooks/data/useCollectionFetch.tsx +3 -3
- package/src/hooks/data/useDataSource.tsx +11 -3
- package/src/hooks/data/useEntityFetch.tsx +10 -6
- package/src/hooks/index.tsx +4 -0
- package/src/hooks/useAuthController.tsx +1 -1
- package/src/hooks/useBreadcrumbsController.tsx +31 -0
- package/src/hooks/useBrowserTitleAndIcon.tsx +1 -1
- package/src/hooks/useBuildLocalConfigurationPersistence.tsx +8 -10
- package/src/hooks/useBuildModeController.tsx +22 -29
- package/src/hooks/useBuildNavigationController.tsx +515 -121
- package/src/hooks/useCollapsedGroups.ts +64 -0
- package/src/hooks/useFireCMSContext.tsx +9 -35
- package/src/hooks/useInternalUserManagementController.tsx +16 -0
- package/src/hooks/useLargeLayout.tsx +0 -35
- package/src/hooks/useModeController.tsx +1 -2
- package/src/hooks/useProjectLog.tsx +32 -10
- package/src/hooks/useResolvedNavigationFrom.tsx +10 -12
- package/src/hooks/useValidateAuthenticator.tsx +17 -37
- package/src/index.ts +1 -0
- package/src/internal/useBuildDataSource.ts +79 -85
- package/src/internal/useBuildSideDialogsController.tsx +4 -2
- package/src/internal/useBuildSideEntityController.tsx +204 -77
- package/src/internal/useUnsavedChangesDialog.tsx +127 -91
- package/src/preview/PropertyPreview.tsx +42 -25
- package/src/preview/PropertyPreviewProps.tsx +7 -1
- package/src/preview/components/BooleanPreview.tsx +2 -2
- package/src/preview/components/EmptyValue.tsx +1 -1
- package/src/preview/components/EnumValuesChip.tsx +2 -2
- package/src/preview/components/ImagePreview.tsx +26 -37
- package/src/preview/components/ReferencePreview.tsx +30 -38
- package/src/preview/components/StorageThumbnail.tsx +5 -1
- package/src/preview/components/UrlComponentPreview.tsx +60 -28
- package/src/preview/components/UserPreview.tsx +27 -0
- package/src/preview/index.ts +1 -0
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +6 -6
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +7 -5
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +5 -4
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +4 -4
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +7 -6
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +8 -7
- package/src/preview/property_previews/MapPropertyPreview.tsx +14 -13
- package/src/preview/property_previews/NumberPropertyPreview.tsx +2 -2
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +13 -13
- package/src/preview/property_previews/StringPropertyPreview.tsx +3 -3
- package/src/preview/util.ts +10 -10
- package/src/routes/CustomCMSRoute.tsx +21 -0
- package/src/routes/FireCMSRoute.tsx +246 -0
- package/src/routes/HomePageRoute.tsx +17 -0
- package/src/types/analytics.ts +3 -0
- package/src/types/auth.tsx +9 -13
- package/src/types/collections.ts +146 -30
- package/src/types/customization_controller.tsx +9 -1
- package/src/types/datasource.ts +61 -43
- package/src/types/dialogs_controller.tsx +7 -3
- package/src/types/entities.ts +19 -3
- package/src/types/entity_actions.tsx +86 -10
- package/src/types/entity_callbacks.ts +18 -18
- package/src/types/entity_overrides.tsx +2 -2
- package/src/types/export_import.ts +4 -4
- package/src/types/fields.tsx +91 -42
- package/src/types/firecms.tsx +34 -4
- package/src/types/firecms_context.tsx +18 -1
- package/src/types/index.ts +1 -1
- package/src/types/internal_user_management.ts +24 -0
- package/src/types/navigation.ts +77 -24
- package/src/types/permissions.ts +5 -5
- package/src/types/plugins.tsx +69 -15
- package/src/types/properties.ts +141 -33
- package/src/types/property_config.tsx +2 -2
- package/src/types/roles.ts +3 -0
- package/src/types/side_dialogs_controller.tsx +15 -0
- package/src/types/side_entity_controller.tsx +16 -1
- package/src/types/storage.ts +83 -1
- package/src/types/user.ts +3 -1
- package/src/util/builders.ts +10 -8
- package/src/util/callbacks.ts +119 -0
- package/src/util/collections.ts +8 -0
- package/src/util/createFormexStub.tsx +66 -0
- package/src/util/entities.ts +11 -8
- package/src/util/entity_actions.ts +28 -0
- package/src/util/entity_cache.ts +223 -0
- package/src/util/enums.ts +1 -1
- package/src/util/icon_list.ts +16 -10
- package/src/util/icon_synonyms.ts +3 -100
- package/src/util/icons.tsx +36 -11
- package/src/util/index.ts +3 -0
- package/src/util/join_collections.ts +11 -4
- package/src/util/make_properties_editable.ts +5 -19
- package/src/util/navigation_from_path.ts +33 -12
- package/src/util/navigation_utils.ts +141 -25
- package/src/util/objects.ts +128 -33
- package/src/util/parent_references_from_path.ts +3 -3
- package/src/util/permissions.ts +9 -8
- package/src/util/plurals.ts +0 -2
- package/src/util/property_utils.tsx +17 -6
- package/src/util/references.ts +19 -8
- package/src/util/resolutions.ts +122 -48
- package/src/util/storage.ts +79 -21
- package/src/util/strings.ts +2 -2
- package/src/util/useStorageUploadController.tsx +162 -62
- package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +0 -5
- package/dist/components/FireCMSAppBar.d.ts +0 -26
- package/dist/components/PropertyIdCopyTooltipContent.d.ts +0 -3
- package/dist/components/VirtualTable/common.d.ts +0 -2
- package/dist/core/Drawer.d.ts +0 -23
- package/dist/core/Scaffold.d.ts +0 -55
- package/dist/core/SideEntityView.d.ts +0 -7
- package/dist/form/components/FormikArrayContainer.d.ts +0 -18
- package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +0 -9
- package/dist/internal/useBuildCustomizationController.d.ts +0 -2
- package/dist/internal/useLocaleConfig.d.ts +0 -1
- package/dist/types/appcheck.d.ts +0 -26
- package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +0 -59
- package/src/components/FireCMSAppBar.tsx +0 -165
- package/src/components/PropertyIdCopyTooltipContent.tsx +0 -28
- package/src/components/common/useDataSourceEntityCollectionTableController.tsx +0 -225
- package/src/core/Drawer.tsx +0 -191
- package/src/core/Scaffold.tsx +0 -281
- package/src/core/SideEntityView.tsx +0 -38
- package/src/form/components/FormikArrayContainer.tsx +0 -44
- package/src/form/field_bindings/MarkdownFieldBinding.tsx +0 -695
- package/src/internal/useBuildCustomizationController.tsx +0 -5
- package/src/internal/useLocaleConfig.tsx +0 -18
- package/src/types/appcheck.ts +0 -29
- /package/src/util/{common.tsx → common.ts} +0 -0
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Compressor from "compressorjs";
|
|
2
2
|
import equal from "react-fast-compare";
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
|
+
ArrayProperty,
|
|
5
6
|
EntityValues,
|
|
6
|
-
|
|
7
|
+
ImageResize,
|
|
7
8
|
Property,
|
|
9
|
+
PropertyOrBuilder,
|
|
8
10
|
ResolvedArrayProperty,
|
|
9
11
|
ResolvedStringProperty,
|
|
10
12
|
StorageConfig,
|
|
@@ -14,7 +16,9 @@ import {
|
|
|
14
16
|
import { useCallback, useEffect, useState } from "react";
|
|
15
17
|
import { PreviewSize } from "../preview";
|
|
16
18
|
import { randomString } from "./strings";
|
|
17
|
-
import {
|
|
19
|
+
import { resolveStorageFilenameString, resolveStoragePathString } from "./storage";
|
|
20
|
+
import { resolveProperty } from "./resolutions";
|
|
21
|
+
import { useAuthController } from "../hooks";
|
|
18
22
|
|
|
19
23
|
/**
|
|
20
24
|
* Internal representation of an item in the storage
|
|
@@ -42,18 +46,19 @@ export function useStorageUploadController<M extends object>({
|
|
|
42
46
|
disabled,
|
|
43
47
|
onChange
|
|
44
48
|
}:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
{
|
|
50
|
+
entityId: string,
|
|
51
|
+
entityValues: EntityValues<M>,
|
|
52
|
+
value: string | string[] | null;
|
|
53
|
+
path?: string,
|
|
54
|
+
propertyKey: string,
|
|
55
|
+
property: StringProperty | ArrayProperty<string[]> | ResolvedStringProperty | ResolvedArrayProperty<string[]>,
|
|
56
|
+
storageSource: StorageSource,
|
|
57
|
+
disabled: boolean,
|
|
58
|
+
onChange: (value: string | string[] | null) => void
|
|
59
|
+
}) {
|
|
60
|
+
|
|
61
|
+
const authController = useAuthController();
|
|
57
62
|
const storage: StorageConfig | undefined = property.dataType === "string"
|
|
58
63
|
? property.storage
|
|
59
64
|
: property.dataType === "array" &&
|
|
@@ -66,22 +71,17 @@ export function useStorageUploadController<M extends object>({
|
|
|
66
71
|
if (!storage)
|
|
67
72
|
throw Error("Storage meta must be specified");
|
|
68
73
|
|
|
74
|
+
const processFile = storage?.processFile;
|
|
75
|
+
|
|
69
76
|
const metadata: Record<string, any> | undefined = storage?.metadata;
|
|
70
|
-
const size = multipleFilesSupported ? "
|
|
77
|
+
const size = multipleFilesSupported ? "medium" : "large";
|
|
71
78
|
|
|
72
|
-
|
|
79
|
+
// Support both new imageResize and deprecated imageCompression
|
|
80
|
+
const imageResize = storage?.imageResize;
|
|
81
|
+
const legacyCompression = storage?.imageCompression;
|
|
73
82
|
|
|
74
83
|
const internalInitialValue: StorageFieldItem[] =
|
|
75
|
-
(multipleFilesSupported
|
|
76
|
-
? (value ?? []) as string[]
|
|
77
|
-
: value ? [value as string] : []).map(entry => (
|
|
78
|
-
{
|
|
79
|
-
id: getRandomId(),
|
|
80
|
-
storagePathOrDownloadUrl: entry,
|
|
81
|
-
metadata,
|
|
82
|
-
size
|
|
83
|
-
}
|
|
84
|
-
));
|
|
84
|
+
getInternalInitialValue(multipleFilesSupported, value, metadata, size);
|
|
85
85
|
|
|
86
86
|
const [initialValue, setInitialValue] = useState<string | string[] | null>(value);
|
|
87
87
|
const [internalValue, setInternalValue] = useState<StorageFieldItem[]>(internalInitialValue);
|
|
@@ -93,20 +93,44 @@ export function useStorageUploadController<M extends object>({
|
|
|
93
93
|
}
|
|
94
94
|
}, [internalInitialValue, value, initialValue]);
|
|
95
95
|
|
|
96
|
+
const resolvedProperty = resolveProperty({
|
|
97
|
+
propertyOrBuilder: property as PropertyOrBuilder,
|
|
98
|
+
values: entityValues,
|
|
99
|
+
authController
|
|
100
|
+
}) as ResolvedStringProperty | ResolvedArrayProperty<string[]>;
|
|
101
|
+
|
|
96
102
|
const fileNameBuilder = useCallback(async (file: File) => {
|
|
97
103
|
if (storage.fileName) {
|
|
98
|
-
const fileName = await
|
|
104
|
+
const fileName = await resolveStorageFilenameString({
|
|
105
|
+
input: storage.fileName,
|
|
106
|
+
storage,
|
|
107
|
+
values: entityValues,
|
|
108
|
+
entityId,
|
|
109
|
+
path,
|
|
110
|
+
property: resolvedProperty,
|
|
111
|
+
file,
|
|
112
|
+
propertyKey
|
|
113
|
+
});
|
|
99
114
|
if (!fileName || fileName.length === 0) {
|
|
100
115
|
throw Error("You need to return a valid filename");
|
|
101
116
|
}
|
|
102
117
|
return fileName;
|
|
103
118
|
}
|
|
104
119
|
return randomString() + "_" + file.name;
|
|
105
|
-
}, [entityId, entityValues, path,
|
|
120
|
+
}, [entityId, entityValues, path, resolvedProperty, propertyKey, storage]);
|
|
106
121
|
|
|
107
122
|
const storagePathBuilder = useCallback((file: File) => {
|
|
108
|
-
return resolveStoragePathString(
|
|
109
|
-
|
|
123
|
+
return resolveStoragePathString({
|
|
124
|
+
input: storage.storagePath,
|
|
125
|
+
storage,
|
|
126
|
+
values: entityValues,
|
|
127
|
+
entityId,
|
|
128
|
+
path,
|
|
129
|
+
property: resolvedProperty,
|
|
130
|
+
file,
|
|
131
|
+
propertyKey
|
|
132
|
+
}) ?? "/";
|
|
133
|
+
}, [entityId, entityValues, path, resolvedProperty, propertyKey, storage]);
|
|
110
134
|
|
|
111
135
|
const onFileUploadComplete = useCallback(async (uploadedPath: string,
|
|
112
136
|
entry: StorageFieldItem,
|
|
@@ -147,17 +171,40 @@ export function useStorageUploadController<M extends object>({
|
|
|
147
171
|
}
|
|
148
172
|
}, [internalValue, multipleFilesSupported, onChange, storage, storageSource]);
|
|
149
173
|
|
|
174
|
+
const onFileUploadError = useCallback((entry: StorageFieldItem) => {
|
|
175
|
+
console.debug("onFileUploadError", entry);
|
|
176
|
+
|
|
177
|
+
// Remove the failed entry from internalValue
|
|
178
|
+
const newValue = internalValue.filter(item => item.id !== entry.id);
|
|
179
|
+
setInternalValue(newValue);
|
|
180
|
+
}, [internalValue]);
|
|
181
|
+
|
|
150
182
|
const onFilesAdded = useCallback(async (acceptedFiles: File[]) => {
|
|
151
183
|
|
|
152
184
|
if (!acceptedFiles.length || disabled)
|
|
153
185
|
return;
|
|
154
186
|
|
|
187
|
+
if (processFile) {
|
|
188
|
+
try {
|
|
189
|
+
acceptedFiles = await Promise.all(acceptedFiles.map(async file => {
|
|
190
|
+
const processedFile = await processFile(file);
|
|
191
|
+
if (!processedFile) {
|
|
192
|
+
return file;
|
|
193
|
+
}
|
|
194
|
+
return processedFile;
|
|
195
|
+
}));
|
|
196
|
+
} catch (e) {
|
|
197
|
+
console.error("Error processing file with custom code. Attempting to continue uploading.", e);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
155
201
|
let newInternalValue: StorageFieldItem[];
|
|
202
|
+
|
|
156
203
|
if (multipleFilesSupported) {
|
|
157
204
|
newInternalValue = [...internalValue,
|
|
158
205
|
...(await Promise.all(acceptedFiles.map(async file => {
|
|
159
|
-
if (
|
|
160
|
-
file = await
|
|
206
|
+
if ((imageResize || legacyCompression) && isImageFile(file)) {
|
|
207
|
+
file = await resizeImage(file, imageResize, legacyCompression);
|
|
161
208
|
}
|
|
162
209
|
|
|
163
210
|
return {
|
|
@@ -169,9 +216,9 @@ export function useStorageUploadController<M extends object>({
|
|
|
169
216
|
} as StorageFieldItem;
|
|
170
217
|
})))];
|
|
171
218
|
} else {
|
|
172
|
-
let file = acceptedFiles[0]
|
|
173
|
-
if (
|
|
174
|
-
file = await
|
|
219
|
+
let file = acceptedFiles[0];
|
|
220
|
+
if ((imageResize || legacyCompression) && isImageFile(file)) {
|
|
221
|
+
file = await resizeImage(file, imageResize, legacyCompression);
|
|
175
222
|
}
|
|
176
223
|
|
|
177
224
|
newInternalValue = [{
|
|
@@ -186,7 +233,7 @@ export function useStorageUploadController<M extends object>({
|
|
|
186
233
|
// Remove either storage path or file duplicates
|
|
187
234
|
newInternalValue = removeDuplicates(newInternalValue);
|
|
188
235
|
setInternalValue(newInternalValue);
|
|
189
|
-
}, [disabled, fileNameBuilder, internalValue, metadata, multipleFilesSupported, size]);
|
|
236
|
+
}, [disabled, fileNameBuilder, internalValue, metadata, multipleFilesSupported, size, imageResize, legacyCompression]);
|
|
190
237
|
|
|
191
238
|
return {
|
|
192
239
|
internalValue,
|
|
@@ -195,11 +242,38 @@ export function useStorageUploadController<M extends object>({
|
|
|
195
242
|
fileNameBuilder,
|
|
196
243
|
storagePathBuilder,
|
|
197
244
|
onFileUploadComplete,
|
|
245
|
+
onFileUploadError,
|
|
198
246
|
onFilesAdded,
|
|
199
247
|
multipleFilesSupported
|
|
200
248
|
}
|
|
201
249
|
}
|
|
202
250
|
|
|
251
|
+
function getInternalInitialValue(multipleFilesSupported: boolean,
|
|
252
|
+
value: string | string[] | null,
|
|
253
|
+
metadata: Record<string, any> | undefined,
|
|
254
|
+
size: PreviewSize): StorageFieldItem[] {
|
|
255
|
+
let strings: string[] = [];
|
|
256
|
+
if (multipleFilesSupported) {
|
|
257
|
+
if (Array.isArray(value) && value.every((v) => typeof v === "string")) {
|
|
258
|
+
strings = (value ?? []) as string[];
|
|
259
|
+
}
|
|
260
|
+
} else {
|
|
261
|
+
if (typeof value === "string") {
|
|
262
|
+
strings = value ? [value as string] : [];
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
return strings
|
|
267
|
+
.map(entry => (
|
|
268
|
+
{
|
|
269
|
+
id: getRandomId(),
|
|
270
|
+
storagePathOrDownloadUrl: entry,
|
|
271
|
+
metadata,
|
|
272
|
+
size
|
|
273
|
+
}
|
|
274
|
+
));
|
|
275
|
+
}
|
|
276
|
+
|
|
203
277
|
function removeDuplicates(items: StorageFieldItem[]) {
|
|
204
278
|
return items.filter(
|
|
205
279
|
(item, i) => {
|
|
@@ -213,31 +287,57 @@ function getRandomId() {
|
|
|
213
287
|
return Math.floor(Math.random() * Math.floor(Number.MAX_SAFE_INTEGER));
|
|
214
288
|
}
|
|
215
289
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
290
|
+
/**
|
|
291
|
+
* Check if a file is an image type supported for resizing
|
|
292
|
+
*/
|
|
293
|
+
function isImageFile(file: File): boolean {
|
|
294
|
+
return file.type === "image/jpeg" ||
|
|
295
|
+
file.type === "image/png" ||
|
|
296
|
+
file.type === "image/webp";
|
|
220
297
|
}
|
|
221
|
-
const compressionFormat = (file: File) => supportedTypes[file.type] ? supportedTypes[file.type] : null;
|
|
222
|
-
|
|
223
|
-
const defaultQuality = 100;
|
|
224
|
-
const resizeAndCompressImage = (file: File, compression: ImageCompression) => new Promise<File>((resolve) => {
|
|
225
298
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
299
|
+
/**
|
|
300
|
+
* Resize and compress an image using compressorjs.
|
|
301
|
+
* Supports both the new imageResize API and legacy imageCompression for backward compatibility.
|
|
302
|
+
*/
|
|
303
|
+
async function resizeImage(
|
|
304
|
+
file: File,
|
|
305
|
+
imageResize?: StorageConfig["imageResize"],
|
|
306
|
+
legacyCompression?: ImageResize
|
|
307
|
+
): Promise<File> {
|
|
308
|
+
// Determine configuration (new API takes precedence)
|
|
309
|
+
const maxWidth = imageResize?.maxWidth ?? legacyCompression?.maxWidth;
|
|
310
|
+
const maxHeight = imageResize?.maxHeight ?? legacyCompression?.maxHeight;
|
|
311
|
+
const quality = (imageResize?.quality ?? legacyCompression?.quality ?? 80) / 100;
|
|
312
|
+
const mode = imageResize?.mode ?? "contain";
|
|
313
|
+
|
|
314
|
+
// Determine output format
|
|
315
|
+
let mimeType = file.type;
|
|
316
|
+
if (imageResize?.format && imageResize.format !== "original") {
|
|
317
|
+
mimeType = `image/${imageResize.format}`;
|
|
232
318
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
319
|
+
|
|
320
|
+
return new Promise<File>((resolve, reject) => {
|
|
321
|
+
new Compressor(file, {
|
|
322
|
+
quality,
|
|
323
|
+
maxWidth,
|
|
324
|
+
maxHeight,
|
|
325
|
+
mimeType,
|
|
326
|
+
// Use cover mode if specified (crops to fit)
|
|
327
|
+
// Otherwise use contain mode (scales to fit)
|
|
328
|
+
...(mode === "cover" || mode === undefined ? {
|
|
329
|
+
width: maxWidth,
|
|
330
|
+
height: maxHeight,
|
|
331
|
+
resize: "cover" as const
|
|
332
|
+
} : {}),
|
|
333
|
+
success: (result) => {
|
|
334
|
+
const compressedFile = new File([result], file.name, {
|
|
335
|
+
type: result.type,
|
|
336
|
+
lastModified: Date.now(),
|
|
337
|
+
});
|
|
338
|
+
resolve(compressedFile);
|
|
339
|
+
},
|
|
340
|
+
error: reject,
|
|
341
|
+
});
|
|
342
|
+
});
|
|
343
|
+
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { User } from "../types";
|
|
3
|
-
export type FireCMSAppBarProps<ADDITIONAL_PROPS = object> = {
|
|
4
|
-
title: string;
|
|
5
|
-
/**
|
|
6
|
-
* A component that gets rendered on the upper side of the main toolbar
|
|
7
|
-
*/
|
|
8
|
-
endAdornment?: React.ReactNode;
|
|
9
|
-
startAdornment?: React.ReactNode;
|
|
10
|
-
dropDownActions?: React.ReactNode;
|
|
11
|
-
includeDrawer?: boolean;
|
|
12
|
-
drawerOpen: boolean;
|
|
13
|
-
className?: string;
|
|
14
|
-
style?: React.CSSProperties;
|
|
15
|
-
user?: User;
|
|
16
|
-
} & ADDITIONAL_PROPS;
|
|
17
|
-
/**
|
|
18
|
-
* This component renders the main app bar of FireCMS.
|
|
19
|
-
* You will likely not need to use this component directly.
|
|
20
|
-
*
|
|
21
|
-
* @param title
|
|
22
|
-
* @param toolbarExtraWidget
|
|
23
|
-
* @param drawerOpen
|
|
24
|
-
* @constructor
|
|
25
|
-
*/
|
|
26
|
-
export declare const FireCMSAppBar: ({ title, endAdornment, startAdornment, drawerOpen, dropDownActions, includeDrawer, className, style, user: userProp }: FireCMSAppBarProps) => import("react/jsx-runtime").JSX.Element;
|
package/dist/core/Drawer.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Props used in case you need to override the default drawer
|
|
4
|
-
* @group Core
|
|
5
|
-
*/
|
|
6
|
-
export type DrawerProps<T = {}> = T & {
|
|
7
|
-
hovered: boolean;
|
|
8
|
-
drawerOpen: boolean;
|
|
9
|
-
closeDrawer: () => any;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Default drawer used in the CMS
|
|
13
|
-
* @group Core
|
|
14
|
-
*/
|
|
15
|
-
export declare function Drawer({ hovered, drawerOpen, closeDrawer }: DrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
-
export declare function DrawerNavigationItem({ name, icon, drawerOpen, tooltipsOpen, url, onClick }: {
|
|
17
|
-
icon: React.ReactElement;
|
|
18
|
-
name: string;
|
|
19
|
-
tooltipsOpen: boolean;
|
|
20
|
-
drawerOpen: boolean;
|
|
21
|
-
url: string;
|
|
22
|
-
onClick?: () => void;
|
|
23
|
-
}): import("react/jsx-runtime").JSX.Element;
|
package/dist/core/Scaffold.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { DrawerProps } from "./Drawer";
|
|
3
|
-
import { FireCMSAppBarProps } from "../components";
|
|
4
|
-
export declare const DRAWER_WIDTH = 280;
|
|
5
|
-
/**
|
|
6
|
-
* @group Core
|
|
7
|
-
*/
|
|
8
|
-
export interface ScaffoldProps<ExtraDrawerProps = object, ExtraAppbarProps = object> {
|
|
9
|
-
/**
|
|
10
|
-
* Name of the app, displayed as the main title and in the tab title
|
|
11
|
-
*/
|
|
12
|
-
name: string;
|
|
13
|
-
/**
|
|
14
|
-
* Logo to be displayed in the drawer of the CMS
|
|
15
|
-
*/
|
|
16
|
-
logo?: string;
|
|
17
|
-
/**
|
|
18
|
-
* Whether to include the drawer in the scaffold
|
|
19
|
-
*/
|
|
20
|
-
includeDrawer?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* In case you need to override the view that gets rendered as a drawer
|
|
23
|
-
* @see DefaultDrawer
|
|
24
|
-
*/
|
|
25
|
-
Drawer?: React.ComponentType<DrawerProps<ExtraDrawerProps>>;
|
|
26
|
-
/**
|
|
27
|
-
* Additional props passed to the custom Drawer
|
|
28
|
-
*/
|
|
29
|
-
drawerProps?: Partial<DrawerProps> & ExtraDrawerProps;
|
|
30
|
-
/**
|
|
31
|
-
* Open the drawer on hover
|
|
32
|
-
*/
|
|
33
|
-
autoOpenDrawer?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* A component that gets rendered on the upper side of the main toolbar.
|
|
36
|
-
* `toolbarExtraWidget` has no effect if this is set.
|
|
37
|
-
*/
|
|
38
|
-
FireCMSAppBar?: React.ComponentType<FireCMSAppBarProps<ExtraAppbarProps>>;
|
|
39
|
-
/**
|
|
40
|
-
* Additional props passed to the custom AppBar
|
|
41
|
-
*/
|
|
42
|
-
fireCMSAppBarProps?: Partial<FireCMSAppBarProps> & ExtraAppbarProps;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* This view acts as a scaffold for FireCMS.
|
|
46
|
-
*
|
|
47
|
-
* It is in charge of displaying the navigation drawer, top bar and main
|
|
48
|
-
* collection views.
|
|
49
|
-
* This component needs a parent {@link FireCMS}
|
|
50
|
-
*
|
|
51
|
-
* @param props
|
|
52
|
-
* @constructor
|
|
53
|
-
* @group Core
|
|
54
|
-
*/
|
|
55
|
-
export declare const Scaffold: React.NamedExoticComponent<React.PropsWithChildren<ScaffoldProps<object, object>>>;
|
|
@@ -1,7 +0,0 @@
|
|
|
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;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
interface ArrayContainerProps<T> {
|
|
3
|
-
value: T[];
|
|
4
|
-
name: string;
|
|
5
|
-
addLabel: string;
|
|
6
|
-
buildEntry: (index: number, internalId: number) => React.ReactNode;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
small?: boolean;
|
|
9
|
-
onInternalIdAdded?: (id: number) => void;
|
|
10
|
-
includeAddButton?: boolean;
|
|
11
|
-
newDefaultEntry?: T | null;
|
|
12
|
-
setFieldValue: (field: string, value: any, shouldValidate?: boolean | undefined) => void;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* @group Form custom fields
|
|
16
|
-
*/
|
|
17
|
-
export declare function FormikArrayContainer<T>({ name, addLabel, value, disabled, buildEntry, small, onInternalIdAdded, includeAddButton, newDefaultEntry, setFieldValue }: ArrayContainerProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { FieldProps } from "../../types";
|
|
2
|
-
/**
|
|
3
|
-
* Render a markdown field that allows edition and seeing the preview.
|
|
4
|
-
*
|
|
5
|
-
* This is one of the internal components that get mapped natively inside forms
|
|
6
|
-
* and tables to the specified properties.
|
|
7
|
-
* @group Form fields
|
|
8
|
-
*/
|
|
9
|
-
export declare function MarkdownFieldBinding({ propertyKey, value, setValue, error, showError, disabled, autoFocus, touched, property, tableMode, includeDescription, context }: FieldProps<string>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function useLocaleConfig(locale?: string): void;
|
package/dist/types/appcheck.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { FirebaseApp } from "firebase/app";
|
|
2
|
-
/**
|
|
3
|
-
* @group Firebase
|
|
4
|
-
*/
|
|
5
|
-
export interface AppCheck {
|
|
6
|
-
firebaseApp?: FirebaseApp;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* @group Firebase
|
|
10
|
-
*/
|
|
11
|
-
export interface AppCheckOptions {
|
|
12
|
-
providerKey: string;
|
|
13
|
-
useEnterpriseRecaptcha: boolean;
|
|
14
|
-
isTokenAutoRefreshEnabled?: boolean;
|
|
15
|
-
debugToken?: string;
|
|
16
|
-
forceRefresh?: boolean;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* @group Firebase
|
|
20
|
-
*/
|
|
21
|
-
export declare interface AppCheckTokenResult {
|
|
22
|
-
/**
|
|
23
|
-
* The token string in JWT format.
|
|
24
|
-
*/
|
|
25
|
-
readonly token: string;
|
|
26
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { RefObject, useCallback, useEffect, useRef } from "react";
|
|
2
|
-
|
|
3
|
-
interface Props {
|
|
4
|
-
onResize: (event: Event) => void;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export const ElementResizeListener: React.FC<Props> = ({ onResize }) => {
|
|
8
|
-
const rafRef = useRef(0);
|
|
9
|
-
const objectRef: RefObject<HTMLObjectElement> = useRef(null);
|
|
10
|
-
const onResizeRef = useRef(onResize);
|
|
11
|
-
|
|
12
|
-
onResizeRef.current = onResize;
|
|
13
|
-
|
|
14
|
-
const _onResize = useCallback((e: Event) => {
|
|
15
|
-
if (rafRef.current) {
|
|
16
|
-
cancelAnimationFrame(rafRef.current);
|
|
17
|
-
}
|
|
18
|
-
rafRef.current = requestAnimationFrame(() => {
|
|
19
|
-
onResizeRef.current(e);
|
|
20
|
-
});
|
|
21
|
-
}, []);
|
|
22
|
-
|
|
23
|
-
const onLoad = useCallback(() => {
|
|
24
|
-
const obj = objectRef.current;
|
|
25
|
-
if (obj && obj.contentDocument && obj.contentDocument.defaultView) {
|
|
26
|
-
obj.contentDocument.defaultView.addEventListener("resize", _onResize);
|
|
27
|
-
}
|
|
28
|
-
}, [_onResize]);
|
|
29
|
-
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
const obj = objectRef.current;
|
|
32
|
-
return () => {
|
|
33
|
-
if (obj && obj.contentDocument && obj.contentDocument.defaultView) {
|
|
34
|
-
obj.contentDocument.defaultView.removeEventListener("resize", _onResize);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}, [_onResize]);
|
|
38
|
-
|
|
39
|
-
return (
|
|
40
|
-
<object
|
|
41
|
-
onLoad={onLoad}
|
|
42
|
-
ref={objectRef}
|
|
43
|
-
tabIndex={-1}
|
|
44
|
-
type={"text/html"}
|
|
45
|
-
data={"about:blank"}
|
|
46
|
-
title={""}
|
|
47
|
-
style={{
|
|
48
|
-
position: "absolute",
|
|
49
|
-
top: 0,
|
|
50
|
-
left: 0,
|
|
51
|
-
height: "100%",
|
|
52
|
-
width: "100%",
|
|
53
|
-
pointerEvents: "none",
|
|
54
|
-
zIndex: -1,
|
|
55
|
-
opacity: 0
|
|
56
|
-
}}
|
|
57
|
-
/>
|
|
58
|
-
);
|
|
59
|
-
};
|