@wordpress/editor 14.8.6 → 14.8.8
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/editor-interface/index.js +1 -12
- package/build/components/editor-interface/index.js.map +1 -1
- package/build/components/header/index.js +3 -1
- package/build/components/header/index.js.map +1 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js +4 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build/components/visual-editor/index.js +4 -3
- package/build/components/visual-editor/index.js.map +1 -1
- package/build-module/components/editor-interface/index.js +1 -12
- package/build-module/components/editor-interface/index.js.map +1 -1
- package/build-module/components/header/index.js +3 -1
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js +4 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/visual-editor/index.js +4 -3
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-style/style-rtl.css +1 -0
- package/build-style/style.css +1 -0
- package/build-types/components/editor-interface/index.d.ts +1 -2
- package/build-types/components/editor-interface/index.d.ts.map +1 -1
- package/build-types/components/header/index.d.ts.map +1 -1
- package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -1
- package/build-types/components/visual-editor/index.d.ts.map +1 -1
- package/package.json +14 -14
- package/src/components/editor-interface/index.js +0 -15
- package/src/components/header/index.js +6 -1
- package/src/components/header/style.scss +1 -0
- package/src/components/visual-editor/edit-template-blocks-notification.js +5 -1
- package/src/components/visual-editor/index.js +3 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useMediaQuery","useViewportMatch","__unstableMotion","motion","store","preferencesStore","useState","PinnedItems","blockEditorStore","BackButton","useHasBackButton","CollapsibleBlockToolbar","DocumentBar","DocumentTools","MoreMenu","PostPreviewButton","PostPublishButtonOrToggle","PostSavedState","PostViewLink","PreviewDropdown","ZoomOutToggle","editorStore","jsx","_jsx","jsxs","_jsxs","toolbarVariations","distractionFreeDisabled","y","distractionFreeHover","distractionFreeHidden","visible","hidden","backButtonVariations","x","Header","customSaveButton","forceIsDirty","forceDisableBlockTools","setEntitiesSavedStatesCallback","title","isEditorIframed","isWideViewport","isLargeViewport","isTooNarrowForDocumentBar","isTextEditor","isPublishSidebarOpened","showIconLabels","hasFixedToolbar","isNestedEntity","select","get","getPreference","getEditorMode","getEditorSettings","_isPublishSidebarOpened","__unstableGetEditorMode","onNavigateToPreviousEntityRecord","isZoomedOutView","isBlockToolsCollapsed","setIsBlockToolsCollapsed","hasCenter","hasBackButton","className","children","div","variants","transition","type","Slot","disableBlockTools","isCollapsed","onToggle","forceIsAutosaveable","disabled","scope"],"sources":["@wordpress/editor/src/components/header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMediaQuery, useViewportMatch } from '@wordpress/compose';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useState } from '@wordpress/element';\nimport { PinnedItems } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport BackButton, { useHasBackButton } from './back-button';\nimport CollapsibleBlockToolbar from '../collapsible-block-toolbar';\nimport DocumentBar from '../document-bar';\nimport DocumentTools from '../document-tools';\nimport MoreMenu from '../more-menu';\nimport PostPreviewButton from '../post-preview-button';\nimport PostPublishButtonOrToggle from '../post-publish-button/post-publish-button-or-toggle';\nimport PostSavedState from '../post-saved-state';\nimport PostViewLink from '../post-view-link';\nimport PreviewDropdown from '../preview-dropdown';\nimport ZoomOutToggle from '../zoom-out-toggle';\nimport { store as editorStore } from '../../store';\n\nconst toolbarVariations = {\n\tdistractionFreeDisabled: { y: '-50px' },\n\tdistractionFreeHover: { y: 0 },\n\tdistractionFreeHidden: { y: '-50px' },\n\tvisible: { y: 0 },\n\thidden: { y: 0 },\n};\n\nconst backButtonVariations = {\n\tdistractionFreeDisabled: { x: '-100%' },\n\tdistractionFreeHover: { x: 0 },\n\tdistractionFreeHidden: { x: '-100%' },\n\tvisible: { x: 0 },\n\thidden: { x: 0 },\n};\n\nfunction Header( {\n\tcustomSaveButton,\n\tforceIsDirty,\n\tforceDisableBlockTools,\n\tsetEntitiesSavedStatesCallback,\n\ttitle,\n\tisEditorIframed,\n} ) {\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isTooNarrowForDocumentBar = useMediaQuery( '(max-width: 403px)' );\n\tconst {\n\t\tisTextEditor,\n\t\tisPublishSidebarOpened,\n\t\tshowIconLabels,\n\t\thasFixedToolbar,\n\t\tisNestedEntity,\n\t} = useSelect( ( select ) => {\n\t\tconst { get: getPreference } = select( preferencesStore );\n\t\tconst {\n\t\t\tgetEditorMode,\n\t\t\tgetEditorSettings,\n\t\t\tisPublishSidebarOpened: _isPublishSidebarOpened,\n\t\t} = select( editorStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\tisTextEditor: getEditorMode() === 'text',\n\t\t\tisPublishSidebarOpened: _isPublishSidebarOpened(),\n\t\t\tshowIconLabels: getPreference( 'core', 'showIconLabels' ),\n\t\t\thasFixedToolbar: getPreference( 'core', 'fixedToolbar' ),\n\t\t\tisNestedEntity:\n\t\t\t\t!! getEditorSettings().onNavigateToPreviousEntityRecord,\n\t\t\tisZoomedOutView: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] =\n\t\tuseState( true );\n\n\tconst hasCenter = isBlockToolsCollapsed && ! isTooNarrowForDocumentBar;\n\tconst hasBackButton = useHasBackButton();\n\n\t// The edit-post-header classname is only kept for backward compatibilty\n\t// as some plugins might be relying on its presence.\n\treturn (\n\t\t<div className=\"editor-header edit-post-header\">\n\t\t\t{ hasBackButton && (\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"editor-header__back-button\"\n\t\t\t\t\tvariants={ backButtonVariations }\n\t\t\t\t\ttransition={ { type: 'tween' } }\n\t\t\t\t>\n\t\t\t\t\t<BackButton.Slot />\n\t\t\t\t</motion.div>\n\t\t\t) }\n\t\t\t<motion.div\n\t\t\t\tvariants={ toolbarVariations }\n\t\t\t\tclassName=\"editor-header__toolbar\"\n\t\t\t\ttransition={ { type: 'tween' } }\n\t\t\t>\n\t\t\t\t<DocumentTools\n\t\t\t\t\tdisableBlockTools={ forceDisableBlockTools || isTextEditor }\n\t\t\t\t/>\n\t\t\t\t{ hasFixedToolbar && isLargeViewport && (\n\t\t\t\t\t<CollapsibleBlockToolbar\n\t\t\t\t\t\tisCollapsed={ isBlockToolsCollapsed }\n\t\t\t\t\t\tonToggle={ setIsBlockToolsCollapsed }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t\t{ hasCenter && (\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"editor-header__center\"\n\t\t\t\t\tvariants={ toolbarVariations }\n\t\t\t\t\ttransition={ { type: 'tween' } }\n\t\t\t\t>\n\t\t\t\t\t<DocumentBar title={ title } />\n\t\t\t\t</motion.div>\n\t\t\t) }\n\t\t\t<motion.div\n\t\t\t\tvariants={ toolbarVariations }\n\t\t\t\ttransition={ { type: 'tween' } }\n\t\t\t\tclassName=\"editor-header__settings\"\n\t\t\t>\n\t\t\t\t{ ! customSaveButton && ! isPublishSidebarOpened && (\n\t\t\t\t\t// This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t// We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t// we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t// We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t// when the publish sidebar has been closed.\n\t\t\t\t\t<PostSavedState forceIsDirty={ forceIsDirty } />\n\t\t\t\t) }\n\t\t\t\t<PreviewDropdown\n\t\t\t\t\tforceIsAutosaveable={ forceIsDirty }\n\t\t\t\t\tdisabled={ isNestedEntity }\n\t\t\t\t/>\n\t\t\t\t<PostPreviewButton\n\t\t\t\t\tclassName=\"editor-header__post-preview-button\"\n\t\t\t\t\tforceIsAutosaveable={ forceIsDirty }\n\t\t\t\t/>\n\t\t\t\t<PostViewLink />\n\n\t\t\t\t{ isEditorIframed && isWideViewport && <ZoomOutToggle /> }\n\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<PinnedItems.Slot scope=\"core\" />\n\t\t\t\t) }\n\n\t\t\t\t{ ! customSaveButton && (\n\t\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ customSaveButton }\n\t\t\t\t<MoreMenu />\n\t\t\t</motion.div>\n\t\t</div>\n\t);\n}\n\nexport default Header;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,oBAAoB;AACpE,SAASC,gBAAgB,IAAIC,MAAM,QAAQ,uBAAuB;AAClE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,wBAAwB;AAClE,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SAASH,KAAK,IAAII,gBAAgB,QAAQ,yBAAyB;;AAEnE;AACA;AACA;AACA,OAAOC,UAAU,IAAIC,gBAAgB,QAAQ,eAAe;AAC5D,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,QAAQ,MAAM,cAAc;AACnC,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,yBAAyB,MAAM,sDAAsD;AAC5F,OAAOC,cAAc,MAAM,qBAAqB;AAChD,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,aAAa,MAAM,oBAAoB;AAC9C,SAAShB,KAAK,IAAIiB,WAAW,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnD,MAAMC,iBAAiB,GAAG;EACzBC,uBAAuB,EAAE;IAAEC,CAAC,EAAE;EAAQ,CAAC;EACvCC,oBAAoB,EAAE;IAAED,CAAC,EAAE;EAAE,CAAC;EAC9BE,qBAAqB,EAAE;IAAEF,CAAC,EAAE;EAAQ,CAAC;EACrCG,OAAO,EAAE;IAAEH,CAAC,EAAE;EAAE,CAAC;EACjBI,MAAM,EAAE;IAAEJ,CAAC,EAAE;EAAE;AAChB,CAAC;AAED,MAAMK,oBAAoB,GAAG;EAC5BN,uBAAuB,EAAE;IAAEO,CAAC,EAAE;EAAQ,CAAC;EACvCL,oBAAoB,EAAE;IAAEK,CAAC,EAAE;EAAE,CAAC;EAC9BJ,qBAAqB,EAAE;IAAEI,CAAC,EAAE;EAAQ,CAAC;EACrCH,OAAO,EAAE;IAAEG,CAAC,EAAE;EAAE,CAAC;EACjBF,MAAM,EAAE;IAAEE,CAAC,EAAE;EAAE;AAChB,CAAC;AAED,SAASC,MAAMA,CAAE;EAChBC,gBAAgB;EAChBC,YAAY;EACZC,sBAAsB;EACtBC,8BAA8B;EAC9BC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,MAAMC,cAAc,GAAGzC,gBAAgB,CAAE,OAAQ,CAAC;EAClD,MAAM0C,eAAe,GAAG1C,gBAAgB,CAAE,QAAS,CAAC;EACpD,MAAM2C,yBAAyB,GAAG5C,aAAa,CAAE,oBAAqB,CAAC;EACvE,MAAM;IACL6C,YAAY;IACZC,sBAAsB;IACtBC,cAAc;IACdC,eAAe;IACfC;EACD,CAAC,GAAGlD,SAAS,CAAImD,MAAM,IAAM;IAC5B,MAAM;MAAEC,GAAG,EAAEC;IAAc,CAAC,GAAGF,MAAM,CAAE7C,gBAAiB,CAAC;IACzD,MAAM;MACLgD,aAAa;MACbC,iBAAiB;MACjBR,sBAAsB,EAAES;IACzB,CAAC,GAAGL,MAAM,CAAE7B,WAAY,CAAC;IACzB,MAAM;MAAEmC;IAAwB,CAAC,GAAGN,MAAM,CAAE1C,gBAAiB,CAAC;IAE9D,OAAO;MACNqC,YAAY,EAAEQ,aAAa,CAAC,CAAC,KAAK,MAAM;MACxCP,sBAAsB,EAAES,uBAAuB,CAAC,CAAC;MACjDR,cAAc,EAAEK,aAAa,CAAE,MAAM,EAAE,gBAAiB,CAAC;MACzDJ,eAAe,EAAEI,aAAa,CAAE,MAAM,EAAE,cAAe,CAAC;MACxDH,cAAc,EACb,CAAC,CAAEK,iBAAiB,CAAC,CAAC,CAACG,gCAAgC;MACxDC,eAAe,EAAEF,uBAAuB,CAAC,CAAC,KAAK;IAChD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM,CAAEG,qBAAqB,EAAEC,wBAAwB,CAAE,GACxDtD,QAAQ,CAAE,IAAK,CAAC;EAEjB,MAAMuD,SAAS,GAAGF,qBAAqB,IAAI,CAAEf,yBAAyB;EACtE,MAAMkB,aAAa,GAAGpD,gBAAgB,CAAC,CAAC;;EAExC;EACA;EACA,oBACCe,KAAA;IAAKsC,SAAS,EAAC,gCAAgC;IAAAC,QAAA,GAC5CF,aAAa,iBACdvC,IAAA,CAACpB,MAAM,CAAC8D,GAAG;MACVF,SAAS,EAAC,4BAA4B;MACtCG,QAAQ,EAAGjC,oBAAsB;MACjCkC,UAAU,EAAG;QAAEC,IAAI,EAAE;MAAQ,CAAG;MAAAJ,QAAA,eAEhCzC,IAAA,CAACd,UAAU,CAAC4D,IAAI,IAAE;IAAC,CACR,CACZ,eACD5C,KAAA,CAACtB,MAAM,CAAC8D,GAAG;MACVC,QAAQ,EAAGxC,iBAAmB;MAC9BqC,SAAS,EAAC,wBAAwB;MAClCI,UAAU,EAAG;QAAEC,IAAI,EAAE;MAAQ,CAAG;MAAAJ,QAAA,gBAEhCzC,IAAA,CAACV,aAAa;QACbyD,iBAAiB,EAAGhC,sBAAsB,IAAIO;MAAc,CAC5D,CAAC,EACAG,eAAe,IAAIL,eAAe,iBACnCpB,IAAA,CAACZ,uBAAuB;QACvB4D,WAAW,EAAGZ,qBAAuB;QACrCa,QAAQ,EAAGZ;MAA0B,CACrC,CACD;IAAA,CACU,CAAC,EACXC,SAAS,iBACVtC,IAAA,CAACpB,MAAM,CAAC8D,GAAG;MACVF,SAAS,EAAC,uBAAuB;MACjCG,QAAQ,EAAGxC,iBAAmB;MAC9ByC,UAAU,EAAG;QAAEC,IAAI,EAAE;MAAQ,CAAG;MAAAJ,QAAA,eAEhCzC,IAAA,CAACX,WAAW;QAAC4B,KAAK,EAAGA;MAAO,CAAE;IAAC,CACpB,CACZ,eACDf,KAAA,CAACtB,MAAM,CAAC8D,GAAG;MACVC,QAAQ,EAAGxC,iBAAmB;MAC9ByC,UAAU,EAAG;QAAEC,IAAI,EAAE;MAAQ,CAAG;MAChCL,SAAS,EAAC,yBAAyB;MAAAC,QAAA,GAEjC,CAAE5B,gBAAgB,IAAI,CAAEU,sBAAsB;MAAA;MAC/C;MACA;MACA;MACA;MACA;MACAvB,IAAA,CAACN,cAAc;QAACoB,YAAY,EAAGA;MAAc,CAAE,CAC/C,eACDd,IAAA,CAACJ,eAAe;QACfsD,mBAAmB,EAAGpC,YAAc;QACpCqC,QAAQ,EAAGzB;MAAgB,CAC3B,CAAC,eACF1B,IAAA,CAACR,iBAAiB;QACjBgD,SAAS,EAAC,oCAAoC;QAC9CU,mBAAmB,EAAGpC;MAAc,CACpC,CAAC,eACFd,IAAA,CAACL,YAAY,IAAE,CAAC,EAEduB,eAAe,IAAIC,cAAc,iBAAInB,IAAA,CAACH,aAAa,IAAE,CAAC,EAEtD,CAAEsB,cAAc,IAAI,CAAEK,cAAc,kBACrCxB,IAAA,CAAChB,WAAW,CAAC8D,IAAI;QAACM,KAAK,EAAC;MAAM,CAAE,CAChC,EAEC,CAAEvC,gBAAgB,iBACnBb,IAAA,CAACP,yBAAyB;QACzBqB,YAAY,EAAGA,YAAc;QAC7BE,8BAA8B,EAC7BA;MACA,CACD,CACD,EAECH,gBAAgB,eAClBb,IAAA,CAACT,QAAQ,IAAE,CAAC;IAAA,CACD,CAAC;EAAA,CACT,CAAC;AAER;AAEA,eAAeqB,MAAM","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useSelect","useMediaQuery","useViewportMatch","__unstableMotion","motion","store","preferencesStore","useState","PinnedItems","blockEditorStore","BackButton","useHasBackButton","CollapsibleBlockToolbar","DocumentBar","DocumentTools","MoreMenu","PostPreviewButton","PostPublishButtonOrToggle","PostSavedState","PostViewLink","PreviewDropdown","ZoomOutToggle","editorStore","jsx","_jsx","jsxs","_jsxs","toolbarVariations","distractionFreeDisabled","y","distractionFreeHover","distractionFreeHidden","visible","hidden","backButtonVariations","x","Header","customSaveButton","forceIsDirty","forceDisableBlockTools","setEntitiesSavedStatesCallback","title","isEditorIframed","isWideViewport","isLargeViewport","isTooNarrowForDocumentBar","isTextEditor","isPublishSidebarOpened","showIconLabels","hasFixedToolbar","hasBlockSelection","isNestedEntity","select","get","getPreference","getEditorMode","getEditorSettings","_isPublishSidebarOpened","__unstableGetEditorMode","getBlockSelectionStart","onNavigateToPreviousEntityRecord","isZoomedOutView","isBlockToolsCollapsed","setIsBlockToolsCollapsed","hasCenter","hasBackButton","className","children","div","variants","transition","type","Slot","disableBlockTools","isCollapsed","onToggle","forceIsAutosaveable","disabled","scope"],"sources":["@wordpress/editor/src/components/header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMediaQuery, useViewportMatch } from '@wordpress/compose';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useState } from '@wordpress/element';\nimport { PinnedItems } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport BackButton, { useHasBackButton } from './back-button';\nimport CollapsibleBlockToolbar from '../collapsible-block-toolbar';\nimport DocumentBar from '../document-bar';\nimport DocumentTools from '../document-tools';\nimport MoreMenu from '../more-menu';\nimport PostPreviewButton from '../post-preview-button';\nimport PostPublishButtonOrToggle from '../post-publish-button/post-publish-button-or-toggle';\nimport PostSavedState from '../post-saved-state';\nimport PostViewLink from '../post-view-link';\nimport PreviewDropdown from '../preview-dropdown';\nimport ZoomOutToggle from '../zoom-out-toggle';\nimport { store as editorStore } from '../../store';\n\nconst toolbarVariations = {\n\tdistractionFreeDisabled: { y: '-50px' },\n\tdistractionFreeHover: { y: 0 },\n\tdistractionFreeHidden: { y: '-50px' },\n\tvisible: { y: 0 },\n\thidden: { y: 0 },\n};\n\nconst backButtonVariations = {\n\tdistractionFreeDisabled: { x: '-100%' },\n\tdistractionFreeHover: { x: 0 },\n\tdistractionFreeHidden: { x: '-100%' },\n\tvisible: { x: 0 },\n\thidden: { x: 0 },\n};\n\nfunction Header( {\n\tcustomSaveButton,\n\tforceIsDirty,\n\tforceDisableBlockTools,\n\tsetEntitiesSavedStatesCallback,\n\ttitle,\n\tisEditorIframed,\n} ) {\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isTooNarrowForDocumentBar = useMediaQuery( '(max-width: 403px)' );\n\tconst {\n\t\tisTextEditor,\n\t\tisPublishSidebarOpened,\n\t\tshowIconLabels,\n\t\thasFixedToolbar,\n\t\thasBlockSelection,\n\t\tisNestedEntity,\n\t} = useSelect( ( select ) => {\n\t\tconst { get: getPreference } = select( preferencesStore );\n\t\tconst {\n\t\t\tgetEditorMode,\n\t\t\tgetEditorSettings,\n\t\t\tisPublishSidebarOpened: _isPublishSidebarOpened,\n\t\t} = select( editorStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\tisTextEditor: getEditorMode() === 'text',\n\t\t\tisPublishSidebarOpened: _isPublishSidebarOpened(),\n\t\t\tshowIconLabels: getPreference( 'core', 'showIconLabels' ),\n\t\t\thasFixedToolbar: getPreference( 'core', 'fixedToolbar' ),\n\t\t\thasBlockSelection:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\tisNestedEntity:\n\t\t\t\t!! getEditorSettings().onNavigateToPreviousEntityRecord,\n\t\t\tisZoomedOutView: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] =\n\t\tuseState( true );\n\n\tconst hasCenter =\n\t\t( ! hasBlockSelection || isBlockToolsCollapsed ) &&\n\t\t! isTooNarrowForDocumentBar;\n\tconst hasBackButton = useHasBackButton();\n\n\t// The edit-post-header classname is only kept for backward compatibilty\n\t// as some plugins might be relying on its presence.\n\treturn (\n\t\t<div className=\"editor-header edit-post-header\">\n\t\t\t{ hasBackButton && (\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"editor-header__back-button\"\n\t\t\t\t\tvariants={ backButtonVariations }\n\t\t\t\t\ttransition={ { type: 'tween' } }\n\t\t\t\t>\n\t\t\t\t\t<BackButton.Slot />\n\t\t\t\t</motion.div>\n\t\t\t) }\n\t\t\t<motion.div\n\t\t\t\tvariants={ toolbarVariations }\n\t\t\t\tclassName=\"editor-header__toolbar\"\n\t\t\t\ttransition={ { type: 'tween' } }\n\t\t\t>\n\t\t\t\t<DocumentTools\n\t\t\t\t\tdisableBlockTools={ forceDisableBlockTools || isTextEditor }\n\t\t\t\t/>\n\t\t\t\t{ hasFixedToolbar && isLargeViewport && (\n\t\t\t\t\t<CollapsibleBlockToolbar\n\t\t\t\t\t\tisCollapsed={ isBlockToolsCollapsed }\n\t\t\t\t\t\tonToggle={ setIsBlockToolsCollapsed }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t\t{ hasCenter && (\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"editor-header__center\"\n\t\t\t\t\tvariants={ toolbarVariations }\n\t\t\t\t\ttransition={ { type: 'tween' } }\n\t\t\t\t>\n\t\t\t\t\t<DocumentBar title={ title } />\n\t\t\t\t</motion.div>\n\t\t\t) }\n\t\t\t<motion.div\n\t\t\t\tvariants={ toolbarVariations }\n\t\t\t\ttransition={ { type: 'tween' } }\n\t\t\t\tclassName=\"editor-header__settings\"\n\t\t\t>\n\t\t\t\t{ ! customSaveButton && ! isPublishSidebarOpened && (\n\t\t\t\t\t// This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t// We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t// we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t// We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t// when the publish sidebar has been closed.\n\t\t\t\t\t<PostSavedState forceIsDirty={ forceIsDirty } />\n\t\t\t\t) }\n\t\t\t\t<PreviewDropdown\n\t\t\t\t\tforceIsAutosaveable={ forceIsDirty }\n\t\t\t\t\tdisabled={ isNestedEntity }\n\t\t\t\t/>\n\t\t\t\t<PostPreviewButton\n\t\t\t\t\tclassName=\"editor-header__post-preview-button\"\n\t\t\t\t\tforceIsAutosaveable={ forceIsDirty }\n\t\t\t\t/>\n\t\t\t\t<PostViewLink />\n\n\t\t\t\t{ isEditorIframed && isWideViewport && <ZoomOutToggle /> }\n\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<PinnedItems.Slot scope=\"core\" />\n\t\t\t\t) }\n\n\t\t\t\t{ ! customSaveButton && (\n\t\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ customSaveButton }\n\t\t\t\t<MoreMenu />\n\t\t\t</motion.div>\n\t\t</div>\n\t);\n}\n\nexport default Header;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,7 +56,10 @@ export default function EditTemplateBlocksNotification({
|
|
|
56
56
|
if (!event.target.classList.contains('is-root-container') || event.target.dataset?.type === 'core/template-part') {
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
-
|
|
59
|
+
if (!event.defaultPrevented) {
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
setIsDialogOpen(true);
|
|
62
|
+
}
|
|
60
63
|
};
|
|
61
64
|
const canvas = contentRef.current;
|
|
62
65
|
canvas?.addEventListener('dblclick', handleDblClick);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","store","coreStore","useEffect","useState","__","__experimentalConfirmDialog","ConfirmDialog","editorStore","jsx","_jsx","EditTemplateBlocksNotification","contentRef","onNavigateToEntityRecord","templateId","select","getEditorSettings","getCurrentTemplateId","canEditTemplate","canUser","kind","name","isDialogOpen","setIsDialogOpen","handleDblClick","event","target","classList","contains","dataset","type","canvas","current","addEventListener","removeEventListener","isOpen","confirmButtonText","onConfirm","postId","postType","onCancel","size","children"],"sources":["@wordpress/editor/src/components/visual-editor/edit-template-blocks-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Component that:\n *\n * - Displays a 'Edit your template to edit this block' notification when the\n * user is focusing on editing page content and clicks on a disabled template\n * block.\n * - Displays a 'Edit your template to edit this block' dialog when the user\n * is focusing on editing page conetnt and double clicks on a disabled\n * template block.\n *\n * @param {Object} props\n * @param {import('react').RefObject<HTMLElement>} props.contentRef Ref to the block\n * editor iframe canvas.\n */\nexport default function EditTemplateBlocksNotification( { contentRef } ) {\n\tconst { onNavigateToEntityRecord, templateId } = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getCurrentTemplateId } =\n\t\t\tselect( editorStore );\n\n\t\treturn {\n\t\t\tonNavigateToEntityRecord:\n\t\t\t\tgetEditorSettings().onNavigateToEntityRecord,\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t};\n\t}, [] );\n\n\tconst canEditTemplate = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( coreStore ).canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ),\n\t\t[]\n\t);\n\n\tconst [ isDialogOpen, setIsDialogOpen ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst handleDblClick = ( event ) => {\n\t\t\tif ( ! canEditTemplate ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! event.target.classList.contains( 'is-root-container' ) ||\n\t\t\t\tevent.target.dataset?.type === 'core/template-part'\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDialogOpen( true );\n\t\t};\n\n\t\tconst canvas = contentRef.current;\n\t\tcanvas?.addEventListener( 'dblclick', handleDblClick );\n\t\treturn () => {\n\t\t\tcanvas?.removeEventListener( 'dblclick', handleDblClick );\n\t\t};\n\t}, [ contentRef, canEditTemplate ] );\n\n\tif ( ! canEditTemplate ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isDialogOpen }\n\t\t\tconfirmButtonText={ __( 'Edit template' ) }\n\t\t\tonConfirm={ () => {\n\t\t\t\tsetIsDialogOpen( false );\n\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\tpostId: templateId,\n\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonCancel={ () => setIsDialogOpen( false ) }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ __(\n\t\t\t\t'You’ve tried to select a block that is part of a template, which may be used on other posts and pages. Would you like to edit the template?'\n\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,oBAAoB;AACxD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,2BAA2B,IAAIC,aAAa,QAAQ,uBAAuB;;AAEpF;AACA;AACA;AACA,SAASN,KAAK,IAAIO,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,SAAAC,GAAA,IAAAC,IAAA;AAcA,eAAe,SAASC,8BAA8BA,CAAE;EAAEC;AAAW,CAAC,EAAG;EACxE,MAAM;IAAEC,wBAAwB;IAAEC;EAAW,CAAC,GAAGd,SAAS,CAAIe,MAAM,IAAM;IACzE,MAAM;MAAEC,iBAAiB;MAAEC;IAAqB,CAAC,GAChDF,MAAM,CAAEP,WAAY,CAAC;IAEtB,OAAO;MACNK,wBAAwB,EACvBG,iBAAiB,CAAC,CAAC,CAACH,wBAAwB;MAC7CC,UAAU,EAAEG,oBAAoB,CAAC;IAClC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,eAAe,GAAGlB,SAAS,CAC9Be,MAAM,IACP,CAAC,CAAEA,MAAM,CAAEb,SAAU,CAAC,CAACiB,OAAO,CAAE,QAAQ,EAAE;IACzCC,IAAI,EAAE,UAAU;IAChBC,IAAI,EAAE;EACP,CAAE,CAAC,EACJ,EACD,CAAC;EAED,MAAM,CAAEC,YAAY,EAAEC,eAAe,CAAE,GAAGnB,QAAQ,CAAE,KAAM,CAAC;EAE3DD,SAAS,CAAE,MAAM;IAChB,MAAMqB,cAAc,GAAKC,KAAK,IAAM;MACnC,IAAK,CAAEP,eAAe,EAAG;QACxB;MACD;MAEA,IACC,CAAEO,KAAK,CAACC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAAE,mBAAoB,CAAC,IACxDH,KAAK,CAACC,MAAM,CAACG,OAAO,EAAEC,IAAI,KAAK,oBAAoB,EAClD;QACD;MACD;
|
|
1
|
+
{"version":3,"names":["useSelect","store","coreStore","useEffect","useState","__","__experimentalConfirmDialog","ConfirmDialog","editorStore","jsx","_jsx","EditTemplateBlocksNotification","contentRef","onNavigateToEntityRecord","templateId","select","getEditorSettings","getCurrentTemplateId","canEditTemplate","canUser","kind","name","isDialogOpen","setIsDialogOpen","handleDblClick","event","target","classList","contains","dataset","type","defaultPrevented","preventDefault","canvas","current","addEventListener","removeEventListener","isOpen","confirmButtonText","onConfirm","postId","postType","onCancel","size","children"],"sources":["@wordpress/editor/src/components/visual-editor/edit-template-blocks-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Component that:\n *\n * - Displays a 'Edit your template to edit this block' notification when the\n * user is focusing on editing page content and clicks on a disabled template\n * block.\n * - Displays a 'Edit your template to edit this block' dialog when the user\n * is focusing on editing page conetnt and double clicks on a disabled\n * template block.\n *\n * @param {Object} props\n * @param {import('react').RefObject<HTMLElement>} props.contentRef Ref to the block\n * editor iframe canvas.\n */\nexport default function EditTemplateBlocksNotification( { contentRef } ) {\n\tconst { onNavigateToEntityRecord, templateId } = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getCurrentTemplateId } =\n\t\t\tselect( editorStore );\n\n\t\treturn {\n\t\t\tonNavigateToEntityRecord:\n\t\t\t\tgetEditorSettings().onNavigateToEntityRecord,\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t};\n\t}, [] );\n\n\tconst canEditTemplate = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( coreStore ).canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ),\n\t\t[]\n\t);\n\n\tconst [ isDialogOpen, setIsDialogOpen ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst handleDblClick = ( event ) => {\n\t\t\tif ( ! canEditTemplate ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! event.target.classList.contains( 'is-root-container' ) ||\n\t\t\t\tevent.target.dataset?.type === 'core/template-part'\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( ! event.defaultPrevented ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetIsDialogOpen( true );\n\t\t\t}\n\t\t};\n\n\t\tconst canvas = contentRef.current;\n\t\tcanvas?.addEventListener( 'dblclick', handleDblClick );\n\t\treturn () => {\n\t\t\tcanvas?.removeEventListener( 'dblclick', handleDblClick );\n\t\t};\n\t}, [ contentRef, canEditTemplate ] );\n\n\tif ( ! canEditTemplate ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isDialogOpen }\n\t\t\tconfirmButtonText={ __( 'Edit template' ) }\n\t\t\tonConfirm={ () => {\n\t\t\t\tsetIsDialogOpen( false );\n\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\tpostId: templateId,\n\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonCancel={ () => setIsDialogOpen( false ) }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ __(\n\t\t\t\t'You’ve tried to select a block that is part of a template, which may be used on other posts and pages. Would you like to edit the template?'\n\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,oBAAoB;AACxD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,2BAA2B,IAAIC,aAAa,QAAQ,uBAAuB;;AAEpF;AACA;AACA;AACA,SAASN,KAAK,IAAIO,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,SAAAC,GAAA,IAAAC,IAAA;AAcA,eAAe,SAASC,8BAA8BA,CAAE;EAAEC;AAAW,CAAC,EAAG;EACxE,MAAM;IAAEC,wBAAwB;IAAEC;EAAW,CAAC,GAAGd,SAAS,CAAIe,MAAM,IAAM;IACzE,MAAM;MAAEC,iBAAiB;MAAEC;IAAqB,CAAC,GAChDF,MAAM,CAAEP,WAAY,CAAC;IAEtB,OAAO;MACNK,wBAAwB,EACvBG,iBAAiB,CAAC,CAAC,CAACH,wBAAwB;MAC7CC,UAAU,EAAEG,oBAAoB,CAAC;IAClC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,eAAe,GAAGlB,SAAS,CAC9Be,MAAM,IACP,CAAC,CAAEA,MAAM,CAAEb,SAAU,CAAC,CAACiB,OAAO,CAAE,QAAQ,EAAE;IACzCC,IAAI,EAAE,UAAU;IAChBC,IAAI,EAAE;EACP,CAAE,CAAC,EACJ,EACD,CAAC;EAED,MAAM,CAAEC,YAAY,EAAEC,eAAe,CAAE,GAAGnB,QAAQ,CAAE,KAAM,CAAC;EAE3DD,SAAS,CAAE,MAAM;IAChB,MAAMqB,cAAc,GAAKC,KAAK,IAAM;MACnC,IAAK,CAAEP,eAAe,EAAG;QACxB;MACD;MAEA,IACC,CAAEO,KAAK,CAACC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAAE,mBAAoB,CAAC,IACxDH,KAAK,CAACC,MAAM,CAACG,OAAO,EAAEC,IAAI,KAAK,oBAAoB,EAClD;QACD;MACD;MAEA,IAAK,CAAEL,KAAK,CAACM,gBAAgB,EAAG;QAC/BN,KAAK,CAACO,cAAc,CAAC,CAAC;QACtBT,eAAe,CAAE,IAAK,CAAC;MACxB;IACD,CAAC;IAED,MAAMU,MAAM,GAAGrB,UAAU,CAACsB,OAAO;IACjCD,MAAM,EAAEE,gBAAgB,CAAE,UAAU,EAAEX,cAAe,CAAC;IACtD,OAAO,MAAM;MACZS,MAAM,EAAEG,mBAAmB,CAAE,UAAU,EAAEZ,cAAe,CAAC;IAC1D,CAAC;EACF,CAAC,EAAE,CAAEZ,UAAU,EAAEM,eAAe,CAAG,CAAC;EAEpC,IAAK,CAAEA,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,oBACCR,IAAA,CAACH,aAAa;IACb8B,MAAM,EAAGf,YAAc;IACvBgB,iBAAiB,EAAGjC,EAAE,CAAE,eAAgB,CAAG;IAC3CkC,SAAS,EAAGA,CAAA,KAAM;MACjBhB,eAAe,CAAE,KAAM,CAAC;MACxBV,wBAAwB,CAAE;QACzB2B,MAAM,EAAE1B,UAAU;QAClB2B,QAAQ,EAAE;MACX,CAAE,CAAC;IACJ,CAAG;IACHC,QAAQ,EAAGA,CAAA,KAAMnB,eAAe,CAAE,KAAM,CAAG;IAC3CoB,IAAI,EAAC,QAAQ;IAAAC,QAAA,EAEXvC,EAAE,CACH,6IACD;EAAC,CACa,CAAC;AAElB","ignoreList":[]}
|
|
@@ -31,7 +31,8 @@ const {
|
|
|
31
31
|
useLayoutClasses,
|
|
32
32
|
useLayoutStyles,
|
|
33
33
|
ExperimentalBlockCanvas: BlockCanvas,
|
|
34
|
-
useFlashEditableBlocks
|
|
34
|
+
useFlashEditableBlocks,
|
|
35
|
+
useZoomOutModeExit
|
|
35
36
|
} = unlock(blockEditorPrivateApis);
|
|
36
37
|
|
|
37
38
|
/**
|
|
@@ -252,10 +253,10 @@ function VisualEditor({
|
|
|
252
253
|
isEnabled: renderingMode === 'template-locked'
|
|
253
254
|
}), useSelectNearestEditableBlock({
|
|
254
255
|
isEnabled: renderingMode === 'template-locked'
|
|
255
|
-
})]);
|
|
256
|
+
}), useZoomOutModeExit()]);
|
|
256
257
|
const zoomOutProps = isZoomedOut && !isTabletViewport ? {
|
|
257
258
|
scale: 'default',
|
|
258
|
-
frameSize: '
|
|
259
|
+
frameSize: '40px'
|
|
259
260
|
} : {};
|
|
260
261
|
const forceFullHeight = postType === NAVIGATION_POST_TYPE;
|
|
261
262
|
const enableResizing = [NAVIGATION_POST_TYPE, TEMPLATE_PART_POST_TYPE, PATTERN_POST_TYPE].includes(postType) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","BlockList","store","blockEditorStore","__unstableUseTypewriter","useTypewriter","__unstableUseTypingObserver","useTypingObserver","useSettings","RecursionProvider","privateApis","blockEditorPrivateApis","__experimentalUseResizeCanvas","useResizeCanvas","useEffect","useRef","useMemo","useSelect","parse","coreStore","useMergeRefs","useViewportMatch","useResizeObserver","PostTitle","editorStore","unlock","EditTemplateBlocksNotification","ResizableEditor","useSelectNearestEditableBlock","NAVIGATION_POST_TYPE","PATTERN_POST_TYPE","TEMPLATE_PART_POST_TYPE","TEMPLATE_POST_TYPE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","LayoutStyle","useLayoutClasses","useLayoutStyles","ExperimentalBlockCanvas","BlockCanvas","useFlashEditableBlocks","DESIGN_POST_TYPES","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","checkForPostContentAtRootLevel","VisualEditor","autoFocus","styles","disableIframe","iframeProps","contentRef","className","resizeObserver","sizes","isMobileViewport","isTabletViewport","renderingMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","deviceType","isFocusedEntity","isDesignPostType","postType","isPreview","select","getCurrentPostId","getCurrentPostType","getCurrentTemplateId","getEditorSettings","getRenderingMode","getDeviceType","getPostType","getEditedEntityRecord","postTypeSlug","_renderingMode","_wrapperBlockName","editorSettings","supportsTemplateMode","postTypeObject","currentTemplateId","template","undefined","includes","viewable","onNavigateToPreviousEntityRecord","__unstableIsPreviewMode","isCleanNewPost","hasRootPaddingAwareAlignments","themeHasDisabledLayoutStyles","themeSupportsLayout","isZoomedOut","getSettings","isZoomOut","_isZoomOut","_settings","disableLayoutStyles","supportsLayout","__experimentalFeatures","useRootPaddingAwareAlignments","deviceStyles","globalLayoutSettings","fallbackLayout","type","newestPostContentAttributes","content","parseableContent","hasPostContentAtRootLevel","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","postEditorLayout","observeTypingRef","titleRef","current","focus","alignCSS","localRef","typewriterRef","isEnabled","zoomOutProps","scale","frameSize","forceFullHeight","enableResizing","shouldIframe","iframeStyles","css","children","height","style","selector","contentEditable","ref","marginTop","blockName","uniqueId","toLowerCase","dropZoneElement","parentNode","__unstableDisableDropZone"],"sources":["@wordpress/editor/src/components/visual-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tstore as blockEditorStore,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tuseSettings,\n\tRecursionProvider,\n\tprivateApis as blockEditorPrivateApis,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseMergeRefs,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTitle from '../post-title';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport EditTemplateBlocksNotification from './edit-template-blocks-notification';\nimport ResizableEditor from '../resizable-editor';\nimport useSelectNearestEditableBlock from './use-select-nearest-editable-block';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n\tuseFlashEditableBlocks,\n} = unlock( blockEditorPrivateApis );\n\n/**\n * These post types have a special editor where they don't allow you to fill the title\n * and they don't apply the layout styles.\n */\nconst DESIGN_POST_TYPES = [\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n];\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction checkForPostContentAtRootLevel( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction VisualEditor( {\n\t// Ideally as we unify post and site editors, we won't need these props.\n\tautoFocus,\n\tstyles,\n\tdisableIframe = false,\n\tiframeProps,\n\tcontentRef,\n\tclassName,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst isTabletViewport = useViewportMatch( 'medium', '<' );\n\tconst {\n\t\trenderingMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tdeviceType,\n\t\tisFocusedEntity,\n\t\tisDesignPostType,\n\t\tpostType,\n\t\tisPreview,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentTemplateId,\n\t\t\tgetEditorSettings,\n\t\t\tgetRenderingMode,\n\t\t\tgetDeviceType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, getEditedEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getCurrentPostType();\n\t\tconst _renderingMode = getRenderingMode();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( postTypeSlug === PATTERN_POST_TYPE ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( _renderingMode === 'post-only' ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst postTypeObject = getPostType( postTypeSlug );\n\t\tconst currentTemplateId = getCurrentTemplateId();\n\t\tconst template = currentTemplateId\n\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tcurrentTemplateId\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trenderingMode: _renderingMode,\n\t\t\tpostContentAttributes: editorSettings.postContentAttributes,\n\t\t\tisDesignPostType: DESIGN_POST_TYPES.includes( postTypeSlug ),\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tpostTypeObject?.viewable && supportsTemplateMode\n\t\t\t\t\t? template\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tdeviceType: getDeviceType(),\n\t\t\tisFocusedEntity: !! editorSettings.onNavigateToPreviousEntityRecord,\n\t\t\tpostType: postTypeSlug,\n\t\t\tisPreview: editorSettings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t\tisZoomedOut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings, isZoomOut: _isZoomOut } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\n\t\tconst _settings = getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t\tisZoomedOut: _isZoomOut(),\n\t\t};\n\t}, [] );\n\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ globalLayoutSettings ] = useSettings( 'layout' );\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( renderingMode !== 'post-only' || isDesignPostType ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [\n\t\trenderingMode,\n\t\tthemeSupportsLayout,\n\t\tglobalLayoutSettings,\n\t\tisDesignPostType,\n\t] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif (\n\t\t\t! editedPostTemplate?.content &&\n\t\t\t! editedPostTemplate?.blocks &&\n\t\t\tpostContentAttributes\n\t\t) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst hasPostContentAtRootLevel = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn false;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn checkForPostContentAtRootLevel( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn (\n\t\t\tcheckForPostContentAtRootLevel( parse( parseableContent ) ) || false\n\t\t);\n\t}, [ editedPostTemplate?.content, editedPostTemplate?.blocks ] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = clsx(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst postEditorLayout =\n\t\tblockListLayout?.type === 'default' && ! hasPostContentAtRootLevel\n\t\t\t? fallbackLayout\n\t\t\t: blockListLayout;\n\tconst observeTypingRef = useTypingObserver();\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( ! autoFocus || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ autoFocus, isCleanNewPost ] );\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\tconst localRef = useRef();\n\tconst typewriterRef = useTypewriter();\n\tcontentRef = useMergeRefs( [\n\t\tlocalRef,\n\t\tcontentRef,\n\t\trenderingMode === 'post-only' ? typewriterRef : null,\n\t\tuseFlashEditableBlocks( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseSelectNearestEditableBlock( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t] );\n\n\tconst zoomOutProps =\n\t\tisZoomedOut && ! isTabletViewport\n\t\t\t? {\n\t\t\t\t\tscale: 'default',\n\t\t\t\t\tframeSize: '48px',\n\t\t\t }\n\t\t\t: {};\n\n\tconst forceFullHeight = postType === NAVIGATION_POST_TYPE;\n\tconst enableResizing =\n\t\t[\n\t\t\tNAVIGATION_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType ) &&\n\t\t// Disable in previews / view mode.\n\t\t! isPreview &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport &&\n\t\t// Dsiable resizing in zoomed-out mode.\n\t\t! isZoomedOut;\n\tconst shouldIframe =\n\t\t! disableIframe || [ 'Tablet', 'Mobile' ].includes( deviceType );\n\n\tconst iframeStyles = useMemo( () => {\n\t\treturn [\n\t\t\t...( styles ?? [] ),\n\t\t\t{\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}`,\n\t\t\t},\n\t\t];\n\t}, [ styles, enableResizing ] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-visual-editor',\n\t\t\t\t// this class is here for backward compatibility reasons.\n\t\t\t\t'edit-post-visual-editor',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'has-padding': isFocusedEntity || enableResizing,\n\t\t\t\t\t'is-resizable': enableResizing,\n\t\t\t\t\t'is-iframed': shouldIframe,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<ResizableEditor\n\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\theight={\n\t\t\t\t\tsizes.height && ! forceFullHeight ? sizes.height : '100%'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ shouldIframe }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\tstyles={ iframeStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tiframeProps={ {\n\t\t\t\t\t\t...iframeProps,\n\t\t\t\t\t\t...zoomOutProps,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t\t\t\t...deviceStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t! isDesignPostType && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".editor-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ postEditorLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ align && <LayoutStyle css={ alignCSS } /> }\n\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ renderingMode === 'post-only' && ! isDesignPostType && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'editor-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t// The following class is only here for backward comapatibility\n\t\t\t\t\t\t\t\t// some themes might be using it to style the post title.\n\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\tref={ observeTypingRef }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// This is using inline styles\n\t\t\t\t\t\t\t\t// so it's applied for both iframed and non iframed editors.\n\t\t\t\t\t\t\t\tmarginTop: '4rem',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'is-' + deviceType.toLowerCase() + '-preview',\n\t\t\t\t\t\t\t\trenderingMode !== 'post-only' ||\n\t\t\t\t\t\t\t\t\tisDesignPostType\n\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t\t\t// When iframed, pass in the html element of the iframe to\n\t\t\t\t\t\t\t\t// ensure the drop zone extends to the edges of the iframe.\n\t\t\t\t\t\t\t\tdisableIframe\n\t\t\t\t\t\t\t\t\t? localRef.current\n\t\t\t\t\t\t\t\t\t: localRef.current?.parentNode\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__unstableDisableDropZone={\n\t\t\t\t\t\t\t\t// In template preview mode, disable drop zones at the root of the template.\n\t\t\t\t\t\t\t\trenderingMode === 'template-locked'\n\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ renderingMode === 'template-locked' && (\n\t\t\t\t\t\t\t<EditTemplateBlocksNotification\n\t\t\t\t\t\t\t\tcontentRef={ localRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t{\n\t\t\t\t\t\t// Avoid resize listeners when not needed,\n\t\t\t\t\t\t// these will trigger unnecessary re-renders\n\t\t\t\t\t\t// when animating the iframe width.\n\t\t\t\t\t\tenableResizing && resizeObserver\n\t\t\t\t\t}\n\t\t\t\t</BlockCanvas>\n\t\t\t</ResizableEditor>\n\t\t</div>\n\t);\n}\n\nexport default VisualEditor;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","BlockList","store","blockEditorStore","__unstableUseTypewriter","useTypewriter","__unstableUseTypingObserver","useTypingObserver","useSettings","RecursionProvider","privateApis","blockEditorPrivateApis","__experimentalUseResizeCanvas","useResizeCanvas","useEffect","useRef","useMemo","useSelect","parse","coreStore","useMergeRefs","useViewportMatch","useResizeObserver","PostTitle","editorStore","unlock","EditTemplateBlocksNotification","ResizableEditor","useSelectNearestEditableBlock","NAVIGATION_POST_TYPE","PATTERN_POST_TYPE","TEMPLATE_PART_POST_TYPE","TEMPLATE_POST_TYPE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","LayoutStyle","useLayoutClasses","useLayoutStyles","ExperimentalBlockCanvas","BlockCanvas","useFlashEditableBlocks","useZoomOutModeExit","DESIGN_POST_TYPES","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","checkForPostContentAtRootLevel","VisualEditor","autoFocus","styles","disableIframe","iframeProps","contentRef","className","resizeObserver","sizes","isMobileViewport","isTabletViewport","renderingMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","deviceType","isFocusedEntity","isDesignPostType","postType","isPreview","select","getCurrentPostId","getCurrentPostType","getCurrentTemplateId","getEditorSettings","getRenderingMode","getDeviceType","getPostType","getEditedEntityRecord","postTypeSlug","_renderingMode","_wrapperBlockName","editorSettings","supportsTemplateMode","postTypeObject","currentTemplateId","template","undefined","includes","viewable","onNavigateToPreviousEntityRecord","__unstableIsPreviewMode","isCleanNewPost","hasRootPaddingAwareAlignments","themeHasDisabledLayoutStyles","themeSupportsLayout","isZoomedOut","getSettings","isZoomOut","_isZoomOut","_settings","disableLayoutStyles","supportsLayout","__experimentalFeatures","useRootPaddingAwareAlignments","deviceStyles","globalLayoutSettings","fallbackLayout","type","newestPostContentAttributes","content","parseableContent","hasPostContentAtRootLevel","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","postEditorLayout","observeTypingRef","titleRef","current","focus","alignCSS","localRef","typewriterRef","isEnabled","zoomOutProps","scale","frameSize","forceFullHeight","enableResizing","shouldIframe","iframeStyles","css","children","height","style","selector","contentEditable","ref","marginTop","blockName","uniqueId","toLowerCase","dropZoneElement","parentNode","__unstableDisableDropZone"],"sources":["@wordpress/editor/src/components/visual-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tstore as blockEditorStore,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tuseSettings,\n\tRecursionProvider,\n\tprivateApis as blockEditorPrivateApis,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseMergeRefs,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTitle from '../post-title';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport EditTemplateBlocksNotification from './edit-template-blocks-notification';\nimport ResizableEditor from '../resizable-editor';\nimport useSelectNearestEditableBlock from './use-select-nearest-editable-block';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n\tuseFlashEditableBlocks,\n\tuseZoomOutModeExit,\n} = unlock( blockEditorPrivateApis );\n\n/**\n * These post types have a special editor where they don't allow you to fill the title\n * and they don't apply the layout styles.\n */\nconst DESIGN_POST_TYPES = [\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n];\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction checkForPostContentAtRootLevel( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction VisualEditor( {\n\t// Ideally as we unify post and site editors, we won't need these props.\n\tautoFocus,\n\tstyles,\n\tdisableIframe = false,\n\tiframeProps,\n\tcontentRef,\n\tclassName,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst isTabletViewport = useViewportMatch( 'medium', '<' );\n\tconst {\n\t\trenderingMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tdeviceType,\n\t\tisFocusedEntity,\n\t\tisDesignPostType,\n\t\tpostType,\n\t\tisPreview,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentTemplateId,\n\t\t\tgetEditorSettings,\n\t\t\tgetRenderingMode,\n\t\t\tgetDeviceType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, getEditedEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getCurrentPostType();\n\t\tconst _renderingMode = getRenderingMode();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( postTypeSlug === PATTERN_POST_TYPE ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( _renderingMode === 'post-only' ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst postTypeObject = getPostType( postTypeSlug );\n\t\tconst currentTemplateId = getCurrentTemplateId();\n\t\tconst template = currentTemplateId\n\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tcurrentTemplateId\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trenderingMode: _renderingMode,\n\t\t\tpostContentAttributes: editorSettings.postContentAttributes,\n\t\t\tisDesignPostType: DESIGN_POST_TYPES.includes( postTypeSlug ),\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tpostTypeObject?.viewable && supportsTemplateMode\n\t\t\t\t\t? template\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tdeviceType: getDeviceType(),\n\t\t\tisFocusedEntity: !! editorSettings.onNavigateToPreviousEntityRecord,\n\t\t\tpostType: postTypeSlug,\n\t\t\tisPreview: editorSettings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t\tisZoomedOut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings, isZoomOut: _isZoomOut } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\n\t\tconst _settings = getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t\tisZoomedOut: _isZoomOut(),\n\t\t};\n\t}, [] );\n\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ globalLayoutSettings ] = useSettings( 'layout' );\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( renderingMode !== 'post-only' || isDesignPostType ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [\n\t\trenderingMode,\n\t\tthemeSupportsLayout,\n\t\tglobalLayoutSettings,\n\t\tisDesignPostType,\n\t] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif (\n\t\t\t! editedPostTemplate?.content &&\n\t\t\t! editedPostTemplate?.blocks &&\n\t\t\tpostContentAttributes\n\t\t) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst hasPostContentAtRootLevel = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn false;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn checkForPostContentAtRootLevel( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn (\n\t\t\tcheckForPostContentAtRootLevel( parse( parseableContent ) ) || false\n\t\t);\n\t}, [ editedPostTemplate?.content, editedPostTemplate?.blocks ] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = clsx(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst postEditorLayout =\n\t\tblockListLayout?.type === 'default' && ! hasPostContentAtRootLevel\n\t\t\t? fallbackLayout\n\t\t\t: blockListLayout;\n\tconst observeTypingRef = useTypingObserver();\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( ! autoFocus || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ autoFocus, isCleanNewPost ] );\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\tconst localRef = useRef();\n\tconst typewriterRef = useTypewriter();\n\tcontentRef = useMergeRefs( [\n\t\tlocalRef,\n\t\tcontentRef,\n\t\trenderingMode === 'post-only' ? typewriterRef : null,\n\t\tuseFlashEditableBlocks( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseSelectNearestEditableBlock( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseZoomOutModeExit(),\n\t] );\n\n\tconst zoomOutProps =\n\t\tisZoomedOut && ! isTabletViewport\n\t\t\t? {\n\t\t\t\t\tscale: 'default',\n\t\t\t\t\tframeSize: '40px',\n\t\t\t }\n\t\t\t: {};\n\n\tconst forceFullHeight = postType === NAVIGATION_POST_TYPE;\n\tconst enableResizing =\n\t\t[\n\t\t\tNAVIGATION_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType ) &&\n\t\t// Disable in previews / view mode.\n\t\t! isPreview &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport &&\n\t\t// Dsiable resizing in zoomed-out mode.\n\t\t! isZoomedOut;\n\tconst shouldIframe =\n\t\t! disableIframe || [ 'Tablet', 'Mobile' ].includes( deviceType );\n\n\tconst iframeStyles = useMemo( () => {\n\t\treturn [\n\t\t\t...( styles ?? [] ),\n\t\t\t{\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}`,\n\t\t\t},\n\t\t];\n\t}, [ styles, enableResizing ] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-visual-editor',\n\t\t\t\t// this class is here for backward compatibility reasons.\n\t\t\t\t'edit-post-visual-editor',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'has-padding': isFocusedEntity || enableResizing,\n\t\t\t\t\t'is-resizable': enableResizing,\n\t\t\t\t\t'is-iframed': shouldIframe,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<ResizableEditor\n\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\theight={\n\t\t\t\t\tsizes.height && ! forceFullHeight ? sizes.height : '100%'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ shouldIframe }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\tstyles={ iframeStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tiframeProps={ {\n\t\t\t\t\t\t...iframeProps,\n\t\t\t\t\t\t...zoomOutProps,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t\t\t\t...deviceStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t! isDesignPostType && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".editor-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ postEditorLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ align && <LayoutStyle css={ alignCSS } /> }\n\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ renderingMode === 'post-only' && ! isDesignPostType && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'editor-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t// The following class is only here for backward comapatibility\n\t\t\t\t\t\t\t\t// some themes might be using it to style the post title.\n\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\tref={ observeTypingRef }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// This is using inline styles\n\t\t\t\t\t\t\t\t// so it's applied for both iframed and non iframed editors.\n\t\t\t\t\t\t\t\tmarginTop: '4rem',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'is-' + deviceType.toLowerCase() + '-preview',\n\t\t\t\t\t\t\t\trenderingMode !== 'post-only' ||\n\t\t\t\t\t\t\t\t\tisDesignPostType\n\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t\t\t// When iframed, pass in the html element of the iframe to\n\t\t\t\t\t\t\t\t// ensure the drop zone extends to the edges of the iframe.\n\t\t\t\t\t\t\t\tdisableIframe\n\t\t\t\t\t\t\t\t\t? localRef.current\n\t\t\t\t\t\t\t\t\t: localRef.current?.parentNode\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__unstableDisableDropZone={\n\t\t\t\t\t\t\t\t// In template preview mode, disable drop zones at the root of the template.\n\t\t\t\t\t\t\t\trenderingMode === 'template-locked'\n\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ renderingMode === 'template-locked' && (\n\t\t\t\t\t\t\t<EditTemplateBlocksNotification\n\t\t\t\t\t\t\t\tcontentRef={ localRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t{\n\t\t\t\t\t\t// Avoid resize listeners when not needed,\n\t\t\t\t\t\t// these will trigger unnecessary re-renders\n\t\t\t\t\t\t// when animating the iframe width.\n\t\t\t\t\t\tenableResizing && resizeObserver\n\t\t\t\t\t}\n\t\t\t\t</BlockCanvas>\n\t\t\t</ResizableEditor>\n\t\t</div>\n\t);\n}\n\nexport default VisualEditor;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1161,6 +1161,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
|
|
|
1161
1161
|
.show-icon-labels.interface-pinned-items .components-button.has-icon::after,
|
|
1162
1162
|
.show-icon-labels .editor-header .components-button.has-icon::after {
|
|
1163
1163
|
content: attr(aria-label);
|
|
1164
|
+
white-space: nowrap;
|
|
1164
1165
|
}
|
|
1165
1166
|
.show-icon-labels.interface-pinned-items .components-button.has-icon[aria-disabled=true],
|
|
1166
1167
|
.show-icon-labels .editor-header .components-button.has-icon[aria-disabled=true] {
|
package/build-style/style.css
CHANGED
|
@@ -1161,6 +1161,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
|
|
|
1161
1161
|
.show-icon-labels.interface-pinned-items .components-button.has-icon::after,
|
|
1162
1162
|
.show-icon-labels .editor-header .components-button.has-icon::after {
|
|
1163
1163
|
content: attr(aria-label);
|
|
1164
|
+
white-space: nowrap;
|
|
1164
1165
|
}
|
|
1165
1166
|
.show-icon-labels.interface-pinned-items .components-button.has-icon[aria-disabled=true],
|
|
1166
1167
|
.show-icon-labels .editor-header .components-button.has-icon[aria-disabled=true] {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export default function EditorInterface({ className,
|
|
1
|
+
export default function EditorInterface({ className, styles, children, forceIsDirty, contentRef, disableIframe, autoFocus, customSaveButton, customSavePanel, forceDisableBlockTools, title, iframeProps, }: {
|
|
2
2
|
className: any;
|
|
3
|
-
enableRegionNavigation: any;
|
|
4
3
|
styles: any;
|
|
5
4
|
children: any;
|
|
6
5
|
forceIsDirty: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/editor-interface/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/editor-interface/index.js"],"names":[],"mappings":"AAgDA;;;;;;;;;;;;;gCAgLC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/header/index.js"],"names":[],"mappings":";AA2CA;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/header/index.js"],"names":[],"mappings":";AA2CA;;;;;;;gCAgIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-template-blocks-notification.d.ts","sourceRoot":"","sources":["../../../src/components/visual-editor/edit-template-blocks-notification.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,uEAHG;IAAsD,UAAU,EAAxD,OAAO,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC;CAEhD,
|
|
1
|
+
{"version":3,"file":"edit-template-blocks-notification.d.ts","sourceRoot":"","sources":["../../../src/components/visual-editor/edit-template-blocks-notification.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,uEAHG;IAAsD,UAAU,EAAxD,OAAO,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC;CAEhD,sCAyEA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/visual-editor/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/visual-editor/index.js"],"names":[],"mappings":";AAmGA;;;;;;;gCAiZC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/editor",
|
|
3
|
-
"version": "14.8.
|
|
3
|
+
"version": "14.8.8",
|
|
4
4
|
"description": "Enhanced block editor for WordPress posts.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -35,35 +35,35 @@
|
|
|
35
35
|
"@wordpress/a11y": "^4.8.2",
|
|
36
36
|
"@wordpress/api-fetch": "^7.8.2",
|
|
37
37
|
"@wordpress/blob": "^4.8.1",
|
|
38
|
-
"@wordpress/block-editor": "^14.3.
|
|
38
|
+
"@wordpress/block-editor": "^14.3.6",
|
|
39
39
|
"@wordpress/blocks": "^13.8.4",
|
|
40
|
-
"@wordpress/commands": "^1.8.
|
|
41
|
-
"@wordpress/components": "^28.8.
|
|
40
|
+
"@wordpress/commands": "^1.8.6",
|
|
41
|
+
"@wordpress/components": "^28.8.6",
|
|
42
42
|
"@wordpress/compose": "^7.8.3",
|
|
43
|
-
"@wordpress/core-data": "^7.8.
|
|
43
|
+
"@wordpress/core-data": "^7.8.6",
|
|
44
44
|
"@wordpress/data": "^10.8.3",
|
|
45
|
-
"@wordpress/dataviews": "^4.4.
|
|
45
|
+
"@wordpress/dataviews": "^4.4.6",
|
|
46
46
|
"@wordpress/date": "^5.8.2",
|
|
47
47
|
"@wordpress/deprecated": "^4.8.2",
|
|
48
48
|
"@wordpress/dom": "^4.8.2",
|
|
49
49
|
"@wordpress/element": "^6.8.1",
|
|
50
|
-
"@wordpress/fields": "^0.0.
|
|
50
|
+
"@wordpress/fields": "^0.0.7",
|
|
51
51
|
"@wordpress/hooks": "^4.8.2",
|
|
52
52
|
"@wordpress/html-entities": "^4.8.1",
|
|
53
53
|
"@wordpress/i18n": "^5.8.2",
|
|
54
54
|
"@wordpress/icons": "^10.8.2",
|
|
55
|
-
"@wordpress/interface": "^6.8.
|
|
55
|
+
"@wordpress/interface": "^6.8.6",
|
|
56
56
|
"@wordpress/keyboard-shortcuts": "^5.8.3",
|
|
57
57
|
"@wordpress/keycodes": "^4.8.2",
|
|
58
58
|
"@wordpress/media-utils": "^5.8.2",
|
|
59
59
|
"@wordpress/notices": "^5.8.3",
|
|
60
|
-
"@wordpress/patterns": "^2.8.
|
|
61
|
-
"@wordpress/plugins": "^7.8.
|
|
62
|
-
"@wordpress/preferences": "^4.8.
|
|
60
|
+
"@wordpress/patterns": "^2.8.6",
|
|
61
|
+
"@wordpress/plugins": "^7.8.6",
|
|
62
|
+
"@wordpress/preferences": "^4.8.6",
|
|
63
63
|
"@wordpress/private-apis": "^1.8.1",
|
|
64
|
-
"@wordpress/reusable-blocks": "^5.8.
|
|
64
|
+
"@wordpress/reusable-blocks": "^5.8.6",
|
|
65
65
|
"@wordpress/rich-text": "^7.8.3",
|
|
66
|
-
"@wordpress/server-side-render": "^5.8.
|
|
66
|
+
"@wordpress/server-side-render": "^5.8.6",
|
|
67
67
|
"@wordpress/url": "^4.8.1",
|
|
68
68
|
"@wordpress/warning": "^3.8.1",
|
|
69
69
|
"@wordpress/wordcount": "^4.8.1",
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
"publishConfig": {
|
|
87
87
|
"access": "public"
|
|
88
88
|
},
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "b7af02f8431034ee19cdc33dd105d21705823eed"
|
|
90
90
|
}
|
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
BlockBreadcrumb,
|
|
16
16
|
BlockToolbar,
|
|
17
17
|
} from '@wordpress/block-editor';
|
|
18
|
-
import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
|
|
19
18
|
import { useViewportMatch } from '@wordpress/compose';
|
|
20
19
|
import { useState, useCallback } from '@wordpress/element';
|
|
21
20
|
|
|
@@ -49,7 +48,6 @@ const interfaceLabels = {
|
|
|
49
48
|
|
|
50
49
|
export default function EditorInterface( {
|
|
51
50
|
className,
|
|
52
|
-
enableRegionNavigation,
|
|
53
51
|
styles,
|
|
54
52
|
children,
|
|
55
53
|
forceIsDirty,
|
|
@@ -69,8 +67,6 @@ export default function EditorInterface( {
|
|
|
69
67
|
isListViewOpened,
|
|
70
68
|
isDistractionFree,
|
|
71
69
|
isPreviewMode,
|
|
72
|
-
previousShortcut,
|
|
73
|
-
nextShortcut,
|
|
74
70
|
showBlockBreadcrumbs,
|
|
75
71
|
documentLabel,
|
|
76
72
|
isZoomOut,
|
|
@@ -88,12 +84,6 @@ export default function EditorInterface( {
|
|
|
88
84
|
isListViewOpened: select( editorStore ).isListViewOpened(),
|
|
89
85
|
isDistractionFree: get( 'core', 'distractionFree' ),
|
|
90
86
|
isPreviewMode: editorSettings.__unstableIsPreviewMode,
|
|
91
|
-
previousShortcut: select(
|
|
92
|
-
keyboardShortcutsStore
|
|
93
|
-
).getAllShortcutKeyCombinations( 'core/editor/previous-region' ),
|
|
94
|
-
nextShortcut: select(
|
|
95
|
-
keyboardShortcutsStore
|
|
96
|
-
).getAllShortcutKeyCombinations( 'core/editor/next-region' ),
|
|
97
87
|
showBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),
|
|
98
88
|
// translators: Default label for the Document in the Block Breadcrumb.
|
|
99
89
|
documentLabel: postTypeLabel || _x( 'Document', 'noun' ),
|
|
@@ -121,7 +111,6 @@ export default function EditorInterface( {
|
|
|
121
111
|
|
|
122
112
|
return (
|
|
123
113
|
<InterfaceSkeleton
|
|
124
|
-
enableRegionNavigation={ enableRegionNavigation }
|
|
125
114
|
isDistractionFree={ isDistractionFree }
|
|
126
115
|
className={ clsx( 'editor-editor-interface', className, {
|
|
127
116
|
'is-entity-save-view-open': !! entitiesSavedStatesCallback,
|
|
@@ -231,10 +220,6 @@ export default function EditorInterface( {
|
|
|
231
220
|
)
|
|
232
221
|
: undefined
|
|
233
222
|
}
|
|
234
|
-
shortcuts={ {
|
|
235
|
-
previous: previousShortcut,
|
|
236
|
-
next: nextShortcut,
|
|
237
|
-
} }
|
|
238
223
|
/>
|
|
239
224
|
);
|
|
240
225
|
}
|
|
@@ -57,6 +57,7 @@ function Header( {
|
|
|
57
57
|
isPublishSidebarOpened,
|
|
58
58
|
showIconLabels,
|
|
59
59
|
hasFixedToolbar,
|
|
60
|
+
hasBlockSelection,
|
|
60
61
|
isNestedEntity,
|
|
61
62
|
} = useSelect( ( select ) => {
|
|
62
63
|
const { get: getPreference } = select( preferencesStore );
|
|
@@ -72,6 +73,8 @@ function Header( {
|
|
|
72
73
|
isPublishSidebarOpened: _isPublishSidebarOpened(),
|
|
73
74
|
showIconLabels: getPreference( 'core', 'showIconLabels' ),
|
|
74
75
|
hasFixedToolbar: getPreference( 'core', 'fixedToolbar' ),
|
|
76
|
+
hasBlockSelection:
|
|
77
|
+
!! select( blockEditorStore ).getBlockSelectionStart(),
|
|
75
78
|
isNestedEntity:
|
|
76
79
|
!! getEditorSettings().onNavigateToPreviousEntityRecord,
|
|
77
80
|
isZoomedOutView: __unstableGetEditorMode() === 'zoom-out',
|
|
@@ -81,7 +84,9 @@ function Header( {
|
|
|
81
84
|
const [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] =
|
|
82
85
|
useState( true );
|
|
83
86
|
|
|
84
|
-
const hasCenter =
|
|
87
|
+
const hasCenter =
|
|
88
|
+
( ! hasBlockSelection || isBlockToolsCollapsed ) &&
|
|
89
|
+
! isTooNarrowForDocumentBar;
|
|
85
90
|
const hasBackButton = useHasBackButton();
|
|
86
91
|
|
|
87
92
|
// The edit-post-header classname is only kept for backward compatibilty
|
|
@@ -61,7 +61,11 @@ export default function EditTemplateBlocksNotification( { contentRef } ) {
|
|
|
61
61
|
) {
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
|
|
65
|
+
if ( ! event.defaultPrevented ) {
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
setIsDialogOpen( true );
|
|
68
|
+
}
|
|
65
69
|
};
|
|
66
70
|
|
|
67
71
|
const canvas = contentRef.current;
|
|
@@ -48,6 +48,7 @@ const {
|
|
|
48
48
|
useLayoutStyles,
|
|
49
49
|
ExperimentalBlockCanvas: BlockCanvas,
|
|
50
50
|
useFlashEditableBlocks,
|
|
51
|
+
useZoomOutModeExit,
|
|
51
52
|
} = unlock( blockEditorPrivateApis );
|
|
52
53
|
|
|
53
54
|
/**
|
|
@@ -335,13 +336,14 @@ function VisualEditor( {
|
|
|
335
336
|
useSelectNearestEditableBlock( {
|
|
336
337
|
isEnabled: renderingMode === 'template-locked',
|
|
337
338
|
} ),
|
|
339
|
+
useZoomOutModeExit(),
|
|
338
340
|
] );
|
|
339
341
|
|
|
340
342
|
const zoomOutProps =
|
|
341
343
|
isZoomedOut && ! isTabletViewport
|
|
342
344
|
? {
|
|
343
345
|
scale: 'default',
|
|
344
|
-
frameSize: '
|
|
346
|
+
frameSize: '40px',
|
|
345
347
|
}
|
|
346
348
|
: {};
|
|
347
349
|
|