@wordpress/editor 14.7.0 → 14.7.1-next.1f6eadc42.0
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 +4 -0
- package/build/bindings/post-meta.js +2 -1
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/block-manager/index.js +2 -4
- package/build/components/block-manager/index.js.map +1 -1
- package/build/components/editor/index.js +2 -2
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-history/redo.js +2 -4
- package/build/components/editor-history/redo.js.map +1 -1
- package/build/components/editor-history/undo.js +2 -4
- package/build/components/editor-history/undo.js.map +1 -1
- package/build/components/error-boundary/index.js +2 -4
- package/build/components/error-boundary/index.js.map +1 -1
- package/build/components/global-styles-provider/index.js +3 -4
- package/build/components/global-styles-provider/index.js.map +1 -1
- package/build/components/header/index.js +6 -4
- package/build/components/header/index.js.map +1 -1
- package/build/components/inserter-sidebar/index.js +2 -5
- package/build/components/inserter-sidebar/index.js.map +1 -1
- package/build/components/post-excerpt/panel.js +2 -5
- package/build/components/post-excerpt/panel.js.map +1 -1
- package/build/components/post-featured-image/index.js +6 -12
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-format/index.js +2 -4
- package/build/components/post-format/index.js.map +1 -1
- package/build/components/post-last-revision/index.js +2 -4
- package/build/components/post-last-revision/index.js.map +1 -1
- package/build/components/post-locked-modal/index.js +4 -8
- package/build/components/post-locked-modal/index.js.map +1 -1
- package/build/components/post-publish-panel/index.js +2 -4
- package/build/components/post-publish-panel/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-post-format-panel.js +2 -4
- package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-upload-media.js +153 -36
- package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build/components/post-publish-panel/media-util.js +79 -0
- package/build/components/post-publish-panel/media-util.js.map +1 -0
- package/build/components/post-trash/check.js +2 -1
- package/build/components/post-trash/check.js.map +1 -1
- package/build/components/post-trash/index.js +22 -8
- package/build/components/post-trash/index.js.map +1 -1
- package/build/components/preferences-modal/index.js +28 -1
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/preview-dropdown/index.js +5 -57
- package/build/components/preview-dropdown/index.js.map +1 -1
- package/build/components/provider/index.js +34 -8
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +9 -4
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/sidebar/post-summary.js +3 -0
- package/build/components/sidebar/post-summary.js.map +1 -1
- package/build/components/start-page-options/index.js +16 -19
- package/build/components/start-page-options/index.js.map +1 -1
- package/build/components/start-template-options/index.js +2 -4
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/components/table-of-contents/index.js +2 -4
- package/build/components/table-of-contents/index.js.map +1 -1
- package/build/components/text-editor/index.js +2 -4
- package/build/components/text-editor/index.js.map +1 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js +1 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build/components/zoom-out-toggle/index.js +38 -0
- package/build/components/zoom-out-toggle/index.js.map +1 -0
- package/build/dataviews/actions/reset-post.js +4 -8
- package/build/dataviews/actions/reset-post.js.map +1 -1
- package/build/dataviews/actions/trash-post.js +4 -8
- package/build/dataviews/actions/trash-post.js.map +1 -1
- package/build/dataviews/store/private-actions.js +4 -10
- package/build/dataviews/store/private-actions.js.map +1 -1
- package/build/store/selectors.js +7 -3
- package/build/store/selectors.js.map +1 -1
- package/build-module/bindings/post-meta.js +2 -1
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/block-manager/index.js +2 -4
- package/build-module/components/block-manager/index.js.map +1 -1
- package/build-module/components/editor/index.js +2 -2
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-history/redo.js +2 -4
- package/build-module/components/editor-history/redo.js.map +1 -1
- package/build-module/components/editor-history/undo.js +2 -4
- package/build-module/components/editor-history/undo.js.map +1 -1
- package/build-module/components/error-boundary/index.js +2 -4
- package/build-module/components/error-boundary/index.js.map +1 -1
- package/build-module/components/global-styles-provider/index.js +3 -4
- package/build-module/components/global-styles-provider/index.js.map +1 -1
- package/build-module/components/header/index.js +6 -4
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/inserter-sidebar/index.js +2 -5
- package/build-module/components/inserter-sidebar/index.js.map +1 -1
- package/build-module/components/post-excerpt/panel.js +2 -5
- package/build-module/components/post-excerpt/panel.js.map +1 -1
- package/build-module/components/post-featured-image/index.js +6 -12
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-format/index.js +2 -4
- package/build-module/components/post-format/index.js.map +1 -1
- package/build-module/components/post-last-revision/index.js +2 -4
- package/build-module/components/post-last-revision/index.js.map +1 -1
- package/build-module/components/post-locked-modal/index.js +4 -8
- package/build-module/components/post-locked-modal/index.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js +2 -4
- package/build-module/components/post-publish-panel/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js +2 -4
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js +152 -35
- package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build-module/components/post-publish-panel/media-util.js +72 -0
- package/build-module/components/post-publish-panel/media-util.js.map +1 -0
- package/build-module/components/post-trash/check.js +2 -1
- package/build-module/components/post-trash/check.js.map +1 -1
- package/build-module/components/post-trash/index.js +23 -11
- package/build-module/components/post-trash/index.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +28 -1
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/preview-dropdown/index.js +5 -57
- package/build-module/components/preview-dropdown/index.js.map +1 -1
- package/build-module/components/provider/index.js +35 -9
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +9 -4
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/sidebar/post-summary.js +3 -0
- package/build-module/components/sidebar/post-summary.js.map +1 -1
- package/build-module/components/start-page-options/index.js +17 -21
- package/build-module/components/start-page-options/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +2 -4
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/table-of-contents/index.js +2 -4
- package/build-module/components/table-of-contents/index.js.map +1 -1
- package/build-module/components/text-editor/index.js +2 -4
- package/build-module/components/text-editor/index.js.map +1 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js +1 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/zoom-out-toggle/index.js +31 -0
- package/build-module/components/zoom-out-toggle/index.js.map +1 -0
- package/build-module/dataviews/actions/reset-post.js +4 -8
- package/build-module/dataviews/actions/reset-post.js.map +1 -1
- package/build-module/dataviews/actions/trash-post.js +4 -8
- package/build-module/dataviews/actions/trash-post.js.map +1 -1
- package/build-module/dataviews/store/private-actions.js +2 -8
- package/build-module/dataviews/store/private-actions.js.map +1 -1
- package/build-module/store/selectors.js +6 -2
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +3 -7
- package/build-style/style.css +3 -7
- package/build-types/components/editor-history/redo.d.ts.map +1 -1
- package/build-types/components/editor-history/undo.d.ts.map +1 -1
- package/build-types/components/error-boundary/index.d.ts.map +1 -1
- package/build-types/components/global-styles-provider/index.d.ts.map +1 -1
- package/build-types/components/header/back-button.d.ts.map +1 -1
- package/build-types/components/header/index.d.ts.map +1 -1
- package/build-types/components/inserter-sidebar/index.d.ts.map +1 -1
- package/build-types/components/more-menu/tools-more-menu-group.d.ts.map +1 -1
- package/build-types/components/more-menu/view-more-menu-group.d.ts.map +1 -1
- package/build-types/components/plugin-document-setting-panel/index.d.ts.map +1 -1
- package/build-types/components/plugin-post-publish-panel/index.d.ts.map +1 -1
- package/build-types/components/plugin-post-status-info/index.d.ts.map +1 -1
- package/build-types/components/plugin-pre-publish-panel/index.d.ts.map +1 -1
- package/build-types/components/post-excerpt/plugin.d.ts.map +1 -1
- package/build-types/components/post-format/index.d.ts.map +1 -1
- package/build-types/components/post-last-revision/index.d.ts.map +1 -1
- package/build-types/components/post-locked-modal/index.d.ts.map +1 -1
- package/build-types/components/post-publish-panel/index.d.ts.map +1 -1
- package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts.map +1 -1
- package/build-types/components/post-publish-panel/maybe-upload-media.d.ts +1 -1
- package/build-types/components/post-publish-panel/maybe-upload-media.d.ts.map +1 -1
- package/build-types/components/post-publish-panel/media-util.d.ts +20 -0
- package/build-types/components/post-publish-panel/media-util.d.ts.map +1 -0
- package/build-types/components/post-trash/check.d.ts.map +1 -1
- package/build-types/components/post-trash/index.d.ts +4 -1
- package/build-types/components/post-trash/index.d.ts.map +1 -1
- package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts.map +1 -1
- package/build-types/components/preferences-modal/index.d.ts.map +1 -1
- package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
- package/build-types/components/provider/index.d.ts.map +1 -1
- package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
- package/build-types/components/save-publish-panels/index.d.ts.map +1 -1
- package/build-types/components/sidebar/post-summary.d.ts.map +1 -1
- package/build-types/components/start-page-options/index.d.ts +1 -0
- package/build-types/components/start-page-options/index.d.ts.map +1 -1
- package/build-types/components/start-template-options/index.d.ts.map +1 -1
- package/build-types/components/text-editor/index.d.ts.map +1 -1
- package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -1
- package/build-types/components/zoom-out-toggle/index.d.ts +3 -0
- package/build-types/components/zoom-out-toggle/index.d.ts.map +1 -0
- package/build-types/dataviews/actions/reset-post.d.ts.map +1 -1
- package/build-types/dataviews/actions/trash-post.d.ts.map +1 -1
- package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
- package/build-types/store/selectors.d.ts +8 -8
- package/build-types/store/selectors.d.ts.map +1 -1
- package/package.json +37 -36
- package/src/bindings/post-meta.js +1 -1
- package/src/components/block-manager/index.js +1 -2
- package/src/components/editor/index.js +1 -1
- package/src/components/editor-history/redo.js +1 -2
- package/src/components/editor-history/undo.js +1 -2
- package/src/components/error-boundary/index.js +1 -6
- package/src/components/global-styles-provider/index.js +11 -7
- package/src/components/header/index.js +12 -3
- package/src/components/header/style.scss +1 -1
- package/src/components/inserter-sidebar/index.js +2 -5
- package/src/components/post-excerpt/panel.js +1 -3
- package/src/components/post-featured-image/index.js +3 -6
- package/src/components/post-featured-image/style.scss +1 -5
- package/src/components/post-format/index.js +1 -2
- package/src/components/post-last-revision/index.js +1 -2
- package/src/components/post-locked-modal/index.js +2 -4
- package/src/components/post-publish-panel/index.js +1 -2
- package/src/components/post-publish-panel/maybe-post-format-panel.js +1 -2
- package/src/components/post-publish-panel/maybe-upload-media.js +150 -50
- package/src/components/post-publish-panel/media-util.js +87 -0
- package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +2 -2
- package/src/components/post-publish-panel/test/media-util.js +118 -0
- package/src/components/post-trash/check.js +5 -2
- package/src/components/post-trash/index.js +23 -12
- package/src/components/preferences-modal/index.js +227 -172
- package/src/components/preview-dropdown/index.js +26 -84
- package/src/components/provider/index.js +42 -10
- package/src/components/provider/use-block-editor-settings.js +11 -6
- package/src/components/sidebar/post-summary.js +4 -0
- package/src/components/start-page-options/index.js +28 -26
- package/src/components/start-template-options/index.js +1 -2
- package/src/components/table-of-contents/index.js +1 -2
- package/src/components/text-editor/index.js +1 -2
- package/src/components/text-editor/style.scss +1 -1
- package/src/components/visual-editor/edit-template-blocks-notification.js +4 -1
- package/src/components/zoom-out-toggle/index.js +34 -0
- package/src/dataviews/actions/reset-post.tsx +2 -4
- package/src/dataviews/actions/trash-post.tsx +2 -4
- package/src/dataviews/store/private-actions.ts +10 -8
- package/src/store/selectors.js +9 -3
- package/tsconfig.json +2 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/dataviews/actions/duplicate-pattern.js +0 -48
- package/build/dataviews/actions/duplicate-pattern.js.map +0 -1
- package/build/dataviews/actions/duplicate-post.js +0 -146
- package/build/dataviews/actions/duplicate-post.js.map +0 -1
- package/build/dataviews/actions/duplicate-post.native.js +0 -9
- package/build/dataviews/actions/duplicate-post.native.js.map +0 -1
- package/build/dataviews/actions/export-pattern.js +0 -57
- package/build/dataviews/actions/export-pattern.js.map +0 -1
- package/build/dataviews/actions/export-pattern.native.js +0 -9
- package/build/dataviews/actions/export-pattern.native.js.map +0 -1
- package/build/dataviews/actions/permanently-delete-post.js +0 -109
- package/build/dataviews/actions/permanently-delete-post.js.map +0 -1
- package/build/dataviews/actions/reorder-page.js +0 -116
- package/build/dataviews/actions/reorder-page.js.map +0 -1
- package/build/dataviews/actions/reorder-page.native.js +0 -9
- package/build/dataviews/actions/reorder-page.native.js.map +0 -1
- package/build/dataviews/actions/view-post-revisions.js +0 -49
- package/build/dataviews/actions/view-post-revisions.js.map +0 -1
- package/build/dataviews/actions/view-post.js +0 -36
- package/build/dataviews/actions/view-post.js.map +0 -1
- package/build-module/dataviews/actions/duplicate-pattern.js +0 -39
- package/build-module/dataviews/actions/duplicate-pattern.js.map +0 -1
- package/build-module/dataviews/actions/duplicate-post.js +0 -139
- package/build-module/dataviews/actions/duplicate-post.js.map +0 -1
- package/build-module/dataviews/actions/duplicate-post.native.js +0 -3
- package/build-module/dataviews/actions/duplicate-post.native.js.map +0 -1
- package/build-module/dataviews/actions/export-pattern.js +0 -51
- package/build-module/dataviews/actions/export-pattern.js.map +0 -1
- package/build-module/dataviews/actions/export-pattern.native.js +0 -3
- package/build-module/dataviews/actions/export-pattern.native.js.map +0 -1
- package/build-module/dataviews/actions/permanently-delete-post.js +0 -102
- package/build-module/dataviews/actions/permanently-delete-post.js.map +0 -1
- package/build-module/dataviews/actions/reorder-page.js +0 -111
- package/build-module/dataviews/actions/reorder-page.js.map +0 -1
- package/build-module/dataviews/actions/reorder-page.native.js +0 -3
- package/build-module/dataviews/actions/reorder-page.native.js.map +0 -1
- package/build-module/dataviews/actions/view-post-revisions.js +0 -43
- package/build-module/dataviews/actions/view-post-revisions.js.map +0 -1
- package/build-module/dataviews/actions/view-post.js +0 -30
- package/build-module/dataviews/actions/view-post.js.map +0 -1
- package/build-types/dataviews/actions/duplicate-pattern.d.ts +0 -5
- package/build-types/dataviews/actions/duplicate-pattern.d.ts.map +0 -1
- package/build-types/dataviews/actions/duplicate-post.d.ts +0 -5
- package/build-types/dataviews/actions/duplicate-post.d.ts.map +0 -1
- package/build-types/dataviews/actions/duplicate-post.native.d.ts +0 -3
- package/build-types/dataviews/actions/duplicate-post.native.d.ts.map +0 -1
- package/build-types/dataviews/actions/export-pattern.d.ts +0 -8
- package/build-types/dataviews/actions/export-pattern.d.ts.map +0 -1
- package/build-types/dataviews/actions/export-pattern.native.d.ts +0 -3
- package/build-types/dataviews/actions/export-pattern.native.d.ts.map +0 -1
- package/build-types/dataviews/actions/permanently-delete-post.d.ts +0 -5
- package/build-types/dataviews/actions/permanently-delete-post.d.ts.map +0 -1
- package/build-types/dataviews/actions/reorder-page.d.ts +0 -8
- package/build-types/dataviews/actions/reorder-page.d.ts.map +0 -1
- package/build-types/dataviews/actions/reorder-page.native.d.ts +0 -3
- package/build-types/dataviews/actions/reorder-page.native.d.ts.map +0 -1
- package/build-types/dataviews/actions/view-post-revisions.d.ts +0 -8
- package/build-types/dataviews/actions/view-post-revisions.d.ts.map +0 -1
- package/build-types/dataviews/actions/view-post.d.ts +0 -8
- package/build-types/dataviews/actions/view-post.d.ts.map +0 -1
- package/src/dataviews/actions/duplicate-pattern.tsx +0 -40
- package/src/dataviews/actions/duplicate-post.native.tsx +0 -3
- package/src/dataviews/actions/duplicate-post.tsx +0 -174
- package/src/dataviews/actions/export-pattern.native.tsx +0 -3
- package/src/dataviews/actions/export-pattern.tsx +0 -76
- package/src/dataviews/actions/permanently-delete-post.tsx +0 -118
- package/src/dataviews/actions/reorder-page.native.tsx +0 -3
- package/src/dataviews/actions/reorder-page.tsx +0 -125
- package/src/dataviews/actions/view-post-revisions.tsx +0 -47
- package/src/dataviews/actions/view-post.tsx +0 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useViewportMatch","DropdownMenu","MenuGroup","MenuItem","MenuItemsChoice","VisuallyHidden","Icon","__","desktop","mobile","tablet","external","useSelect","useDispatch","store","coreStore","useEffect","useRef","preferencesStore","blockEditorStore","ActionItem","editorStore","PostPreviewButton","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","editorMode","homeUrl","isTemplate","isViewable","showIconLabels","select","_getPostType$viewable","getDeviceType","getCurrentPostType","getEntityRecord","getPostType","get","__unstableGetEditorMode","_currentPostType","home","viewable","setDeviceType","__unstableSetEditorMode","originalEditingModeRef","current","isMobile","popoverProps","placement","toggleProps","className","iconPosition","size","showTooltip","accessibleWhenDisabled","menuProps","deviceIcons","choices","value","label","icon","window","__experimentalEnableZoomOutExperiment","push","previewValue","onSelect","newEditorMode","toLowerCase","text","undefined","disableOpenOnArrowDown","children","onClose","href","target","onClick","as","role","textContent","onPreview","Slot","name","fillProps"],"sources":["@wordpress/editor/src/components/preview-dropdown/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tVisuallyHidden,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { desktop, mobile, tablet, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ActionItem } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostPreviewButton from '../post-preview-button';\n\nexport default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {\n\tconst {\n\t\tdeviceType,\n\t\teditorMode,\n\t\thomeUrl,\n\t\tisTemplate,\n\t\tisViewable,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getDeviceType, getCurrentPostType } = select( editorStore );\n\t\tconst { getEntityRecord, getPostType } = select( coreStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst _currentPostType = getCurrentPostType();\n\t\treturn {\n\t\t\tdeviceType: getDeviceType(),\n\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\tisTemplate: _currentPostType === 'wp_template',\n\t\t\tisViewable: getPostType( _currentPostType )?.viewable ?? false,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t};\n\t}, [] );\n\tconst { setDeviceType } = useDispatch( editorStore );\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\n\t/**\n\t * Save the original editing mode in a ref to restore it when we exit zoom out.\n\t */\n\tconst originalEditingModeRef = useRef( editorMode );\n\tuseEffect( () => {\n\t\tif ( editorMode !== 'zoom-out' ) {\n\t\t\toriginalEditingModeRef.current = editorMode;\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\teditorMode === 'zoom-out' &&\n\t\t\t\teditorMode !== originalEditingModeRef.current\n\t\t\t) {\n\t\t\t\t__unstableSetEditorMode( originalEditingModeRef.current );\n\t\t\t}\n\t\t};\n\t}, [ editorMode, __unstableSetEditorMode ] );\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tif ( isMobile ) {\n\t\treturn null;\n\t}\n\n\tconst popoverProps = {\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'editor-preview-dropdown__toggle',\n\t\ticonPosition: 'right',\n\t\tsize: 'compact',\n\t\tshowTooltip: ! showIconLabels,\n\t\tdisabled,\n\t\taccessibleWhenDisabled: disabled,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tdesktop,\n\t\tmobile,\n\t\ttablet,\n\t};\n\n\t/**\n\t * The choices for the device type.\n\t *\n\t * @type {Array}\n\t */\n\tconst choices = [\n\t\t{\n\t\t\tvalue: 'Desktop',\n\t\t\tlabel: __( 'Desktop' ),\n\t\t\ticon: desktop,\n\t\t},\n\t];\n\tif ( window.__experimentalEnableZoomOutExperiment ) {\n\t\tchoices.push( {\n\t\t\tvalue: 'ZoomOut',\n\t\t\tlabel: __( 'Desktop (50%)' ),\n\t\t\ticon: desktop,\n\t\t} );\n\t}\n\tchoices.push( {\n\t\tvalue: 'Tablet',\n\t\tlabel: __( 'Tablet' ),\n\t\ticon: tablet,\n\t} );\n\tchoices.push( {\n\t\tvalue: 'Mobile',\n\t\tlabel: __( 'Mobile' ),\n\t\ticon: mobile,\n\t} );\n\n\tconst previewValue = editorMode === 'zoom-out' ? 'ZoomOut' : deviceType;\n\n\t/**\n\t * Handles the selection of a device type.\n\t *\n\t * @param {string} value The device type.\n\t */\n\tconst onSelect = ( value ) => {\n\t\tlet newEditorMode = originalEditingModeRef.current;\n\n\t\tif ( value === 'ZoomOut' ) {\n\t\t\tnewEditorMode = 'zoom-out';\n\t\t\tsetDeviceType( 'Desktop' );\n\t\t} else {\n\t\t\tsetDeviceType( value );\n\t\t}\n\n\t\t__unstableSetEditorMode( newEditorMode );\n\t};\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-preview-dropdown',\n\t\t\t\t`editor-preview-dropdown--${ deviceType.toLowerCase() }`\n\t\t\t) }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\ttext={ editorMode === 'zoom-out' ? __( '50%' ) : undefined }\n\t\t\tlabel={ __( 'View' ) }\n\t\t\tdisableOpenOnArrowDown={ disabled }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ choices }\n\t\t\t\t\t\t\tvalue={ previewValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ isTemplate && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\t\tclassName=\"editor-preview-dropdown__button-external\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\tforceIsAutosaveable={ forceIsAutosaveable }\n\t\t\t\t\t\t\t\taria-label={ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPreview={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/plugin-preview-menu\"\n\t\t\t\t\t\tas={ MenuGroup }\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useViewportMatch","DropdownMenu","MenuGroup","MenuItem","MenuItemsChoice","VisuallyHidden","Icon","__","desktop","mobile","tablet","external","useSelect","useDispatch","store","coreStore","preferencesStore","ActionItem","editorStore","PostPreviewButton","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","homeUrl","isTemplate","isViewable","showIconLabels","select","_getPostType$viewable","getDeviceType","getCurrentPostType","getEntityRecord","getPostType","get","_currentPostType","home","viewable","setDeviceType","isMobile","popoverProps","placement","toggleProps","className","iconPosition","size","showTooltip","accessibleWhenDisabled","menuProps","deviceIcons","choices","value","label","icon","toLowerCase","disableOpenOnArrowDown","children","onClose","onSelect","href","target","onClick","as","role","textContent","onPreview","Slot","name","fillProps"],"sources":["@wordpress/editor/src/components/preview-dropdown/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tVisuallyHidden,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { desktop, mobile, tablet, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { ActionItem } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostPreviewButton from '../post-preview-button';\n\nexport default function PreviewDropdown( { forceIsAutosaveable, disabled } ) {\n\tconst { deviceType, homeUrl, isTemplate, isViewable, showIconLabels } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getDeviceType, getCurrentPostType } = select( editorStore );\n\t\t\tconst { getEntityRecord, getPostType } = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst _currentPostType = getCurrentPostType();\n\t\t\treturn {\n\t\t\t\tdeviceType: getDeviceType(),\n\t\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\t\tisTemplate: _currentPostType === 'wp_template',\n\t\t\t\tisViewable: getPostType( _currentPostType )?.viewable ?? false,\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t};\n\t\t}, [] );\n\tconst { setDeviceType } = useDispatch( editorStore );\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tif ( isMobile ) {\n\t\treturn null;\n\t}\n\n\tconst popoverProps = {\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'editor-preview-dropdown__toggle',\n\t\ticonPosition: 'right',\n\t\tsize: 'compact',\n\t\tshowTooltip: ! showIconLabels,\n\t\tdisabled,\n\t\taccessibleWhenDisabled: disabled,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tdesktop,\n\t\tmobile,\n\t\ttablet,\n\t};\n\n\t/**\n\t * The choices for the device type.\n\t *\n\t * @type {Array}\n\t */\n\tconst choices = [\n\t\t{\n\t\t\tvalue: 'Desktop',\n\t\t\tlabel: __( 'Desktop' ),\n\t\t\ticon: desktop,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Tablet',\n\t\t\tlabel: __( 'Tablet' ),\n\t\t\ticon: tablet,\n\t\t},\n\t\t{\n\t\t\tvalue: 'Mobile',\n\t\t\tlabel: __( 'Mobile' ),\n\t\t\ticon: mobile,\n\t\t},\n\t];\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-preview-dropdown',\n\t\t\t\t`editor-preview-dropdown--${ deviceType.toLowerCase() }`\n\t\t\t) }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\tlabel={ __( 'View' ) }\n\t\t\tdisableOpenOnArrowDown={ disabled }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ choices }\n\t\t\t\t\t\t\tvalue={ deviceType }\n\t\t\t\t\t\t\tonSelect={ setDeviceType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ isTemplate && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isViewable && (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\t\tclassName=\"editor-preview-dropdown__button-external\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\tforceIsAutosaveable={ forceIsAutosaveable }\n\t\t\t\t\t\t\t\taria-label={ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPreview={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/plugin-preview-menu\"\n\t\t\t\t\t\tas={ MenuGroup }\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';
|
|
5
5
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
|
-
import { EntityProvider, useEntityBlockEditor } from '@wordpress/core-data';
|
|
7
|
+
import { EntityProvider, useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';
|
|
8
8
|
import { BlockEditorProvider, BlockContextProvider, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
9
9
|
import { store as noticesStore } from '@wordpress/notices';
|
|
10
10
|
import { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';
|
|
@@ -47,7 +47,7 @@ const noop = () => {};
|
|
|
47
47
|
* So we should not use their ids as post context. This is important to allow post blocks
|
|
48
48
|
* (post content, post title) to be used within them without issues.
|
|
49
49
|
*/
|
|
50
|
-
const NON_CONTEXTUAL_POST_TYPES = ['wp_block', '
|
|
50
|
+
const NON_CONTEXTUAL_POST_TYPES = ['wp_block', 'wp_navigation', 'wp_template_part'];
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* Depending on the post, template and template mode,
|
|
@@ -145,7 +145,8 @@ export const ExperimentalEditorProvider = withRegistryProvider(({
|
|
|
145
145
|
editorSettings,
|
|
146
146
|
selection,
|
|
147
147
|
isReady,
|
|
148
|
-
mode
|
|
148
|
+
mode,
|
|
149
|
+
postTypes
|
|
149
150
|
} = useSelect(select => {
|
|
150
151
|
const {
|
|
151
152
|
getEditorSettings,
|
|
@@ -153,25 +154,50 @@ export const ExperimentalEditorProvider = withRegistryProvider(({
|
|
|
153
154
|
getRenderingMode,
|
|
154
155
|
__unstableIsEditorReady
|
|
155
156
|
} = select(editorStore);
|
|
157
|
+
const {
|
|
158
|
+
getPostTypes
|
|
159
|
+
} = select(coreStore);
|
|
156
160
|
return {
|
|
157
161
|
editorSettings: getEditorSettings(),
|
|
158
162
|
isReady: __unstableIsEditorReady(),
|
|
159
163
|
mode: getRenderingMode(),
|
|
160
|
-
selection: getEditorSelection()
|
|
164
|
+
selection: getEditorSelection(),
|
|
165
|
+
postTypes: getPostTypes({
|
|
166
|
+
per_page: -1
|
|
167
|
+
})
|
|
161
168
|
};
|
|
162
169
|
}, []);
|
|
163
170
|
const shouldRenderTemplate = !!template && mode !== 'post-only';
|
|
164
171
|
const rootLevelPost = shouldRenderTemplate ? template : post;
|
|
165
172
|
const defaultBlockContext = useMemo(() => {
|
|
166
|
-
const postContext =
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
173
|
+
const postContext = {};
|
|
174
|
+
// If it is a template, try to inherit the post type from the slug.
|
|
175
|
+
if (post.type === 'wp_template') {
|
|
176
|
+
if (!post.is_custom) {
|
|
177
|
+
const [kind] = post.slug.split('-');
|
|
178
|
+
switch (kind) {
|
|
179
|
+
case 'page':
|
|
180
|
+
postContext.postType = 'page';
|
|
181
|
+
break;
|
|
182
|
+
case 'single':
|
|
183
|
+
// Infer the post type from the slug.
|
|
184
|
+
const postTypesSlugs = postTypes?.map(entity => entity.slug) || [];
|
|
185
|
+
const match = post.slug.match(`^single-(${postTypesSlugs.join('|')})(?:-.+)?$`);
|
|
186
|
+
if (match) {
|
|
187
|
+
postContext.postType = match[1];
|
|
188
|
+
}
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
} else if (!NON_CONTEXTUAL_POST_TYPES.includes(rootLevelPost.type) || shouldRenderTemplate) {
|
|
193
|
+
postContext.postId = post.id;
|
|
194
|
+
postContext.postType = post.type;
|
|
195
|
+
}
|
|
170
196
|
return {
|
|
171
197
|
...postContext,
|
|
172
198
|
templateSlug: rootLevelPost.type === 'wp_template' ? rootLevelPost.slug : undefined
|
|
173
199
|
};
|
|
174
|
-
}, [shouldRenderTemplate, post.id, post.type, rootLevelPost.type, rootLevelPost.slug]);
|
|
200
|
+
}, [shouldRenderTemplate, post.id, post.type, rootLevelPost.type, rootLevelPost.slug, postTypes]);
|
|
175
201
|
const {
|
|
176
202
|
id,
|
|
177
203
|
type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useLayoutEffect","useMemo","useDispatch","useSelect","__","EntityProvider","useEntityBlockEditor","BlockEditorProvider","BlockContextProvider","privateApis","blockEditorPrivateApis","store","noticesStore","editPatternsPrivateApis","createBlock","withRegistryProvider","editorStore","useBlockEditorSettings","unlock","DisableNonPageContentBlocks","NavigationBlockEditingMode","useHideBlocksFromInserter","useCommands","BlockRemovalWarnings","StartPageOptions","KeyboardShortcutHelpModal","ContentOnlySettingsMenu","StartTemplateOptions","EditorKeyboardShortcuts","PatternRenameModal","PatternDuplicateModal","TemplatePartMenuItems","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ExperimentalBlockEditorProvider","PatternsMenuItems","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","editorSettings","selection","isReady","select","getEditorSettings","getEditorSelection","getRenderingMode","__unstableIsEditorReady","shouldRenderTemplate","defaultBlockContext","postContext","includes","postId","postType","templateSlug","slug","undefined","blockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","createWarningNotice","postLock","autosave","actions","label","url","editLink","_settings$defaultRend","defaultRenderingMode","kind","value","useSubRegistry","__unstableIsPreviewMode","EditorProvider","props"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { EntityProvider, useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\nimport { useHideBlocksFromInserter } from './use-hide-blocks-from-inserter';\nimport useCommands from '../commands';\nimport BlockRemovalWarnings from '../block-removal-warnings';\nimport StartPageOptions from '../start-page-options';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport ContentOnlySettingsMenu from '../block-settings-menu/content-only-settings-menu';\nimport StartTemplateOptions from '../start-template-options';\nimport EditorKeyboardShortcuts from '../global-keyboard-shortcuts';\nimport PatternRenameModal from '../pattern-rename-modal';\nimport PatternDuplicateModal from '../pattern-duplicate-modal';\nimport TemplatePartMenuItems from '../template-part-menu-items';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_template',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n *\n * @example\n * ```jsx\n * const [ blocks, onInput, onChange ] = useBlockEditorProps( post, template, mode );\n * ```\n *\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost =\n\t\tmode === 'post-only' || ! template ? 'post' : 'template';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\n/**\n * This component provides the editor context and manages the state of the block editor.\n *\n * @param {Object} props The component props.\n * @param {Object} props.post The post object.\n * @param {Object} props.settings The editor settings.\n * @param {boolean} props.recovery Indicates if the editor is in recovery mode.\n * @param {Array} props.initialEdits The initial edits for the editor.\n * @param {Object} props.children The child components.\n * @param {Object} [props.BlockEditorProviderComponent] The block editor provider component to use. Defaults to ExperimentalBlockEditorProvider.\n * @param {Object} [props.__unstableTemplate] The template object.\n *\n * @example\n * ```jsx\n * <ExperimentalEditorProvider\n * post={ post }\n * settings={ settings }\n * recovery={ recovery }\n * initialEdits={ initialEdits }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </ExperimentalEditorProvider>\n *\n * @return {Object} The rendered ExperimentalEditorProvider component.\n */\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst { editorSettings, selection, isReady, mode } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\tgetRenderingMode,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tmode: getRenderingMode(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext =\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t\t\t? { postId: post.id, postType: post.type }\n\t\t\t\t\t: {};\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t] );\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid,\n\t\t\tmode\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}, [] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( settings.defaultRenderingMode ?? 'post-only' );\n\t\t}, [ settings.defaultRenderingMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type, mode );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t{ ! settings.__unstableIsPreviewMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t\t\t<TemplatePartMenuItems />\n\t\t\t\t\t\t\t\t\t<ContentOnlySettingsMenu />\n\t\t\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t\t\t\t\t\t\t<BlockRemovalWarnings />\n\t\t\t\t\t\t\t\t\t<StartPageOptions />\n\t\t\t\t\t\t\t\t\t<StartTemplateOptions />\n\t\t\t\t\t\t\t\t\t<PatternRenameModal />\n\t\t\t\t\t\t\t\t\t<PatternDuplicateModal />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\n/**\n * This component establishes a new post editing context, and serves as the entry point for a new post editor (or post with template editor).\n *\n * It supports a large number of post types, including post, page, templates,\n * custom post types, patterns, template parts.\n *\n * All modification and changes are performed to the `@wordpress/core-data` store.\n *\n * @param {Object} props The component props.\n * @param {Object} [props.post] The post object to edit. This is required.\n * @param {Object} [props.__unstableTemplate] The template object wrapper the edited post.\n * This is optional and can only be used when the post type supports templates (like posts and pages).\n * @param {Object} [props.settings] The settings object to use for the editor.\n * This is optional and can be used to override the default settings.\n * @param {Element} [props.children] Children elements for which the BlockEditorProvider context should apply.\n * This is optional.\n *\n * @example\n * ```jsx\n * <EditorProvider\n * post={ post }\n * settings={ settings }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </EditorProvider>\n * ```\n *\n * @return {JSX.Element} The rendered EditorProvider component.\n */\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useEffect","useLayoutEffect","useMemo","useDispatch","useSelect","__","EntityProvider","useEntityBlockEditor","store","coreStore","BlockEditorProvider","BlockContextProvider","privateApis","blockEditorPrivateApis","noticesStore","editPatternsPrivateApis","createBlock","withRegistryProvider","editorStore","useBlockEditorSettings","unlock","DisableNonPageContentBlocks","NavigationBlockEditingMode","useHideBlocksFromInserter","useCommands","BlockRemovalWarnings","StartPageOptions","KeyboardShortcutHelpModal","ContentOnlySettingsMenu","StartTemplateOptions","EditorKeyboardShortcuts","PatternRenameModal","PatternDuplicateModal","TemplatePartMenuItems","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ExperimentalBlockEditorProvider","PatternsMenuItems","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","editorSettings","selection","isReady","postTypes","select","getEditorSettings","getEditorSelection","getRenderingMode","__unstableIsEditorReady","getPostTypes","per_page","shouldRenderTemplate","defaultBlockContext","postContext","is_custom","kind","slug","split","postType","postTypesSlugs","map","entity","match","join","includes","postId","templateSlug","undefined","blockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","createWarningNotice","postLock","autosave","actions","label","url","editLink","_settings$defaultRend","defaultRenderingMode","value","useSubRegistry","__unstableIsPreviewMode","EditorProvider","props"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tEntityProvider,\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\nimport { useHideBlocksFromInserter } from './use-hide-blocks-from-inserter';\nimport useCommands from '../commands';\nimport BlockRemovalWarnings from '../block-removal-warnings';\nimport StartPageOptions from '../start-page-options';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport ContentOnlySettingsMenu from '../block-settings-menu/content-only-settings-menu';\nimport StartTemplateOptions from '../start-template-options';\nimport EditorKeyboardShortcuts from '../global-keyboard-shortcuts';\nimport PatternRenameModal from '../pattern-rename-modal';\nimport PatternDuplicateModal from '../pattern-duplicate-modal';\nimport TemplatePartMenuItems from '../template-part-menu-items';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n *\n * @example\n * ```jsx\n * const [ blocks, onInput, onChange ] = useBlockEditorProps( post, template, mode );\n * ```\n *\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost =\n\t\tmode === 'post-only' || ! template ? 'post' : 'template';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\n/**\n * This component provides the editor context and manages the state of the block editor.\n *\n * @param {Object} props The component props.\n * @param {Object} props.post The post object.\n * @param {Object} props.settings The editor settings.\n * @param {boolean} props.recovery Indicates if the editor is in recovery mode.\n * @param {Array} props.initialEdits The initial edits for the editor.\n * @param {Object} props.children The child components.\n * @param {Object} [props.BlockEditorProviderComponent] The block editor provider component to use. Defaults to ExperimentalBlockEditorProvider.\n * @param {Object} [props.__unstableTemplate] The template object.\n *\n * @example\n * ```jsx\n * <ExperimentalEditorProvider\n * post={ post }\n * settings={ settings }\n * recovery={ recovery }\n * initialEdits={ initialEdits }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </ExperimentalEditorProvider>\n *\n * @return {Object} The rendered ExperimentalEditorProvider component.\n */\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst { editorSettings, selection, isReady, mode, postTypes } =\n\t\t\tuseSelect( ( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\tgetRenderingMode,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\tconst { getPostTypes } = select( coreStore );\n\n\t\t\t\treturn {\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tmode: getRenderingMode(),\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t\tpostTypes: getPostTypes( { per_page: -1 } ),\n\t\t\t\t};\n\t\t\t}, [] );\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext = {};\n\t\t\t// If it is a template, try to inherit the post type from the slug.\n\t\t\tif ( post.type === 'wp_template' ) {\n\t\t\t\tif ( ! post.is_custom ) {\n\t\t\t\t\tconst [ kind ] = post.slug.split( '-' );\n\t\t\t\t\tswitch ( kind ) {\n\t\t\t\t\t\tcase 'page':\n\t\t\t\t\t\t\tpostContext.postType = 'page';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'single':\n\t\t\t\t\t\t\t// Infer the post type from the slug.\n\t\t\t\t\t\t\tconst postTypesSlugs =\n\t\t\t\t\t\t\t\tpostTypes?.map( ( entity ) => entity.slug ) ||\n\t\t\t\t\t\t\t\t[];\n\t\t\t\t\t\t\tconst match = post.slug.match(\n\t\t\t\t\t\t\t\t`^single-(${ postTypesSlugs.join(\n\t\t\t\t\t\t\t\t\t'|'\n\t\t\t\t\t\t\t\t) })(?:-.+)?$`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( match ) {\n\t\t\t\t\t\t\t\tpostContext.postType = match[ 1 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t) {\n\t\t\t\tpostContext.postId = post.id;\n\t\t\t\tpostContext.postType = post.type;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t\tpostTypes,\n\t\t] );\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid,\n\t\t\tmode\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}, [] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( settings.defaultRenderingMode ?? 'post-only' );\n\t\t}, [ settings.defaultRenderingMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type, mode );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t{ ! settings.__unstableIsPreviewMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t\t\t<TemplatePartMenuItems />\n\t\t\t\t\t\t\t\t\t<ContentOnlySettingsMenu />\n\t\t\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t\t\t\t\t\t\t<BlockRemovalWarnings />\n\t\t\t\t\t\t\t\t\t<StartPageOptions />\n\t\t\t\t\t\t\t\t\t<StartTemplateOptions />\n\t\t\t\t\t\t\t\t\t<PatternRenameModal />\n\t\t\t\t\t\t\t\t\t<PatternDuplicateModal />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\n/**\n * This component establishes a new post editing context, and serves as the entry point for a new post editor (or post with template editor).\n *\n * It supports a large number of post types, including post, page, templates,\n * custom post types, patterns, template parts.\n *\n * All modification and changes are performed to the `@wordpress/core-data` store.\n *\n * @param {Object} props The component props.\n * @param {Object} [props.post] The post object to edit. This is required.\n * @param {Object} [props.__unstableTemplate] The template object wrapper the edited post.\n * This is optional and can only be used when the post type supports templates (like posts and pages).\n * @param {Object} [props.settings] The settings object to use for the editor.\n * This is optional and can be used to override the default settings.\n * @param {Element} [props.children] Children elements for which the BlockEditorProvider context should apply.\n * This is optional.\n *\n * @example\n * ```jsx\n * <EditorProvider\n * post={ post }\n * settings={ settings }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </EditorProvider>\n * ```\n *\n * @return {JSX.Element} The rendered EditorProvider component.\n */\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,13 +18,18 @@ import { mediaUpload } from '../../utils';
|
|
|
18
18
|
import { store as editorStore } from '../../store';
|
|
19
19
|
import { unlock } from '../../lock-unlock';
|
|
20
20
|
import { useGlobalStylesContext } from '../global-styles-provider';
|
|
21
|
-
const EMPTY_BLOCKS_LIST = [];
|
|
22
21
|
const EMPTY_OBJECT = {};
|
|
23
22
|
function __experimentalReusableBlocksSelect(select) {
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const {
|
|
24
|
+
getEntityRecords,
|
|
25
|
+
hasFinishedResolution
|
|
26
|
+
} = select(coreStore);
|
|
27
|
+
const reusableBlocks = getEntityRecords('postType', 'wp_block', {
|
|
28
|
+
per_page: -1
|
|
29
|
+
});
|
|
30
|
+
return hasFinishedResolution('getEntityRecords', ['postType', 'wp_block', {
|
|
26
31
|
per_page: -1
|
|
27
|
-
})
|
|
32
|
+
}]) ? reusableBlocks : undefined;
|
|
28
33
|
}
|
|
29
34
|
const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', 'alignWide', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'canUpdateBlockBindings', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'onNavigateToEntityRecord', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'locale', 'maxWidth', 'postContentAttributes', 'postsPerPage', 'readOnly', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme'];
|
|
30
35
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useCallback","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","__","preferencesStore","useViewportMatch","blocksStore","privateApis","blockEditorStore","inserterMediaCategories","mediaUpload","editorStore","unlock","useGlobalStylesContext","EMPTY_BLOCKS_LIST","EMPTY_OBJECT","__experimentalReusableBlocksSelect","select","_select$getEntityReco","getEntityRecords","per_page","BLOCK_EDITOR_SETTINGS","globalStylesDataKey","globalStylesLinksDataKey","selectBlockPatternsKey","reusableBlocksSelectKey","sectionRootClientIdKey","useBlockEditorSettings","settings","postType","postId","renderingMode","_mergedGlobalStyles$s","_mergedGlobalStyles$_","_settings$__experimen","_settings$__experimen2","isLargeViewport","allowRightClickOverrides","blockTypes","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","hasUploadPermissions","hiddenBlockTypes","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatternCategories","sectionRootClientId","_canUser","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getBlockPatternCategories","get","getBlockTypes","getBlocksByName","getBlockAttributes","siteSettings","kind","name","undefined","getSectionRootBlock","_getBlocksByName$find","_getBlocksByName$","find","clientId","tagName","_links","hasOwnProperty","page_on_front","page_for_posts","merged","mergedGlobalStyles","globalStylesData","styles","globalStylesLinksData","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","filter","postTypes","Array","isArray","includes","blockPatternCategories","x","index","arr","findIndex","y","undo","setIsInserterOpened","saveEntityRecord","createPageEntity","options","Promise","reject","message","allowedBlockTypes","length","defaultAllowedBlockTypes","map","type","forceDisableFocusMode","blockEditorSettings","Object","fromEntries","entries","key","hasFinishedResolution","getBlockPatternsForPostType","patterns","__experimentalUserPatternCategories","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tprivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useGlobalStylesContext } from '../global-styles-provider';\n\nconst EMPTY_BLOCKS_LIST = [];\nconst EMPTY_OBJECT = {};\n\nfunction __experimentalReusableBlocksSelect( select ) {\n\treturn (\n\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\tper_page: -1,\n\t\t} ) ?? EMPTY_BLOCKS_LIST\n\t);\n}\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'canUpdateBlockBindings',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'onNavigateToEntityRecord',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n];\n\nconst {\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tsectionRootClientIdKey,\n} = unlock( privateApis );\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n * @param {string} renderingMode Editor rendering mode.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId, renderingMode ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t\tsectionRootClientId,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst { getBlocksByName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst siteSettings = canUser( 'read', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\tfunction getSectionRootBlock() {\n\t\t\t\tif ( renderingMode === 'template-locked' ) {\n\t\t\t\t\treturn getBlocksByName( 'core/post-content' )?.[ 0 ] ?? '';\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tgetBlocksByName( 'core/group' ).find(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )?.tagName === 'main'\n\t\t\t\t\t) ?? ''\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\thasUploadPermissions:\n\t\t\t\t\tcanUser( 'create', {\n\t\t\t\t\t\tkind: 'root',\n\t\t\t\t\t\tname: 'media',\n\t\t\t\t\t} ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'page',\n\t\t\t\t} ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t\tsectionRootClientId: getSectionRootBlock(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport, renderingMode ]\n\t);\n\n\tconst { merged: mergedGlobalStyles } = useGlobalStylesContext();\n\tconst globalStylesData = mergedGlobalStyles.styles ?? EMPTY_OBJECT;\n\tconst globalStylesLinksData = mergedGlobalStyles._links ?? EMPTY_OBJECT;\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo( () => {\n\t\tconst blockEditorSettings = {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\t[ globalStylesDataKey ]: globalStylesData,\n\t\t\t[ globalStylesLinksDataKey ]: globalStylesLinksData,\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t[ selectBlockPatternsKey ]: ( select ) => {\n\t\t\t\tconst { hasFinishedResolution, getBlockPatternsForPostType } =\n\t\t\t\t\tunlock( select( coreStore ) );\n\t\t\t\tconst patterns = getBlockPatternsForPostType( postType );\n\t\t\t\treturn hasFinishedResolution( 'getBlockPatterns' )\n\t\t\t\t\t? patterns\n\t\t\t\t\t: undefined;\n\t\t\t},\n\t\t\t[ reusableBlocksSelectKey ]: __experimentalReusableBlocksSelect,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: ! isDistractionFree && postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\t[ sectionRootClientIdKey ]: sectionRootClientId,\n\t\t};\n\n\t\treturn blockEditorSettings;\n\t}, [\n\t\tallowedBlockTypes,\n\t\tallowRightClickOverrides,\n\t\tfocusMode,\n\t\tforceDisableFocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\tsettings,\n\t\thasUploadPermissions,\n\t\tuserPatternCategories,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tcanUseUnfilteredHTML,\n\t\tundo,\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tpostType,\n\t\tsetIsInserterOpened,\n\t\tsectionRootClientId,\n\t\tglobalStylesData,\n\t\tglobalStylesLinksData,\n\t] );\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useMemo","useCallback","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","__","preferencesStore","useViewportMatch","blocksStore","privateApis","blockEditorStore","inserterMediaCategories","mediaUpload","editorStore","unlock","useGlobalStylesContext","EMPTY_OBJECT","__experimentalReusableBlocksSelect","select","getEntityRecords","hasFinishedResolution","reusableBlocks","per_page","undefined","BLOCK_EDITOR_SETTINGS","globalStylesDataKey","globalStylesLinksDataKey","selectBlockPatternsKey","reusableBlocksSelectKey","sectionRootClientIdKey","useBlockEditorSettings","settings","postType","postId","renderingMode","_mergedGlobalStyles$s","_mergedGlobalStyles$_","_settings$__experimen","_settings$__experimen2","isLargeViewport","allowRightClickOverrides","blockTypes","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","hasUploadPermissions","hiddenBlockTypes","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatternCategories","sectionRootClientId","_canUser","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getBlockPatternCategories","get","getBlockTypes","getBlocksByName","getBlockAttributes","siteSettings","kind","name","getSectionRootBlock","_getBlocksByName$find","_getBlocksByName$","find","clientId","tagName","_links","hasOwnProperty","page_on_front","page_for_posts","merged","mergedGlobalStyles","globalStylesData","styles","globalStylesLinksData","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","filter","postTypes","Array","isArray","includes","blockPatternCategories","x","index","arr","findIndex","y","undo","setIsInserterOpened","saveEntityRecord","createPageEntity","options","Promise","reject","message","allowedBlockTypes","length","defaultAllowedBlockTypes","map","type","forceDisableFocusMode","blockEditorSettings","Object","fromEntries","entries","key","getBlockPatternsForPostType","patterns","__experimentalUserPatternCategories","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tprivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useGlobalStylesContext } from '../global-styles-provider';\n\nconst EMPTY_OBJECT = {};\n\nfunction __experimentalReusableBlocksSelect( select ) {\n\tconst { getEntityRecords, hasFinishedResolution } = select( coreStore );\n\tconst reusableBlocks = getEntityRecords( 'postType', 'wp_block', {\n\t\tper_page: -1,\n\t} );\n\treturn hasFinishedResolution( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ per_page: -1 },\n\t] )\n\t\t? reusableBlocks\n\t\t: undefined;\n}\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'canUpdateBlockBindings',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'onNavigateToEntityRecord',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n];\n\nconst {\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tsectionRootClientIdKey,\n} = unlock( privateApis );\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n * @param {string} renderingMode Editor rendering mode.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId, renderingMode ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t\tsectionRootClientId,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst { getBlocksByName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst siteSettings = canUser( 'read', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\tfunction getSectionRootBlock() {\n\t\t\t\tif ( renderingMode === 'template-locked' ) {\n\t\t\t\t\treturn getBlocksByName( 'core/post-content' )?.[ 0 ] ?? '';\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tgetBlocksByName( 'core/group' ).find(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )?.tagName === 'main'\n\t\t\t\t\t) ?? ''\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\thasUploadPermissions:\n\t\t\t\t\tcanUser( 'create', {\n\t\t\t\t\t\tkind: 'root',\n\t\t\t\t\t\tname: 'media',\n\t\t\t\t\t} ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'page',\n\t\t\t\t} ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t\tsectionRootClientId: getSectionRootBlock(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport, renderingMode ]\n\t);\n\n\tconst { merged: mergedGlobalStyles } = useGlobalStylesContext();\n\tconst globalStylesData = mergedGlobalStyles.styles ?? EMPTY_OBJECT;\n\tconst globalStylesLinksData = mergedGlobalStyles._links ?? EMPTY_OBJECT;\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo( () => {\n\t\tconst blockEditorSettings = {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\t[ globalStylesDataKey ]: globalStylesData,\n\t\t\t[ globalStylesLinksDataKey ]: globalStylesLinksData,\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t[ selectBlockPatternsKey ]: ( select ) => {\n\t\t\t\tconst { hasFinishedResolution, getBlockPatternsForPostType } =\n\t\t\t\t\tunlock( select( coreStore ) );\n\t\t\t\tconst patterns = getBlockPatternsForPostType( postType );\n\t\t\t\treturn hasFinishedResolution( 'getBlockPatterns' )\n\t\t\t\t\t? patterns\n\t\t\t\t\t: undefined;\n\t\t\t},\n\t\t\t[ reusableBlocksSelectKey ]: __experimentalReusableBlocksSelect,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: ! isDistractionFree && postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\t[ sectionRootClientIdKey ]: sectionRootClientId,\n\t\t};\n\n\t\treturn blockEditorSettings;\n\t}, [\n\t\tallowedBlockTypes,\n\t\tallowRightClickOverrides,\n\t\tfocusMode,\n\t\tforceDisableFocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\tsettings,\n\t\thasUploadPermissions,\n\t\tuserPatternCategories,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tcanUseUnfilteredHTML,\n\t\tundo,\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tpostType,\n\t\tsetIsInserterOpened,\n\t\tsectionRootClientId,\n\t\tglobalStylesData,\n\t\tglobalStylesLinksData,\n\t] );\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,EAAEC,WAAW,QAAQ,oBAAoB;AACzD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SACCC,KAAK,IAAIC,SAAS,EAClBC,kCAAkC,IAAIC,oBAAoB,EAC1DC,0BAA0B,IAAIC,YAAY,QACpC,sBAAsB;AAC7B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASN,KAAK,IAAIO,gBAAgB,QAAQ,wBAAwB;AAClE,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASR,KAAK,IAAIS,WAAW,QAAQ,mBAAmB;AACxD,SACCC,WAAW,EACXV,KAAK,IAAIW,gBAAgB,QACnB,yBAAyB;;AAEhC;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,qBAAqB;AACzD,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASb,KAAK,IAAIc,WAAW,QAAQ,aAAa;AAClD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,sBAAsB,QAAQ,2BAA2B;AAElE,MAAMC,YAAY,GAAG,CAAC,CAAC;AAEvB,SAASC,kCAAkCA,CAAEC,MAAM,EAAG;EACrD,MAAM;IAAEC,gBAAgB;IAAEC;EAAsB,CAAC,GAAGF,MAAM,CAAElB,SAAU,CAAC;EACvE,MAAMqB,cAAc,GAAGF,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE;IAChEG,QAAQ,EAAE,CAAC;EACZ,CAAE,CAAC;EACH,OAAOF,qBAAqB,CAAE,kBAAkB,EAAE,CACjD,UAAU,EACV,UAAU,EACV;IAAEE,QAAQ,EAAE,CAAC;EAAE,CAAC,CACf,CAAC,GACAD,cAAc,GACdE,SAAS;AACb;AAEA,MAAMC,qBAAqB,GAAG,CAC7B,8BAA8B,EAC9B,kCAAkC,EAClC,wBAAwB,EACxB,sCAAsC,EACtC,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,wCAAwC,EACxC,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,CAC7B;AAED,MAAM;EACLC,mBAAmB;EACnBC,wBAAwB;EACxBC,sBAAsB;EACtBC,uBAAuB;EACvBC;AACD,CAAC,GAAGf,MAAM,CAAEL,WAAY,CAAC;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASqB,sBAAsBA,CAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,aAAa,EAAG;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA;EAC5E,MAAMC,eAAe,GAAGhC,gBAAgB,CAAE,QAAS,CAAC;EACpD,MAAM;IACLiC,wBAAwB;IACxBC,UAAU;IACVC,SAAS;IACTC,eAAe;IACfC,iBAAiB;IACjBC,oBAAoB;IACpBC,oBAAoB;IACpBC,gBAAgB;IAChBC,oBAAoB;IACpBC,kBAAkB;IAClBC,WAAW;IACXC,YAAY;IACZC,qBAAqB;IACrBC,0BAA0B;IAC1BC;EACD,CAAC,GAAGxD,SAAS,CACVoB,MAAM,IAAM;IAAA,IAAAqC,QAAA;IACb,MAAM;MACLC,OAAO;MACPC,kBAAkB;MAClBC,eAAe;MACfC,wBAAwB;MACxBC;IACD,CAAC,GAAG1C,MAAM,CAAElB,SAAU,CAAC;IACvB,MAAM;MAAE6D;IAAI,CAAC,GAAG3C,MAAM,CAAEZ,gBAAiB,CAAC;IAC1C,MAAM;MAAEwD;IAAc,CAAC,GAAG5C,MAAM,CAAEV,WAAY,CAAC;IAC/C,MAAM;MAAEuD,eAAe;MAAEC;IAAmB,CAAC,GAC5C9C,MAAM,CAAER,gBAAiB,CAAC;IAC3B,MAAMuD,YAAY,GAAGT,OAAO,CAAE,MAAM,EAAE;MACrCU,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;IACP,CAAE,CAAC,GACAT,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,GACjCnC,SAAS;IAEZ,SAAS6C,mBAAmBA,CAAA,EAAG;MAAA,IAAAC,qBAAA;MAC9B,IAAKnC,aAAa,KAAK,iBAAiB,EAAG;QAAA,IAAAoC,iBAAA;QAC1C,QAAAA,iBAAA,GAAOP,eAAe,CAAE,mBAAoB,CAAC,GAAI,CAAC,CAAE,cAAAO,iBAAA,cAAAA,iBAAA,GAAI,EAAE;MAC3D;MAEA,QAAAD,qBAAA,GACCN,eAAe,CAAE,YAAa,CAAC,CAACQ,IAAI,CACjCC,QAAQ,IACTR,kBAAkB,CAAEQ,QAAS,CAAC,EAAEC,OAAO,KAAK,MAC9C,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAET;IAEA,OAAO;MACN7B,wBAAwB,EAAEqB,GAAG,CAC5B,MAAM,EACN,0BACD,CAAC;MACDpB,UAAU,EAAEqB,aAAa,CAAC,CAAC;MAC3Bd,oBAAoB,EAAES,kBAAkB,CACvC,UAAU,EACVzB,QAAQ,EACRC,MACD,CAAC,EAAEyC,MAAM,EAAEC,cAAc,CAAE,2BAA4B,CAAC;MACxDjC,SAAS,EAAEmB,GAAG,CAAE,MAAM,EAAE,WAAY,CAAC;MACrClB,eAAe,EACdkB,GAAG,CAAE,MAAM,EAAE,cAAe,CAAC,IAAI,CAAEtB,eAAe;MACnDQ,gBAAgB,EAAEc,GAAG,CAAE,MAAM,EAAE,kBAAmB,CAAC;MACnDjB,iBAAiB,EAAEiB,GAAG,CAAE,MAAM,EAAE,iBAAkB,CAAC;MACnDhB,oBAAoB,EAAEgB,GAAG,CAAE,MAAM,EAAE,sBAAuB,CAAC;MAC3Df,oBAAoB,GAAAS,QAAA,GACnBC,OAAO,CAAE,QAAQ,EAAE;QAClBU,IAAI,EAAE,MAAM;QACZC,IAAI,EAAE;MACP,CAAE,CAAC,cAAAZ,QAAA,cAAAA,QAAA,GAAI,IAAI;MACZN,kBAAkB,EAAEO,OAAO,CAAE,QAAQ,EAAE;QACtCU,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE;MACP,CAAE,CAAC;MACHjB,WAAW,EAAEe,YAAY,EAAEW,aAAa;MACxCzB,YAAY,EAAEc,YAAY,EAAEY,cAAc;MAC1CzB,qBAAqB,EAAEO,wBAAwB,CAAC,CAAC;MACjDN,0BAA0B,EAAEO,yBAAyB,CAAC,CAAC;MACvDN,mBAAmB,EAAEc,mBAAmB,CAAC;IAC1C,CAAC;EACF,CAAC,EACD,CAAEpC,QAAQ,EAAEC,MAAM,EAAEM,eAAe,EAAEL,aAAa,CACnD,CAAC;EAED,MAAM;IAAE4C,MAAM,EAAEC;EAAmB,CAAC,GAAGhE,sBAAsB,CAAC,CAAC;EAC/D,MAAMiE,gBAAgB,IAAA7C,qBAAA,GAAG4C,kBAAkB,CAACE,MAAM,cAAA9C,qBAAA,cAAAA,qBAAA,GAAInB,YAAY;EAClE,MAAMkE,qBAAqB,IAAA9C,qBAAA,GAAG2C,kBAAkB,CAACL,MAAM,cAAAtC,qBAAA,cAAAA,qBAAA,GAAIpB,YAAY;EAEvE,MAAMmE,qBAAqB,IAAA9C,qBAAA,GAC1BN,QAAQ,CAACqD,qCAAqC,cAAA/C,qBAAA,cAAAA,qBAAA;EAAI;EAClDN,QAAQ,CAACsD,2BAA2B,CAAC,CAAC;EACvC,MAAMC,8BAA8B,IAAAhD,sBAAA,GACnCP,QAAQ,CAACwD,8CAA8C,cAAAjD,sBAAA,cAAAA,sBAAA;EAAI;EAC3DP,QAAQ,CAACyD,oCAAoC,CAAC,CAAC;;EAEhD,MAAMC,aAAa,GAAG9F,OAAO,CAC5B,MACC,CAAE,IAAKwF,qBAAqB,IAAI,EAAE,CAAE,CAAE,CAACO,MAAM,CAC5C,CAAE;IAAEC;EAAU,CAAC,KAAM;IACpB,OACC,CAAEA,SAAS,IACTC,KAAK,CAACC,OAAO,CAAEF,SAAU,CAAC,IAC3BA,SAAS,CAACG,QAAQ,CAAE9D,QAAS,CAAG;EAEnC,CACD,CAAC,EACF,CAAEmD,qBAAqB,EAAEnD,QAAQ,CAClC,CAAC;EAED,MAAM+D,sBAAsB,GAAGpG,OAAO,CACrC,MACC,CACC,IAAK2F,8BAA8B,IAAI,EAAE,CAAE,EAC3C,IAAKjC,0BAA0B,IAAI,EAAE,CAAE,CACvC,CAACqC,MAAM,CACP,CAAEM,CAAC,EAAEC,KAAK,EAAEC,GAAG,KACdD,KAAK,KAAKC,GAAG,CAACC,SAAS,CAAIC,CAAC,IAAMJ,CAAC,CAAC7B,IAAI,KAAKiC,CAAC,CAACjC,IAAK,CACtD,CAAC,EACF,CAAEmB,8BAA8B,EAAEjC,0BAA0B,CAC7D,CAAC;EAED,MAAM;IAAEgD,IAAI;IAAEC;EAAoB,CAAC,GAAGzG,WAAW,CAAEgB,WAAY,CAAC;EAEhE,MAAM;IAAE0F;EAAiB,CAAC,GAAG1G,WAAW,CAAEG,SAAU,CAAC;;EAErD;AACD;AACA;AACA;AACA;AACA;AACA;EACC,MAAMwG,gBAAgB,GAAG5G,WAAW,CACjC6G,OAAO,IAAM;IACd,IAAK,CAAExD,kBAAkB,EAAG;MAC3B,OAAOyD,OAAO,CAACC,MAAM,CAAE;QACtBC,OAAO,EAAEvG,EAAE,CACV,6CACD;MACD,CAAE,CAAC;IACJ;IACA,OAAOkG,gBAAgB,CAAE,UAAU,EAAE,MAAM,EAAEE,OAAQ,CAAC;EACvD,CAAC,EACD,CAAEF,gBAAgB,EAAEtD,kBAAkB,CACvC,CAAC;EAED,MAAM4D,iBAAiB,GAAGlH,OAAO,CAAE,MAAM;IACxC;IACA,IAAKoD,gBAAgB,IAAIA,gBAAgB,CAAC+D,MAAM,GAAG,CAAC,EAAG;MACtD;MACA;MACA;MACA,MAAMC,wBAAwB,GAC7B,IAAI,KAAKhF,QAAQ,CAAC8E,iBAAiB,GAChCpE,UAAU,CAACuE,GAAG,CAAE,CAAE;QAAE7C;MAAK,CAAC,KAAMA,IAAK,CAAC,GACtCpC,QAAQ,CAAC8E,iBAAiB,IAAI,EAAE;MAEpC,OAAOE,wBAAwB,CAACrB,MAAM,CACnCuB,IAAI,IAAM,CAAElE,gBAAgB,CAAC+C,QAAQ,CAAEmB,IAAK,CAC/C,CAAC;IACF;IAEA,OAAOlF,QAAQ,CAAC8E,iBAAiB;EAClC,CAAC,EAAE,CAAE9E,QAAQ,CAAC8E,iBAAiB,EAAE9D,gBAAgB,EAAEN,UAAU,CAAG,CAAC;EAEjE,MAAMyE,qBAAqB,GAAGnF,QAAQ,CAACW,SAAS,KAAK,KAAK;EAE1D,OAAO/C,OAAO,CAAE,MAAM;IACrB,MAAMwH,mBAAmB,GAAG;MAC3B,GAAGC,MAAM,CAACC,WAAW,CACpBD,MAAM,CAACE,OAAO,CAAEvF,QAAS,CAAC,CAAC2D,MAAM,CAAE,CAAE,CAAE6B,GAAG,CAAE,KAC3C/F,qBAAqB,CAACsE,QAAQ,CAAEyB,GAAI,CACrC,CACD,CAAC;MACD,CAAE9F,mBAAmB,GAAIuD,gBAAgB;MACzC,CAAEtD,wBAAwB,GAAIwD,qBAAqB;MACnD2B,iBAAiB;MACjBrE,wBAAwB;MACxBE,SAAS,EAAEA,SAAS,IAAI,CAAEwE,qBAAqB;MAC/CvE,eAAe;MACfC,iBAAiB;MACjBC,oBAAoB;MACpBjC,WAAW,EAAEkC,oBAAoB,GAAGlC,WAAW,GAAGW,SAAS;MAC3D8D,2BAA2B,EAAEI,aAAa;MAC1C,CAAE9D,sBAAsB,GAAMT,MAAM,IAAM;QACzC,MAAM;UAAEE,qBAAqB;UAAEoG;QAA4B,CAAC,GAC3D1G,MAAM,CAAEI,MAAM,CAAElB,SAAU,CAAE,CAAC;QAC9B,MAAMyH,QAAQ,GAAGD,2BAA2B,CAAExF,QAAS,CAAC;QACxD,OAAOZ,qBAAqB,CAAE,kBAAmB,CAAC,GAC/CqG,QAAQ,GACRlG,SAAS;MACb,CAAC;MACD,CAAEK,uBAAuB,GAAIX,kCAAkC;MAC/DuE,oCAAoC,EAAEO,sBAAsB;MAC5D2B,mCAAmC,EAAEtE,qBAAqB;MAC1DnD,kCAAkC,EAAEA,CAAE0H,MAAM,EAAEC,aAAa,KAC1D1H,oBAAoB,CAAEyH,MAAM,EAAEC,aAAa,EAAE7F,QAAS,CAAC;MACxDpB,uBAAuB;MACvBkH,8BAA8B,EAAEzH,YAAY;MAC5C;MACA;MACA0H,sCAAsC,EAAE9E,oBAAoB;MAC5D;MACA+E,kBAAkB,EAAE1B,IAAI;MACxB;MACA;MACA2B,WAAW,EAAE,CAAEpF,iBAAiB,IAAIZ,QAAQ,KAAK,aAAa;MAC9D;MACAiG,8BAA8B,EAAEzB,gBAAgB;MAChD0B,gCAAgC,EAAEjF,kBAAkB;MACpDC,WAAW;MACXC,YAAY;MACZgF,kCAAkC,EAAEnG,QAAQ,KAAK,aAAa;MAC9DoG,YAAY,EACXpG,QAAQ,KAAK,eAAe,GAAG,QAAQ,GAAGD,QAAQ,CAACqG,YAAY;MAChEC,QAAQ,EACPrG,QAAQ,KAAK,eAAe,GACzB,CAAE,CAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAE,CAAE,GACjCD,QAAQ,CAACsG,QAAQ;MACrBC,iCAAiC,EAAEhC,mBAAmB;MACtD,CAAEzE,sBAAsB,GAAIyB;IAC7B,CAAC;IAED,OAAO6D,mBAAmB;EAC3B,CAAC,EAAE,CACFN,iBAAiB,EACjBrE,wBAAwB,EACxBE,SAAS,EACTwE,qBAAqB,EACrBvE,eAAe,EACfC,iBAAiB,EACjBC,oBAAoB,EACpBd,QAAQ,EACRe,oBAAoB,EACpBM,qBAAqB,EACrBqC,aAAa,EACbM,sBAAsB,EACtB/C,oBAAoB,EACpBqD,IAAI,EACJG,gBAAgB,EAChBvD,kBAAkB,EAClBC,WAAW,EACXC,YAAY,EACZnB,QAAQ,EACRsE,mBAAmB,EACnBhD,mBAAmB,EACnB0B,gBAAgB,EAChBE,qBAAqB,CACpB,CAAC;AACJ;AAEA,eAAepD,sBAAsB","ignoreList":[]}
|
|
@@ -28,6 +28,7 @@ import PostsPerPage from '../posts-per-page';
|
|
|
28
28
|
import SiteDiscussion from '../site-discussion';
|
|
29
29
|
import { store as editorStore } from '../../store';
|
|
30
30
|
import { PrivatePostLastRevision } from '../post-last-revision';
|
|
31
|
+
import PostTrash from '../post-trash';
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* Module Constants
|
|
@@ -77,6 +78,8 @@ export default function PostSummary({
|
|
|
77
78
|
children: [/*#__PURE__*/_jsxs(VStack, {
|
|
78
79
|
spacing: 1,
|
|
79
80
|
children: [/*#__PURE__*/_jsx(PostStatusPanel, {}), /*#__PURE__*/_jsx(PostSchedulePanel, {}), /*#__PURE__*/_jsx(PostURLPanel, {}), /*#__PURE__*/_jsx(PostAuthorPanel, {}), /*#__PURE__*/_jsx(PostTemplatePanel, {}), /*#__PURE__*/_jsx(PostDiscussionPanel, {}), /*#__PURE__*/_jsx(PrivatePostLastRevision, {}), /*#__PURE__*/_jsx(PageAttributesPanel, {}), /*#__PURE__*/_jsx(PostSyncStatus, {}), /*#__PURE__*/_jsx(BlogTitle, {}), /*#__PURE__*/_jsx(PostsPerPage, {}), /*#__PURE__*/_jsx(SiteDiscussion, {}), /*#__PURE__*/_jsx(PostFormatPanel, {})]
|
|
81
|
+
}), /*#__PURE__*/_jsx(PostTrash, {
|
|
82
|
+
onActionPerformed: onActionPerformed
|
|
80
83
|
}), fills]
|
|
81
84
|
})]
|
|
82
85
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalVStack","VStack","useSelect","PluginPostStatusInfo","PostAuthorPanel","PostCardPanel","PostContentInformation","PageAttributesPanel","PostDiscussionPanel","PrivatePostExcerptPanel","PostExcerptPanel","PostFeaturedImagePanel","PostFormatPanel","PostLastEditedPanel","PostPanelSection","PostSchedulePanel","PostStatusPanel","PostSyncStatus","PostTemplatePanel","PostURLPanel","BlogTitle","PostsPerPage","SiteDiscussion","store","editorStore","PrivatePostLastRevision","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PANEL_NAME","PostSummary","onActionPerformed","isRemovedPostStatusPanel","postType","postId","select","isEditorPanelRemoved","getCurrentPostType","getCurrentPostId","className","children","Slot","fills","spacing","withPanelBody"],"sources":["@wordpress/editor/src/components/sidebar/post-summary.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PluginPostStatusInfo from '../plugin-post-status-info';\nimport PostAuthorPanel from '../post-author/panel';\nimport PostCardPanel from '../post-card-panel';\nimport PostContentInformation from '../post-content-information';\nimport PageAttributesPanel from '../page-attributes/panel';\nimport PostDiscussionPanel from '../post-discussion/panel';\nimport { PrivatePostExcerptPanel as PostExcerptPanel } from '../post-excerpt/panel';\nimport PostFeaturedImagePanel from '../post-featured-image/panel';\nimport PostFormatPanel from '../post-format/panel';\nimport PostLastEditedPanel from '../post-last-edited-panel';\nimport PostPanelSection from '../post-panel-section';\nimport PostSchedulePanel from '../post-schedule/panel';\nimport PostStatusPanel from '../post-status';\nimport PostSyncStatus from '../post-sync-status';\nimport PostTemplatePanel from '../post-template/panel';\nimport PostURLPanel from '../post-url/panel';\nimport BlogTitle from '../blog-title';\nimport PostsPerPage from '../posts-per-page';\nimport SiteDiscussion from '../site-discussion';\nimport { store as editorStore } from '../../store';\nimport { PrivatePostLastRevision } from '../post-last-revision';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-status';\n\nexport default function PostSummary( { onActionPerformed } ) {\n\tconst { isRemovedPostStatusPanel, postType, postId } = useSelect(\n\t\t( select ) => {\n\t\t\t// We use isEditorPanelRemoved to hide the panel if it was programatically removed. We do\n\t\t\t// not use isEditorPanelEnabled since this panel should not be disabled through the UI.\n\t\t\tconst {\n\t\t\t\tisEditorPanelRemoved,\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPostId,\n\t\t\t} = select( editorStore );\n\t\t\treturn {\n\t\t\t\tisRemovedPostStatusPanel: isEditorPanelRemoved( PANEL_NAME ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t\tpostId: getCurrentPostId(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t<PostPanelSection className=\"editor-post-summary\">\n\t\t\t<PluginPostStatusInfo.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t<PostCardPanel\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tpostId={ postId }\n\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostFeaturedImagePanel withPanelBody={ false } />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t<PostContentInformation />\n\t\t\t\t\t\t\t\t<PostLastEditedPanel />\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t{ ! isRemovedPostStatusPanel && (\n\t\t\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<PostStatusPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSchedulePanel />\n\t\t\t\t\t\t\t\t\t\t<PostURLPanel />\n\t\t\t\t\t\t\t\t\t\t<PostAuthorPanel />\n\t\t\t\t\t\t\t\t\t\t<PostTemplatePanel />\n\t\t\t\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t\t\t\t<PrivatePostLastRevision />\n\t\t\t\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSyncStatus />\n\t\t\t\t\t\t\t\t\t\t<BlogTitle />\n\t\t\t\t\t\t\t\t\t\t<PostsPerPage />\n\t\t\t\t\t\t\t\t\t\t<SiteDiscussion />\n\t\t\t\t\t\t\t\t\t\t<PostFormatPanel />\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PluginPostStatusInfo.Slot>\n\t\t</PostPanelSection>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,OAAOC,eAAe,MAAM,sBAAsB;AAClD,OAAOC,aAAa,MAAM,oBAAoB;AAC9C,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,SAASC,uBAAuB,IAAIC,gBAAgB,QAAQ,uBAAuB;AACnF,OAAOC,sBAAsB,MAAM,8BAA8B;AACjE,OAAOC,eAAe,MAAM,sBAAsB;AAClD,OAAOC,mBAAmB,MAAM,2BAA2B;AAC3D,OAAOC,gBAAgB,MAAM,uBAAuB;AACpD,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,eAAe,MAAM,gBAAgB;AAC5C,OAAOC,cAAc,MAAM,qBAAqB;AAChD,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,SAASC,uBAAuB,QAAQ,uBAAuB
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","useSelect","PluginPostStatusInfo","PostAuthorPanel","PostCardPanel","PostContentInformation","PageAttributesPanel","PostDiscussionPanel","PrivatePostExcerptPanel","PostExcerptPanel","PostFeaturedImagePanel","PostFormatPanel","PostLastEditedPanel","PostPanelSection","PostSchedulePanel","PostStatusPanel","PostSyncStatus","PostTemplatePanel","PostURLPanel","BlogTitle","PostsPerPage","SiteDiscussion","store","editorStore","PrivatePostLastRevision","PostTrash","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PANEL_NAME","PostSummary","onActionPerformed","isRemovedPostStatusPanel","postType","postId","select","isEditorPanelRemoved","getCurrentPostType","getCurrentPostId","className","children","Slot","fills","spacing","withPanelBody"],"sources":["@wordpress/editor/src/components/sidebar/post-summary.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PluginPostStatusInfo from '../plugin-post-status-info';\nimport PostAuthorPanel from '../post-author/panel';\nimport PostCardPanel from '../post-card-panel';\nimport PostContentInformation from '../post-content-information';\nimport PageAttributesPanel from '../page-attributes/panel';\nimport PostDiscussionPanel from '../post-discussion/panel';\nimport { PrivatePostExcerptPanel as PostExcerptPanel } from '../post-excerpt/panel';\nimport PostFeaturedImagePanel from '../post-featured-image/panel';\nimport PostFormatPanel from '../post-format/panel';\nimport PostLastEditedPanel from '../post-last-edited-panel';\nimport PostPanelSection from '../post-panel-section';\nimport PostSchedulePanel from '../post-schedule/panel';\nimport PostStatusPanel from '../post-status';\nimport PostSyncStatus from '../post-sync-status';\nimport PostTemplatePanel from '../post-template/panel';\nimport PostURLPanel from '../post-url/panel';\nimport BlogTitle from '../blog-title';\nimport PostsPerPage from '../posts-per-page';\nimport SiteDiscussion from '../site-discussion';\nimport { store as editorStore } from '../../store';\nimport { PrivatePostLastRevision } from '../post-last-revision';\nimport PostTrash from '../post-trash';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-status';\n\nexport default function PostSummary( { onActionPerformed } ) {\n\tconst { isRemovedPostStatusPanel, postType, postId } = useSelect(\n\t\t( select ) => {\n\t\t\t// We use isEditorPanelRemoved to hide the panel if it was programatically removed. We do\n\t\t\t// not use isEditorPanelEnabled since this panel should not be disabled through the UI.\n\t\t\tconst {\n\t\t\t\tisEditorPanelRemoved,\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPostId,\n\t\t\t} = select( editorStore );\n\t\t\treturn {\n\t\t\t\tisRemovedPostStatusPanel: isEditorPanelRemoved( PANEL_NAME ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t\tpostId: getCurrentPostId(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t<PostPanelSection className=\"editor-post-summary\">\n\t\t\t<PluginPostStatusInfo.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t<PostCardPanel\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tpostId={ postId }\n\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostFeaturedImagePanel withPanelBody={ false } />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t<PostContentInformation />\n\t\t\t\t\t\t\t\t<PostLastEditedPanel />\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t{ ! isRemovedPostStatusPanel && (\n\t\t\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<PostStatusPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSchedulePanel />\n\t\t\t\t\t\t\t\t\t\t<PostURLPanel />\n\t\t\t\t\t\t\t\t\t\t<PostAuthorPanel />\n\t\t\t\t\t\t\t\t\t\t<PostTemplatePanel />\n\t\t\t\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t\t\t\t<PrivatePostLastRevision />\n\t\t\t\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSyncStatus />\n\t\t\t\t\t\t\t\t\t\t<BlogTitle />\n\t\t\t\t\t\t\t\t\t\t<PostsPerPage />\n\t\t\t\t\t\t\t\t\t\t<SiteDiscussion />\n\t\t\t\t\t\t\t\t\t\t<PostFormatPanel />\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t\t<PostTrash\n\t\t\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PluginPostStatusInfo.Slot>\n\t\t</PostPanelSection>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Modal } from '@wordpress/components';
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { useState, useMemo
|
|
6
|
+
import { useState, useMemo } from '@wordpress/element';
|
|
7
7
|
import { store as blockEditorStore, __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
|
|
8
8
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
9
9
|
import { useAsyncList } from '@wordpress/compose';
|
|
10
10
|
import { store as coreStore } from '@wordpress/core-data';
|
|
11
11
|
import { __unstableSerializeAndClean } from '@wordpress/blocks';
|
|
12
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
13
|
+
import { store as interfaceStore } from '@wordpress/interface';
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* Internal dependencies
|
|
@@ -16,7 +18,7 @@ import { __unstableSerializeAndClean } from '@wordpress/blocks';
|
|
|
16
18
|
import { store as editorStore } from '../../store';
|
|
17
19
|
import { TEMPLATE_POST_TYPE } from '../../store/constants';
|
|
18
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
|
-
function useStartPatterns() {
|
|
21
|
+
export function useStartPatterns() {
|
|
20
22
|
// A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,
|
|
21
23
|
// and it has no postTypes declared and the current post type is page or if
|
|
22
24
|
// the current post type is part of the postTypes declared.
|
|
@@ -39,8 +41,14 @@ function useStartPatterns() {
|
|
|
39
41
|
};
|
|
40
42
|
}, []);
|
|
41
43
|
return useMemo(() => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
if (!blockPatternsWithPostContentBlockType?.length) {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/*
|
|
49
|
+
* Filter patterns without postTypes declared if the current postType is page
|
|
50
|
+
* or patterns that declare the current postType in its post type array.
|
|
51
|
+
*/
|
|
44
52
|
return blockPatternsWithPostContentBlockType.filter(pattern => {
|
|
45
53
|
return postType === 'page' && !pattern.postTypes || Array.isArray(pattern.postTypes) && pattern.postTypes.includes(postType);
|
|
46
54
|
});
|
|
@@ -104,28 +112,16 @@ function StartPageOptionsModal({
|
|
|
104
112
|
}
|
|
105
113
|
export default function StartPageOptions() {
|
|
106
114
|
const [isClosed, setIsClosed] = useState(false);
|
|
107
|
-
const {
|
|
108
|
-
shouldEnableModal,
|
|
109
|
-
postType,
|
|
110
|
-
postId
|
|
111
|
-
} = useSelect(select => {
|
|
115
|
+
const shouldEnableModal = useSelect(select => {
|
|
112
116
|
const {
|
|
113
117
|
isEditedPostDirty,
|
|
114
118
|
isEditedPostEmpty,
|
|
115
|
-
getCurrentPostType
|
|
116
|
-
getCurrentPostId
|
|
119
|
+
getCurrentPostType
|
|
117
120
|
} = select(editorStore);
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
postType: _postType,
|
|
122
|
-
postId: getCurrentPostId()
|
|
123
|
-
};
|
|
121
|
+
const preferencesModalActive = select(interfaceStore).isModalActive('editor/preferences');
|
|
122
|
+
const choosePatternModalEnabled = select(preferencesStore).get('core', 'enableChoosePatternModal');
|
|
123
|
+
return choosePatternModalEnabled && !preferencesModalActive && !isEditedPostDirty() && isEditedPostEmpty() && TEMPLATE_POST_TYPE !== getCurrentPostType();
|
|
124
124
|
}, []);
|
|
125
|
-
useEffect(() => {
|
|
126
|
-
// Should reset the modal state when navigating to a new page/post.
|
|
127
|
-
setIsClosed(false);
|
|
128
|
-
}, [postType, postId]);
|
|
129
125
|
if (!shouldEnableModal || isClosed) {
|
|
130
126
|
return null;
|
|
131
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","__","useState","useMemo","
|
|
1
|
+
{"version":3,"names":["Modal","__","useState","useMemo","store","blockEditorStore","__experimentalBlockPatternsList","BlockPatternsList","useSelect","useDispatch","useAsyncList","coreStore","__unstableSerializeAndClean","preferencesStore","interfaceStore","editorStore","TEMPLATE_POST_TYPE","jsx","_jsx","useStartPatterns","blockPatternsWithPostContentBlockType","postType","select","getPatternsByBlockTypes","getBlocksByName","getCurrentPostType","getRenderingMode","rootClientId","length","filter","pattern","postTypes","Array","isArray","includes","PatternSelection","blockPatterns","onChoosePattern","shownBlockPatterns","editEntityRecord","postId","getCurrentPostId","shownPatterns","onClickPattern","_pattern","blocks","content","blocksForSerialization","StartPageOptionsModal","onClose","startPatterns","hasStartPattern","title","isFullScreen","onRequestClose","children","className","StartPageOptions","isClosed","setIsClosed","shouldEnableModal","isEditedPostDirty","isEditedPostEmpty","preferencesModalActive","isModalActive","choosePatternModalEnabled","get"],"sources":["@wordpress/editor/src/components/start-page-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { TEMPLATE_POST_TYPE } from '../../store/constants';\n\nexport function useStartPatterns() {\n\t// A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,\n\t// and it has no postTypes declared and the current post type is page or if\n\t// the current post type is part of the postTypes declared.\n\tconst { blockPatternsWithPostContentBlockType, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPatternsByBlockTypes, getBlocksByName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getCurrentPostType, getRenderingMode } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst rootClientId =\n\t\t\t\tgetRenderingMode() === 'post-only'\n\t\t\t\t\t? ''\n\t\t\t\t\t: getBlocksByName( 'core/post-content' )?.[ 0 ];\n\t\t\treturn {\n\t\t\t\tblockPatternsWithPostContentBlockType: getPatternsByBlockTypes(\n\t\t\t\t\t'core/post-content',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn useMemo( () => {\n\t\tif ( ! blockPatternsWithPostContentBlockType?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\t/*\n\t\t * Filter patterns without postTypes declared if the current postType is page\n\t\t * or patterns that declare the current postType in its post type array.\n\t\t */\n\t\treturn blockPatternsWithPostContentBlockType.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t( postType === 'page' && ! pattern.postTypes ) ||\n\t\t\t\t( Array.isArray( pattern.postTypes ) &&\n\t\t\t\t\tpattern.postTypes.includes( postType ) )\n\t\t\t);\n\t\t} );\n\t}, [ postType, blockPatternsWithPostContentBlockType ] );\n}\n\nfunction PatternSelection( { blockPatterns, onChoosePattern } ) {\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostType, getCurrentPostId } = select( editorStore );\n\n\t\treturn {\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\t\t\tblocks,\n\t\t\t\t\tcontent: ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t\t\t\t__unstableSerializeAndClean( blocksForSerialization ),\n\t\t\t\t} );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartPageOptionsModal( { onClose } ) {\n\tconst startPatterns = useStartPatterns();\n\tconst hasStartPattern = startPatterns.length > 0;\n\n\tif ( ! hasStartPattern ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tisFullScreen\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t<div className=\"editor-start-page-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tblockPatterns={ startPatterns }\n\t\t\t\t\tonChoosePattern={ onClose }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default function StartPageOptions() {\n\tconst [ isClosed, setIsClosed ] = useState( false );\n\tconst shouldEnableModal = useSelect( ( select ) => {\n\t\tconst { isEditedPostDirty, isEditedPostEmpty, getCurrentPostType } =\n\t\t\tselect( editorStore );\n\t\tconst preferencesModalActive =\n\t\t\tselect( interfaceStore ).isModalActive( 'editor/preferences' );\n\t\tconst choosePatternModalEnabled = select( preferencesStore ).get(\n\t\t\t'core',\n\t\t\t'enableChoosePatternModal'\n\t\t);\n\t\treturn (\n\t\t\tchoosePatternModalEnabled &&\n\t\t\t! preferencesModalActive &&\n\t\t\t! isEditedPostDirty() &&\n\t\t\tisEditedPostEmpty() &&\n\t\t\tTEMPLATE_POST_TYPE !== getCurrentPostType()\n\t\t);\n\t}, [] );\n\n\tif ( ! shouldEnableModal || isClosed ) {\n\t\treturn null;\n\t}\n\n\treturn <StartPageOptionsModal onClose={ () => setIsClosed( true ) } />;\n}\n"],"mappings":"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","ignoreList":[]}
|