@wordpress/edit-post 7.18.0 → 7.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/header/index.js +6 -0
- package/build/components/header/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +4 -23
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +9 -3
- package/build/components/layout/index.js.map +1 -1
- package/build/components/start-page-options/index.js +2 -3
- package/build/components/start-page-options/index.js.map +1 -1
- package/build/components/visual-editor/index.js +34 -44
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/editor.js +2 -3
- package/build/editor.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +10 -4
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/store/actions.js +53 -7
- package/build/store/actions.js.map +1 -1
- package/build-module/components/header/index.js +6 -0
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +4 -23
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +9 -3
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/start-page-options/index.js +2 -3
- package/build-module/components/start-page-options/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +35 -45
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/editor.js +2 -3
- package/build-module/editor.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +10 -4
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/store/actions.js +50 -5
- package/build-module/store/actions.js.map +1 -1
- package/build-style/style-rtl.css +94 -8
- package/build-style/style.css +94 -8
- package/package.json +32 -32
- package/src/components/header/index.js +2 -0
- package/src/components/keyboard-shortcut-help-modal/test/index.js +4 -5
- package/src/components/keyboard-shortcuts/index.js +5 -31
- package/src/components/layout/index.js +9 -2
- package/src/components/preferences-modal/test/index.js +35 -8
- package/src/components/start-page-options/index.js +4 -5
- package/src/components/visual-editor/index.js +49 -55
- package/src/components/visual-editor/style.scss +89 -0
- package/src/editor.js +17 -20
- package/src/hooks/commands/use-common-commands.js +10 -1
- package/src/store/actions.js +74 -7
- package/src/store/test/actions.js +75 -0
- package/src/store/test/reducer.js +21 -9
- package/src/style.scss +0 -9
- package/src/components/preferences-modal/test/__snapshots__/index.js.snap +0 -942
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","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","createElement","Fragment","className","flex","tabIndex","width","height","display","name","getPostContentAttributes","blocks","i","length","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","marginLeft","marginRight","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","observeTypingRef","titleRef","current","focus","css","alignCSS","isToBeIframed","__unstableContentRef","div","animate","padding","initial","selector","contentEditable","blockName","uniqueId"],"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { PostTitle, store as editorStore } 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\tmarginLeft: 'auto',\n\t\tmarginRight: 'auto',\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\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 observeTypingRef = useTypingObserver();\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\tconst isToBeIframed =\n\t\t( ( hasV3BlocksOnly || ( isGutenbergPlugin && isBlockBasedTheme ) ) &&\n\t\t\t! hasMetaBoxes ) ||\n\t\tisTemplateMode ||\n\t\tdeviceType === 'Tablet' ||\n\t\tdeviceType === 'Mobile';\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\t'has-inline-canvas': ! isToBeIframed,\n\t\t\t} ) }\n\t\t>\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={ isToBeIframed }\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\tref={ observeTypingRef }\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","PostTitle","store","editorStore","BlockList","BlockTools","blockEditorStore","__unstableUseTypewriter","useTypewriter","__unstableUseTypingObserver","useTypingObserver","__experimentalUseResizeCanvas","useResizeCanvas","useSetting","__experimentalRecursionProvider","RecursionProvider","privateApis","blockEditorPrivateApis","useEffect","useRef","useMemo","__unstableMotion","motion","useSelect","useMergeRefs","parse","blocksStore","coreStore","editPostStore","unlock","LayoutStyle","useLayoutClasses","useLayoutStyles","ExperimentalBlockCanvas","BlockCanvas","isGutenbergPlugin","process","env","IS_GUTENBERG_PLUGIN","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","checkForPostContentAtRootLevel","VisualEditor","styles","deviceType","isWelcomeGuideVisible","isTemplateMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","isBlockBasedTheme","hasV3BlocksOnly","select","isFeatureActive","isEditingTemplate","getEditedPostTemplate","__experimentalGetPreviewDeviceType","getCurrentPostId","getCurrentPostType","getEditorSettings","getBlockTypes","_isTemplateMode","postTypeSlug","_wrapperBlockName","editorSettings","supportsTemplateMode","postType","getPostType","canEditTemplate","canUser","viewable","undefined","__unstableIsBlockBasedTheme","every","type","apiVersion","isCleanNewPost","hasMetaBoxes","hasRootPaddingAwareAlignments","isFocusMode","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","getSettings","disableLayoutStyles","supportsLayout","focusMode","__experimentalFeatures","useRootPaddingAwareAlignments","desktopCanvasStyles","height","width","marginLeft","marginRight","display","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","globalLayoutSettings","previewMode","toLowerCase","animatedStyles","paddingBottom","ref","contentRef","fallbackLayout","newestPostContentAttributes","content","parseableContent","hasPostContentAtRootLevel","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","postEditorLayout","observeTypingRef","titleRef","current","focus","css","alignCSS","isToBeIframed","createElement","__unstableContentRef","className","div","animate","padding","initial","shouldIframe","Fragment","selector","contentEditable","blockName","uniqueId"],"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { PostTitle, store as editorStore } from '@wordpress/editor';\nimport {\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\tuseSetting,\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 {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n} = unlock( blockEditorPrivateApis );\n\nconst isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;\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\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\tconst postTypeSlug = getCurrentPostType();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( postTypeSlug === '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 postType = select( coreStore ).getPostType( postTypeSlug );\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\tpostType?.viewable && supportsTemplateMode && 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\tmarginLeft: 'auto',\n\t\tmarginRight: 'auto',\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( [ ref, useTypewriter() ] );\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 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 = 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 postEditorLayout =\n\t\tblockListLayout?.type === 'default' && ! hasPostContentAtRootLevel\n\t\t\t? fallbackLayout\n\t\t\t: blockListLayout;\n\n\tconst observeTypingRef = useTypingObserver();\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\tconst isToBeIframed =\n\t\t( ( hasV3BlocksOnly || ( isGutenbergPlugin && isBlockBasedTheme ) ) &&\n\t\t\t! hasMetaBoxes ) ||\n\t\tisTemplateMode ||\n\t\tdeviceType === 'Tablet' ||\n\t\tdeviceType === 'Mobile';\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\t'has-inline-canvas': ! isToBeIframed,\n\t\t\t} ) }\n\t\t>\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>\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<BlockCanvas\n\t\t\t\t\t\tshouldIframe={ isToBeIframed }\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\theight=\"100%\"\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={ postEditorLayout }\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\tref={ observeTypingRef }\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</BlockCanvas>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t</BlockTools>\n\t);\n}\n"],"mappings":"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"}
|
package/build-module/editor.js
CHANGED
|
@@ -8,7 +8,6 @@ import { ErrorBoundary, PostLockedModal, store as editorStore, privateApis as ed
|
|
|
8
8
|
import { useMemo } from '@wordpress/element';
|
|
9
9
|
import { SlotFillProvider } from '@wordpress/components';
|
|
10
10
|
import { store as coreStore } from '@wordpress/core-data';
|
|
11
|
-
import { ShortcutProvider } from '@wordpress/keyboard-shortcuts';
|
|
12
11
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
13
12
|
import { CommandMenu } from '@wordpress/commands';
|
|
14
13
|
import { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';
|
|
@@ -135,7 +134,7 @@ function Editor({
|
|
|
135
134
|
if (!post) {
|
|
136
135
|
return null;
|
|
137
136
|
}
|
|
138
|
-
return createElement(
|
|
137
|
+
return createElement(SlotFillProvider, null, createElement(ExperimentalEditorProvider, {
|
|
139
138
|
settings: editorSettings,
|
|
140
139
|
post: post,
|
|
141
140
|
initialEdits: initialEdits,
|
|
@@ -144,7 +143,7 @@ function Editor({
|
|
|
144
143
|
...props
|
|
145
144
|
}, createElement(ErrorBoundary, null, createElement(CommandMenu, null), createElement(EditorInitialization, {
|
|
146
145
|
postId: postId
|
|
147
|
-
}), createElement(Layout, null)), createElement(PostLockedModal, null)))
|
|
146
|
+
}), createElement(Layout, null)), createElement(PostLockedModal, null)));
|
|
148
147
|
}
|
|
149
148
|
export default Editor;
|
|
150
149
|
//# sourceMappingURL=editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","blocksStore","useSelect","useDispatch","ErrorBoundary","PostLockedModal","editorStore","privateApis","editorPrivateApis","useMemo","SlotFillProvider","coreStore","ShortcutProvider","preferencesStore","CommandMenu","coreCommandsPrivateApis","Layout","EditorInitialization","editPostStore","unlock","useCommonCommands","ExperimentalEditorProvider","useCommands","Editor","postId","postType","settings","initialEdits","props","hasFixedToolbar","focusMode","isDistractionFree","hasInlineToolbar","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","keepCaretInsideBlock","isTemplateMode","template","select","_getPostType$viewable","isFeatureActive","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","createElement","useSubRegistry","__unstableTemplate","undefined"],"sources":["@wordpress/edit-post/src/editor.js"],"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 './lock-unlock';\nimport useCommonCommands from './hooks/commands/use-common-commands';\n\nconst { ExperimentalEditorProvider } = unlock( editorPrivateApis );\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\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\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: isFeatureActive( 'fixedToolbar' ),\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\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\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 />\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["store","blocksStore","useSelect","useDispatch","ErrorBoundary","PostLockedModal","editorStore","privateApis","editorPrivateApis","useMemo","SlotFillProvider","coreStore","preferencesStore","CommandMenu","coreCommandsPrivateApis","Layout","EditorInitialization","editPostStore","unlock","useCommonCommands","ExperimentalEditorProvider","useCommands","Editor","postId","postType","settings","initialEdits","props","hasFixedToolbar","focusMode","isDistractionFree","hasInlineToolbar","post","preferredStyleVariations","hiddenBlockTypes","blockTypes","keepCaretInsideBlock","isTemplateMode","template","select","_getPostType$viewable","isFeatureActive","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","createElement","useSubRegistry","__unstableTemplate","undefined"],"sources":["@wordpress/edit-post/src/editor.js"],"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 { 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 { 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\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\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: isFeatureActive( 'fixedToolbar' ),\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\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\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<ExperimentalEditorProvider\n\t\t\t\tsettings={ editorSettings }\n\t\t\t\tpost={ post }\n\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t__unstableTemplate={ isTemplateMode ? template : undefined }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t<CommandMenu />\n\t\t\t\t\t<EditorInitialization postId={ postId } />\n\t\t\t\t\t<Layout />\n\t\t\t\t</ErrorBoundary>\n\t\t\t\t<PostLockedModal />\n\t\t\t</ExperimentalEditorProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Editor;\n"],"mappings":"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"}
|
|
@@ -21,7 +21,8 @@ export default function useCommonCommands() {
|
|
|
21
21
|
openGeneralSidebar,
|
|
22
22
|
closeGeneralSidebar,
|
|
23
23
|
switchEditorMode,
|
|
24
|
-
setIsListViewOpened
|
|
24
|
+
setIsListViewOpened,
|
|
25
|
+
toggleDistractionFree
|
|
25
26
|
} = useDispatch(editPostStore);
|
|
26
27
|
const {
|
|
27
28
|
openModal
|
|
@@ -31,7 +32,8 @@ export default function useCommonCommands() {
|
|
|
31
32
|
activeSidebar,
|
|
32
33
|
isListViewOpen,
|
|
33
34
|
isPublishSidebarEnabled,
|
|
34
|
-
showBlockBreadcrumbs
|
|
35
|
+
showBlockBreadcrumbs,
|
|
36
|
+
isDistractionFree
|
|
35
37
|
} = useSelect(select => {
|
|
36
38
|
const {
|
|
37
39
|
getEditorMode,
|
|
@@ -43,7 +45,8 @@ export default function useCommonCommands() {
|
|
|
43
45
|
editorMode: getEditorMode(),
|
|
44
46
|
isListViewOpen: isListViewOpened(),
|
|
45
47
|
isPublishSidebarEnabled: select(editorStore).isPublishSidebarEnabled(),
|
|
46
|
-
showBlockBreadcrumbs: isFeatureActive('showBlockBreadcrumbs')
|
|
48
|
+
showBlockBreadcrumbs: isFeatureActive('showBlockBreadcrumbs'),
|
|
49
|
+
isDistractionFree: select(preferencesStore).get(editPostStore.name, 'distractionFree')
|
|
47
50
|
};
|
|
48
51
|
}, []);
|
|
49
52
|
const {
|
|
@@ -94,7 +97,7 @@ export default function useCommonCommands() {
|
|
|
94
97
|
callback: ({
|
|
95
98
|
close
|
|
96
99
|
}) => {
|
|
97
|
-
|
|
100
|
+
toggleDistractionFree();
|
|
98
101
|
close();
|
|
99
102
|
}
|
|
100
103
|
});
|
|
@@ -137,6 +140,9 @@ export default function useCommonCommands() {
|
|
|
137
140
|
close
|
|
138
141
|
}) => {
|
|
139
142
|
toggle('core/edit-post', 'fixedToolbar');
|
|
143
|
+
if (isDistractionFree) {
|
|
144
|
+
toggleDistractionFree();
|
|
145
|
+
}
|
|
140
146
|
close();
|
|
141
147
|
}
|
|
142
148
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","__","isRTL","code","drawerLeft","drawerRight","blockDefault","keyboard","desktop","listView","external","formatListBullets","useCommand","store","preferencesStore","interfaceStore","editorStore","noticesStore","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","PREFERENCES_MODAL_NAME","editPostStore","useCommonCommands","openGeneralSidebar","closeGeneralSidebar","switchEditorMode","setIsListViewOpened","openModal","editorMode","activeSidebar","isListViewOpen","isPublishSidebarEnabled","showBlockBreadcrumbs","select","getEditorMode","isListViewOpened","isFeatureActive","getActiveComplementaryArea","name","toggle","createInfoNotice","__unstableSaveForPreview","getCurrentPostId","label","icon","callback","close","id","type","postId","link","window","open"],"sources":["@wordpress/edit-post/src/hooks/commands/use-common-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tcode,\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tkeyboard,\n\tdesktop,\n\tlistView,\n\texternal,\n\tformatListBullets,\n} from '@wordpress/icons';\nimport { useCommand } from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { store as editPostStore } from '../../store';\n\nexport default function useCommonCommands() {\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\tswitchEditorMode,\n\t\tsetIsListViewOpened,\n\t} = useDispatch( editPostStore );\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst {\n\t\teditorMode,\n\t\tactiveSidebar,\n\t\tisListViewOpen,\n\t\tisPublishSidebarEnabled,\n\t\tshowBlockBreadcrumbs,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorMode, isListViewOpened, isFeatureActive } =\n\t\t\tselect( editPostStore );\n\t\treturn {\n\t\t\tactiveSidebar: select( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditPostStore.name\n\t\t\t),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisPublishSidebarEnabled:\n\t\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\t\tshowBlockBreadcrumbs: isFeatureActive( 'showBlockBreadcrumbs' ),\n\t\t};\n\t}, [] );\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { __unstableSaveForPreview } = useDispatch( editorStore );\n\tconst { getCurrentPostId } = useSelect( editorStore );\n\n\tuseCommand( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/document' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/document' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/block' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/block' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-distraction-free',\n\t\tlabel: __( 'Toggle distraction free' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'distractionFree' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-spotlight-mode',\n\t\tlabel: __( 'Toggle spotlight mode' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'focusMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-fullscreen-mode',\n\t\tlabel: __( 'Toggle fullscreen mode' ),\n\t\ticon: desktop,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'fullscreenMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-list-view',\n\t\tlabel: __( 'Toggle list view' ),\n\t\ticon: listView,\n\t\tcallback: ( { close } ) => {\n\t\t\tsetIsListViewOpened( ! isListViewOpen );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-top-toolbar',\n\t\tlabel: __( 'Toggle top toolbar' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'fixedToolbar' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-code-editor',\n\t\tlabel: __( 'Toggle code editor' ),\n\t\ticon: code,\n\t\tcallback: ( { close } ) => {\n\t\t\tswitchEditorMode( editorMode === 'visual' ? 'text' : 'visual' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Editor preferences' ),\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Keyboard shortcuts' ),\n\t\ticon: keyboard,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-breadcrumbs',\n\t\tlabel: showBlockBreadcrumbs\n\t\t\t? __( 'Hide block breadcrumbs' )\n\t\t\t: __( 'Show block breadcrumbs' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'showBlockBreadcrumbs' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tshowBlockBreadcrumbs\n\t\t\t\t\t? __( 'Breadcrumbs hidden.' )\n\t\t\t\t\t: __( 'Breadcrumbs visible.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/toggle-breadcrumbs/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-publish-sidebar',\n\t\tlabel: isPublishSidebarEnabled\n\t\t\t? __( 'Disable pre-publish checklist' )\n\t\t\t: __( 'Enable pre-publish checklist' ),\n\t\ticon: formatListBullets,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\ttoggle( 'core/edit-post', 'isPublishSidebarEnabled' );\n\t\t\tcreateInfoNotice(\n\t\t\t\tisPublishSidebarEnabled\n\t\t\t\t\t? __( 'Pre-publish checklist off.' )\n\t\t\t\t\t: __( 'Pre-publish checklist on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/publish-sidebar/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/preview-link',\n\t\tlabel: __( 'Preview in a new tab' ),\n\t\ticon: external,\n\t\tcallback: async ( { close } ) => {\n\t\t\tclose();\n\t\t\tconst postId = getCurrentPostId();\n\t\t\tconst link = await __unstableSaveForPreview();\n\t\t\twindow.open( link, `wp-preview-${ postId }` );\n\t\t},\n\t} );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","__","isRTL","code","drawerLeft","drawerRight","blockDefault","keyboard","desktop","listView","external","formatListBullets","useCommand","store","preferencesStore","interfaceStore","editorStore","noticesStore","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","PREFERENCES_MODAL_NAME","editPostStore","useCommonCommands","openGeneralSidebar","closeGeneralSidebar","switchEditorMode","setIsListViewOpened","toggleDistractionFree","openModal","editorMode","activeSidebar","isListViewOpen","isPublishSidebarEnabled","showBlockBreadcrumbs","isDistractionFree","select","getEditorMode","isListViewOpened","isFeatureActive","getActiveComplementaryArea","name","get","toggle","createInfoNotice","__unstableSaveForPreview","getCurrentPostId","label","icon","callback","close","id","type","postId","link","window","open"],"sources":["@wordpress/edit-post/src/hooks/commands/use-common-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tcode,\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tkeyboard,\n\tdesktop,\n\tlistView,\n\texternal,\n\tformatListBullets,\n} from '@wordpress/icons';\nimport { useCommand } from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { store as editPostStore } from '../../store';\n\nexport default function useCommonCommands() {\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\tswitchEditorMode,\n\t\tsetIsListViewOpened,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editPostStore );\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst {\n\t\teditorMode,\n\t\tactiveSidebar,\n\t\tisListViewOpen,\n\t\tisPublishSidebarEnabled,\n\t\tshowBlockBreadcrumbs,\n\t\tisDistractionFree,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorMode, isListViewOpened, isFeatureActive } =\n\t\t\tselect( editPostStore );\n\t\treturn {\n\t\t\tactiveSidebar: select( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditPostStore.name\n\t\t\t),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisPublishSidebarEnabled:\n\t\t\t\tselect( editorStore ).isPublishSidebarEnabled(),\n\t\t\tshowBlockBreadcrumbs: isFeatureActive( 'showBlockBreadcrumbs' ),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\teditPostStore.name,\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { __unstableSaveForPreview } = useDispatch( editorStore );\n\tconst { getCurrentPostId } = useSelect( editorStore );\n\n\tuseCommand( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/document' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/document' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-post/block' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-post/block' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-distraction-free',\n\t\tlabel: __( 'Toggle distraction free' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggleDistractionFree();\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-spotlight-mode',\n\t\tlabel: __( 'Toggle spotlight mode' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'focusMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-fullscreen-mode',\n\t\tlabel: __( 'Toggle fullscreen mode' ),\n\t\ticon: desktop,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'fullscreenMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-list-view',\n\t\tlabel: __( 'Toggle list view' ),\n\t\ticon: listView,\n\t\tcallback: ( { close } ) => {\n\t\t\tsetIsListViewOpened( ! isListViewOpen );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-top-toolbar',\n\t\tlabel: __( 'Toggle top toolbar' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'fixedToolbar' );\n\t\t\tif ( isDistractionFree ) {\n\t\t\t\ttoggleDistractionFree();\n\t\t\t}\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-code-editor',\n\t\tlabel: __( 'Toggle code editor' ),\n\t\ticon: code,\n\t\tcallback: ( { close } ) => {\n\t\t\tswitchEditorMode( editorMode === 'visual' ? 'text' : 'visual' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Editor preferences' ),\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Keyboard shortcuts' ),\n\t\ticon: keyboard,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-breadcrumbs',\n\t\tlabel: showBlockBreadcrumbs\n\t\t\t? __( 'Hide block breadcrumbs' )\n\t\t\t: __( 'Show block breadcrumbs' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-post', 'showBlockBreadcrumbs' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tshowBlockBreadcrumbs\n\t\t\t\t\t? __( 'Breadcrumbs hidden.' )\n\t\t\t\t\t: __( 'Breadcrumbs visible.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/toggle-breadcrumbs/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/toggle-publish-sidebar',\n\t\tlabel: isPublishSidebarEnabled\n\t\t\t? __( 'Disable pre-publish checklist' )\n\t\t\t: __( 'Enable pre-publish checklist' ),\n\t\ticon: formatListBullets,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\ttoggle( 'core/edit-post', 'isPublishSidebarEnabled' );\n\t\t\tcreateInfoNotice(\n\t\t\t\tisPublishSidebarEnabled\n\t\t\t\t\t? __( 'Pre-publish checklist off.' )\n\t\t\t\t\t: __( 'Pre-publish checklist on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-post/publish-sidebar/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tuseCommand( {\n\t\tname: 'core/preview-link',\n\t\tlabel: __( 'Preview in a new tab' ),\n\t\ticon: external,\n\t\tcallback: async ( { close } ) => {\n\t\t\tclose();\n\t\t\tconst postId = getCurrentPostId();\n\t\t\tconst link = await __unstableSaveForPreview();\n\t\t\twindow.open( link, `wp-preview-${ postId }` );\n\t\t},\n\t} );\n}\n"],"mappings":"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"}
|
|
@@ -25,8 +25,15 @@ import { store as editPostStore } from '.';
|
|
|
25
25
|
* @param {?string} name Sidebar name to be opened.
|
|
26
26
|
*/
|
|
27
27
|
export const openGeneralSidebar = name => ({
|
|
28
|
+
dispatch,
|
|
28
29
|
registry
|
|
29
|
-
}) =>
|
|
30
|
+
}) => {
|
|
31
|
+
const isDistractionFree = registry.select(preferencesStore).get('core/edit-post', 'distractionFree');
|
|
32
|
+
if (isDistractionFree) {
|
|
33
|
+
dispatch.toggleDistractionFree();
|
|
34
|
+
}
|
|
35
|
+
registry.dispatch(interfaceStore).enableComplementaryArea(editPostStore.name, name);
|
|
36
|
+
};
|
|
30
37
|
|
|
31
38
|
/**
|
|
32
39
|
* Returns an action object signalling that the user closed the sidebar.
|
|
@@ -184,6 +191,7 @@ export const toggleFeature = feature => ({
|
|
|
184
191
|
* @param {string} mode The editor mode.
|
|
185
192
|
*/
|
|
186
193
|
export const switchEditorMode = mode => ({
|
|
194
|
+
dispatch,
|
|
187
195
|
registry
|
|
188
196
|
}) => {
|
|
189
197
|
registry.dispatch(preferencesStore).set('core/edit-post', 'editorMode', mode);
|
|
@@ -192,6 +200,9 @@ export const switchEditorMode = mode => ({
|
|
|
192
200
|
if (mode !== 'visual') {
|
|
193
201
|
registry.dispatch(blockEditorStore).clearSelectedBlock();
|
|
194
202
|
}
|
|
203
|
+
if (mode === 'text' && registry.select(preferencesStore).get('core/edit-post', 'distractionFree')) {
|
|
204
|
+
dispatch.toggleDistractionFree();
|
|
205
|
+
}
|
|
195
206
|
const message = mode === 'visual' ? __('Visual editor selected') : __('Code editor selected');
|
|
196
207
|
speak(message, 'assertive');
|
|
197
208
|
};
|
|
@@ -389,12 +400,19 @@ export function setIsInserterOpened(value) {
|
|
|
389
400
|
* @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.
|
|
390
401
|
* @return {Object} Action object.
|
|
391
402
|
*/
|
|
392
|
-
export
|
|
393
|
-
|
|
403
|
+
export const setIsListViewOpened = isOpen => ({
|
|
404
|
+
dispatch,
|
|
405
|
+
registry
|
|
406
|
+
}) => {
|
|
407
|
+
const isDistractionFree = registry.select(preferencesStore).get('core/edit-post', 'distractionFree');
|
|
408
|
+
if (isDistractionFree && isOpen) {
|
|
409
|
+
dispatch.toggleDistractionFree();
|
|
410
|
+
}
|
|
411
|
+
dispatch({
|
|
394
412
|
type: 'SET_IS_LIST_VIEW_OPENED',
|
|
395
413
|
isOpen
|
|
396
|
-
};
|
|
397
|
-
}
|
|
414
|
+
});
|
|
415
|
+
};
|
|
398
416
|
|
|
399
417
|
/**
|
|
400
418
|
* Returns an action object used to switch to template editing.
|
|
@@ -481,4 +499,31 @@ export const initializeMetaBoxes = () => ({
|
|
|
481
499
|
type: 'META_BOXES_INITIALIZED'
|
|
482
500
|
});
|
|
483
501
|
};
|
|
502
|
+
|
|
503
|
+
/**
|
|
504
|
+
* Action that toggles Distraction free mode.
|
|
505
|
+
* Distraction free mode expects there are no sidebars, as due to the
|
|
506
|
+
* z-index values set, you can't close sidebars.
|
|
507
|
+
*/
|
|
508
|
+
export const toggleDistractionFree = () => ({
|
|
509
|
+
dispatch,
|
|
510
|
+
registry
|
|
511
|
+
}) => {
|
|
512
|
+
const isDistractionFree = registry.select(preferencesStore).get('core/edit-post', 'distractionFree');
|
|
513
|
+
if (!isDistractionFree) {
|
|
514
|
+
registry.batch(() => {
|
|
515
|
+
registry.dispatch(preferencesStore).set('core/edit-post', 'fixedToolbar', false);
|
|
516
|
+
dispatch.setIsInserterOpened(false);
|
|
517
|
+
dispatch.setIsListViewOpened(false);
|
|
518
|
+
dispatch.closeGeneralSidebar();
|
|
519
|
+
});
|
|
520
|
+
}
|
|
521
|
+
registry.batch(() => {
|
|
522
|
+
registry.dispatch(preferencesStore).set('core/edit-post', 'distractionFree', !isDistractionFree);
|
|
523
|
+
registry.dispatch(noticesStore).createInfoNotice(isDistractionFree ? __('Distraction free off.') : __('Distraction free on.'), {
|
|
524
|
+
id: 'core/edit-post/distraction-free-mode/notice',
|
|
525
|
+
type: 'snackbar'
|
|
526
|
+
});
|
|
527
|
+
});
|
|
528
|
+
};
|
|
484
529
|
//# sourceMappingURL=actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","apiFetch","store","interfaceStore","preferencesStore","speak","noticesStore","coreStore","blockEditorStore","editorStore","deprecated","addFilter","getMetaBoxContainer","editPostStore","openGeneralSidebar","name","registry","dispatch","enableComplementaryArea","closeGeneralSidebar","disableComplementaryArea","openModal","since","alternative","closeModal","openPublishSidebar","type","closePublishSidebar","togglePublishSidebar","toggleEditorPanelEnabled","panelName","_registry$select$get","inactivePanels","select","get","isPanelInactive","includes","updatedInactivePanels","filter","invactivePanelName","set","toggleEditorPanelOpened","_registry$select$get2","openPanels","isPanelOpen","updatedOpenPanels","openPanelName","removeEditorPanel","toggleFeature","feature","toggle","switchEditorMode","mode","clearSelectedBlock","message","togglePinnedPluginItem","pluginName","isPinned","isItemPinned","updatePreferredStyleVariations","blockName","blockStyle","_registry$select$get3","existingVariations","updatedVariations","showBlockTypes","blockNames","_registry$select$get4","existingBlockNames","newBlockNames","Array","isArray","hideBlockTypes","_registry$select$get5","mergedBlockNames","Set","setAvailableMetaBoxesPerLocation","metaBoxesPerLocation","requestMetaBoxUpdates","window","tinyMCE","triggerSave","post","getCurrentPost","additionalData","comment_status","ping_status","sticky","author","Boolean","baseFormData","FormData","document","querySelector","activeMetaBoxLocations","getActiveMetaBoxLocations","formDataToMerge","map","location","formData","reduce","memo","currentFormData","key","value","append","forEach","url","_wpMetaBoxUrl","method","body","parse","metaBoxUpdatesSuccess","metaBoxUpdatesFailure","__experimentalSetPreviewDeviceType","deviceType","setIsInserterOpened","setIsListViewOpened","isOpen","setIsEditingTemplate","__unstableSwitchToTemplateMode","newTemplate","isWelcomeGuideActive","isFeatureActive","createSuccessNotice","__unstableCreateTemplate","template","savedTemplate","saveEntityRecord","editEntityRecord","id","slug","metaBoxesInitialized","initializeMetaBoxes","isEditorReady","__unstableIsEditorReady","postType","getCurrentPostType","postboxes","page","add_postbox_toggles","previous","options","then","isAutosave","hasMetaBoxes"],"sources":["@wordpress/edit-post/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport deprecated from '@wordpress/deprecated';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { getMetaBoxContainer } from '../utils/meta-boxes';\nimport { store as editPostStore } from '.';\n\n/**\n * Returns an action object used in signalling that the user opened an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar =\n\t( name ) =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.enableComplementaryArea( editPostStore.name, name );\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editPostStore.name );\n\n/**\n * Returns an action object used in signalling that the user opened a modal.\n *\n * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.\n *\n *\n * @param {string} name A string that uniquely identifies the modal.\n *\n * @return {Object} Action object.\n */\nexport const openModal =\n\t( name ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"select( 'core/edit-post' ).openModal( name )\", {\n\t\t\tsince: '6.3',\n\t\t\talternative: \"select( 'core/interface').openModal( name )\",\n\t\t} );\n\t\treturn registry.dispatch( interfaceStore ).openModal( name );\n\t};\n\n/**\n * Returns an action object signalling that the user closed a modal.\n *\n * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.\n *\n * @return {Object} Action object.\n */\nexport const closeModal =\n\t() =>\n\t( { registry } ) => {\n\t\tdeprecated( \"select( 'core/edit-post' ).closeModal()\", {\n\t\t\tsince: '6.3',\n\t\t\talternative: \"select( 'core/interface').closeModal()\",\n\t\t} );\n\t\treturn registry.dispatch( interfaceStore ).closeModal();\n\t};\n\n/**\n * Returns an action object used in signalling that the user opened the publish\n * sidebar.\n *\n * @return {Object} Action object\n */\nexport function openPublishSidebar() {\n\treturn {\n\t\ttype: 'OPEN_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user closed the\n * publish sidebar.\n *\n * @return {Object} Action object.\n */\nexport function closePublishSidebar() {\n\treturn {\n\t\ttype: 'CLOSE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user toggles the publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function togglePublishSidebar() {\n\treturn {\n\t\ttype: 'TOGGLE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used to enable or disable a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to enable or disable.\n *\n * @return {Object} Action object.\n */\nexport const toggleEditorPanelEnabled =\n\t( panelName ) =>\n\t( { registry } ) => {\n\t\tconst inactivePanels =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'inactivePanels' ) ?? [];\n\n\t\tconst isPanelInactive = !! inactivePanels?.includes( panelName );\n\n\t\t// If the panel is inactive, remove it to enable it, else add it to\n\t\t// make it inactive.\n\t\tlet updatedInactivePanels;\n\t\tif ( isPanelInactive ) {\n\t\t\tupdatedInactivePanels = inactivePanels.filter(\n\t\t\t\t( invactivePanelName ) => invactivePanelName !== panelName\n\t\t\t);\n\t\t} else {\n\t\t\tupdatedInactivePanels = [ ...inactivePanels, panelName ];\n\t\t}\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'inactivePanels', updatedInactivePanels );\n\t};\n\n/**\n * Opens a closed panel and closes an open panel.\n *\n * @param {string} panelName A string that identifies the panel to open or close.\n */\nexport const toggleEditorPanelOpened =\n\t( panelName ) =>\n\t( { registry } ) => {\n\t\tconst openPanels =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'openPanels' ) ?? [];\n\n\t\tconst isPanelOpen = !! openPanels?.includes( panelName );\n\n\t\t// If the panel is open, remove it to close it, else add it to\n\t\t// make it open.\n\t\tlet updatedOpenPanels;\n\t\tif ( isPanelOpen ) {\n\t\t\tupdatedOpenPanels = openPanels.filter(\n\t\t\t\t( openPanelName ) => openPanelName !== panelName\n\t\t\t);\n\t\t} else {\n\t\t\tupdatedOpenPanels = [ ...openPanels, panelName ];\n\t\t}\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'openPanels', updatedOpenPanels );\n\t};\n\n/**\n * Returns an action object used to remove a panel from the editor.\n *\n * @param {string} panelName A string that identifies the panel to remove.\n *\n * @return {Object} Action object.\n */\nexport function removeEditorPanel( panelName ) {\n\treturn {\n\t\ttype: 'REMOVE_PANEL',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Triggers an action used to toggle a feature flag.\n *\n * @param {string} feature Feature name.\n */\nexport const toggleFeature =\n\t( feature ) =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.toggle( 'core/edit-post', feature );\n\n/**\n * Triggers an action used to switch editor mode.\n *\n * @param {string} mode The editor mode.\n */\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'editorMode', mode );\n\n\t\t// Unselect blocks when we switch to the code editor.\n\t\tif ( mode !== 'visual' ) {\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t}\n\n\t\tconst message =\n\t\t\tmode === 'visual'\n\t\t\t\t? __( 'Visual editor selected' )\n\t\t\t\t: __( 'Code editor selected' );\n\t\tspeak( message, 'assertive' );\n\t};\n\n/**\n * Triggers an action object used to toggle a plugin name flag.\n *\n * @param {string} pluginName Plugin name.\n */\nexport const togglePinnedPluginItem =\n\t( pluginName ) =>\n\t( { registry } ) => {\n\t\tconst isPinned = registry\n\t\t\t.select( interfaceStore )\n\t\t\t.isItemPinned( 'core/edit-post', pluginName );\n\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t[ isPinned ? 'unpinItem' : 'pinItem' ](\n\t\t\t\t'core/edit-post',\n\t\t\t\tpluginName\n\t\t\t);\n\t};\n\n/**\n * Returns an action object used in signaling that a style should be auto-applied when a block is created.\n *\n * @param {string} blockName Name of the block.\n * @param {?string} blockStyle Name of the style that should be auto applied. If undefined, the \"auto apply\" setting of the block is removed.\n */\nexport const updatePreferredStyleVariations =\n\t( blockName, blockStyle ) =>\n\t( { registry } ) => {\n\t\tif ( ! blockName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst existingVariations =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'preferredStyleVariations' ) ?? {};\n\n\t\t// When the blockStyle is omitted, remove the block's preferred variation.\n\t\tif ( ! blockStyle ) {\n\t\t\tconst updatedVariations = {\n\t\t\t\t...existingVariations,\n\t\t\t};\n\n\t\t\tdelete updatedVariations[ blockName ];\n\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations',\n\t\t\t\t\tupdatedVariations\n\t\t\t\t);\n\t\t} else {\n\t\t\t// Else add the variation.\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set( 'core/edit-post', 'preferredStyleVariations', {\n\t\t\t\t\t...existingVariations,\n\t\t\t\t\t[ blockName ]: blockStyle,\n\t\t\t\t} );\n\t\t}\n\t};\n\n/**\n * Update the provided block types to be visible.\n *\n * @param {string[]} blockNames Names of block types to show.\n */\nexport const showBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst newBlockNames = existingBlockNames.filter(\n\t\t\t( type ) =>\n\t\t\t\t! (\n\t\t\t\t\tArray.isArray( blockNames ) ? blockNames : [ blockNames ]\n\t\t\t\t).includes( type )\n\t\t);\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'hiddenBlockTypes', newBlockNames );\n\t};\n\n/**\n * Update the provided block types to be hidden.\n *\n * @param {string[]} blockNames Names of block types to hide.\n */\nexport const hideBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst mergedBlockNames = new Set( [\n\t\t\t...existingBlockNames,\n\t\t\t...( Array.isArray( blockNames ) ? blockNames : [ blockNames ] ),\n\t\t] );\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'hiddenBlockTypes', [\n\t\t\t\t...mergedBlockNames,\n\t\t\t] );\n\t};\n\n/**\n * Stores info about which Meta boxes are available in which location.\n *\n * @param {Object} metaBoxesPerLocation Meta boxes per location.\n */\nexport function setAvailableMetaBoxesPerLocation( metaBoxesPerLocation ) {\n\treturn {\n\t\ttype: 'SET_META_BOXES_PER_LOCATIONS',\n\t\tmetaBoxesPerLocation,\n\t};\n}\n\n/**\n * Update a metabox.\n */\nexport const requestMetaBoxUpdates =\n\t() =>\n\tasync ( { registry, select, dispatch } ) => {\n\t\tdispatch( {\n\t\t\ttype: 'REQUEST_META_BOX_UPDATES',\n\t\t} );\n\n\t\t// Saves the wp_editor fields.\n\t\tif ( window.tinyMCE ) {\n\t\t\twindow.tinyMCE.triggerSave();\n\t\t}\n\n\t\t// Additional data needed for backward compatibility.\n\t\t// If we do not provide this data, the post will be overridden with the default values.\n\t\tconst post = registry.select( editorStore ).getCurrentPost();\n\t\tconst additionalData = [\n\t\t\tpost.comment_status\n\t\t\t\t? [ 'comment_status', post.comment_status ]\n\t\t\t\t: false,\n\t\t\tpost.ping_status ? [ 'ping_status', post.ping_status ] : false,\n\t\t\tpost.sticky ? [ 'sticky', post.sticky ] : false,\n\t\t\tpost.author ? [ 'post_author', post.author ] : false,\n\t\t].filter( Boolean );\n\n\t\t// We gather all the metaboxes locations data and the base form data.\n\t\tconst baseFormData = new window.FormData(\n\t\t\tdocument.querySelector( '.metabox-base-form' )\n\t\t);\n\t\tconst activeMetaBoxLocations = select.getActiveMetaBoxLocations();\n\t\tconst formDataToMerge = [\n\t\t\tbaseFormData,\n\t\t\t...activeMetaBoxLocations.map(\n\t\t\t\t( location ) =>\n\t\t\t\t\tnew window.FormData( getMetaBoxContainer( location ) )\n\t\t\t),\n\t\t];\n\n\t\t// Merge all form data objects into a single one.\n\t\tconst formData = formDataToMerge.reduce( ( memo, currentFormData ) => {\n\t\t\tfor ( const [ key, value ] of currentFormData ) {\n\t\t\t\tmemo.append( key, value );\n\t\t\t}\n\t\t\treturn memo;\n\t\t}, new window.FormData() );\n\t\tadditionalData.forEach( ( [ key, value ] ) =>\n\t\t\tformData.append( key, value )\n\t\t);\n\n\t\ttry {\n\t\t\t// Save the metaboxes.\n\t\t\tawait apiFetch( {\n\t\t\t\turl: window._wpMetaBoxUrl,\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: formData,\n\t\t\t\tparse: false,\n\t\t\t} );\n\t\t\tdispatch.metaBoxUpdatesSuccess();\n\t\t} catch {\n\t\t\tdispatch.metaBoxUpdatesFailure();\n\t\t}\n\t};\n\n/**\n * Returns an action object used to signal a successful meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesSuccess() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_SUCCESS',\n\t};\n}\n\n/**\n * Returns an action object used to signal a failed meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesFailure() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_FAILURE',\n\t};\n}\n\n/**\n * Returns an action object used to toggle the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n * @return {Object} Action object.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object used to switch to template editing.\n *\n * @param {boolean} value Is editing template.\n * @return {Object} Action object.\n */\nexport function setIsEditingTemplate( value ) {\n\treturn {\n\t\ttype: 'SET_IS_EDITING_TEMPLATE',\n\t\tvalue,\n\t};\n}\n\n/**\n * Switches to the template mode.\n *\n * @param {boolean} newTemplate Is new template.\n */\nexport const __unstableSwitchToTemplateMode =\n\t( newTemplate = false ) =>\n\t( { registry, select, dispatch } ) => {\n\t\tdispatch( setIsEditingTemplate( true ) );\n\t\tconst isWelcomeGuideActive = select.isFeatureActive(\n\t\t\t'welcomeGuideTemplate'\n\t\t);\n\t\tif ( ! isWelcomeGuideActive ) {\n\t\t\tconst message = newTemplate\n\t\t\t\t? __( \"Custom template created. You're in template mode now.\" )\n\t\t\t\t: __(\n\t\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t\t );\n\t\t\tregistry.dispatch( noticesStore ).createSuccessNotice( message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const __unstableCreateTemplate =\n\t( template ) =>\n\tasync ( { registry } ) => {\n\t\tconst savedTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\t\tconst post = registry.select( editorStore ).getCurrentPost();\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\ttemplate: savedTemplate.slug,\n\t\t\t} );\n\t};\n\nlet metaBoxesInitialized = false;\n\n/**\n * Initializes WordPress `postboxes` script and the logic for saving meta boxes.\n */\nexport const initializeMetaBoxes =\n\t() =>\n\t( { registry, select, dispatch } ) => {\n\t\tconst isEditorReady = registry\n\t\t\t.select( editorStore )\n\t\t\t.__unstableIsEditorReady();\n\n\t\tif ( ! isEditorReady ) {\n\t\t\treturn;\n\t\t}\n\t\t// Only initialize once.\n\t\tif ( metaBoxesInitialized ) {\n\t\t\treturn;\n\t\t}\n\t\tconst postType = registry.select( editorStore ).getCurrentPostType();\n\t\tif ( window.postboxes.page !== postType ) {\n\t\t\twindow.postboxes.add_postbox_toggles( postType );\n\t\t}\n\n\t\tmetaBoxesInitialized = true;\n\n\t\t// Save metaboxes on save completion, except for autosaves.\n\t\taddFilter(\n\t\t\t'editor.__unstableSavePost',\n\t\t\t'core/edit-post/save-metaboxes',\n\t\t\t( previous, options ) =>\n\t\t\t\tprevious.then( () => {\n\t\t\t\t\tif ( options.isAutosave ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! select.hasMetaBoxes() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn dispatch.requestMetaBoxUpdates();\n\t\t\t\t} )\n\t\t);\n\n\t\tdispatch( {\n\t\t\ttype: 'META_BOXES_INITIALIZED',\n\t\t} );\n\t};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__","apiFetch","store","interfaceStore","preferencesStore","speak","noticesStore","coreStore","blockEditorStore","editorStore","deprecated","addFilter","getMetaBoxContainer","editPostStore","openGeneralSidebar","name","dispatch","registry","isDistractionFree","select","get","toggleDistractionFree","enableComplementaryArea","closeGeneralSidebar","disableComplementaryArea","openModal","since","alternative","closeModal","openPublishSidebar","type","closePublishSidebar","togglePublishSidebar","toggleEditorPanelEnabled","panelName","_registry$select$get","inactivePanels","isPanelInactive","includes","updatedInactivePanels","filter","invactivePanelName","set","toggleEditorPanelOpened","_registry$select$get2","openPanels","isPanelOpen","updatedOpenPanels","openPanelName","removeEditorPanel","toggleFeature","feature","toggle","switchEditorMode","mode","clearSelectedBlock","message","togglePinnedPluginItem","pluginName","isPinned","isItemPinned","updatePreferredStyleVariations","blockName","blockStyle","_registry$select$get3","existingVariations","updatedVariations","showBlockTypes","blockNames","_registry$select$get4","existingBlockNames","newBlockNames","Array","isArray","hideBlockTypes","_registry$select$get5","mergedBlockNames","Set","setAvailableMetaBoxesPerLocation","metaBoxesPerLocation","requestMetaBoxUpdates","window","tinyMCE","triggerSave","post","getCurrentPost","additionalData","comment_status","ping_status","sticky","author","Boolean","baseFormData","FormData","document","querySelector","activeMetaBoxLocations","getActiveMetaBoxLocations","formDataToMerge","map","location","formData","reduce","memo","currentFormData","key","value","append","forEach","url","_wpMetaBoxUrl","method","body","parse","metaBoxUpdatesSuccess","metaBoxUpdatesFailure","__experimentalSetPreviewDeviceType","deviceType","setIsInserterOpened","setIsListViewOpened","isOpen","setIsEditingTemplate","__unstableSwitchToTemplateMode","newTemplate","isWelcomeGuideActive","isFeatureActive","createSuccessNotice","__unstableCreateTemplate","template","savedTemplate","saveEntityRecord","editEntityRecord","id","slug","metaBoxesInitialized","initializeMetaBoxes","isEditorReady","__unstableIsEditorReady","postType","getCurrentPostType","postboxes","page","add_postbox_toggles","previous","options","then","isAutosave","hasMetaBoxes","batch","createInfoNotice"],"sources":["@wordpress/edit-post/src/store/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { speak } from '@wordpress/a11y';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\nimport deprecated from '@wordpress/deprecated';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { getMetaBoxContainer } from '../utils/meta-boxes';\nimport { store as editPostStore } from '.';\n\n/**\n * Returns an action object used in signalling that the user opened an editor sidebar.\n *\n * @param {?string} name Sidebar name to be opened.\n */\nexport const openGeneralSidebar =\n\t( name ) =>\n\t( { dispatch, registry } ) => {\n\t\tconst isDistractionFree = registry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'distractionFree' );\n\t\tif ( isDistractionFree ) {\n\t\t\tdispatch.toggleDistractionFree();\n\t\t}\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.enableComplementaryArea( editPostStore.name, name );\n\t};\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editPostStore.name );\n\n/**\n * Returns an action object used in signalling that the user opened a modal.\n *\n * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.\n *\n *\n * @param {string} name A string that uniquely identifies the modal.\n *\n * @return {Object} Action object.\n */\nexport const openModal =\n\t( name ) =>\n\t( { registry } ) => {\n\t\tdeprecated( \"select( 'core/edit-post' ).openModal( name )\", {\n\t\t\tsince: '6.3',\n\t\t\talternative: \"select( 'core/interface').openModal( name )\",\n\t\t} );\n\t\treturn registry.dispatch( interfaceStore ).openModal( name );\n\t};\n\n/**\n * Returns an action object signalling that the user closed a modal.\n *\n * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.\n *\n * @return {Object} Action object.\n */\nexport const closeModal =\n\t() =>\n\t( { registry } ) => {\n\t\tdeprecated( \"select( 'core/edit-post' ).closeModal()\", {\n\t\t\tsince: '6.3',\n\t\t\talternative: \"select( 'core/interface').closeModal()\",\n\t\t} );\n\t\treturn registry.dispatch( interfaceStore ).closeModal();\n\t};\n\n/**\n * Returns an action object used in signalling that the user opened the publish\n * sidebar.\n *\n * @return {Object} Action object\n */\nexport function openPublishSidebar() {\n\treturn {\n\t\ttype: 'OPEN_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user closed the\n * publish sidebar.\n *\n * @return {Object} Action object.\n */\nexport function closePublishSidebar() {\n\treturn {\n\t\ttype: 'CLOSE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user toggles the publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function togglePublishSidebar() {\n\treturn {\n\t\ttype: 'TOGGLE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used to enable or disable a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to enable or disable.\n *\n * @return {Object} Action object.\n */\nexport const toggleEditorPanelEnabled =\n\t( panelName ) =>\n\t( { registry } ) => {\n\t\tconst inactivePanels =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'inactivePanels' ) ?? [];\n\n\t\tconst isPanelInactive = !! inactivePanels?.includes( panelName );\n\n\t\t// If the panel is inactive, remove it to enable it, else add it to\n\t\t// make it inactive.\n\t\tlet updatedInactivePanels;\n\t\tif ( isPanelInactive ) {\n\t\t\tupdatedInactivePanels = inactivePanels.filter(\n\t\t\t\t( invactivePanelName ) => invactivePanelName !== panelName\n\t\t\t);\n\t\t} else {\n\t\t\tupdatedInactivePanels = [ ...inactivePanels, panelName ];\n\t\t}\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'inactivePanels', updatedInactivePanels );\n\t};\n\n/**\n * Opens a closed panel and closes an open panel.\n *\n * @param {string} panelName A string that identifies the panel to open or close.\n */\nexport const toggleEditorPanelOpened =\n\t( panelName ) =>\n\t( { registry } ) => {\n\t\tconst openPanels =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'openPanels' ) ?? [];\n\n\t\tconst isPanelOpen = !! openPanels?.includes( panelName );\n\n\t\t// If the panel is open, remove it to close it, else add it to\n\t\t// make it open.\n\t\tlet updatedOpenPanels;\n\t\tif ( isPanelOpen ) {\n\t\t\tupdatedOpenPanels = openPanels.filter(\n\t\t\t\t( openPanelName ) => openPanelName !== panelName\n\t\t\t);\n\t\t} else {\n\t\t\tupdatedOpenPanels = [ ...openPanels, panelName ];\n\t\t}\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'openPanels', updatedOpenPanels );\n\t};\n\n/**\n * Returns an action object used to remove a panel from the editor.\n *\n * @param {string} panelName A string that identifies the panel to remove.\n *\n * @return {Object} Action object.\n */\nexport function removeEditorPanel( panelName ) {\n\treturn {\n\t\ttype: 'REMOVE_PANEL',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Triggers an action used to toggle a feature flag.\n *\n * @param {string} feature Feature name.\n */\nexport const toggleFeature =\n\t( feature ) =>\n\t( { registry } ) =>\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.toggle( 'core/edit-post', feature );\n\n/**\n * Triggers an action used to switch editor mode.\n *\n * @param {string} mode The editor mode.\n */\nexport const switchEditorMode =\n\t( mode ) =>\n\t( { dispatch, registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'editorMode', mode );\n\n\t\t// Unselect blocks when we switch to the code editor.\n\t\tif ( mode !== 'visual' ) {\n\t\t\tregistry.dispatch( blockEditorStore ).clearSelectedBlock();\n\t\t}\n\n\t\tif (\n\t\t\tmode === 'text' &&\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'distractionFree' )\n\t\t) {\n\t\t\tdispatch.toggleDistractionFree();\n\t\t}\n\n\t\tconst message =\n\t\t\tmode === 'visual'\n\t\t\t\t? __( 'Visual editor selected' )\n\t\t\t\t: __( 'Code editor selected' );\n\t\tspeak( message, 'assertive' );\n\t};\n\n/**\n * Triggers an action object used to toggle a plugin name flag.\n *\n * @param {string} pluginName Plugin name.\n */\nexport const togglePinnedPluginItem =\n\t( pluginName ) =>\n\t( { registry } ) => {\n\t\tconst isPinned = registry\n\t\t\t.select( interfaceStore )\n\t\t\t.isItemPinned( 'core/edit-post', pluginName );\n\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t[ isPinned ? 'unpinItem' : 'pinItem' ](\n\t\t\t\t'core/edit-post',\n\t\t\t\tpluginName\n\t\t\t);\n\t};\n\n/**\n * Returns an action object used in signaling that a style should be auto-applied when a block is created.\n *\n * @param {string} blockName Name of the block.\n * @param {?string} blockStyle Name of the style that should be auto applied. If undefined, the \"auto apply\" setting of the block is removed.\n */\nexport const updatePreferredStyleVariations =\n\t( blockName, blockStyle ) =>\n\t( { registry } ) => {\n\t\tif ( ! blockName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst existingVariations =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'preferredStyleVariations' ) ?? {};\n\n\t\t// When the blockStyle is omitted, remove the block's preferred variation.\n\t\tif ( ! blockStyle ) {\n\t\t\tconst updatedVariations = {\n\t\t\t\t...existingVariations,\n\t\t\t};\n\n\t\t\tdelete updatedVariations[ blockName ];\n\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'preferredStyleVariations',\n\t\t\t\t\tupdatedVariations\n\t\t\t\t);\n\t\t} else {\n\t\t\t// Else add the variation.\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set( 'core/edit-post', 'preferredStyleVariations', {\n\t\t\t\t\t...existingVariations,\n\t\t\t\t\t[ blockName ]: blockStyle,\n\t\t\t\t} );\n\t\t}\n\t};\n\n/**\n * Update the provided block types to be visible.\n *\n * @param {string[]} blockNames Names of block types to show.\n */\nexport const showBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst newBlockNames = existingBlockNames.filter(\n\t\t\t( type ) =>\n\t\t\t\t! (\n\t\t\t\t\tArray.isArray( blockNames ) ? blockNames : [ blockNames ]\n\t\t\t\t).includes( type )\n\t\t);\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'hiddenBlockTypes', newBlockNames );\n\t};\n\n/**\n * Update the provided block types to be hidden.\n *\n * @param {string[]} blockNames Names of block types to hide.\n */\nexport const hideBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-post', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst mergedBlockNames = new Set( [\n\t\t\t...existingBlockNames,\n\t\t\t...( Array.isArray( blockNames ) ? blockNames : [ blockNames ] ),\n\t\t] );\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core/edit-post', 'hiddenBlockTypes', [\n\t\t\t\t...mergedBlockNames,\n\t\t\t] );\n\t};\n\n/**\n * Stores info about which Meta boxes are available in which location.\n *\n * @param {Object} metaBoxesPerLocation Meta boxes per location.\n */\nexport function setAvailableMetaBoxesPerLocation( metaBoxesPerLocation ) {\n\treturn {\n\t\ttype: 'SET_META_BOXES_PER_LOCATIONS',\n\t\tmetaBoxesPerLocation,\n\t};\n}\n\n/**\n * Update a metabox.\n */\nexport const requestMetaBoxUpdates =\n\t() =>\n\tasync ( { registry, select, dispatch } ) => {\n\t\tdispatch( {\n\t\t\ttype: 'REQUEST_META_BOX_UPDATES',\n\t\t} );\n\n\t\t// Saves the wp_editor fields.\n\t\tif ( window.tinyMCE ) {\n\t\t\twindow.tinyMCE.triggerSave();\n\t\t}\n\n\t\t// Additional data needed for backward compatibility.\n\t\t// If we do not provide this data, the post will be overridden with the default values.\n\t\tconst post = registry.select( editorStore ).getCurrentPost();\n\t\tconst additionalData = [\n\t\t\tpost.comment_status\n\t\t\t\t? [ 'comment_status', post.comment_status ]\n\t\t\t\t: false,\n\t\t\tpost.ping_status ? [ 'ping_status', post.ping_status ] : false,\n\t\t\tpost.sticky ? [ 'sticky', post.sticky ] : false,\n\t\t\tpost.author ? [ 'post_author', post.author ] : false,\n\t\t].filter( Boolean );\n\n\t\t// We gather all the metaboxes locations data and the base form data.\n\t\tconst baseFormData = new window.FormData(\n\t\t\tdocument.querySelector( '.metabox-base-form' )\n\t\t);\n\t\tconst activeMetaBoxLocations = select.getActiveMetaBoxLocations();\n\t\tconst formDataToMerge = [\n\t\t\tbaseFormData,\n\t\t\t...activeMetaBoxLocations.map(\n\t\t\t\t( location ) =>\n\t\t\t\t\tnew window.FormData( getMetaBoxContainer( location ) )\n\t\t\t),\n\t\t];\n\n\t\t// Merge all form data objects into a single one.\n\t\tconst formData = formDataToMerge.reduce( ( memo, currentFormData ) => {\n\t\t\tfor ( const [ key, value ] of currentFormData ) {\n\t\t\t\tmemo.append( key, value );\n\t\t\t}\n\t\t\treturn memo;\n\t\t}, new window.FormData() );\n\t\tadditionalData.forEach( ( [ key, value ] ) =>\n\t\t\tformData.append( key, value )\n\t\t);\n\n\t\ttry {\n\t\t\t// Save the metaboxes.\n\t\t\tawait apiFetch( {\n\t\t\t\turl: window._wpMetaBoxUrl,\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: formData,\n\t\t\t\tparse: false,\n\t\t\t} );\n\t\t\tdispatch.metaBoxUpdatesSuccess();\n\t\t} catch {\n\t\t\tdispatch.metaBoxUpdatesFailure();\n\t\t}\n\t};\n\n/**\n * Returns an action object used to signal a successful meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesSuccess() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_SUCCESS',\n\t};\n}\n\n/**\n * Returns an action object used to signal a failed meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesFailure() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_FAILURE',\n\t};\n}\n\n/**\n * Returns an action object used to toggle the width of the editing canvas.\n *\n * @param {string} deviceType\n *\n * @return {Object} Action object.\n */\nexport function __experimentalSetPreviewDeviceType( deviceType ) {\n\treturn {\n\t\ttype: 'SET_PREVIEW_DEVICE_TYPE',\n\t\tdeviceType,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value Whether the inserter should be\n * opened (true) or closed (false).\n * To specify an insertion point,\n * use an object.\n * @param {string} value.rootClientId The root client ID to insert at.\n * @param {number} value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n * @return {Object} Action object.\n */\nexport const setIsListViewOpened =\n\t( isOpen ) =>\n\t( { dispatch, registry } ) => {\n\t\tconst isDistractionFree = registry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'distractionFree' );\n\t\tif ( isDistractionFree && isOpen ) {\n\t\t\tdispatch.toggleDistractionFree();\n\t\t}\n\t\tdispatch( {\n\t\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\t\tisOpen,\n\t\t} );\n\t};\n\n/**\n * Returns an action object used to switch to template editing.\n *\n * @param {boolean} value Is editing template.\n * @return {Object} Action object.\n */\nexport function setIsEditingTemplate( value ) {\n\treturn {\n\t\ttype: 'SET_IS_EDITING_TEMPLATE',\n\t\tvalue,\n\t};\n}\n\n/**\n * Switches to the template mode.\n *\n * @param {boolean} newTemplate Is new template.\n */\nexport const __unstableSwitchToTemplateMode =\n\t( newTemplate = false ) =>\n\t( { registry, select, dispatch } ) => {\n\t\tdispatch( setIsEditingTemplate( true ) );\n\t\tconst isWelcomeGuideActive = select.isFeatureActive(\n\t\t\t'welcomeGuideTemplate'\n\t\t);\n\t\tif ( ! isWelcomeGuideActive ) {\n\t\t\tconst message = newTemplate\n\t\t\t\t? __( \"Custom template created. You're in template mode now.\" )\n\t\t\t\t: __(\n\t\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t\t );\n\t\t\tregistry.dispatch( noticesStore ).createSuccessNotice( message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const __unstableCreateTemplate =\n\t( template ) =>\n\tasync ( { registry } ) => {\n\t\tconst savedTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\t\tconst post = registry.select( editorStore ).getCurrentPost();\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\ttemplate: savedTemplate.slug,\n\t\t\t} );\n\t};\n\nlet metaBoxesInitialized = false;\n\n/**\n * Initializes WordPress `postboxes` script and the logic for saving meta boxes.\n */\nexport const initializeMetaBoxes =\n\t() =>\n\t( { registry, select, dispatch } ) => {\n\t\tconst isEditorReady = registry\n\t\t\t.select( editorStore )\n\t\t\t.__unstableIsEditorReady();\n\n\t\tif ( ! isEditorReady ) {\n\t\t\treturn;\n\t\t}\n\t\t// Only initialize once.\n\t\tif ( metaBoxesInitialized ) {\n\t\t\treturn;\n\t\t}\n\t\tconst postType = registry.select( editorStore ).getCurrentPostType();\n\t\tif ( window.postboxes.page !== postType ) {\n\t\t\twindow.postboxes.add_postbox_toggles( postType );\n\t\t}\n\n\t\tmetaBoxesInitialized = true;\n\n\t\t// Save metaboxes on save completion, except for autosaves.\n\t\taddFilter(\n\t\t\t'editor.__unstableSavePost',\n\t\t\t'core/edit-post/save-metaboxes',\n\t\t\t( previous, options ) =>\n\t\t\t\tprevious.then( () => {\n\t\t\t\t\tif ( options.isAutosave ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! select.hasMetaBoxes() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn dispatch.requestMetaBoxUpdates();\n\t\t\t\t} )\n\t\t);\n\n\t\tdispatch( {\n\t\t\ttype: 'META_BOXES_INITIALIZED',\n\t\t} );\n\t};\n\n/**\n * Action that toggles Distraction free mode.\n * Distraction free mode expects there are no sidebars, as due to the\n * z-index values set, you can't close sidebars.\n */\nexport const toggleDistractionFree =\n\t() =>\n\t( { dispatch, registry } ) => {\n\t\tconst isDistractionFree = registry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( 'core/edit-post', 'distractionFree' );\n\t\tif ( ! isDistractionFree ) {\n\t\t\tregistry.batch( () => {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t\t.set( 'core/edit-post', 'fixedToolbar', false );\n\t\t\t\tdispatch.setIsInserterOpened( false );\n\t\t\t\tdispatch.setIsListViewOpened( false );\n\t\t\t\tdispatch.closeGeneralSidebar();\n\t\t\t} );\n\t\t}\n\t\tregistry.batch( () => {\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set(\n\t\t\t\t\t'core/edit-post',\n\t\t\t\t\t'distractionFree',\n\t\t\t\t\t! isDistractionFree\n\t\t\t\t);\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createInfoNotice(\n\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t? __( 'Distraction free off.' )\n\t\t\t\t\t\t: __( 'Distraction free on.' ),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'core/edit-post/distraction-free-mode/notice',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t} );\n\t};\n"],"mappings":"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"}
|