@wordpress/edit-post 8.48.0 → 8.48.2-next.v.202606191442.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 +3 -1
- package/build/components/init-pattern-modal/index.cjs +10 -14
- package/build/components/init-pattern-modal/index.cjs.map +3 -3
- package/build/components/layout/index.cjs +3 -2
- package/build/components/layout/index.cjs.map +2 -2
- package/build/components/welcome-guide/default.cjs +2 -2
- package/build/components/welcome-guide/default.cjs.map +1 -1
- package/build/index.cjs.map +1 -1
- package/build-module/components/init-pattern-modal/index.mjs +11 -17
- package/build-module/components/init-pattern-modal/index.mjs.map +2 -2
- package/build-module/components/layout/index.mjs +3 -2
- package/build-module/components/layout/index.mjs.map +2 -2
- package/build-module/components/welcome-guide/default.mjs +2 -2
- package/build-module/components/welcome-guide/default.mjs.map +1 -1
- package/build-module/index.mjs.map +1 -1
- package/build-style/style-rtl.css +7 -3
- package/build-style/style.css +7 -3
- package/package.json +39 -35
- package/src/components/init-pattern-modal/index.js +55 -67
- package/src/components/layout/index.js +3 -2
- package/src/style.scss +1 -1
- package/src/components/header/header-toolbar/index.native.js +0 -255
- package/src/components/header/header-toolbar/style.native.scss +0 -49
- package/src/components/header/index.native.js +0 -60
- package/src/components/layout/index.native.js +0 -207
- package/src/components/layout/style.native.scss +0 -26
- package/src/components/visual-editor/header.native.js +0 -58
- package/src/components/visual-editor/index.native.js +0 -33
- package/src/components/visual-editor/test/__snapshots__/index.native.js.snap +0 -15
- package/src/components/visual-editor/test/index.native.js +0 -221
- package/src/editor.native.js +0 -171
- package/src/index.native.js +0 -41
- package/src/test/__snapshots__/editor.native.js.snap +0 -105
- package/src/test/editor.native.js +0 -263
- /package/build-style/{experimental-admin-bar-in-editor-rtl.css → experimental-omnibar-rtl.css} +0 -0
- /package/build-style/{experimental-admin-bar-in-editor.css → experimental-omnibar.css} +0 -0
- /package/src/{experimental-admin-bar-in-editor.scss → experimental-omnibar.scss} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/layout/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { NavigableRegion } from '@wordpress/admin-ui';\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorKeyboardShortcutsRegister,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getLayoutStyles } from '@wordpress/global-styles-engine';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\nimport { SnackbarNotices, store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as commandsPrivateApis } from '@wordpress/commands';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { addQueryArgs } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tIcon as WCIcon,\n\tSlotFillProvider,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport {\n\tuseMediaQuery,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseViewportMatch,\n} from '@wordpress/compose';\n// eslint-disable-next-line @wordpress/use-recommended-components -- `Tooltip` is not yet on the recommended `@wordpress/ui` allow-list; landing as a migration step ahead of the wider rollout.\nimport { Tooltip, VisuallyHidden } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport BackButton from '../back-button';\nimport EditorInitialization from '../editor-initialization';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport InitPatternModal from '../init-pattern-modal';\nimport BrowserURL from '../browser-url';\nimport MetaBoxes from '../meta-boxes';\nimport PostEditorMoreMenu from '../more-menu';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useEditPostCommands from '../../commands/use-commands';\nimport { useShouldIframe } from './use-should-iframe';\nimport useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';\nimport { useMetaBoxInitialization } from '../meta-boxes/use-meta-box-initialization';\n\nconst { useCommandContext } = unlock( commandsPrivateApis );\n/** @type {{} & {useDrag: import('@use-gesture/react').useDrag}} */\nconst { useDrag } = unlock( componentsPrivateApis );\nconst { Editor, FullscreenMode } = unlock( editorPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\nconst DESIGN_POST_TYPES = [\n\t'wp_template',\n\t'wp_template_part',\n\t'wp_block',\n\t'wp_navigation',\n];\n\nfunction useEditorStyles( settings ) {\n\tconst { hasThemeStyleSupport } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t};\n\t}, [] );\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\tsettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...( settings?.defaultEditorStyles ?? [] ),\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( settings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! settings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn hasThemeStyles ? settings.styles ?? [] : defaultEditorStyles;\n\t}, [\n\t\tsettings.defaultEditorStyles,\n\t\tsettings.disableLayoutStyles,\n\t\tsettings.styles,\n\t\thasThemeStyleSupport,\n\t] );\n}\n\n/**\n * @param {Object} props\n * @param {boolean} props.isLegacy True for device previews where split view is disabled.\n */\nfunction MetaBoxesMain( { isLegacy } ) {\n\tconst [ isOpen, openHeight, hasAnyVisible ] = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isMetaBoxLocationVisible } = select( editPostStore );\n\t\treturn [\n\t\t\t!! get( 'core/edit-post', 'metaBoxesMainIsOpen' ),\n\t\t\tget( 'core/edit-post', 'metaBoxesMainOpenHeight' ),\n\t\t\tisMetaBoxLocationVisible( 'normal' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'advanced' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'side' ),\n\t\t];\n\t}, [] );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst isShort = useMediaQuery( '(max-height: 549px)' );\n\n\tconst [ { min = 0, max }, setHeightConstraints ] = useState( () => ( {} ) );\n\t// Keeps the resizable area\u2019s size constraints updated taking into account\n\t// editor notices. The constraints are also used to derive the value for the\n\t// aria-valuenow attribute on the separator.\n\tconst effectSizeConstraints = useRefEffect( ( node ) => {\n\t\tconst container = node.closest(\n\t\t\t'.interface-interface-skeleton__content'\n\t\t);\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\t\tconst noticeContainer = container.querySelector(\n\t\t\t':scope > .notices-inline-notices-wrapper'\n\t\t);\n\t\tconst resizeHandle = container.querySelector(\n\t\t\t'.edit-post-meta-boxes-main__presenter'\n\t\t);\n\t\tconst deriveConstraints = () => {\n\t\t\tconst fullHeight = container.offsetHeight;\n\t\t\tlet nextMax = fullHeight;\n\t\t\tif ( noticeContainer ) {\n\t\t\t\tnextMax -= noticeContainer.offsetHeight;\n\t\t\t}\n\t\t\tconst nextMin = resizeHandle?.offsetHeight ?? 0;\n\t\t\tsetHeightConstraints( { min: nextMin, max: nextMax } );\n\t\t};\n\t\tconst observer = new window.ResizeObserver( deriveConstraints );\n\t\tobserver.observe( container );\n\t\tif ( noticeContainer ) {\n\t\t\tobserver.observe( noticeContainer );\n\t\t}\n\t\treturn () => observer.disconnect();\n\t}, [] );\n\tconst metaBoxesMainRef = useRef();\n\tconst setMainRefs = useMergeRefs( [\n\t\tmetaBoxesMainRef,\n\t\teffectSizeConstraints,\n\t] );\n\n\tconst separatorRef = useRef();\n\tconst separatorHelpId = useId();\n\n\tconst heightRef = useRef();\n\n\tconst getAriaValueNow = ( height ) =>\n\t\tMath.round( ( ( height - min ) / ( max - min ) ) * 100 );\n\tconst persistIsOpen = ( to = ! isOpen ) =>\n\t\tsetPreference( 'core/edit-post', 'metaBoxesMainIsOpen', to );\n\n\t/**\n\t * @param {number|'auto'} [candidateHeight] Height in pixels or 'auto'.\n\t * @param {boolean} isPersistent Whether to persist the height in preferences.\n\t */\n\tconst applyHeight = ( candidateHeight = 'auto', isPersistent ) => {\n\t\tlet styleHeight;\n\t\tif ( candidateHeight === 'auto' ) {\n\t\t\tisPersistent = false; // Just in case \u2014 \u201Cauto\u201D should never persist.\n\t\t\tstyleHeight = candidateHeight;\n\t\t} else {\n\t\t\tcandidateHeight = Math.min( max, Math.max( min, candidateHeight ) );\n\t\t\theightRef.current = candidateHeight;\n\t\t\tstyleHeight = `${ candidateHeight }px`;\n\t\t}\n\t\tif ( isPersistent ) {\n\t\t\tsetPreference(\n\t\t\t\t'core/edit-post',\n\t\t\t\t'metaBoxesMainOpenHeight',\n\t\t\t\tcandidateHeight\n\t\t\t);\n\t\t}\n\t\t// Applies imperative DOM updates only when not persisting the value\n\t\t// because otherwise it's done by the subsequent render.\n\t\telse {\n\t\t\tmetaBoxesMainRef.current.style.height = styleHeight;\n\t\t\tif ( ! isShort ) {\n\t\t\t\tseparatorRef.current.ariaValueNow =\n\t\t\t\t\tgetAriaValueNow( candidateHeight );\n\t\t\t}\n\t\t}\n\t};\n\n\t// useDrag includes keyboard support with arrow keys emulating a drag.\n\t// TODO: Support more/all keyboard interactions from the window splitter pattern:\n\t// https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/\n\tconst bindDragGesture = useDrag(\n\t\t( { movement, first, last, memo, tap, args } ) => {\n\t\t\tconst pane = metaBoxesMainRef.current;\n\t\t\tconst [ , yMovement ] = movement;\n\t\t\tif ( first ) {\n\t\t\t\tpane.classList.add( 'is-resizing' );\n\t\t\t\tlet fromHeight = heightRef.current ?? pane.offsetHeight;\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t// Starts from max in case shortening the window has imposed it.\n\t\t\t\t\tif ( fromHeight > max ) {\n\t\t\t\t\t\tfromHeight = max;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfromHeight = min;\n\t\t\t\t}\n\t\t\t\tapplyHeight( fromHeight - yMovement );\n\t\t\t\treturn { fromHeight };\n\t\t\t}\n\n\t\t\tif ( ! first && ! last && ! tap ) {\n\t\t\t\tapplyHeight( memo.fromHeight - yMovement );\n\t\t\t\treturn memo;\n\t\t\t}\n\t\t\t// Here, `last === true` \u2013 it\u2019s the final event of the gesture.\n\n\t\t\tpane.classList.remove( 'is-resizing' );\n\t\t\tif ( tap ) {\n\t\t\t\tconst [ onTap ] = args;\n\t\t\t\tonTap?.();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst nextIsOpen = heightRef.current > min;\n\t\t\tpersistIsOpen( nextIsOpen );\n\t\t\t// Persists height only if still open. This is so that when closed by a drag the\n\t\t\t// prior height can be restored by the toggle button instead of having to drag\n\t\t\t// the pane open again.\n\t\t\tapplyHeight( heightRef.current, nextIsOpen );\n\t\t},\n\t\t{ keyboardDisplacement: 20, filterTaps: true }\n\t);\n\n\tif ( ! hasAnyVisible ) {\n\t\treturn;\n\t}\n\n\tconst contents = (\n\t\t<div\n\t\t\t// The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.\n\t\t\tclassName=\"edit-post-layout__metaboxes edit-post-meta-boxes-main__liner\"\n\t\t\thidden={ ! isLegacy && ! isOpen }\n\t\t>\n\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t</div>\n\t);\n\n\tif ( isLegacy ) {\n\t\treturn contents;\n\t}\n\n\tconst isAutoHeight = openHeight === undefined;\n\tconst usedOpenHeight = isShort ? 'auto' : openHeight;\n\tconst usedHeight = isOpen ? usedOpenHeight : min;\n\n\tconst usedAriaValueNow =\n\t\tmax === undefined || isAutoHeight ? 50 : getAriaValueNow( usedHeight );\n\n\tconst paneLabel = __( 'Meta Boxes' );\n\n\t// The toggle button. It also resizes when the viewport is tall to provide\n\t// a larger hit area than the small separator button.\n\tconst toggle = (\n\t\t<button\n\t\t\taria-expanded={ isOpen }\n\t\t\t// Toggles for all clicks when short and only keyboard \u201Cclicks\u201D when\n\t\t\t// resizable because pointer input is handled by the drag gesture.\n\t\t\tonClick={ ( { detail } ) => {\n\t\t\t\tif ( isShort || ! detail ) {\n\t\t\t\t\tpersistIsOpen();\n\t\t\t\t}\n\t\t\t} }\n\t\t\t// Passes a toggle callback that the drag gesture handler calls when\n\t\t\t// it interprets the input as a click/tap.\n\t\t\t{ ...( ! isShort && bindDragGesture( persistIsOpen ) ) }\n\t\t>\n\t\t\t{ paneLabel }\n\t\t\t<WCIcon icon={ isOpen ? chevronUp : chevronDown } />\n\t\t</button>\n\t);\n\n\t// The separator button that provides a11y for resizing.\n\tconst separator = ! isShort && (\n\t\t<>\n\t\t\t<Tooltip.Root>\n\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\trender={\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tref={ separatorRef }\n\t\t\t\t\t\t\trole=\"separator\" // eslint-disable-line jsx-a11y/no-interactive-element-to-noninteractive-role\n\t\t\t\t\t\t\taria-valuenow={ usedAriaValueNow }\n\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\taria-describedby={ separatorHelpId }\n\t\t\t\t\t\t\t{ ...bindDragGesture() }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<Tooltip.Popup>{ __( 'Drag to resize' ) }</Tooltip.Popup>\n\t\t\t</Tooltip.Root>\n\t\t\t<VisuallyHidden id={ separatorHelpId }>\n\t\t\t\t{ __(\n\t\t\t\t\t'Use up and down arrow keys to resize the meta box pane.'\n\t\t\t\t) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<NavigableRegion\n\t\t\tariaLabel={ paneLabel }\n\t\t\tref={ setMainRefs }\n\t\t\tclassName={ clsx(\n\t\t\t\t'edit-post-meta-boxes-main',\n\t\t\t\t! isShort && 'is-resizable'\n\t\t\t) }\n\t\t\tstyle={ { height: usedHeight } }\n\t\t>\n\t\t\t<div className=\"edit-post-meta-boxes-main__presenter\">\n\t\t\t\t{ toggle }\n\t\t\t\t{ separator }\n\t\t\t</div>\n\t\t\t{ contents }\n\t\t</NavigableRegion>\n\t);\n}\n\nfunction Layout( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n} ) {\n\tuseEditPostCommands();\n\tconst shouldIframe = useShouldIframe();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tcurrentPost: { postId: currentPostId, postType: currentPostType },\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useNavigateToEntityRecord(\n\t\tinitialPostId,\n\t\tinitialPostType,\n\t\t'post-only'\n\t);\n\tconst isEditingTemplate = currentPostType === 'wp_template';\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\thasResolvedMode,\n\t\thasActiveMetaboxes,\n\t\thasBlockSelected,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowMetaBoxes,\n\t\tisWelcomeGuideVisible,\n\t\ttemplateId,\n\t\tisDevicePreview,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { isFeatureActive, hasMetaBoxes } = select( editPostStore );\n\t\t\tconst { canUser, getPostType, getTemplateId } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\n\t\t\tconst supportsTemplateMode = settings.supportsTemplateMode;\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( currentPostType )?.viewable ?? false;\n\t\t\tconst canViewTemplate = canUser( 'read', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} );\n\t\t\tconst { getBlockSelectionStart, isZoomOut } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst { getEditorMode, getDefaultRenderingMode, getDeviceType } =\n\t\t\t\tunlock( select( editorStore ) );\n\t\t\tconst isNotDesignPostType =\n\t\t\t\t! DESIGN_POST_TYPES.includes( currentPostType );\n\t\t\tconst isDirectlyEditingPattern =\n\t\t\t\tcurrentPostType === 'wp_block' &&\n\t\t\t\t! onNavigateToPreviousEntityRecord;\n\t\t\tconst _templateId = getTemplateId( currentPostType, currentPostId );\n\t\t\tconst defaultMode = getDefaultRenderingMode( currentPostType );\n\n\t\t\treturn {\n\t\t\t\tmode: getEditorMode(),\n\t\t\t\tisFullscreenActive: isFeatureActive( 'fullscreenMode' ),\n\t\t\t\thasActiveMetaboxes: hasMetaBoxes(),\n\t\t\t\thasResolvedMode:\n\t\t\t\t\tdefaultMode === 'template-locked'\n\t\t\t\t\t\t? !! _templateId\n\t\t\t\t\t\t: defaultMode !== undefined,\n\t\t\t\thasBlockSelected: !! getBlockSelectionStart(),\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tshowMetaBoxes:\n\t\t\t\t\t( isNotDesignPostType && ! isZoomOut() ) ||\n\t\t\t\t\tisDirectlyEditingPattern,\n\t\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\t\ttemplateId:\n\t\t\t\t\tsupportsTemplateMode &&\n\t\t\t\t\tisViewable &&\n\t\t\t\t\tcanViewTemplate &&\n\t\t\t\t\t! isEditingTemplate\n\t\t\t\t\t\t? _templateId\n\t\t\t\t\t\t: null,\n\t\t\t\tisDevicePreview: getDeviceType() !== 'Desktop',\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tcurrentPostType,\n\t\t\tcurrentPostId,\n\t\t\tisEditingTemplate,\n\t\t\tsettings.supportsTemplateMode,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t]\n\t);\n\n\tuseMetaBoxInitialization( hasActiveMetaboxes && hasResolvedMode );\n\n\t// Set the right context for the command palette\n\tconst commandContext = hasBlockSelected\n\t\t? 'block-selection-edit'\n\t\t: 'entity-edit';\n\tuseCommandContext( commandContext );\n\tconst styles = useEditorStyles( settings );\n\tconst editorSettings = useMemo(\n\t\t() => ( {\n\t\t\t...settings,\n\t\t\tstyles,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\tstyles,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t]\n\t);\n\n\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst navigateRegionsProps = useNavigateRegions();\n\n\tconst className = clsx( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t} );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\t\t{\n\t\t\t\t\t\tdocument.location.href = addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\ttrashed: 1,\n\t\t\t\t\t\t\tpost_type: items[ 0 ].type,\n\t\t\t\t\t\t\tids: items[ 0 ].id,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title ) || __( '(no title)' )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\tconst postId = newItem.id;\n\t\t\t\t\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t\t\t\t\taddQueryArgs( 'post.php', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpost: postId,\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ createSuccessNotice ]\n\t);\n\n\tconst initialPost = useMemo( () => {\n\t\treturn {\n\t\t\ttype: initialPostType,\n\t\t\tid: initialPostId,\n\t\t};\n\t}, [ initialPostType, initialPostId ] );\n\n\tconst backButton =\n\t\tuseViewportMatch( 'medium' ) && isFullscreenActive ? (\n\t\t\t<BackButton initialPost={ initialPost } />\n\t\t) : null;\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<Tooltip.Provider>\n\t\t\t\t<ErrorBoundary canCopyContent>\n\t\t\t\t\t<WelcomeGuide postType={ currentPostType } />\n\t\t\t\t\t<div { ...navigateRegionsProps }>\n\t\t\t\t\t\t<Editor\n\t\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\t\tpostType={ currentPostType }\n\t\t\t\t\t\t\tpostId={ currentPostId }\n\t\t\t\t\t\t\ttemplateId={ templateId }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\t\tdisableIframe={ ! shouldIframe }\n\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\tautoFocus={ ! isWelcomeGuideVisible }\n\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t\t\tshowMetaBoxes && <MetaBoxes location=\"side\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\textraContent={\n\t\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\t\tshowMetaBoxes && (\n\t\t\t\t\t\t\t\t\t<MetaBoxesMain\n\t\t\t\t\t\t\t\t\t\tisLegacy={ isDevicePreview }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t\t\t<EditorInitialization />\n\t\t\t\t\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t\t\t\t\t<BrowserURL />\n\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t<AutosaveMonitor />\n\t\t\t\t\t\t\t<LocalAutosaveMonitor />\n\t\t\t\t\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t\t<BlockKeyboardShortcuts />\n\t\t\t\t\t\t\t{ currentPostType === 'wp_block' && (\n\t\t\t\t\t\t\t\t<InitPatternModal />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t\t\t<PostEditorMoreMenu />\n\t\t\t\t\t\t\t{ backButton }\n\t\t\t\t\t\t\t<SnackbarNotices className=\"edit-post-layout__snackbar\" />\n\t\t\t\t\t\t</Editor>\n\t\t\t\t\t</div>\n\t\t\t\t</ErrorBoundary>\n\t\t\t</Tooltip.Provider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Layout;\n"],
|
|
5
|
-
"mappings": ";AAGA,OAAO,UAAU;AAKjB,SAAS,uBAAuB;AAChC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,eAAe;AAAA,OACT;AACP,SAAS,WAAW,mBAAmB;AACvC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,uBAAuB;AAChC,SAAS,kBAAkB;AAC3B,SAAS,IAAI,eAAe;AAC5B;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,aAAa,iBAAiB;AACvC,SAAS,iBAAiB,SAAS,oBAAoB;AACvD,SAAS,SAAS,wBAAwB;AAC1C,SAAS,eAAe,2BAA2B;AACnD,SAAS,eAAe,+BAA+B;AACvD,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,SAAS,iBAAiB;AACnC;AAAA,EACC,QAAQ;AAAA,EACR;AAAA,EACA,gCAAgC;AAAA,EAChC,eAAe;AAAA,OACT;AACP;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { NavigableRegion } from '@wordpress/admin-ui';\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorKeyboardShortcutsRegister,\n\tErrorBoundary,\n\tPostLockedModal,\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getLayoutStyles } from '@wordpress/global-styles-engine';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { chevronDown, chevronUp } from '@wordpress/icons';\nimport { SnackbarNotices, store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as commandsPrivateApis } from '@wordpress/commands';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { addQueryArgs } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tIcon as WCIcon,\n\tSlotFillProvider,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport {\n\tuseMediaQuery,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseViewportMatch,\n} from '@wordpress/compose';\nimport { Tooltip, VisuallyHidden } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport BackButton from '../back-button';\nimport EditorInitialization from '../editor-initialization';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport InitPatternModal from '../init-pattern-modal';\nimport BrowserURL from '../browser-url';\nimport MetaBoxes from '../meta-boxes';\nimport PostEditorMoreMenu from '../more-menu';\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useEditPostCommands from '../../commands/use-commands';\nimport { useShouldIframe } from './use-should-iframe';\nimport useNavigateToEntityRecord from '../../hooks/use-navigate-to-entity-record';\nimport { useMetaBoxInitialization } from '../meta-boxes/use-meta-box-initialization';\n\nconst { useCommandContext } = unlock( commandsPrivateApis );\n/** @type {{} & {useDrag: import('@use-gesture/react').useDrag}} */\nconst { useDrag } = unlock( componentsPrivateApis );\nconst { Editor, FullscreenMode, UploadProgressSnackbar } =\n\tunlock( editorPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\nconst DESIGN_POST_TYPES = [\n\t'wp_template',\n\t'wp_template_part',\n\t'wp_block',\n\t'wp_navigation',\n];\n\nfunction useEditorStyles( settings ) {\n\tconst { hasThemeStyleSupport } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t};\n\t}, [] );\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\tsettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...( settings?.defaultEditorStyles ?? [] ),\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( settings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! settings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn hasThemeStyles ? settings.styles ?? [] : defaultEditorStyles;\n\t}, [\n\t\tsettings.defaultEditorStyles,\n\t\tsettings.disableLayoutStyles,\n\t\tsettings.styles,\n\t\thasThemeStyleSupport,\n\t] );\n}\n\n/**\n * @param {Object} props\n * @param {boolean} props.isLegacy True for device previews where split view is disabled.\n */\nfunction MetaBoxesMain( { isLegacy } ) {\n\tconst [ isOpen, openHeight, hasAnyVisible ] = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isMetaBoxLocationVisible } = select( editPostStore );\n\t\treturn [\n\t\t\t!! get( 'core/edit-post', 'metaBoxesMainIsOpen' ),\n\t\t\tget( 'core/edit-post', 'metaBoxesMainOpenHeight' ),\n\t\t\tisMetaBoxLocationVisible( 'normal' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'advanced' ) ||\n\t\t\t\tisMetaBoxLocationVisible( 'side' ),\n\t\t];\n\t}, [] );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst isShort = useMediaQuery( '(max-height: 549px)' );\n\n\tconst [ { min = 0, max }, setHeightConstraints ] = useState( () => ( {} ) );\n\t// Keeps the resizable area’s size constraints updated taking into account\n\t// editor notices. The constraints are also used to derive the value for the\n\t// aria-valuenow attribute on the separator.\n\tconst effectSizeConstraints = useRefEffect( ( node ) => {\n\t\tconst container = node.closest(\n\t\t\t'.interface-interface-skeleton__content'\n\t\t);\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\t\tconst noticeContainer = container.querySelector(\n\t\t\t':scope > .notices-inline-notices-wrapper'\n\t\t);\n\t\tconst resizeHandle = container.querySelector(\n\t\t\t'.edit-post-meta-boxes-main__presenter'\n\t\t);\n\t\tconst deriveConstraints = () => {\n\t\t\tconst fullHeight = container.offsetHeight;\n\t\t\tlet nextMax = fullHeight;\n\t\t\tif ( noticeContainer ) {\n\t\t\t\tnextMax -= noticeContainer.offsetHeight;\n\t\t\t}\n\t\t\tconst nextMin = resizeHandle?.offsetHeight ?? 0;\n\t\t\tsetHeightConstraints( { min: nextMin, max: nextMax } );\n\t\t};\n\t\tconst observer = new window.ResizeObserver( deriveConstraints );\n\t\tobserver.observe( container );\n\t\tif ( noticeContainer ) {\n\t\t\tobserver.observe( noticeContainer );\n\t\t}\n\t\treturn () => observer.disconnect();\n\t}, [] );\n\tconst metaBoxesMainRef = useRef();\n\tconst setMainRefs = useMergeRefs( [\n\t\tmetaBoxesMainRef,\n\t\teffectSizeConstraints,\n\t] );\n\n\tconst separatorRef = useRef();\n\tconst separatorHelpId = useId();\n\n\tconst heightRef = useRef();\n\n\tconst getAriaValueNow = ( height ) =>\n\t\tMath.round( ( ( height - min ) / ( max - min ) ) * 100 );\n\tconst persistIsOpen = ( to = ! isOpen ) =>\n\t\tsetPreference( 'core/edit-post', 'metaBoxesMainIsOpen', to );\n\n\t/**\n\t * @param {number|'auto'} [candidateHeight] Height in pixels or 'auto'.\n\t * @param {boolean} isPersistent Whether to persist the height in preferences.\n\t */\n\tconst applyHeight = ( candidateHeight = 'auto', isPersistent ) => {\n\t\tlet styleHeight;\n\t\tif ( candidateHeight === 'auto' ) {\n\t\t\tisPersistent = false; // Just in case — “auto” should never persist.\n\t\t\tstyleHeight = candidateHeight;\n\t\t} else {\n\t\t\tcandidateHeight = Math.min( max, Math.max( min, candidateHeight ) );\n\t\t\theightRef.current = candidateHeight;\n\t\t\tstyleHeight = `${ candidateHeight }px`;\n\t\t}\n\t\tif ( isPersistent ) {\n\t\t\tsetPreference(\n\t\t\t\t'core/edit-post',\n\t\t\t\t'metaBoxesMainOpenHeight',\n\t\t\t\tcandidateHeight\n\t\t\t);\n\t\t}\n\t\t// Applies imperative DOM updates only when not persisting the value\n\t\t// because otherwise it's done by the subsequent render.\n\t\telse {\n\t\t\tmetaBoxesMainRef.current.style.height = styleHeight;\n\t\t\tif ( ! isShort ) {\n\t\t\t\tseparatorRef.current.ariaValueNow =\n\t\t\t\t\tgetAriaValueNow( candidateHeight );\n\t\t\t}\n\t\t}\n\t};\n\n\t// useDrag includes keyboard support with arrow keys emulating a drag.\n\t// TODO: Support more/all keyboard interactions from the window splitter pattern:\n\t// https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/\n\tconst bindDragGesture = useDrag(\n\t\t( { movement, first, last, memo, tap, args } ) => {\n\t\t\tconst pane = metaBoxesMainRef.current;\n\t\t\tconst [ , yMovement ] = movement;\n\t\t\tif ( first ) {\n\t\t\t\tpane.classList.add( 'is-resizing' );\n\t\t\t\tlet fromHeight = heightRef.current ?? pane.offsetHeight;\n\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t// Starts from max in case shortening the window has imposed it.\n\t\t\t\t\tif ( fromHeight > max ) {\n\t\t\t\t\t\tfromHeight = max;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfromHeight = min;\n\t\t\t\t}\n\t\t\t\tapplyHeight( fromHeight - yMovement );\n\t\t\t\treturn { fromHeight };\n\t\t\t}\n\n\t\t\tif ( ! first && ! last && ! tap ) {\n\t\t\t\tapplyHeight( memo.fromHeight - yMovement );\n\t\t\t\treturn memo;\n\t\t\t}\n\t\t\t// Here, `last === true` – it’s the final event of the gesture.\n\n\t\t\tpane.classList.remove( 'is-resizing' );\n\t\t\tif ( tap ) {\n\t\t\t\tconst [ onTap ] = args;\n\t\t\t\tonTap?.();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst nextIsOpen = heightRef.current > min;\n\t\t\tpersistIsOpen( nextIsOpen );\n\t\t\t// Persists height only if still open. This is so that when closed by a drag the\n\t\t\t// prior height can be restored by the toggle button instead of having to drag\n\t\t\t// the pane open again.\n\t\t\tapplyHeight( heightRef.current, nextIsOpen );\n\t\t},\n\t\t{ keyboardDisplacement: 20, filterTaps: true }\n\t);\n\n\tif ( ! hasAnyVisible ) {\n\t\treturn;\n\t}\n\n\tconst contents = (\n\t\t<div\n\t\t\t// The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.\n\t\t\tclassName=\"edit-post-layout__metaboxes edit-post-meta-boxes-main__liner\"\n\t\t\thidden={ ! isLegacy && ! isOpen }\n\t\t>\n\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t</div>\n\t);\n\n\tif ( isLegacy ) {\n\t\treturn contents;\n\t}\n\n\tconst isAutoHeight = openHeight === undefined;\n\tconst usedOpenHeight = isShort ? 'auto' : openHeight;\n\tconst usedHeight = isOpen ? usedOpenHeight : min;\n\n\tconst usedAriaValueNow =\n\t\tmax === undefined || isAutoHeight ? 50 : getAriaValueNow( usedHeight );\n\n\tconst paneLabel = __( 'Meta Boxes' );\n\n\t// The toggle button. It also resizes when the viewport is tall to provide\n\t// a larger hit area than the small separator button.\n\tconst toggle = (\n\t\t<button\n\t\t\taria-expanded={ isOpen }\n\t\t\t// Toggles for all clicks when short and only keyboard “clicks” when\n\t\t\t// resizable because pointer input is handled by the drag gesture.\n\t\t\tonClick={ ( { detail } ) => {\n\t\t\t\tif ( isShort || ! detail ) {\n\t\t\t\t\tpersistIsOpen();\n\t\t\t\t}\n\t\t\t} }\n\t\t\t// Passes a toggle callback that the drag gesture handler calls when\n\t\t\t// it interprets the input as a click/tap.\n\t\t\t{ ...( ! isShort && bindDragGesture( persistIsOpen ) ) }\n\t\t>\n\t\t\t{ paneLabel }\n\t\t\t<WCIcon icon={ isOpen ? chevronUp : chevronDown } />\n\t\t</button>\n\t);\n\n\t// The separator button that provides a11y for resizing.\n\tconst separator = ! isShort && (\n\t\t<>\n\t\t\t<Tooltip.Root>\n\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\trender={\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tref={ separatorRef }\n\t\t\t\t\t\t\trole=\"separator\" // eslint-disable-line jsx-a11y/no-interactive-element-to-noninteractive-role\n\t\t\t\t\t\t\taria-valuenow={ usedAriaValueNow }\n\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\taria-describedby={ separatorHelpId }\n\t\t\t\t\t\t\t{ ...bindDragGesture() }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<Tooltip.Popup>{ __( 'Drag to resize' ) }</Tooltip.Popup>\n\t\t\t</Tooltip.Root>\n\t\t\t<VisuallyHidden id={ separatorHelpId }>\n\t\t\t\t{ __(\n\t\t\t\t\t'Use up and down arrow keys to resize the meta box pane.'\n\t\t\t\t) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<NavigableRegion\n\t\t\tariaLabel={ paneLabel }\n\t\t\tref={ setMainRefs }\n\t\t\tclassName={ clsx(\n\t\t\t\t'edit-post-meta-boxes-main',\n\t\t\t\t! isShort && 'is-resizable'\n\t\t\t) }\n\t\t\tstyle={ { height: usedHeight } }\n\t\t>\n\t\t\t<div className=\"edit-post-meta-boxes-main__presenter\">\n\t\t\t\t{ toggle }\n\t\t\t\t{ separator }\n\t\t\t</div>\n\t\t\t{ contents }\n\t\t</NavigableRegion>\n\t);\n}\n\nfunction Layout( {\n\tpostId: initialPostId,\n\tpostType: initialPostType,\n\tsettings,\n\tinitialEdits,\n} ) {\n\tuseEditPostCommands();\n\tconst shouldIframe = useShouldIframe();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tcurrentPost: { postId: currentPostId, postType: currentPostType },\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useNavigateToEntityRecord(\n\t\tinitialPostId,\n\t\tinitialPostType,\n\t\t'post-only'\n\t);\n\tconst isEditingTemplate = currentPostType === 'wp_template';\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\thasResolvedMode,\n\t\thasActiveMetaboxes,\n\t\thasBlockSelected,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowMetaBoxes,\n\t\tisWelcomeGuideVisible,\n\t\ttemplateId,\n\t\tisDevicePreview,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { isFeatureActive, hasMetaBoxes } = select( editPostStore );\n\t\t\tconst { canUser, getPostType, getTemplateId } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\n\t\t\tconst supportsTemplateMode = settings.supportsTemplateMode;\n\t\t\tconst isViewable =\n\t\t\t\tgetPostType( currentPostType )?.viewable ?? false;\n\t\t\tconst canViewTemplate = canUser( 'read', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} );\n\t\t\tconst { getBlockSelectionStart, isZoomOut } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst { getEditorMode, getDefaultRenderingMode, getDeviceType } =\n\t\t\t\tunlock( select( editorStore ) );\n\t\t\tconst isNotDesignPostType =\n\t\t\t\t! DESIGN_POST_TYPES.includes( currentPostType );\n\t\t\tconst isDirectlyEditingPattern =\n\t\t\t\tcurrentPostType === 'wp_block' &&\n\t\t\t\t! onNavigateToPreviousEntityRecord;\n\t\t\tconst _templateId = getTemplateId( currentPostType, currentPostId );\n\t\t\tconst defaultMode = getDefaultRenderingMode( currentPostType );\n\n\t\t\treturn {\n\t\t\t\tmode: getEditorMode(),\n\t\t\t\tisFullscreenActive: isFeatureActive( 'fullscreenMode' ),\n\t\t\t\thasActiveMetaboxes: hasMetaBoxes(),\n\t\t\t\thasResolvedMode:\n\t\t\t\t\tdefaultMode === 'template-locked'\n\t\t\t\t\t\t? !! _templateId\n\t\t\t\t\t\t: defaultMode !== undefined,\n\t\t\t\thasBlockSelected: !! getBlockSelectionStart(),\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tshowMetaBoxes:\n\t\t\t\t\t( isNotDesignPostType && ! isZoomOut() ) ||\n\t\t\t\t\tisDirectlyEditingPattern,\n\t\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\t\ttemplateId:\n\t\t\t\t\tsupportsTemplateMode &&\n\t\t\t\t\tisViewable &&\n\t\t\t\t\tcanViewTemplate &&\n\t\t\t\t\t! isEditingTemplate\n\t\t\t\t\t\t? _templateId\n\t\t\t\t\t\t: null,\n\t\t\t\tisDevicePreview: getDeviceType() !== 'Desktop',\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tcurrentPostType,\n\t\t\tcurrentPostId,\n\t\t\tisEditingTemplate,\n\t\t\tsettings.supportsTemplateMode,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t]\n\t);\n\n\tuseMetaBoxInitialization( hasActiveMetaboxes && hasResolvedMode );\n\n\t// Set the right context for the command palette\n\tconst commandContext = hasBlockSelected\n\t\t? 'block-selection-edit'\n\t\t: 'entity-edit';\n\tuseCommandContext( commandContext );\n\tconst styles = useEditorStyles( settings );\n\tconst editorSettings = useMemo(\n\t\t() => ( {\n\t\t\t...settings,\n\t\t\tstyles,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\tstyles,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t]\n\t);\n\n\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst navigateRegionsProps = useNavigateRegions();\n\n\tconst className = clsx( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t} );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\t\t{\n\t\t\t\t\t\tdocument.location.href = addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\ttrashed: 1,\n\t\t\t\t\t\t\tpost_type: items[ 0 ].type,\n\t\t\t\t\t\t\tids: items[ 0 ].id,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( title ) || __( '(no title)' )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\tconst postId = newItem.id;\n\t\t\t\t\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t\t\t\t\taddQueryArgs( 'post.php', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpost: postId,\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ createSuccessNotice ]\n\t);\n\n\tconst initialPost = useMemo( () => {\n\t\treturn {\n\t\t\ttype: initialPostType,\n\t\t\tid: initialPostId,\n\t\t};\n\t}, [ initialPostType, initialPostId ] );\n\n\tconst backButton =\n\t\tuseViewportMatch( 'medium' ) && isFullscreenActive ? (\n\t\t\t<BackButton initialPost={ initialPost } />\n\t\t) : null;\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<Tooltip.Provider>\n\t\t\t\t<ErrorBoundary canCopyContent>\n\t\t\t\t\t<WelcomeGuide postType={ currentPostType } />\n\t\t\t\t\t<div { ...navigateRegionsProps }>\n\t\t\t\t\t\t<Editor\n\t\t\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t\t\t\tpostType={ currentPostType }\n\t\t\t\t\t\t\tpostId={ currentPostId }\n\t\t\t\t\t\t\ttemplateId={ templateId }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\t\tdisableIframe={ ! shouldIframe }\n\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\tautoFocus={ ! isWelcomeGuideVisible }\n\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t\t\tshowMetaBoxes && <MetaBoxes location=\"side\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\textraContent={\n\t\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\t\tshowMetaBoxes && (\n\t\t\t\t\t\t\t\t\t<MetaBoxesMain\n\t\t\t\t\t\t\t\t\t\tisLegacy={ isDevicePreview }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostLockedModal />\n\t\t\t\t\t\t\t<EditorInitialization />\n\t\t\t\t\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t\t\t\t\t<BrowserURL />\n\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t<AutosaveMonitor />\n\t\t\t\t\t\t\t<LocalAutosaveMonitor />\n\t\t\t\t\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t\t<BlockKeyboardShortcuts />\n\t\t\t\t\t\t\t{ currentPostType === 'wp_block' && (\n\t\t\t\t\t\t\t\t<InitPatternModal />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t\t\t<PostEditorMoreMenu />\n\t\t\t\t\t\t\t{ backButton }\n\t\t\t\t\t\t\t<SnackbarNotices className=\"edit-post-layout__snackbar\" />\n\t\t\t\t\t\t\t<UploadProgressSnackbar />\n\t\t\t\t\t\t</Editor>\n\t\t\t\t\t</div>\n\t\t\t\t</ErrorBoundary>\n\t\t\t</Tooltip.Provider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport default Layout;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -27,7 +27,7 @@ function WelcomeGuideDefault() {
|
|
|
27
27
|
content: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
28
28
|
/* @__PURE__ */ jsx("h1", { className: "edit-post-welcome-guide__heading", children: __("Welcome to the editor") }),
|
|
29
29
|
/* @__PURE__ */ jsx("p", { className: "edit-post-welcome-guide__text", children: __(
|
|
30
|
-
"In the WordPress editor, each paragraph, image, or video is presented as a distinct
|
|
30
|
+
"In the WordPress editor, each paragraph, image, or video is presented as a distinct “block” of content."
|
|
31
31
|
) })
|
|
32
32
|
] })
|
|
33
33
|
},
|
|
@@ -58,7 +58,7 @@ function WelcomeGuideDefault() {
|
|
|
58
58
|
/* @__PURE__ */ jsx("h1", { className: "edit-post-welcome-guide__heading", children: __("Explore all blocks") }),
|
|
59
59
|
/* @__PURE__ */ jsx("p", { className: "edit-post-welcome-guide__text", children: createInterpolateElement(
|
|
60
60
|
__(
|
|
61
|
-
"All of the blocks available to you live in the block library. You
|
|
61
|
+
"All of the blocks available to you live in the block library. You’ll find it wherever you see the <InserterIconImage /> icon."
|
|
62
62
|
),
|
|
63
63
|
{
|
|
64
64
|
InserterIconImage: /* @__PURE__ */ jsx(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/welcome-guide/default.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { ExternalLink, Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuideImage from './image';\nimport { store as editPostStore } from '../../store';\n\nexport default function WelcomeGuideDefault() {\n\tconst { toggleFeature } = useDispatch( editPostStore );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-post-welcome-guide\"\n\t\t\tcontentLabel={ __( 'Welcome to the editor' ) }\n\t\t\tfinishButtonText={ __( 'Get started' ) }\n\t\t\tonFinish={ () => toggleFeature( 'welcomeGuide' ) }\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<WelcomeGuideImage\n\t\t\t\t\t\t\tnonAnimatedSrc=\"https://s.w.org/images/block-editor/welcome-canvas.svg\"\n\t\t\t\t\t\t\tanimatedSrc=\"https://s.w.org/images/block-editor/welcome-canvas.gif\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-post-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ __( 'Welcome to the editor' ) }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-post-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'In the WordPress editor, each paragraph, image, or video is presented as a distinct
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { ExternalLink, Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuideImage from './image';\nimport { store as editPostStore } from '../../store';\n\nexport default function WelcomeGuideDefault() {\n\tconst { toggleFeature } = useDispatch( editPostStore );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-post-welcome-guide\"\n\t\t\tcontentLabel={ __( 'Welcome to the editor' ) }\n\t\t\tfinishButtonText={ __( 'Get started' ) }\n\t\t\tonFinish={ () => toggleFeature( 'welcomeGuide' ) }\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<WelcomeGuideImage\n\t\t\t\t\t\t\tnonAnimatedSrc=\"https://s.w.org/images/block-editor/welcome-canvas.svg\"\n\t\t\t\t\t\t\tanimatedSrc=\"https://s.w.org/images/block-editor/welcome-canvas.gif\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-post-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ __( 'Welcome to the editor' ) }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-post-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'In the WordPress editor, each paragraph, image, or video is presented as a distinct “block” of content.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<WelcomeGuideImage\n\t\t\t\t\t\t\tnonAnimatedSrc=\"https://s.w.org/images/block-editor/welcome-editor.svg\"\n\t\t\t\t\t\t\tanimatedSrc=\"https://s.w.org/images/block-editor/welcome-editor.gif\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-post-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ __( 'Customize each block' ) }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-post-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Each block comes with its own set of controls for changing things like color, width, and alignment. These will show and hide automatically when you have a block selected.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<WelcomeGuideImage\n\t\t\t\t\t\t\tnonAnimatedSrc=\"https://s.w.org/images/block-editor/welcome-library.svg\"\n\t\t\t\t\t\t\tanimatedSrc=\"https://s.w.org/images/block-editor/welcome-library.gif\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-post-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ __( 'Explore all blocks' ) }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-post-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'All of the blocks available to you live in the block library. You’ll find it wherever you see the <InserterIconImage /> icon.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tInserterIconImage: (\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\talt={ __( 'inserter' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='18' height='18' rx='2' fill='%231E1E1E'/%3E%3Cpath d='M9.22727 4V14M4 8.77273H14' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E%0A\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<WelcomeGuideImage\n\t\t\t\t\t\t\tnonAnimatedSrc=\"https://s.w.org/images/block-editor/welcome-documentation.svg\"\n\t\t\t\t\t\t\tanimatedSrc=\"https://s.w.org/images/block-editor/welcome-documentation.gif\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-post-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ __( 'Learn more' ) }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-post-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\"New to the block editor? Want to learn more about using it? <a>Here's a detailed guide.</a>\"\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/wordpress-block-editor/'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n"],
|
|
5
5
|
"mappings": ";AAGA,SAAS,mBAAmB;AAC5B,SAAS,cAAc,aAAa;AACpC,SAAS,UAAU;AACnB,SAAS,gCAAgC;AAKzC,OAAO,uBAAuB;AAC9B,SAAS,SAAS,qBAAqB;AAcjC,SAMA,UANA,KAMA,YANA;AAZS,SAAR,sBAAuC;AAC7C,QAAM,EAAE,cAAc,IAAI,YAAa,aAAc;AAErD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,cAAe,GAAI,uBAAwB;AAAA,MAC3C,kBAAmB,GAAI,aAAc;AAAA,MACrC,UAAW,MAAM,cAAe,cAAe;AAAA,MAC/C,OAAQ;AAAA,QACP;AAAA,UACC,OACC;AAAA,YAAC;AAAA;AAAA,cACA,gBAAe;AAAA,cACf,aAAY;AAAA;AAAA,UACb;AAAA,UAED,SACC,iCACC;AAAA,gCAAC,QAAG,WAAU,oCACX,aAAI,uBAAwB,GAC/B;AAAA,YACA,oBAAC,OAAE,WAAU,iCACV;AAAA,cACD;AAAA,YACD,GACD;AAAA,aACD;AAAA,QAEF;AAAA,QACA;AAAA,UACC,OACC;AAAA,YAAC;AAAA;AAAA,cACA,gBAAe;AAAA,cACf,aAAY;AAAA;AAAA,UACb;AAAA,UAED,SACC,iCACC;AAAA,gCAAC,QAAG,WAAU,oCACX,aAAI,sBAAuB,GAC9B;AAAA,YACA,oBAAC,OAAE,WAAU,iCACV;AAAA,cACD;AAAA,YACD,GACD;AAAA,aACD;AAAA,QAEF;AAAA,QACA;AAAA,UACC,OACC;AAAA,YAAC;AAAA;AAAA,cACA,gBAAe;AAAA,cACf,aAAY;AAAA;AAAA,UACb;AAAA,UAED,SACC,iCACC;AAAA,gCAAC,QAAG,WAAU,oCACX,aAAI,oBAAqB,GAC5B;AAAA,YACA,oBAAC,OAAE,WAAU,iCACV;AAAA,cACD;AAAA,gBACC;AAAA,cACD;AAAA,cACA;AAAA,gBACC,mBACC;AAAA,kBAAC;AAAA;AAAA,oBACA,KAAM,GAAI,UAAW;AAAA,oBACrB,KAAI;AAAA;AAAA,gBACL;AAAA,cAEF;AAAA,YACD,GACD;AAAA,aACD;AAAA,QAEF;AAAA,QACA;AAAA,UACC,OACC;AAAA,YAAC;AAAA;AAAA,cACA,gBAAe;AAAA,cACf,aAAY;AAAA;AAAA,UACb;AAAA,UAED,SACC,iCACC;AAAA,gCAAC,QAAG,WAAU,oCACX,aAAI,YAAa,GACpB;AAAA,YACA,oBAAC,OAAE,WAAU,iCACV;AAAA,cACD;AAAA,gBACC;AAAA,cACD;AAAA,cACA;AAAA,gBACC,GACC;AAAA,kBAAC;AAAA;AAAA,oBACA,MAAO;AAAA,sBACN;AAAA,oBACD;AAAA;AAAA,gBACD;AAAA,cAEF;AAAA,YACD,GACD;AAAA,aACD;AAAA,QAEF;AAAA,MACD;AAAA;AAAA,EACD;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tregisterCoreBlocks,\n\t__experimentalRegisterExperimentalCoreBlocks,\n} from '@wordpress/block-library';\nimport deprecated from '@wordpress/deprecated';\nimport { createRoot, StrictMode } from '@wordpress/element';\nimport { dispatch, resolveSelect, select } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tregisterLegacyWidgetBlock,\n\tregisterWidgetGroupBlock,\n} from '@wordpress/widgets';\nimport {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport { unlock } from './lock-unlock';\n\nconst {\n\tBackButton: __experimentalMainDashboardButton,\n\tregisterCoreBlockBindingsSources,\n} = unlock( editorPrivateApis );\n\nconst { enablePreloadMultiUse, clearPreloadedData } = unlock(\n\tapiFetch.privateApis\n);\n\n/**\n * Initializes and returns an instance of Editor.\n *\n * @param {string} id Unique identifier for editor instance.\n * @param {string} postType Post type of the post to edit.\n * @param {Object} postId ID of the post to edit.\n * @param {?Object} settings Editor settings object.\n * @param {Object} initialEdits Programmatic edits to apply initially, to be\n * considered as non-user-initiated (bypass for\n * unsaved changes prompt).\n */\nexport function initializeEditor(\n\tid,\n\tpostType,\n\tpostId,\n\tsettings,\n\tinitialEdits\n) {\n\tconst isMediumOrBigger = window.matchMedia( '(min-width: 782px)' ).matches;\n\tconst target = document.getElementById( id );\n\tconst root = createRoot( target );\n\n\tdispatch( preferencesStore ).setDefaults( 'core/edit-post', {\n\t\tfullscreenMode: true,\n\t\tthemeStyles: true,\n\t\twelcomeGuide: true,\n\t\twelcomeGuideTemplate: true,\n\t} );\n\n\tdispatch( preferencesStore ).setDefaults( 'core', {\n\t\tallowRightClickOverrides: true,\n\t\teditorMode: 'visual',\n\t\teditorTool: 'edit',\n\t\tfixedToolbar: false,\n\t\thiddenBlockTypes: [],\n\t\tinactivePanels: [],\n\t\topenPanels: [ 'post-status' ],\n\t\tshowBlockBreadcrumbs: true,\n\t\tshowIconLabels: false,\n\t\tshowListViewByDefault: false,\n\t\tenableChoosePatternModal: true,\n\t\tisPublishSidebarEnabled: true,\n\t\tshowCollaborationCursor: false,\n\t\tshowCollaborationNotifications: true,\n\t} );\n\n\tif ( window.__clientSideMediaProcessing ) {\n\t\tdispatch( preferencesStore ).setDefaults( 'core/media', {\n\t\t\trequireApproval: true,\n\t\t\toptimizeOnUpload: true,\n\t\t} );\n\t}\n\n\tdispatch( blocksStore ).reapplyBlockTypeFilters();\n\n\t// Check if the block list view should be open by default.\n\t// If `distractionFree` mode is enabled, the block list view should not be open.\n\t// This behavior is disabled for small viewports.\n\tif (\n\t\tisMediumOrBigger &&\n\t\tselect( preferencesStore ).get( 'core', 'showListViewByDefault' ) &&\n\t\t! select( preferencesStore ).get( 'core', 'distractionFree' )\n\t) {\n\t\tdispatch( editorStore ).setIsListViewOpened( true );\n\t}\n\n\tregisterCoreBlocks();\n\tregisterCoreBlockBindingsSources();\n\tregisterLegacyWidgetBlock( { inserter: false } );\n\tregisterWidgetGroupBlock( { inserter: false } );\n\tif ( globalThis.IS_GUTENBERG_PLUGIN ) {\n\t\t__experimentalRegisterExperimentalCoreBlocks( {\n\t\t\tenableFSEBlocks: settings.__unstableEnableFullSiteEditingBlocks,\n\t\t} );\n\t}\n\n\t// Show a console log warning if the browser is not in Standards rendering mode.\n\tconst documentMode =\n\t\tdocument.compatMode === 'CSS1Compat' ? 'Standards' : 'Quirks';\n\tif ( documentMode !== 'Standards' ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t\"Your browser is using Quirks Mode. \\nThis can cause rendering issues such as blocks overlaying meta boxes in the editor. Quirks Mode can be triggered by PHP errors or HTML code appearing before the opening <!DOCTYPE html>. Try checking the raw page source or your site's PHP error log and resolving errors there, removing any HTML before the doctype, or disabling plugins.\"\n\t\t);\n\t}\n\n\t// This is a temporary fix for a couple of issues specific to Webkit on iOS.\n\t// Without this hack the browser scrolls the mobile toolbar off-screen.\n\t// Once supported in Safari we can replace this in favor of preventScroll.\n\t// For details see issue #18632 and PR #18686\n\t// Specifically, we scroll `interface-interface-skeleton__body` to enable a fixed top toolbar.\n\t// But Mobile Safari forces the `html` element to scroll upwards, hiding the toolbar.\n\n\tconst isIphone = window.navigator.userAgent.indexOf( 'iPhone' ) !== -1;\n\tif ( isIphone ) {\n\t\twindow.addEventListener( 'scroll', ( event ) => {\n\t\t\tconst editorScrollContainer = document.getElementsByClassName(\n\t\t\t\t'interface-interface-skeleton__body'\n\t\t\t)[ 0 ];\n\t\t\tif ( event.target === document ) {\n\t\t\t\t// Scroll element into view by scrolling the editor container by the same amount\n\t\t\t\t// that Mobile Safari tried to scroll the html element upwards.\n\t\t\t\tif ( window.scrollY > 100 ) {\n\t\t\t\t\teditorScrollContainer.scrollTop =\n\t\t\t\t\t\teditorScrollContainer.scrollTop + window.scrollY;\n\t\t\t\t}\n\t\t\t\t// Undo unwanted scroll on html element, but only in the visual editor.\n\t\t\t\tif (\n\t\t\t\t\tdocument.getElementsByClassName( 'is-mode-visual' )[ 0 ]\n\t\t\t\t) {\n\t\t\t\t\twindow.scrollTo( 0, 0 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Prevent the default browser action for files dropped outside of dropzones.\n\twindow.addEventListener( 'dragover', ( e ) => e.preventDefault(), false );\n\twindow.addEventListener( 'drop', ( e ) => e.preventDefault(), false );\n\n\t// Drive the resolvers whose data `createPreloadingMiddleware`\n\t// already has cached so every metadata entry they touch is\n\t// `finished` by the time React mounts \u2014 no `setTimeout(0)`\n\t// resolution dance on first render. Multi-use lets a single\n\t// preloaded URL back several selectors (e.g. /wp/v2/settings GET +\n\t// OPTIONS serves `getEntitiesConfig`, `canUser`, `getEntityRecord`).\n\tenablePreloadMultiUse();\n\tconst preloadedResolutions = preloadResolutions( postType, postId );\n\n\tpreloadedResolutions.finally( () => {\n\t\t// Anything not consumed by the kickoff falls through to a real\n\t\t// network request from here on. `clearPreloadedData` logs which\n\t\t// preload entries (if any) were never served.\n\t\tclearPreloadedData();\n\t\tif ( postType && postId ) {\n\t\t\tconst post = select( coreDataStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tif ( post ) {\n\t\t\t\tdispatch( editorStore ).setupEditor(\n\t\t\t\t\tpost,\n\t\t\t\t\tinitialEdits,\n\t\t\t\t\tsettings.template\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\troot.render(\n\t\t\t<StrictMode>\n\t\t\t\t<Layout\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t/>\n\t\t\t</StrictMode>\n\t\t);\n\t} );\n\n\treturn root;\n}\n\n/**\n * Drive resolvers to completion against the preload cache before React\n * mounts. Two phases: known-up-front args (post id + type), then args\n * derived from phase-1 state (post slug \u2192 template, current global\n * styles id \u2192 record + canUser).\n *\n * @param {string} postType Current post type.\n * @param {number} postId Current post id.\n * @return {Promise<void>} Resolves when the kickoff resolvers settle.\n */\nasync function preloadResolutions( postType, postId ) {\n\tconst core = resolveSelect( coreDataStore );\n\tconst coreSelect = select( coreDataStore );\n\n\ttry {\n\t\tawait Promise.all( [\n\t\t\tcore.getCurrentUser(),\n\t\t\tcore.getEntitiesConfig( 'postType' ),\n\t\t\tcore.getEntitiesConfig( 'taxonomy' ),\n\t\t\tcore.getEntitiesConfig( 'root' ),\n\t\t\tcore.getEntityRecords( 'root', 'taxonomy' ),\n\t\t\tcore.getCurrentTheme(),\n\t\t\t// Forward-resolver alias of `getCurrentTheme` with its own\n\t\t\t// resolution metadata, so it needs a separate kick.\n\t\t\tcore.getThemeSupports(),\n\t\t\tcore.getBlockPatternCategories(),\n\t\t\tcore.__experimentalGetCurrentGlobalStylesId(),\n\t\t\tcore.__experimentalGetCurrentThemeBaseGlobalStyles(),\n\t\t\tcore.__experimentalGetCurrentThemeGlobalStylesVariations(),\n\t\t\tcore.getEntityRecord( 'root', '__unstableBase' ),\n\t\t\tcore.getEntityRecord( 'root', 'site' ),\n\t\t\tcore.canUser( 'read', { kind: 'root', name: 'site' } ),\n\t\t\tcore.canUser( 'create', { kind: 'postType', name: 'attachment' } ),\n\t\t\tcore.canUser( 'create', { kind: 'postType', name: 'page' } ),\n\t\t\tcore.canUser( 'create', { kind: 'postType', name: 'wp_block' } ),\n\t\t\tcore.canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ),\n\t\t\t// Per-post resolvers. `getPostType` and `getEditedEntityRecord`\n\t\t\t// are shorthand/forward-resolver aliases with their own\n\t\t\t// resolution metadata, so they need separate kicks.\n\t\t\t...( postType && postId\n\t\t\t\t? [\n\t\t\t\t\t\tcore.getPostType( postType ),\n\t\t\t\t\t\tcore.getEntityRecord( 'postType', postType, postId ),\n\t\t\t\t\t\tcore.getEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcore.getAutosaves( postType, postId ),\n\t\t\t\t\t\tcore.getDefaultTemplateId( { slug: 'front-page' } ),\n\t\t\t\t\t\tcore.canUser( 'create', {\n\t\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\t\tname: postType,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [] ),\n\t\t] );\n\n\t\t// Phase 2: read derived data out of state.\n\t\tconst tasks = [];\n\t\tconst globalStylesId =\n\t\t\tcoreSelect.__experimentalGetCurrentGlobalStylesId();\n\t\tif ( globalStylesId ) {\n\t\t\ttasks.push(\n\t\t\t\tcore.getEntityRecord( 'root', 'globalStyles', globalStylesId ),\n\t\t\t\tcore.canUser( 'read', {\n\t\t\t\t\tkind: 'root',\n\t\t\t\t\tname: 'globalStyles',\n\t\t\t\t\tid: globalStylesId,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tif ( postType && postId ) {\n\t\t\tconst post = coreSelect.getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tif ( post ) {\n\t\t\t\t// Mirrors core-data's `getDefaultTemplate` slug formula.\n\t\t\t\tlet slug = 'page' === postType ? 'page' : 'single-' + postType;\n\t\t\t\tif ( post.slug ) {\n\t\t\t\t\tslug += '-' + post.slug;\n\t\t\t\t}\n\t\t\t\ttasks.push( core.getDefaultTemplateId( { slug } ) );\n\n\t\t\t\tif ( post.author ) {\n\t\t\t\t\ttasks.push(\n\t\t\t\t\t\tcore.getUser( post.author, {\n\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t_fields: 'id,name',\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( tasks.length ) {\n\t\t\tawait Promise.all( tasks );\n\t\t}\n\t} catch {\n\t\t// Resolver failures here would also surface on demand; don't block render.\n\t}\n}\n\n/**\n * Used to reinitialize the editor after an error. Now it's a deprecated noop function.\n */\nexport function reinitializeEditor() {\n\tdeprecated( 'wp.editPost.reinitializeEditor', {\n\t\tsince: '6.2',\n\t\tversion: '6.3',\n\t} );\n}\n\nexport { default as __experimentalFullscreenModeClose } from './components/back-button/fullscreen-mode-close';\nexport { __experimentalMainDashboardButton };\nexport { store } from './store';\nexport * from './deprecated';\n"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tregisterCoreBlocks,\n\t__experimentalRegisterExperimentalCoreBlocks,\n} from '@wordpress/block-library';\nimport deprecated from '@wordpress/deprecated';\nimport { createRoot, StrictMode } from '@wordpress/element';\nimport { dispatch, resolveSelect, select } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tregisterLegacyWidgetBlock,\n\tregisterWidgetGroupBlock,\n} from '@wordpress/widgets';\nimport {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\nimport { unlock } from './lock-unlock';\n\nconst {\n\tBackButton: __experimentalMainDashboardButton,\n\tregisterCoreBlockBindingsSources,\n} = unlock( editorPrivateApis );\n\nconst { enablePreloadMultiUse, clearPreloadedData } = unlock(\n\tapiFetch.privateApis\n);\n\n/**\n * Initializes and returns an instance of Editor.\n *\n * @param {string} id Unique identifier for editor instance.\n * @param {string} postType Post type of the post to edit.\n * @param {Object} postId ID of the post to edit.\n * @param {?Object} settings Editor settings object.\n * @param {Object} initialEdits Programmatic edits to apply initially, to be\n * considered as non-user-initiated (bypass for\n * unsaved changes prompt).\n */\nexport function initializeEditor(\n\tid,\n\tpostType,\n\tpostId,\n\tsettings,\n\tinitialEdits\n) {\n\tconst isMediumOrBigger = window.matchMedia( '(min-width: 782px)' ).matches;\n\tconst target = document.getElementById( id );\n\tconst root = createRoot( target );\n\n\tdispatch( preferencesStore ).setDefaults( 'core/edit-post', {\n\t\tfullscreenMode: true,\n\t\tthemeStyles: true,\n\t\twelcomeGuide: true,\n\t\twelcomeGuideTemplate: true,\n\t} );\n\n\tdispatch( preferencesStore ).setDefaults( 'core', {\n\t\tallowRightClickOverrides: true,\n\t\teditorMode: 'visual',\n\t\teditorTool: 'edit',\n\t\tfixedToolbar: false,\n\t\thiddenBlockTypes: [],\n\t\tinactivePanels: [],\n\t\topenPanels: [ 'post-status' ],\n\t\tshowBlockBreadcrumbs: true,\n\t\tshowIconLabels: false,\n\t\tshowListViewByDefault: false,\n\t\tenableChoosePatternModal: true,\n\t\tisPublishSidebarEnabled: true,\n\t\tshowCollaborationCursor: false,\n\t\tshowCollaborationNotifications: true,\n\t} );\n\n\tif ( window.__clientSideMediaProcessing ) {\n\t\tdispatch( preferencesStore ).setDefaults( 'core/media', {\n\t\t\trequireApproval: true,\n\t\t\toptimizeOnUpload: true,\n\t\t} );\n\t}\n\n\tdispatch( blocksStore ).reapplyBlockTypeFilters();\n\n\t// Check if the block list view should be open by default.\n\t// If `distractionFree` mode is enabled, the block list view should not be open.\n\t// This behavior is disabled for small viewports.\n\tif (\n\t\tisMediumOrBigger &&\n\t\tselect( preferencesStore ).get( 'core', 'showListViewByDefault' ) &&\n\t\t! select( preferencesStore ).get( 'core', 'distractionFree' )\n\t) {\n\t\tdispatch( editorStore ).setIsListViewOpened( true );\n\t}\n\n\tregisterCoreBlocks();\n\tregisterCoreBlockBindingsSources();\n\tregisterLegacyWidgetBlock( { inserter: false } );\n\tregisterWidgetGroupBlock( { inserter: false } );\n\tif ( globalThis.IS_GUTENBERG_PLUGIN ) {\n\t\t__experimentalRegisterExperimentalCoreBlocks( {\n\t\t\tenableFSEBlocks: settings.__unstableEnableFullSiteEditingBlocks,\n\t\t} );\n\t}\n\n\t// Show a console log warning if the browser is not in Standards rendering mode.\n\tconst documentMode =\n\t\tdocument.compatMode === 'CSS1Compat' ? 'Standards' : 'Quirks';\n\tif ( documentMode !== 'Standards' ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t\"Your browser is using Quirks Mode. \\nThis can cause rendering issues such as blocks overlaying meta boxes in the editor. Quirks Mode can be triggered by PHP errors or HTML code appearing before the opening <!DOCTYPE html>. Try checking the raw page source or your site's PHP error log and resolving errors there, removing any HTML before the doctype, or disabling plugins.\"\n\t\t);\n\t}\n\n\t// This is a temporary fix for a couple of issues specific to Webkit on iOS.\n\t// Without this hack the browser scrolls the mobile toolbar off-screen.\n\t// Once supported in Safari we can replace this in favor of preventScroll.\n\t// For details see issue #18632 and PR #18686\n\t// Specifically, we scroll `interface-interface-skeleton__body` to enable a fixed top toolbar.\n\t// But Mobile Safari forces the `html` element to scroll upwards, hiding the toolbar.\n\n\tconst isIphone = window.navigator.userAgent.indexOf( 'iPhone' ) !== -1;\n\tif ( isIphone ) {\n\t\twindow.addEventListener( 'scroll', ( event ) => {\n\t\t\tconst editorScrollContainer = document.getElementsByClassName(\n\t\t\t\t'interface-interface-skeleton__body'\n\t\t\t)[ 0 ];\n\t\t\tif ( event.target === document ) {\n\t\t\t\t// Scroll element into view by scrolling the editor container by the same amount\n\t\t\t\t// that Mobile Safari tried to scroll the html element upwards.\n\t\t\t\tif ( window.scrollY > 100 ) {\n\t\t\t\t\teditorScrollContainer.scrollTop =\n\t\t\t\t\t\teditorScrollContainer.scrollTop + window.scrollY;\n\t\t\t\t}\n\t\t\t\t// Undo unwanted scroll on html element, but only in the visual editor.\n\t\t\t\tif (\n\t\t\t\t\tdocument.getElementsByClassName( 'is-mode-visual' )[ 0 ]\n\t\t\t\t) {\n\t\t\t\t\twindow.scrollTo( 0, 0 );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Prevent the default browser action for files dropped outside of dropzones.\n\twindow.addEventListener( 'dragover', ( e ) => e.preventDefault(), false );\n\twindow.addEventListener( 'drop', ( e ) => e.preventDefault(), false );\n\n\t// Drive the resolvers whose data `createPreloadingMiddleware`\n\t// already has cached so every metadata entry they touch is\n\t// `finished` by the time React mounts — no `setTimeout(0)`\n\t// resolution dance on first render. Multi-use lets a single\n\t// preloaded URL back several selectors (e.g. /wp/v2/settings GET +\n\t// OPTIONS serves `getEntitiesConfig`, `canUser`, `getEntityRecord`).\n\tenablePreloadMultiUse();\n\tconst preloadedResolutions = preloadResolutions( postType, postId );\n\n\tpreloadedResolutions.finally( () => {\n\t\t// Anything not consumed by the kickoff falls through to a real\n\t\t// network request from here on. `clearPreloadedData` logs which\n\t\t// preload entries (if any) were never served.\n\t\tclearPreloadedData();\n\t\tif ( postType && postId ) {\n\t\t\tconst post = select( coreDataStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tif ( post ) {\n\t\t\t\tdispatch( editorStore ).setupEditor(\n\t\t\t\t\tpost,\n\t\t\t\t\tinitialEdits,\n\t\t\t\t\tsettings.template\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\troot.render(\n\t\t\t<StrictMode>\n\t\t\t\t<Layout\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tinitialEdits={ initialEdits }\n\t\t\t\t/>\n\t\t\t</StrictMode>\n\t\t);\n\t} );\n\n\treturn root;\n}\n\n/**\n * Drive resolvers to completion against the preload cache before React\n * mounts. Two phases: known-up-front args (post id + type), then args\n * derived from phase-1 state (post slug → template, current global\n * styles id → record + canUser).\n *\n * @param {string} postType Current post type.\n * @param {number} postId Current post id.\n * @return {Promise<void>} Resolves when the kickoff resolvers settle.\n */\nasync function preloadResolutions( postType, postId ) {\n\tconst core = resolveSelect( coreDataStore );\n\tconst coreSelect = select( coreDataStore );\n\n\ttry {\n\t\tawait Promise.all( [\n\t\t\tcore.getCurrentUser(),\n\t\t\tcore.getEntitiesConfig( 'postType' ),\n\t\t\tcore.getEntitiesConfig( 'taxonomy' ),\n\t\t\tcore.getEntitiesConfig( 'root' ),\n\t\t\tcore.getEntityRecords( 'root', 'taxonomy' ),\n\t\t\tcore.getCurrentTheme(),\n\t\t\t// Forward-resolver alias of `getCurrentTheme` with its own\n\t\t\t// resolution metadata, so it needs a separate kick.\n\t\t\tcore.getThemeSupports(),\n\t\t\tcore.getBlockPatternCategories(),\n\t\t\tcore.__experimentalGetCurrentGlobalStylesId(),\n\t\t\tcore.__experimentalGetCurrentThemeBaseGlobalStyles(),\n\t\t\tcore.__experimentalGetCurrentThemeGlobalStylesVariations(),\n\t\t\tcore.getEntityRecord( 'root', '__unstableBase' ),\n\t\t\tcore.getEntityRecord( 'root', 'site' ),\n\t\t\tcore.canUser( 'read', { kind: 'root', name: 'site' } ),\n\t\t\tcore.canUser( 'create', { kind: 'postType', name: 'attachment' } ),\n\t\t\tcore.canUser( 'create', { kind: 'postType', name: 'page' } ),\n\t\t\tcore.canUser( 'create', { kind: 'postType', name: 'wp_block' } ),\n\t\t\tcore.canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ),\n\t\t\t// Per-post resolvers. `getPostType` and `getEditedEntityRecord`\n\t\t\t// are shorthand/forward-resolver aliases with their own\n\t\t\t// resolution metadata, so they need separate kicks.\n\t\t\t...( postType && postId\n\t\t\t\t? [\n\t\t\t\t\t\tcore.getPostType( postType ),\n\t\t\t\t\t\tcore.getEntityRecord( 'postType', postType, postId ),\n\t\t\t\t\t\tcore.getEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcore.getAutosaves( postType, postId ),\n\t\t\t\t\t\tcore.getDefaultTemplateId( { slug: 'front-page' } ),\n\t\t\t\t\t\tcore.canUser( 'create', {\n\t\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\t\tname: postType,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [] ),\n\t\t] );\n\n\t\t// Phase 2: read derived data out of state.\n\t\tconst tasks = [];\n\t\tconst globalStylesId =\n\t\t\tcoreSelect.__experimentalGetCurrentGlobalStylesId();\n\t\tif ( globalStylesId ) {\n\t\t\ttasks.push(\n\t\t\t\tcore.getEntityRecord( 'root', 'globalStyles', globalStylesId ),\n\t\t\t\tcore.canUser( 'read', {\n\t\t\t\t\tkind: 'root',\n\t\t\t\t\tname: 'globalStyles',\n\t\t\t\t\tid: globalStylesId,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tif ( postType && postId ) {\n\t\t\tconst post = coreSelect.getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tif ( post ) {\n\t\t\t\t// Mirrors core-data's `getDefaultTemplate` slug formula.\n\t\t\t\tlet slug = 'page' === postType ? 'page' : 'single-' + postType;\n\t\t\t\tif ( post.slug ) {\n\t\t\t\t\tslug += '-' + post.slug;\n\t\t\t\t}\n\t\t\t\ttasks.push( core.getDefaultTemplateId( { slug } ) );\n\n\t\t\t\tif ( post.author ) {\n\t\t\t\t\ttasks.push(\n\t\t\t\t\t\tcore.getUser( post.author, {\n\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t_fields: 'id,name',\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( tasks.length ) {\n\t\t\tawait Promise.all( tasks );\n\t\t}\n\t} catch {\n\t\t// Resolver failures here would also surface on demand; don't block render.\n\t}\n}\n\n/**\n * Used to reinitialize the editor after an error. Now it's a deprecated noop function.\n */\nexport function reinitializeEditor() {\n\tdeprecated( 'wp.editPost.reinitializeEditor', {\n\t\tsince: '6.2',\n\t\tversion: '6.3',\n\t} );\n}\n\nexport { default as __experimentalFullscreenModeClose } from './components/back-button/fullscreen-mode-close';\nexport { __experimentalMainDashboardButton };\nexport { store } from './store';\nexport * from './deprecated';\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["default"]
|
|
7
7
|
}
|
|
@@ -146,7 +146,8 @@
|
|
|
146
146
|
.edit-post-fullscreen-mode-close-site-icon__image {
|
|
147
147
|
width: 100%;
|
|
148
148
|
height: 100%;
|
|
149
|
-
object-fit: cover;
|
|
149
|
+
-o-object-fit: cover;
|
|
150
|
+
object-fit: cover;
|
|
150
151
|
background: #333;
|
|
151
152
|
aspect-ratio: 1/1;
|
|
152
153
|
}
|
|
@@ -224,7 +225,9 @@
|
|
|
224
225
|
}
|
|
225
226
|
}
|
|
226
227
|
.edit-post-meta-boxes-main__presenter > button {
|
|
227
|
-
appearance: none;
|
|
228
|
+
-webkit-appearance: none;
|
|
229
|
+
-moz-appearance: none;
|
|
230
|
+
appearance: none;
|
|
228
231
|
padding: 0;
|
|
229
232
|
border: none;
|
|
230
233
|
outline: none;
|
|
@@ -411,7 +414,8 @@
|
|
|
411
414
|
.edit-template-welcome-guide__image > img {
|
|
412
415
|
display: block;
|
|
413
416
|
max-width: 100%;
|
|
414
|
-
object-fit: cover;
|
|
417
|
+
-o-object-fit: cover;
|
|
418
|
+
object-fit: cover;
|
|
415
419
|
}
|
|
416
420
|
.edit-post-welcome-guide__heading,
|
|
417
421
|
.edit-template-welcome-guide__heading {
|
package/build-style/style.css
CHANGED
|
@@ -146,7 +146,8 @@
|
|
|
146
146
|
.edit-post-fullscreen-mode-close-site-icon__image {
|
|
147
147
|
width: 100%;
|
|
148
148
|
height: 100%;
|
|
149
|
-
object-fit: cover;
|
|
149
|
+
-o-object-fit: cover;
|
|
150
|
+
object-fit: cover;
|
|
150
151
|
background: #333;
|
|
151
152
|
aspect-ratio: 1/1;
|
|
152
153
|
}
|
|
@@ -224,7 +225,9 @@
|
|
|
224
225
|
}
|
|
225
226
|
}
|
|
226
227
|
.edit-post-meta-boxes-main__presenter > button {
|
|
227
|
-
appearance: none;
|
|
228
|
+
-webkit-appearance: none;
|
|
229
|
+
-moz-appearance: none;
|
|
230
|
+
appearance: none;
|
|
228
231
|
padding: 0;
|
|
229
232
|
border: none;
|
|
230
233
|
outline: none;
|
|
@@ -411,7 +414,8 @@
|
|
|
411
414
|
.edit-template-welcome-guide__image > img {
|
|
412
415
|
display: block;
|
|
413
416
|
max-width: 100%;
|
|
414
|
-
object-fit: cover;
|
|
417
|
+
-o-object-fit: cover;
|
|
418
|
+
object-fit: cover;
|
|
415
419
|
}
|
|
416
420
|
.edit-post-welcome-guide__heading,
|
|
417
421
|
.edit-template-welcome-guide__heading {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-post",
|
|
3
|
-
"version": "8.48.0",
|
|
3
|
+
"version": "8.48.2-next.v.202606191442.0+17fe7db8a",
|
|
4
4
|
"description": "Edit Post module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -40,7 +40,6 @@
|
|
|
40
40
|
},
|
|
41
41
|
"./package.json": "./package.json"
|
|
42
42
|
},
|
|
43
|
-
"react-native": "src/index",
|
|
44
43
|
"wpScript": true,
|
|
45
44
|
"wpScriptExtraDependencies": [
|
|
46
45
|
"media-models",
|
|
@@ -48,41 +47,46 @@
|
|
|
48
47
|
"postbox"
|
|
49
48
|
],
|
|
50
49
|
"dependencies": {
|
|
51
|
-
"@wordpress/a11y": "^4.48.0",
|
|
52
|
-
"@wordpress/admin-ui": "^2.3.0",
|
|
53
|
-
"@wordpress/api-fetch": "^7.48.0",
|
|
54
|
-
"@wordpress/base-styles": "^
|
|
55
|
-
"@wordpress/block-editor": "^15.
|
|
56
|
-
"@wordpress/block-library": "^
|
|
57
|
-
"@wordpress/blocks": "^15.21.0",
|
|
58
|
-
"@wordpress/commands": "^1.48.0",
|
|
59
|
-
"@wordpress/components": "^35.
|
|
60
|
-
"@wordpress/compose": "^8.1.0",
|
|
61
|
-
"@wordpress/core-data": "^7.48.0",
|
|
62
|
-
"@wordpress/data": "^10.48.0",
|
|
63
|
-
"@wordpress/deprecated": "^4.48.0",
|
|
64
|
-
"@wordpress/dom": "^4.48.0",
|
|
65
|
-
"@wordpress/editor": "^14.48.0",
|
|
66
|
-
"@wordpress/element": "^8.0.0",
|
|
67
|
-
"@wordpress/global-styles-engine": "^1.15.0",
|
|
68
|
-
"@wordpress/hooks": "^4.48.0",
|
|
69
|
-
"@wordpress/html-entities": "^4.48.0",
|
|
70
|
-
"@wordpress/i18n": "^6.21.0",
|
|
71
|
-
"@wordpress/icons": "^
|
|
72
|
-
"@wordpress/keyboard-shortcuts": "^5.48.0",
|
|
73
|
-
"@wordpress/keycodes": "^4.48.0",
|
|
74
|
-
"@wordpress/notices": "^5.48.0",
|
|
75
|
-
"@wordpress/plugins": "^7.48.0",
|
|
76
|
-
"@wordpress/preferences": "^4.48.0",
|
|
77
|
-
"@wordpress/private-apis": "^1.48.0",
|
|
78
|
-
"@wordpress/ui": "^0.
|
|
79
|
-
"@wordpress/url": "^4.48.0",
|
|
80
|
-
"@wordpress/viewport": "^6.48.0",
|
|
81
|
-
"@wordpress/warning": "^3.48.0",
|
|
82
|
-
"@wordpress/widgets": "^4.48.0",
|
|
50
|
+
"@wordpress/a11y": "^4.48.2-next.v.202606191442.0+17fe7db8a",
|
|
51
|
+
"@wordpress/admin-ui": "^2.3.2-next.v.202606191442.0+17fe7db8a",
|
|
52
|
+
"@wordpress/api-fetch": "^7.48.2-next.v.202606191442.0+17fe7db8a",
|
|
53
|
+
"@wordpress/base-styles": "^10.0.2-next.v.202606191442.0+17fe7db8a",
|
|
54
|
+
"@wordpress/block-editor": "^15.22.1-next.v.202606191442.0+17fe7db8a",
|
|
55
|
+
"@wordpress/block-library": "^10.0.1-next.v.202606191442.0+17fe7db8a",
|
|
56
|
+
"@wordpress/blocks": "^15.21.3-next.v.202606191442.0+17fe7db8a",
|
|
57
|
+
"@wordpress/commands": "^1.48.2-next.v.202606191442.0+17fe7db8a",
|
|
58
|
+
"@wordpress/components": "^35.1.1-next.v.202606191442.0+17fe7db8a",
|
|
59
|
+
"@wordpress/compose": "^8.1.2-next.v.202606191442.0+17fe7db8a",
|
|
60
|
+
"@wordpress/core-data": "^7.48.2-next.v.202606191442.0+17fe7db8a",
|
|
61
|
+
"@wordpress/data": "^10.48.2-next.v.202606191442.0+17fe7db8a",
|
|
62
|
+
"@wordpress/deprecated": "^4.48.2-next.v.202606191442.0+17fe7db8a",
|
|
63
|
+
"@wordpress/dom": "^4.48.2-next.v.202606191442.0+17fe7db8a",
|
|
64
|
+
"@wordpress/editor": "^14.48.2-next.v.202606191442.0+17fe7db8a",
|
|
65
|
+
"@wordpress/element": "^8.0.2-next.v.202606191442.0+17fe7db8a",
|
|
66
|
+
"@wordpress/global-styles-engine": "^1.15.2-next.v.202606191442.0+17fe7db8a",
|
|
67
|
+
"@wordpress/hooks": "^4.48.2-next.v.202606191442.0+17fe7db8a",
|
|
68
|
+
"@wordpress/html-entities": "^4.48.2-next.v.202606191442.0+17fe7db8a",
|
|
69
|
+
"@wordpress/i18n": "^6.21.2-next.v.202606191442.0+17fe7db8a",
|
|
70
|
+
"@wordpress/icons": "^14.0.2-next.v.202606191442.0+17fe7db8a",
|
|
71
|
+
"@wordpress/keyboard-shortcuts": "^5.48.2-next.v.202606191442.0+17fe7db8a",
|
|
72
|
+
"@wordpress/keycodes": "^4.48.2-next.v.202606191442.0+17fe7db8a",
|
|
73
|
+
"@wordpress/notices": "^5.48.2-next.v.202606191442.0+17fe7db8a",
|
|
74
|
+
"@wordpress/plugins": "^7.48.2-next.v.202606191442.0+17fe7db8a",
|
|
75
|
+
"@wordpress/preferences": "^4.48.2-next.v.202606191442.0+17fe7db8a",
|
|
76
|
+
"@wordpress/private-apis": "^1.48.2-next.v.202606191442.0+17fe7db8a",
|
|
77
|
+
"@wordpress/ui": "^0.16.1-next.v.202606191442.0+17fe7db8a",
|
|
78
|
+
"@wordpress/url": "^4.48.2-next.v.202606191442.0+17fe7db8a",
|
|
79
|
+
"@wordpress/viewport": "^6.48.2-next.v.202606191442.0+17fe7db8a",
|
|
80
|
+
"@wordpress/warning": "^3.48.2-next.v.202606191442.0+17fe7db8a",
|
|
81
|
+
"@wordpress/widgets": "^4.48.2-next.v.202606191442.0+17fe7db8a",
|
|
83
82
|
"clsx": "^2.1.1",
|
|
84
83
|
"memize": "^2.1.0"
|
|
85
84
|
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@testing-library/dom": "^10.4.1",
|
|
87
|
+
"@testing-library/react": "^16.3.2",
|
|
88
|
+
"@testing-library/user-event": "^14.6.1"
|
|
89
|
+
},
|
|
86
90
|
"peerDependencies": {
|
|
87
91
|
"react": "^18.0.0",
|
|
88
92
|
"react-dom": "^18.0.0"
|
|
@@ -90,5 +94,5 @@
|
|
|
90
94
|
"publishConfig": {
|
|
91
95
|
"access": "public"
|
|
92
96
|
},
|
|
93
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "1b6a19222df5a88f161880b5789efb3171d8f425"
|
|
94
98
|
}
|
|
@@ -6,88 +6,76 @@ import { __, _x } from '@wordpress/i18n';
|
|
|
6
6
|
import {
|
|
7
7
|
Modal,
|
|
8
8
|
Button,
|
|
9
|
-
__experimentalHStack as HStack,
|
|
10
|
-
__experimentalVStack as VStack,
|
|
11
9
|
ToggleControl,
|
|
12
10
|
TextControl,
|
|
13
11
|
} from '@wordpress/components';
|
|
12
|
+
import { Stack } from '@wordpress/ui';
|
|
14
13
|
import { useState } from '@wordpress/element';
|
|
15
14
|
import { store as editorStore } from '@wordpress/editor';
|
|
16
15
|
|
|
17
16
|
export default function InitPatternModal() {
|
|
18
17
|
const { editPost } = useDispatch( editorStore );
|
|
18
|
+
const { isCleanNewPost } = useSelect( editorStore );
|
|
19
19
|
const [ syncType, setSyncType ] = useState( undefined );
|
|
20
20
|
const [ title, setTitle ] = useState( '' );
|
|
21
|
+
const [ isModalOpen, setIsModalOpen ] = useState( () => isCleanNewPost() );
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
( select ) => select( editorStore ).isCleanNewPost(),
|
|
24
|
-
[]
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
const [ isModalOpen, setIsModalOpen ] = useState( () => isNewPost );
|
|
28
|
-
|
|
29
|
-
if ( ! isNewPost ) {
|
|
23
|
+
if ( ! isModalOpen ) {
|
|
30
24
|
return null;
|
|
31
25
|
}
|
|
32
26
|
|
|
33
27
|
return (
|
|
34
|
-
|
|
35
|
-
{
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
28
|
+
<Modal
|
|
29
|
+
title={ __( 'Create pattern' ) }
|
|
30
|
+
onRequestClose={ () => {
|
|
31
|
+
setIsModalOpen( false );
|
|
32
|
+
} }
|
|
33
|
+
overlayClassName="patterns-create-modal"
|
|
34
|
+
>
|
|
35
|
+
<form
|
|
36
|
+
onSubmit={ ( event ) => {
|
|
37
|
+
event.preventDefault();
|
|
38
|
+
setIsModalOpen( false );
|
|
39
|
+
editPost( {
|
|
40
|
+
title,
|
|
41
|
+
meta: {
|
|
42
|
+
wp_pattern_sync_status: syncType,
|
|
43
|
+
},
|
|
44
|
+
} );
|
|
45
|
+
} }
|
|
46
|
+
>
|
|
47
|
+
<Stack direction="column" gap="lg">
|
|
48
|
+
<TextControl
|
|
49
|
+
label={ __( 'Name' ) }
|
|
50
|
+
value={ title }
|
|
51
|
+
onChange={ setTitle }
|
|
52
|
+
placeholder={ __( 'My pattern' ) }
|
|
53
|
+
className="patterns-create-modal__name-input"
|
|
54
|
+
__next40pxDefaultSize
|
|
55
|
+
/>
|
|
56
|
+
<ToggleControl
|
|
57
|
+
label={ _x( 'Synced', 'pattern (singular)' ) }
|
|
58
|
+
help={ __(
|
|
59
|
+
'Sync this pattern across multiple locations.'
|
|
60
|
+
) }
|
|
61
|
+
checked={ ! syncType }
|
|
62
|
+
onChange={ () => {
|
|
63
|
+
setSyncType( ! syncType ? 'unsynced' : undefined );
|
|
53
64
|
} }
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
checked={ ! syncType }
|
|
70
|
-
onChange={ () => {
|
|
71
|
-
setSyncType(
|
|
72
|
-
! syncType ? 'unsynced' : undefined
|
|
73
|
-
);
|
|
74
|
-
} }
|
|
75
|
-
/>
|
|
76
|
-
<HStack justify="right">
|
|
77
|
-
<Button
|
|
78
|
-
__next40pxDefaultSize
|
|
79
|
-
variant="primary"
|
|
80
|
-
type="submit"
|
|
81
|
-
disabled={ ! title }
|
|
82
|
-
accessibleWhenDisabled
|
|
83
|
-
>
|
|
84
|
-
{ __( 'Create' ) }
|
|
85
|
-
</Button>
|
|
86
|
-
</HStack>
|
|
87
|
-
</VStack>
|
|
88
|
-
</form>
|
|
89
|
-
</Modal>
|
|
90
|
-
) }
|
|
91
|
-
</>
|
|
65
|
+
/>
|
|
66
|
+
<Stack justify="end">
|
|
67
|
+
<Button
|
|
68
|
+
__next40pxDefaultSize
|
|
69
|
+
variant="primary"
|
|
70
|
+
type="submit"
|
|
71
|
+
disabled={ ! title }
|
|
72
|
+
accessibleWhenDisabled
|
|
73
|
+
>
|
|
74
|
+
{ __( 'Create' ) }
|
|
75
|
+
</Button>
|
|
76
|
+
</Stack>
|
|
77
|
+
</Stack>
|
|
78
|
+
</form>
|
|
79
|
+
</Modal>
|
|
92
80
|
);
|
|
93
81
|
}
|