@firecms/core 3.0.0-alpha.7 → 3.0.0-alpha.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/EntityCollectionTable/EntityCollectionTable.d.ts +30 -0
- package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +106 -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 +4 -0
- package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
- package/dist/components/EntityCollectionTable/internal/DeleteEntityDialog.d.ts +12 -0
- package/dist/components/EntityCollectionTable/internal/EntityCollectionRowActions.d.ts +35 -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/PropertyTableCell.d.ts +18 -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 +39 -0
- package/dist/components/EntityCollectionTable/useDebouncedData.d.ts +9 -0
- package/dist/components/EntityCollectionTable/useEntityCollectionTableController.d.ts +21 -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/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 +215 -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 +20 -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/index.d.ts +8 -0
- package/dist/index.es.js +12415 -25618
- 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 +179 -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/chip_utils.d.ts +3 -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/icons.d.ts +4 -0
- package/dist/util/index.d.ts +20 -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 +114 -142
- package/src/components/ArrayContainer.d.ts +42 -0
- package/src/components/ArrayContainer.tsx +369 -0
- package/src/components/CircularProgressCenter.d.ts +11 -0
- package/src/components/CircularProgressCenter.tsx +26 -0
- package/src/components/DeleteConfirmationDialog.d.ts +9 -0
- package/src/components/DeleteConfirmationDialog.tsx +47 -0
- package/src/components/EntityCollectionTable/EntityCollectionTable.d.ts +30 -0
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +520 -0
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +106 -0
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +150 -0
- package/src/components/EntityCollectionTable/fields/TableReferenceField.d.ts +15 -0
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +159 -0
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +313 -0
- package/src/components/EntityCollectionTable/filters/BooleanFilterField.d.ts +9 -0
- package/src/components/EntityCollectionTable/filters/BooleanFilterField.tsx +49 -0
- package/src/components/EntityCollectionTable/filters/DateTimeFilterField.d.ts +11 -0
- package/src/components/EntityCollectionTable/filters/DateTimeFilterField.tsx +109 -0
- package/src/components/EntityCollectionTable/filters/ReferenceFilterField.d.ts +14 -0
- package/src/components/EntityCollectionTable/filters/ReferenceFilterField.tsx +187 -0
- package/src/components/EntityCollectionTable/filters/StringNumberFilterField.d.ts +13 -0
- package/src/components/EntityCollectionTable/filters/StringNumberFilterField.tsx +159 -0
- package/src/components/EntityCollectionTable/index.d.ts +4 -0
- package/src/components/EntityCollectionTable/index.tsx +16 -0
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +113 -0
- package/src/components/EntityCollectionTable/internal/DeleteEntityDialog.d.ts +12 -0
- package/src/components/EntityCollectionTable/internal/DeleteEntityDialog.tsx +207 -0
- package/src/components/EntityCollectionTable/internal/EntityCollectionRowActions.d.ts +35 -0
- package/src/components/EntityCollectionTable/internal/EntityCollectionRowActions.tsx +174 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +264 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +70 -0
- package/src/components/EntityCollectionTable/internal/PropertyTableCell.d.ts +18 -0
- package/src/components/EntityCollectionTable/internal/PropertyTableCell.tsx +460 -0
- package/src/components/EntityCollectionTable/internal/common.d.ts +4 -0
- package/src/components/EntityCollectionTable/internal/common.tsx +70 -0
- package/src/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
- package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +122 -0
- package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
- package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +59 -0
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +401 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +97 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
- package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
- package/src/components/EntityCollectionTable/types.d.ts +39 -0
- package/src/components/EntityCollectionTable/types.tsx +44 -0
- package/src/components/EntityCollectionTable/useDebouncedData.d.ts +9 -0
- package/src/components/EntityCollectionTable/useDebouncedData.ts +49 -0
- package/src/components/EntityCollectionTable/useEntityCollectionTableController.d.ts +21 -0
- package/src/components/EntityCollectionTable/useEntityCollectionTableController.tsx +213 -0
- package/src/components/EntityCollectionView/EntityCollectionView.d.ts +37 -0
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +815 -0
- package/src/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
- package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +131 -0
- package/src/components/EntityCollectionView/useColumnsIds.d.ts +4 -0
- package/src/components/EntityCollectionView/useColumnsIds.tsx +100 -0
- package/src/components/EntityPreview.d.ts +11 -0
- package/src/components/EntityPreview.tsx +83 -0
- package/src/components/ErrorBoundary.d.ts +11 -0
- package/src/components/ErrorBoundary.tsx +40 -0
- package/src/components/ErrorTooltip.d.ts +2 -0
- package/src/components/ErrorTooltip.tsx +11 -0
- package/src/components/ErrorView.d.ts +19 -0
- package/src/components/ErrorView.tsx +52 -0
- package/src/components/FieldConfigBadge.d.ts +4 -0
- package/src/components/FieldConfigBadge.tsx +17 -0
- package/src/components/FireCMSAppBar.d.ts +26 -0
- package/src/components/FireCMSAppBar.tsx +157 -0
- package/src/components/FireCMSLogo.d.ts +7 -0
- package/src/components/FireCMSLogo.tsx +73 -0
- package/src/components/HomePage/DefaultHomePage.d.ts +21 -0
- package/src/components/HomePage/DefaultHomePage.tsx +209 -0
- package/src/components/HomePage/FavouritesView.d.ts +3 -0
- package/src/components/HomePage/FavouritesView.tsx +64 -0
- package/src/components/HomePage/NavigationCollectionCard.d.ts +17 -0
- package/src/components/HomePage/NavigationCollectionCard.tsx +145 -0
- package/src/components/HomePage/NavigationGroup.d.ts +4 -0
- package/src/components/HomePage/NavigationGroup.tsx +39 -0
- package/src/components/HomePage/index.d.ts +3 -0
- package/src/components/HomePage/index.tsx +3 -0
- package/src/components/LabelWithIcon.d.ts +14 -0
- package/src/components/LabelWithIcon.tsx +33 -0
- package/src/components/NotFoundPage.d.ts +1 -0
- package/src/components/NotFoundPage.tsx +25 -0
- package/src/components/ReferenceSelectionInner.d.ts +58 -0
- package/src/components/ReferenceSelectionInner.tsx +364 -0
- package/src/components/ReferenceWidget.d.ts +28 -0
- package/src/components/ReferenceWidget.tsx +145 -0
- package/src/components/VirtualTable/VirtualTable.d.ts +11 -0
- package/src/components/VirtualTable/VirtualTable.tsx +402 -0
- package/src/components/VirtualTable/VirtualTableCell.d.ts +14 -0
- package/src/components/VirtualTable/VirtualTableCell.tsx +36 -0
- package/src/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
- package/src/components/VirtualTable/VirtualTableHeader.tsx +260 -0
- package/src/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
- package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +131 -0
- package/src/components/VirtualTable/VirtualTableProps.d.ts +215 -0
- package/src/components/VirtualTable/VirtualTableProps.tsx +270 -0
- package/src/components/VirtualTable/VirtualTableRow.d.ts +3 -0
- package/src/components/VirtualTable/VirtualTableRow.tsx +54 -0
- package/src/components/VirtualTable/common.d.ts +2 -0
- package/src/components/VirtualTable/common.tsx +18 -0
- package/src/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +37 -0
- package/src/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
- package/src/components/VirtualTable/fields/VirtualTableInput.tsx +91 -0
- package/src/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
- package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +82 -0
- package/src/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
- package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +130 -0
- package/src/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
- package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
- package/src/components/VirtualTable/index.d.ts +2 -0
- package/src/components/VirtualTable/index.tsx +2 -0
- package/src/components/VirtualTable/types.d.ts +34 -0
- package/src/components/VirtualTable/types.tsx +44 -0
- package/src/components/index.d.ts +20 -0
- package/src/components/index.tsx +30 -0
- package/src/contexts/AuthControllerContext.d.ts +3 -0
- package/src/contexts/AuthControllerContext.tsx +4 -0
- package/src/contexts/DataSourceContext.d.ts +3 -0
- package/src/contexts/DataSourceContext.tsx +4 -0
- package/src/contexts/DialogsProvider.d.ts +4 -0
- package/src/contexts/DialogsProvider.tsx +52 -0
- package/src/contexts/ModeController.d.ts +4 -0
- package/src/contexts/ModeController.tsx +13 -0
- package/src/contexts/NavigationContext.d.ts +3 -0
- package/src/contexts/NavigationContext.tsx +4 -0
- package/src/contexts/SideDialogsControllerContext.d.ts +3 -0
- package/src/contexts/SideDialogsControllerContext.tsx +4 -0
- package/src/contexts/SideEntityControllerContext.d.ts +3 -0
- package/src/contexts/SideEntityControllerContext.tsx +4 -0
- package/src/contexts/SnackbarProvider.d.ts +2 -0
- package/src/contexts/SnackbarProvider.tsx +12 -0
- package/src/contexts/StorageSourceContext.d.ts +3 -0
- package/src/contexts/StorageSourceContext.tsx +4 -0
- package/src/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
- package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
- package/src/contexts/index.d.ts +3 -0
- package/src/contexts/index.ts +3 -0
- package/src/core/Drawer.d.ts +23 -0
- package/src/core/Drawer.tsx +161 -0
- package/src/core/EntitySidePanel.d.ts +10 -0
- package/src/core/EntitySidePanel.tsx +90 -0
- package/src/core/FireCMS.d.ts +14 -0
- package/src/core/FireCMS.tsx +184 -0
- package/src/core/NavigationRoutes.d.ts +21 -0
- package/src/core/NavigationRoutes.tsx +118 -0
- package/src/core/Scaffold.d.ts +52 -0
- package/src/core/Scaffold.tsx +278 -0
- package/src/core/SideDialogs.d.ts +23 -0
- package/src/core/SideDialogs.tsx +156 -0
- package/src/core/field_configs.d.ts +7 -0
- package/src/core/field_configs.tsx +400 -0
- package/src/core/index.d.ts +10 -0
- package/src/core/index.tsx +14 -0
- package/src/core/useBuildLocalConfigurationPersistence.d.ts +2 -0
- package/src/core/useBuildLocalConfigurationPersistence.tsx +67 -0
- package/src/core/useBuildModeController.d.ts +6 -0
- package/src/core/useBuildModeController.tsx +60 -0
- package/src/form/EntityForm.d.ts +75 -0
- package/src/form/EntityForm.tsx +647 -0
- package/src/form/PropertyFieldBinding.d.ts +30 -0
- package/src/form/PropertyFieldBinding.tsx +311 -0
- package/src/form/components/CustomIdField.d.ts +9 -0
- package/src/form/components/CustomIdField.tsx +124 -0
- package/src/form/components/ErrorFocus.d.ts +4 -0
- package/src/form/components/ErrorFocus.tsx +51 -0
- package/src/form/components/FieldHelperText.d.ts +12 -0
- package/src/form/components/FieldHelperText.tsx +58 -0
- package/src/form/components/FormikArrayContainer.d.ts +18 -0
- package/src/form/components/FormikArrayContainer.tsx +44 -0
- package/src/form/components/StorageItemPreview.d.ts +13 -0
- package/src/form/components/StorageItemPreview.tsx +66 -0
- package/src/form/components/StorageUploadProgress.d.ts +10 -0
- package/src/form/components/StorageUploadProgress.tsx +104 -0
- package/src/form/components/SubmitListener.tsx +32 -0
- package/src/form/components/SwitchControl.d.ts +8 -0
- package/src/form/components/SwitchControl.tsx +39 -0
- package/src/form/components/index.d.ts +3 -0
- package/src/form/components/index.tsx +3 -0
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +88 -0
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +153 -0
- package/src/form/field_bindings/BlockFieldBinding.d.ts +10 -0
- package/src/form/field_bindings/BlockFieldBinding.tsx +245 -0
- package/src/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +66 -0
- package/src/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +560 -0
- package/src/form/field_bindings/MapFieldBinding.d.ts +9 -0
- package/src/form/field_bindings/MapFieldBinding.tsx +142 -0
- package/src/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
- package/src/form/field_bindings/MarkdownFieldBinding.tsx +696 -0
- package/src/form/field_bindings/MultiSelectBinding.d.ts +9 -0
- package/src/form/field_bindings/MultiSelectBinding.tsx +115 -0
- package/src/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +70 -0
- package/src/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +122 -0
- package/src/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
- package/src/form/field_bindings/RepeatFieldBinding.tsx +103 -0
- package/src/form/field_bindings/SelectFieldBinding.d.ts +12 -0
- package/src/form/field_bindings/SelectFieldBinding.tsx +100 -0
- package/src/form/field_bindings/StorageUploadFieldBinding.d.ts +28 -0
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +438 -0
- package/src/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
- package/src/form/field_bindings/SwitchFieldBinding.tsx +61 -0
- package/src/form/field_bindings/TextFieldBinding.d.ts +12 -0
- package/src/form/field_bindings/TextFieldBinding.tsx +108 -0
- package/src/form/index.d.ts +20 -0
- package/src/form/index.tsx +42 -0
- package/src/form/useClearRestoreValue.d.ts +13 -0
- package/src/form/useClearRestoreValue.tsx +35 -0
- package/src/form/validation.d.ts +25 -0
- package/src/form/validation.ts +409 -0
- package/src/hooks/data/delete.d.ts +37 -0
- package/src/hooks/data/delete.ts +101 -0
- package/src/hooks/data/save.d.ts +42 -0
- package/src/hooks/data/save.ts +165 -0
- package/src/hooks/data/useCollectionFetch.d.ts +50 -0
- package/src/hooks/data/useCollectionFetch.tsx +162 -0
- package/src/hooks/data/useDataOrder.d.ts +12 -0
- package/src/hooks/data/useDataOrder.ts +26 -0
- package/src/hooks/data/useDataSource.d.ts +6 -0
- package/src/hooks/data/useDataSource.tsx +9 -0
- package/src/hooks/data/useEntityFetch.d.ts +28 -0
- package/src/hooks/data/useEntityFetch.tsx +129 -0
- package/src/hooks/index.d.ts +19 -0
- package/src/hooks/index.tsx +23 -0
- package/src/hooks/useAuthController.d.ts +11 -0
- package/src/hooks/useAuthController.tsx +14 -0
- package/src/hooks/useBrowserTitleAndIcon.d.ts +6 -0
- package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
- package/src/hooks/useClipboard.d.ts +57 -0
- package/src/hooks/useClipboard.tsx +158 -0
- package/src/hooks/useDialogsController.d.ts +11 -0
- package/src/hooks/useDialogsController.tsx +14 -0
- package/src/hooks/useFireCMSContext.d.ts +12 -0
- package/src/hooks/useFireCMSContext.tsx +50 -0
- package/src/hooks/useLargeLayout.d.ts +1 -0
- package/src/hooks/useLargeLayout.tsx +34 -0
- package/src/hooks/useModeController.d.ts +20 -0
- package/src/hooks/useModeController.tsx +24 -0
- package/src/hooks/useNavigationController.d.ts +9 -0
- package/src/hooks/useNavigationController.tsx +12 -0
- package/src/hooks/useReferenceDialog.d.ts +18 -0
- package/src/hooks/useReferenceDialog.tsx +56 -0
- package/src/hooks/useResolvedNavigationFrom.d.ts +72 -0
- package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
- package/src/hooks/useSideDialogsController.d.ts +18 -0
- package/src/hooks/useSideDialogsController.tsx +21 -0
- package/src/hooks/useSideEntityController.d.ts +12 -0
- package/src/hooks/useSideEntityController.tsx +15 -0
- package/src/hooks/useSnackbarController.d.ts +41 -0
- package/src/hooks/useSnackbarController.tsx +76 -0
- package/src/hooks/useStorageSource.d.ts +6 -0
- package/src/hooks/useStorageSource.tsx +9 -0
- package/src/hooks/useUserConfigurationPersistence.d.ts +8 -0
- package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
- package/src/index.d.ts +8 -0
- package/src/index.ts +8 -0
- package/src/internal/EntityView.d.ts +22 -0
- package/src/internal/EntityView.tsx +576 -0
- package/src/internal/common.d.ts +3 -0
- package/src/internal/common.tsx +5 -0
- package/src/internal/useBuildDataSource.d.ts +22 -0
- package/src/internal/useBuildDataSource.ts +360 -0
- package/src/internal/useBuildNavigationController.d.ts +14 -0
- package/src/internal/useBuildNavigationController.tsx +371 -0
- package/src/internal/useBuildSideDialogsController.d.ts +2 -0
- package/src/internal/useBuildSideDialogsController.tsx +125 -0
- package/src/internal/useBuildSideEntityController.d.ts +4 -0
- package/src/internal/useBuildSideEntityController.tsx +160 -0
- package/src/internal/useLocaleConfig.d.ts +1 -0
- package/src/internal/useLocaleConfig.tsx +18 -0
- package/src/internal/useRestoreScroll.d.ts +6 -0
- package/src/internal/useRestoreScroll.tsx +48 -0
- package/src/internal/useUnsavedChangesDialog.d.ts +14 -0
- package/src/internal/useUnsavedChangesDialog.tsx +106 -0
- package/src/preview/PropertyPreview.d.ts +7 -0
- package/src/preview/PropertyPreview.tsx +222 -0
- package/src/preview/PropertyPreviewProps.d.ts +43 -0
- package/src/preview/PropertyPreviewProps.tsx +59 -0
- package/src/preview/components/ArrayEnumPreview.d.ts +11 -0
- package/src/preview/components/ArrayEnumPreview.tsx +39 -0
- package/src/preview/components/AsyncPreviewComponent.d.ts +11 -0
- package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
- package/src/preview/components/BooleanPreview.d.ts +7 -0
- package/src/preview/components/BooleanPreview.tsx +11 -0
- package/src/preview/components/DatePreview.d.ts +7 -0
- package/src/preview/components/DatePreview.tsx +27 -0
- package/src/preview/components/EmptyValue.d.ts +4 -0
- package/src/preview/components/EmptyValue.tsx +10 -0
- package/src/preview/components/EnumValuesChip.d.ts +13 -0
- package/src/preview/components/EnumValuesChip.tsx +38 -0
- package/src/preview/components/ImagePreview.d.ts +12 -0
- package/src/preview/components/ImagePreview.tsx +106 -0
- package/src/preview/components/ReferencePreview.d.ts +22 -0
- package/src/preview/components/ReferencePreview.tsx +249 -0
- package/src/preview/components/StorageThumbnail.d.ts +13 -0
- package/src/preview/components/StorageThumbnail.tsx +84 -0
- package/src/preview/components/UrlComponentPreview.d.ts +12 -0
- package/src/preview/components/UrlComponentPreview.tsx +79 -0
- package/src/preview/index.d.ts +23 -0
- package/src/preview/index.ts +27 -0
- package/src/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +82 -0
- package/src/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +52 -0
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +54 -0
- package/src/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +55 -0
- package/src/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
- package/src/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +28 -0
- package/src/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +68 -0
- package/src/preview/property_previews/MapPropertyPreview.d.ts +8 -0
- package/src/preview/property_previews/MapPropertyPreview.tsx +144 -0
- package/src/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
- package/src/preview/property_previews/NumberPropertyPreview.tsx +27 -0
- package/src/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +283 -0
- package/src/preview/property_previews/StringPropertyPreview.d.ts +6 -0
- package/src/preview/property_previews/StringPropertyPreview.tsx +60 -0
- package/src/preview/util.d.ts +7 -0
- package/src/preview/util.ts +31 -0
- package/src/types/analytics.d.ts +1 -0
- package/src/types/analytics.ts +34 -0
- package/src/types/appcheck.d.ts +26 -0
- package/src/types/appcheck.ts +29 -0
- package/src/types/auth.d.ts +40 -0
- package/src/types/auth.tsx +49 -0
- package/src/types/collections.d.ts +451 -0
- package/src/types/collections.ts +530 -0
- package/src/types/datasource.d.ts +262 -0
- package/src/types/datasource.ts +389 -0
- package/src/types/dialogs_controller.d.ts +32 -0
- package/src/types/dialogs_controller.tsx +33 -0
- package/src/types/entities.d.ts +57 -0
- package/src/types/entities.ts +76 -0
- package/src/types/entity_actions.d.ts +35 -0
- package/src/types/entity_actions.tsx +39 -0
- package/src/types/entity_callbacks.d.ts +171 -0
- package/src/types/entity_callbacks.ts +209 -0
- package/src/types/entity_link_builder.d.ts +7 -0
- package/src/types/entity_link_builder.ts +8 -0
- package/src/types/export_import.d.ts +21 -0
- package/src/types/export_import.ts +26 -0
- package/src/types/fields.d.ts +181 -0
- package/src/types/fields.tsx +220 -0
- package/src/types/firecms.d.ts +151 -0
- package/src/types/firecms.tsx +175 -0
- package/src/types/firecms_context.d.ts +110 -0
- package/src/types/firecms_context.tsx +128 -0
- package/src/types/index.d.ts +26 -0
- package/src/types/index.ts +26 -0
- package/src/types/local_config_persistence.d.ts +21 -0
- package/src/types/local_config_persistence.tsx +23 -0
- package/src/types/locales.d.ts +4 -0
- package/src/types/locales.ts +81 -0
- package/src/types/modify_collections.d.ts +5 -0
- package/src/types/modify_collections.tsx +6 -0
- package/src/types/navigation.d.ts +178 -0
- package/src/types/navigation.ts +214 -0
- package/src/types/permissions.d.ts +63 -0
- package/src/types/permissions.ts +76 -0
- package/src/types/plugins.d.ts +179 -0
- package/src/types/plugins.tsx +217 -0
- package/src/types/properties.d.ts +681 -0
- package/src/types/properties.ts +851 -0
- package/src/types/property_config.d.ts +42 -0
- package/src/types/property_config.tsx +72 -0
- package/src/types/resolved_entities.d.ts +98 -0
- package/src/types/resolved_entities.ts +148 -0
- package/src/types/side_dialogs_controller.d.ts +57 -0
- package/src/types/side_dialogs_controller.tsx +68 -0
- package/src/types/side_entity_controller.d.ts +83 -0
- package/src/types/side_entity_controller.tsx +96 -0
- package/src/types/storage.d.ts +82 -0
- package/src/types/storage.ts +96 -0
- package/src/types/user.d.ts +36 -0
- package/src/types/user.ts +37 -0
- package/src/util/arrays.d.ts +1 -0
- package/src/util/arrays.ts +3 -0
- package/src/util/builders.d.ts +64 -0
- package/src/util/builders.ts +139 -0
- package/src/util/chip_utils.d.ts +3 -0
- package/src/util/chip_utils.ts +13 -0
- package/src/util/collections.d.ts +3 -0
- package/src/util/collections.ts +50 -0
- package/src/util/common.d.ts +2 -0
- package/src/util/common.tsx +2 -0
- package/src/util/dates.d.ts +1 -0
- package/src/util/dates.ts +1 -0
- package/src/util/entities.d.ts +28 -0
- package/src/util/entities.ts +196 -0
- package/src/util/enums.d.ts +7 -0
- package/src/util/enums.ts +57 -0
- package/src/util/flatten_object.d.ts +3 -0
- package/src/util/flatten_object.ts +45 -0
- package/src/util/hash.d.ts +1 -0
- package/src/util/hash.ts +11 -0
- package/src/util/icons.d.ts +4 -0
- package/src/util/icons.tsx +45 -0
- package/src/util/index.d.ts +20 -0
- package/src/util/index.ts +20 -0
- package/src/util/join_collections.d.ts +9 -0
- package/src/util/join_collections.ts +172 -0
- package/src/util/make_properties_editable.d.ts +3 -0
- package/src/util/make_properties_editable.ts +29 -0
- package/src/util/navigation_from_path.d.ts +24 -0
- package/src/util/navigation_from_path.ts +107 -0
- package/src/util/navigation_utils.d.ts +20 -0
- package/src/util/navigation_utils.ts +111 -0
- package/src/util/objects.d.ts +10 -0
- package/src/util/objects.ts +168 -0
- package/src/util/os.ts +13 -0
- package/src/util/parent_references_from_path.d.ts +6 -0
- package/src/util/parent_references_from_path.ts +56 -0
- package/src/util/paths.d.ts +14 -0
- package/src/util/paths.ts +27 -0
- package/src/util/permissions.d.ts +5 -0
- package/src/util/permissions.ts +80 -0
- package/src/util/plurals.d.ts +18 -0
- package/src/util/plurals.ts +190 -0
- package/src/util/property_utils.d.ts +23 -0
- package/src/util/property_utils.tsx +130 -0
- package/src/util/references.d.ts +2 -0
- package/src/util/references.ts +20 -0
- package/src/util/regexp.d.ts +7 -0
- package/src/util/regexp.ts +32 -0
- package/src/util/resolutions.d.ts +64 -0
- package/src/util/resolutions.ts +399 -0
- package/src/util/storage.d.ts +3 -0
- package/src/util/storage.ts +92 -0
- package/src/util/strings.d.ts +6 -0
- package/src/util/strings.ts +62 -0
- package/src/util/useDebounce.d.ts +1 -0
- package/src/util/useDebounce.ts +25 -0
- package/src/util/useStorageUploadController.d.ts +36 -0
- package/src/util/useStorageUploadController.tsx +243 -0
- package/src/util/useTraceUpdate.tsx +23 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AuthController, User } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Hook to retrieve the AuthContext.
|
|
4
|
+
*
|
|
5
|
+
* Consider that in order to use this hook you need to have a parent
|
|
6
|
+
* `FireCMS`
|
|
7
|
+
*
|
|
8
|
+
* @see AuthController
|
|
9
|
+
* @group Hooks and utilities
|
|
10
|
+
*/
|
|
11
|
+
export declare const useAuthController: <UserType extends User = User, AuthControllerType extends AuthController<UserType> = AuthController<UserType>>() => AuthControllerType;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AuthController, User } from "../types";
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { AuthControllerContext } from "../contexts/AuthControllerContext";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Hook to retrieve the AuthContext.
|
|
7
|
+
*
|
|
8
|
+
* Consider that in order to use this hook you need to have a parent
|
|
9
|
+
* `FireCMS`
|
|
10
|
+
*
|
|
11
|
+
* @see AuthController
|
|
12
|
+
* @group Hooks and utilities
|
|
13
|
+
*/
|
|
14
|
+
export const useAuthController = <UserType extends User = User, AuthControllerType extends AuthController<UserType> = AuthController<UserType>>(): AuthControllerType => useContext(AuthControllerContext) as AuthControllerType;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
|
|
3
|
+
const fireCMSLogo = "data:image/png;base64,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\n";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Internal hook to handle the browser title and icon
|
|
7
|
+
* @param name
|
|
8
|
+
* @param logo
|
|
9
|
+
*/
|
|
10
|
+
export function useBrowserTitleAndIcon(name: string, logo?: string) {
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (document) {
|
|
13
|
+
document.title = `${name} - FireCMS`;
|
|
14
|
+
let link = document.querySelector("link[rel~='icon']");
|
|
15
|
+
if (!link) {
|
|
16
|
+
link = document.createElement("link");
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
link.rel = "icon";
|
|
19
|
+
document.getElementsByTagName("head")[0].appendChild(link);
|
|
20
|
+
}
|
|
21
|
+
// @ts-ignore
|
|
22
|
+
link.href = logo ?? fireCMSLogo;
|
|
23
|
+
}
|
|
24
|
+
}, [name, logo]);
|
|
25
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { MutableRefObject } from "react";
|
|
2
|
+
export interface UseClipboardProps {
|
|
3
|
+
/**
|
|
4
|
+
* It's callback function that is called after the `copy` command
|
|
5
|
+
* is executed.
|
|
6
|
+
*
|
|
7
|
+
* @param text: The selected clipboard text.
|
|
8
|
+
*/
|
|
9
|
+
onSuccess?: (text: string) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Triggers when the hook encounters an error.
|
|
12
|
+
* If passed hook won't throw an error.
|
|
13
|
+
*
|
|
14
|
+
* @param error: cause of the error
|
|
15
|
+
*/
|
|
16
|
+
onError?: (error: string) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Disables the new clipboard API `navigator.clipboard` even if
|
|
19
|
+
* it is supported.
|
|
20
|
+
*/
|
|
21
|
+
disableClipboardAPI?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* revert back the isCopied flag to false again if a value is set.
|
|
24
|
+
*/
|
|
25
|
+
copiedDuration?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface useClipboardReturnType {
|
|
28
|
+
/**
|
|
29
|
+
* Use ref to pull the text content from.
|
|
30
|
+
*/
|
|
31
|
+
ref: MutableRefObject<any>;
|
|
32
|
+
/**
|
|
33
|
+
* Use it to perform the copy operation
|
|
34
|
+
*/
|
|
35
|
+
copy: (text?: string) => void;
|
|
36
|
+
/**
|
|
37
|
+
* Use it to perform the cut operation
|
|
38
|
+
*/
|
|
39
|
+
cut: () => void;
|
|
40
|
+
/**
|
|
41
|
+
* Indicates wheater the content was successfully copied or not.
|
|
42
|
+
*/
|
|
43
|
+
isCoppied: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Current selected clipboard content.
|
|
46
|
+
*/
|
|
47
|
+
clipboard: string;
|
|
48
|
+
/**
|
|
49
|
+
* Clears the user clipboard.
|
|
50
|
+
*/
|
|
51
|
+
clearClipboard: () => void;
|
|
52
|
+
/**
|
|
53
|
+
* Check to see if the browser supports the new `navigator.clipboard` API.
|
|
54
|
+
*/
|
|
55
|
+
isSupported: () => boolean;
|
|
56
|
+
}
|
|
57
|
+
export declare const useClipboard: (options?: UseClipboardProps) => useClipboardReturnType;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// FORKED FROM https://github.com/fayeed/use-clipboard
|
|
2
|
+
|
|
3
|
+
import { MutableRefObject, useCallback, useEffect, useRef, useState } from "react";
|
|
4
|
+
|
|
5
|
+
export interface UseClipboardProps {
|
|
6
|
+
/**
|
|
7
|
+
* It's callback function that is called after the `copy` command
|
|
8
|
+
* is executed.
|
|
9
|
+
*
|
|
10
|
+
* @param text: The selected clipboard text.
|
|
11
|
+
*/
|
|
12
|
+
onSuccess?: (text: string) => void;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Triggers when the hook encounters an error.
|
|
16
|
+
* If passed hook won't throw an error.
|
|
17
|
+
*
|
|
18
|
+
* @param error: cause of the error
|
|
19
|
+
*/
|
|
20
|
+
onError?: (error: string) => void;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Disables the new clipboard API `navigator.clipboard` even if
|
|
24
|
+
* it is supported.
|
|
25
|
+
*/
|
|
26
|
+
disableClipboardAPI?: boolean;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* revert back the isCopied flag to false again if a value is set.
|
|
30
|
+
*/
|
|
31
|
+
copiedDuration?: number;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface useClipboardReturnType {
|
|
35
|
+
/**
|
|
36
|
+
* Use ref to pull the text content from.
|
|
37
|
+
*/
|
|
38
|
+
ref: MutableRefObject<any>;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Use it to perform the copy operation
|
|
42
|
+
*/
|
|
43
|
+
copy: (text?: string) => void;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Use it to perform the cut operation
|
|
47
|
+
*/
|
|
48
|
+
cut: () => void;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Indicates wheater the content was successfully copied or not.
|
|
52
|
+
*/
|
|
53
|
+
isCoppied: boolean;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Current selected clipboard content.
|
|
57
|
+
*/
|
|
58
|
+
clipboard: string;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Clears the user clipboard.
|
|
62
|
+
*/
|
|
63
|
+
clearClipboard: () => void;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Check to see if the browser supports the new `navigator.clipboard` API.
|
|
67
|
+
*/
|
|
68
|
+
isSupported: () => boolean;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export const useClipboard = (
|
|
72
|
+
options?: UseClipboardProps
|
|
73
|
+
): useClipboardReturnType => {
|
|
74
|
+
const { onSuccess, onError, disableClipboardAPI = false, copiedDuration } =
|
|
75
|
+
options || {};
|
|
76
|
+
const ref = useRef<any>(null);
|
|
77
|
+
const [isCoppied, setIsCoppied] = useState(false);
|
|
78
|
+
const [clipboard, setClipbaord] = useState("");
|
|
79
|
+
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
if (copiedDuration) setTimeout(() => setIsCoppied(false), copiedDuration);
|
|
82
|
+
}, [isCoppied]);
|
|
83
|
+
|
|
84
|
+
const isSupported = () => navigator.clipboard !== undefined;
|
|
85
|
+
|
|
86
|
+
const handleError = useCallback((error: string) => {
|
|
87
|
+
if (onError) onError(error);
|
|
88
|
+
else throw new Error(error);
|
|
89
|
+
}, [onError]);
|
|
90
|
+
|
|
91
|
+
const handleSuccess = useCallback((text: string) => {
|
|
92
|
+
if (onSuccess) onSuccess(text);
|
|
93
|
+
setIsCoppied(true);
|
|
94
|
+
setClipbaord(text);
|
|
95
|
+
}, [onSuccess]);
|
|
96
|
+
|
|
97
|
+
const copyToClipboard = useCallback((text: string) => {
|
|
98
|
+
navigator.clipboard
|
|
99
|
+
.writeText(text)
|
|
100
|
+
.then(() => handleSuccess(text))
|
|
101
|
+
.catch((err) => {
|
|
102
|
+
handleError(err);
|
|
103
|
+
setIsCoppied(false);
|
|
104
|
+
});
|
|
105
|
+
}, [handleError, handleSuccess]);
|
|
106
|
+
|
|
107
|
+
const clearClipboard = () => {
|
|
108
|
+
if (isSupported()) {
|
|
109
|
+
navigator.clipboard.writeText("");
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
const copy = (text?: string) =>
|
|
114
|
+
action("copy", typeof text === "object" ? undefined : text);
|
|
115
|
+
|
|
116
|
+
const cut = () => action("cut");
|
|
117
|
+
|
|
118
|
+
const action = useCallback(
|
|
119
|
+
(operation = "copy", text?: string) => {
|
|
120
|
+
const element = ref.current as HTMLElement;
|
|
121
|
+
|
|
122
|
+
const isInput =
|
|
123
|
+
element &&
|
|
124
|
+
(element.tagName === "INPUT" || element.tagName === "TEXTAREA");
|
|
125
|
+
|
|
126
|
+
const input = ref.current as HTMLInputElement;
|
|
127
|
+
|
|
128
|
+
if (isSupported() && !disableClipboardAPI) {
|
|
129
|
+
if (text) {
|
|
130
|
+
copyToClipboard(text);
|
|
131
|
+
} else if (element) {
|
|
132
|
+
if (isInput) {
|
|
133
|
+
copyToClipboard(input.value);
|
|
134
|
+
|
|
135
|
+
if (operation === "cut") {
|
|
136
|
+
input.value = "";
|
|
137
|
+
}
|
|
138
|
+
} else {
|
|
139
|
+
copyToClipboard(element.innerText);
|
|
140
|
+
}
|
|
141
|
+
} else {
|
|
142
|
+
handleError("Both the ref & text were undefined");
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
[disableClipboardAPI, copyToClipboard, handleError]
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
return {
|
|
150
|
+
ref,
|
|
151
|
+
isCoppied,
|
|
152
|
+
clipboard,
|
|
153
|
+
clearClipboard,
|
|
154
|
+
isSupported,
|
|
155
|
+
copy,
|
|
156
|
+
cut
|
|
157
|
+
};
|
|
158
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DialogsController } from "../types/dialogs_controller";
|
|
2
|
+
/**
|
|
3
|
+
* Use this hook to open a dialog imperatively.
|
|
4
|
+
* Alternatively, you can use dialogs declaratively using the `Dialog` component.
|
|
5
|
+
*
|
|
6
|
+
* Consider that in order to use this hook you need to have a parent
|
|
7
|
+
* `FireCMS`
|
|
8
|
+
*
|
|
9
|
+
* @group Hooks and utilities
|
|
10
|
+
*/
|
|
11
|
+
export declare const useDialogsController: () => DialogsController;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useContext } from "react";
|
|
2
|
+
import { DialogsController } from "../types/dialogs_controller";
|
|
3
|
+
import { DialogsControllerContext } from "../contexts/DialogsProvider";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Use this hook to open a dialog imperatively.
|
|
7
|
+
* Alternatively, you can use dialogs declaratively using the `Dialog` component.
|
|
8
|
+
*
|
|
9
|
+
* Consider that in order to use this hook you need to have a parent
|
|
10
|
+
* `FireCMS`
|
|
11
|
+
*
|
|
12
|
+
* @group Hooks and utilities
|
|
13
|
+
*/
|
|
14
|
+
export const useDialogsController = (): DialogsController => useContext(DialogsControllerContext);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthController, FireCMSContext, User } from "../types";
|
|
2
|
+
export declare const FireCMSContextInstance: import("react").Context<Partial<FireCMSContext>>;
|
|
3
|
+
/**
|
|
4
|
+
* Hook to retrieve the {@link FireCMSContext}.
|
|
5
|
+
*
|
|
6
|
+
* Consider that in order to use this hook you need to have a parent
|
|
7
|
+
* `FireCMS` component.
|
|
8
|
+
*
|
|
9
|
+
* @see FireCMSContext
|
|
10
|
+
* @group Hooks and utilities
|
|
11
|
+
*/
|
|
12
|
+
export declare const useFireCMSContext: <UserType extends User = User, AuthControllerType extends AuthController<UserType> = AuthController<UserType>>() => FireCMSContext<UserType, AuthControllerType>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
import { AuthController, FireCMSContext, User } from "../types";
|
|
3
|
+
import { useAuthController } from "./useAuthController";
|
|
4
|
+
import { useSideDialogsController } from "./useSideDialogsController";
|
|
5
|
+
import { useNavigationController } from "./useNavigationController";
|
|
6
|
+
import { useSideEntityController } from "./useSideEntityController";
|
|
7
|
+
import { useDataSource } from "./data/useDataSource";
|
|
8
|
+
import { useStorageSource } from "./useStorageSource";
|
|
9
|
+
import { useSnackbarController } from "./useSnackbarController";
|
|
10
|
+
import { useUserConfigurationPersistence } from "./useUserConfigurationPersistence";
|
|
11
|
+
import { useDialogsController } from "./useDialogsController";
|
|
12
|
+
|
|
13
|
+
export const FireCMSContextInstance = createContext<Partial<FireCMSContext>>({});
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Hook to retrieve the {@link FireCMSContext}.
|
|
17
|
+
*
|
|
18
|
+
* Consider that in order to use this hook you need to have a parent
|
|
19
|
+
* `FireCMS` component.
|
|
20
|
+
*
|
|
21
|
+
* @see FireCMSContext
|
|
22
|
+
* @group Hooks and utilities
|
|
23
|
+
*/
|
|
24
|
+
export const useFireCMSContext = <UserType extends User = User, AuthControllerType extends AuthController<UserType> = AuthController<UserType>>(): FireCMSContext<UserType, AuthControllerType> => {
|
|
25
|
+
|
|
26
|
+
const partialContext = useContext(FireCMSContextInstance) as FireCMSContext<UserType, AuthControllerType>;
|
|
27
|
+
const authController = useAuthController<UserType, AuthControllerType>();
|
|
28
|
+
const sideDialogsController = useSideDialogsController();
|
|
29
|
+
const sideEntityController = useSideEntityController();
|
|
30
|
+
const navigation = useNavigationController();
|
|
31
|
+
const dataSource = useDataSource();
|
|
32
|
+
const storageSource = useStorageSource();
|
|
33
|
+
const snackbarController = useSnackbarController();
|
|
34
|
+
const userConfigPersistence = useUserConfigurationPersistence();
|
|
35
|
+
const dialogsController = useDialogsController();
|
|
36
|
+
|
|
37
|
+
return {
|
|
38
|
+
...partialContext,
|
|
39
|
+
authController,
|
|
40
|
+
sideDialogsController,
|
|
41
|
+
sideEntityController,
|
|
42
|
+
navigation,
|
|
43
|
+
dataSource,
|
|
44
|
+
storageSource,
|
|
45
|
+
snackbarController,
|
|
46
|
+
userConfigPersistence,
|
|
47
|
+
dialogsController
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useLargeLayout: (breakpoint?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl") => boolean;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
|
|
3
|
+
const breakpoints = {
|
|
4
|
+
xs: 0,
|
|
5
|
+
sm: 640,
|
|
6
|
+
md: 768,
|
|
7
|
+
lg: 1024,
|
|
8
|
+
xl: 1280,
|
|
9
|
+
"2xl": 1536,
|
|
10
|
+
"3xl": 1920
|
|
11
|
+
}
|
|
12
|
+
export const useLargeLayout = (breakpoint: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" = "lg"): boolean => {
|
|
13
|
+
const [isLargeLayout, setIsLargeLayout] = useState<boolean>(false);
|
|
14
|
+
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
const handleResize = () => {
|
|
17
|
+
const matched = window.matchMedia(`(min-width: ${breakpoints[breakpoint] + 1}px)`).matches;
|
|
18
|
+
setIsLargeLayout(matched);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// Set initial state
|
|
22
|
+
handleResize();
|
|
23
|
+
|
|
24
|
+
// Set up event listener for resize events
|
|
25
|
+
window.addEventListener("resize", handleResize);
|
|
26
|
+
|
|
27
|
+
// Clean up event listener when component unmounts
|
|
28
|
+
return () => {
|
|
29
|
+
window.removeEventListener("resize", handleResize);
|
|
30
|
+
};
|
|
31
|
+
}, []);
|
|
32
|
+
|
|
33
|
+
return isLargeLayout;
|
|
34
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this controller to change color mode
|
|
3
|
+
* @group Hooks and utilities
|
|
4
|
+
*/
|
|
5
|
+
export interface ModeController {
|
|
6
|
+
mode: "light" | "dark";
|
|
7
|
+
setMode: (mode: "light" | "dark") => void;
|
|
8
|
+
toggleMode: () => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Hook to retrieve the current mode ("light" | "dark"), and `setMode`
|
|
12
|
+
* or `toggle` functions to change it.
|
|
13
|
+
*
|
|
14
|
+
* Consider that in order to use this hook you need to have a parent
|
|
15
|
+
* `FireCMS`
|
|
16
|
+
*
|
|
17
|
+
* @see ModeController
|
|
18
|
+
* @group Hooks and utilities
|
|
19
|
+
*/
|
|
20
|
+
export declare const useModeController: () => ModeController;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ModeControllerContext } from "../contexts/ModeController";
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Use this controller to change color mode
|
|
6
|
+
* @group Hooks and utilities
|
|
7
|
+
*/
|
|
8
|
+
export interface ModeController {
|
|
9
|
+
mode: "light" | "dark";
|
|
10
|
+
setMode: (mode: "light" | "dark") => void;
|
|
11
|
+
toggleMode: () => void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Hook to retrieve the current mode ("light" | "dark"), and `setMode`
|
|
16
|
+
* or `toggle` functions to change it.
|
|
17
|
+
*
|
|
18
|
+
* Consider that in order to use this hook you need to have a parent
|
|
19
|
+
* `FireCMS`
|
|
20
|
+
*
|
|
21
|
+
* @see ModeController
|
|
22
|
+
* @group Hooks and utilities
|
|
23
|
+
*/
|
|
24
|
+
export const useModeController = () => useContext(ModeControllerContext);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NavigationController } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Use this hook to get the navigation of the app.
|
|
4
|
+
* This controller provides the resolved collections for the CMS as well
|
|
5
|
+
* as utility methods.
|
|
6
|
+
*
|
|
7
|
+
* @group Hooks and utilities
|
|
8
|
+
*/
|
|
9
|
+
export declare const useNavigationController: () => NavigationController;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useContext } from "react";
|
|
2
|
+
import { NavigationController } from "../types";
|
|
3
|
+
import { NavigationContext } from "../contexts/NavigationContext";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Use this hook to get the navigation of the app.
|
|
7
|
+
* This controller provides the resolved collections for the CMS as well
|
|
8
|
+
* as utility methods.
|
|
9
|
+
*
|
|
10
|
+
* @group Hooks and utilities
|
|
11
|
+
*/
|
|
12
|
+
export const useNavigationController = (): NavigationController => useContext(NavigationContext);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ReferenceSelectionInnerProps } from "../components";
|
|
2
|
+
/**
|
|
3
|
+
* This hook is used to open a side dialog that allows the selection
|
|
4
|
+
* of entities under a given path.
|
|
5
|
+
* You can use it in custom views for selecting entities.
|
|
6
|
+
* You need to specify the path of the target collection at least.
|
|
7
|
+
* If your collection is not defined in your top collection configuration
|
|
8
|
+
* (in your `FireCMS` component), you need to specify explicitly.
|
|
9
|
+
* This is the same hook used internally when a reference property is defined.
|
|
10
|
+
* @group Hooks and utilities
|
|
11
|
+
*/
|
|
12
|
+
export declare function useReferenceDialog<M extends Record<string, any>>(referenceDialogProps: Omit<ReferenceSelectionInnerProps<M>, "path"> & {
|
|
13
|
+
path?: string | false;
|
|
14
|
+
onClose?: () => void;
|
|
15
|
+
}): {
|
|
16
|
+
open: () => void;
|
|
17
|
+
close: () => void;
|
|
18
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { useSideDialogsController } from "./useSideDialogsController";
|
|
2
|
+
import { ReferenceSelectionInner, ReferenceSelectionInnerProps } from "../components";
|
|
3
|
+
import { useCallback } from "react";
|
|
4
|
+
import { useNavigationController } from "./useNavigationController";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* This hook is used to open a side dialog that allows the selection
|
|
8
|
+
* of entities under a given path.
|
|
9
|
+
* You can use it in custom views for selecting entities.
|
|
10
|
+
* You need to specify the path of the target collection at least.
|
|
11
|
+
* If your collection is not defined in your top collection configuration
|
|
12
|
+
* (in your `FireCMS` component), you need to specify explicitly.
|
|
13
|
+
* This is the same hook used internally when a reference property is defined.
|
|
14
|
+
* @group Hooks and utilities
|
|
15
|
+
*/
|
|
16
|
+
export function useReferenceDialog<M extends Record<string, any>>(referenceDialogProps: Omit<ReferenceSelectionInnerProps<M>, "path"> & {
|
|
17
|
+
path?: string | false;
|
|
18
|
+
onClose?: () => void;
|
|
19
|
+
}): { open: () => void; close: () => void } {
|
|
20
|
+
|
|
21
|
+
const navigation = useNavigationController();
|
|
22
|
+
const sideDialogsController = useSideDialogsController();
|
|
23
|
+
|
|
24
|
+
const open = useCallback(() => {
|
|
25
|
+
if (referenceDialogProps.path) {
|
|
26
|
+
let usedCollection = referenceDialogProps.collection;
|
|
27
|
+
if (!usedCollection)
|
|
28
|
+
usedCollection = navigation.getCollection(referenceDialogProps.path);
|
|
29
|
+
if (!usedCollection)
|
|
30
|
+
throw Error("Not able to resolve the collection in useReferenceDialog");
|
|
31
|
+
sideDialogsController.open({
|
|
32
|
+
key: `reference_${referenceDialogProps.path}`,
|
|
33
|
+
component:
|
|
34
|
+
<ReferenceSelectionInner
|
|
35
|
+
collection={usedCollection}
|
|
36
|
+
{...referenceDialogProps as ReferenceSelectionInnerProps<M>}/>,
|
|
37
|
+
width: "90vw",
|
|
38
|
+
onClose: () => {
|
|
39
|
+
referenceDialogProps.onClose?.();
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
} else {
|
|
43
|
+
throw Error("useReferenceDialog: You are trying to open a reference dialog, but have not declared the `path`")
|
|
44
|
+
}
|
|
45
|
+
}, [navigation, referenceDialogProps, sideDialogsController]);
|
|
46
|
+
|
|
47
|
+
const close = useCallback(() => {
|
|
48
|
+
sideDialogsController.close();
|
|
49
|
+
}, [sideDialogsController]);
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
open,
|
|
53
|
+
close
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Entity, EntityCollection, EntityCustomView, FireCMSContext, User } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* @see resolveNavigationFrom
|
|
4
|
+
* @group Hooks and utilities
|
|
5
|
+
*/
|
|
6
|
+
export type ResolvedNavigationEntry<M extends Record<string, any>> = ResolvedNavigationEntity<M> | ResolvedNavigationCollection<M> | ResolvedNavigationEntityCustom<M>;
|
|
7
|
+
/**
|
|
8
|
+
* @see resolveNavigationFrom
|
|
9
|
+
* @group Hooks and utilities
|
|
10
|
+
*/
|
|
11
|
+
export interface ResolvedNavigationEntity<M extends Record<string, any>> {
|
|
12
|
+
type: "entity";
|
|
13
|
+
entity: Entity<M>;
|
|
14
|
+
entityId: string;
|
|
15
|
+
path: string;
|
|
16
|
+
parentCollection: EntityCollection<M>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @see resolveNavigationFrom
|
|
20
|
+
* @group Hooks and utilities
|
|
21
|
+
*/
|
|
22
|
+
export interface ResolvedNavigationCollection<M extends Record<string, any>> {
|
|
23
|
+
type: "collection";
|
|
24
|
+
path: string;
|
|
25
|
+
collection: EntityCollection<M>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @see resolveNavigationFrom
|
|
29
|
+
* @group Hooks and utilities
|
|
30
|
+
*/
|
|
31
|
+
interface ResolvedNavigationEntityCustom<M extends Record<string, any>> {
|
|
32
|
+
type: "custom_view";
|
|
33
|
+
path: string;
|
|
34
|
+
view: EntityCustomView<M>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Use this function to retrieve an array of navigation entries (resolved
|
|
38
|
+
* collection, entity or entity custom_view) for the given path. You need to pass the app context
|
|
39
|
+
* that you receive in different callbacks, such as the save hooks.
|
|
40
|
+
*
|
|
41
|
+
* It will take into account the `navigation` provided at the `FireCMS` level.
|
|
42
|
+
*
|
|
43
|
+
* @param path
|
|
44
|
+
* @param context
|
|
45
|
+
* @group Hooks and utilities
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolveNavigationFrom<M extends Record<string, any>, UserType extends User>({ path, context }: {
|
|
48
|
+
path: string;
|
|
49
|
+
context: FireCMSContext<UserType>;
|
|
50
|
+
}): Promise<ResolvedNavigationEntry<M>[]>;
|
|
51
|
+
/**
|
|
52
|
+
* @group Hooks and utilities
|
|
53
|
+
*/
|
|
54
|
+
export interface NavigationFromProps {
|
|
55
|
+
path: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @group Hooks and utilities
|
|
59
|
+
*/
|
|
60
|
+
export interface NavigationFrom<M extends Record<string, any>> {
|
|
61
|
+
data?: ResolvedNavigationEntry<M>[];
|
|
62
|
+
dataLoading: boolean;
|
|
63
|
+
dataLoadingError?: Error;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Use this hook to retrieve an array of navigation entries (resolved
|
|
67
|
+
* collection or entity) for the given path. You can use this hook
|
|
68
|
+
* in any React component that lives under `FireCMS`
|
|
69
|
+
* @group Hooks and utilities
|
|
70
|
+
*/
|
|
71
|
+
export declare function useResolvedNavigationFrom<M extends Record<string, any>, UserType extends User>({ path }: NavigationFromProps): NavigationFrom<M>;
|
|
72
|
+
export {};
|