@webiny/app-website-builder 6.0.0 → 6.1.0-beta.1
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/BaseEditor/commandHandlers/CreateElement.js +8 -1
- package/BaseEditor/commandHandlers/CreateElement.js.map +1 -1
- package/BaseEditor/commandHandlers/DeleteElement.js +8 -3
- package/BaseEditor/commandHandlers/DeleteElement.js.map +1 -1
- package/BaseEditor/commandHandlers/MoveElement.js +12 -1
- package/BaseEditor/commandHandlers/MoveElement.js.map +1 -1
- package/BaseEditor/commands.d.ts +4 -0
- package/BaseEditor/commands.js +2 -0
- package/BaseEditor/commands.js.map +1 -1
- package/BaseEditor/config/EditorConfig.d.ts +494 -2
- package/BaseEditor/config/EditorConfig.js +20 -5
- package/BaseEditor/config/EditorConfig.js.map +1 -1
- package/BaseEditor/config/Element.d.ts +2 -2
- package/BaseEditor/config/Element.js.map +1 -1
- package/BaseEditor/config/ElementOverlay.d.ts +18 -0
- package/BaseEditor/config/ElementOverlay.js +49 -0
- package/BaseEditor/config/ElementOverlay.js.map +1 -0
- package/BaseEditor/config/IconButton.d.ts +1 -1
- package/BaseEditor/config/IconButton.js.map +1 -1
- package/BaseEditor/config/IsNotReadOnly.d.ts +5 -0
- package/BaseEditor/config/IsNotReadOnly.js +13 -0
- package/BaseEditor/config/IsNotReadOnly.js.map +1 -0
- package/BaseEditor/config/IsReadOnly.d.ts +5 -0
- package/BaseEditor/config/IsReadOnly.js +13 -0
- package/BaseEditor/config/IsReadOnly.js.map +1 -0
- package/BaseEditor/config/Layout.js +13 -4
- package/BaseEditor/config/Layout.js.map +1 -1
- package/BaseEditor/config/Sidebar/Layout.js +2 -0
- package/BaseEditor/config/Sidebar/Layout.js.map +1 -1
- package/BaseEditor/config/Sidebar/Tab.d.ts +1 -1
- package/BaseEditor/config/Sidebar/Tab.js +1 -1
- package/BaseEditor/config/Sidebar/Tab.js.map +1 -1
- package/BaseEditor/config/Toolbar/Layout.js +1 -1
- package/BaseEditor/config/Toolbar/Layout.js.map +1 -1
- package/BaseEditor/config/Toolbar/Toolbar.js +2 -1
- package/BaseEditor/config/Toolbar/Toolbar.js.map +1 -1
- package/BaseEditor/config/TopBar/Layout.js +1 -0
- package/BaseEditor/config/TopBar/Layout.js.map +1 -1
- package/BaseEditor/config/TopBar/MenuItem.d.ts +1 -1
- package/BaseEditor/config/TopBar/MenuItem.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/AddressBar.js +7 -6
- package/BaseEditor/defaultConfig/Content/AddressBar/AddressBar.js.map +1 -0
- package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewDomain.js +2 -2
- package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/RefreshPreview.js +2 -2
- package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/usePreviewLink.js +2 -2
- package/BaseEditor/defaultConfig/Content/Breadcrumbs/Breadcrumbs.js +2 -1
- package/BaseEditor/defaultConfig/Content/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Breadcrumbs/styles.js +9 -67
- package/BaseEditor/defaultConfig/Content/Breadcrumbs/styles.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.d.ts +2 -0
- package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.js +22 -0
- package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.js.map +1 -0
- package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.d.ts +1 -0
- package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js +54 -11
- package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Iframe.js +27 -13
- package/BaseEditor/defaultConfig/Content/Preview/Iframe.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/KeyboardShortcuts.js +4 -11
- package/BaseEditor/defaultConfig/Content/Preview/KeyboardShortcuts.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementDropLines.d.ts +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementDropLines.js +44 -4
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementDropLines.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.d.ts +1 -10
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.js +13 -8
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlayProvider.d.ts +16 -0
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlayProvider.js +19 -0
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlayProvider.js.map +1 -0
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlays.js +9 -10
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlays.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Preview.js +2 -3
- package/BaseEditor/defaultConfig/Content/Preview/Preview.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.d.ts +6 -0
- package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js +16 -0
- package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js.map +1 -0
- package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js +36 -1
- package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.d.ts +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js +6 -5
- package/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useIframeUrl.js +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useIframeUrl.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useProximityDropzone.d.ts +2 -1
- package/BaseEditor/defaultConfig/Content/Preview/useProximityDropzone.js +4 -2
- package/BaseEditor/defaultConfig/Content/Preview/useProximityDropzone.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.d.ts +3 -3
- package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.js +18 -13
- package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/{Preview/usePreviewDomain.js → usePreviewDomain.js} +1 -1
- package/BaseEditor/defaultConfig/DefaultEditorConfig.js +2 -9
- package/BaseEditor/defaultConfig/DefaultEditorConfig.js.map +1 -1
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.d.ts +19 -1
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js +3 -2
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js.map +1 -1
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useBindingsForElement.d.ts +11 -11
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useInputValue.js +15 -4
- package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useInputValue.js.map +1 -1
- package/BaseEditor/defaultConfig/Toolbar/InsertElements/useComponentGroups.js +3 -2
- package/BaseEditor/defaultConfig/Toolbar/InsertElements/useComponentGroups.js.map +1 -1
- package/BaseEditor/hooks/useCreateElement.d.ts +5 -0
- package/BaseEditor/hooks/useCreateElement.js +14 -0
- package/BaseEditor/hooks/useCreateElement.js.map +1 -0
- package/BaseEditor/hooks/useDeleteElement.d.ts +3 -0
- package/BaseEditor/hooks/useDeleteElement.js +16 -0
- package/BaseEditor/hooks/useDeleteElement.js.map +1 -0
- package/BaseEditor/hooks/useElementInputs.d.ts +10 -0
- package/BaseEditor/hooks/useElementInputs.js +33 -0
- package/BaseEditor/hooks/useElementInputs.js.map +1 -0
- package/BaseEditor/hooks/useElementOverlay.d.ts +1 -0
- package/BaseEditor/hooks/useElementOverlay.js +3 -0
- package/BaseEditor/hooks/useElementOverlay.js.map +1 -0
- package/BaseEditor/hooks/useHighlightedElement.d.ts +2 -0
- package/BaseEditor/hooks/useHighlightedElement.js +26 -0
- package/BaseEditor/hooks/useHighlightedElement.js.map +1 -0
- package/BaseEditor/hooks/useReservedUISpace.d.ts +10 -0
- package/BaseEditor/hooks/useReservedUISpace.js +48 -0
- package/BaseEditor/hooks/useReservedUISpace.js.map +1 -0
- package/BaseEditor/hooks/useUpdateElement.d.ts +3 -0
- package/BaseEditor/hooks/useUpdateElement.js +14 -0
- package/BaseEditor/hooks/useUpdateElement.js.map +1 -0
- package/DocumentEditor/StateInspector.js +16 -43
- package/DocumentEditor/StateInspector.js.map +1 -1
- package/Extension.js +1 -8
- package/Extension.js.map +1 -1
- package/components/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.d.ts +16 -0
- package/components/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.js +30 -0
- package/components/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.js.map +1 -0
- package/components/TrashBin/adapters/TrashBinDeletePageGraphQLGateway.d.ts +11 -0
- package/components/TrashBin/adapters/TrashBinDeletePageGraphQLGateway.js +30 -0
- package/components/TrashBin/adapters/TrashBinDeletePageGraphQLGateway.js.map +1 -0
- package/components/TrashBin/adapters/TrashBinItemMapper.d.ts +5 -0
- package/components/TrashBin/adapters/TrashBinItemMapper.js +18 -0
- package/components/TrashBin/adapters/TrashBinItemMapper.js.map +1 -0
- package/components/TrashBin/adapters/TrashBinListPagesGraphQLGateway.d.ts +16 -0
- package/components/TrashBin/adapters/TrashBinListPagesGraphQLGateway.js +32 -0
- package/components/TrashBin/adapters/TrashBinListPagesGraphQLGateway.js.map +1 -0
- package/components/TrashBin/adapters/TrashBinRestorePageGraphQLGateway.d.ts +14 -0
- package/components/TrashBin/adapters/TrashBinRestorePageGraphQLGateway.js +30 -0
- package/components/TrashBin/adapters/TrashBinRestorePageGraphQLGateway.js.map +1 -0
- package/components/TrashBin/adapters/graphql/bulkActionsMutation.d.ts +15 -0
- package/components/TrashBin/adapters/graphql/bulkActionsMutation.js +20 -0
- package/components/TrashBin/adapters/graphql/bulkActionsMutation.js.map +1 -0
- package/components/TrashBin/adapters/graphql/listQuery.d.ts +21 -0
- package/components/TrashBin/adapters/graphql/listQuery.js +20 -0
- package/components/TrashBin/adapters/graphql/listQuery.js.map +1 -0
- package/components/TrashBin/adapters/graphql/permanentDeleteMutation.d.ts +15 -0
- package/components/TrashBin/adapters/graphql/permanentDeleteMutation.js +18 -0
- package/components/TrashBin/adapters/graphql/permanentDeleteMutation.js.map +1 -0
- package/components/TrashBin/adapters/graphql/restoreMutation.d.ts +14 -0
- package/components/TrashBin/adapters/graphql/restoreMutation.js +20 -0
- package/components/TrashBin/adapters/graphql/restoreMutation.js.map +1 -0
- package/components/TrashBin/adapters/index.d.ts +6 -0
- package/components/TrashBin/adapters/index.js +8 -0
- package/components/TrashBin/adapters/index.js.map +1 -0
- package/components/TrashBin/adapters/usePageFields.d.ts +1 -0
- package/components/TrashBin/adapters/usePageFields.js +14 -0
- package/components/TrashBin/adapters/usePageFields.js.map +1 -0
- package/components/TrashBin/components/TrashBin.d.ts +2 -0
- package/components/TrashBin/components/TrashBin.js +70 -0
- package/components/TrashBin/components/TrashBin.js.map +1 -0
- package/components/TrashBin/components/TrashBin.styled.d.ts +13 -0
- package/components/TrashBin/components/TrashBin.styled.js +44 -0
- package/components/TrashBin/components/TrashBin.styled.js.map +1 -0
- package/components/TrashBin/components/TrashBinButton.d.ts +5 -0
- package/components/TrashBin/components/TrashBinButton.js +17 -0
- package/components/TrashBin/components/TrashBinButton.js.map +1 -0
- package/components/TrashBin/components/index.d.ts +1 -0
- package/components/TrashBin/components/index.js +3 -0
- package/components/TrashBin/components/index.js.map +1 -0
- package/components/TrashBin/index.d.ts +1 -0
- package/components/TrashBin/index.js +3 -0
- package/components/TrashBin/index.js.map +1 -0
- package/editorSdk/Editor.d.ts +6 -0
- package/editorSdk/Editor.js +8 -1
- package/editorSdk/Editor.js.map +1 -1
- package/editorSdk/utils/$createElement.d.ts +2 -1
- package/editorSdk/utils/$createElement.js +40 -1
- package/editorSdk/utils/$createElement.js.map +1 -1
- package/editorSdk/utils/$deleteElement.d.ts +2 -2
- package/editorSdk/utils/$deleteElement.js +58 -14
- package/editorSdk/utils/$deleteElement.js.map +1 -1
- package/editorSdk/utils/$getElementInputValues.d.ts +5 -0
- package/editorSdk/utils/$getElementInputValues.js +76 -0
- package/editorSdk/utils/$getElementInputValues.js.map +1 -0
- package/editorSdk/utils/$getElementsOfType.d.ts +2 -0
- package/editorSdk/utils/$getElementsOfType.js +5 -0
- package/editorSdk/utils/$getElementsOfType.js.map +1 -0
- package/editorSdk/utils/$getFirstElementOfType.d.ts +2 -0
- package/editorSdk/utils/$getFirstElementOfType.js +5 -0
- package/editorSdk/utils/$getFirstElementOfType.js.map +1 -0
- package/editorSdk/utils/$moveElement.d.ts +3 -2
- package/editorSdk/utils/$moveElement.js +14 -1
- package/editorSdk/utils/$moveElement.js.map +1 -1
- package/editorSdk/utils/$previewElementInputs.d.ts +6 -0
- package/editorSdk/utils/$previewElementInputs.js +39 -0
- package/editorSdk/utils/$previewElementInputs.js.map +1 -0
- package/editorSdk/utils/$updateElementInputs.d.ts +7 -0
- package/editorSdk/utils/$updateElementInputs.js +50 -0
- package/editorSdk/utils/$updateElementInputs.js.map +1 -0
- package/editorSdk/utils/executeOnChange.d.ts +33 -0
- package/editorSdk/utils/executeOnChange.js +246 -0
- package/editorSdk/utils/executeOnChange.js.map +1 -0
- package/editorSdk/utils/index.d.ts +6 -0
- package/editorSdk/utils/index.js +6 -0
- package/editorSdk/utils/index.js.map +1 -1
- package/exports/admin/website-builder/page/editor.d.ts +34 -2
- package/exports/admin/website-builder/page/editor.js +34 -2
- package/exports/admin/website-builder/page/editor.js.map +1 -1
- package/exports/admin/website-builder.d.ts +1 -0
- package/exports/admin/website-builder.js +1 -0
- package/exports/admin/website-builder.js.map +1 -1
- package/features/pages/deletePage/DeletePage.test.js +2 -1
- package/features/pages/deletePage/DeletePage.test.js.map +1 -1
- package/features/pages/deletePage/DeletePageGqlGateway.d.ts +2 -1
- package/features/pages/deletePage/DeletePageGqlGateway.js +3 -2
- package/features/pages/deletePage/DeletePageGqlGateway.js.map +1 -1
- package/features/pages/deletePage/DeletePageRepository.d.ts +1 -1
- package/features/pages/deletePage/DeletePageRepository.js +2 -2
- package/features/pages/deletePage/DeletePageRepository.js.map +1 -1
- package/features/pages/deletePage/DeletePageUseCase.js +1 -1
- package/features/pages/deletePage/DeletePageUseCase.js.map +1 -1
- package/features/pages/deletePage/IDeletePageGateway.d.ts +1 -1
- package/features/pages/deletePage/IDeletePageGateway.js.map +1 -1
- package/features/pages/deletePage/IDeletePageRepository.d.ts +1 -1
- package/features/pages/deletePage/IDeletePageRepository.js.map +1 -1
- package/features/pages/deletePage/IDeletePageUseCase.d.ts +1 -0
- package/features/pages/deletePage/IDeletePageUseCase.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/modules/pages/PageEditor/DefaultPageEditorConfig.js +6 -5
- package/modules/pages/PageEditor/DefaultPageEditorConfig.js.map +1 -1
- package/modules/pages/PageEditor/PageAutoSave.js +5 -5
- package/modules/pages/PageEditor/PageAutoSave.js.map +1 -1
- package/modules/pages/PageEditor/PageEditorConfig.d.ts +569 -88
- package/modules/pages/PageEditor/PageEditorConfig.js +23 -3
- package/modules/pages/PageEditor/PageEditorConfig.js.map +1 -1
- package/modules/pages/PageEditor/PageSettings/PageSettings.d.ts +30 -0
- package/modules/pages/PageEditor/PageSettings/PageSettings.js +84 -0
- package/modules/pages/PageEditor/PageSettings/PageSettings.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.js +98 -0
- package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.js +31 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.js +16 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.js +14 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.js +14 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.js +16 -0
- package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.js +31 -0
- package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.js +26 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.js +15 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.js +18 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.js +16 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.js +16 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.js +15 -0
- package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.js +15 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialImage.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialImage.js +31 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialImage.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.js +18 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.js.map +1 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.d.ts +2 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.js +15 -0
- package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.js.map +1 -0
- package/modules/pages/PageEditor/TopBar/RevisionsMenu.js.map +1 -1
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.d.ts +2 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.js +37 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.js.map +1 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.d.ts +3 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.js +73 -0
- package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.js.map +1 -0
- package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.d.ts +5 -1
- package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.js +15 -229
- package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.js.map +1 -1
- package/modules/pages/PageEditor/TopBar/SettingsButton.d.ts +6 -0
- package/modules/pages/PageEditor/TopBar/SettingsButton.js +45 -27
- package/modules/pages/PageEditor/TopBar/SettingsButton.js.map +1 -1
- package/modules/pages/PageEditor/TopBar/Title.js +10 -0
- package/modules/pages/PageEditor/TopBar/Title.js.map +1 -1
- package/modules/pages/PageEditor/usePageEditorConfig.d.ts +20 -0
- package/modules/pages/PageEditor/usePageEditorConfig.js +13 -0
- package/modules/pages/PageEditor/usePageEditorConfig.js.map +1 -0
- package/modules/pages/PagesList/components/BulkActions/BulkActionDelete.js +2 -1
- package/modules/pages/PagesList/components/BulkActions/BulkActionDelete.js.map +1 -1
- package/modules/pages/PagesList/components/Main/CreatePage/CreatePage.js +9 -1
- package/modules/pages/PagesList/components/Main/CreatePage/CreatePage.js.map +1 -1
- package/modules/pages/PagesList/components/Table/Actions/Delete.js +1 -1
- package/modules/pages/PagesList/components/Table/Actions/Delete.js.map +1 -1
- package/modules/pages/PagesList/hooks/useDeletePageConfirmationDialog.js +4 -3
- package/modules/pages/PagesList/hooks/useDeletePageConfirmationDialog.js.map +1 -1
- package/modules/pages/PagesList/hooks/usePagePreviewLink.js +1 -1
- package/modules/pages/PagesList/hooks/usePagePreviewLink.js.map +1 -1
- package/modules/pages/PagesListConfig.js +4 -0
- package/modules/pages/PagesListConfig.js.map +1 -1
- package/modules/pages/configs/list/Browser/PageAction.d.ts +1 -0
- package/modules/pages/configs/list/Browser/PageAction.js +3 -1
- package/modules/pages/configs/list/Browser/PageAction.js.map +1 -1
- package/modules/pages/configs/list/Browser/index.d.ts +1 -0
- package/modules/pages/configs/list/PageListConfig.d.ts +2 -0
- package/modules/redirects/configs/list/Browser/RedirectAction.d.ts +1 -0
- package/modules/redirects/configs/list/Browser/RedirectAction.js +3 -1
- package/modules/redirects/configs/list/Browser/RedirectAction.js.map +1 -1
- package/modules/redirects/configs/list/Browser/index.d.ts +1 -0
- package/modules/redirects/configs/list/RedirectListConfig.d.ts +1 -0
- package/package.json +35 -42
- package/presentation/navigation/NextjsConfig/markdownComponents.js +3 -1
- package/presentation/navigation/NextjsConfig/markdownComponents.js.map +1 -1
- package/types.d.ts +1 -0
- package/types.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/AddressBar.js.map +0 -1
- /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/AddressBar.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/BreakpointSelector.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/BreakpointSelector.js +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/BreakpointSelector.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/OpenInNewTab.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/OpenInNewTab.js +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/OpenInNewTab.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewDomain.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewDomain.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewInNewTab.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewInNewTab.js +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewInNewTab.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/RefreshPreview.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/RefreshPreview.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/usePreviewLink.d.ts +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/usePreviewLink.js.map +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/usePreviewDomain.d.ts → usePreviewDomain.d.ts} +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/usePreviewDomain.js.map → usePreviewDomain.js.map} +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/useSubscribeToLocalStorage.d.ts → useSubscribeToLocalStorage.d.ts} +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/useSubscribeToLocalStorage.js → useSubscribeToLocalStorage.js} +0 -0
- /package/BaseEditor/defaultConfig/Content/{Preview/useSubscribeToLocalStorage.js.map → useSubscribeToLocalStorage.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Grid","Switch","Bind","SeoNoFollow","createElement","Column","span","name","defaultValue","label","description"],"sources":["SeoNoFollow.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Switch } from \"@webiny/admin-ui\";\nimport { Bind } from \"@webiny/form\";\n\nexport const SeoNoFollow = () => {\n return (\n <Grid.Column span={12}>\n <Bind name={\"properties.seo.noFollow\"} defaultValue={false}>\n <Switch\n label={\"No Follow\"}\n description={\"Whether search engines should follow links on this page\"}\n />\n </Bind>\n </Grid.Column>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,MAAM,QAAQ,kBAAkB;AAC/C,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC7B,oBACIJ,KAAA,CAAAK,aAAA,CAACJ,IAAI,CAACK,MAAM;IAACC,IAAI,EAAE;EAAG,gBAClBP,KAAA,CAAAK,aAAA,CAACF,IAAI;IAACK,IAAI,EAAE,yBAA0B;IAACC,YAAY,EAAE;EAAM,gBACvDT,KAAA,CAAAK,aAAA,CAACH,MAAM;IACHQ,KAAK,EAAE,WAAY;IACnBC,WAAW,EAAE;EAA0D,CAC1E,CACC,CACG,CAAC;AAEtB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Grid, Switch } from "@webiny/admin-ui";
|
|
3
|
+
import { Bind } from "@webiny/form";
|
|
4
|
+
export const SeoNoIndex = () => {
|
|
5
|
+
return /*#__PURE__*/React.createElement(Grid.Column, {
|
|
6
|
+
span: 12
|
|
7
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
8
|
+
name: "properties.seo.noIndex",
|
|
9
|
+
defaultValue: false
|
|
10
|
+
}, /*#__PURE__*/React.createElement(Switch, {
|
|
11
|
+
label: "No Index",
|
|
12
|
+
description: "Whether this page should be indexed by search engines"
|
|
13
|
+
})));
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=SeoNoIndex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Grid","Switch","Bind","SeoNoIndex","createElement","Column","span","name","defaultValue","label","description"],"sources":["SeoNoIndex.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Switch } from \"@webiny/admin-ui\";\nimport { Bind } from \"@webiny/form\";\n\nexport const SeoNoIndex = () => {\n return (\n <Grid.Column span={12}>\n <Bind name={\"properties.seo.noIndex\"} defaultValue={false}>\n <Switch\n label={\"No Index\"}\n description={\"Whether this page should be indexed by search engines\"}\n />\n </Bind>\n </Grid.Column>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,MAAM,QAAQ,kBAAkB;AAC/C,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC5B,oBACIJ,KAAA,CAAAK,aAAA,CAACJ,IAAI,CAACK,MAAM;IAACC,IAAI,EAAE;EAAG,gBAClBP,KAAA,CAAAK,aAAA,CAACF,IAAI;IAACK,IAAI,EAAE,wBAAyB;IAACC,YAAY,EAAE;EAAM,gBACtDT,KAAA,CAAAK,aAAA,CAACH,MAAM;IACHQ,KAAK,EAAE,UAAW;IAClBC,WAAW,EAAE;EAAwD,CACxE,CACC,CACG,CAAC;AAEtB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Grid, Input } from "@webiny/admin-ui";
|
|
3
|
+
import { Bind } from "@webiny/form";
|
|
4
|
+
export const SeoTitle = () => {
|
|
5
|
+
return /*#__PURE__*/React.createElement(Grid.Column, {
|
|
6
|
+
span: 12
|
|
7
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
8
|
+
name: "properties.seo.title"
|
|
9
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
10
|
+
label: "Title",
|
|
11
|
+
description: "SEO title"
|
|
12
|
+
})));
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=SeoTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Grid","Input","Bind","SeoTitle","createElement","Column","span","name","label","description"],"sources":["SeoTitle.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Input } from \"@webiny/admin-ui\";\nimport { Bind } from \"@webiny/form\";\n\nexport const SeoTitle = () => {\n return (\n <Grid.Column span={12}>\n <Bind name={\"properties.seo.title\"}>\n <Input label={\"Title\"} description={\"SEO title\"} />\n </Bind>\n </Grid.Column>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AAC9C,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAO,MAAMC,QAAQ,GAAGA,CAAA,KAAM;EAC1B,oBACIJ,KAAA,CAAAK,aAAA,CAACJ,IAAI,CAACK,MAAM;IAACC,IAAI,EAAE;EAAG,gBAClBP,KAAA,CAAAK,aAAA,CAACF,IAAI;IAACK,IAAI,EAAE;EAAuB,gBAC/BR,KAAA,CAAAK,aAAA,CAACH,KAAK;IAACO,KAAK,EAAE,OAAQ;IAACC,WAAW,EAAE;EAAY,CAAE,CAChD,CACG,CAAC;AAEtB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Grid, Textarea } from "@webiny/admin-ui";
|
|
3
|
+
import { Bind } from "@webiny/form";
|
|
4
|
+
export const SocialDescription = () => {
|
|
5
|
+
return /*#__PURE__*/React.createElement(Grid.Column, {
|
|
6
|
+
span: 12
|
|
7
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
8
|
+
name: "properties.social.description"
|
|
9
|
+
}, /*#__PURE__*/React.createElement(Textarea, {
|
|
10
|
+
label: "Description",
|
|
11
|
+
description: "Description for social platforms (og:description)"
|
|
12
|
+
})));
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=SocialDescription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Grid","Textarea","Bind","SocialDescription","createElement","Column","span","name","label","description"],"sources":["SocialDescription.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Textarea } from \"@webiny/admin-ui\";\nimport { Bind } from \"@webiny/form\";\n\nexport const SocialDescription = () => {\n return (\n <Grid.Column span={12}>\n <Bind name={\"properties.social.description\"}>\n <Textarea\n label={\"Description\"}\n description={\"Description for social platforms (og:description)\"}\n />\n </Bind>\n </Grid.Column>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,QAAQ,QAAQ,kBAAkB;AACjD,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACnC,oBACIJ,KAAA,CAAAK,aAAA,CAACJ,IAAI,CAACK,MAAM;IAACC,IAAI,EAAE;EAAG,gBAClBP,KAAA,CAAAK,aAAA,CAACF,IAAI;IAACK,IAAI,EAAE;EAAgC,gBACxCR,KAAA,CAAAK,aAAA,CAACH,QAAQ;IACLO,KAAK,EAAE,aAAc;IACrBC,WAAW,EAAE;EAAoD,CACpE,CACC,CACG,CAAC;AAEtB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FileManager } from "@webiny/app-admin";
|
|
3
|
+
import { Grid, FilePicker } from "@webiny/admin-ui";
|
|
4
|
+
import { Bind } from "@webiny/form";
|
|
5
|
+
import { fileManagerItemToValue } from "../../../../../shared/fileManagerItemToValue.js";
|
|
6
|
+
export const SocialImage = () => {
|
|
7
|
+
return /*#__PURE__*/React.createElement(Grid.Column, {
|
|
8
|
+
span: 12
|
|
9
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
10
|
+
name: "properties.social.image"
|
|
11
|
+
}, ({
|
|
12
|
+
value,
|
|
13
|
+
onChange
|
|
14
|
+
}) => /*#__PURE__*/React.createElement(FileManager, {
|
|
15
|
+
images: true,
|
|
16
|
+
render: ({
|
|
17
|
+
showFileManager
|
|
18
|
+
}) => /*#__PURE__*/React.createElement(FilePicker, {
|
|
19
|
+
label: "Image",
|
|
20
|
+
description: "Select an image for social platforms (og:image)",
|
|
21
|
+
type: "compact",
|
|
22
|
+
value: value,
|
|
23
|
+
onSelectItem: () => showFileManager(file => {
|
|
24
|
+
onChange(fileManagerItemToValue(file));
|
|
25
|
+
}),
|
|
26
|
+
onRemoveItem: () => onChange(undefined)
|
|
27
|
+
})
|
|
28
|
+
})));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=SocialImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","FileManager","Grid","FilePicker","Bind","fileManagerItemToValue","SocialImage","createElement","Column","span","name","value","onChange","images","render","showFileManager","label","description","type","onSelectItem","file","onRemoveItem","undefined"],"sources":["SocialImage.tsx"],"sourcesContent":["import React from \"react\";\nimport { FileManager } from \"@webiny/app-admin\";\nimport { Grid, FilePicker } from \"@webiny/admin-ui\";\nimport { Bind } from \"@webiny/form\";\nimport { fileManagerItemToValue } from \"~/shared/fileManagerItemToValue.js\";\n\nexport const SocialImage = () => {\n return (\n <Grid.Column span={12}>\n <Bind name={\"properties.social.image\"}>\n {({ value, onChange }) => (\n <FileManager\n images={true}\n render={({ showFileManager }) => (\n <FilePicker\n label={\"Image\"}\n description=\"Select an image for social platforms (og:image)\"\n type=\"compact\"\n value={value}\n onSelectItem={() =>\n showFileManager(file => {\n onChange(fileManagerItemToValue(file));\n })\n }\n onRemoveItem={() => onChange(undefined)}\n />\n )}\n />\n )}\n </Bind>\n </Grid.Column>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,IAAI,EAAEC,UAAU,QAAQ,kBAAkB;AACnD,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,sBAAsB;AAE/B,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC7B,oBACIN,KAAA,CAAAO,aAAA,CAACL,IAAI,CAACM,MAAM;IAACC,IAAI,EAAE;EAAG,gBAClBT,KAAA,CAAAO,aAAA,CAACH,IAAI;IAACM,IAAI,EAAE;EAA0B,GACjC,CAAC;IAAEC,KAAK;IAAEC;EAAS,CAAC,kBACjBZ,KAAA,CAAAO,aAAA,CAACN,WAAW;IACRY,MAAM,EAAE,IAAK;IACbC,MAAM,EAAEA,CAAC;MAAEC;IAAgB,CAAC,kBACxBf,KAAA,CAAAO,aAAA,CAACJ,UAAU;MACPa,KAAK,EAAE,OAAQ;MACfC,WAAW,EAAC,iDAAiD;MAC7DC,IAAI,EAAC,SAAS;MACdP,KAAK,EAAEA,KAAM;MACbQ,YAAY,EAAEA,CAAA,KACVJ,eAAe,CAACK,IAAI,IAAI;QACpBR,QAAQ,CAACP,sBAAsB,CAACe,IAAI,CAAC,CAAC;MAC1C,CAAC,CACJ;MACDC,YAAY,EAAEA,CAAA,KAAMT,QAAQ,CAACU,SAAS;IAAE,CAC3C;EACH,CACL,CAEH,CACG,CAAC;AAEtB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Grid } from "@webiny/admin-ui";
|
|
3
|
+
import { MetaTags } from "../../TopBar/Settings/MetaTags.js";
|
|
4
|
+
export const SocialMetaTags = () => {
|
|
5
|
+
return /*#__PURE__*/React.createElement(Grid.Column, {
|
|
6
|
+
span: 12
|
|
7
|
+
}, /*#__PURE__*/React.createElement(MetaTags, {
|
|
8
|
+
label: "Meta Tags",
|
|
9
|
+
description: "Add more Open Graph tags",
|
|
10
|
+
bindName: "properties.social.metaTags",
|
|
11
|
+
keyName: "property",
|
|
12
|
+
keyLabel: "Property",
|
|
13
|
+
valueName: "content",
|
|
14
|
+
valueLabel: "Content"
|
|
15
|
+
}));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=SocialMetaTags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Grid","MetaTags","SocialMetaTags","createElement","Column","span","label","description","bindName","keyName","keyLabel","valueName","valueLabel"],"sources":["SocialMetaTags.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@webiny/admin-ui\";\nimport { MetaTags } from \"~/modules/pages/PageEditor/TopBar/Settings/MetaTags.js\";\n\nexport const SocialMetaTags = () => {\n return (\n <Grid.Column span={12}>\n <MetaTags\n label={\"Meta Tags\"}\n description={\"Add more Open Graph tags\"}\n bindName={\"properties.social.metaTags\"}\n keyName={\"property\"}\n keyLabel={\"Property\"}\n valueName={\"content\"}\n valueLabel={\"Content\"}\n />\n </Grid.Column>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,QAAQ;AAEjB,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAChC,oBACIH,KAAA,CAAAI,aAAA,CAACH,IAAI,CAACI,MAAM;IAACC,IAAI,EAAE;EAAG,gBAClBN,KAAA,CAAAI,aAAA,CAACF,QAAQ;IACLK,KAAK,EAAE,WAAY;IACnBC,WAAW,EAAE,0BAA2B;IACxCC,QAAQ,EAAE,4BAA6B;IACvCC,OAAO,EAAE,UAAW;IACpBC,QAAQ,EAAE,UAAW;IACrBC,SAAS,EAAE,SAAU;IACrBC,UAAU,EAAE;EAAU,CACzB,CACQ,CAAC;AAEtB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Grid, Input } from "@webiny/admin-ui";
|
|
3
|
+
import { Bind } from "@webiny/form";
|
|
4
|
+
export const SocialTitle = () => {
|
|
5
|
+
return /*#__PURE__*/React.createElement(Grid.Column, {
|
|
6
|
+
span: 12
|
|
7
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
8
|
+
name: "properties.social.title"
|
|
9
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
10
|
+
label: "Title",
|
|
11
|
+
description: "Title for social platforms (og:title)"
|
|
12
|
+
})));
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=SocialTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Grid","Input","Bind","SocialTitle","createElement","Column","span","name","label","description"],"sources":["SocialTitle.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Input } from \"@webiny/admin-ui\";\nimport { Bind } from \"@webiny/form\";\n\nexport const SocialTitle = () => {\n return (\n <Grid.Column span={12}>\n <Bind name={\"properties.social.title\"}>\n <Input label={\"Title\"} description={\"Title for social platforms (og:title)\"} />\n </Bind>\n </Grid.Column>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AAC9C,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC7B,oBACIJ,KAAA,CAAAK,aAAA,CAACJ,IAAI,CAACK,MAAM;IAACC,IAAI,EAAE;EAAG,gBAClBP,KAAA,CAAAK,aAAA,CAACF,IAAI;IAACK,IAAI,EAAE;EAA0B,gBAClCR,KAAA,CAAAK,aAAA,CAACH,KAAK;IAACO,KAAK,EAAE,OAAQ;IAACC,WAAW,EAAE;EAAwC,CAAE,CAC5E,CACG,CAAC;AAEtB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","useCallback","Button","DropdownMenu","ReactComponent","ArrowDown","Draft","Unpublished","Published","useGetPageRevisions","useSelectFromDocument","useRouter","Routes","Item","statusIcon","draft","createElement","published","unpublished","RevisionsMenu","getLink","revisions","setRevisions","loading","getPageRevisions","id","document","status","entryId","split","then","sort","a","b","Date","savedOn","getTime","reverse","currentRevision","find","r","goToRevision","window","location","pathname","Pages","Editor","trigger","disabled","variant","text","getLabel","icon","iconPosition","map","revision","key","className","onClick","locked","Icon","label","element"],"sources":["RevisionsMenu.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport { Button, DropdownMenu } from \"@webiny/admin-ui\";\nimport { ReactComponent as ArrowDown } from \"@webiny/icons/keyboard_arrow_down.svg\";\nimport { ReactComponent as Draft } from \"@webiny/icons/draw.svg\";\nimport { ReactComponent as Unpublished } from \"@webiny/icons/lock.svg\";\nimport { ReactComponent as Published } from \"@webiny/icons/remove_red_eye.svg\";\nimport { useGetPageRevisions } from \"~/features/pages/index.js\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument.js\";\nimport type { PageRevision } from \"~/domain/PageRevision/index.js\";\nimport type { EditorPage } from \"@webiny/website-builder-sdk\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { Routes } from \"~/routes.js\";\n\nconst { Item } = DropdownMenu;\n\nconst statusIcon: Record<string, JSX.Element> = {\n draft: <Draft />,\n published: <Published />,\n unpublished: <Unpublished />\n};\n\nexport const RevisionsMenu = () => {\n const { getLink } = useRouter();\n const [revisions, setRevisions] = useState<PageRevision[]>([]);\n const { loading, getPageRevisions } = useGetPageRevisions();\n const id = useSelectFromDocument(document => document.id);\n const status = useSelectFromDocument<string, EditorPage>(document => document.status);\n\n useEffect(() => {\n const [entryId] = id.split(\"#\");\n getPageRevisions({ entryId }).then(revisions => {\n setRevisions(\n revisions\n .sort((a, b) => {\n return new Date(a.savedOn).getTime() - new Date(b.savedOn).getTime();\n })\n .reverse()\n );\n });\n }, [id, status]);\n\n const currentRevision = revisions.find(r => r.id === id);\n\n const goToRevision = useCallback((id: string) => {\n // TODO: make this work without a full app reload\n window.location.pathname = getLink(Routes.Pages.Editor, { id });\n }, []);\n\n return (\n <DropdownMenu\n trigger={\n <Button\n disabled={loading}\n variant=\"ghost\"\n text={currentRevision ? currentRevision.getLabel() : \"Loading...\"}\n icon={<ArrowDown />}\n iconPosition={\"end\"}\n />\n }\n >\n {revisions.map(revision => (\n <Item\n key={revision.id}\n className={\"cursor-pointer\"}\n onClick={() => goToRevision(revision.id)}\n disabled={revision.locked}\n icon={\n <Item.Icon\n label={revision.getLabel()}\n element={statusIcon[revision.status]}\n />\n }\n text={revision.getLabel()}\n />\n ))}\n </DropdownMenu>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,QAAQ,OAAO;AAC/D,SAASC,MAAM,EAAEC,YAAY,QAAQ,kBAAkB;AACvD,SAASC,cAAc,IAAIC,SAAS,QAAQ,uCAAuC;AACnF,SAASD,cAAc,IAAIE,KAAK,QAAQ,wBAAwB;AAChE,SAASF,cAAc,IAAIG,WAAW,QAAQ,wBAAwB;AACtE,SAASH,cAAc,IAAII,SAAS,QAAQ,kCAAkC;AAC9E,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAG9B,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,MAAM;AAEf,MAAM;EAAEC;AAAK,CAAC,GAAGV,YAAY;AAE7B,MAAMW,
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useCallback","Button","DropdownMenu","ReactComponent","ArrowDown","Draft","Unpublished","Published","useGetPageRevisions","useSelectFromDocument","useRouter","Routes","Item","statusIcon","draft","createElement","published","unpublished","RevisionsMenu","getLink","revisions","setRevisions","loading","getPageRevisions","id","document","status","entryId","split","then","sort","a","b","Date","savedOn","getTime","reverse","currentRevision","find","r","goToRevision","window","location","pathname","Pages","Editor","trigger","disabled","variant","text","getLabel","icon","iconPosition","map","revision","key","className","onClick","locked","Icon","label","element"],"sources":["RevisionsMenu.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport { Button, DropdownMenu } from \"@webiny/admin-ui\";\nimport { ReactComponent as ArrowDown } from \"@webiny/icons/keyboard_arrow_down.svg\";\nimport { ReactComponent as Draft } from \"@webiny/icons/draw.svg\";\nimport { ReactComponent as Unpublished } from \"@webiny/icons/lock.svg\";\nimport { ReactComponent as Published } from \"@webiny/icons/remove_red_eye.svg\";\nimport { useGetPageRevisions } from \"~/features/pages/index.js\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument.js\";\nimport type { PageRevision } from \"~/domain/PageRevision/index.js\";\nimport type { EditorPage } from \"@webiny/website-builder-sdk\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { Routes } from \"~/routes.js\";\n\nconst { Item } = DropdownMenu;\n\nconst statusIcon: Record<string, React.JSX.Element> = {\n draft: <Draft />,\n published: <Published />,\n unpublished: <Unpublished />\n};\n\nexport const RevisionsMenu = () => {\n const { getLink } = useRouter();\n const [revisions, setRevisions] = useState<PageRevision[]>([]);\n const { loading, getPageRevisions } = useGetPageRevisions();\n const id = useSelectFromDocument(document => document.id);\n const status = useSelectFromDocument<string, EditorPage>(document => document.status);\n\n useEffect(() => {\n const [entryId] = id.split(\"#\");\n getPageRevisions({ entryId }).then(revisions => {\n setRevisions(\n revisions\n .sort((a, b) => {\n return new Date(a.savedOn).getTime() - new Date(b.savedOn).getTime();\n })\n .reverse()\n );\n });\n }, [id, status]);\n\n const currentRevision = revisions.find(r => r.id === id);\n\n const goToRevision = useCallback((id: string) => {\n // TODO: make this work without a full app reload\n window.location.pathname = getLink(Routes.Pages.Editor, { id });\n }, []);\n\n return (\n <DropdownMenu\n trigger={\n <Button\n disabled={loading}\n variant=\"ghost\"\n text={currentRevision ? currentRevision.getLabel() : \"Loading...\"}\n icon={<ArrowDown />}\n iconPosition={\"end\"}\n />\n }\n >\n {revisions.map(revision => (\n <Item\n key={revision.id}\n className={\"cursor-pointer\"}\n onClick={() => goToRevision(revision.id)}\n disabled={revision.locked}\n icon={\n <Item.Icon\n label={revision.getLabel()}\n element={statusIcon[revision.status]}\n />\n }\n text={revision.getLabel()}\n />\n ))}\n </DropdownMenu>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React, { useEffect } from "react";
|
|
2
|
+
import { useDialogs } from "@webiny/app-admin";
|
|
3
|
+
import { SettingsDialogBody } from "./SettingsDialogBody.js";
|
|
4
|
+
import { usePageEditorConfig } from "../../usePageEditorConfig.js";
|
|
5
|
+
export const PageSettingsDialog = ({
|
|
6
|
+
open,
|
|
7
|
+
data,
|
|
8
|
+
onClose,
|
|
9
|
+
onSave
|
|
10
|
+
}) => {
|
|
11
|
+
const dialogs = useDialogs();
|
|
12
|
+
const {
|
|
13
|
+
pageSettings
|
|
14
|
+
} = usePageEditorConfig();
|
|
15
|
+
const showDialog = () => {
|
|
16
|
+
dialogs.showDialog({
|
|
17
|
+
title: "Page Settings",
|
|
18
|
+
description: "Configure your page settings, SEO and Social metadata.",
|
|
19
|
+
dismissible: false,
|
|
20
|
+
acceptLabel: "Save Settings",
|
|
21
|
+
formData: data,
|
|
22
|
+
content: /*#__PURE__*/React.createElement(SettingsDialogBody, {
|
|
23
|
+
pageSettings: pageSettings
|
|
24
|
+
}),
|
|
25
|
+
onAccept: onSave,
|
|
26
|
+
onClose
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (open) {
|
|
31
|
+
showDialog();
|
|
32
|
+
}
|
|
33
|
+
}, [open]);
|
|
34
|
+
return null;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=PageSettingsDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useDialogs","SettingsDialogBody","usePageEditorConfig","PageSettingsDialog","open","data","onClose","onSave","dialogs","pageSettings","showDialog","title","description","dismissible","acceptLabel","formData","content","createElement","onAccept"],"sources":["PageSettingsDialog.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { SettingsDialogBody } from \"./SettingsDialogBody.js\";\nimport type { PageSettingsOverlayProps } from \"~/modules/pages/PageEditor/TopBar/SettingsButton.js\";\nimport { usePageEditorConfig } from \"~/modules/pages/PageEditor/usePageEditorConfig.js\";\n\nexport const PageSettingsDialog = ({ open, data, onClose, onSave }: PageSettingsOverlayProps) => {\n const dialogs = useDialogs();\n const { pageSettings } = usePageEditorConfig();\n\n const showDialog = () => {\n dialogs.showDialog({\n title: \"Page Settings\",\n description: \"Configure your page settings, SEO and Social metadata.\",\n dismissible: false,\n acceptLabel: \"Save Settings\",\n formData: data,\n content: <SettingsDialogBody pageSettings={pageSettings} />,\n onAccept: onSave,\n onClose\n });\n };\n\n useEffect(() => {\n if (open) {\n showDialog();\n }\n }, [open]);\n\n return null;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,kBAAkB;AAE3B,SAASC,mBAAmB;AAE5B,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC,OAAO;EAAEC;AAAiC,CAAC,KAAK;EAC7F,MAAMC,OAAO,GAAGR,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAES;EAAa,CAAC,GAAGP,mBAAmB,CAAC,CAAC;EAE9C,MAAMQ,UAAU,GAAGA,CAAA,KAAM;IACrBF,OAAO,CAACE,UAAU,CAAC;MACfC,KAAK,EAAE,eAAe;MACtBC,WAAW,EAAE,wDAAwD;MACrEC,WAAW,EAAE,KAAK;MAClBC,WAAW,EAAE,eAAe;MAC5BC,QAAQ,EAAEV,IAAI;MACdW,OAAO,eAAElB,KAAA,CAAAmB,aAAA,CAAChB,kBAAkB;QAACQ,YAAY,EAAEA;MAAa,CAAE,CAAC;MAC3DS,QAAQ,EAAEX,MAAM;MAChBD;IACJ,CAAC,CAAC;EACN,CAAC;EAEDP,SAAS,CAAC,MAAM;IACZ,IAAIK,IAAI,EAAE;MACNM,UAAU,CAAC,CAAC;IAChB;EACJ,CAAC,EAAE,CAACN,IAAI,CAAC,CAAC;EAEV,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import React, { Fragment, useRef, useState } from "react";
|
|
2
|
+
import { Form } from "@webiny/form";
|
|
3
|
+
import { Drawer, Heading, Text, List, Grid } from "@webiny/admin-ui";
|
|
4
|
+
import { usePageEditorConfig } from "../../usePageEditorConfig.js";
|
|
5
|
+
export const PageSettingsDrawer = ({
|
|
6
|
+
open,
|
|
7
|
+
data,
|
|
8
|
+
onSave,
|
|
9
|
+
onClose
|
|
10
|
+
}) => {
|
|
11
|
+
const formRef = useRef();
|
|
12
|
+
const {
|
|
13
|
+
pageSettings
|
|
14
|
+
} = usePageEditorConfig();
|
|
15
|
+
const groups = pageSettings.groups;
|
|
16
|
+
const [activeGroup, setActiveGroup] = useState(groups[0].name);
|
|
17
|
+
const group = groups.find(g => g.name === activeGroup);
|
|
18
|
+
let activeContent = null;
|
|
19
|
+
if (group) {
|
|
20
|
+
activeContent = group.elements.map((el, index) => /*#__PURE__*/React.createElement(Fragment, {
|
|
21
|
+
key: index
|
|
22
|
+
}, el.element));
|
|
23
|
+
}
|
|
24
|
+
return /*#__PURE__*/React.createElement(Drawer, {
|
|
25
|
+
open: open,
|
|
26
|
+
onClose: onClose,
|
|
27
|
+
modal: true,
|
|
28
|
+
width: 900,
|
|
29
|
+
bodyPadding: false,
|
|
30
|
+
title: "Page Settings",
|
|
31
|
+
actions: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Drawer.CancelButton, {
|
|
32
|
+
text: "Cancel"
|
|
33
|
+
}), /*#__PURE__*/React.createElement(Drawer.ConfirmButton, {
|
|
34
|
+
onClick: () => formRef.current?.submit(),
|
|
35
|
+
text: "Save Settings"
|
|
36
|
+
})),
|
|
37
|
+
headerSeparator: true,
|
|
38
|
+
footerSeparator: true,
|
|
39
|
+
className: "flex flex-col"
|
|
40
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
41
|
+
className: "flex flex-row flex-1 min-h-full shrink-0"
|
|
42
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
className: "flex flex-col",
|
|
44
|
+
style: {
|
|
45
|
+
width: 300
|
|
46
|
+
}
|
|
47
|
+
}, /*#__PURE__*/React.createElement(List, null, groups.map(group => /*#__PURE__*/React.createElement(List.Item, {
|
|
48
|
+
className: "fill-neutral-strong",
|
|
49
|
+
icon: group.icon,
|
|
50
|
+
key: group.name,
|
|
51
|
+
title: group.title,
|
|
52
|
+
description: group.description,
|
|
53
|
+
activated: activeGroup === group.name,
|
|
54
|
+
onClick: () => setActiveGroup(group.name)
|
|
55
|
+
})))), /*#__PURE__*/React.createElement("div", {
|
|
56
|
+
className: "flex flex-col flex-1 p-md border-l border-neutral-dimmed"
|
|
57
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
58
|
+
className: "p-md"
|
|
59
|
+
}, /*#__PURE__*/React.createElement(Heading, {
|
|
60
|
+
level: 4,
|
|
61
|
+
className: "text-neutral-primary"
|
|
62
|
+
}, group?.title), /*#__PURE__*/React.createElement(Text, {
|
|
63
|
+
size: "sm"
|
|
64
|
+
}, group?.description)), /*#__PURE__*/React.createElement("div", {
|
|
65
|
+
className: "p-md"
|
|
66
|
+
}, /*#__PURE__*/React.createElement(Form, {
|
|
67
|
+
data: data,
|
|
68
|
+
ref: formRef,
|
|
69
|
+
onSubmit: onSave
|
|
70
|
+
}, () => /*#__PURE__*/React.createElement(Grid, null, activeContent))))));
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=PageSettingsDrawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Fragment","useRef","useState","Form","Drawer","Heading","Text","List","Grid","usePageEditorConfig","PageSettingsDrawer","open","data","onSave","onClose","formRef","pageSettings","groups","activeGroup","setActiveGroup","name","group","find","g","activeContent","elements","map","el","index","createElement","key","element","modal","width","bodyPadding","title","actions","CancelButton","text","ConfirmButton","onClick","current","submit","headerSeparator","footerSeparator","className","style","Item","icon","description","activated","level","size","ref","onSubmit"],"sources":["PageSettingsDrawer.tsx"],"sourcesContent":["import React, { Fragment, useRef, useState } from \"react\";\nimport { Form, type FormAPI } from \"@webiny/form\";\nimport { Drawer, Heading, Text, List, Grid } from \"@webiny/admin-ui\";\nimport type { PageSettingsOverlayProps } from \"~/modules/pages/PageEditor/TopBar/SettingsButton.js\";\nimport { usePageEditorConfig } from \"~/modules/pages/PageEditor/usePageEditorConfig.js\";\n\nexport const PageSettingsDrawer = ({ open, data, onSave, onClose }: PageSettingsOverlayProps) => {\n const formRef = useRef<FormAPI | undefined>();\n const { pageSettings } = usePageEditorConfig();\n\n const groups = pageSettings.groups;\n\n const [activeGroup, setActiveGroup] = useState(groups[0].name);\n\n const group = groups.find(g => g.name === activeGroup);\n\n let activeContent = null;\n if (group) {\n activeContent = group.elements.map((el, index) => (\n <Fragment key={index}>{el.element}</Fragment>\n ));\n }\n\n return (\n <Drawer\n open={open}\n onClose={onClose}\n modal={true}\n width={900}\n bodyPadding={false}\n title={\"Page Settings\"}\n actions={\n <>\n <Drawer.CancelButton text={\"Cancel\"} />\n <Drawer.ConfirmButton\n onClick={() => formRef.current?.submit()}\n text={\"Save Settings\"}\n />\n </>\n }\n headerSeparator={true}\n footerSeparator={true}\n className={\"flex flex-col\"}\n >\n <div className={\"flex flex-row flex-1 min-h-full shrink-0\"}>\n <div className={\"flex flex-col\"} style={{ width: 300 }}>\n <List>\n {groups.map(group => (\n <List.Item\n className={\"fill-neutral-strong\"}\n icon={group.icon}\n key={group.name}\n title={group.title}\n description={group.description}\n activated={activeGroup === group.name}\n onClick={() => setActiveGroup(group.name)}\n />\n ))}\n </List>\n </div>\n <div className={\"flex flex-col flex-1 p-md border-l border-neutral-dimmed\"}>\n <div className={\"p-md\"}>\n <Heading level={4} className={\"text-neutral-primary\"}>\n {group?.title}\n </Heading>\n <Text size={\"sm\"}>{group?.description}</Text>\n </div>\n <div className={\"p-md\"}>\n <Form data={data} ref={formRef} onSubmit={onSave}>\n {() => <Grid>{activeContent}</Grid>}\n </Form>\n </div>\n </div>\n </div>\n </Drawer>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
import type { EditorPageSettings } from "../../../../../modules/pages/PageEditor/usePageEditorConfig.js";
|
|
3
|
+
export interface SettingsDialogBodyProps {
|
|
4
|
+
pageSettings: EditorPageSettings;
|
|
5
|
+
}
|
|
6
|
+
export declare const SettingsDialogBody: ({ pageSettings }: SettingsDialogBodyProps) => React.JSX.Element;
|
|
@@ -1,235 +1,21 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { ReactComponent as SeoIcon } from "@webiny/icons/search.svg";
|
|
7
|
-
import { validation } from "@webiny/validation";
|
|
8
|
-
import { ReactComponent as SocialIcon } from "@webiny/icons/thumb_up.svg";
|
|
9
|
-
import { ReactComponent as SchemaIcon } from "@webiny/icons/schema.svg";
|
|
10
|
-
import { MetaTags } from "./MetaTags.js";
|
|
11
|
-
import { SimpleTags } from "./SimpleTags.js";
|
|
12
|
-
import { fileManagerItemToValue } from "../../../../../shared/fileManagerItemToValue.js";
|
|
13
|
-
const PATHNAME_REGEX = new RegExp(`^\\/(?:[a-zA-Z0-9._~:@!$&'()*+,;=%/-])*(?:\\?[a-zA-Z0-9._~:@!$&'()*+,;=?/%#[\\]-]*)?(?:#[a-zA-Z0-9._~:@!$&'()*+,;=?/%#[\\]-]*)?$`);
|
|
14
|
-
const validatePathname = pathname => {
|
|
15
|
-
if (!pathname) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (PATHNAME_REGEX.test(pathname)) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
throw new Error(`Enter a valid pathname, e.g.: /path/to/page?query=value`);
|
|
22
|
-
};
|
|
23
|
-
export const SettingsDialogBody = () => {
|
|
2
|
+
import { Tabs, Grid } from "@webiny/admin-ui";
|
|
3
|
+
export const SettingsDialogBody = ({
|
|
4
|
+
pageSettings
|
|
5
|
+
}) => {
|
|
24
6
|
return /*#__PURE__*/React.createElement(Tabs, {
|
|
25
|
-
tabs:
|
|
26
|
-
key:
|
|
27
|
-
value:
|
|
28
|
-
trigger:
|
|
29
|
-
icon:
|
|
30
|
-
content: /*#__PURE__*/React.createElement(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
content: /*#__PURE__*/React.createElement(SeoSettingsForm, null)
|
|
37
|
-
}), /*#__PURE__*/React.createElement(Tabs.Tab, {
|
|
38
|
-
key: "social",
|
|
39
|
-
value: "social",
|
|
40
|
-
trigger: "Social",
|
|
41
|
-
icon: /*#__PURE__*/React.createElement(SocialIcon, null),
|
|
42
|
-
content: /*#__PURE__*/React.createElement(SocialSettingsForm, null)
|
|
43
|
-
}), /*#__PURE__*/React.createElement(Tabs.Tab, {
|
|
44
|
-
key: "schema",
|
|
45
|
-
value: "schema",
|
|
46
|
-
trigger: "Schema",
|
|
47
|
-
icon: /*#__PURE__*/React.createElement(SchemaIcon, null),
|
|
48
|
-
content: /*#__PURE__*/React.createElement(SchemaForm, null)
|
|
49
|
-
})]
|
|
7
|
+
tabs: pageSettings.groups.map(group => /*#__PURE__*/React.createElement(Tabs.Tab, {
|
|
8
|
+
key: group.name,
|
|
9
|
+
value: group.name,
|
|
10
|
+
trigger: group.title,
|
|
11
|
+
icon: group.icon,
|
|
12
|
+
content: /*#__PURE__*/React.createElement(Grid, {
|
|
13
|
+
className: "mt-md"
|
|
14
|
+
}, (group.elements || []).map(el => /*#__PURE__*/React.createElement(React.Fragment, {
|
|
15
|
+
key: el.name
|
|
16
|
+
}, el.element)))
|
|
17
|
+
}))
|
|
50
18
|
});
|
|
51
19
|
};
|
|
52
|
-
const GeneralSettingsForm = () => {
|
|
53
|
-
return /*#__PURE__*/React.createElement(Grid, {
|
|
54
|
-
className: "mt-md"
|
|
55
|
-
}, /*#__PURE__*/React.createElement(Grid.Column, {
|
|
56
|
-
span: 12
|
|
57
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
58
|
-
name: "properties.title",
|
|
59
|
-
validators: [validation.create("required")]
|
|
60
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
61
|
-
label: "Page title"
|
|
62
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
63
|
-
span: 12
|
|
64
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
65
|
-
name: "properties.path",
|
|
66
|
-
validators: [validation.create("required")]
|
|
67
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
68
|
-
label: "Path"
|
|
69
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
70
|
-
span: 12
|
|
71
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
72
|
-
name: "properties.snippet"
|
|
73
|
-
}, /*#__PURE__*/React.createElement(Textarea, {
|
|
74
|
-
label: "Snippet"
|
|
75
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
76
|
-
span: 12
|
|
77
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
78
|
-
name: "properties.image"
|
|
79
|
-
}, ({
|
|
80
|
-
value,
|
|
81
|
-
onChange
|
|
82
|
-
}) => /*#__PURE__*/React.createElement(FileManager, {
|
|
83
|
-
images: true,
|
|
84
|
-
render: ({
|
|
85
|
-
showFileManager
|
|
86
|
-
}) => /*#__PURE__*/React.createElement(FilePicker, {
|
|
87
|
-
label: "Image",
|
|
88
|
-
description: "Select an image to represent this page",
|
|
89
|
-
type: "compact",
|
|
90
|
-
value: value,
|
|
91
|
-
onSelectItem: () => showFileManager(file => {
|
|
92
|
-
onChange(fileManagerItemToValue(file));
|
|
93
|
-
}),
|
|
94
|
-
onRemoveItem: () => onChange(undefined)
|
|
95
|
-
})
|
|
96
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
97
|
-
span: 12
|
|
98
|
-
}, /*#__PURE__*/React.createElement(SimpleTags, {
|
|
99
|
-
bindName: "properties.tags",
|
|
100
|
-
label: "Tags",
|
|
101
|
-
description: "Add page tags. These can be used for page rendering, filtering, etc."
|
|
102
|
-
})));
|
|
103
|
-
};
|
|
104
|
-
const SeoSettingsForm = () => {
|
|
105
|
-
return /*#__PURE__*/React.createElement(Grid, {
|
|
106
|
-
className: "mt-md"
|
|
107
|
-
}, /*#__PURE__*/React.createElement(Grid.Column, {
|
|
108
|
-
span: 12
|
|
109
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
110
|
-
name: "properties.seo.title"
|
|
111
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
112
|
-
label: "Title",
|
|
113
|
-
description: "SEO title"
|
|
114
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
115
|
-
span: 12
|
|
116
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
117
|
-
name: "properties.seo.description"
|
|
118
|
-
}, /*#__PURE__*/React.createElement(Textarea, {
|
|
119
|
-
label: "Description",
|
|
120
|
-
description: "SEO description"
|
|
121
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
122
|
-
span: 12
|
|
123
|
-
}, /*#__PURE__*/React.createElement(MetaTags, {
|
|
124
|
-
label: "Meta Tags",
|
|
125
|
-
description: "Add SEO tags",
|
|
126
|
-
bindName: "properties.seo.metaTags",
|
|
127
|
-
keyName: "name",
|
|
128
|
-
keyLabel: "Name",
|
|
129
|
-
valueName: "content",
|
|
130
|
-
valueLabel: "Content"
|
|
131
|
-
})), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
132
|
-
span: 12
|
|
133
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
134
|
-
name: "properties.seo.canonicalUrl",
|
|
135
|
-
validators: [validatePathname]
|
|
136
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
137
|
-
label: "Canonical URL",
|
|
138
|
-
description: "The canonical URL for this page"
|
|
139
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
140
|
-
span: 12
|
|
141
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
142
|
-
name: "properties.seo.noIndex",
|
|
143
|
-
defaultValue: false
|
|
144
|
-
}, /*#__PURE__*/React.createElement(Switch, {
|
|
145
|
-
label: "No Index",
|
|
146
|
-
description: "Whether this page should be indexed by search engines"
|
|
147
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
148
|
-
span: 12
|
|
149
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
150
|
-
name: "properties.seo.noFollow",
|
|
151
|
-
defaultValue: false
|
|
152
|
-
}, /*#__PURE__*/React.createElement(Switch, {
|
|
153
|
-
label: "No Follow",
|
|
154
|
-
description: "Whether search engines should follow links on this page"
|
|
155
|
-
}))));
|
|
156
|
-
};
|
|
157
|
-
const SocialSettingsForm = () => {
|
|
158
|
-
return /*#__PURE__*/React.createElement(Grid, {
|
|
159
|
-
className: "mt-md"
|
|
160
|
-
}, /*#__PURE__*/React.createElement(Grid.Column, {
|
|
161
|
-
span: 12
|
|
162
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
163
|
-
name: "properties.social.title"
|
|
164
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
165
|
-
label: "Title",
|
|
166
|
-
description: "Title for social platforms (og:title)"
|
|
167
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
168
|
-
span: 12
|
|
169
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
170
|
-
name: "properties.social.description"
|
|
171
|
-
}, /*#__PURE__*/React.createElement(Textarea, {
|
|
172
|
-
label: "Description",
|
|
173
|
-
description: "Description for social platforms (og:description)"
|
|
174
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
175
|
-
span: 12
|
|
176
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
177
|
-
name: "properties.social.image"
|
|
178
|
-
}, ({
|
|
179
|
-
value,
|
|
180
|
-
onChange
|
|
181
|
-
}) => /*#__PURE__*/React.createElement(FileManager, {
|
|
182
|
-
images: true,
|
|
183
|
-
render: ({
|
|
184
|
-
showFileManager
|
|
185
|
-
}) => /*#__PURE__*/React.createElement(FilePicker, {
|
|
186
|
-
label: "Image",
|
|
187
|
-
description: "Select an image for social platforms (og:image)",
|
|
188
|
-
type: "compact",
|
|
189
|
-
value: value,
|
|
190
|
-
onSelectItem: () => showFileManager(file => {
|
|
191
|
-
onChange(fileManagerItemToValue(file));
|
|
192
|
-
}),
|
|
193
|
-
onRemoveItem: () => onChange(undefined)
|
|
194
|
-
})
|
|
195
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
196
|
-
span: 12
|
|
197
|
-
}, /*#__PURE__*/React.createElement(MetaTags, {
|
|
198
|
-
label: "Meta Tags",
|
|
199
|
-
description: "Add more Open Graph tags",
|
|
200
|
-
bindName: "properties.social.metaTags",
|
|
201
|
-
keyName: "property",
|
|
202
|
-
keyLabel: "Property",
|
|
203
|
-
valueName: "content",
|
|
204
|
-
valueLabel: "Content"
|
|
205
|
-
})));
|
|
206
|
-
};
|
|
207
|
-
const SchemaForm = () => {
|
|
208
|
-
return /*#__PURE__*/React.createElement(Grid, {
|
|
209
|
-
className: "mt-md"
|
|
210
|
-
}, /*#__PURE__*/React.createElement(Grid.Column, {
|
|
211
|
-
span: 12
|
|
212
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
213
|
-
size: "sm",
|
|
214
|
-
className: ""
|
|
215
|
-
}, "Enter your\xA0", /*#__PURE__*/React.createElement("a", {
|
|
216
|
-
href: "https://schema.org",
|
|
217
|
-
target: "_blank",
|
|
218
|
-
rel: "noreferrer noopener"
|
|
219
|
-
}, "schema.org"), "\xA0 markup for this page:")), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
220
|
-
span: 12
|
|
221
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
222
|
-
name: "properties.seo.structuredSchema",
|
|
223
|
-
defaultValue: ""
|
|
224
|
-
}, ({
|
|
225
|
-
value,
|
|
226
|
-
onChange
|
|
227
|
-
}) => /*#__PURE__*/React.createElement(CodeEditor, {
|
|
228
|
-
value: value,
|
|
229
|
-
height: 400,
|
|
230
|
-
onChange: onChange,
|
|
231
|
-
language: "html"
|
|
232
|
-
}))));
|
|
233
|
-
};
|
|
234
20
|
|
|
235
21
|
//# sourceMappingURL=SettingsDialogBody.js.map
|