@wordpress/edit-post 7.12.0 → 7.12.2
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/components/block-manager/index.js +20 -4
- package/build/components/block-manager/index.js.map +1 -1
- package/build/components/device-preview/index.js +2 -4
- package/build/components/device-preview/index.js.map +1 -1
- package/build/components/header/header-toolbar/index.js +2 -2
- package/build/components/header/header-toolbar/index.js.map +1 -1
- package/build/components/header/index.js +29 -35
- package/build/components/header/index.js.map +1 -1
- package/build/components/header/plugin-sidebar-more-menu-item/index.js +4 -7
- package/build/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -1
- package/build/components/header/writing-menu/index.js +0 -8
- package/build/components/header/writing-menu/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +2 -1
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +1 -3
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/preferences-modal/meta-boxes-section.js +2 -1
- package/build/components/preferences-modal/meta-boxes-section.js.map +1 -1
- package/build/components/preferences-modal/options/enable-custom-fields.js +1 -1
- package/build/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js +4 -8
- package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build/components/sidebar/plugin-sidebar/index.js +4 -7
- package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
- package/build/components/sidebar/post-status/index.js +1 -1
- package/build/components/sidebar/post-status/index.js.map +1 -1
- package/build/components/visual-editor/index.js +19 -11
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/editor.js +30 -9
- package/build/editor.js.map +1 -1
- package/build/editor.native.js +4 -5
- package/build/editor.native.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +122 -0
- package/build/hooks/commands/use-common-commands.js.map +1 -0
- package/build/hooks/validate-multiple-use/index.js +6 -8
- package/build/hooks/validate-multiple-use/index.js.map +1 -1
- package/build/index.js +18 -2
- package/build/index.js.map +1 -1
- package/build/{private-apis.js → lock-unlock.js} +1 -1
- package/build/lock-unlock.js.map +1 -0
- package/build/plugins/index.js +1 -1
- package/build/plugins/index.js.map +1 -1
- package/build-module/components/block-manager/index.js +23 -7
- package/build-module/components/block-manager/index.js.map +1 -1
- package/build-module/components/device-preview/index.js +2 -4
- package/build-module/components/device-preview/index.js.map +1 -1
- package/build-module/components/header/header-toolbar/index.js +1 -1
- package/build-module/components/header/header-toolbar/index.js.map +1 -1
- package/build-module/components/header/index.js +28 -35
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/header/plugin-sidebar-more-menu-item/index.js +4 -4
- package/build-module/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -1
- package/build-module/components/header/writing-menu/index.js +0 -8
- package/build-module/components/header/writing-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +2 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +1 -3
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/preferences-modal/meta-boxes-section.js +2 -1
- package/build-module/components/preferences-modal/meta-boxes-section.js.map +1 -1
- package/build-module/components/preferences-modal/options/enable-custom-fields.js +1 -1
- package/build-module/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js +4 -5
- package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build-module/components/sidebar/plugin-sidebar/index.js +4 -4
- package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/post-status/index.js +2 -2
- package/build-module/components/sidebar/post-status/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +14 -7
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/editor.js +26 -6
- package/build-module/editor.js.map +1 -1
- package/build-module/editor.native.js +4 -4
- package/build-module/editor.native.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +108 -0
- package/build-module/hooks/commands/use-common-commands.js.map +1 -0
- package/build-module/hooks/validate-multiple-use/index.js +6 -5
- package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
- package/build-module/index.js +18 -2
- package/build-module/index.js.map +1 -1
- package/build-module/{private-apis.js → lock-unlock.js} +1 -1
- package/build-module/lock-unlock.js.map +1 -0
- package/build-module/plugins/index.js +1 -1
- package/build-module/plugins/index.js.map +1 -1
- package/build-style/style-rtl.css +3 -1
- package/build-style/style.css +3 -1
- package/package.json +32 -32
- package/src/components/block-manager/index.js +51 -31
- package/src/components/block-manager/style.scss +3 -1
- package/src/components/device-preview/index.js +1 -2
- package/src/components/header/header-toolbar/index.js +1 -1
- package/src/components/header/index.js +11 -16
- package/src/components/header/writing-menu/index.js +0 -10
- package/src/components/keyboard-shortcuts/index.js +1 -3
- package/src/components/preferences-modal/options/enable-custom-fields.js +2 -2
- package/src/components/preferences-modal/options/test/__snapshots__/enable-custom-fields.js.snap +2 -2
- package/src/components/preferences-modal/test/__snapshots__/index.js.snap +11 -5
- package/src/components/sidebar/post-status/index.js +2 -1
- package/src/components/visual-editor/index.js +12 -11
- package/src/editor.js +24 -1
- package/src/hooks/commands/use-common-commands.js +103 -0
- package/src/index.js +30 -3
- package/src/plugins/index.js +1 -1
- package/src/test/editor.native.js +34 -9
- package/build/private-apis.js.map +0 -1
- package/build-module/private-apis.js.map +0 -1
- /package/src/{private-apis.js → lock-unlock.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-sidebar/index.js"],"names":["ComplementaryArea","useSelect","__","store","keyboardShortcutsStore","editorStore","editPostStore","PluginSidebarEditPost","className","props","postTitle","shortcut","showIconLabels","select","getEditedPostAttribute","getShortcutRepresentation","isFeatureActive"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-sidebar/index.js"],"names":["ComplementaryArea","useSelect","__","store","keyboardShortcutsStore","editorStore","editPostStore","PluginSidebarEditPost","className","props","postTitle","shortcut","showIconLabels","select","getEditedPostAttribute","getShortcutRepresentation","isFeatureActive"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,iBAAT,QAAkC,sBAAlC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,sBAAlB,QAAgD,+BAAhD;AACA,SAASD,KAAK,IAAIE,WAAlB,QAAqC,mBAArC;AAEA;AACA;AACA;;AACA,SAASF,KAAK,IAAIG,aAAlB,QAAuC,gBAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,qBAAT,CAAgC;AAAEC,EAAAA,SAAF;AAAa,KAAGC;AAAhB,CAAhC,EAA0D;AACxE,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,QAAb;AAAuBC,IAAAA;AAAvB,MAA0CX,SAAS,CAAIY,MAAF,IAAc;AACxE,WAAO;AACNH,MAAAA,SAAS,EAAEG,MAAM,CAAER,WAAF,CAAN,CAAsBS,sBAAtB,CAA8C,OAA9C,CADL;AAENH,MAAAA,QAAQ,EAAEE,MAAM,CACfT,sBADe,CAAN,CAERW,yBAFQ,CAEmB,+BAFnB,CAFJ;AAKNH,MAAAA,cAAc,EACbC,MAAM,CAAEP,aAAF,CAAN,CAAwBU,eAAxB,CAAyC,gBAAzC;AANK,KAAP;AAQA,GATwD,EAStD,EATsD,CAAzD;AAUA,SACC,cAAC,iBAAD;AACC,IAAA,cAAc,EAAGR,SADlB;AAEC,IAAA,SAAS,EAAC,mBAFX;AAGC,IAAA,gBAAgB,EAAGE,SAAS,IAAIR,EAAE,CAAE,YAAF,CAHnC;AAIC,IAAA,KAAK,EAAC,gBAJP;AAKC,IAAA,cAAc,EAAGS,QALlB;AAMC,IAAA,cAAc,EAAGC,cANlB;AAAA,OAOMH;AAPN,IADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\n/**\n * Renders a sidebar when activated. The contents within the `PluginSidebar` will appear as content within the sidebar.\n * It also automatically renders a corresponding `PluginSidebarMenuItem` component when `isPinnable` flag is set to `true`.\n * If you wish to display the sidebar, you can with use the `PluginSidebarMoreMenuItem` component or the `wp.data.dispatch` API:\n *\n * ```js\n * wp.data.dispatch( 'core/edit-post' ).openGeneralSidebar( 'plugin-name/sidebar-name' );\n * ```\n *\n * @see PluginSidebarMoreMenuItem\n *\n * @param {Object} props Element props.\n * @param {string} props.name A string identifying the sidebar. Must be unique for every sidebar registered within the scope of your plugin.\n * @param {string} [props.className] An optional class name added to the sidebar body.\n * @param {string} props.title Title displayed at the top of the sidebar.\n * @param {boolean} [props.isPinnable=true] Whether to allow to pin sidebar to the toolbar. When set to `true` it also automatically renders a corresponding menu item.\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var __ = wp.i18n.__;\n * var el = wp.element.createElement;\n * var PanelBody = wp.components.PanelBody;\n * var PluginSidebar = wp.editPost.PluginSidebar;\n * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.\n *\n * function MyPluginSidebar() {\n * \treturn el(\n * \t\t\tPluginSidebar,\n * \t\t\t{\n * \t\t\t\tname: 'my-sidebar',\n * \t\t\t\ttitle: 'My sidebar title',\n * \t\t\t\ticon: moreIcon,\n * \t\t\t},\n * \t\t\tel(\n * \t\t\t\tPanelBody,\n * \t\t\t\t{},\n * \t\t\t\t__( 'My sidebar content' )\n * \t\t\t)\n * \t);\n * }\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { __ } from '@wordpress/i18n';\n * import { PanelBody } from '@wordpress/components';\n * import { PluginSidebar } from '@wordpress/edit-post';\n * import { more } from '@wordpress/icons';\n *\n * const MyPluginSidebar = () => (\n * \t<PluginSidebar\n * \t\tname=\"my-sidebar\"\n * \t\ttitle=\"My sidebar title\"\n * \t\ticon={ more }\n * \t>\n * \t\t<PanelBody>\n * \t\t\t{ __( 'My sidebar content' ) }\n * \t\t</PanelBody>\n * \t</PluginSidebar>\n * );\n * ```\n */\nexport default function PluginSidebarEditPost( { className, ...props } ) {\n\tconst { postTitle, shortcut, showIconLabels } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostTitle: select( editorStore ).getEditedPostAttribute( 'title' ),\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tpanelClassName={ className }\n\t\t\tclassName=\"edit-post-sidebar\"\n\t\t\tsmallScreenTitle={ postTitle || __( '(no title)' ) }\n\t\t\tscope=\"core/edit-post\"\n\t\t\ttoggleShortcut={ shortcut }\n\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -7,7 +7,7 @@ import { __ } from '@wordpress/i18n';
|
|
|
7
7
|
import { __experimentalHStack as HStack, PanelBody } from '@wordpress/components';
|
|
8
8
|
import { withSelect, withDispatch } from '@wordpress/data';
|
|
9
9
|
import { compose, ifCondition } from '@wordpress/compose';
|
|
10
|
-
import { PostSwitchToDraftButton } from '@wordpress/editor';
|
|
10
|
+
import { PostSwitchToDraftButton, PostSyncStatus } from '@wordpress/editor';
|
|
11
11
|
/**
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
@@ -39,7 +39,7 @@ function PostStatus({
|
|
|
39
39
|
title: __('Summary'),
|
|
40
40
|
opened: isOpened,
|
|
41
41
|
onToggle: onTogglePanel
|
|
42
|
-
}, createElement(PluginPostStatusInfo.Slot, null, fills => createElement(Fragment, null, createElement(PostVisibility, null), createElement(PostSchedule, null), createElement(PostTemplate, null), createElement(PostURL, null), createElement(PostSticky, null), createElement(PostPendingStatus, null), createElement(PostFormat, null), createElement(PostSlug, null), createElement(PostAuthor, null), fills, createElement(HStack, {
|
|
42
|
+
}, createElement(PluginPostStatusInfo.Slot, null, fills => createElement(Fragment, null, createElement(PostVisibility, null), createElement(PostSchedule, null), createElement(PostTemplate, null), createElement(PostURL, null), createElement(PostSticky, null), createElement(PostPendingStatus, null), createElement(PostFormat, null), createElement(PostSlug, null), createElement(PostAuthor, null), createElement(PostSyncStatus, null), fills, createElement(HStack, {
|
|
43
43
|
style: {
|
|
44
44
|
marginTop: '16px'
|
|
45
45
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-status/index.js"],"names":["__","__experimentalHStack","HStack","PanelBody","withSelect","withDispatch","compose","ifCondition","PostSwitchToDraftButton","PostVisibility","PostTrash","PostSchedule","PostSticky","PostAuthor","PostSlug","PostFormat","PostPendingStatus","PluginPostStatusInfo","store","editPostStore","PostTemplate","PostURL","PANEL_NAME","PostStatus","isOpened","onTogglePanel","fills","marginTop","select","isEditorPanelRemoved","isEditorPanelOpened","isRemoved","dispatch","toggleEditorPanelOpened"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,oBAAoB,IAAIC,MADzB,EAECC,SAFD,QAGO,uBAHP;AAIA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,EAAkBC,WAAlB,QAAqC,oBAArC;AACA,SAASC,uBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-status/index.js"],"names":["__","__experimentalHStack","HStack","PanelBody","withSelect","withDispatch","compose","ifCondition","PostSwitchToDraftButton","PostSyncStatus","PostVisibility","PostTrash","PostSchedule","PostSticky","PostAuthor","PostSlug","PostFormat","PostPendingStatus","PluginPostStatusInfo","store","editPostStore","PostTemplate","PostURL","PANEL_NAME","PostStatus","isOpened","onTogglePanel","fills","marginTop","select","isEditorPanelRemoved","isEditorPanelOpened","isRemoved","dispatch","toggleEditorPanelOpened"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,oBAAoB,IAAIC,MADzB,EAECC,SAFD,QAGO,uBAHP;AAIA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,EAAkBC,WAAlB,QAAqC,oBAArC;AACA,SAASC,uBAAT,EAAkCC,cAAlC,QAAwD,mBAAxD;AAEA;AACA;AACA;;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,SAAP,MAAsB,eAAtB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AACA,OAAOC,QAAP,MAAqB,cAArB;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,gBAAvC;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,OAAP,MAAoB,aAApB;AAEA;AACA;AACA;;AACA,MAAMC,UAAU,GAAG,aAAnB;;AAEA,SAASC,UAAT,CAAqB;AAAEC,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAArB,EAAmD;AAClD,SACC,cAAC,SAAD;AACC,IAAA,SAAS,EAAC,uBADX;AAEC,IAAA,KAAK,EAAG1B,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,MAAM,EAAGyB,QAHV;AAIC,IAAA,QAAQ,EAAGC;AAJZ,KAMC,cAAC,oBAAD,CAAsB,IAAtB,QACKC,KAAF,IACD,8BACC,cAAC,cAAD,OADD,EAEC,cAAC,YAAD,OAFD,EAGC,cAAC,YAAD,OAHD,EAIC,cAAC,OAAD,OAJD,EAKC,cAAC,UAAD,OALD,EAMC,cAAC,iBAAD,OAND,EAOC,cAAC,UAAD,OAPD,EAQC,cAAC,QAAD,OARD,EASC,cAAC,UAAD,OATD,EAUC,cAAC,cAAD,OAVD,EAWGA,KAXH,EAYC,cAAC,MAAD;AACC,IAAA,KAAK,EAAG;AACPC,MAAAA,SAAS,EAAE;AADJ,KADT;AAIC,IAAA,OAAO,EAAG;AAJX,KAMC,cAAC,uBAAD,OAND,EAOC,cAAC,SAAD,OAPD,CAZD,CAFF,CAND,CADD;AAmCA;;AAED,eAAetB,OAAO,CAAE,CACvBF,UAAU,CAAIyB,MAAF,IAAc;AACzB;AACA;AACA,QAAM;AAAEC,IAAAA,oBAAF;AAAwBC,IAAAA;AAAxB,MACLF,MAAM,CAAET,aAAF,CADP;AAEA,SAAO;AACNY,IAAAA,SAAS,EAAEF,oBAAoB,CAAEP,UAAF,CADzB;AAENE,IAAAA,QAAQ,EAAEM,mBAAmB,CAAER,UAAF;AAFvB,GAAP;AAIA,CATS,CADa,EAWvBhB,WAAW,CAAE,CAAE;AAAEyB,EAAAA;AAAF,CAAF,KAAqB,CAAEA,SAAzB,CAXY,EAYvB3B,YAAY,CAAI4B,QAAF,KAAkB;AAC/BP,EAAAA,aAAa,GAAG;AACf,WAAOO,QAAQ,CAAEb,aAAF,CAAR,CAA0Bc,uBAA1B,CACNX,UADM,CAAP;AAGA;;AAL8B,CAAlB,CAAF,CAZW,CAAF,CAAP,CAmBVC,UAnBU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalHStack as HStack,\n\tPanelBody,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { PostSwitchToDraftButton, PostSyncStatus } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport PostVisibility from '../post-visibility';\nimport PostTrash from '../post-trash';\nimport PostSchedule from '../post-schedule';\nimport PostSticky from '../post-sticky';\nimport PostAuthor from '../post-author';\nimport PostSlug from '../post-slug';\nimport PostFormat from '../post-format';\nimport PostPendingStatus from '../post-pending-status';\nimport PluginPostStatusInfo from '../plugin-post-status-info';\nimport { store as editPostStore } from '../../../store';\nimport PostTemplate from '../post-template';\nimport PostURL from '../post-url';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-status';\n\nfunction PostStatus( { isOpened, onTogglePanel } ) {\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"edit-post-post-status\"\n\t\t\ttitle={ __( 'Summary' ) }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ onTogglePanel }\n\t\t>\n\t\t\t<PluginPostStatusInfo.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PostVisibility />\n\t\t\t\t\t\t<PostSchedule />\n\t\t\t\t\t\t<PostTemplate />\n\t\t\t\t\t\t<PostURL />\n\t\t\t\t\t\t<PostSticky />\n\t\t\t\t\t\t<PostPendingStatus />\n\t\t\t\t\t\t<PostFormat />\n\t\t\t\t\t\t<PostSlug />\n\t\t\t\t\t\t<PostAuthor />\n\t\t\t\t\t\t<PostSyncStatus />\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmarginTop: '16px',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostSwitchToDraftButton />\n\t\t\t\t\t\t\t<PostTrash />\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PluginPostStatusInfo.Slot>\n\t\t</PanelBody>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\t// We use isEditorPanelRemoved to hide the panel if it was programatically removed. We do\n\t\t// not use isEditorPanelEnabled since this panel should not be disabled through the UI.\n\t\tconst { isEditorPanelRemoved, isEditorPanelOpened } =\n\t\t\tselect( editPostStore );\n\t\treturn {\n\t\t\tisRemoved: isEditorPanelRemoved( PANEL_NAME ),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t};\n\t} ),\n\tifCondition( ( { isRemoved } ) => ! isRemoved ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonTogglePanel() {\n\t\t\treturn dispatch( editPostStore ).toggleEditorPanelOpened(\n\t\t\t\tPANEL_NAME\n\t\t\t);\n\t\t},\n\t} ) ),\n] )( PostStatus );\n"]}
|
|
@@ -9,7 +9,7 @@ import classnames from 'classnames';
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { VisualEditorGlobalKeyboardShortcuts, PostTitle, store as editorStore } from '@wordpress/editor';
|
|
12
|
-
import { WritingFlow, BlockList, BlockTools, store as blockEditorStore, __unstableUseBlockSelectionClearer as useBlockSelectionClearer, __unstableUseTypewriter as useTypewriter, __unstableUseClipboardHandler as useClipboardHandler, __unstableUseTypingObserver as useTypingObserver, __experimentalUseResizeCanvas as useResizeCanvas, __unstableEditorStyles as EditorStyles, useSetting,
|
|
12
|
+
import { WritingFlow, BlockList, BlockTools, store as blockEditorStore, __unstableUseBlockSelectionClearer as useBlockSelectionClearer, __unstableUseTypewriter as useTypewriter, __unstableUseClipboardHandler as useClipboardHandler, __unstableUseTypingObserver as useTypingObserver, __experimentalUseResizeCanvas as useResizeCanvas, __unstableEditorStyles as EditorStyles, useSetting, __unstableUseMouseMoveTypingReset as useMouseMoveTypingReset, __unstableIframe as Iframe, __experimentalRecursionProvider as RecursionProvider, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
13
13
|
import { useEffect, useRef, useMemo } from '@wordpress/element';
|
|
14
14
|
import { __unstableMotion as motion } from '@wordpress/components';
|
|
15
15
|
import { useSelect } from '@wordpress/data';
|
|
@@ -21,6 +21,12 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
import { store as editPostStore } from '../../store';
|
|
24
|
+
import { unlock } from '../../lock-unlock';
|
|
25
|
+
const {
|
|
26
|
+
LayoutStyle,
|
|
27
|
+
useLayoutClasses,
|
|
28
|
+
useLayoutStyles
|
|
29
|
+
} = unlock(blockEditorPrivateApis);
|
|
24
30
|
const isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;
|
|
25
31
|
|
|
26
32
|
function MaybeIframe({
|
|
@@ -293,15 +299,16 @@ export default function VisualEditor({
|
|
|
293
299
|
contentRef: contentRef,
|
|
294
300
|
styles: styles
|
|
295
301
|
}, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && createElement(Fragment, null, createElement(LayoutStyle, {
|
|
296
|
-
selector: ".edit-post-visual-editor__post-title-wrapper
|
|
297
|
-
layout: fallbackLayout
|
|
298
|
-
|
|
302
|
+
selector: ".edit-post-visual-editor__post-title-wrapper",
|
|
303
|
+
layout: fallbackLayout
|
|
304
|
+
}), createElement(LayoutStyle, {
|
|
305
|
+
selector: ".block-editor-block-list__layout.is-root-container",
|
|
306
|
+
layout: blockListLayout
|
|
299
307
|
}), align && createElement(LayoutStyle, {
|
|
300
308
|
css: alignCSS
|
|
301
309
|
}), postContentLayoutStyles && createElement(LayoutStyle, {
|
|
302
310
|
layout: postContentLayout,
|
|
303
|
-
css: postContentLayoutStyles
|
|
304
|
-
layoutDefinitions: globalLayoutSettings?.definitions
|
|
311
|
+
css: postContentLayoutStyles
|
|
305
312
|
})), !isTemplateMode && createElement("div", {
|
|
306
313
|
className: classnames('edit-post-visual-editor__post-title-wrapper', {
|
|
307
314
|
'is-focus-mode': isFocusMode,
|
|
@@ -316,7 +323,7 @@ export default function VisualEditor({
|
|
|
316
323
|
}, createElement(BlockList, {
|
|
317
324
|
className: isTemplateMode ? 'wp-site-blocks' : `${blockListLayoutClass} wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.
|
|
318
325
|
,
|
|
319
|
-
|
|
326
|
+
layout: blockListLayout
|
|
320
327
|
}))))));
|
|
321
328
|
}
|
|
322
329
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["classnames","VisualEditorGlobalKeyboardShortcuts","PostTitle","store","editorStore","WritingFlow","BlockList","BlockTools","blockEditorStore","__unstableUseBlockSelectionClearer","useBlockSelectionClearer","__unstableUseTypewriter","useTypewriter","__unstableUseClipboardHandler","useClipboardHandler","__unstableUseTypingObserver","useTypingObserver","__experimentalUseResizeCanvas","useResizeCanvas","__unstableEditorStyles","EditorStyles","useSetting","__experimentalLayoutStyle","LayoutStyle","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","__unstableIframe","Iframe","__experimentalRecursionProvider","RecursionProvider","__experimentaluseLayoutClasses","useLayoutClasses","__experimentaluseLayoutStyles","useLayoutStyles","useEffect","useRef","useMemo","__unstableMotion","motion","useSelect","useMergeRefs","parse","blocksStore","coreStore","editPostStore","isGutenbergPlugin","process","env","IS_GUTENBERG_PLUGIN","MaybeIframe","children","contentRef","shouldIframe","styles","style","ref","flex","width","height","display","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","isBlockBasedTheme","hasV3BlocksOnly","select","isFeatureActive","isEditingTemplate","getEditedPostTemplate","__experimentalGetPreviewDeviceType","getCurrentPostId","getCurrentPostType","getEditorSettings","getBlockTypes","_isTemplateMode","_wrapperBlockName","editorSettings","supportsTemplateMode","canEditTemplate","canUser","undefined","__unstableIsBlockBasedTheme","every","type","apiVersion","isCleanNewPost","hasMetaBoxes","hasRootPaddingAwareAlignments","isFocusMode","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","getSettings","disableLayoutStyles","supportsLayout","focusMode","__experimentalFeatures","useRootPaddingAwareAlignments","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","globalLayoutSettings","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","fallbackLayout","newestPostContentAttributes","content","parseableContent","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","titleRef","current","focus","css","alignCSS","padding","definitions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentaluseLayoutClasses as useLayoutClasses,\n\t__experimentaluseLayoutStyles as useLayoutStyles,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { parse, store as blocksStore } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nconst isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;\n\nfunction MaybeIframe( { children, contentRef, shouldIframe, styles, style } ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t<EditorStyles styles={ styles } />\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\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\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tisBlockBasedTheme,\n\t\thasV3BlocksOnly,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\tgetEditedPostTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType, getEditorSettings } =\n\t\t\tselect( editorStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\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 canEditTemplate = select( coreStore ).canUser(\n\t\t\t'create',\n\t\t\t'templates'\n\t\t);\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\tpostContentAttributes: getEditorSettings().postContentAttributes,\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\tsupportsTemplateMode && canEditTemplate\n\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tisBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,\n\t\t\thasV3BlocksOnly: getBlockTypes().every( ( type ) => {\n\t\t\t\treturn type.apiVersion >= 3;\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tisFocusMode,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t} = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tisFocusMode: _settings.focusMode,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t};\n\t}, [] );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst globalLayoutSettings = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\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 ( isTemplateMode ) {\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}, [ isTemplateMode, themeSupportsLayout, globalLayoutSettings ] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\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 { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = classnames(\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 titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\tstyles = useMemo(\n\t\t() => [\n\t\t\t...styles,\n\t\t\t{\n\t\t\t\t// We should move this in to future to the body.\n\t\t\t\tcss:\n\t\t\t\t\t`.edit-post-visual-editor__post-title-wrapper{margin-top:4rem}` +\n\t\t\t\t\t( paddingBottom\n\t\t\t\t\t\t? `body{padding-bottom:${ paddingBottom }}`\n\t\t\t\t\t\t: '' ),\n\t\t\t},\n\t\t],\n\t\t[ styles ]\n\t);\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\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : 0,\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\t( ( hasV3BlocksOnly ||\n\t\t\t\t\t\t\t\t( isGutenbergPlugin && isBlockBasedTheme ) ) &&\n\t\t\t\t\t\t\t\t! hasMetaBoxes ) ||\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ align && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle css={ alignCSS } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\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{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\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\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\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\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ blockListLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t</BlockTools>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["classnames","VisualEditorGlobalKeyboardShortcuts","PostTitle","store","editorStore","WritingFlow","BlockList","BlockTools","blockEditorStore","__unstableUseBlockSelectionClearer","useBlockSelectionClearer","__unstableUseTypewriter","useTypewriter","__unstableUseClipboardHandler","useClipboardHandler","__unstableUseTypingObserver","useTypingObserver","__experimentalUseResizeCanvas","useResizeCanvas","__unstableEditorStyles","EditorStyles","useSetting","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","__unstableIframe","Iframe","__experimentalRecursionProvider","RecursionProvider","privateApis","blockEditorPrivateApis","useEffect","useRef","useMemo","__unstableMotion","motion","useSelect","useMergeRefs","parse","blocksStore","coreStore","editPostStore","unlock","LayoutStyle","useLayoutClasses","useLayoutStyles","isGutenbergPlugin","process","env","IS_GUTENBERG_PLUGIN","MaybeIframe","children","contentRef","shouldIframe","styles","style","ref","flex","width","height","display","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","isBlockBasedTheme","hasV3BlocksOnly","select","isFeatureActive","isEditingTemplate","getEditedPostTemplate","__experimentalGetPreviewDeviceType","getCurrentPostId","getCurrentPostType","getEditorSettings","getBlockTypes","_isTemplateMode","_wrapperBlockName","editorSettings","supportsTemplateMode","canEditTemplate","canUser","undefined","__unstableIsBlockBasedTheme","every","type","apiVersion","isCleanNewPost","hasMetaBoxes","hasRootPaddingAwareAlignments","isFocusMode","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","getSettings","disableLayoutStyles","supportsLayout","focusMode","__experimentalFeatures","useRootPaddingAwareAlignments","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","globalLayoutSettings","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","fallbackLayout","newestPostContentAttributes","content","parseableContent","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","titleRef","current","focus","css","alignCSS","padding"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { parse, store as blocksStore } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { LayoutStyle, useLayoutClasses, useLayoutStyles } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;\n\nfunction MaybeIframe( { children, contentRef, shouldIframe, styles, style } ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t<EditorStyles styles={ styles } />\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\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\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tisBlockBasedTheme,\n\t\thasV3BlocksOnly,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\tgetEditedPostTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType, getEditorSettings } =\n\t\t\tselect( editorStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\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 canEditTemplate = select( coreStore ).canUser(\n\t\t\t'create',\n\t\t\t'templates'\n\t\t);\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\tpostContentAttributes: getEditorSettings().postContentAttributes,\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\tsupportsTemplateMode && canEditTemplate\n\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tisBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,\n\t\t\thasV3BlocksOnly: getBlockTypes().every( ( type ) => {\n\t\t\t\treturn type.apiVersion >= 3;\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tisFocusMode,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t} = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tisFocusMode: _settings.focusMode,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t};\n\t}, [] );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst globalLayoutSettings = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\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 ( isTemplateMode ) {\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}, [ isTemplateMode, themeSupportsLayout, globalLayoutSettings ] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\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 { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = classnames(\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 titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\tstyles = useMemo(\n\t\t() => [\n\t\t\t...styles,\n\t\t\t{\n\t\t\t\t// We should move this in to future to the body.\n\t\t\t\tcss:\n\t\t\t\t\t`.edit-post-visual-editor__post-title-wrapper{margin-top:4rem}` +\n\t\t\t\t\t( paddingBottom\n\t\t\t\t\t\t? `body{padding-bottom:${ paddingBottom }}`\n\t\t\t\t\t\t: '' ),\n\t\t\t},\n\t\t],\n\t\t[ styles ]\n\t);\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\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : 0,\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\t( ( hasV3BlocksOnly ||\n\t\t\t\t\t\t\t\t( isGutenbergPlugin && isBlockBasedTheme ) ) &&\n\t\t\t\t\t\t\t\t! hasMetaBoxes ) ||\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\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\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ align && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle css={ alignCSS } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t\t/>\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{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\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\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\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\t}\n\t\t\t\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t</BlockTools>\n\t);\n}\n"]}
|
package/build-module/editor.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -7,6 +6,7 @@ import { createElement } from "@wordpress/element";
|
|
|
7
6
|
import { store as blocksStore } from '@wordpress/blocks';
|
|
8
7
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
9
8
|
import { ErrorBoundary, PostLockedModal, store as editorStore, privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
9
|
+
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
10
10
|
import { useMemo } from '@wordpress/element';
|
|
11
11
|
import { SlotFillProvider } from '@wordpress/components';
|
|
12
12
|
import { store as coreStore } from '@wordpress/core-data';
|
|
@@ -21,10 +21,14 @@ import { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands
|
|
|
21
21
|
import Layout from './components/layout';
|
|
22
22
|
import EditorInitialization from './components/editor-initialization';
|
|
23
23
|
import { store as editPostStore } from './store';
|
|
24
|
-
import { unlock } from './
|
|
24
|
+
import { unlock } from './lock-unlock';
|
|
25
|
+
import useCommonCommands from './hooks/commands/use-common-commands';
|
|
25
26
|
const {
|
|
26
27
|
ExperimentalEditorProvider
|
|
27
28
|
} = unlock(editorPrivateApis);
|
|
29
|
+
const {
|
|
30
|
+
getLayoutStyles
|
|
31
|
+
} = unlock(blockEditorPrivateApis);
|
|
28
32
|
const {
|
|
29
33
|
useCommands
|
|
30
34
|
} = unlock(coreCommandsPrivateApis);
|
|
@@ -37,6 +41,7 @@ function Editor({
|
|
|
37
41
|
...props
|
|
38
42
|
}) {
|
|
39
43
|
useCommands();
|
|
44
|
+
useCommonCommands();
|
|
40
45
|
const {
|
|
41
46
|
hasFixedToolbar,
|
|
42
47
|
focusMode,
|
|
@@ -148,7 +153,21 @@ function Editor({
|
|
|
148
153
|
presetStyles.push(style);
|
|
149
154
|
}
|
|
150
155
|
});
|
|
151
|
-
const defaultEditorStyles = [...settings.defaultEditorStyles, ...presetStyles];
|
|
156
|
+
const defaultEditorStyles = [...settings.defaultEditorStyles, ...presetStyles]; // If theme styles are not present or displayed, ensure that
|
|
157
|
+
// base layout styles are still present in the editor.
|
|
158
|
+
|
|
159
|
+
if (!settings.disableLayoutStyles && !(hasThemeStyles && themeStyles.length)) {
|
|
160
|
+
defaultEditorStyles.push({
|
|
161
|
+
css: getLayoutStyles({
|
|
162
|
+
style: {},
|
|
163
|
+
selector: 'body',
|
|
164
|
+
hasBlockGapSupport: false,
|
|
165
|
+
hasFallbackGapSupport: true,
|
|
166
|
+
fallbackGapValue: '0.5em'
|
|
167
|
+
})
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
|
|
152
171
|
return hasThemeStyles && themeStyles.length ? settings.styles : defaultEditorStyles;
|
|
153
172
|
}, [settings, hasThemeStyles]);
|
|
154
173
|
|
|
@@ -156,13 +175,14 @@ function Editor({
|
|
|
156
175
|
return null;
|
|
157
176
|
}
|
|
158
177
|
|
|
159
|
-
return createElement(ShortcutProvider, null, createElement(SlotFillProvider, null, createElement(ExperimentalEditorProvider,
|
|
178
|
+
return createElement(ShortcutProvider, null, createElement(SlotFillProvider, null, createElement(ExperimentalEditorProvider, {
|
|
160
179
|
settings: editorSettings,
|
|
161
180
|
post: post,
|
|
162
181
|
initialEdits: initialEdits,
|
|
163
182
|
useSubRegistry: false,
|
|
164
|
-
__unstableTemplate: isTemplateMode ? template : undefined
|
|
165
|
-
|
|
183
|
+
__unstableTemplate: isTemplateMode ? template : undefined,
|
|
184
|
+
...props
|
|
185
|
+
}, createElement(ErrorBoundary, null, createElement(CommandMenu, null), createElement(EditorInitialization, {
|
|
166
186
|
postId: postId
|
|
167
187
|
}), createElement(Layout, {
|
|
168
188
|
styles: styles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["store","blocksStore","useSelect","useDispatch","ErrorBoundary","PostLockedModal","editorStore","privateApis","editorPrivateApis","useMemo","SlotFillProvider","coreStore","ShortcutProvider","preferencesStore","CommandMenu","coreCommandsPrivateApis","Layout","EditorInitialization","editPostStore","unlock","ExperimentalEditorProvider","useCommands","Editor","postId","postType","settings","initialEdits","props","hasFixedToolbar","focusMode","isDistractionFree","hasInlineToolbar","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","getHiddenBlockTypes","getEntityRecord","getPostType","getEntityRecords","canUser","getEditorSettings","getBlockTypes","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","canEditTemplate","get","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","length","map","name","filter","type","styles","themeStyles","presetStyles","forEach","style","__unstableType","push","defaultEditorStyles","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { CommandMenu } from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\nimport { unlock } from './private-apis';\n\nconst { ExperimentalEditorProvider } = unlock( editorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\n\nfunction Editor( { postId, postType, settings, initialEdits, ...props } ) {\n\tuseCommands();\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thasInlineToolbar,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t\tisEditingTemplate,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t\tgetHiddenBlockTypes,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\t\twp_id: postId,\n\t\t\t\t} );\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t\t}\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\t\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\n\t\t\treturn {\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\t\tisDistractionFree: isFeatureActive( 'distractionFree' ),\n\t\t\t\thasInlineToolbar: isFeatureActive( 'inlineToolbar' ),\n\t\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\t\tpreferredStyleVariations: select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable && canEditTemplate\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tisDistractionFree,\n\t\t\thasInlineToolbar,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t// Keep a reference of the `allowedBlockTypes` from the server to handle use cases\n\t\t\t// where we need to differentiate if a block is disabled by the user or some plugin.\n\t\t\tdefaultAllowedBlockTypes: settings.allowedBlockTypes,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\thasInlineToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\tsettings.styles?.forEach( ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\t\tconst defaultEditorStyles = [\n\t\t\t...settings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\t\treturn hasThemeStyles && themeStyles.length\n\t\t\t? settings.styles\n\t\t\t: defaultEditorStyles;\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ShortcutProvider>\n\t\t\t<SlotFillProvider>\n\t\t\t\t<ExperimentalEditorProvider\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\tpost={ post }\n\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t__unstableTemplate={ isTemplateMode ? template : undefined }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t<CommandMenu />\n\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t<PostLockedModal />\n\t\t\t\t</ExperimentalEditorProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\n\nexport default Editor;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/editor.js"],"names":["store","blocksStore","useSelect","useDispatch","ErrorBoundary","PostLockedModal","editorStore","privateApis","editorPrivateApis","blockEditorPrivateApis","useMemo","SlotFillProvider","coreStore","ShortcutProvider","preferencesStore","CommandMenu","coreCommandsPrivateApis","Layout","EditorInitialization","editPostStore","unlock","useCommonCommands","ExperimentalEditorProvider","getLayoutStyles","useCommands","Editor","postId","postType","settings","initialEdits","props","hasFixedToolbar","focusMode","isDistractionFree","hasInlineToolbar","hasThemeStyles","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","keepCaretInsideBlock","isTemplateMode","template","select","isFeatureActive","__experimentalGetPreviewDeviceType","isEditingTemplate","getEditedPostTemplate","getHiddenBlockTypes","getEntityRecord","getPostType","getEntityRecords","canUser","getEditorSettings","getBlockTypes","isTemplate","includes","postObject","posts","wp_id","supportsTemplateMode","isViewable","viewable","canEditTemplate","get","updatePreferredStyleVariations","setIsInserterOpened","editorSettings","result","__experimentalPreferredStyleVariations","value","onChange","__experimentalSetIsInserterOpened","defaultAllowedBlockTypes","allowedBlockTypes","length","map","name","filter","type","styles","themeStyles","presetStyles","forEach","style","__unstableType","push","defaultEditorStyles","disableLayoutStyles","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SACCC,aADD,EAECC,eAFD,EAGCL,KAAK,IAAIM,WAHV,EAICC,WAAW,IAAIC,iBAJhB,QAKO,mBALP;AAMA,SAASD,WAAW,IAAIE,sBAAxB,QAAsD,yBAAtD;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,gBAAT,QAAiC,uBAAjC;AACA,SAASX,KAAK,IAAIY,SAAlB,QAAmC,sBAAnC;AACA,SAASC,gBAAT,QAAiC,+BAAjC;AACA,SAASb,KAAK,IAAIc,gBAAlB,QAA0C,wBAA1C;AACA,SAASC,WAAT,QAA4B,qBAA5B;AACA,SAASR,WAAW,IAAIS,uBAAxB,QAAuD,0BAAvD;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,OAAOC,oBAAP,MAAiC,oCAAjC;AACA,SAASlB,KAAK,IAAImB,aAAlB,QAAuC,SAAvC;AACA,SAASC,MAAT,QAAuB,eAAvB;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAiCF,MAAM,CAAEZ,iBAAF,CAA7C;AACA,MAAM;AAAEe,EAAAA;AAAF,IAAsBH,MAAM,CAAEX,sBAAF,CAAlC;AACA,MAAM;AAAEe,EAAAA;AAAF,IAAkBJ,MAAM,CAAEJ,uBAAF,CAA9B;;AAEA,SAASS,MAAT,CAAiB;AAAEC,EAAAA,MAAF;AAAUC,EAAAA,QAAV;AAAoBC,EAAAA,QAApB;AAA8BC,EAAAA,YAA9B;AAA4C,KAAGC;AAA/C,CAAjB,EAA0E;AACzEN,EAAAA,WAAW;AACXH,EAAAA,iBAAiB;AACjB,QAAM;AACLU,IAAAA,eADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,iBAHK;AAILC,IAAAA,gBAJK;AAKLC,IAAAA,cALK;AAMLC,IAAAA,IANK;AAOLC,IAAAA,wBAPK;AAQLC,IAAAA,gBARK;AASLC,IAAAA,UATK;AAULC,IAAAA,oBAVK;AAWLC,IAAAA,cAXK;AAYLC,IAAAA;AAZK,MAaFxC,SAAS,CACVyC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,kCAFK;AAGLC,MAAAA,iBAHK;AAILC,MAAAA,qBAJK;AAKLC,MAAAA;AALK,QAMFL,MAAM,CAAExB,aAAF,CANV;AAOA,UAAM;AAAE8B,MAAAA,eAAF;AAAmBC,MAAAA,WAAnB;AAAgCC,MAAAA,gBAAhC;AAAkDC,MAAAA;AAAlD,QACLT,MAAM,CAAE/B,SAAF,CADP;AAEA,UAAM;AAAEyC,MAAAA;AAAF,QAAwBV,MAAM,CAAErC,WAAF,CAApC;AACA,UAAM;AAAEgD,MAAAA;AAAF,QAAoBX,MAAM,CAAE1C,WAAF,CAAhC;AACA,UAAMsD,UAAU,GAAG,CAAE,aAAF,EAAiB,kBAAjB,EAAsCC,QAAtC,CAClB7B,QADkB,CAAnB,CAZa,CAeb;AACA;;AACA,QAAI8B,UAAJ;;AACA,QAAKF,UAAL,EAAkB;AACjB,YAAMG,KAAK,GAAGP,gBAAgB,CAAE,UAAF,EAAcxB,QAAd,EAAwB;AACrDgC,QAAAA,KAAK,EAAEjC;AAD8C,OAAxB,CAA9B;AAGA+B,MAAAA,UAAU,GAAGC,KAAK,GAAI,CAAJ,CAAlB;AACA,KALD,MAKO;AACND,MAAAA,UAAU,GAAGR,eAAe,CAAE,UAAF,EAActB,QAAd,EAAwBD,MAAxB,CAA5B;AACA;;AACD,UAAMkC,oBAAoB,GACzBP,iBAAiB,GAAGO,oBADrB;AAEA,UAAMC,UAAU,4BAAGX,WAAW,CAAEvB,QAAF,CAAX,EAAyBmC,QAA5B,yEAAwC,KAAxD;AACA,UAAMC,eAAe,GAAGX,OAAO,CAAE,QAAF,EAAY,WAAZ,CAA/B;AAEA,WAAO;AACNrB,MAAAA,eAAe,EACda,eAAe,CAAE,cAAF,CAAf,IACAC,kCAAkC,OAAO,SAHpC;AAINb,MAAAA,SAAS,EAAEY,eAAe,CAAE,WAAF,CAJpB;AAKNX,MAAAA,iBAAiB,EAAEW,eAAe,CAAE,iBAAF,CAL5B;AAMNV,MAAAA,gBAAgB,EAAEU,eAAe,CAAE,eAAF,CAN3B;AAONT,MAAAA,cAAc,EAAES,eAAe,CAAE,aAAF,CAPzB;AAQNP,MAAAA,wBAAwB,EAAEM,MAAM,CAAE7B,gBAAF,CAAN,CAA2BkD,GAA3B,CACzB,gBADyB,EAEzB,0BAFyB,CARpB;AAYN1B,MAAAA,gBAAgB,EAAEU,mBAAmB,EAZ/B;AAaNT,MAAAA,UAAU,EAAEe,aAAa,EAbnB;AAcNd,MAAAA,oBAAoB,EAAEI,eAAe,CAAE,sBAAF,CAd/B;AAeNH,MAAAA,cAAc,EAAEK,iBAAiB,EAf3B;AAgBNJ,MAAAA,QAAQ,EACPkB,oBAAoB,IAAIC,UAAxB,IAAsCE,eAAtC,GACGhB,qBAAqB,EADxB,GAEG,IAnBE;AAoBNX,MAAAA,IAAI,EAAEqB;AApBA,KAAP;AAsBA,GAtDW,EAuDZ,CAAE9B,QAAF,EAAYD,MAAZ,CAvDY,CAbb;AAuEA,QAAM;AAAEuC,IAAAA,8BAAF;AAAkCC,IAAAA;AAAlC,MACL/D,WAAW,CAAEgB,aAAF,CADZ;AAGA,QAAMgD,cAAc,GAAGzD,OAAO,CAAE,MAAM;AACrC,UAAM0D,MAAM,GAAG,EACd,GAAGxC,QADW;AAEdyC,MAAAA,sCAAsC,EAAE;AACvCC,QAAAA,KAAK,EAAEjC,wBADgC;AAEvCkC,QAAAA,QAAQ,EAAEN;AAF6B,OAF1B;AAMdlC,MAAAA,eANc;AAOdC,MAAAA,SAPc;AAQdC,MAAAA,iBARc;AASdC,MAAAA,gBATc;AAWd;AACAsC,MAAAA,iCAAiC,EAAEN,mBAZrB;AAad1B,MAAAA,oBAbc;AAcd;AACA;AACAiC,MAAAA,wBAAwB,EAAE7C,QAAQ,CAAC8C;AAhBrB,KAAf,CADqC,CAoBrC;;AACA,QAAKpC,gBAAgB,CAACqC,MAAjB,GAA0B,CAA/B,EAAmC;AAClC;AACA;AACA;AACA,YAAMF,wBAAwB,GAC7B,SAAS7C,QAAQ,CAAC8C,iBAAlB,GACGnC,UAAU,CAACqC,GAAX,CAAgB,CAAE;AAAEC,QAAAA;AAAF,OAAF,KAAgBA,IAAhC,CADH,GAEGjD,QAAQ,CAAC8C,iBAAT,IAA8B,EAHlC;AAKAN,MAAAA,MAAM,CAACM,iBAAP,GAA2BD,wBAAwB,CAACK,MAAzB,CACxBC,IAAF,IAAY,CAAEzC,gBAAgB,CAACkB,QAAjB,CAA2BuB,IAA3B,CADY,CAA3B;AAGA;;AAED,WAAOX,MAAP;AACA,GApC6B,EAoC3B,CACFxC,QADE,EAEFG,eAFE,EAGFG,gBAHE,EAIFF,SAJE,EAKFC,iBALE,EAMFK,gBANE,EAOFC,UAPE,EAQFF,wBARE,EASF6B,mBATE,EAUFD,8BAVE,EAWFzB,oBAXE,CApC2B,CAA9B;AAkDA,QAAMwC,MAAM,GAAGtE,OAAO,CAAE,MAAM;AAC7B,UAAMuE,WAAW,GAAG,EAApB;AACA,UAAMC,YAAY,GAAG,EAArB;AACAtD,IAAAA,QAAQ,CAACoD,MAAT,EAAiBG,OAAjB,CAA4BC,KAAF,IAAa;AACtC,UAAK,CAAEA,KAAK,CAACC,cAAR,IAA0BD,KAAK,CAACC,cAAN,KAAyB,OAAxD,EAAkE;AACjEJ,QAAAA,WAAW,CAACK,IAAZ,CAAkBF,KAAlB;AACA,OAFD,MAEO;AACNF,QAAAA,YAAY,CAACI,IAAb,CAAmBF,KAAnB;AACA;AACD,KAND;AAQA,UAAMG,mBAAmB,GAAG,CAC3B,GAAG3D,QAAQ,CAAC2D,mBADe,EAE3B,GAAGL,YAFwB,CAA5B,CAX6B,CAgB7B;AACA;;AACA,QACC,CAAEtD,QAAQ,CAAC4D,mBAAX,IACA,EAAIrD,cAAc,IAAI8C,WAAW,CAACN,MAAlC,CAFD,EAGE;AACDY,MAAAA,mBAAmB,CAACD,IAApB,CAA0B;AACzBG,QAAAA,GAAG,EAAElE,eAAe,CAAE;AACrB6D,UAAAA,KAAK,EAAE,EADc;AAErBM,UAAAA,QAAQ,EAAE,MAFW;AAGrBC,UAAAA,kBAAkB,EAAE,KAHC;AAIrBC,UAAAA,qBAAqB,EAAE,IAJF;AAKrBC,UAAAA,gBAAgB,EAAE;AALG,SAAF;AADK,OAA1B;AASA;;AAED,WAAO1D,cAAc,IAAI8C,WAAW,CAACN,MAA9B,GACJ/C,QAAQ,CAACoD,MADL,GAEJO,mBAFH;AAGA,GApCqB,EAoCnB,CAAE3D,QAAF,EAAYO,cAAZ,CApCmB,CAAtB;;AAsCA,MAAK,CAAEC,IAAP,EAAc;AACb,WAAO,IAAP;AACA;;AAED,SACC,cAAC,gBAAD,QACC,cAAC,gBAAD,QACC,cAAC,0BAAD;AACC,IAAA,QAAQ,EAAG+B,cADZ;AAEC,IAAA,IAAI,EAAG/B,IAFR;AAGC,IAAA,YAAY,EAAGP,YAHhB;AAIC,IAAA,cAAc,EAAG,KAJlB;AAKC,IAAA,kBAAkB,EAAGY,cAAc,GAAGC,QAAH,GAAcoD,SALlD;AAAA,OAMMhE;AANN,KAQC,cAAC,aAAD,QACC,cAAC,WAAD,OADD,EAEC,cAAC,oBAAD;AAAsB,IAAA,MAAM,EAAGJ;AAA/B,IAFD,EAGC,cAAC,MAAD;AAAQ,IAAA,MAAM,EAAGsD;AAAjB,IAHD,CARD,EAaC,cAAC,eAAD,OAbD,CADD,CADD,CADD;AAqBA;;AAED,eAAevD,MAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { CommandMenu } from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport EditorInitialization from './components/editor-initialization';\nimport { store as editPostStore } from './store';\nimport { unlock } from './lock-unlock';\nimport useCommonCommands from './hooks/commands/use-common-commands';\n\nconst { ExperimentalEditorProvider } = unlock( editorPrivateApis );\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\n\nfunction Editor( { postId, postType, settings, initialEdits, ...props } ) {\n\tuseCommands();\n\tuseCommonCommands();\n\tconst {\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thasInlineToolbar,\n\t\thasThemeStyles,\n\t\tpost,\n\t\tpreferredStyleVariations,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tkeepCaretInsideBlock,\n\t\tisTemplateMode,\n\t\ttemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisFeatureActive,\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t\tisEditingTemplate,\n\t\t\t\tgetEditedPostTemplate,\n\t\t\t\tgetHiddenBlockTypes,\n\t\t\t} = select( editPostStore );\n\t\t\tconst { getEntityRecord, getPostType, getEntityRecords, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\t\tpostType\n\t\t\t);\n\t\t\t// Ideally the initializeEditor function should be called using the ID of the REST endpoint.\n\t\t\t// to avoid the special case.\n\t\t\tlet postObject;\n\t\t\tif ( isTemplate ) {\n\t\t\t\tconst posts = getEntityRecords( 'postType', postType, {\n\t\t\t\t\twp_id: postId,\n\t\t\t\t} );\n\t\t\t\tpostObject = posts?.[ 0 ];\n\t\t\t} else {\n\t\t\t\tpostObject = getEntityRecord( 'postType', postType, postId );\n\t\t\t}\n\t\t\tconst supportsTemplateMode =\n\t\t\t\tgetEditorSettings().supportsTemplateMode;\n\t\t\tconst isViewable = getPostType( postType )?.viewable ?? false;\n\t\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\n\t\t\treturn {\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\t\tisDistractionFree: isFeatureActive( 'distractionFree' ),\n\t\t\t\thasInlineToolbar: isFeatureActive( 'inlineToolbar' ),\n\t\t\t\thasThemeStyles: isFeatureActive( 'themeStyles' ),\n\t\t\t\tpreferredStyleVariations: select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations'\n\t\t\t\t),\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tkeepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),\n\t\t\t\tisTemplateMode: isEditingTemplate(),\n\t\t\t\ttemplate:\n\t\t\t\t\tsupportsTemplateMode && isViewable && canEditTemplate\n\t\t\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t\t\t: null,\n\t\t\t\tpost: postObject,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { updatePreferredStyleVariations, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\n\tconst editorSettings = useMemo( () => {\n\t\tconst result = {\n\t\t\t...settings,\n\t\t\t__experimentalPreferredStyleVariations: {\n\t\t\t\tvalue: preferredStyleVariations,\n\t\t\t\tonChange: updatePreferredStyleVariations,\n\t\t\t},\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tisDistractionFree,\n\t\t\thasInlineToolbar,\n\n\t\t\t// This is marked as experimental to give time for the quick inserter to mature.\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t// Keep a reference of the `allowedBlockTypes` from the server to handle use cases\n\t\t\t// where we need to differentiate if a block is disabled by the user or some plugin.\n\t\t\tdefaultAllowedBlockTypes: settings.allowedBlockTypes,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tresult.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\thasInlineToolbar,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thiddenBlockTypes,\n\t\tblockTypes,\n\t\tpreferredStyleVariations,\n\t\tsetIsInserterOpened,\n\t\tupdatePreferredStyleVariations,\n\t\tkeepCaretInsideBlock,\n\t] );\n\n\tconst styles = useMemo( () => {\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\tsettings.styles?.forEach( ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...settings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif (\n\t\t\t! settings.disableLayoutStyles &&\n\t\t\t! ( hasThemeStyles && themeStyles.length )\n\t\t) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn hasThemeStyles && themeStyles.length\n\t\t\t? settings.styles\n\t\t\t: defaultEditorStyles;\n\t}, [ settings, hasThemeStyles ] );\n\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ShortcutProvider>\n\t\t\t<SlotFillProvider>\n\t\t\t\t<ExperimentalEditorProvider\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\tpost={ post }\n\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t__unstableTemplate={ isTemplateMode ? template : undefined }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t<CommandMenu />\n\t\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t\t<Layout styles={ styles } />\n\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t<PostLockedModal />\n\t\t\t\t</ExperimentalEditorProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\n\nexport default Editor;\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -151,12 +150,13 @@ class Editor extends Component {
|
|
|
151
150
|
style: {
|
|
152
151
|
flex: 1
|
|
153
152
|
}
|
|
154
|
-
}, createElement(SlotFillProvider, null, createElement(EditorProvider,
|
|
153
|
+
}, createElement(SlotFillProvider, null, createElement(EditorProvider, {
|
|
155
154
|
settings: editorSettings,
|
|
156
155
|
post: normalizedPost,
|
|
157
156
|
initialEdits: initialEdits,
|
|
158
|
-
useSubRegistry: false
|
|
159
|
-
|
|
157
|
+
useSubRegistry: false,
|
|
158
|
+
...props
|
|
159
|
+
}, createElement(Layout, {
|
|
160
160
|
setTitleRef: this.setTitleRef
|
|
161
161
|
}))));
|
|
162
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/editor.native.js"],"names":["memize","I18nManager","GestureHandlerRootView","Component","EditorProvider","parse","serialize","store","blocksStore","withDispatch","withSelect","compose","subscribeSetFocusOnTitle","subscribeFeaturedImageIdNativeUpdated","SlotFillProvider","coreStore","Layout","editPostStore","Editor","constructor","props","arguments","galleryWithImageBlocks","window","wp","galleryBlockV2Enabled","initialHtmlModeEnabled","mode","switchEditorMode","getEditorSettings","maxSize","setTitleRef","bind","settings","hasFixedToolbar","focusMode","hiddenBlockTypes","blockTypes","isRTL","length","allowedBlockTypes","undefined","defaultAllowedBlockTypes","map","name","filter","type","includes","componentDidMount","editEntityRecord","postType","postId","subscriptionParentSetFocusOnTitle","postTitleRef","focus","focusTitleWhenAvailable","subscriptionParentFeaturedImageIdNativeUpdated","payload","featured_media","featuredImageId","undoIgnore","componentWillUnmount","remove","titleRef","render","initialEdits","post","initialHtml","editorSettings","normalizedPost","id","title","raw","initialTitle","content","status","meta","flex","select","isFeatureActive","getEditorMode","__experimentalGetPreviewDeviceType","getHiddenBlockTypes","getBlockTypes","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { I18nManager } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { EditorProvider } from '@wordpress/editor';\nimport { parse, serialize, store as blocksStore } from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport {\n\tsubscribeSetFocusOnTitle,\n\tsubscribeFeaturedImageIdNativeUpdated,\n} from '@wordpress/react-native-bridge';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport { store as editPostStore } from './store';\n\nclass Editor extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\t// need to set this globally to avoid race with deprecations\n\t\t// defaulting to true to avoid issues with a not-yet-cached value\n\t\tconst { galleryWithImageBlocks = true } = props;\n\t\twindow.wp.galleryBlockV2Enabled = galleryWithImageBlocks;\n\n\t\tif ( props.initialHtmlModeEnabled && props.mode === 'visual' ) {\n\t\t\t// Enable html mode if the initial mode the parent wants it but we're not already in it.\n\t\t\tthis.props.switchEditorMode( 'text' );\n\t\t}\n\n\t\tthis.getEditorSettings = memize( this.getEditorSettings, {\n\t\t\tmaxSize: 1,\n\t\t} );\n\n\t\tthis.setTitleRef = this.setTitleRef.bind( this );\n\t}\n\n\tgetEditorSettings(\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thiddenBlockTypes,\n\t\tblockTypes\n\t) {\n\t\tsettings = {\n\t\t\t...settings,\n\t\t\tisRTL: I18nManager.isRTL,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\tif ( settings.allowedBlockTypes === undefined ) {\n\t\t\t\t// If no specific flags for allowedBlockTypes are set, assume `true`\n\t\t\t\t// meaning allow all block types.\n\t\t\t\tsettings.allowedBlockTypes = true;\n\t\t\t}\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tsettings.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { editEntityRecord, postType, postId } = this.props;\n\n\t\tthis.subscriptionParentSetFocusOnTitle = subscribeSetFocusOnTitle(\n\t\t\t() => {\n\t\t\t\tif ( this.postTitleRef ) {\n\t\t\t\t\tthis.postTitleRef.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// If the post title ref is not available, we postpone setting focus to when it's available.\n\t\t\t\t\tthis.focusTitleWhenAvailable = true;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentFeaturedImageIdNativeUpdated =\n\t\t\tsubscribeFeaturedImageIdNativeUpdated( ( payload ) => {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t\t{ featured_media: payload.featuredImageId },\n\t\t\t\t\t{\n\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentSetFocusOnTitle ) {\n\t\t\tthis.subscriptionParentSetFocusOnTitle.remove();\n\t\t}\n\n\t\tif ( this.subscribeFeaturedImageIdNativeUpdated ) {\n\t\t\tthis.subscribeFeaturedImageIdNativeUpdated.remove();\n\t\t}\n\t}\n\n\tsetTitleRef( titleRef ) {\n\t\tif ( this.focusTitleWhenAvailable && ! this.postTitleRef ) {\n\t\t\tthis.focusTitleWhenAvailable = false;\n\t\t\ttitleRef.focus();\n\t\t}\n\n\t\tthis.postTitleRef = titleRef;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tinitialEdits,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes,\n\t\t\tpost,\n\t\t\tpostId,\n\t\t\tpostType,\n\t\t\tfeaturedImageId,\n\t\t\tinitialHtml,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\tconst editorSettings = this.getEditorSettings(\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes\n\t\t);\n\n\t\tconst normalizedPost = post || {\n\t\t\tid: postId,\n\t\t\ttitle: {\n\t\t\t\traw: props.initialTitle || '',\n\t\t\t},\n\t\t\tfeatured_media: featuredImageId,\n\t\t\tcontent: {\n\t\t\t\t// Make sure the post content is in sync with gutenberg store\n\t\t\t\t// to avoid marking the post as modified when simply loaded\n\t\t\t\t// For now, let's assume: serialize( parse( html ) ) !== html.\n\t\t\t\traw: serialize( parse( initialHtml || '' ) ),\n\t\t\t},\n\t\t\ttype: postType,\n\t\t\tstatus: 'draft',\n\t\t\tmeta: [],\n\t\t};\n\n\t\treturn (\n\t\t\t<GestureHandlerRootView style={ { flex: 1 } }>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ normalizedPost }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Layout setTitleRef={ this.setTitleRef } />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</GestureHandlerRootView>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tgetEditorMode,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetHiddenBlockTypes,\n\t\t} = select( editPostStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\n\t\treturn {\n\t\t\thasFixedToolbar:\n\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\tmode: getEditorMode(),\n\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\tblockTypes: getBlockTypes(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { editEntityRecord } = dispatch( coreStore );\n\t\treturn {\n\t\t\tswitchEditorMode,\n\t\t\teditEntityRecord,\n\t\t};\n\t} ),\n] )( Editor );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/editor.native.js"],"names":["memize","I18nManager","GestureHandlerRootView","Component","EditorProvider","parse","serialize","store","blocksStore","withDispatch","withSelect","compose","subscribeSetFocusOnTitle","subscribeFeaturedImageIdNativeUpdated","SlotFillProvider","coreStore","Layout","editPostStore","Editor","constructor","props","arguments","galleryWithImageBlocks","window","wp","galleryBlockV2Enabled","initialHtmlModeEnabled","mode","switchEditorMode","getEditorSettings","maxSize","setTitleRef","bind","settings","hasFixedToolbar","focusMode","hiddenBlockTypes","blockTypes","isRTL","length","allowedBlockTypes","undefined","defaultAllowedBlockTypes","map","name","filter","type","includes","componentDidMount","editEntityRecord","postType","postId","subscriptionParentSetFocusOnTitle","postTitleRef","focus","focusTitleWhenAvailable","subscriptionParentFeaturedImageIdNativeUpdated","payload","featured_media","featuredImageId","undoIgnore","componentWillUnmount","remove","titleRef","render","initialEdits","post","initialHtml","editorSettings","normalizedPost","id","title","raw","initialTitle","content","status","meta","flex","select","isFeatureActive","getEditorMode","__experimentalGetPreviewDeviceType","getHiddenBlockTypes","getBlockTypes","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { I18nManager } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { EditorProvider } from '@wordpress/editor';\nimport { parse, serialize, store as blocksStore } from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport {\n\tsubscribeSetFocusOnTitle,\n\tsubscribeFeaturedImageIdNativeUpdated,\n} from '@wordpress/react-native-bridge';\nimport { SlotFillProvider } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport { store as editPostStore } from './store';\n\nclass Editor extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\t// need to set this globally to avoid race with deprecations\n\t\t// defaulting to true to avoid issues with a not-yet-cached value\n\t\tconst { galleryWithImageBlocks = true } = props;\n\t\twindow.wp.galleryBlockV2Enabled = galleryWithImageBlocks;\n\n\t\tif ( props.initialHtmlModeEnabled && props.mode === 'visual' ) {\n\t\t\t// Enable html mode if the initial mode the parent wants it but we're not already in it.\n\t\t\tthis.props.switchEditorMode( 'text' );\n\t\t}\n\n\t\tthis.getEditorSettings = memize( this.getEditorSettings, {\n\t\t\tmaxSize: 1,\n\t\t} );\n\n\t\tthis.setTitleRef = this.setTitleRef.bind( this );\n\t}\n\n\tgetEditorSettings(\n\t\tsettings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t\thiddenBlockTypes,\n\t\tblockTypes\n\t) {\n\t\tsettings = {\n\t\t\t...settings,\n\t\t\tisRTL: I18nManager.isRTL,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t};\n\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes.length > 0 ) {\n\t\t\tif ( settings.allowedBlockTypes === undefined ) {\n\t\t\t\t// If no specific flags for allowedBlockTypes are set, assume `true`\n\t\t\t\t// meaning allow all block types.\n\t\t\t\tsettings.allowedBlockTypes = true;\n\t\t\t}\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\tsettings.allowedBlockTypes = defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { editEntityRecord, postType, postId } = this.props;\n\n\t\tthis.subscriptionParentSetFocusOnTitle = subscribeSetFocusOnTitle(\n\t\t\t() => {\n\t\t\t\tif ( this.postTitleRef ) {\n\t\t\t\t\tthis.postTitleRef.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// If the post title ref is not available, we postpone setting focus to when it's available.\n\t\t\t\t\tthis.focusTitleWhenAvailable = true;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentFeaturedImageIdNativeUpdated =\n\t\t\tsubscribeFeaturedImageIdNativeUpdated( ( payload ) => {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t\t{ featured_media: payload.featuredImageId },\n\t\t\t\t\t{\n\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentSetFocusOnTitle ) {\n\t\t\tthis.subscriptionParentSetFocusOnTitle.remove();\n\t\t}\n\n\t\tif ( this.subscribeFeaturedImageIdNativeUpdated ) {\n\t\t\tthis.subscribeFeaturedImageIdNativeUpdated.remove();\n\t\t}\n\t}\n\n\tsetTitleRef( titleRef ) {\n\t\tif ( this.focusTitleWhenAvailable && ! this.postTitleRef ) {\n\t\t\tthis.focusTitleWhenAvailable = false;\n\t\t\ttitleRef.focus();\n\t\t}\n\n\t\tthis.postTitleRef = titleRef;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\tinitialEdits,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes,\n\t\t\tpost,\n\t\t\tpostId,\n\t\t\tpostType,\n\t\t\tfeaturedImageId,\n\t\t\tinitialHtml,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\tconst editorSettings = this.getEditorSettings(\n\t\t\tsettings,\n\t\t\thasFixedToolbar,\n\t\t\tfocusMode,\n\t\t\thiddenBlockTypes,\n\t\t\tblockTypes\n\t\t);\n\n\t\tconst normalizedPost = post || {\n\t\t\tid: postId,\n\t\t\ttitle: {\n\t\t\t\traw: props.initialTitle || '',\n\t\t\t},\n\t\t\tfeatured_media: featuredImageId,\n\t\t\tcontent: {\n\t\t\t\t// Make sure the post content is in sync with gutenberg store\n\t\t\t\t// to avoid marking the post as modified when simply loaded\n\t\t\t\t// For now, let's assume: serialize( parse( html ) ) !== html.\n\t\t\t\traw: serialize( parse( initialHtml || '' ) ),\n\t\t\t},\n\t\t\ttype: postType,\n\t\t\tstatus: 'draft',\n\t\t\tmeta: [],\n\t\t};\n\n\t\treturn (\n\t\t\t<GestureHandlerRootView style={ { flex: 1 } }>\n\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t<EditorProvider\n\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\tpost={ normalizedPost }\n\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Layout setTitleRef={ this.setTitleRef } />\n\t\t\t\t\t</EditorProvider>\n\t\t\t\t</SlotFillProvider>\n\t\t\t</GestureHandlerRootView>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tgetEditorMode,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetHiddenBlockTypes,\n\t\t} = select( editPostStore );\n\t\tconst { getBlockTypes } = select( blocksStore );\n\n\t\treturn {\n\t\t\thasFixedToolbar:\n\t\t\t\tisFeatureActive( 'fixedToolbar' ) ||\n\t\t\t\t__experimentalGetPreviewDeviceType() !== 'Desktop',\n\t\t\tfocusMode: isFeatureActive( 'focusMode' ),\n\t\t\tmode: getEditorMode(),\n\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\tblockTypes: getBlockTypes(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { editEntityRecord } = dispatch( coreStore );\n\t\treturn {\n\t\t\tswitchEditorMode,\n\t\t\teditEntityRecord,\n\t\t};\n\t} ),\n] )( Editor );\n"]}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
5
|
+
import { __, isRTL } from '@wordpress/i18n';
|
|
6
|
+
import { code, cog, drawerLeft, drawerRight, blockDefault } from '@wordpress/icons';
|
|
7
|
+
import { useCommand } from '@wordpress/commands';
|
|
8
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
9
|
+
import { store as interfaceStore } from '@wordpress/interface';
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { store as editPostStore } from '../../store';
|
|
15
|
+
export default function useCommonCommands() {
|
|
16
|
+
const {
|
|
17
|
+
openGeneralSidebar,
|
|
18
|
+
closeGeneralSidebar,
|
|
19
|
+
switchEditorMode
|
|
20
|
+
} = useDispatch(editPostStore);
|
|
21
|
+
const {
|
|
22
|
+
editorMode,
|
|
23
|
+
activeSidebar
|
|
24
|
+
} = useSelect(select => ({
|
|
25
|
+
activeSidebar: select(interfaceStore).getActiveComplementaryArea(editPostStore.name),
|
|
26
|
+
editorMode: select(editPostStore).getEditorMode()
|
|
27
|
+
}), []);
|
|
28
|
+
const {
|
|
29
|
+
toggle
|
|
30
|
+
} = useDispatch(preferencesStore);
|
|
31
|
+
useCommand({
|
|
32
|
+
name: 'core/open-settings-sidebar',
|
|
33
|
+
label: __('Toggle settings sidebar'),
|
|
34
|
+
icon: isRTL() ? drawerLeft : drawerRight,
|
|
35
|
+
callback: ({
|
|
36
|
+
close
|
|
37
|
+
}) => {
|
|
38
|
+
close();
|
|
39
|
+
|
|
40
|
+
if (activeSidebar === 'edit-post/document') {
|
|
41
|
+
closeGeneralSidebar();
|
|
42
|
+
} else {
|
|
43
|
+
openGeneralSidebar('edit-post/document');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
useCommand({
|
|
48
|
+
name: 'core/open-block-inspector',
|
|
49
|
+
label: __('Toggle block inspector'),
|
|
50
|
+
icon: blockDefault,
|
|
51
|
+
callback: ({
|
|
52
|
+
close
|
|
53
|
+
}) => {
|
|
54
|
+
close();
|
|
55
|
+
|
|
56
|
+
if (activeSidebar === 'edit-post/block') {
|
|
57
|
+
closeGeneralSidebar();
|
|
58
|
+
} else {
|
|
59
|
+
openGeneralSidebar('edit-post/block');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
useCommand({
|
|
64
|
+
name: 'core/toggle-distraction-free',
|
|
65
|
+
label: __('Toggle distraction free'),
|
|
66
|
+
icon: cog,
|
|
67
|
+
callback: ({
|
|
68
|
+
close
|
|
69
|
+
}) => {
|
|
70
|
+
toggle('core/edit-post', 'distractionFree');
|
|
71
|
+
close();
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
useCommand({
|
|
75
|
+
name: 'core/toggle-spotlight-mode',
|
|
76
|
+
label: __('Toggle spotlight mode'),
|
|
77
|
+
icon: cog,
|
|
78
|
+
callback: ({
|
|
79
|
+
close
|
|
80
|
+
}) => {
|
|
81
|
+
toggle('core/edit-post', 'focusMode');
|
|
82
|
+
close();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
useCommand({
|
|
86
|
+
name: 'core/toggle-top-toolbar',
|
|
87
|
+
label: __('Toggle top toolbar'),
|
|
88
|
+
icon: cog,
|
|
89
|
+
callback: ({
|
|
90
|
+
close
|
|
91
|
+
}) => {
|
|
92
|
+
toggle('core/edit-post', 'fixedToolbar');
|
|
93
|
+
close();
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
useCommand({
|
|
97
|
+
name: 'core/toggle-code-editor',
|
|
98
|
+
label: __('Toggle code editor'),
|
|
99
|
+
icon: code,
|
|
100
|
+
callback: ({
|
|
101
|
+
close
|
|
102
|
+
}) => {
|
|
103
|
+
switchEditorMode(editorMode === 'visual' ? 'text' : 'visual');
|
|
104
|
+
close();
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=use-common-commands.js.map
|