@firecms/core 3.0.0-alpha.8 → 3.0.0-alpha.80
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 +1 -1
- package/dist/components/ArrayContainer.d.ts +42 -0
- package/dist/components/CircularProgressCenter.d.ts +11 -0
- package/dist/components/DeleteConfirmationDialog.d.ts +9 -0
- package/dist/components/DeleteEntityDialog.d.ts +12 -0
- package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +35 -0
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +30 -0
- package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +106 -0
- package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +18 -0
- package/dist/components/EntityCollectionTable/SimpleEntityCollectionTable.d.ts +95 -0
- package/dist/components/EntityCollectionTable/column_utils.d.ts +16 -0
- package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +15 -0
- package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
- package/dist/components/EntityCollectionTable/filters/BooleanFilterField.d.ts +9 -0
- package/dist/components/EntityCollectionTable/filters/DateTimeFilterField.d.ts +11 -0
- package/dist/components/EntityCollectionTable/filters/ReferenceFilterField.d.ts +14 -0
- package/dist/components/EntityCollectionTable/filters/StringNumberFilterField.d.ts +13 -0
- package/dist/components/EntityCollectionTable/index.d.ts +8 -0
- package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
- package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
- package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
- package/dist/components/EntityCollectionTable/internal/common.d.ts +4 -0
- package/dist/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
- package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
- package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
- package/dist/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
- package/dist/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
- package/dist/components/EntityCollectionTable/types.d.ts +53 -0
- package/dist/components/EntityCollectionTable/useDataSourceEntityCollectionTableController.d.ts +32 -0
- package/dist/components/EntityCollectionTable/useDebouncedData.d.ts +9 -0
- package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +37 -0
- package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
- package/dist/components/EntityCollectionView/useColumnsIds.d.ts +4 -0
- package/dist/components/EntityPreview.d.ts +11 -0
- package/dist/components/ErrorBoundary.d.ts +11 -0
- package/dist/components/ErrorTooltip.d.ts +2 -0
- package/dist/components/ErrorView.d.ts +19 -0
- package/dist/components/FieldConfigBadge.d.ts +4 -0
- package/dist/components/FireCMSAppBar.d.ts +26 -0
- package/dist/components/FireCMSLogo.d.ts +7 -0
- package/dist/components/HomePage/DefaultHomePage.d.ts +21 -0
- package/dist/components/HomePage/FavouritesView.d.ts +3 -0
- package/dist/components/HomePage/NavigationCollectionCard.d.ts +17 -0
- package/dist/components/HomePage/NavigationGroup.d.ts +4 -0
- package/dist/components/HomePage/index.d.ts +3 -0
- package/dist/components/LabelWithIcon.d.ts +14 -0
- package/dist/components/NotFoundPage.d.ts +1 -0
- package/dist/components/ReferenceSelectionInner.d.ts +58 -0
- package/dist/components/ReferenceWidget.d.ts +28 -0
- package/dist/components/SearchIconsView.d.ts +5 -0
- package/dist/components/VirtualTable/VirtualTable.d.ts +11 -0
- package/dist/components/VirtualTable/VirtualTableCell.d.ts +14 -0
- package/dist/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
- package/dist/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
- package/dist/components/VirtualTable/VirtualTableProps.d.ts +214 -0
- package/dist/components/VirtualTable/VirtualTableRow.d.ts +3 -0
- package/dist/components/VirtualTable/common.d.ts +2 -0
- package/dist/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
- package/dist/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
- package/dist/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
- package/dist/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
- package/dist/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
- package/dist/components/VirtualTable/index.d.ts +2 -0
- package/dist/components/VirtualTable/types.d.ts +34 -0
- package/dist/components/index.d.ts +21 -0
- package/dist/contexts/AuthControllerContext.d.ts +3 -0
- package/dist/contexts/DataSourceContext.d.ts +3 -0
- package/dist/contexts/DialogsProvider.d.ts +4 -0
- package/dist/contexts/ModeController.d.ts +4 -0
- package/dist/contexts/NavigationContext.d.ts +3 -0
- package/dist/contexts/SideDialogsControllerContext.d.ts +3 -0
- package/dist/contexts/SideEntityControllerContext.d.ts +3 -0
- package/dist/contexts/SnackbarProvider.d.ts +2 -0
- package/dist/contexts/StorageSourceContext.d.ts +3 -0
- package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
- package/dist/contexts/index.d.ts +3 -0
- package/dist/core/Drawer.d.ts +23 -0
- package/dist/core/EntitySidePanel.d.ts +10 -0
- package/dist/core/FireCMS.d.ts +14 -0
- package/dist/core/NavigationRoutes.d.ts +21 -0
- package/dist/core/Scaffold.d.ts +52 -0
- package/dist/core/SideDialogs.d.ts +23 -0
- package/dist/core/field_configs.d.ts +7 -0
- package/dist/core/index.d.ts +10 -0
- package/dist/core/useBuildLocalConfigurationPersistence.d.ts +2 -0
- package/dist/core/useBuildModeController.d.ts +6 -0
- package/dist/form/EntityForm.d.ts +75 -0
- package/dist/form/PropertyFieldBinding.d.ts +30 -0
- package/dist/form/components/CustomIdField.d.ts +9 -0
- package/dist/form/components/ErrorFocus.d.ts +4 -0
- package/dist/form/components/FieldHelperText.d.ts +12 -0
- package/dist/form/components/FormikArrayContainer.d.ts +18 -0
- package/dist/form/components/StorageItemPreview.d.ts +13 -0
- package/dist/form/components/StorageUploadProgress.d.ts +10 -0
- package/dist/form/components/SubmitListener.d.ts +1 -0
- package/dist/form/components/SwitchControl.d.ts +8 -0
- package/dist/form/components/index.d.ts +3 -0
- package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
- package/dist/form/field_bindings/BlockFieldBinding.d.ts +10 -0
- package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
- package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
- package/dist/form/field_bindings/MapFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/MultiSelectBinding.d.ts +9 -0
- package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
- package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
- package/dist/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
- package/dist/form/field_bindings/SelectFieldBinding.d.ts +12 -0
- package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +28 -0
- package/dist/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
- package/dist/form/field_bindings/TextFieldBinding.d.ts +12 -0
- package/dist/form/index.d.ts +20 -0
- package/dist/form/useClearRestoreValue.d.ts +13 -0
- package/dist/form/validation.d.ts +25 -0
- package/dist/hooks/data/delete.d.ts +37 -0
- package/dist/hooks/data/save.d.ts +42 -0
- package/dist/hooks/data/useCollectionFetch.d.ts +50 -0
- package/dist/hooks/data/useDataOrder.d.ts +12 -0
- package/dist/hooks/data/useDataSource.d.ts +6 -0
- package/dist/hooks/data/useEntityFetch.d.ts +28 -0
- package/dist/hooks/index.d.ts +19 -0
- package/dist/hooks/useAuthController.d.ts +11 -0
- package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
- package/dist/hooks/useClipboard.d.ts +57 -0
- package/dist/hooks/useDialogsController.d.ts +11 -0
- package/dist/hooks/useFireCMSContext.d.ts +12 -0
- package/dist/hooks/useLargeLayout.d.ts +1 -0
- package/dist/hooks/useModeController.d.ts +20 -0
- package/dist/hooks/useNavigationController.d.ts +9 -0
- package/dist/hooks/useReferenceDialog.d.ts +18 -0
- package/dist/hooks/useResolvedNavigationFrom.d.ts +72 -0
- package/dist/hooks/useSideDialogsController.d.ts +18 -0
- package/dist/hooks/useSideEntityController.d.ts +12 -0
- package/dist/hooks/useSnackbarController.d.ts +41 -0
- package/dist/hooks/useStorageSource.d.ts +6 -0
- package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
- package/dist/hooks/useVerifyLicense.d.ts +0 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.es.js +15810 -26791
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +5 -1027
- package/dist/index.umd.js.map +1 -1
- package/dist/internal/EntityView.d.ts +22 -0
- package/dist/internal/common.d.ts +3 -0
- package/dist/internal/useBuildDataSource.d.ts +22 -0
- package/dist/internal/useBuildNavigationController.d.ts +14 -0
- package/dist/internal/useBuildSideDialogsController.d.ts +2 -0
- package/dist/internal/useBuildSideEntityController.d.ts +4 -0
- package/dist/internal/useLocaleConfig.d.ts +1 -0
- package/dist/internal/useRestoreScroll.d.ts +6 -0
- package/dist/internal/useUnsavedChangesDialog.d.ts +14 -0
- package/dist/preview/PropertyPreview.d.ts +7 -0
- package/dist/preview/PropertyPreviewProps.d.ts +43 -0
- package/dist/preview/components/ArrayEnumPreview.d.ts +11 -0
- package/dist/preview/components/AsyncPreviewComponent.d.ts +11 -0
- package/dist/preview/components/BooleanPreview.d.ts +7 -0
- package/dist/preview/components/DatePreview.d.ts +7 -0
- package/dist/preview/components/EmptyValue.d.ts +4 -0
- package/dist/preview/components/EnumValuesChip.d.ts +13 -0
- package/dist/preview/components/ImagePreview.d.ts +12 -0
- package/dist/preview/components/ReferencePreview.d.ts +22 -0
- package/dist/preview/components/StorageThumbnail.d.ts +13 -0
- package/dist/preview/components/UrlComponentPreview.d.ts +12 -0
- package/dist/preview/index.d.ts +23 -0
- package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
- package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
- package/dist/preview/property_previews/MapPropertyPreview.d.ts +8 -0
- package/dist/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
- package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
- package/dist/preview/property_previews/StringPropertyPreview.d.ts +6 -0
- package/dist/preview/util.d.ts +7 -0
- package/dist/types/analytics.d.ts +1 -0
- package/dist/types/appcheck.d.ts +26 -0
- package/dist/types/auth.d.ts +40 -0
- package/dist/types/collections.d.ts +451 -0
- package/dist/types/datasource.d.ts +262 -0
- package/dist/types/dialogs_controller.d.ts +32 -0
- package/dist/types/entities.d.ts +57 -0
- package/dist/types/entity_actions.d.ts +35 -0
- package/dist/types/entity_callbacks.d.ts +171 -0
- package/dist/types/entity_link_builder.d.ts +7 -0
- package/dist/types/export_import.d.ts +21 -0
- package/dist/types/fields.d.ts +181 -0
- package/dist/types/firecms.d.ts +151 -0
- package/dist/types/firecms_context.d.ts +110 -0
- package/dist/types/index.d.ts +26 -0
- package/dist/types/local_config_persistence.d.ts +21 -0
- package/dist/types/locales.d.ts +4 -0
- package/dist/types/modify_collections.d.ts +5 -0
- package/dist/types/navigation.d.ts +178 -0
- package/dist/types/permissions.d.ts +63 -0
- package/dist/types/plugins.d.ts +181 -0
- package/dist/types/properties.d.ts +681 -0
- package/dist/types/property_config.d.ts +42 -0
- package/dist/types/resolved_entities.d.ts +98 -0
- package/dist/types/side_dialogs_controller.d.ts +57 -0
- package/dist/types/side_entity_controller.d.ts +83 -0
- package/dist/types/storage.d.ts +82 -0
- package/dist/types/user.d.ts +36 -0
- package/dist/util/arrays.d.ts +1 -0
- package/dist/util/builders.d.ts +64 -0
- package/dist/util/collections.d.ts +3 -0
- package/dist/util/common.d.ts +2 -0
- package/dist/util/dates.d.ts +1 -0
- package/dist/util/entities.d.ts +28 -0
- package/dist/util/enums.d.ts +7 -0
- package/dist/util/flatten_object.d.ts +3 -0
- package/dist/util/hash.d.ts +1 -0
- package/dist/util/icon_list.d.ts +1 -0
- package/dist/util/icon_synonyms.d.ts +1950 -0
- package/dist/util/icons.d.ts +4 -0
- package/dist/util/index.d.ts +22 -0
- package/dist/util/join_collections.d.ts +9 -0
- package/dist/util/make_properties_editable.d.ts +3 -0
- package/dist/util/navigation_from_path.d.ts +24 -0
- package/dist/util/navigation_utils.d.ts +20 -0
- package/dist/util/objects.d.ts +10 -0
- package/dist/util/os.d.ts +2 -0
- package/dist/util/parent_references_from_path.d.ts +6 -0
- package/dist/util/paths.d.ts +14 -0
- package/dist/util/permissions.d.ts +5 -0
- package/dist/util/plurals.d.ts +18 -0
- package/dist/util/property_utils.d.ts +23 -0
- package/dist/util/references.d.ts +2 -0
- package/dist/util/regexp.d.ts +7 -0
- package/dist/util/resolutions.d.ts +64 -0
- package/dist/util/storage.d.ts +3 -0
- package/dist/util/strings.d.ts +6 -0
- package/dist/util/useDebounce.d.ts +1 -0
- package/dist/util/useStorageUploadController.d.ts +36 -0
- package/dist/util/useTraceUpdate.d.ts +1 -0
- package/package.json +112 -142
- package/src/components/ArrayContainer.tsx +369 -0
- package/src/components/CircularProgressCenter.tsx +26 -0
- package/src/components/DeleteConfirmationDialog.tsx +47 -0
- package/src/components/DeleteEntityDialog.tsx +207 -0
- package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +174 -0
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +496 -0
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +150 -0
- package/src/components/EntityCollectionTable/PropertyTableCell.tsx +461 -0
- package/src/components/EntityCollectionTable/SimpleEntityCollectionTable.tsx +369 -0
- package/src/components/EntityCollectionTable/column_utils.tsx +74 -0
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +159 -0
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +313 -0
- package/src/components/EntityCollectionTable/filters/BooleanFilterField.tsx +49 -0
- package/src/components/EntityCollectionTable/filters/DateTimeFilterField.tsx +109 -0
- package/src/components/EntityCollectionTable/filters/ReferenceFilterField.tsx +187 -0
- package/src/components/EntityCollectionTable/filters/StringNumberFilterField.tsx +159 -0
- package/src/components/EntityCollectionTable/index.tsx +20 -0
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +113 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +257 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +70 -0
- package/src/components/EntityCollectionTable/internal/common.tsx +70 -0
- package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +122 -0
- package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +59 -0
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +401 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +97 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
- package/src/components/EntityCollectionTable/types.tsx +58 -0
- package/src/components/EntityCollectionTable/useDataSourceEntityCollectionTableController.tsx +225 -0
- package/src/components/EntityCollectionTable/useDebouncedData.ts +49 -0
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +815 -0
- package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +131 -0
- package/src/components/EntityCollectionView/useColumnsIds.tsx +100 -0
- package/src/components/EntityPreview.tsx +83 -0
- package/src/components/ErrorBoundary.tsx +40 -0
- package/src/components/ErrorTooltip.tsx +11 -0
- package/src/components/ErrorView.tsx +52 -0
- package/src/components/FieldConfigBadge.tsx +17 -0
- package/src/components/FireCMSAppBar.tsx +157 -0
- package/src/components/FireCMSLogo.tsx +73 -0
- package/src/components/HomePage/DefaultHomePage.tsx +209 -0
- package/src/components/HomePage/FavouritesView.tsx +64 -0
- package/src/components/HomePage/NavigationCollectionCard.tsx +145 -0
- package/src/components/HomePage/NavigationGroup.tsx +39 -0
- package/src/components/HomePage/index.tsx +3 -0
- package/src/components/LabelWithIcon.tsx +33 -0
- package/src/components/NotFoundPage.tsx +25 -0
- package/src/components/ReferenceSelectionInner.tsx +364 -0
- package/src/components/ReferenceWidget.tsx +145 -0
- package/src/components/SearchIconsView.tsx +75 -0
- package/src/components/VirtualTable/VirtualTable.tsx +402 -0
- package/src/components/VirtualTable/VirtualTableCell.tsx +32 -0
- package/src/components/VirtualTable/VirtualTableHeader.tsx +260 -0
- package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +131 -0
- package/src/components/VirtualTable/VirtualTableProps.tsx +269 -0
- package/src/components/VirtualTable/VirtualTableRow.tsx +53 -0
- package/src/components/VirtualTable/common.tsx +18 -0
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +37 -0
- package/src/components/VirtualTable/fields/VirtualTableInput.tsx +91 -0
- package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +82 -0
- package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +130 -0
- package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
- package/src/components/VirtualTable/index.tsx +2 -0
- package/src/components/VirtualTable/types.tsx +44 -0
- package/src/components/index.tsx +31 -0
- package/src/contexts/AuthControllerContext.tsx +4 -0
- package/src/contexts/DataSourceContext.tsx +4 -0
- package/src/contexts/DialogsProvider.tsx +52 -0
- package/src/contexts/ModeController.tsx +13 -0
- package/src/contexts/NavigationContext.tsx +4 -0
- package/src/contexts/SideDialogsControllerContext.tsx +4 -0
- package/src/contexts/SideEntityControllerContext.tsx +4 -0
- package/src/contexts/SnackbarProvider.tsx +12 -0
- package/src/contexts/StorageSourceContext.tsx +4 -0
- package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
- package/src/contexts/index.ts +3 -0
- package/src/core/Drawer.tsx +161 -0
- package/src/core/EntitySidePanel.tsx +89 -0
- package/src/core/FireCMS.tsx +184 -0
- package/src/core/NavigationRoutes.tsx +118 -0
- package/src/core/Scaffold.tsx +278 -0
- package/src/core/SideDialogs.tsx +156 -0
- package/src/core/field_configs.tsx +400 -0
- package/src/core/index.tsx +14 -0
- package/src/core/useBuildLocalConfigurationPersistence.tsx +67 -0
- package/src/core/useBuildModeController.tsx +60 -0
- package/src/form/EntityForm.tsx +646 -0
- package/src/form/PropertyFieldBinding.tsx +313 -0
- package/src/form/components/CustomIdField.tsx +124 -0
- package/src/form/components/ErrorFocus.tsx +51 -0
- package/src/form/components/FieldHelperText.tsx +58 -0
- package/src/form/components/FormikArrayContainer.tsx +44 -0
- package/src/form/components/StorageItemPreview.tsx +66 -0
- package/src/form/components/StorageUploadProgress.tsx +104 -0
- package/src/form/components/SubmitListener.tsx +32 -0
- package/src/form/components/SwitchControl.tsx +39 -0
- package/src/form/components/index.tsx +3 -0
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +88 -0
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +153 -0
- package/src/form/field_bindings/BlockFieldBinding.tsx +245 -0
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +67 -0
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +560 -0
- package/src/form/field_bindings/MapFieldBinding.tsx +136 -0
- package/src/form/field_bindings/MarkdownFieldBinding.tsx +696 -0
- package/src/form/field_bindings/MultiSelectBinding.tsx +115 -0
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +70 -0
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +122 -0
- package/src/form/field_bindings/RepeatFieldBinding.tsx +103 -0
- package/src/form/field_bindings/SelectFieldBinding.tsx +100 -0
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +438 -0
- package/src/form/field_bindings/SwitchFieldBinding.tsx +61 -0
- package/src/form/field_bindings/TextFieldBinding.tsx +108 -0
- package/src/form/index.tsx +42 -0
- package/src/form/useClearRestoreValue.tsx +35 -0
- package/src/form/validation.ts +413 -0
- package/src/hooks/data/delete.ts +101 -0
- package/src/hooks/data/save.ts +165 -0
- package/src/hooks/data/useCollectionFetch.tsx +162 -0
- package/src/hooks/data/useDataOrder.ts +26 -0
- package/src/hooks/data/useDataSource.tsx +9 -0
- package/src/hooks/data/useEntityFetch.tsx +129 -0
- package/src/hooks/index.tsx +23 -0
- package/src/hooks/useAuthController.tsx +14 -0
- package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
- package/src/hooks/useClipboard.tsx +158 -0
- package/src/hooks/useDialogsController.tsx +14 -0
- package/src/hooks/useFireCMSContext.tsx +50 -0
- package/src/hooks/useLargeLayout.tsx +97 -0
- package/src/hooks/useModeController.tsx +24 -0
- package/src/hooks/useNavigationController.tsx +12 -0
- package/src/hooks/useReferenceDialog.tsx +56 -0
- package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
- package/src/hooks/useSideDialogsController.tsx +21 -0
- package/src/hooks/useSideEntityController.tsx +15 -0
- package/src/hooks/useSnackbarController.tsx +76 -0
- package/src/hooks/useStorageSource.tsx +9 -0
- package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
- package/src/hooks/useVerifyLicense.tsx +1 -0
- package/src/index.ts +8 -0
- package/src/internal/EntityView.tsx +576 -0
- package/src/internal/common.tsx +5 -0
- package/src/internal/useBuildDataSource.ts +358 -0
- package/src/internal/useBuildNavigationController.tsx +371 -0
- package/src/internal/useBuildSideDialogsController.tsx +126 -0
- package/src/internal/useBuildSideEntityController.tsx +172 -0
- package/src/internal/useLocaleConfig.tsx +18 -0
- package/src/internal/useRestoreScroll.tsx +48 -0
- package/src/internal/useUnsavedChangesDialog.tsx +106 -0
- package/src/preview/PropertyPreview.tsx +222 -0
- package/src/preview/PropertyPreviewProps.tsx +59 -0
- package/src/preview/components/ArrayEnumPreview.tsx +39 -0
- package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
- package/src/preview/components/BooleanPreview.tsx +11 -0
- package/src/preview/components/DatePreview.tsx +27 -0
- package/src/preview/components/EmptyValue.tsx +10 -0
- package/src/preview/components/EnumValuesChip.tsx +38 -0
- package/src/preview/components/ImagePreview.tsx +106 -0
- package/src/preview/components/ReferencePreview.tsx +249 -0
- package/src/preview/components/StorageThumbnail.tsx +84 -0
- package/src/preview/components/UrlComponentPreview.tsx +79 -0
- package/src/preview/index.ts +27 -0
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +82 -0
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +52 -0
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +54 -0
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +55 -0
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
- package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +28 -0
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +68 -0
- package/src/preview/property_previews/MapPropertyPreview.tsx +146 -0
- package/src/preview/property_previews/NumberPropertyPreview.tsx +27 -0
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +283 -0
- package/src/preview/property_previews/StringPropertyPreview.tsx +59 -0
- package/src/preview/util.ts +31 -0
- package/src/types/analytics.ts +34 -0
- package/src/types/appcheck.ts +29 -0
- package/src/types/auth.tsx +49 -0
- package/src/types/collections.ts +530 -0
- package/src/types/datasource.ts +389 -0
- package/src/types/dialogs_controller.tsx +33 -0
- package/src/types/entities.ts +76 -0
- package/src/types/entity_actions.tsx +39 -0
- package/src/types/entity_callbacks.ts +209 -0
- package/src/types/entity_link_builder.ts +8 -0
- package/src/types/export_import.ts +26 -0
- package/src/types/fields.tsx +220 -0
- package/src/types/firecms.tsx +175 -0
- package/src/types/firecms_context.tsx +128 -0
- package/src/types/index.ts +26 -0
- package/src/types/local_config_persistence.tsx +23 -0
- package/src/types/locales.ts +81 -0
- package/src/types/modify_collections.tsx +6 -0
- package/src/types/navigation.ts +214 -0
- package/src/types/permissions.ts +76 -0
- package/src/types/plugins.tsx +219 -0
- package/src/types/properties.ts +851 -0
- package/src/types/property_config.tsx +72 -0
- package/src/types/resolved_entities.ts +148 -0
- package/src/types/side_dialogs_controller.tsx +68 -0
- package/src/types/side_entity_controller.tsx +96 -0
- package/src/types/storage.ts +96 -0
- package/src/types/user.ts +37 -0
- package/src/util/arrays.ts +3 -0
- package/src/util/builders.ts +139 -0
- package/src/util/collections.ts +50 -0
- package/src/util/common.tsx +2 -0
- package/src/util/dates.ts +1 -0
- package/src/util/entities.ts +196 -0
- package/src/util/enums.ts +56 -0
- package/src/util/flatten_object.ts +45 -0
- package/src/util/hash.ts +11 -0
- package/src/util/icon_list.ts +17 -0
- package/src/util/icon_synonyms.ts +1950 -0
- package/src/util/icons.tsx +45 -0
- package/src/util/index.ts +22 -0
- package/src/util/join_collections.ts +172 -0
- package/src/util/make_properties_editable.ts +29 -0
- package/src/util/navigation_from_path.ts +107 -0
- package/src/util/navigation_utils.ts +111 -0
- package/src/util/objects.ts +168 -0
- package/src/util/os.ts +13 -0
- package/src/util/parent_references_from_path.ts +56 -0
- package/src/util/paths.ts +27 -0
- package/src/util/permissions.ts +80 -0
- package/src/util/plurals.ts +190 -0
- package/src/util/property_utils.tsx +130 -0
- package/src/util/references.ts +20 -0
- package/src/util/regexp.ts +32 -0
- package/src/util/resolutions.ts +399 -0
- package/src/util/storage.ts +92 -0
- package/src/util/strings.ts +62 -0
- package/src/util/useDebounce.ts +25 -0
- package/src/util/useStorageUploadController.tsx +243 -0
- package/src/util/useTraceUpdate.tsx +23 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { WhereFilterOp } from "../../types";
|
|
3
|
+
import { FilterFormFieldProps } from "./VirtualTableHeader";
|
|
4
|
+
export type OnRowClickParams<T extends Record<string, any>> = {
|
|
5
|
+
rowData: T;
|
|
6
|
+
rowIndex: number;
|
|
7
|
+
event: React.SyntheticEvent;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* @see Table
|
|
11
|
+
* @group Components
|
|
12
|
+
*/
|
|
13
|
+
export interface VirtualTableProps<T extends Record<string, any>> {
|
|
14
|
+
/**
|
|
15
|
+
* Array of arbitrary data
|
|
16
|
+
*/
|
|
17
|
+
data?: T[];
|
|
18
|
+
/**
|
|
19
|
+
* Properties displayed in this collection. If this property is not set
|
|
20
|
+
* every property is displayed, you can filter
|
|
21
|
+
*/
|
|
22
|
+
columns: VirtualTableColumn[];
|
|
23
|
+
/**
|
|
24
|
+
* Custom cell renderer
|
|
25
|
+
* The renderer receives props `{ cellData, columns, column, columnIndex, rowData, rowIndex, container, isScrolling }`
|
|
26
|
+
*/
|
|
27
|
+
cellRenderer: React.ComponentType<CellRendererParams<T>>;
|
|
28
|
+
/**
|
|
29
|
+
* If enabled, content is loaded in batch
|
|
30
|
+
*/
|
|
31
|
+
paginationEnabled?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Set this callback if you want to support some combinations
|
|
34
|
+
* of filter combinations only.
|
|
35
|
+
* @param filterValues
|
|
36
|
+
* @param sortBy
|
|
37
|
+
*/
|
|
38
|
+
checkFilterCombination?: (filterValues: VirtualTableFilterValues<Extract<keyof T, string>>, sortBy?: [string, "asc" | "desc"]) => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* A callback function when scrolling the table to near the end
|
|
41
|
+
*/
|
|
42
|
+
onEndReached?: () => void;
|
|
43
|
+
/**
|
|
44
|
+
* When the pagination should be reset. E.g. the filters or sorting
|
|
45
|
+
* has been reset.
|
|
46
|
+
*/
|
|
47
|
+
onResetPagination?: () => void;
|
|
48
|
+
/**
|
|
49
|
+
* Callback when a row is clicked
|
|
50
|
+
*/
|
|
51
|
+
onRowClick?: (props: OnRowClickParams<T>) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Callback when a column is resized
|
|
54
|
+
*/
|
|
55
|
+
onColumnResize?: (params: OnVirtualTableColumnResizeParams) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Size of the table
|
|
58
|
+
*/
|
|
59
|
+
size?: VirtualTableSize;
|
|
60
|
+
/**
|
|
61
|
+
* In case this table should have some filters set by default
|
|
62
|
+
*/
|
|
63
|
+
filter?: VirtualTableFilterValues<any>;
|
|
64
|
+
/**
|
|
65
|
+
* Callback used when filters are updated
|
|
66
|
+
* @param filter
|
|
67
|
+
*/
|
|
68
|
+
onFilterUpdate?: (filter?: VirtualTableFilterValues<any> | undefined) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Default sort applied to this collection
|
|
71
|
+
*/
|
|
72
|
+
sortBy?: [string, "asc" | "desc"];
|
|
73
|
+
/**
|
|
74
|
+
* Callback used when sorting is updated
|
|
75
|
+
* @param sortBy
|
|
76
|
+
*/
|
|
77
|
+
onSortByUpdate?: (sortBy?: [string, "asc" | "desc"]) => void;
|
|
78
|
+
/**
|
|
79
|
+
* If there is an error loading data you can pass it here, so it gets
|
|
80
|
+
* displayed instead of the content
|
|
81
|
+
*/
|
|
82
|
+
error?: Error;
|
|
83
|
+
/**
|
|
84
|
+
* Message displayed when there is no data
|
|
85
|
+
*/
|
|
86
|
+
emptyComponent?: React.ReactNode;
|
|
87
|
+
/**
|
|
88
|
+
* Is the table in a loading state
|
|
89
|
+
*/
|
|
90
|
+
loading?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Should apply a different style when hovering
|
|
93
|
+
*/
|
|
94
|
+
hoverRow?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Apply a custom class name to the row
|
|
97
|
+
* @param rowData
|
|
98
|
+
*/
|
|
99
|
+
rowClassName?: (rowData: T) => string | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* Callback to create a filter field, displayed in the header as a dropdown
|
|
102
|
+
* @param props
|
|
103
|
+
*/
|
|
104
|
+
createFilterField?: (props: FilterFormFieldProps<any>) => React.ReactNode;
|
|
105
|
+
/**
|
|
106
|
+
* Class name applied to the table
|
|
107
|
+
*/
|
|
108
|
+
className?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Component rendered at the end of the table, after scroll
|
|
111
|
+
*/
|
|
112
|
+
endAdornment?: React.ReactNode;
|
|
113
|
+
/**
|
|
114
|
+
* If adding this callback, a button to add a new column is displayed.
|
|
115
|
+
* @param column
|
|
116
|
+
*/
|
|
117
|
+
AddColumnComponent?: React.ComponentType;
|
|
118
|
+
}
|
|
119
|
+
export type CellRendererParams<T extends any = any> = {
|
|
120
|
+
column: VirtualTableColumn;
|
|
121
|
+
columns: VirtualTableColumn[];
|
|
122
|
+
columnIndex: number;
|
|
123
|
+
rowData?: T;
|
|
124
|
+
rowIndex: number;
|
|
125
|
+
width: number;
|
|
126
|
+
isScrolling?: boolean;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* @see Table
|
|
130
|
+
* @group Components
|
|
131
|
+
*/
|
|
132
|
+
export interface VirtualTableColumn<CustomProps extends any = any> {
|
|
133
|
+
/**
|
|
134
|
+
* Data key for the cell value, could be "a.b.c"
|
|
135
|
+
*/
|
|
136
|
+
key: string;
|
|
137
|
+
/**
|
|
138
|
+
* The width of the column, gutter width is not included
|
|
139
|
+
*/
|
|
140
|
+
width: number;
|
|
141
|
+
/**
|
|
142
|
+
* Label displayed in the header
|
|
143
|
+
*/
|
|
144
|
+
title?: string;
|
|
145
|
+
/**
|
|
146
|
+
* This column is frozen to the left
|
|
147
|
+
*/
|
|
148
|
+
frozen?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* How is the
|
|
151
|
+
*/
|
|
152
|
+
headerAlign?: "left" | "center" | "right";
|
|
153
|
+
/**
|
|
154
|
+
* Icon displayed in the header
|
|
155
|
+
*/
|
|
156
|
+
icon?: (hoverOrOpen: boolean) => React.ReactNode;
|
|
157
|
+
/**
|
|
158
|
+
*
|
|
159
|
+
*/
|
|
160
|
+
filter?: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Alignment of the column cell
|
|
163
|
+
*/
|
|
164
|
+
align?: "left" | "right" | "center";
|
|
165
|
+
/**
|
|
166
|
+
* Whether the column is sortable, defaults to false
|
|
167
|
+
*/
|
|
168
|
+
sortable?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Can it be resized
|
|
171
|
+
*/
|
|
172
|
+
resizable?: boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Custom props passed to the cell renderer
|
|
175
|
+
*/
|
|
176
|
+
custom?: CustomProps;
|
|
177
|
+
/**
|
|
178
|
+
* Additional children to be rendered in the header when hovering
|
|
179
|
+
*/
|
|
180
|
+
AdditionalHeaderWidget?: (props: {
|
|
181
|
+
onHover: boolean;
|
|
182
|
+
}) => React.ReactNode;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* @see Table
|
|
186
|
+
* @group Collection components
|
|
187
|
+
*/
|
|
188
|
+
export type OnVirtualTableColumnResizeParams = {
|
|
189
|
+
width: number;
|
|
190
|
+
key: string;
|
|
191
|
+
column: VirtualTableColumn;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* @see Table
|
|
195
|
+
* @group Components
|
|
196
|
+
*/
|
|
197
|
+
export type VirtualTableSize = "xs" | "s" | "m" | "l" | "xl";
|
|
198
|
+
/**
|
|
199
|
+
* @see Table
|
|
200
|
+
* @group Components
|
|
201
|
+
*/
|
|
202
|
+
export type VirtualTableSort = "asc" | "desc" | undefined;
|
|
203
|
+
/**
|
|
204
|
+
* @see Table
|
|
205
|
+
* @group Components
|
|
206
|
+
*/
|
|
207
|
+
export type VirtualTableFilterValues<Key extends string> = Partial<Record<Key, [WhereFilterOp, any]>>;
|
|
208
|
+
/**
|
|
209
|
+
* Filter conditions in a `Query.where()` clause are specified using the
|
|
210
|
+
* strings '<', '<=', '==', '>=', '>', 'array-contains', 'in', 'not-in', and 'array-contains-any'.
|
|
211
|
+
* @see Table
|
|
212
|
+
* @group Models
|
|
213
|
+
*/
|
|
214
|
+
export type VirtualTableWhereFilterOp = "<" | "<=" | "==" | "!=" | ">=" | ">" | "array-contains" | "in" | "not-in" | "array-contains-any";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare function VirtualTableDateField(props: {
|
|
3
|
+
name: string;
|
|
4
|
+
error: Error | undefined;
|
|
5
|
+
mode?: "date" | "date_time";
|
|
6
|
+
internalValue: Date | undefined | null;
|
|
7
|
+
updateValue: (newValue: (Date | null)) => void;
|
|
8
|
+
focused: boolean;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function VirtualTableNumberInput(props: {
|
|
2
|
+
error: Error | undefined;
|
|
3
|
+
value: number;
|
|
4
|
+
align: "right" | "left" | "center";
|
|
5
|
+
updateValue: (newValue: (number | null)) => void;
|
|
6
|
+
focused: boolean;
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EnumValueConfig } from "../../../types";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export declare function VirtualTableSelect(props: {
|
|
4
|
+
name: string;
|
|
5
|
+
enumValues: EnumValueConfig[];
|
|
6
|
+
error: Error | undefined;
|
|
7
|
+
multiple: boolean;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
small: boolean;
|
|
10
|
+
internalValue: string | number | string[] | number[] | undefined;
|
|
11
|
+
valueType: "string" | "number";
|
|
12
|
+
updateValue: (newValue: (string | number | string[] | number[] | null)) => void;
|
|
13
|
+
focused: boolean;
|
|
14
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CellRendererParams, OnRowClickParams, OnVirtualTableColumnResizeParams, VirtualTableColumn, VirtualTableFilterValues, VirtualTableSize, VirtualTableWhereFilterOp } from "./VirtualTableProps";
|
|
3
|
+
import { FilterFormFieldProps } from "./VirtualTableHeader";
|
|
4
|
+
export type VirtualTableRowProps<T> = {
|
|
5
|
+
style: any;
|
|
6
|
+
size: VirtualTableSize;
|
|
7
|
+
rowData: T;
|
|
8
|
+
rowIndex: number;
|
|
9
|
+
onRowClick?: (props: OnRowClickParams<any>) => void;
|
|
10
|
+
children: React.ReactNode[];
|
|
11
|
+
columns: VirtualTableColumn[];
|
|
12
|
+
hoverRow?: boolean;
|
|
13
|
+
rowClassName?: (rowData: T) => string | undefined;
|
|
14
|
+
};
|
|
15
|
+
export type VirtualTableContextProps<T extends any> = {
|
|
16
|
+
data?: T[];
|
|
17
|
+
size?: VirtualTableSize;
|
|
18
|
+
columns: VirtualTableColumn[];
|
|
19
|
+
cellRenderer: React.ComponentType<CellRendererParams<T>>;
|
|
20
|
+
currentSort: "asc" | "desc" | undefined;
|
|
21
|
+
filter?: VirtualTableFilterValues<any>;
|
|
22
|
+
onRowClick?: (props: OnRowClickParams<any>) => void;
|
|
23
|
+
onColumnSort: (key: string) => any;
|
|
24
|
+
onColumnResize: (params: OnVirtualTableColumnResizeParams) => void;
|
|
25
|
+
onColumnResizeEnd: (params: OnVirtualTableColumnResizeParams) => void;
|
|
26
|
+
onFilterUpdate: (column: VirtualTableColumn, filterForProperty?: [VirtualTableWhereFilterOp, any]) => void;
|
|
27
|
+
sortByProperty?: string;
|
|
28
|
+
customView?: React.ReactNode;
|
|
29
|
+
hoverRow: boolean;
|
|
30
|
+
createFilterField?: (props: FilterFormFieldProps<any>) => React.ReactNode;
|
|
31
|
+
rowClassName?: (rowData: T) => string | undefined;
|
|
32
|
+
endAdornment?: React.ReactNode;
|
|
33
|
+
AddColumnComponent?: React.ComponentType;
|
|
34
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type { ErrorViewProps } from "./ErrorView";
|
|
2
|
+
export { ErrorView } from "./ErrorView";
|
|
3
|
+
export type { EntityPreviewProps } from "./EntityPreview";
|
|
4
|
+
export { EntityPreview } from "./EntityPreview";
|
|
5
|
+
export type { ReferenceSelectionInnerProps } from "./ReferenceSelectionInner";
|
|
6
|
+
export { ReferenceSelectionInner } from "./ReferenceSelectionInner";
|
|
7
|
+
export { CircularProgressCenter } from "./CircularProgressCenter";
|
|
8
|
+
export * from "./HomePage";
|
|
9
|
+
export * from "./EntityCollectionView/EntityCollectionView";
|
|
10
|
+
export * from "./FieldConfigBadge";
|
|
11
|
+
export * from "./EntityCollectionTable";
|
|
12
|
+
export * from "./NotFoundPage";
|
|
13
|
+
export * from "./VirtualTable";
|
|
14
|
+
export * from "./ErrorBoundary";
|
|
15
|
+
export * from "./DeleteConfirmationDialog";
|
|
16
|
+
export * from "./FireCMSLogo";
|
|
17
|
+
export * from "./FireCMSAppBar";
|
|
18
|
+
export * from "./ArrayContainer";
|
|
19
|
+
export * from "./ReferenceWidget";
|
|
20
|
+
export * from "./LabelWithIcon";
|
|
21
|
+
export * from "./SearchIconsView";
|
|
@@ -0,0 +1,23 @@
|
|
|
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;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EntitySidePanelProps } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* This is the component in charge of rendering the side dialog used
|
|
4
|
+
* for editing entities. Use the {@link useSideEntityController} to open
|
|
5
|
+
* and control the dialogs.
|
|
6
|
+
* This component needs a parent {@link FireCMS}
|
|
7
|
+
* {@link useSideEntityController}
|
|
8
|
+
* @group Components
|
|
9
|
+
*/
|
|
10
|
+
export declare function EntitySidePanel(props: EntitySidePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EntityCollection, FireCMSProps, User } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* If you are using independent components of the CMS
|
|
4
|
+
* you need to wrap them with this main component, so the internal hooks work.
|
|
5
|
+
*
|
|
6
|
+
* This is the main component of FireCMS. It acts as the provider of all the
|
|
7
|
+
* internal contexts and hooks.
|
|
8
|
+
*
|
|
9
|
+
* You only need to use this component if you are building a custom app.
|
|
10
|
+
*
|
|
11
|
+
* @constructor
|
|
12
|
+
* @group Core
|
|
13
|
+
*/
|
|
14
|
+
export declare function FireCMS<UserType extends User, EC extends EntityCollection>(props: FireCMSProps<UserType, EC>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* @group Components
|
|
4
|
+
*/
|
|
5
|
+
export type NavigationRoutesProps = {
|
|
6
|
+
/**
|
|
7
|
+
* In case you need to override the home page
|
|
8
|
+
*/
|
|
9
|
+
HomePage?: React.ComponentType;
|
|
10
|
+
customRoutes?: React.ReactNode[];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* This component is in charge of rendering
|
|
14
|
+
* all the related routes (entity collection root views, custom views
|
|
15
|
+
* or the home route) related to a {@link NavigationController}.
|
|
16
|
+
* This component needs a parent {@link FireCMS}
|
|
17
|
+
*
|
|
18
|
+
* @constructor
|
|
19
|
+
* @group Components
|
|
20
|
+
*/
|
|
21
|
+
export declare const NavigationRoutes: React.NamedExoticComponent<NavigationRoutesProps>;
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
includeDrawer?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* In case you need to override the view that gets rendered as a drawer
|
|
20
|
+
* @see DefaultDrawer
|
|
21
|
+
*/
|
|
22
|
+
Drawer?: React.ComponentType<DrawerProps<ExtraDrawerProps>>;
|
|
23
|
+
/**
|
|
24
|
+
* Additional props passed to the custom Drawer
|
|
25
|
+
*/
|
|
26
|
+
drawerProps?: Partial<DrawerProps> & ExtraDrawerProps;
|
|
27
|
+
/**
|
|
28
|
+
* Open the drawer on hover
|
|
29
|
+
*/
|
|
30
|
+
autoOpenDrawer?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* A component that gets rendered on the upper side of the main toolbar.
|
|
33
|
+
* `toolbarExtraWidget` has no effect if this is set.
|
|
34
|
+
*/
|
|
35
|
+
FireCMSAppBarComponent?: React.ComponentType<FireCMSAppBarProps<ExtraAppbarProps>>;
|
|
36
|
+
/**
|
|
37
|
+
* Additional props passed to the custom AppBar
|
|
38
|
+
*/
|
|
39
|
+
fireCMSAppBarComponentProps?: Partial<FireCMSAppBarProps> & ExtraAppbarProps;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* This view acts as a scaffold for FireCMS.
|
|
43
|
+
*
|
|
44
|
+
* It is in charge of displaying the navigation drawer, top bar and main
|
|
45
|
+
* collection views.
|
|
46
|
+
* This component needs a parent {@link FireCMS}
|
|
47
|
+
*
|
|
48
|
+
* @param props
|
|
49
|
+
* @constructor
|
|
50
|
+
* @group Core
|
|
51
|
+
*/
|
|
52
|
+
export declare const Scaffold: React.NamedExoticComponent<React.PropsWithChildren<ScaffoldProps<object, object>>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type SideDialogContextProps = {
|
|
3
|
+
blocked: boolean;
|
|
4
|
+
setBlocked: (blocked: boolean) => void;
|
|
5
|
+
setBlockedNavigationMessage: (message?: React.ReactNode) => void;
|
|
6
|
+
width?: string;
|
|
7
|
+
close: (force?: boolean) => void;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* This hook is used to access the properties of a particular side dialog,
|
|
11
|
+
* in contrast with {@link useSideDialogsController} which handles the
|
|
12
|
+
* state of all the dialogs.
|
|
13
|
+
*/
|
|
14
|
+
export declare const useSideDialogContext: () => SideDialogContextProps;
|
|
15
|
+
/**
|
|
16
|
+
* This is the component in charge of rendering the side dialogs used
|
|
17
|
+
* for editing entities. Use the {@link useSideEntityController} to open
|
|
18
|
+
* and control the dialogs.
|
|
19
|
+
* This component needs a parent {@link FireCMS}
|
|
20
|
+
* {@link useSideDialogsController}
|
|
21
|
+
* @group Components
|
|
22
|
+
*/
|
|
23
|
+
export declare function SideDialogs(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Property, PropertyConfig, ResolvedProperty } from "../types";
|
|
2
|
+
export declare function isDefaultFieldConfigId(id: string): boolean;
|
|
3
|
+
export declare const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>>;
|
|
4
|
+
export declare function getDefaultFieldConfig(property: Property | ResolvedProperty): PropertyConfig | undefined;
|
|
5
|
+
export declare function getFieldConfig(property: Property | ResolvedProperty, propertyConfigs: Record<string, PropertyConfig<any>>): PropertyConfig | undefined;
|
|
6
|
+
export declare function getDefaultFieldId(property: Property | ResolvedProperty): "reference" | "date_time" | "repeat" | "block" | "group" | "switch" | "url" | "email" | "select" | "text_field" | "multiline" | "markdown" | "multi_select" | "number_input" | "number_select" | "multi_number_select" | "file_upload" | "multi_file_upload" | "key_value" | "multi_references" | "custom_array" | undefined;
|
|
7
|
+
export declare function getFieldId(property: Property | ResolvedProperty): string | undefined;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./FireCMS";
|
|
2
|
+
export type { ScaffoldProps } from "./Scaffold";
|
|
3
|
+
export { Scaffold } from "./Scaffold";
|
|
4
|
+
export type { DrawerProps } from "./Drawer";
|
|
5
|
+
export { Drawer, DrawerNavigationItem } from "./Drawer";
|
|
6
|
+
export * from "./field_configs";
|
|
7
|
+
export * from "./SideDialogs";
|
|
8
|
+
export * from "./NavigationRoutes";
|
|
9
|
+
export * from "./useBuildModeController";
|
|
10
|
+
export * from "./useBuildLocalConfigurationPersistence";
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Entity, EntityCollection, EntityStatus, EntityValues, FormContext, ResolvedEntityCollection } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* @group Components
|
|
4
|
+
*/
|
|
5
|
+
export interface EntityFormProps<M extends Record<string, any>> {
|
|
6
|
+
/**
|
|
7
|
+
* New or existing status
|
|
8
|
+
*/
|
|
9
|
+
status: EntityStatus;
|
|
10
|
+
/**
|
|
11
|
+
* Path of the collection this entity is located
|
|
12
|
+
*/
|
|
13
|
+
path: string;
|
|
14
|
+
/**
|
|
15
|
+
* The collection is used to build the fields of the form
|
|
16
|
+
*/
|
|
17
|
+
collection: EntityCollection<M>;
|
|
18
|
+
/**
|
|
19
|
+
* The updated entity is passed from the parent component when the underlying data
|
|
20
|
+
* has changed in the datasource
|
|
21
|
+
*/
|
|
22
|
+
entity?: Entity<M>;
|
|
23
|
+
/**
|
|
24
|
+
* The callback function called when Save is clicked and validation is correct
|
|
25
|
+
*/
|
|
26
|
+
onEntitySaveRequested: (props: EntityFormSaveParams<M>) => Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* The callback function called when discard is clicked
|
|
29
|
+
*/
|
|
30
|
+
onDiscard?: () => void;
|
|
31
|
+
/**
|
|
32
|
+
* The callback function when the form is dirty, so the values are different
|
|
33
|
+
* from the original ones
|
|
34
|
+
*/
|
|
35
|
+
onModified?: (dirty: boolean) => void;
|
|
36
|
+
/**
|
|
37
|
+
* The callback function when the form original values have been modified
|
|
38
|
+
*/
|
|
39
|
+
onValuesChanged?: (values?: EntityValues<M>) => void;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @param id
|
|
43
|
+
*/
|
|
44
|
+
onIdChange?: (id: string) => void;
|
|
45
|
+
currentEntityId?: string;
|
|
46
|
+
onFormContextChange?: (formContext: FormContext<M>) => void;
|
|
47
|
+
hideId?: boolean;
|
|
48
|
+
autoSave?: boolean;
|
|
49
|
+
onIdUpdateError?: (error: any) => void;
|
|
50
|
+
}
|
|
51
|
+
export type EntityFormSaveParams<M extends Record<string, any>> = {
|
|
52
|
+
collection: ResolvedEntityCollection<M>;
|
|
53
|
+
path: string;
|
|
54
|
+
entityId: string | undefined;
|
|
55
|
+
values: EntityValues<M>;
|
|
56
|
+
previousValues?: EntityValues<M>;
|
|
57
|
+
closeAfterSave: boolean;
|
|
58
|
+
autoSave: boolean;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* This is the form used internally by the CMS
|
|
62
|
+
* @param status
|
|
63
|
+
* @param path
|
|
64
|
+
* @param collection
|
|
65
|
+
* @param entity
|
|
66
|
+
* @param onEntitySave
|
|
67
|
+
* @param onDiscard
|
|
68
|
+
* @param onModified
|
|
69
|
+
* @param onValuesChanged
|
|
70
|
+
* @constructor
|
|
71
|
+
* @group Components
|
|
72
|
+
*/
|
|
73
|
+
export declare const EntityForm: typeof EntityFormInternal;
|
|
74
|
+
declare function EntityFormInternal<M extends Record<string, any>>({ status, path, collection: inputCollection, entity, onEntitySaveRequested, onDiscard, onModified, onValuesChanged, onIdChange, onFormContextChange, hideId, autoSave, onIdUpdateError }: EntityFormProps<M>): import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
export {};
|