@wordpress/editor 14.8.3 → 14.8.5
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/build/bindings/post-meta.js +64 -42
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/editor-interface/index.js +7 -3
- package/build/components/editor-interface/index.js.map +1 -1
- package/build/components/entities-saved-states/index.js +8 -6
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/plugin-sidebar/index.js +2 -6
- package/build/components/plugin-sidebar/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-upload-media.js +3 -3
- package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build/components/preview-dropdown/index.js +14 -1
- package/build/components/preview-dropdown/index.js.map +1 -1
- package/build/components/provider/index.js +10 -14
- package/build/components/provider/index.js.map +1 -1
- package/build/components/visual-editor/index.js +6 -6
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/components/zoom-out-toggle/index.js +22 -6
- package/build/components/zoom-out-toggle/index.js.map +1 -1
- package/build/store/actions.js +15 -4
- package/build/store/actions.js.map +1 -1
- package/build-module/bindings/post-meta.js +65 -42
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/editor-interface/index.js +7 -3
- package/build-module/components/editor-interface/index.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +8 -6
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/plugin-sidebar/index.js +2 -6
- package/build-module/components/plugin-sidebar/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js +3 -3
- package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build-module/components/preview-dropdown/index.js +14 -1
- package/build-module/components/preview-dropdown/index.js.map +1 -1
- package/build-module/components/provider/index.js +10 -14
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +6 -6
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/components/zoom-out-toggle/index.js +22 -6
- package/build-module/components/zoom-out-toggle/index.js.map +1 -1
- package/build-module/store/actions.js +16 -5
- package/build-module/store/actions.js.map +1 -1
- package/build-style/style-rtl.css +2 -2
- package/build-style/style.css +2 -2
- package/build-types/bindings/post-meta.d.ts +3 -8
- package/build-types/bindings/post-meta.d.ts.map +1 -1
- package/build-types/components/editor-interface/index.d.ts.map +1 -1
- package/build-types/components/entities-saved-states/index.d.ts.map +1 -1
- package/build-types/components/plugin-sidebar/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/visual-editor/index.d.ts.map +1 -1
- package/build-types/components/zoom-out-toggle/index.d.ts.map +1 -1
- package/build-types/store/actions.d.ts.map +1 -1
- package/package.json +30 -30
- package/src/bindings/post-meta.js +73 -65
- package/src/components/editor-interface/index.js +6 -4
- package/src/components/entities-saved-states/index.js +10 -8
- package/src/components/entities-saved-states/style.scss +2 -2
- package/src/components/plugin-sidebar/index.js +1 -6
- package/src/components/post-publish-panel/maybe-upload-media.js +3 -3
- package/src/components/preview-dropdown/index.js +11 -1
- package/src/components/provider/index.js +13 -20
- package/src/components/visual-editor/index.js +8 -6
- package/src/components/zoom-out-toggle/index.js +23 -6
- package/src/store/actions.js +26 -11
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -15,7 +15,9 @@ var _coreData = require("@wordpress/core-data");
|
|
|
15
15
|
var _preferences = require("@wordpress/preferences");
|
|
16
16
|
var _interface = require("@wordpress/interface");
|
|
17
17
|
var _store = require("../../store");
|
|
18
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
18
19
|
var _postPreviewButton = _interopRequireDefault(require("../post-preview-button"));
|
|
20
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
19
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
22
|
/**
|
|
21
23
|
* External dependencies
|
|
@@ -64,6 +66,17 @@ function PreviewDropdown({
|
|
|
64
66
|
const {
|
|
65
67
|
setDeviceType
|
|
66
68
|
} = (0, _data.useDispatch)(_store.store);
|
|
69
|
+
const {
|
|
70
|
+
__unstableSetEditorMode
|
|
71
|
+
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
72
|
+
const {
|
|
73
|
+
resetZoomLevel
|
|
74
|
+
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_blockEditor.store));
|
|
75
|
+
const handleDevicePreviewChange = newDeviceType => {
|
|
76
|
+
setDeviceType(newDeviceType);
|
|
77
|
+
__unstableSetEditorMode('edit');
|
|
78
|
+
resetZoomLevel();
|
|
79
|
+
};
|
|
67
80
|
const isMobile = (0, _compose.useViewportMatch)('medium', '<');
|
|
68
81
|
if (isMobile) {
|
|
69
82
|
return null;
|
|
@@ -121,7 +134,7 @@ function PreviewDropdown({
|
|
|
121
134
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItemsChoice, {
|
|
122
135
|
choices: choices,
|
|
123
136
|
value: deviceType,
|
|
124
|
-
onSelect:
|
|
137
|
+
onSelect: handleDevicePreviewChange
|
|
125
138
|
})
|
|
126
139
|
}), isTemplate && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
|
|
127
140
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.MenuItem, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_i18n","_icons","_data","_coreData","_preferences","_interface","_store","_postPreviewButton","_jsxRuntime","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","homeUrl","isTemplate","isViewable","showIconLabels","useSelect","select","_getPostType$viewable","getDeviceType","getCurrentPostType","editorStore","getEntityRecord","getPostType","coreStore","get","preferencesStore","_currentPostType","home","viewable","setDeviceType","useDispatch","isMobile","useViewportMatch","popoverProps","placement","toggleProps","className","iconPosition","size","showTooltip","accessibleWhenDisabled","menuProps","__","deviceIcons","desktop","mobile","tablet","choices","value","label","icon","jsx","DropdownMenu","clsx","toLowerCase","disableOpenOnArrowDown","children","onClose","jsxs","Fragment","MenuGroup","MenuItemsChoice","onSelect","MenuItem","href","target","external","onClick","VisuallyHidden","as","default","role","textContent","Icon","onPreview","ActionItem","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":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_i18n","_icons","_data","_coreData","_preferences","_interface","_store","_blockEditor","_postPreviewButton","_lockUnlock","_jsxRuntime","PreviewDropdown","forceIsAutosaveable","disabled","deviceType","homeUrl","isTemplate","isViewable","showIconLabels","useSelect","select","_getPostType$viewable","getDeviceType","getCurrentPostType","editorStore","getEntityRecord","getPostType","coreStore","get","preferencesStore","_currentPostType","home","viewable","setDeviceType","useDispatch","__unstableSetEditorMode","blockEditorStore","resetZoomLevel","unlock","handleDevicePreviewChange","newDeviceType","isMobile","useViewportMatch","popoverProps","placement","toggleProps","className","iconPosition","size","showTooltip","accessibleWhenDisabled","menuProps","__","deviceIcons","desktop","mobile","tablet","choices","value","label","icon","jsx","DropdownMenu","clsx","toLowerCase","disableOpenOnArrowDown","children","onClose","jsxs","Fragment","MenuGroup","MenuItemsChoice","onSelect","MenuItem","href","target","external","onClick","VisuallyHidden","as","default","role","textContent","Icon","onPreview","ActionItem","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 { store as blockEditorStore } from '@wordpress/block-editor';\nimport PostPreviewButton from '../post-preview-button';\nimport { unlock } from '../../lock-unlock';\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\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\tconst { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst handleDevicePreviewChange = ( newDeviceType ) => {\n\t\tsetDeviceType( newDeviceType );\n\t\t__unstableSetEditorMode( 'edit' );\n\t\tresetZoomLevel();\n\t};\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={ handleDevicePreviewChange }\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":[]}
|
|
@@ -180,20 +180,16 @@ const ExperimentalEditorProvider = exports.ExperimentalEditorProvider = (0, _wit
|
|
|
180
180
|
const postContext = {};
|
|
181
181
|
// If it is a template, try to inherit the post type from the slug.
|
|
182
182
|
if (post.type === 'wp_template') {
|
|
183
|
-
if (
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
if (match) {
|
|
194
|
-
postContext.postType = match[1];
|
|
195
|
-
}
|
|
196
|
-
break;
|
|
183
|
+
if (post.slug === 'page') {
|
|
184
|
+
postContext.postType = 'page';
|
|
185
|
+
} else if (post.slug === 'single') {
|
|
186
|
+
postContext.postType = 'post';
|
|
187
|
+
} else if (post.slug.split('-')[0] === 'single') {
|
|
188
|
+
// If the slug is single-{postType}, infer the post type from the slug.
|
|
189
|
+
const postTypesSlugs = postTypes?.map(entity => entity.slug) || [];
|
|
190
|
+
const match = post.slug.match(`^single-(${postTypesSlugs.join('|')})(?:-.+)?$`);
|
|
191
|
+
if (match) {
|
|
192
|
+
postContext.postType = match[1];
|
|
197
193
|
}
|
|
198
194
|
}
|
|
199
195
|
} else if (!NON_CONTEXTUAL_POST_TYPES.includes(rootLevelPost.type) || shouldRenderTemplate) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_i18n","_coreData","_blockEditor","_notices","_patterns","_blocks","_withRegistryProvider","_interopRequireDefault","_store","_useBlockEditorSettings","_lockUnlock","_disableNonPageContentBlocks","_navigationBlockEditingMode","_useHideBlocksFromInserter","_commands","_blockRemovalWarnings","_startPageOptions","_keyboardShortcutHelpModal","_contentOnlySettingsMenu","_startTemplateOptions","_globalKeyboardShortcuts","_patternRenameModal","_patternDuplicateModal","_templatePartMenuItems","_jsxRuntime","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","PatternsMenuItems","editPatternsPrivateApis","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","useEntityBlockEditor","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","useMemo","createBlock","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","exports","withRegistryProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","editorSettings","selection","isReady","postTypes","useSelect","select","getEditorSettings","getEditorSelection","getRenderingMode","__unstableIsEditorReady","editorStore","getPostTypes","coreStore","per_page","shouldRenderTemplate","defaultBlockContext","postContext","is_custom","kind","slug","split","postType","postTypesSlugs","map","entity","match","join","includes","postId","templateSlug","undefined","blockEditorSettings","useBlockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","useDispatch","createWarningNotice","noticesStore","useLayoutEffect","postLock","autosave","__","actions","label","url","editLink","useEffect","_settings$defaultRend","defaultRenderingMode","useHideBlocksFromInserter","useCommands","jsx","EntityProvider","BlockContextProvider","value","jsxs","useSubRegistry","__unstableIsPreviewMode","Fragment","default","EditorProvider","props","BlockEditorProvider","_default"],"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":[]}
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_i18n","_coreData","_blockEditor","_notices","_patterns","_blocks","_withRegistryProvider","_interopRequireDefault","_store","_useBlockEditorSettings","_lockUnlock","_disableNonPageContentBlocks","_navigationBlockEditingMode","_useHideBlocksFromInserter","_commands","_blockRemovalWarnings","_startPageOptions","_keyboardShortcutHelpModal","_contentOnlySettingsMenu","_startTemplateOptions","_globalKeyboardShortcuts","_patternRenameModal","_patternDuplicateModal","_templatePartMenuItems","_jsxRuntime","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","PatternsMenuItems","editPatternsPrivateApis","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","useEntityBlockEditor","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","useMemo","createBlock","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","exports","withRegistryProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","editorSettings","selection","isReady","postTypes","useSelect","select","getEditorSettings","getEditorSelection","getRenderingMode","__unstableIsEditorReady","editorStore","getPostTypes","coreStore","per_page","shouldRenderTemplate","defaultBlockContext","postContext","slug","postType","split","postTypesSlugs","map","entity","match","join","includes","postId","templateSlug","undefined","blockEditorSettings","useBlockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","useDispatch","createWarningNotice","noticesStore","useLayoutEffect","postLock","autosave","__","actions","label","url","editLink","useEffect","_settings$defaultRend","defaultRenderingMode","useHideBlocksFromInserter","useCommands","jsx","EntityProvider","kind","BlockContextProvider","value","jsxs","useSubRegistry","__unstableIsPreviewMode","Fragment","default","EditorProvider","props","BlockEditorProvider","_default"],"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.slug === 'page' ) {\n\t\t\t\t\tpostContext.postType = 'page';\n\t\t\t\t} else if ( post.slug === 'single' ) {\n\t\t\t\t\tpostContext.postType = 'post';\n\t\t\t\t} else if ( post.slug.split( '-' )[ 0 ] === 'single' ) {\n\t\t\t\t\t// If the slug is single-{postType}, infer the post type from the slug.\n\t\t\t\t\tconst postTypesSlugs =\n\t\t\t\t\t\tpostTypes?.map( ( entity ) => entity.slug ) || [];\n\t\t\t\t\tconst match = post.slug.match(\n\t\t\t\t\t\t`^single-(${ postTypesSlugs.join( '|' ) })(?:-.+)?$`\n\t\t\t\t\t);\n\t\t\t\t\tif ( match ) {\n\t\t\t\t\t\tpostContext.postType = match[ 1 ];\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":[]}
|
|
@@ -147,18 +147,18 @@ function VisualEditor({
|
|
|
147
147
|
hasRootPaddingAwareAlignments,
|
|
148
148
|
themeHasDisabledLayoutStyles,
|
|
149
149
|
themeSupportsLayout,
|
|
150
|
-
|
|
150
|
+
isZoomedOut
|
|
151
151
|
} = (0, _data.useSelect)(select => {
|
|
152
152
|
const {
|
|
153
153
|
getSettings,
|
|
154
|
-
|
|
155
|
-
} = select(_blockEditor.store);
|
|
154
|
+
isZoomOut: _isZoomOut
|
|
155
|
+
} = (0, _lockUnlock.unlock)(select(_blockEditor.store));
|
|
156
156
|
const _settings = getSettings();
|
|
157
157
|
return {
|
|
158
158
|
themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
|
|
159
159
|
themeSupportsLayout: _settings.supportsLayout,
|
|
160
160
|
hasRootPaddingAwareAlignments: _settings.__experimentalFeatures?.useRootPaddingAwareAlignments,
|
|
161
|
-
|
|
161
|
+
isZoomedOut: _isZoomOut()
|
|
162
162
|
};
|
|
163
163
|
}, []);
|
|
164
164
|
const deviceStyles = (0, _blockEditor.__experimentalUseResizeCanvas)(deviceType);
|
|
@@ -259,7 +259,7 @@ function VisualEditor({
|
|
|
259
259
|
}), (0, _useSelectNearestEditableBlock.default)({
|
|
260
260
|
isEnabled: renderingMode === 'template-locked'
|
|
261
261
|
})]);
|
|
262
|
-
const zoomOutProps =
|
|
262
|
+
const zoomOutProps = isZoomedOut && !isTabletViewport ? {
|
|
263
263
|
scale: 'default',
|
|
264
264
|
frameSize: '48px'
|
|
265
265
|
} : {};
|
|
@@ -270,7 +270,7 @@ function VisualEditor({
|
|
|
270
270
|
// Disable resizing in mobile viewport.
|
|
271
271
|
!isMobileViewport &&
|
|
272
272
|
// Dsiable resizing in zoomed-out mode.
|
|
273
|
-
!
|
|
273
|
+
!isZoomedOut;
|
|
274
274
|
const shouldIframe = !disableIframe || ['Tablet', 'Mobile'].includes(deviceType);
|
|
275
275
|
const iframeStyles = (0, _element.useMemo)(() => {
|
|
276
276
|
return [...(styles !== null && styles !== void 0 ? styles : []), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_element","_data","_blocks","_coreData","_compose","_postTitle","_store","_lockUnlock","_editTemplateBlocksNotification","_resizableEditor","_useSelectNearestEditableBlock","_constants","_jsxRuntime","LayoutStyle","useLayoutClasses","useLayoutStyles","ExperimentalBlockCanvas","BlockCanvas","useFlashEditableBlocks","unlock","blockEditorPrivateApis","DESIGN_POST_TYPES","PATTERN_POST_TYPE","TEMPLATE_POST_TYPE","NAVIGATION_POST_TYPE","TEMPLATE_PART_POST_TYPE","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","checkForPostContentAtRootLevel","VisualEditor","autoFocus","styles","disableIframe","iframeProps","contentRef","className","resizeObserver","sizes","useResizeObserver","isMobileViewport","useViewportMatch","isTabletViewport","renderingMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","deviceType","isFocusedEntity","isDesignPostType","postType","isPreview","useSelect","select","getCurrentPostId","getCurrentPostType","getCurrentTemplateId","getEditorSettings","getRenderingMode","getDeviceType","editorStore","getPostType","getEditedEntityRecord","coreStore","postTypeSlug","_renderingMode","_wrapperBlockName","editorSettings","supportsTemplateMode","postTypeObject","currentTemplateId","template","undefined","includes","viewable","onNavigateToPreviousEntityRecord","__unstableIsPreviewMode","isCleanNewPost","hasRootPaddingAwareAlignments","themeHasDisabledLayoutStyles","themeSupportsLayout","isZoomOutMode","getSettings","__unstableGetEditorMode","blockEditorStore","_settings","disableLayoutStyles","supportsLayout","__experimentalFeatures","useRootPaddingAwareAlignments","deviceStyles","useResizeCanvas","globalLayoutSettings","useSettings","fallbackLayout","useMemo","type","newestPostContentAttributes","content","parseableContent","parse","hasPostContentAtRootLevel","layout","align","postContentLayoutClasses","blockListLayoutClass","clsx","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","postEditorLayout","observeTypingRef","useTypingObserver","titleRef","useRef","useEffect","current","focus","alignCSS","localRef","typewriterRef","useTypewriter","useMergeRefs","isEnabled","useSelectNearestEditableBlock","zoomOutProps","scale","frameSize","forceFullHeight","enableResizing","shouldIframe","iframeStyles","css","jsx","children","default","height","jsxs","style","Fragment","selector","contentEditable","ref","marginTop","RecursionProvider","blockName","uniqueId","BlockList","toLowerCase","dropZoneElement","parentNode","__unstableDisableDropZone","_default","exports"],"sources":["@wordpress/editor/src/components/visual-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tstore as blockEditorStore,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tuseSettings,\n\tRecursionProvider,\n\tprivateApis as blockEditorPrivateApis,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseMergeRefs,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTitle from '../post-title';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport EditTemplateBlocksNotification from './edit-template-blocks-notification';\nimport ResizableEditor from '../resizable-editor';\nimport useSelectNearestEditableBlock from './use-select-nearest-editable-block';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n\tuseFlashEditableBlocks,\n} = unlock( blockEditorPrivateApis );\n\n/**\n * These post types have a special editor where they don't allow you to fill the title\n * and they don't apply the layout styles.\n */\nconst DESIGN_POST_TYPES = [\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n];\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction checkForPostContentAtRootLevel( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction VisualEditor( {\n\t// Ideally as we unify post and site editors, we won't need these props.\n\tautoFocus,\n\tstyles,\n\tdisableIframe = false,\n\tiframeProps,\n\tcontentRef,\n\tclassName,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst isTabletViewport = useViewportMatch( 'medium', '<' );\n\tconst {\n\t\trenderingMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tdeviceType,\n\t\tisFocusedEntity,\n\t\tisDesignPostType,\n\t\tpostType,\n\t\tisPreview,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentTemplateId,\n\t\t\tgetEditorSettings,\n\t\t\tgetRenderingMode,\n\t\t\tgetDeviceType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, getEditedEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getCurrentPostType();\n\t\tconst _renderingMode = getRenderingMode();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( postTypeSlug === PATTERN_POST_TYPE ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( _renderingMode === 'post-only' ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst postTypeObject = getPostType( postTypeSlug );\n\t\tconst currentTemplateId = getCurrentTemplateId();\n\t\tconst template = currentTemplateId\n\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tcurrentTemplateId\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trenderingMode: _renderingMode,\n\t\t\tpostContentAttributes: editorSettings.postContentAttributes,\n\t\t\tisDesignPostType: DESIGN_POST_TYPES.includes( postTypeSlug ),\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tpostTypeObject?.viewable && supportsTemplateMode\n\t\t\t\t\t? template\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tdeviceType: getDeviceType(),\n\t\t\tisFocusedEntity: !! editorSettings.onNavigateToPreviousEntityRecord,\n\t\t\tpostType: postTypeSlug,\n\t\t\tisPreview: editorSettings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t\tisZoomOutMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings, __unstableGetEditorMode } =\n\t\t\tselect( blockEditorStore );\n\t\tconst _settings = getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ globalLayoutSettings ] = useSettings( 'layout' );\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( renderingMode !== 'post-only' || isDesignPostType ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [\n\t\trenderingMode,\n\t\tthemeSupportsLayout,\n\t\tglobalLayoutSettings,\n\t\tisDesignPostType,\n\t] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif (\n\t\t\t! editedPostTemplate?.content &&\n\t\t\t! editedPostTemplate?.blocks &&\n\t\t\tpostContentAttributes\n\t\t) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst hasPostContentAtRootLevel = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn false;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn checkForPostContentAtRootLevel( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn (\n\t\t\tcheckForPostContentAtRootLevel( parse( parseableContent ) ) || false\n\t\t);\n\t}, [ editedPostTemplate?.content, editedPostTemplate?.blocks ] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = clsx(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst postEditorLayout =\n\t\tblockListLayout?.type === 'default' && ! hasPostContentAtRootLevel\n\t\t\t? fallbackLayout\n\t\t\t: blockListLayout;\n\tconst observeTypingRef = useTypingObserver();\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( ! autoFocus || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ autoFocus, isCleanNewPost ] );\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\tconst localRef = useRef();\n\tconst typewriterRef = useTypewriter();\n\tcontentRef = useMergeRefs( [\n\t\tlocalRef,\n\t\tcontentRef,\n\t\trenderingMode === 'post-only' ? typewriterRef : null,\n\t\tuseFlashEditableBlocks( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseSelectNearestEditableBlock( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t] );\n\n\tconst zoomOutProps =\n\t\tisZoomOutMode && ! isTabletViewport\n\t\t\t? {\n\t\t\t\t\tscale: 'default',\n\t\t\t\t\tframeSize: '48px',\n\t\t\t }\n\t\t\t: {};\n\n\tconst forceFullHeight = postType === NAVIGATION_POST_TYPE;\n\tconst enableResizing =\n\t\t[\n\t\t\tNAVIGATION_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType ) &&\n\t\t// Disable in previews / view mode.\n\t\t! isPreview &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport &&\n\t\t// Dsiable resizing in zoomed-out mode.\n\t\t! isZoomOutMode;\n\tconst shouldIframe =\n\t\t! disableIframe || [ 'Tablet', 'Mobile' ].includes( deviceType );\n\n\tconst iframeStyles = useMemo( () => {\n\t\treturn [\n\t\t\t...( styles ?? [] ),\n\t\t\t{\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}`,\n\t\t\t},\n\t\t];\n\t}, [ styles, enableResizing ] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-visual-editor',\n\t\t\t\t// this class is here for backward compatibility reasons.\n\t\t\t\t'edit-post-visual-editor',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'has-padding': isFocusedEntity || enableResizing,\n\t\t\t\t\t'is-resizable': enableResizing,\n\t\t\t\t\t'is-iframed': shouldIframe,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<ResizableEditor\n\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\theight={\n\t\t\t\t\tsizes.height && ! forceFullHeight ? sizes.height : '100%'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ shouldIframe }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\tstyles={ iframeStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tiframeProps={ {\n\t\t\t\t\t\t...iframeProps,\n\t\t\t\t\t\t...zoomOutProps,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t\t\t\t...deviceStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t! isDesignPostType && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".editor-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ postEditorLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ align && <LayoutStyle css={ alignCSS } /> }\n\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\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) }\n\t\t\t\t\t{ renderingMode === 'post-only' && ! isDesignPostType && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'editor-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t// The following class is only here for backward comapatibility\n\t\t\t\t\t\t\t\t// some themes might be using it to style the post title.\n\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\tref={ observeTypingRef }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// This is using inline styles\n\t\t\t\t\t\t\t\t// so it's applied for both iframed and non iframed editors.\n\t\t\t\t\t\t\t\tmarginTop: '4rem',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'is-' + deviceType.toLowerCase() + '-preview',\n\t\t\t\t\t\t\t\trenderingMode !== 'post-only' ||\n\t\t\t\t\t\t\t\t\tisDesignPostType\n\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t\t\t// When iframed, pass in the html element of the iframe to\n\t\t\t\t\t\t\t\t// ensure the drop zone extends to the edges of the iframe.\n\t\t\t\t\t\t\t\tdisableIframe\n\t\t\t\t\t\t\t\t\t? localRef.current\n\t\t\t\t\t\t\t\t\t: localRef.current?.parentNode\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__unstableDisableDropZone={\n\t\t\t\t\t\t\t\t// In template preview mode, disable drop zones at the root of the template.\n\t\t\t\t\t\t\t\trenderingMode === 'template-locked'\n\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ renderingMode === 'template-locked' && (\n\t\t\t\t\t\t\t<EditTemplateBlocksNotification\n\t\t\t\t\t\t\t\tcontentRef={ localRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t{\n\t\t\t\t\t\t// Avoid resize listeners when not needed,\n\t\t\t\t\t\t// these will trigger unnecessary re-renders\n\t\t\t\t\t\t// when animating the iframe width.\n\t\t\t\t\t\tenableResizing && resizeObserver\n\t\t\t\t\t}\n\t\t\t\t</BlockCanvas>\n\t\t\t</ResizableEditor>\n\t\t</div>\n\t);\n}\n\nexport default VisualEditor;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_element","_data","_blocks","_coreData","_compose","_postTitle","_store","_lockUnlock","_editTemplateBlocksNotification","_resizableEditor","_useSelectNearestEditableBlock","_constants","_jsxRuntime","LayoutStyle","useLayoutClasses","useLayoutStyles","ExperimentalBlockCanvas","BlockCanvas","useFlashEditableBlocks","unlock","blockEditorPrivateApis","DESIGN_POST_TYPES","PATTERN_POST_TYPE","TEMPLATE_POST_TYPE","NAVIGATION_POST_TYPE","TEMPLATE_PART_POST_TYPE","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","checkForPostContentAtRootLevel","VisualEditor","autoFocus","styles","disableIframe","iframeProps","contentRef","className","resizeObserver","sizes","useResizeObserver","isMobileViewport","useViewportMatch","isTabletViewport","renderingMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","deviceType","isFocusedEntity","isDesignPostType","postType","isPreview","useSelect","select","getCurrentPostId","getCurrentPostType","getCurrentTemplateId","getEditorSettings","getRenderingMode","getDeviceType","editorStore","getPostType","getEditedEntityRecord","coreStore","postTypeSlug","_renderingMode","_wrapperBlockName","editorSettings","supportsTemplateMode","postTypeObject","currentTemplateId","template","undefined","includes","viewable","onNavigateToPreviousEntityRecord","__unstableIsPreviewMode","isCleanNewPost","hasRootPaddingAwareAlignments","themeHasDisabledLayoutStyles","themeSupportsLayout","isZoomedOut","getSettings","isZoomOut","_isZoomOut","blockEditorStore","_settings","disableLayoutStyles","supportsLayout","__experimentalFeatures","useRootPaddingAwareAlignments","deviceStyles","useResizeCanvas","globalLayoutSettings","useSettings","fallbackLayout","useMemo","type","newestPostContentAttributes","content","parseableContent","parse","hasPostContentAtRootLevel","layout","align","postContentLayoutClasses","blockListLayoutClass","clsx","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","postEditorLayout","observeTypingRef","useTypingObserver","titleRef","useRef","useEffect","current","focus","alignCSS","localRef","typewriterRef","useTypewriter","useMergeRefs","isEnabled","useSelectNearestEditableBlock","zoomOutProps","scale","frameSize","forceFullHeight","enableResizing","shouldIframe","iframeStyles","css","jsx","children","default","height","jsxs","style","Fragment","selector","contentEditable","ref","marginTop","RecursionProvider","blockName","uniqueId","BlockList","toLowerCase","dropZoneElement","parentNode","__unstableDisableDropZone","_default","exports"],"sources":["@wordpress/editor/src/components/visual-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tstore as blockEditorStore,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tuseSettings,\n\tRecursionProvider,\n\tprivateApis as blockEditorPrivateApis,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseMergeRefs,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTitle from '../post-title';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport EditTemplateBlocksNotification from './edit-template-blocks-notification';\nimport ResizableEditor from '../resizable-editor';\nimport useSelectNearestEditableBlock from './use-select-nearest-editable-block';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n\tuseFlashEditableBlocks,\n} = unlock( blockEditorPrivateApis );\n\n/**\n * These post types have a special editor where they don't allow you to fill the title\n * and they don't apply the layout styles.\n */\nconst DESIGN_POST_TYPES = [\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n];\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction checkForPostContentAtRootLevel( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction VisualEditor( {\n\t// Ideally as we unify post and site editors, we won't need these props.\n\tautoFocus,\n\tstyles,\n\tdisableIframe = false,\n\tiframeProps,\n\tcontentRef,\n\tclassName,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst isTabletViewport = useViewportMatch( 'medium', '<' );\n\tconst {\n\t\trenderingMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tdeviceType,\n\t\tisFocusedEntity,\n\t\tisDesignPostType,\n\t\tpostType,\n\t\tisPreview,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentTemplateId,\n\t\t\tgetEditorSettings,\n\t\t\tgetRenderingMode,\n\t\t\tgetDeviceType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, getEditedEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getCurrentPostType();\n\t\tconst _renderingMode = getRenderingMode();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( postTypeSlug === PATTERN_POST_TYPE ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( _renderingMode === 'post-only' ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst postTypeObject = getPostType( postTypeSlug );\n\t\tconst currentTemplateId = getCurrentTemplateId();\n\t\tconst template = currentTemplateId\n\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tcurrentTemplateId\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trenderingMode: _renderingMode,\n\t\t\tpostContentAttributes: editorSettings.postContentAttributes,\n\t\t\tisDesignPostType: DESIGN_POST_TYPES.includes( postTypeSlug ),\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tpostTypeObject?.viewable && supportsTemplateMode\n\t\t\t\t\t? template\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tdeviceType: getDeviceType(),\n\t\t\tisFocusedEntity: !! editorSettings.onNavigateToPreviousEntityRecord,\n\t\t\tpostType: postTypeSlug,\n\t\t\tisPreview: editorSettings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t\tisZoomedOut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings, isZoomOut: _isZoomOut } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\n\t\tconst _settings = getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t\tisZoomedOut: _isZoomOut(),\n\t\t};\n\t}, [] );\n\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ globalLayoutSettings ] = useSettings( 'layout' );\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( renderingMode !== 'post-only' || isDesignPostType ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [\n\t\trenderingMode,\n\t\tthemeSupportsLayout,\n\t\tglobalLayoutSettings,\n\t\tisDesignPostType,\n\t] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif (\n\t\t\t! editedPostTemplate?.content &&\n\t\t\t! editedPostTemplate?.blocks &&\n\t\t\tpostContentAttributes\n\t\t) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst hasPostContentAtRootLevel = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn false;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn checkForPostContentAtRootLevel( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn (\n\t\t\tcheckForPostContentAtRootLevel( parse( parseableContent ) ) || false\n\t\t);\n\t}, [ editedPostTemplate?.content, editedPostTemplate?.blocks ] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = clsx(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst postEditorLayout =\n\t\tblockListLayout?.type === 'default' && ! hasPostContentAtRootLevel\n\t\t\t? fallbackLayout\n\t\t\t: blockListLayout;\n\tconst observeTypingRef = useTypingObserver();\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( ! autoFocus || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ autoFocus, isCleanNewPost ] );\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\tconst localRef = useRef();\n\tconst typewriterRef = useTypewriter();\n\tcontentRef = useMergeRefs( [\n\t\tlocalRef,\n\t\tcontentRef,\n\t\trenderingMode === 'post-only' ? typewriterRef : null,\n\t\tuseFlashEditableBlocks( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseSelectNearestEditableBlock( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t] );\n\n\tconst zoomOutProps =\n\t\tisZoomedOut && ! isTabletViewport\n\t\t\t? {\n\t\t\t\t\tscale: 'default',\n\t\t\t\t\tframeSize: '48px',\n\t\t\t }\n\t\t\t: {};\n\n\tconst forceFullHeight = postType === NAVIGATION_POST_TYPE;\n\tconst enableResizing =\n\t\t[\n\t\t\tNAVIGATION_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType ) &&\n\t\t// Disable in previews / view mode.\n\t\t! isPreview &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport &&\n\t\t// Dsiable resizing in zoomed-out mode.\n\t\t! isZoomedOut;\n\tconst shouldIframe =\n\t\t! disableIframe || [ 'Tablet', 'Mobile' ].includes( deviceType );\n\n\tconst iframeStyles = useMemo( () => {\n\t\treturn [\n\t\t\t...( styles ?? [] ),\n\t\t\t{\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}`,\n\t\t\t},\n\t\t];\n\t}, [ styles, enableResizing ] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-visual-editor',\n\t\t\t\t// this class is here for backward compatibility reasons.\n\t\t\t\t'edit-post-visual-editor',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'has-padding': isFocusedEntity || enableResizing,\n\t\t\t\t\t'is-resizable': enableResizing,\n\t\t\t\t\t'is-iframed': shouldIframe,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<ResizableEditor\n\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\theight={\n\t\t\t\t\tsizes.height && ! forceFullHeight ? sizes.height : '100%'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ shouldIframe }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\tstyles={ iframeStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tiframeProps={ {\n\t\t\t\t\t\t...iframeProps,\n\t\t\t\t\t\t...zoomOutProps,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t\t\t\t...deviceStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t! isDesignPostType && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".editor-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ postEditorLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ align && <LayoutStyle css={ alignCSS } /> }\n\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\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) }\n\t\t\t\t\t{ renderingMode === 'post-only' && ! isDesignPostType && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'editor-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t// The following class is only here for backward comapatibility\n\t\t\t\t\t\t\t\t// some themes might be using it to style the post title.\n\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\tref={ observeTypingRef }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// This is using inline styles\n\t\t\t\t\t\t\t\t// so it's applied for both iframed and non iframed editors.\n\t\t\t\t\t\t\t\tmarginTop: '4rem',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'is-' + deviceType.toLowerCase() + '-preview',\n\t\t\t\t\t\t\t\trenderingMode !== 'post-only' ||\n\t\t\t\t\t\t\t\t\tisDesignPostType\n\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t\t\t// When iframed, pass in the html element of the iframe to\n\t\t\t\t\t\t\t\t// ensure the drop zone extends to the edges of the iframe.\n\t\t\t\t\t\t\t\tdisableIframe\n\t\t\t\t\t\t\t\t\t? localRef.current\n\t\t\t\t\t\t\t\t\t: localRef.current?.parentNode\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__unstableDisableDropZone={\n\t\t\t\t\t\t\t\t// In template preview mode, disable drop zones at the root of the template.\n\t\t\t\t\t\t\t\trenderingMode === 'template-locked'\n\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ renderingMode === 'template-locked' && (\n\t\t\t\t\t\t\t<EditTemplateBlocksNotification\n\t\t\t\t\t\t\t\tcontentRef={ localRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t{\n\t\t\t\t\t\t// Avoid resize listeners when not needed,\n\t\t\t\t\t\t// these will trigger unnecessary re-renders\n\t\t\t\t\t\t// when animating the iframe width.\n\t\t\t\t\t\tenableResizing && resizeObserver\n\t\t\t\t\t}\n\t\t\t\t</BlockCanvas>\n\t\t\t</ResizableEditor>\n\t\t</div>\n\t);\n}\n\nexport default VisualEditor;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,29 +9,45 @@ var _i18n = require("@wordpress/i18n");
|
|
|
9
9
|
var _data = require("@wordpress/data");
|
|
10
10
|
var _blockEditor = require("@wordpress/block-editor");
|
|
11
11
|
var _icons = require("@wordpress/icons");
|
|
12
|
+
var _preferences = require("@wordpress/preferences");
|
|
13
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
12
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
15
|
/**
|
|
14
16
|
* WordPress dependencies
|
|
15
17
|
*/
|
|
16
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Internal dependencies
|
|
21
|
+
*/
|
|
22
|
+
|
|
17
23
|
const ZoomOutToggle = () => {
|
|
18
24
|
const {
|
|
19
|
-
|
|
25
|
+
isZoomOut,
|
|
26
|
+
showIconLabels
|
|
20
27
|
} = (0, _data.useSelect)(select => ({
|
|
21
|
-
|
|
28
|
+
isZoomOut: (0, _lockUnlock.unlock)(select(_blockEditor.store)).isZoomOut(),
|
|
29
|
+
showIconLabels: select(_preferences.store).get('core', 'showIconLabels')
|
|
22
30
|
}));
|
|
23
31
|
const {
|
|
32
|
+
resetZoomLevel,
|
|
33
|
+
setZoomLevel,
|
|
24
34
|
__unstableSetEditorMode
|
|
25
|
-
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
35
|
+
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_blockEditor.store));
|
|
26
36
|
const handleZoomOut = () => {
|
|
27
|
-
|
|
37
|
+
if (isZoomOut) {
|
|
38
|
+
resetZoomLevel();
|
|
39
|
+
} else {
|
|
40
|
+
setZoomLevel(50);
|
|
41
|
+
}
|
|
42
|
+
__unstableSetEditorMode(isZoomOut ? 'edit' : 'zoom-out');
|
|
28
43
|
};
|
|
29
44
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
30
45
|
onClick: handleZoomOut,
|
|
31
46
|
icon: _icons.square,
|
|
32
47
|
label: (0, _i18n.__)('Toggle Zoom Out'),
|
|
33
|
-
isPressed:
|
|
34
|
-
size: "compact"
|
|
48
|
+
isPressed: isZoomOut,
|
|
49
|
+
size: "compact",
|
|
50
|
+
showTooltip: !showIconLabels
|
|
35
51
|
});
|
|
36
52
|
};
|
|
37
53
|
var _default = exports.default = ZoomOutToggle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_data","_blockEditor","_icons","_jsxRuntime","ZoomOutToggle","
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_data","_blockEditor","_icons","_preferences","_lockUnlock","_jsxRuntime","ZoomOutToggle","isZoomOut","showIconLabels","useSelect","select","unlock","blockEditorStore","preferencesStore","get","resetZoomLevel","setZoomLevel","__unstableSetEditorMode","useDispatch","handleZoomOut","jsx","Button","onClick","icon","zoomOutIcon","label","__","isPressed","size","showTooltip","_default","exports","default"],"sources":["@wordpress/editor/src/components/zoom-out-toggle/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { square as zoomOutIcon } from '@wordpress/icons';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst ZoomOutToggle = () => {\n\tconst { isZoomOut, showIconLabels } = useSelect( ( select ) => ( {\n\t\tisZoomOut: unlock( select( blockEditorStore ) ).isZoomOut(),\n\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t'core',\n\t\t\t'showIconLabels'\n\t\t),\n\t} ) );\n\n\tconst { resetZoomLevel, setZoomLevel, __unstableSetEditorMode } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst handleZoomOut = () => {\n\t\tif ( isZoomOut ) {\n\t\t\tresetZoomLevel();\n\t\t} else {\n\t\t\tsetZoomLevel( 50 );\n\t\t}\n\t\t__unstableSetEditorMode( isZoomOut ? 'edit' : 'zoom-out' );\n\t};\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={ handleZoomOut }\n\t\t\ticon={ zoomOutIcon }\n\t\t\tlabel={ __( 'Toggle Zoom Out' ) }\n\t\t\tisPressed={ isZoomOut }\n\t\t\tsize=\"compact\"\n\t\t\tshowTooltip={ ! showIconLabels }\n\t\t/>\n\t);\n};\n\nexport default ZoomOutToggle;\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAKA,IAAAM,WAAA,GAAAN,OAAA;AAA2C,IAAAO,WAAA,GAAAP,OAAA;AAd3C;AACA;AACA;;AASA;AACA;AACA;;AAGA,MAAMQ,aAAa,GAAGA,CAAA,KAAM;EAC3B,MAAM;IAAEC,SAAS;IAAEC;EAAe,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,KAAQ;IAChEH,SAAS,EAAE,IAAAI,kBAAM,EAAED,MAAM,CAAEE,kBAAiB,CAAE,CAAC,CAACL,SAAS,CAAC,CAAC;IAC3DC,cAAc,EAAEE,MAAM,CAAEG,kBAAiB,CAAC,CAACC,GAAG,CAC7C,MAAM,EACN,gBACD;EACD,CAAC,CAAG,CAAC;EAEL,MAAM;IAAEC,cAAc;IAAEC,YAAY;IAAEC;EAAwB,CAAC,GAAG,IAAAN,kBAAM,EACvE,IAAAO,iBAAW,EAAEN,kBAAiB,CAC/B,CAAC;EAED,MAAMO,aAAa,GAAGA,CAAA,KAAM;IAC3B,IAAKZ,SAAS,EAAG;MAChBQ,cAAc,CAAC,CAAC;IACjB,CAAC,MAAM;MACNC,YAAY,CAAE,EAAG,CAAC;IACnB;IACAC,uBAAuB,CAAEV,SAAS,GAAG,MAAM,GAAG,UAAW,CAAC;EAC3D,CAAC;EAED,oBACC,IAAAF,WAAA,CAAAe,GAAA,EAACvB,WAAA,CAAAwB,MAAM;IACNC,OAAO,EAAGH,aAAe;IACzBI,IAAI,EAAGC,aAAa;IACpBC,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IACjCC,SAAS,EAAGpB,SAAW;IACvBqB,IAAI,EAAC,SAAS;IACdC,WAAW,EAAG,CAAErB;EAAgB,CAChC,CAAC;AAEJ,CAAC;AAAC,IAAAsB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa1B,aAAa","ignoreList":[]}
|
package/build/store/actions.js
CHANGED
|
@@ -218,7 +218,7 @@ const savePost = (options = {}) => async ({
|
|
|
218
218
|
});
|
|
219
219
|
}
|
|
220
220
|
const previousRecord = select.getCurrentPost();
|
|
221
|
-
|
|
221
|
+
let edits = {
|
|
222
222
|
id: previousRecord.id,
|
|
223
223
|
...registry.select(_coreData.store).getEntityRecordNonTransientEdits('postType', previousRecord.type, previousRecord.id),
|
|
224
224
|
content
|
|
@@ -229,7 +229,7 @@ const savePost = (options = {}) => async ({
|
|
|
229
229
|
});
|
|
230
230
|
let error = false;
|
|
231
231
|
try {
|
|
232
|
-
|
|
232
|
+
edits = await (0, _hooks.applyFiltersAsync)('editor.preSavePost', edits, options);
|
|
233
233
|
} catch (err) {
|
|
234
234
|
error = err;
|
|
235
235
|
}
|
|
@@ -243,10 +243,21 @@ const savePost = (options = {}) => async ({
|
|
|
243
243
|
if (!error) {
|
|
244
244
|
error = registry.select(_coreData.store).getLastEntitySaveError('postType', previousRecord.type, previousRecord.id);
|
|
245
245
|
}
|
|
246
|
+
|
|
247
|
+
// Run the hook with legacy unstable name for backward compatibility
|
|
246
248
|
if (!error) {
|
|
247
|
-
|
|
249
|
+
try {
|
|
250
|
+
await (0, _hooks.applyFilters)('editor.__unstableSavePost', Promise.resolve(), options);
|
|
251
|
+
} catch (err) {
|
|
248
252
|
error = err;
|
|
249
|
-
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
if (!error) {
|
|
256
|
+
try {
|
|
257
|
+
await (0, _hooks.doActionAsync)('editor.savePost', options);
|
|
258
|
+
} catch (err) {
|
|
259
|
+
error = err;
|
|
260
|
+
}
|
|
250
261
|
}
|
|
251
262
|
dispatch({
|
|
252
263
|
type: 'REQUEST_POST_UPDATE_FINISH',
|