diff options
Diffstat (limited to 'wp-includes/js/dist/edit-post.js')
-rw-r--r-- | wp-includes/js/dist/edit-post.js | 6655 |
1 files changed, 1097 insertions, 5558 deletions
diff --git a/wp-includes/js/dist/edit-post.js b/wp-includes/js/dist/edit-post.js index 5ea7449..6c40fce 100644 --- a/wp-includes/js/dist/edit-post.js +++ b/wp-includes/js/dist/edit-post.js @@ -1,97 +1,7 @@ /******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 5755: -/***/ ((module, exports) => { - -var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! - Copyright (c) 2018 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -/* global define */ - -(function () { - 'use strict'; - - var hasOwn = {}.hasOwnProperty; - var nativeCodeString = '[native code]'; - - function classNames() { - var classes = []; - - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - if (!arg) continue; - - var argType = typeof arg; - - if (argType === 'string' || argType === 'number') { - classes.push(arg); - } else if (Array.isArray(arg)) { - if (arg.length) { - var inner = classNames.apply(null, arg); - if (inner) { - classes.push(inner); - } - } - } else if (argType === 'object') { - if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) { - classes.push(arg.toString()); - continue; - } - - for (var key in arg) { - if (hasOwn.call(arg, key) && arg[key]) { - classes.push(key); - } - } - } - } - - return classes.join(' '); - } - - if ( true && module.exports) { - classNames.default = classNames; - module.exports = classNames; - } else if (true) { - // register as 'classnames', consistent with npm package name - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { - return classNames; - }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else {} -}()); - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } +/******/ "use strict"; +/******/ // The require scope +/******/ var __webpack_require__ = {}; /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ @@ -136,72 +46,42 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! /******/ /************************************************************************/ var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { - PluginBlockSettingsMenuItem: () => (/* reexport */ plugin_block_settings_menu_item), - PluginDocumentSettingPanel: () => (/* reexport */ plugin_document_setting_panel), - PluginMoreMenuItem: () => (/* reexport */ plugin_more_menu_item), - PluginPostPublishPanel: () => (/* reexport */ plugin_post_publish_panel), - PluginPostStatusInfo: () => (/* reexport */ plugin_post_status_info), - PluginPrePublishPanel: () => (/* reexport */ plugin_pre_publish_panel), - PluginSidebar: () => (/* reexport */ PluginSidebarEditPost), + PluginBlockSettingsMenuItem: () => (/* reexport */ PluginBlockSettingsMenuItem), + PluginDocumentSettingPanel: () => (/* reexport */ PluginDocumentSettingPanel), + PluginMoreMenuItem: () => (/* reexport */ PluginMoreMenuItem), + PluginPostPublishPanel: () => (/* reexport */ PluginPostPublishPanel), + PluginPostStatusInfo: () => (/* reexport */ PluginPostStatusInfo), + PluginPrePublishPanel: () => (/* reexport */ PluginPrePublishPanel), + PluginSidebar: () => (/* reexport */ PluginSidebar), PluginSidebarMoreMenuItem: () => (/* reexport */ PluginSidebarMoreMenuItem), __experimentalFullscreenModeClose: () => (/* reexport */ fullscreen_mode_close), - __experimentalMainDashboardButton: () => (/* reexport */ main_dashboard_button), - __experimentalPluginPostExcerpt: () => (/* binding */ __experimentalPluginPostExcerpt), + __experimentalMainDashboardButton: () => (/* binding */ __experimentalMainDashboardButton), + __experimentalPluginPostExcerpt: () => (/* reexport */ __experimentalPluginPostExcerpt), initializeEditor: () => (/* binding */ initializeEditor), reinitializeEditor: () => (/* binding */ reinitializeEditor), - store: () => (/* reexport */ store_store) + store: () => (/* reexport */ store) }); -// NAMESPACE OBJECT: ./node_modules/@wordpress/interface/build-module/store/actions.js +// NAMESPACE OBJECT: ./node_modules/@wordpress/edit-post/build-module/store/actions.js var actions_namespaceObject = {}; __webpack_require__.r(actions_namespaceObject); __webpack_require__.d(actions_namespaceObject, { - closeModal: () => (closeModal), - disableComplementaryArea: () => (disableComplementaryArea), - enableComplementaryArea: () => (enableComplementaryArea), - openModal: () => (openModal), - pinItem: () => (pinItem), - setDefaultComplementaryArea: () => (setDefaultComplementaryArea), - setFeatureDefaults: () => (setFeatureDefaults), - setFeatureValue: () => (setFeatureValue), - toggleFeature: () => (toggleFeature), - unpinItem: () => (unpinItem) -}); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/interface/build-module/store/selectors.js -var selectors_namespaceObject = {}; -__webpack_require__.r(selectors_namespaceObject); -__webpack_require__.d(selectors_namespaceObject, { - getActiveComplementaryArea: () => (getActiveComplementaryArea), - isComplementaryAreaLoading: () => (isComplementaryAreaLoading), - isFeatureActive: () => (isFeatureActive), - isItemPinned: () => (isItemPinned), - isModalActive: () => (isModalActive) -}); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/edit-post/build-module/store/actions.js -var store_actions_namespaceObject = {}; -__webpack_require__.r(store_actions_namespaceObject); -__webpack_require__.d(store_actions_namespaceObject, { __experimentalSetPreviewDeviceType: () => (__experimentalSetPreviewDeviceType), __unstableCreateTemplate: () => (__unstableCreateTemplate), closeGeneralSidebar: () => (closeGeneralSidebar), - closeModal: () => (actions_closeModal), + closeModal: () => (closeModal), closePublishSidebar: () => (closePublishSidebar), hideBlockTypes: () => (hideBlockTypes), initializeMetaBoxes: () => (initializeMetaBoxes), metaBoxUpdatesFailure: () => (metaBoxUpdatesFailure), metaBoxUpdatesSuccess: () => (metaBoxUpdatesSuccess), openGeneralSidebar: () => (openGeneralSidebar), - openModal: () => (actions_openModal), + openModal: () => (openModal), openPublishSidebar: () => (openPublishSidebar), removeEditorPanel: () => (removeEditorPanel), requestMetaBoxUpdates: () => (requestMetaBoxUpdates), @@ -214,16 +94,16 @@ __webpack_require__.d(store_actions_namespaceObject, { toggleDistractionFree: () => (toggleDistractionFree), toggleEditorPanelEnabled: () => (toggleEditorPanelEnabled), toggleEditorPanelOpened: () => (toggleEditorPanelOpened), - toggleFeature: () => (actions_toggleFeature), + toggleFeature: () => (toggleFeature), togglePinnedPluginItem: () => (togglePinnedPluginItem), togglePublishSidebar: () => (togglePublishSidebar), updatePreferredStyleVariations: () => (updatePreferredStyleVariations) }); // NAMESPACE OBJECT: ./node_modules/@wordpress/edit-post/build-module/store/selectors.js -var store_selectors_namespaceObject = {}; -__webpack_require__.r(store_selectors_namespaceObject); -__webpack_require__.d(store_selectors_namespaceObject, { +var selectors_namespaceObject = {}; +__webpack_require__.r(selectors_namespaceObject); +__webpack_require__.d(selectors_namespaceObject, { __experimentalGetInsertionPoint: () => (__experimentalGetInsertionPoint), __experimentalGetPreviewDeviceType: () => (__experimentalGetPreviewDeviceType), areMetaBoxesInitialized: () => (areMetaBoxesInitialized), @@ -242,20 +122,18 @@ __webpack_require__.d(store_selectors_namespaceObject, { isEditorPanelOpened: () => (isEditorPanelOpened), isEditorPanelRemoved: () => (isEditorPanelRemoved), isEditorSidebarOpened: () => (isEditorSidebarOpened), - isFeatureActive: () => (selectors_isFeatureActive), + isFeatureActive: () => (isFeatureActive), isInserterOpened: () => (isInserterOpened), isListViewOpened: () => (isListViewOpened), isMetaBoxLocationActive: () => (isMetaBoxLocationActive), isMetaBoxLocationVisible: () => (isMetaBoxLocationVisible), - isModalActive: () => (selectors_isModalActive), + isModalActive: () => (isModalActive), isPluginItemPinned: () => (isPluginItemPinned), isPluginSidebarOpened: () => (isPluginSidebarOpened), isPublishSidebarOpened: () => (isPublishSidebarOpened), isSavingMetaBoxes: () => (selectors_isSavingMetaBoxes) }); -;// CONCATENATED MODULE: external "React" -const external_React_namespaceObject = window["React"]; ;// CONCATENATED MODULE: external ["wp","blocks"] const external_wp_blocks_namespaceObject = window["wp"]["blocks"]; ;// CONCATENATED MODULE: external ["wp","blockLibrary"] @@ -267,1807 +145,60 @@ var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external const external_wp_element_namespaceObject = window["wp"]["element"]; ;// CONCATENATED MODULE: external ["wp","data"] const external_wp_data_namespaceObject = window["wp"]["data"]; -;// CONCATENATED MODULE: external ["wp","hooks"] -const external_wp_hooks_namespaceObject = window["wp"]["hooks"]; ;// CONCATENATED MODULE: external ["wp","preferences"] const external_wp_preferences_namespaceObject = window["wp"]["preferences"]; ;// CONCATENATED MODULE: external ["wp","widgets"] const external_wp_widgets_namespaceObject = window["wp"]["widgets"]; ;// CONCATENATED MODULE: external ["wp","editor"] const external_wp_editor_namespaceObject = window["wp"]["editor"]; -;// CONCATENATED MODULE: external ["wp","mediaUtils"] -const external_wp_mediaUtils_namespaceObject = window["wp"]["mediaUtils"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/hooks/components/index.js -/** - * WordPress dependencies - */ - - -const replaceMediaUpload = () => external_wp_mediaUtils_namespaceObject.MediaUpload; -(0,external_wp_hooks_namespaceObject.addFilter)('editor.MediaUpload', 'core/edit-post/replace-media-upload', replaceMediaUpload); - ;// CONCATENATED MODULE: external ["wp","components"] const external_wp_components_namespaceObject = window["wp"]["components"]; -;// CONCATENATED MODULE: external ["wp","blockEditor"] -const external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"]; -;// CONCATENATED MODULE: external ["wp","i18n"] -const external_wp_i18n_namespaceObject = window["wp"]["i18n"]; -;// CONCATENATED MODULE: external ["wp","compose"] -const external_wp_compose_namespaceObject = window["wp"]["compose"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/hooks/validate-multiple-use/index.js - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Recursively find very first block of an specific block type. - * - * @param {Object[]} blocks List of blocks. - * @param {string} name Block name to search. - * - * @return {Object|undefined} Return block object or undefined. - */ -function findFirstOfSameType(blocks, name) { - if (!Array.isArray(blocks) || !blocks.length) { - return; - } - for (const block of blocks) { - if (block.name === name) { - return block; - } - - // Search inside innerBlocks. - const firstBlock = findFirstOfSameType(block.innerBlocks, name); - if (firstBlock) { - return firstBlock; - } - } -} -const enhance = (0,external_wp_compose_namespaceObject.compose)( -/** - * For blocks whose block type doesn't support `multiple`, provides the - * wrapped component with `originalBlockClientId` -- a reference to the - * first block of the same type in the content -- if and only if that - * "original" block is not the current one. Thus, an inexisting - * `originalBlockClientId` prop signals that the block is valid. - * - * @param {Component} WrappedBlockEdit A filtered BlockEdit instance. - * - * @return {Component} Enhanced component with merged state data props. - */ -(0,external_wp_data_namespaceObject.withSelect)((select, block) => { - const multiple = (0,external_wp_blocks_namespaceObject.hasBlockSupport)(block.name, 'multiple', true); - - // For block types with `multiple` support, there is no "original - // block" to be found in the content, as the block itself is valid. - if (multiple) { - return {}; - } - - // Otherwise, only pass `originalBlockClientId` if it refers to a different - // block from the current one. - const blocks = select(external_wp_blockEditor_namespaceObject.store).getBlocks(); - const firstOfSameType = findFirstOfSameType(blocks, block.name); - const isInvalid = firstOfSameType && firstOfSameType.clientId !== block.clientId; - return { - originalBlockClientId: isInvalid && firstOfSameType.clientId - }; -}), (0,external_wp_data_namespaceObject.withDispatch)((dispatch, { - originalBlockClientId -}) => ({ - selectFirst: () => dispatch(external_wp_blockEditor_namespaceObject.store).selectBlock(originalBlockClientId) -}))); -const withMultipleValidation = (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(BlockEdit => { - return enhance(({ - originalBlockClientId, - selectFirst, - ...props - }) => { - if (!originalBlockClientId) { - return (0,external_React_namespaceObject.createElement)(BlockEdit, { - ...props - }); - } - const blockType = (0,external_wp_blocks_namespaceObject.getBlockType)(props.name); - const outboundType = getOutboundType(props.name); - return [(0,external_React_namespaceObject.createElement)("div", { - key: "invalid-preview", - style: { - minHeight: '60px' - } - }, (0,external_React_namespaceObject.createElement)(BlockEdit, { - key: "block-edit", - ...props - })), (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.Warning, { - key: "multiple-use-warning", - actions: [(0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - key: "find-original", - variant: "secondary", - onClick: selectFirst - }, (0,external_wp_i18n_namespaceObject.__)('Find original')), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - key: "remove", - variant: "secondary", - onClick: () => props.onReplace([]) - }, (0,external_wp_i18n_namespaceObject.__)('Remove')), outboundType && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - key: "transform", - variant: "secondary", - onClick: () => props.onReplace((0,external_wp_blocks_namespaceObject.createBlock)(outboundType.name, props.attributes)) - }, (0,external_wp_i18n_namespaceObject.__)('Transform into:'), " ", outboundType.title)] - }, (0,external_React_namespaceObject.createElement)("strong", null, blockType?.title, ": "), (0,external_wp_i18n_namespaceObject.__)('This block can only be used once.'))]; - }); -}, 'withMultipleValidation'); - -/** - * Given a base block name, returns the default block type to which to offer - * transforms. - * - * @param {string} blockName Base block name. - * - * @return {?Object} The chosen default block type. - */ -function getOutboundType(blockName) { - // Grab the first outbound transform. - const transform = (0,external_wp_blocks_namespaceObject.findTransform)((0,external_wp_blocks_namespaceObject.getBlockTransforms)('to', blockName), ({ - type, - blocks - }) => type === 'block' && blocks.length === 1 // What about when .length > 1? - ); - if (!transform) { - return null; - } - return (0,external_wp_blocks_namespaceObject.getBlockType)(transform.blocks[0]); -} -(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockEdit', 'core/edit-post/validate-multiple-use/with-multiple-validation', withMultipleValidation); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/hooks/index.js -/** - * Internal dependencies - */ - - - ;// CONCATENATED MODULE: external ["wp","coreData"] const external_wp_coreData_namespaceObject = window["wp"]["coreData"]; -;// CONCATENATED MODULE: external ["wp","primitives"] -const external_wp_primitives_namespaceObject = window["wp"]["primitives"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/external.js - -/** - * WordPress dependencies - */ - -const external = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z" -})); -/* harmony default export */ const library_external = (external); - +;// CONCATENATED MODULE: external ["wp","commands"] +const external_wp_commands_namespaceObject = window["wp"]["commands"]; +;// CONCATENATED MODULE: ./node_modules/clsx/dist/clsx.mjs +function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f)}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const dist_clsx = (clsx); +;// CONCATENATED MODULE: external ["wp","blockEditor"] +const external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"]; ;// CONCATENATED MODULE: external ["wp","plugins"] const external_wp_plugins_namespaceObject = window["wp"]["plugins"]; -;// CONCATENATED MODULE: external ["wp","url"] -const external_wp_url_namespaceObject = window["wp"]["url"]; +;// CONCATENATED MODULE: external ["wp","i18n"] +const external_wp_i18n_namespaceObject = window["wp"]["i18n"]; ;// CONCATENATED MODULE: external ["wp","notices"] const external_wp_notices_namespaceObject = window["wp"]["notices"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/plugins/copy-content-menu-item/index.js - -/** - * WordPress dependencies - */ - - - - - - -function CopyContentMenuItem() { - const { - createNotice - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); - const { - getEditedPostAttribute - } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_editor_namespaceObject.store); - function getText() { - return getEditedPostAttribute('content'); - } - function onSuccess() { - createNotice('info', (0,external_wp_i18n_namespaceObject.__)('All content copied.'), { - isDismissible: true, - type: 'snackbar' - }); - } - const ref = (0,external_wp_compose_namespaceObject.useCopyToClipboard)(getText, onSuccess); - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - ref: ref - }, (0,external_wp_i18n_namespaceObject.__)('Copy all blocks')); -} - -;// CONCATENATED MODULE: external ["wp","keycodes"] -const external_wp_keycodes_namespaceObject = window["wp"]["keycodes"]; -// EXTERNAL MODULE: ./node_modules/classnames/index.js -var classnames = __webpack_require__(5755); -var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js - -/** - * WordPress dependencies - */ - -const check = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z" -})); -/* harmony default export */ const library_check = (check); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/star-filled.js - -/** - * WordPress dependencies - */ - -const starFilled = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z" -})); -/* harmony default export */ const star_filled = (starFilled); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/star-empty.js - +;// CONCATENATED MODULE: external ["wp","coreCommands"] +const external_wp_coreCommands_namespaceObject = window["wp"]["coreCommands"]; +;// CONCATENATED MODULE: external ["wp","url"] +const external_wp_url_namespaceObject = window["wp"]["url"]; +;// CONCATENATED MODULE: external ["wp","htmlEntities"] +const external_wp_htmlEntities_namespaceObject = window["wp"]["htmlEntities"]; +;// CONCATENATED MODULE: external ["wp","primitives"] +const external_wp_primitives_namespaceObject = window["wp"]["primitives"]; +;// CONCATENATED MODULE: external "ReactJSXRuntime" +const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/wordpress.js /** * WordPress dependencies */ -const starEmpty = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - fillRule: "evenodd", - d: "M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z", - clipRule: "evenodd" -})); -/* harmony default export */ const star_empty = (starEmpty); - -;// CONCATENATED MODULE: external ["wp","viewport"] -const external_wp_viewport_namespaceObject = window["wp"]["viewport"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js -/** - * WordPress dependencies - */ - -const closeSmall = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const wordpress = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z" -})); -/* harmony default export */ const close_small = (closeSmall); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/actions.js -/** - * WordPress dependencies - */ - - - -/** - * Set a default complementary area. - * - * @param {string} scope Complementary area scope. - * @param {string} area Area identifier. - * - * @return {Object} Action object. - */ -const setDefaultComplementaryArea = (scope, area) => ({ - type: 'SET_DEFAULT_COMPLEMENTARY_AREA', - scope, - area -}); - -/** - * Enable the complementary area. - * - * @param {string} scope Complementary area scope. - * @param {string} area Area identifier. - */ -const enableComplementaryArea = (scope, area) => ({ - registry, - dispatch -}) => { - // Return early if there's no area. - if (!area) { - return; - } - const isComplementaryAreaVisible = registry.select(external_wp_preferences_namespaceObject.store).get(scope, 'isComplementaryAreaVisible'); - if (!isComplementaryAreaVisible) { - registry.dispatch(external_wp_preferences_namespaceObject.store).set(scope, 'isComplementaryAreaVisible', true); - } - dispatch({ - type: 'ENABLE_COMPLEMENTARY_AREA', - scope, - area - }); -}; - -/** - * Disable the complementary area. - * - * @param {string} scope Complementary area scope. - */ -const disableComplementaryArea = scope => ({ - registry -}) => { - const isComplementaryAreaVisible = registry.select(external_wp_preferences_namespaceObject.store).get(scope, 'isComplementaryAreaVisible'); - if (isComplementaryAreaVisible) { - registry.dispatch(external_wp_preferences_namespaceObject.store).set(scope, 'isComplementaryAreaVisible', false); - } -}; - -/** - * Pins an item. - * - * @param {string} scope Item scope. - * @param {string} item Item identifier. - * - * @return {Object} Action object. - */ -const pinItem = (scope, item) => ({ - registry -}) => { - // Return early if there's no item. - if (!item) { - return; - } - const pinnedItems = registry.select(external_wp_preferences_namespaceObject.store).get(scope, 'pinnedItems'); - - // The item is already pinned, there's nothing to do. - if (pinnedItems?.[item] === true) { - return; - } - registry.dispatch(external_wp_preferences_namespaceObject.store).set(scope, 'pinnedItems', { - ...pinnedItems, - [item]: true - }); -}; - -/** - * Unpins an item. - * - * @param {string} scope Item scope. - * @param {string} item Item identifier. - */ -const unpinItem = (scope, item) => ({ - registry -}) => { - // Return early if there's no item. - if (!item) { - return; - } - const pinnedItems = registry.select(external_wp_preferences_namespaceObject.store).get(scope, 'pinnedItems'); - registry.dispatch(external_wp_preferences_namespaceObject.store).set(scope, 'pinnedItems', { - ...pinnedItems, - [item]: false - }); -}; - -/** - * Returns an action object used in signalling that a feature should be toggled. - * - * @param {string} scope The feature scope (e.g. core/edit-post). - * @param {string} featureName The feature name. - */ -function toggleFeature(scope, featureName) { - return function ({ - registry - }) { - external_wp_deprecated_default()(`dispatch( 'core/interface' ).toggleFeature`, { - since: '6.0', - alternative: `dispatch( 'core/preferences' ).toggle` - }); - registry.dispatch(external_wp_preferences_namespaceObject.store).toggle(scope, featureName); - }; -} - -/** - * Returns an action object used in signalling that a feature should be set to - * a true or false value - * - * @param {string} scope The feature scope (e.g. core/edit-post). - * @param {string} featureName The feature name. - * @param {boolean} value The value to set. - * - * @return {Object} Action object. - */ -function setFeatureValue(scope, featureName, value) { - return function ({ - registry - }) { - external_wp_deprecated_default()(`dispatch( 'core/interface' ).setFeatureValue`, { - since: '6.0', - alternative: `dispatch( 'core/preferences' ).set` - }); - registry.dispatch(external_wp_preferences_namespaceObject.store).set(scope, featureName, !!value); - }; -} - -/** - * Returns an action object used in signalling that defaults should be set for features. - * - * @param {string} scope The feature scope (e.g. core/edit-post). - * @param {Object<string, boolean>} defaults A key/value map of feature names to values. - * - * @return {Object} Action object. - */ -function setFeatureDefaults(scope, defaults) { - return function ({ - registry - }) { - external_wp_deprecated_default()(`dispatch( 'core/interface' ).setFeatureDefaults`, { - since: '6.0', - alternative: `dispatch( 'core/preferences' ).setDefaults` - }); - registry.dispatch(external_wp_preferences_namespaceObject.store).setDefaults(scope, defaults); - }; -} - -/** - * Returns an action object used in signalling that the user opened a modal. - * - * @param {string} name A string that uniquely identifies the modal. - * - * @return {Object} Action object. - */ -function openModal(name) { - return { - type: 'OPEN_MODAL', - name - }; -} - -/** - * Returns an action object signalling that the user closed a modal. - * - * @return {Object} Action object. - */ -function closeModal() { - return { - type: 'CLOSE_MODAL' - }; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/selectors.js -/** - * WordPress dependencies - */ - - - - -/** - * Returns the complementary area that is active in a given scope. - * - * @param {Object} state Global application state. - * @param {string} scope Item scope. - * - * @return {string | null | undefined} The complementary area that is active in the given scope. - */ -const getActiveComplementaryArea = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, scope) => { - const isComplementaryAreaVisible = select(external_wp_preferences_namespaceObject.store).get(scope, 'isComplementaryAreaVisible'); - - // Return `undefined` to indicate that the user has never toggled - // visibility, this is the vanilla default. Other code relies on this - // nuance in the return value. - if (isComplementaryAreaVisible === undefined) { - return undefined; - } - - // Return `null` to indicate the user hid the complementary area. - if (isComplementaryAreaVisible === false) { - return null; - } - return state?.complementaryAreas?.[scope]; -}); -const isComplementaryAreaLoading = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, scope) => { - const isVisible = select(external_wp_preferences_namespaceObject.store).get(scope, 'isComplementaryAreaVisible'); - const identifier = state?.complementaryAreas?.[scope]; - return isVisible && identifier === undefined; -}); - -/** - * Returns a boolean indicating if an item is pinned or not. - * - * @param {Object} state Global application state. - * @param {string} scope Scope. - * @param {string} item Item to check. - * - * @return {boolean} True if the item is pinned and false otherwise. - */ -const isItemPinned = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, scope, item) => { - var _pinnedItems$item; - const pinnedItems = select(external_wp_preferences_namespaceObject.store).get(scope, 'pinnedItems'); - return (_pinnedItems$item = pinnedItems?.[item]) !== null && _pinnedItems$item !== void 0 ? _pinnedItems$item : true; -}); - -/** - * Returns a boolean indicating whether a feature is active for a particular - * scope. - * - * @param {Object} state The store state. - * @param {string} scope The scope of the feature (e.g. core/edit-post). - * @param {string} featureName The name of the feature. - * - * @return {boolean} Is the feature enabled? - */ -const isFeatureActive = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, scope, featureName) => { - external_wp_deprecated_default()(`select( 'core/interface' ).isFeatureActive( scope, featureName )`, { - since: '6.0', - alternative: `select( 'core/preferences' ).get( scope, featureName )` - }); - return !!select(external_wp_preferences_namespaceObject.store).get(scope, featureName); -}); - -/** - * Returns true if a modal is active, or false otherwise. - * - * @param {Object} state Global application state. - * @param {string} modalName A string that uniquely identifies the modal. - * - * @return {boolean} Whether the modal is active. - */ -function isModalActive(state, modalName) { - return state.activeModal === modalName; -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/reducer.js -/** - * WordPress dependencies - */ - -function complementaryAreas(state = {}, action) { - switch (action.type) { - case 'SET_DEFAULT_COMPLEMENTARY_AREA': - { - const { - scope, - area - } = action; - - // If there's already an area, don't overwrite it. - if (state[scope]) { - return state; - } - return { - ...state, - [scope]: area - }; - } - case 'ENABLE_COMPLEMENTARY_AREA': - { - const { - scope, - area - } = action; - return { - ...state, - [scope]: area - }; - } - } - return state; -} - -/** - * Reducer for storing the name of the open modal, or null if no modal is open. - * - * @param {Object} state Previous state. - * @param {Object} action Action object containing the `name` of the modal - * - * @return {Object} Updated state - */ -function activeModal(state = null, action) { - switch (action.type) { - case 'OPEN_MODAL': - return action.name; - case 'CLOSE_MODAL': - return null; - } - return state; -} -/* harmony default export */ const reducer = ((0,external_wp_data_namespaceObject.combineReducers)({ - complementaryAreas, - activeModal -})); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/constants.js -/** - * The identifier for the data store. - * - * @type {string} - */ -const STORE_NAME = 'core/interface'; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/index.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - - -/** - * Store definition for the interface namespace. - * - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore - * - * @type {Object} - */ -const store = (0,external_wp_data_namespaceObject.createReduxStore)(STORE_NAME, { - reducer: reducer, - actions: actions_namespaceObject, - selectors: selectors_namespaceObject -}); - -// Once we build a more generic persistence plugin that works across types of stores -// we'd be able to replace this with a register call. -(0,external_wp_data_namespaceObject.register)(store); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-context/index.js -/** - * WordPress dependencies - */ - -/* harmony default export */ const complementary_area_context = ((0,external_wp_plugins_namespaceObject.withPluginContext)((context, ownProps) => { - return { - icon: ownProps.icon || context.icon, - identifier: ownProps.identifier || `${context.name}/${ownProps.name}` - }; -})); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-toggle/index.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -function ComplementaryAreaToggle({ - as = external_wp_components_namespaceObject.Button, - scope, - identifier, - icon, - selectedIcon, - name, - ...props -}) { - const ComponentToUse = as; - const isSelected = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getActiveComplementaryArea(scope) === identifier, [identifier, scope]); - const { - enableComplementaryArea, - disableComplementaryArea - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - return (0,external_React_namespaceObject.createElement)(ComponentToUse, { - icon: selectedIcon && isSelected ? selectedIcon : icon, - "aria-controls": identifier.replace('/', ':'), - onClick: () => { - if (isSelected) { - disableComplementaryArea(scope); - } else { - enableComplementaryArea(scope, identifier); - } - }, - ...props - }); -} -/* harmony default export */ const complementary_area_toggle = (complementary_area_context(ComplementaryAreaToggle)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-header/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - -const ComplementaryAreaHeader = ({ - smallScreenTitle, - children, - className, - toggleButtonProps -}) => { - const toggleButton = (0,external_React_namespaceObject.createElement)(complementary_area_toggle, { - icon: close_small, - ...toggleButtonProps - }); - return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("div", { - className: "components-panel__header interface-complementary-area-header__small" - }, smallScreenTitle && (0,external_React_namespaceObject.createElement)("span", { - className: "interface-complementary-area-header__small-title" - }, smallScreenTitle), toggleButton), (0,external_React_namespaceObject.createElement)("div", { - className: classnames_default()('components-panel__header', 'interface-complementary-area-header', className), - tabIndex: -1 - }, children, toggleButton)); -}; -/* harmony default export */ const complementary_area_header = (ComplementaryAreaHeader); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/action-item/index.js - -/** - * WordPress dependencies - */ - - -const noop = () => {}; -function ActionItemSlot({ - name, - as: Component = external_wp_components_namespaceObject.ButtonGroup, - fillProps = {}, - bubblesVirtually, - ...props -}) { - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Slot, { - name: name, - bubblesVirtually: bubblesVirtually, - fillProps: fillProps - }, fills => { - if (!external_wp_element_namespaceObject.Children.toArray(fills).length) { - return null; - } - - // Special handling exists for backward compatibility. - // It ensures that menu items created by plugin authors aren't - // duplicated with automatically injected menu items coming - // from pinnable plugin sidebars. - // @see https://github.com/WordPress/gutenberg/issues/14457 - const initializedByPlugins = []; - external_wp_element_namespaceObject.Children.forEach(fills, ({ - props: { - __unstableExplicitMenuItem, - __unstableTarget - } - }) => { - if (__unstableTarget && __unstableExplicitMenuItem) { - initializedByPlugins.push(__unstableTarget); - } - }); - const children = external_wp_element_namespaceObject.Children.map(fills, child => { - if (!child.props.__unstableExplicitMenuItem && initializedByPlugins.includes(child.props.__unstableTarget)) { - return null; - } - return child; - }); - return (0,external_React_namespaceObject.createElement)(Component, { - ...props - }, children); - }); -} -function ActionItem({ - name, - as: Component = external_wp_components_namespaceObject.Button, - onClick, - ...props -}) { - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Fill, { - name: name - }, ({ - onClick: fpOnClick - }) => { - return (0,external_React_namespaceObject.createElement)(Component, { - onClick: onClick || fpOnClick ? (...args) => { - (onClick || noop)(...args); - (fpOnClick || noop)(...args); - } : undefined, - ...props - }); - }); -} -ActionItem.Slot = ActionItemSlot; -/* harmony default export */ const action_item = (ActionItem); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-more-menu-item/index.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -const PluginsMenuItem = ({ - // Menu item is marked with unstable prop for backward compatibility. - // They are removed so they don't leak to DOM elements. - // @see https://github.com/WordPress/gutenberg/issues/14457 - __unstableExplicitMenuItem, - __unstableTarget, - ...restProps -}) => (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - ...restProps -}); -function ComplementaryAreaMoreMenuItem({ - scope, - target, - __unstableExplicitMenuItem, - ...props -}) { - return (0,external_React_namespaceObject.createElement)(complementary_area_toggle, { - as: toggleProps => { - return (0,external_React_namespaceObject.createElement)(action_item, { - __unstableExplicitMenuItem: __unstableExplicitMenuItem, - __unstableTarget: `${scope}/${target}`, - as: PluginsMenuItem, - name: `${scope}/plugin-more-menu`, - ...toggleProps - }); - }, - role: "menuitemcheckbox", - selectedIcon: library_check, - name: target, - scope: scope, - ...props - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/pinned-items/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - -function PinnedItems({ - scope, - ...props -}) { - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Fill, { - name: `PinnedItems/${scope}`, - ...props - }); -} -function PinnedItemsSlot({ - scope, - className, - ...props -}) { - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Slot, { - name: `PinnedItems/${scope}`, - ...props - }, fills => fills?.length > 0 && (0,external_React_namespaceObject.createElement)("div", { - className: classnames_default()(className, 'interface-pinned-items') - }, fills)); -} -PinnedItems.Slot = PinnedItemsSlot; -/* harmony default export */ const pinned_items = (PinnedItems); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - - - - - -function ComplementaryAreaSlot({ - scope, - ...props -}) { - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Slot, { - name: `ComplementaryArea/${scope}`, - ...props - }); -} -function ComplementaryAreaFill({ - scope, - children, - className, - id -}) { - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Fill, { - name: `ComplementaryArea/${scope}` - }, (0,external_React_namespaceObject.createElement)("div", { - id: id, - className: className - }, children)); -} -function useAdjustComplementaryListener(scope, identifier, activeArea, isActive, isSmall) { - const previousIsSmall = (0,external_wp_element_namespaceObject.useRef)(false); - const shouldOpenWhenNotSmall = (0,external_wp_element_namespaceObject.useRef)(false); - const { - enableComplementaryArea, - disableComplementaryArea - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - (0,external_wp_element_namespaceObject.useEffect)(() => { - // If the complementary area is active and the editor is switching from - // a big to a small window size. - if (isActive && isSmall && !previousIsSmall.current) { - disableComplementaryArea(scope); - // Flag the complementary area to be reopened when the window size - // goes from small to big. - shouldOpenWhenNotSmall.current = true; - } else if ( - // If there is a flag indicating the complementary area should be - // enabled when we go from small to big window size and we are going - // from a small to big window size. - shouldOpenWhenNotSmall.current && !isSmall && previousIsSmall.current) { - // Remove the flag indicating the complementary area should be - // enabled. - shouldOpenWhenNotSmall.current = false; - enableComplementaryArea(scope, identifier); - } else if ( - // If the flag is indicating the current complementary should be - // reopened but another complementary area becomes active, remove - // the flag. - shouldOpenWhenNotSmall.current && activeArea && activeArea !== identifier) { - shouldOpenWhenNotSmall.current = false; - } - if (isSmall !== previousIsSmall.current) { - previousIsSmall.current = isSmall; - } - }, [isActive, isSmall, scope, identifier, activeArea, disableComplementaryArea, enableComplementaryArea]); -} -function ComplementaryArea({ - children, - className, - closeLabel = (0,external_wp_i18n_namespaceObject.__)('Close plugin'), - identifier, - header, - headerClassName, - icon, - isPinnable = true, - panelClassName, - scope, - name, - smallScreenTitle, - title, - toggleShortcut, - isActiveByDefault -}) { - const { - isLoading, - isActive, - isPinned, - activeArea, - isSmall, - isLarge, - showIconLabels - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getActiveComplementaryArea, - isComplementaryAreaLoading, - isItemPinned - } = select(store); - const { - get - } = select(external_wp_preferences_namespaceObject.store); - const _activeArea = getActiveComplementaryArea(scope); - return { - isLoading: isComplementaryAreaLoading(scope), - isActive: _activeArea === identifier, - isPinned: isItemPinned(scope, identifier), - activeArea: _activeArea, - isSmall: select(external_wp_viewport_namespaceObject.store).isViewportMatch('< medium'), - isLarge: select(external_wp_viewport_namespaceObject.store).isViewportMatch('large'), - showIconLabels: get('core', 'showIconLabels') - }; - }, [identifier, scope]); - useAdjustComplementaryListener(scope, identifier, activeArea, isActive, isSmall); - const { - enableComplementaryArea, - disableComplementaryArea, - pinItem, - unpinItem - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - (0,external_wp_element_namespaceObject.useEffect)(() => { - // Set initial visibility: For large screens, enable if it's active by - // default. For small screens, always initially disable. - if (isActiveByDefault && activeArea === undefined && !isSmall) { - enableComplementaryArea(scope, identifier); - } else if (activeArea === undefined && isSmall) { - disableComplementaryArea(scope, identifier); - } - }, [activeArea, isActiveByDefault, scope, identifier, isSmall, enableComplementaryArea, disableComplementaryArea]); - return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, isPinnable && (0,external_React_namespaceObject.createElement)(pinned_items, { - scope: scope - }, isPinned && (0,external_React_namespaceObject.createElement)(complementary_area_toggle, { - scope: scope, - identifier: identifier, - isPressed: isActive && (!showIconLabels || isLarge), - "aria-expanded": isActive, - "aria-disabled": isLoading, - label: title, - icon: showIconLabels ? library_check : icon, - showTooltip: !showIconLabels, - variant: showIconLabels ? 'tertiary' : undefined, - size: "compact" - })), name && isPinnable && (0,external_React_namespaceObject.createElement)(ComplementaryAreaMoreMenuItem, { - target: name, - scope: scope, - icon: icon - }, title), isActive && (0,external_React_namespaceObject.createElement)(ComplementaryAreaFill, { - className: classnames_default()('interface-complementary-area', className), - scope: scope, - id: identifier.replace('/', ':') - }, (0,external_React_namespaceObject.createElement)(complementary_area_header, { - className: headerClassName, - closeLabel: closeLabel, - onClose: () => disableComplementaryArea(scope), - smallScreenTitle: smallScreenTitle, - toggleButtonProps: { - label: closeLabel, - shortcut: toggleShortcut, - scope, - identifier - } - }, header || (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("strong", null, title), isPinnable && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - className: "interface-complementary-area__pin-unpin-item", - icon: isPinned ? star_filled : star_empty, - label: isPinned ? (0,external_wp_i18n_namespaceObject.__)('Unpin from toolbar') : (0,external_wp_i18n_namespaceObject.__)('Pin to toolbar'), - onClick: () => (isPinned ? unpinItem : pinItem)(scope, identifier), - isPressed: isPinned, - "aria-expanded": isPinned - }))), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Panel, { - className: panelClassName - }, children))); -} -const ComplementaryAreaWrapped = complementary_area_context(ComplementaryArea); -ComplementaryAreaWrapped.Slot = ComplementaryAreaSlot; -/* harmony default export */ const complementary_area = (ComplementaryAreaWrapped); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/fullscreen-mode/index.js -/** - * WordPress dependencies - */ - -const FullscreenMode = ({ - isActive -}) => { - (0,external_wp_element_namespaceObject.useEffect)(() => { - let isSticky = false; - // `is-fullscreen-mode` is set in PHP as a body class by Gutenberg, and this causes - // `sticky-menu` to be applied by WordPress and prevents the admin menu being scrolled - // even if `is-fullscreen-mode` is then removed. Let's remove `sticky-menu` here as - // a consequence of the FullscreenMode setup. - if (document.body.classList.contains('sticky-menu')) { - isSticky = true; - document.body.classList.remove('sticky-menu'); - } - return () => { - if (isSticky) { - document.body.classList.add('sticky-menu'); - } - }; - }, []); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (isActive) { - document.body.classList.add('is-fullscreen-mode'); - } else { - document.body.classList.remove('is-fullscreen-mode'); - } - return () => { - if (isActive) { - document.body.classList.remove('is-fullscreen-mode'); - } - }; - }, [isActive]); - return null; -}; -/* harmony default export */ const fullscreen_mode = (FullscreenMode); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/navigable-region/index.js - -/** - * External dependencies - */ - -function NavigableRegion({ - children, - className, - ariaLabel, - as: Tag = 'div', - ...props -}) { - return (0,external_React_namespaceObject.createElement)(Tag, { - className: classnames_default()('interface-navigable-region', className), - "aria-label": ariaLabel, - role: "region", - tabIndex: "-1", - ...props - }, children); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/interface-skeleton/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - -function useHTMLClass(className) { - (0,external_wp_element_namespaceObject.useEffect)(() => { - const element = document && document.querySelector(`html:not(.${className})`); - if (!element) { - return; - } - element.classList.toggle(className); - return () => { - element.classList.toggle(className); - }; - }, [className]); -} -const headerVariants = { - hidden: { - opacity: 0 - }, - hover: { - opacity: 1, - transition: { - type: 'tween', - delay: 0.2, - delayChildren: 0.2 - } - }, - distractionFreeInactive: { - opacity: 1, - transition: { - delay: 0 - } - } -}; -function InterfaceSkeleton({ - isDistractionFree, - footer, - header, - editorNotices, - sidebar, - secondarySidebar, - notices, - content, - actions, - labels, - className, - enableRegionNavigation = true, - // Todo: does this need to be a prop. - // Can we use a dependency to keyboard-shortcuts directly? - shortcuts -}, ref) { - const navigateRegionsProps = (0,external_wp_components_namespaceObject.__unstableUseNavigateRegions)(shortcuts); - useHTMLClass('interface-interface-skeleton__html-container'); - const defaultLabels = { - /* translators: accessibility text for the top bar landmark region. */ - header: (0,external_wp_i18n_namespaceObject._x)('Header', 'header landmark area'), - /* translators: accessibility text for the content landmark region. */ - body: (0,external_wp_i18n_namespaceObject.__)('Content'), - /* translators: accessibility text for the secondary sidebar landmark region. */ - secondarySidebar: (0,external_wp_i18n_namespaceObject.__)('Block Library'), - /* translators: accessibility text for the settings landmark region. */ - sidebar: (0,external_wp_i18n_namespaceObject.__)('Settings'), - /* translators: accessibility text for the publish landmark region. */ - actions: (0,external_wp_i18n_namespaceObject.__)('Publish'), - /* translators: accessibility text for the footer landmark region. */ - footer: (0,external_wp_i18n_namespaceObject.__)('Footer') - }; - const mergedLabels = { - ...defaultLabels, - ...labels - }; - return (0,external_React_namespaceObject.createElement)("div", { - ...(enableRegionNavigation ? navigateRegionsProps : {}), - ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([ref, enableRegionNavigation ? navigateRegionsProps.ref : undefined]), - className: classnames_default()(className, 'interface-interface-skeleton', navigateRegionsProps.className, !!footer && 'has-footer') - }, (0,external_React_namespaceObject.createElement)("div", { - className: "interface-interface-skeleton__editor" - }, !!header && (0,external_React_namespaceObject.createElement)(NavigableRegion, { - as: external_wp_components_namespaceObject.__unstableMotion.div, - className: "interface-interface-skeleton__header", - "aria-label": mergedLabels.header, - initial: isDistractionFree ? 'hidden' : 'distractionFreeInactive', - whileHover: isDistractionFree ? 'hover' : 'distractionFreeInactive', - animate: isDistractionFree ? 'hidden' : 'distractionFreeInactive', - variants: headerVariants, - transition: isDistractionFree ? { - type: 'tween', - delay: 0.8 - } : undefined - }, header), isDistractionFree && (0,external_React_namespaceObject.createElement)("div", { - className: "interface-interface-skeleton__header" - }, editorNotices), (0,external_React_namespaceObject.createElement)("div", { - className: "interface-interface-skeleton__body" - }, !!secondarySidebar && (0,external_React_namespaceObject.createElement)(NavigableRegion, { - className: "interface-interface-skeleton__secondary-sidebar", - ariaLabel: mergedLabels.secondarySidebar - }, secondarySidebar), !!notices && (0,external_React_namespaceObject.createElement)("div", { - className: "interface-interface-skeleton__notices" - }, notices), (0,external_React_namespaceObject.createElement)(NavigableRegion, { - className: "interface-interface-skeleton__content", - ariaLabel: mergedLabels.body - }, content), !!sidebar && (0,external_React_namespaceObject.createElement)(NavigableRegion, { - className: "interface-interface-skeleton__sidebar", - ariaLabel: mergedLabels.sidebar - }, sidebar), !!actions && (0,external_React_namespaceObject.createElement)(NavigableRegion, { - className: "interface-interface-skeleton__actions", - ariaLabel: mergedLabels.actions - }, actions))), !!footer && (0,external_React_namespaceObject.createElement)(NavigableRegion, { - className: "interface-interface-skeleton__footer", - ariaLabel: mergedLabels.footer - }, footer)); -} -/* harmony default export */ const interface_skeleton = ((0,external_wp_element_namespaceObject.forwardRef)(InterfaceSkeleton)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/more-vertical.js - -/** - * WordPress dependencies - */ - -const moreVertical = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z" -})); -/* harmony default export */ const more_vertical = (moreVertical); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/more-menu-dropdown/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -function MoreMenuDropdown({ - as: DropdownComponent = external_wp_components_namespaceObject.DropdownMenu, - className, - /* translators: button label text should, if possible, be under 16 characters. */ - label = (0,external_wp_i18n_namespaceObject.__)('Options'), - popoverProps, - toggleProps, - children -}) { - return (0,external_React_namespaceObject.createElement)(DropdownComponent, { - className: classnames_default()('interface-more-menu-dropdown', className), - icon: more_vertical, - label: label, - popoverProps: { - placement: 'bottom-end', - ...popoverProps, - className: classnames_default()('interface-more-menu-dropdown__content', popoverProps?.className) - }, - toggleProps: { - tooltipPosition: 'bottom', - ...toggleProps, - size: 'compact' - } - }, onClose => children(onClose)); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/index.js - - - - - - - - - - -;// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/index.js - - - -;// CONCATENATED MODULE: external ["wp","keyboardShortcuts"] -const external_wp_keyboardShortcuts_namespaceObject = window["wp"]["keyboardShortcuts"]; -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/keyboard-shortcut-help-modal/config.js -/** - * WordPress dependencies - */ - -const textFormattingShortcuts = [{ - keyCombination: { - modifier: 'primary', - character: 'b' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Make the selected text bold.') -}, { - keyCombination: { - modifier: 'primary', - character: 'i' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Make the selected text italic.') -}, { - keyCombination: { - modifier: 'primary', - character: 'k' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Convert the selected text into a link.') -}, { - keyCombination: { - modifier: 'primaryShift', - character: 'k' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Remove a link.') -}, { - keyCombination: { - character: '[[' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Insert a link to a post or page.') -}, { - keyCombination: { - modifier: 'primary', - character: 'u' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Underline the selected text.') -}, { - keyCombination: { - modifier: 'access', - character: 'd' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Strikethrough the selected text.') -}, { - keyCombination: { - modifier: 'access', - character: 'x' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Make the selected text inline code.') -}, { - keyCombination: { - modifier: 'access', - character: '0' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Convert the current heading to a paragraph.') -}, { - keyCombination: { - modifier: 'access', - character: '1-6' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Convert the current paragraph or heading to a heading of level 1 to 6.') -}]; - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/keyboard-shortcut-help-modal/shortcut.js - -/** - * WordPress dependencies - */ - - -function KeyCombination({ - keyCombination, - forceAriaLabel -}) { - const shortcut = keyCombination.modifier ? external_wp_keycodes_namespaceObject.displayShortcutList[keyCombination.modifier](keyCombination.character) : keyCombination.character; - const ariaLabel = keyCombination.modifier ? external_wp_keycodes_namespaceObject.shortcutAriaLabel[keyCombination.modifier](keyCombination.character) : keyCombination.character; - return (0,external_React_namespaceObject.createElement)("kbd", { - className: "edit-post-keyboard-shortcut-help-modal__shortcut-key-combination", - "aria-label": forceAriaLabel || ariaLabel - }, (Array.isArray(shortcut) ? shortcut : [shortcut]).map((character, index) => { - if (character === '+') { - return (0,external_React_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, { - key: index - }, character); - } - return (0,external_React_namespaceObject.createElement)("kbd", { - key: index, - className: "edit-post-keyboard-shortcut-help-modal__shortcut-key" - }, character); - })); -} -function Shortcut({ - description, - keyCombination, - aliases = [], - ariaLabel -}) { - return (0,external_React_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-keyboard-shortcut-help-modal__shortcut-description" - }, description), (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-keyboard-shortcut-help-modal__shortcut-term" - }, (0,external_React_namespaceObject.createElement)(KeyCombination, { - keyCombination: keyCombination, - forceAriaLabel: ariaLabel - }), aliases.map((alias, index) => (0,external_React_namespaceObject.createElement)(KeyCombination, { - keyCombination: alias, - forceAriaLabel: ariaLabel, - key: index - })))); -} -/* harmony default export */ const keyboard_shortcut_help_modal_shortcut = (Shortcut); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - -function DynamicShortcut({ - name -}) { - const { - keyCombination, - description, - aliases - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getShortcutKeyCombination, - getShortcutDescription, - getShortcutAliases - } = select(external_wp_keyboardShortcuts_namespaceObject.store); - return { - keyCombination: getShortcutKeyCombination(name), - aliases: getShortcutAliases(name), - description: getShortcutDescription(name) - }; - }, [name]); - if (!keyCombination) { - return null; - } - return (0,external_React_namespaceObject.createElement)(keyboard_shortcut_help_modal_shortcut, { - keyCombination: keyCombination, - description: description, - aliases: aliases - }); -} -/* harmony default export */ const dynamic_shortcut = (DynamicShortcut); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/keyboard-shortcut-help-modal/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - - -const KEYBOARD_SHORTCUT_HELP_MODAL_NAME = 'edit-post/keyboard-shortcut-help'; -const ShortcutList = ({ - shortcuts -}) => -/* - * Disable reason: The `list` ARIA role is redundant but - * Safari+VoiceOver won't announce the list otherwise. - */ -/* eslint-disable jsx-a11y/no-redundant-roles */ -(0,external_React_namespaceObject.createElement)("ul", { - className: "edit-post-keyboard-shortcut-help-modal__shortcut-list", - role: "list" -}, shortcuts.map((shortcut, index) => (0,external_React_namespaceObject.createElement)("li", { - className: "edit-post-keyboard-shortcut-help-modal__shortcut", - key: index -}, typeof shortcut === 'string' ? (0,external_React_namespaceObject.createElement)(dynamic_shortcut, { - name: shortcut -}) : (0,external_React_namespaceObject.createElement)(keyboard_shortcut_help_modal_shortcut, { - ...shortcut -})))) -/* eslint-enable jsx-a11y/no-redundant-roles */; -const ShortcutSection = ({ - title, - shortcuts, - className -}) => (0,external_React_namespaceObject.createElement)("section", { - className: classnames_default()('edit-post-keyboard-shortcut-help-modal__section', className) -}, !!title && (0,external_React_namespaceObject.createElement)("h2", { - className: "edit-post-keyboard-shortcut-help-modal__section-title" -}, title), (0,external_React_namespaceObject.createElement)(ShortcutList, { - shortcuts: shortcuts -})); -const ShortcutCategorySection = ({ - title, - categoryName, - additionalShortcuts = [] -}) => { - const categoryShortcuts = (0,external_wp_data_namespaceObject.useSelect)(select => { - return select(external_wp_keyboardShortcuts_namespaceObject.store).getCategoryShortcuts(categoryName); - }, [categoryName]); - return (0,external_React_namespaceObject.createElement)(ShortcutSection, { - title: title, - shortcuts: categoryShortcuts.concat(additionalShortcuts) - }); -}; -function KeyboardShortcutHelpModal({ - isModalActive, - toggleModal -}) { - (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/edit-post/keyboard-shortcuts', toggleModal); - if (!isModalActive) { - return null; - } - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Modal, { - className: "edit-post-keyboard-shortcut-help-modal", - title: (0,external_wp_i18n_namespaceObject.__)('Keyboard shortcuts'), - closeButtonLabel: (0,external_wp_i18n_namespaceObject.__)('Close'), - onRequestClose: toggleModal - }, (0,external_React_namespaceObject.createElement)(ShortcutSection, { - className: "edit-post-keyboard-shortcut-help-modal__main-shortcuts", - shortcuts: ['core/edit-post/keyboard-shortcuts'] - }), (0,external_React_namespaceObject.createElement)(ShortcutCategorySection, { - title: (0,external_wp_i18n_namespaceObject.__)('Global shortcuts'), - categoryName: "global" - }), (0,external_React_namespaceObject.createElement)(ShortcutCategorySection, { - title: (0,external_wp_i18n_namespaceObject.__)('Selection shortcuts'), - categoryName: "selection" - }), (0,external_React_namespaceObject.createElement)(ShortcutCategorySection, { - title: (0,external_wp_i18n_namespaceObject.__)('Block shortcuts'), - categoryName: "block", - additionalShortcuts: [{ - keyCombination: { - character: '/' - }, - description: (0,external_wp_i18n_namespaceObject.__)('Change the block type after adding a new paragraph.'), - /* translators: The forward-slash character. e.g. '/'. */ - ariaLabel: (0,external_wp_i18n_namespaceObject.__)('Forward-slash') - }] - }), (0,external_React_namespaceObject.createElement)(ShortcutSection, { - title: (0,external_wp_i18n_namespaceObject.__)('Text formatting'), - shortcuts: textFormattingShortcuts - })); -} -/* harmony default export */ const keyboard_shortcut_help_modal = ((0,external_wp_compose_namespaceObject.compose)([(0,external_wp_data_namespaceObject.withSelect)(select => ({ - isModalActive: select(store).isModalActive(KEYBOARD_SHORTCUT_HELP_MODAL_NAME) -})), (0,external_wp_data_namespaceObject.withDispatch)((dispatch, { - isModalActive -}) => { - const { - openModal, - closeModal - } = dispatch(store); - return { - toggleModal: () => isModalActive ? closeModal() : openModal(KEYBOARD_SHORTCUT_HELP_MODAL_NAME) - }; -})])(KeyboardShortcutHelpModal)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - -function KeyboardShortcutsHelpMenuItem({ - openModal -}) { - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: () => { - openModal(KEYBOARD_SHORTCUT_HELP_MODAL_NAME); - }, - shortcut: external_wp_keycodes_namespaceObject.displayShortcut.access('h') - }, (0,external_wp_i18n_namespaceObject.__)('Keyboard shortcuts')); -} -/* harmony default export */ const keyboard_shortcuts_help_menu_item = ((0,external_wp_data_namespaceObject.withDispatch)(dispatch => { - const { - openModal - } = dispatch(store); - return { - openModal - }; -})(KeyboardShortcutsHelpMenuItem)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/tools-more-menu-group/index.js - -/** - * WordPress dependencies - */ - - -const { - Fill: ToolsMoreMenuGroup, - Slot -} = (0,external_wp_components_namespaceObject.createSlotFill)('ToolsMoreMenuGroup'); -ToolsMoreMenuGroup.Slot = ({ - fillProps -}) => (0,external_React_namespaceObject.createElement)(Slot, { - fillProps: fillProps -}, fills => fills.length > 0 && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { - label: (0,external_wp_i18n_namespaceObject.__)('Tools') -}, fills)); -/* harmony default export */ const tools_more_menu_group = (ToolsMoreMenuGroup); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/plugins/welcome-guide-menu-item/index.js - -/** - * WordPress dependencies - */ - - - - -function WelcomeGuideMenuItem() { - const isEditingTemplate = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_editor_namespaceObject.store).getCurrentPostType() === 'wp_template', []); - return (0,external_React_namespaceObject.createElement)(external_wp_preferences_namespaceObject.PreferenceToggleMenuItem, { - scope: "core/edit-post", - name: isEditingTemplate ? 'welcomeGuideTemplate' : 'welcomeGuide', - label: (0,external_wp_i18n_namespaceObject.__)('Welcome Guide') - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/plugins/index.js - -/** - * WordPress dependencies - */ - - - - - - - - - -/** - * Internal dependencies - */ - - - - -function ManagePatternsMenuItem() { - const url = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - canUser - } = select(external_wp_coreData_namespaceObject.store); - const { - getEditorSettings - } = select(external_wp_editor_namespaceObject.store); - const isBlockTheme = getEditorSettings().__unstableIsBlockBasedTheme; - const defaultUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('edit.php', { - post_type: 'wp_block' - }); - const patternsUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { - path: '/patterns' - }); - - // The site editor and templates both check whether the user has - // edit_theme_options capabilities. We can leverage that here and not - // display the manage patterns link if the user can't access it. - return canUser('read', 'templates') && isBlockTheme ? patternsUrl : defaultUrl; - }, []); - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - role: "menuitem", - href: url - }, (0,external_wp_i18n_namespaceObject.__)('Manage patterns')); -} -(0,external_wp_plugins_namespaceObject.registerPlugin)('edit-post', { - render() { - return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)(tools_more_menu_group, null, ({ - onClose - }) => (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)(ManagePatternsMenuItem, null), (0,external_React_namespaceObject.createElement)(keyboard_shortcuts_help_menu_item, { - onSelect: onClose - }), (0,external_React_namespaceObject.createElement)(WelcomeGuideMenuItem, null), (0,external_React_namespaceObject.createElement)(CopyContentMenuItem, null), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - role: "menuitem", - icon: library_external, - href: (0,external_wp_i18n_namespaceObject.__)('https://wordpress.org/documentation/article/wordpress-block-editor/'), - target: "_blank", - rel: "noopener noreferrer" - }, (0,external_wp_i18n_namespaceObject.__)('Help'), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.VisuallyHidden, { - as: "span" - }, /* translators: accessibility text */ - (0,external_wp_i18n_namespaceObject.__)('(opens in a new tab)')))))); - } + viewBox: "-2 -2 24 24", + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { + d: "M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z" + }) }); +/* harmony default export */ const library_wordpress = (wordpress); -;// CONCATENATED MODULE: external ["wp","commands"] -const external_wp_commands_namespaceObject = window["wp"]["commands"]; -;// CONCATENATED MODULE: external ["wp","coreCommands"] -const external_wp_coreCommands_namespaceObject = window["wp"]["coreCommands"]; +;// CONCATENATED MODULE: external ["wp","compose"] +const external_wp_compose_namespaceObject = window["wp"]["compose"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/store/reducer.js /** * WordPress dependencies */ -function publishSidebarActive(state = false, action) { - switch (action.type) { - case 'OPEN_PUBLISH_SIDEBAR': - return true; - case 'CLOSE_PUBLISH_SIDEBAR': - return false; - case 'TOGGLE_PUBLISH_SIDEBAR': - return !state; - } - return state; -} /** * Reducer keeping track of the meta boxes isSaving state. @@ -2147,16 +278,15 @@ const metaBoxes = (0,external_wp_data_namespaceObject.combineReducers)({ locations: metaBoxLocations, initialized: metaBoxesInitialized }); -/* harmony default export */ const store_reducer = ((0,external_wp_data_namespaceObject.combineReducers)({ - metaBoxes, - publishSidebarActive +/* harmony default export */ const reducer = ((0,external_wp_data_namespaceObject.combineReducers)({ + metaBoxes })); ;// CONCATENATED MODULE: external ["wp","apiFetch"] const external_wp_apiFetch_namespaceObject = window["wp"]["apiFetch"]; var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_namespaceObject); -;// CONCATENATED MODULE: external ["wp","a11y"] -const external_wp_a11y_namespaceObject = window["wp"]["a11y"]; +;// CONCATENATED MODULE: external ["wp","hooks"] +const external_wp_hooks_namespaceObject = window["wp"]["hooks"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/utils/meta-boxes.js /** * Function returning the current Meta Boxes DOM Node in the editor @@ -2185,7 +315,7 @@ const external_wp_privateApis_namespaceObject = window["wp"]["privateApis"]; const { lock, unlock -} = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/edit-post'); +} = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', '@wordpress/edit-post'); ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/store/actions.js /** @@ -2198,16 +328,14 @@ const { - - - - /** * Internal dependencies */ - +const { + interfaceStore +} = unlock(external_wp_editor_namespaceObject.privateApis); /** * Returns an action object used in signalling that the user opened an editor sidebar. @@ -2215,14 +343,9 @@ const { * @param {?string} name Sidebar name to be opened. */ const openGeneralSidebar = name => ({ - dispatch, registry }) => { - const isDistractionFree = registry.select(external_wp_preferences_namespaceObject.store).get('core', 'distractionFree'); - if (isDistractionFree) { - dispatch.toggleDistractionFree(); - } - registry.dispatch(store).enableComplementaryArea(store_store.name, name); + registry.dispatch(interfaceStore).enableComplementaryArea('core', name); }; /** @@ -2230,7 +353,7 @@ const openGeneralSidebar = name => ({ */ const closeGeneralSidebar = () => ({ registry -}) => registry.dispatch(store).disableComplementaryArea(store_store.name); +}) => registry.dispatch(interfaceStore).disableComplementaryArea('core'); /** * Returns an action object used in signalling that the user opened a modal. @@ -2242,14 +365,14 @@ const closeGeneralSidebar = () => ({ * * @return {Object} Action object. */ -const actions_openModal = name => ({ +const openModal = name => ({ registry }) => { external_wp_deprecated_default()("select( 'core/edit-post' ).openModal( name )", { since: '6.3', alternative: "select( 'core/interface').openModal( name )" }); - return registry.dispatch(store).openModal(name); + return registry.dispatch(interfaceStore).openModal(name); }; /** @@ -2259,50 +382,65 @@ const actions_openModal = name => ({ * * @return {Object} Action object. */ -const actions_closeModal = () => ({ +const closeModal = () => ({ registry }) => { external_wp_deprecated_default()("select( 'core/edit-post' ).closeModal()", { since: '6.3', alternative: "select( 'core/interface').closeModal()" }); - return registry.dispatch(store).closeModal(); + return registry.dispatch(interfaceStore).closeModal(); }; /** * Returns an action object used in signalling that the user opened the publish * sidebar. + * @deprecated * * @return {Object} Action object */ -function openPublishSidebar() { - return { - type: 'OPEN_PUBLISH_SIDEBAR' - }; -} +const openPublishSidebar = () => ({ + registry +}) => { + external_wp_deprecated_default()("dispatch( 'core/edit-post' ).openPublishSidebar", { + since: '6.6', + alternative: "dispatch( 'core/editor').openPublishSidebar" + }); + registry.dispatch(external_wp_editor_namespaceObject.store).openPublishSidebar(); +}; /** * Returns an action object used in signalling that the user closed the * publish sidebar. + * @deprecated * * @return {Object} Action object. */ -function closePublishSidebar() { - return { - type: 'CLOSE_PUBLISH_SIDEBAR' - }; -} +const closePublishSidebar = () => ({ + registry +}) => { + external_wp_deprecated_default()("dispatch( 'core/edit-post' ).closePublishSidebar", { + since: '6.6', + alternative: "dispatch( 'core/editor').closePublishSidebar" + }); + registry.dispatch(external_wp_editor_namespaceObject.store).closePublishSidebar(); +}; /** * Returns an action object used in signalling that the user toggles the publish sidebar. + * @deprecated * * @return {Object} Action object */ -function togglePublishSidebar() { - return { - type: 'TOGGLE_PUBLISH_SIDEBAR' - }; -} +const togglePublishSidebar = () => ({ + registry +}) => { + external_wp_deprecated_default()("dispatch( 'core/edit-post' ).togglePublishSidebar", { + since: '6.6', + alternative: "dispatch( 'core/editor').togglePublishSidebar" + }); + registry.dispatch(external_wp_editor_namespaceObject.store).togglePublishSidebar(); +}; /** * Returns an action object used to enable or disable a panel in the editor. @@ -2364,30 +502,25 @@ const removeEditorPanel = panelName => ({ * * @param {string} feature Feature name. */ -const actions_toggleFeature = feature => ({ +const toggleFeature = feature => ({ registry }) => registry.dispatch(external_wp_preferences_namespaceObject.store).toggle('core/edit-post', feature); /** * Triggers an action used to switch editor mode. * + * @deprecated + * * @param {string} mode The editor mode. */ const switchEditorMode = mode => ({ - dispatch, registry }) => { - registry.dispatch(external_wp_preferences_namespaceObject.store).set('core', 'editorMode', mode); - - // Unselect blocks when we switch to the code editor. - if (mode !== 'visual') { - registry.dispatch(external_wp_blockEditor_namespaceObject.store).clearSelectedBlock(); - } - if (mode === 'text' && registry.select(external_wp_preferences_namespaceObject.store).get('core', 'distractionFree')) { - dispatch.toggleDistractionFree(); - } - const message = mode === 'visual' ? (0,external_wp_i18n_namespaceObject.__)('Visual editor selected') : (0,external_wp_i18n_namespaceObject.__)('Code editor selected'); - (0,external_wp_a11y_namespaceObject.speak)(message, 'assertive'); + external_wp_deprecated_default()("dispatch( 'core/edit-post' ).switchEditorMode", { + since: '6.6', + alternative: "dispatch( 'core/editor').switchEditorMode" + }); + registry.dispatch(external_wp_editor_namespaceObject.store).switchEditorMode(mode); }; /** @@ -2398,40 +531,24 @@ const switchEditorMode = mode => ({ const togglePinnedPluginItem = pluginName => ({ registry }) => { - const isPinned = registry.select(store).isItemPinned('core/edit-post', pluginName); - registry.dispatch(store)[isPinned ? 'unpinItem' : 'pinItem']('core/edit-post', pluginName); + const isPinned = registry.select(interfaceStore).isItemPinned('core', pluginName); + registry.dispatch(interfaceStore)[isPinned ? 'unpinItem' : 'pinItem']('core', pluginName); }; /** * Returns an action object used in signaling that a style should be auto-applied when a block is created. * - * @param {string} blockName Name of the block. - * @param {?string} blockStyle Name of the style that should be auto applied. If undefined, the "auto apply" setting of the block is removed. + * @deprecated */ -const updatePreferredStyleVariations = (blockName, blockStyle) => ({ - registry -}) => { - var _registry$select$get; - if (!blockName) { - return; - } - const existingVariations = (_registry$select$get = registry.select(external_wp_preferences_namespaceObject.store).get('core/edit-post', 'preferredStyleVariations')) !== null && _registry$select$get !== void 0 ? _registry$select$get : {}; - - // When the blockStyle is omitted, remove the block's preferred variation. - if (!blockStyle) { - const updatedVariations = { - ...existingVariations - }; - delete updatedVariations[blockName]; - registry.dispatch(external_wp_preferences_namespaceObject.store).set('core/edit-post', 'preferredStyleVariations', updatedVariations); - } else { - // Else add the variation. - registry.dispatch(external_wp_preferences_namespaceObject.store).set('core/edit-post', 'preferredStyleVariations', { - ...existingVariations, - [blockName]: blockStyle - }); - } -}; +function updatePreferredStyleVariations() { + external_wp_deprecated_default()("dispatch( 'core/edit-post' ).updatePreferredStyleVariations", { + since: '6.6', + hint: 'Preferred Style Variations are not supported anymore.' + }); + return { + type: 'NOTHING' + }; +} /** * Update the provided block types to be visible. @@ -2484,13 +601,19 @@ const requestMetaBoxUpdates = () => async ({ window.tinyMCE.triggerSave(); } + // We gather the base form data. + const baseFormData = new window.FormData(document.querySelector('.metabox-base-form')); + const postId = baseFormData.get('post_ID'); + const postType = baseFormData.get('post_type'); + // Additional data needed for backward compatibility. // If we do not provide this data, the post will be overridden with the default values. - const post = registry.select(external_wp_editor_namespaceObject.store).getCurrentPost(); + // We cannot rely on getCurrentPost because right now on the editor we may be editing a pattern or a template. + // We need to retrieve the post that the base form data is referring to. + const post = registry.select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord('postType', postType, postId); const additionalData = [post.comment_status ? ['comment_status', post.comment_status] : false, post.ping_status ? ['ping_status', post.ping_status] : false, post.sticky ? ['sticky', post.sticky] : false, post.author ? ['post_author', post.author] : false].filter(Boolean); - // We gather all the metaboxes locations data and the base form data. - const baseFormData = new window.FormData(document.querySelector('.metabox-base-form')); + // We gather all the metaboxes locations. const activeMetaBoxLocations = select.getActiveMetaBoxLocations(); const formDataToMerge = [baseFormData, ...activeMetaBoxLocations.map(location => new window.FormData(getMetaBoxContainer(location)))]; @@ -2661,346 +784,21 @@ const initializeMetaBoxes = () => ({ * Action that toggles Distraction free mode. * Distraction free mode expects there are no sidebars, as due to the * z-index values set, you can't close sidebars. + * + * @deprecated */ const toggleDistractionFree = () => ({ - dispatch, registry }) => { - const isDistractionFree = registry.select(external_wp_preferences_namespaceObject.store).get('core', 'distractionFree'); - if (isDistractionFree) { - registry.dispatch(external_wp_preferences_namespaceObject.store).set('core', 'fixedToolbar', false); - } - if (!isDistractionFree) { - registry.batch(() => { - registry.dispatch(external_wp_preferences_namespaceObject.store).set('core', 'fixedToolbar', true); - registry.dispatch(external_wp_editor_namespaceObject.store).setIsInserterOpened(false); - registry.dispatch(external_wp_editor_namespaceObject.store).setIsListViewOpened(false); - dispatch.closeGeneralSidebar(); - }); - } - registry.batch(() => { - registry.dispatch(external_wp_preferences_namespaceObject.store).set('core', 'distractionFree', !isDistractionFree); - registry.dispatch(external_wp_notices_namespaceObject.store).createInfoNotice(isDistractionFree ? (0,external_wp_i18n_namespaceObject.__)('Distraction free off.') : (0,external_wp_i18n_namespaceObject.__)('Distraction free on.'), { - id: 'core/edit-post/distraction-free-mode/notice', - type: 'snackbar', - actions: [{ - label: (0,external_wp_i18n_namespaceObject.__)('Undo'), - onClick: () => { - registry.batch(() => { - registry.dispatch(external_wp_preferences_namespaceObject.store).set('core', 'fixedToolbar', isDistractionFree ? true : false); - registry.dispatch(external_wp_preferences_namespaceObject.store).toggle('core', 'distractionFree'); - }); - } - }] - }); + external_wp_deprecated_default()("dispatch( 'core/edit-post' ).toggleDistractionFree", { + since: '6.6', + alternative: "dispatch( 'core/editor').toggleDistractionFree" }); + registry.dispatch(external_wp_editor_namespaceObject.store).toggleDistractionFree(); }; -;// CONCATENATED MODULE: ./node_modules/rememo/rememo.js - - -/** @typedef {(...args: any[]) => *[]} GetDependants */ - -/** @typedef {() => void} Clear */ - -/** - * @typedef {{ - * getDependants: GetDependants, - * clear: Clear - * }} EnhancedSelector - */ - -/** - * Internal cache entry. - * - * @typedef CacheNode - * - * @property {?CacheNode|undefined} [prev] Previous node. - * @property {?CacheNode|undefined} [next] Next node. - * @property {*[]} args Function arguments for cache entry. - * @property {*} val Function result. - */ - -/** - * @typedef Cache - * - * @property {Clear} clear Function to clear cache. - * @property {boolean} [isUniqueByDependants] Whether dependants are valid in - * considering cache uniqueness. A cache is unique if dependents are all arrays - * or objects. - * @property {CacheNode?} [head] Cache head. - * @property {*[]} [lastDependants] Dependants from previous invocation. - */ - -/** - * Arbitrary value used as key for referencing cache object in WeakMap tree. - * - * @type {{}} - */ -var LEAF_KEY = {}; - -/** - * Returns the first argument as the sole entry in an array. - * - * @template T - * - * @param {T} value Value to return. - * - * @return {[T]} Value returned as entry in array. - */ -function arrayOf(value) { - return [value]; -} - -/** - * Returns true if the value passed is object-like, or false otherwise. A value - * is object-like if it can support property assignment, e.g. object or array. - * - * @param {*} value Value to test. - * - * @return {boolean} Whether value is object-like. - */ -function isObjectLike(value) { - return !!value && 'object' === typeof value; -} - -/** - * Creates and returns a new cache object. - * - * @return {Cache} Cache object. - */ -function createCache() { - /** @type {Cache} */ - var cache = { - clear: function () { - cache.head = null; - }, - }; - - return cache; -} - -/** - * Returns true if entries within the two arrays are strictly equal by - * reference from a starting index. - * - * @param {*[]} a First array. - * @param {*[]} b Second array. - * @param {number} fromIndex Index from which to start comparison. - * - * @return {boolean} Whether arrays are shallowly equal. - */ -function isShallowEqual(a, b, fromIndex) { - var i; - - if (a.length !== b.length) { - return false; - } - - for (i = fromIndex; i < a.length; i++) { - if (a[i] !== b[i]) { - return false; - } - } - - return true; -} - -/** - * Returns a memoized selector function. The getDependants function argument is - * called before the memoized selector and is expected to return an immutable - * reference or array of references on which the selector depends for computing - * its own return value. The memoize cache is preserved only as long as those - * dependant references remain the same. If getDependants returns a different - * reference(s), the cache is cleared and the selector value regenerated. - * - * @template {(...args: *[]) => *} S - * - * @param {S} selector Selector function. - * @param {GetDependants=} getDependants Dependant getter returning an array of - * references used in cache bust consideration. - */ -/* harmony default export */ function rememo(selector, getDependants) { - /** @type {WeakMap<*,*>} */ - var rootCache; - - /** @type {GetDependants} */ - var normalizedGetDependants = getDependants ? getDependants : arrayOf; - - /** - * Returns the cache for a given dependants array. When possible, a WeakMap - * will be used to create a unique cache for each set of dependants. This - * is feasible due to the nature of WeakMap in allowing garbage collection - * to occur on entries where the key object is no longer referenced. Since - * WeakMap requires the key to be an object, this is only possible when the - * dependant is object-like. The root cache is created as a hierarchy where - * each top-level key is the first entry in a dependants set, the value a - * WeakMap where each key is the next dependant, and so on. This continues - * so long as the dependants are object-like. If no dependants are object- - * like, then the cache is shared across all invocations. - * - * @see isObjectLike - * - * @param {*[]} dependants Selector dependants. - * - * @return {Cache} Cache object. - */ - function getCache(dependants) { - var caches = rootCache, - isUniqueByDependants = true, - i, - dependant, - map, - cache; - - for (i = 0; i < dependants.length; i++) { - dependant = dependants[i]; - - // Can only compose WeakMap from object-like key. - if (!isObjectLike(dependant)) { - isUniqueByDependants = false; - break; - } - - // Does current segment of cache already have a WeakMap? - if (caches.has(dependant)) { - // Traverse into nested WeakMap. - caches = caches.get(dependant); - } else { - // Create, set, and traverse into a new one. - map = new WeakMap(); - caches.set(dependant, map); - caches = map; - } - } - - // We use an arbitrary (but consistent) object as key for the last item - // in the WeakMap to serve as our running cache. - if (!caches.has(LEAF_KEY)) { - cache = createCache(); - cache.isUniqueByDependants = isUniqueByDependants; - caches.set(LEAF_KEY, cache); - } - - return caches.get(LEAF_KEY); - } - - /** - * Resets root memoization cache. - */ - function clear() { - rootCache = new WeakMap(); - } - - /* eslint-disable jsdoc/check-param-names */ - /** - * The augmented selector call, considering first whether dependants have - * changed before passing it to underlying memoize function. - * - * @param {*} source Source object for derivation. - * @param {...*} extraArgs Additional arguments to pass to selector. - * - * @return {*} Selector result. - */ - /* eslint-enable jsdoc/check-param-names */ - function callSelector(/* source, ...extraArgs */) { - var len = arguments.length, - cache, - node, - i, - args, - dependants; - - // Create copy of arguments (avoid leaking deoptimization). - args = new Array(len); - for (i = 0; i < len; i++) { - args[i] = arguments[i]; - } - - dependants = normalizedGetDependants.apply(null, args); - cache = getCache(dependants); - - // If not guaranteed uniqueness by dependants (primitive type), shallow - // compare against last dependants and, if references have changed, - // destroy cache to recalculate result. - if (!cache.isUniqueByDependants) { - if ( - cache.lastDependants && - !isShallowEqual(dependants, cache.lastDependants, 0) - ) { - cache.clear(); - } - - cache.lastDependants = dependants; - } - - node = cache.head; - while (node) { - // Check whether node arguments match arguments - if (!isShallowEqual(node.args, args, 1)) { - node = node.next; - continue; - } - - // At this point we can assume we've found a match - - // Surface matched node to head if not already - if (node !== cache.head) { - // Adjust siblings to point to each other. - /** @type {CacheNode} */ (node.prev).next = node.next; - if (node.next) { - node.next.prev = node.prev; - } - - node.next = cache.head; - node.prev = null; - /** @type {CacheNode} */ (cache.head).prev = node; - cache.head = node; - } - - // Return immediately - return node.val; - } - - // No cached value found. Continue to insertion phase: - - node = /** @type {CacheNode} */ ({ - // Generate the result from original function - val: selector.apply(null, args), - }); - - // Avoid including the source object in the cache. - args[0] = null; - node.args = args; - - // Don't need to check whether node is already head, since it would - // have been returned above already if it was - - // Shift existing head down list - if (cache.head) { - cache.head.prev = node; - node.next = cache.head; - } - - cache.head = node; - - return node.val; - } - - callSelector.getDependants = normalizedGetDependants; - callSelector.clear = clear; - clear(); - - return /** @type {S & EnhancedSelector} */ (callSelector); -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/store/selectors.js /** - * External dependencies - */ - - -/** * WordPress dependencies */ @@ -3009,11 +807,13 @@ function isShallowEqual(a, b, fromIndex) { - /** * Internal dependencies */ +const { + interfaceStore: selectors_interfaceStore +} = unlock(external_wp_editor_namespaceObject.privateApis); const EMPTY_ARRAY = []; const EMPTY_OBJECT = {}; @@ -3037,7 +837,7 @@ const getEditorMode = (0,external_wp_data_namespaceObject.createRegistrySelector * @return {boolean} Whether the editor sidebar is opened. */ const isEditorSidebarOpened = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => { - const activeGeneralSidebar = select(store).getActiveComplementaryArea('core/edit-post'); + const activeGeneralSidebar = select(selectors_interfaceStore).getActiveComplementaryArea('core'); return ['edit-post/document', 'edit-post/block'].includes(activeGeneralSidebar); }); @@ -3049,7 +849,7 @@ const isEditorSidebarOpened = (0,external_wp_data_namespaceObject.createRegistry * @return {boolean} Whether the plugin sidebar is opened. */ const isPluginSidebarOpened = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => { - const activeGeneralSidebar = select(store).getActiveComplementaryArea('core/edit-post'); + const activeGeneralSidebar = select(selectors_interfaceStore).getActiveComplementaryArea('core'); return !!activeGeneralSidebar && !['edit-post/document', 'edit-post/block'].includes(activeGeneralSidebar); }); @@ -3068,7 +868,7 @@ const isPluginSidebarOpened = (0,external_wp_data_namespaceObject.createRegistry * @return {?string} Active general sidebar name. */ const getActiveGeneralSidebarName = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => { - return select(store).getActiveComplementaryArea('core/edit-post'); + return select(selectors_interfaceStore).getActiveComplementaryArea('core'); }); /** @@ -3133,17 +933,6 @@ const getPreferences = (0,external_wp_data_namespaceObject.createRegistrySelecto since: '6.0', alternative: `select( 'core/preferences' ).get` }); - - // These preferences now exist in the preferences store. - // Fetch them so that they can be merged into the post - // editor preferences. - const preferences = ['preferredStyleVariations'].reduce((accumulatedPrefs, preferenceKey) => { - const value = select(external_wp_preferences_namespaceObject.store).get('core/edit-post', preferenceKey); - return { - ...accumulatedPrefs, - [preferenceKey]: value - }; - }, {}); const corePreferences = ['editorMode', 'hiddenBlockTypes'].reduce((accumulatedPrefs, preferenceKey) => { const value = select(external_wp_preferences_namespaceObject.store).get('core', preferenceKey); return { @@ -3160,7 +949,6 @@ const getPreferences = (0,external_wp_data_namespaceObject.createRegistrySelecto const openPanels = select(external_wp_preferences_namespaceObject.store).get('core', 'openPanels'); const panels = convertPanelsToOldFormat(inactivePanels, openPanels); return { - ...preferences, ...corePreferences, panels }; @@ -3199,13 +987,19 @@ const getHiddenBlockTypes = (0,external_wp_data_namespaceObject.createRegistrySe /** * Returns true if the publish sidebar is opened. * + * @deprecated + * * @param {Object} state Global application state * * @return {boolean} Whether the publish sidebar is open. */ -function isPublishSidebarOpened(state) { - return state.publishSidebarActive; -} +const isPublishSidebarOpened = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => { + external_wp_deprecated_default()(`select( 'core/edit-post' ).isPublishSidebarOpened`, { + since: '6.6', + alternative: `select( 'core/editor' ).isPublishSidebarOpened` + }); + return select(external_wp_editor_namespaceObject.store).isPublishSidebarOpened(); +}); /** * Returns true if the given panel was programmatically removed, or false otherwise. @@ -3274,12 +1068,12 @@ const isEditorPanelOpened = (0,external_wp_data_namespaceObject.createRegistrySe * * @return {boolean} Whether the modal is active. */ -const selectors_isModalActive = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, modalName) => { +const isModalActive = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, modalName) => { external_wp_deprecated_default()(`select( 'core/edit-post' ).isModalActive`, { since: '6.3', alternative: `select( 'core/interface' ).isModalActive` }); - return !!select(store).isModalActive(modalName); + return !!select(selectors_interfaceStore).isModalActive(modalName); }); /** @@ -3290,7 +1084,7 @@ const selectors_isModalActive = (0,external_wp_data_namespaceObject.createRegist * * @return {boolean} Is active. */ -const selectors_isFeatureActive = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, feature) => { +const isFeatureActive = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, feature) => { return !!select(external_wp_preferences_namespaceObject.store).get('core/edit-post', feature); }); @@ -3304,7 +1098,7 @@ const selectors_isFeatureActive = (0,external_wp_data_namespaceObject.createRegi * @return {boolean} Whether the plugin item is pinned. */ const isPluginItemPinned = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, pluginName) => { - return select(store).isItemPinned('core/edit-post', pluginName); + return select(selectors_interfaceStore).isItemPinned('core', pluginName); }); /** @@ -3314,7 +1108,7 @@ const isPluginItemPinned = (0,external_wp_data_namespaceObject.createRegistrySel * * @return {string[]} Active meta box locations. */ -const getActiveMetaBoxLocations = rememo(state => { +const getActiveMetaBoxLocations = (0,external_wp_data_namespaceObject.createSelector)(state => { return Object.keys(state.metaBoxes.locations).filter(location => isMetaBoxLocationActive(state, location)); }, state => [state.metaBoxes.locations]); @@ -3367,7 +1161,7 @@ function getMetaBoxesPerLocation(state, location) { * * @return {Array} List of meta boxes. */ -const getAllMetaBoxes = rememo(state => { +const getAllMetaBoxes = (0,external_wp_data_namespaceObject.createSelector)(state => { return Object.values(state.metaBoxes.locations).flat(); }, state => [state.metaBoxes.locations]); @@ -3532,7 +1326,7 @@ const getEditedPostTemplate = (0,external_wp_data_namespaceObject.createRegistry const defaultTemplateId = select(external_wp_coreData_namespaceObject.store).getDefaultTemplateId({ slug: slugToCheck }); - return select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord('postType', 'wp_template', defaultTemplateId); + return defaultTemplateId ? select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord('postType', 'wp_template', defaultTemplateId) : null; }); ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/store/constants.js @@ -3541,7 +1335,7 @@ const getEditedPostTemplate = (0,external_wp_data_namespaceObject.createRegistry * * @type {string} */ -const constants_STORE_NAME = 'core/edit-post'; +const STORE_NAME = 'core/edit-post'; /** * CSS selector string for the admin bar view post link anchor tag. @@ -3578,14 +1372,18 @@ const VIEW_AS_PREVIEW_LINK_SELECTOR = '#wp-admin-bar-preview a'; * * @type {Object} */ -const store_store = (0,external_wp_data_namespaceObject.createReduxStore)(constants_STORE_NAME, { - reducer: store_reducer, - actions: store_actions_namespaceObject, - selectors: store_selectors_namespaceObject +const store = (0,external_wp_data_namespaceObject.createReduxStore)(STORE_NAME, { + reducer: reducer, + actions: actions_namespaceObject, + selectors: selectors_namespaceObject }); -(0,external_wp_data_namespaceObject.register)(store_store); +(0,external_wp_data_namespaceObject.register)(store); + +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/back-button/fullscreen-mode-close.js +/** + * External dependencies + */ -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/text-editor/index.js /** * WordPress dependencies @@ -3597,131 +1395,157 @@ const store_store = (0,external_wp_data_namespaceObject.createReduxStore)(consta + + /** * Internal dependencies */ -function TextEditor() { - const isRichEditingEnabled = (0,external_wp_data_namespaceObject.useSelect)(select => { - return select(external_wp_editor_namespaceObject.store).getEditorSettings().richEditingEnabled; - }, []); - const { - switchEditorMode - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); + +function FullscreenModeClose({ + showTooltip, + icon, + href, + initialPost +}) { + var _postType$labels$view; const { - isWelcomeGuideVisible + isActive, + isRequestingSiteIcon, + postType, + siteIconUrl } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { + getCurrentPostType + } = select(external_wp_editor_namespaceObject.store); + const { isFeatureActive - } = select(store_store); + } = select(store); + const { + getEntityRecord, + getPostType, + isResolving + } = select(external_wp_coreData_namespaceObject.store); + const siteData = getEntityRecord('root', '__unstableBase', undefined) || {}; + const _postType = initialPost?.type || getCurrentPostType(); return { - isWelcomeGuideVisible: isFeatureActive('welcomeGuide') + isActive: isFeatureActive('fullscreenMode'), + isRequestingSiteIcon: isResolving('getEntityRecord', ['root', '__unstableBase', undefined]), + postType: getPostType(_postType), + siteIconUrl: siteData.site_icon_url }; }, []); - const titleRef = (0,external_wp_element_namespaceObject.useRef)(); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (isWelcomeGuideVisible) { - return; + const disableMotion = (0,external_wp_compose_namespaceObject.useReducedMotion)(); + if (!isActive || !postType) { + return null; + } + let buttonIcon = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Icon, { + size: "36px", + icon: library_wordpress + }); + const effect = { + expand: { + scale: 1.25, + transition: { + type: 'tween', + duration: '0.3' + } } - titleRef?.current?.focus(); - }, [isWelcomeGuideVisible]); - return (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-text-editor" - }, isRichEditingEnabled && (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-text-editor__toolbar" - }, (0,external_React_namespaceObject.createElement)("h2", null, (0,external_wp_i18n_namespaceObject.__)('Editing code')), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "tertiary", - onClick: () => switchEditorMode('visual'), - shortcut: external_wp_keycodes_namespaceObject.displayShortcut.secondary('m') - }, (0,external_wp_i18n_namespaceObject.__)('Exit code editor'))), (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-text-editor__body" - }, (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostTitleRaw, { - ref: titleRef - }), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostTextEditor, null))); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/visual-editor/index.js - -/** - * External dependencies - */ + }; + if (siteIconUrl) { + buttonIcon = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__unstableMotion.img, { + variants: !disableMotion && effect, + alt: (0,external_wp_i18n_namespaceObject.__)('Site Icon'), + className: "edit-post-fullscreen-mode-close_site-icon", + src: siteIconUrl + }); + } + if (isRequestingSiteIcon) { + buttonIcon = null; + } + // Override default icon if custom icon is provided via props. + if (icon) { + buttonIcon = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Icon, { + size: "36px", + icon: icon + }); + } + const classes = dist_clsx({ + 'edit-post-fullscreen-mode-close': true, + 'has-icon': siteIconUrl + }); + const buttonHref = href !== null && href !== void 0 ? href : (0,external_wp_url_namespaceObject.addQueryArgs)('edit.php', { + post_type: postType.slug + }); + const buttonLabel = (_postType$labels$view = postType?.labels?.view_items) !== null && _postType$labels$view !== void 0 ? _postType$labels$view : (0,external_wp_i18n_namespaceObject.__)('Back'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__unstableMotion.div, { + whileHover: "expand", + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { + className: classes, + href: buttonHref, + label: buttonLabel, + showTooltip: showTooltip, + children: buttonIcon + }) + }); +} +/* harmony default export */ const fullscreen_mode_close = (FullscreenModeClose); +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/back-button/index.js /** * WordPress dependencies */ - - /** * Internal dependencies */ + const { - EditorCanvas + BackButton: BackButtonFill } = unlock(external_wp_editor_namespaceObject.privateApis); -const isGutenbergPlugin = false ? 0 : false; -function VisualEditor({ - styles -}) { - const { - isWelcomeGuideVisible, - renderingMode, - isBlockBasedTheme, - hasV3BlocksOnly, - isEditingTemplate - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - isFeatureActive - } = select(store_store); - const { - getEditorSettings, - getRenderingMode - } = select(external_wp_editor_namespaceObject.store); - const { - getBlockTypes - } = select(external_wp_blocks_namespaceObject.store); - const editorSettings = getEditorSettings(); - return { - isWelcomeGuideVisible: isFeatureActive('welcomeGuide'), - renderingMode: getRenderingMode(), - isBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme, - hasV3BlocksOnly: getBlockTypes().every(type => { - return type.apiVersion >= 3; - }), - isEditingTemplate: select(external_wp_editor_namespaceObject.store).getCurrentPostType() === 'wp_template' - }; - }, []); - const hasMetaBoxes = (0,external_wp_data_namespaceObject.useSelect)(select => select(store_store).hasMetaBoxes(), []); - let paddingBottom; - - // Add a constant padding for the typewritter effect. When typing at the - // bottom, there needs to be room to scroll up. - if (!hasMetaBoxes && renderingMode === 'post-only') { - paddingBottom = '40vh'; +const slideX = { + hidden: { + x: '-100%' + }, + distractionFreeInactive: { + x: 0 + }, + hover: { + x: 0, + transition: { + type: 'tween', + delay: 0.2 + } } - styles = (0,external_wp_element_namespaceObject.useMemo)(() => [...styles, { - // We should move this in to future to the body. - css: paddingBottom ? `body{padding-bottom:${paddingBottom}}` : '' - }], [styles, paddingBottom]); - const isToBeIframed = (hasV3BlocksOnly || isGutenbergPlugin && isBlockBasedTheme) && !hasMetaBoxes || isEditingTemplate; - return (0,external_React_namespaceObject.createElement)("div", { - className: classnames_default()('edit-post-visual-editor', { - 'has-inline-canvas': !isToBeIframed +}; +function BackButton({ + initialPost +}) { + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(BackButtonFill, { + children: ({ + length + }) => length <= 1 && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__unstableMotion.div, { + variants: slideX, + transition: { + type: 'tween', + delay: 0.8 + }, + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(fullscreen_mode_close, { + showTooltip: true, + initialPost: initialPost + }) }) - }, (0,external_React_namespaceObject.createElement)(EditorCanvas, { - disableIframe: !isToBeIframed, - styles: styles - // We should auto-focus the canvas (title) on load. - // eslint-disable-next-line jsx-a11y/no-autofocus - , - autoFocus: !isWelcomeGuideVisible - })); + }); } +/* harmony default export */ const back_button = (BackButton); +;// CONCATENATED MODULE: external ["wp","keyboardShortcuts"] +const external_wp_keyboardShortcuts_namespaceObject = window["wp"]["keyboardShortcuts"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/keyboard-shortcuts/index.js /** * WordPress dependencies @@ -3731,86 +1555,19 @@ function VisualEditor({ - - - /** * Internal dependencies */ function KeyboardShortcuts() { const { - getEditorMode, - isEditorSidebarOpened - } = (0,external_wp_data_namespaceObject.useSelect)(store_store); - const isModeToggleDisabled = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - richEditingEnabled, - codeEditingEnabled - } = select(external_wp_editor_namespaceObject.store).getEditorSettings(); - return !richEditingEnabled || !codeEditingEnabled; - }, []); - const { - switchEditorMode, - openGeneralSidebar, - closeGeneralSidebar, - toggleFeature, - toggleDistractionFree - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); + toggleFeature + } = (0,external_wp_data_namespaceObject.useDispatch)(store); const { registerShortcut } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_keyboardShortcuts_namespaceObject.store); - const { - replaceBlocks - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); - const { - getBlockName, - getSelectedBlockClientId, - getBlockAttributes, - getBlockSelectionStart - } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); - const handleTextLevelShortcut = (event, level) => { - event.preventDefault(); - const destinationBlockName = level === 0 ? 'core/paragraph' : 'core/heading'; - const currentClientId = getSelectedBlockClientId(); - if (currentClientId === null) { - return; - } - const blockName = getBlockName(currentClientId); - if (blockName !== 'core/paragraph' && blockName !== 'core/heading') { - return; - } - const attributes = getBlockAttributes(currentClientId); - const textAlign = blockName === 'core/paragraph' ? 'align' : 'textAlign'; - const destinationTextAlign = destinationBlockName === 'core/paragraph' ? 'align' : 'textAlign'; - replaceBlocks(currentClientId, (0,external_wp_blocks_namespaceObject.createBlock)(destinationBlockName, { - level, - content: attributes.content, - ...{ - [destinationTextAlign]: attributes[textAlign] - } - })); - }; (0,external_wp_element_namespaceObject.useEffect)(() => { registerShortcut({ - name: 'core/edit-post/toggle-mode', - category: 'global', - description: (0,external_wp_i18n_namespaceObject.__)('Switch between visual editor and code editor.'), - keyCombination: { - modifier: 'secondary', - character: 'm' - } - }); - registerShortcut({ - name: 'core/edit-post/toggle-distraction-free', - category: 'global', - description: (0,external_wp_i18n_namespaceObject.__)('Toggle distraction free mode.'), - keyCombination: { - modifier: 'primaryShift', - character: '\\' - } - }); - registerShortcut({ name: 'core/edit-post/toggle-fullscreen', category: 'global', description: (0,external_wp_i18n_namespaceObject.__)('Toggle fullscreen mode.'), @@ -3819,205 +1576,15 @@ function KeyboardShortcuts() { character: 'f' } }); - registerShortcut({ - name: 'core/edit-post/toggle-sidebar', - category: 'global', - description: (0,external_wp_i18n_namespaceObject.__)('Show or hide the Settings sidebar.'), - keyCombination: { - modifier: 'primaryShift', - character: ',' - } - }); - registerShortcut({ - name: 'core/edit-post/next-region', - category: 'global', - description: (0,external_wp_i18n_namespaceObject.__)('Navigate to the next part of the editor.'), - keyCombination: { - modifier: 'ctrl', - character: '`' - }, - aliases: [{ - modifier: 'access', - character: 'n' - }] - }); - registerShortcut({ - name: 'core/edit-post/previous-region', - category: 'global', - description: (0,external_wp_i18n_namespaceObject.__)('Navigate to the previous part of the editor.'), - keyCombination: { - modifier: 'ctrlShift', - character: '`' - }, - aliases: [{ - modifier: 'access', - character: 'p' - }, { - modifier: 'ctrlShift', - character: '~' - }] - }); - registerShortcut({ - name: 'core/edit-post/keyboard-shortcuts', - category: 'main', - description: (0,external_wp_i18n_namespaceObject.__)('Display these keyboard shortcuts.'), - keyCombination: { - modifier: 'access', - character: 'h' - } - }); - registerShortcut({ - name: 'core/edit-post/transform-heading-to-paragraph', - category: 'block-library', - description: (0,external_wp_i18n_namespaceObject.__)('Transform heading to paragraph.'), - keyCombination: { - modifier: 'access', - character: `0` - } - }); - [1, 2, 3, 4, 5, 6].forEach(level => { - registerShortcut({ - name: `core/edit-post/transform-paragraph-to-heading-${level}`, - category: 'block-library', - description: (0,external_wp_i18n_namespaceObject.__)('Transform paragraph to heading.'), - keyCombination: { - modifier: 'access', - character: `${level}` - } - }); - }); }, []); - (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/edit-post/toggle-mode', () => { - switchEditorMode(getEditorMode() === 'visual' ? 'text' : 'visual'); - }, { - isDisabled: isModeToggleDisabled - }); (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/edit-post/toggle-fullscreen', () => { toggleFeature('fullscreenMode'); }); - (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/edit-post/toggle-distraction-free', () => { - toggleDistractionFree(); - }); - (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/edit-post/toggle-sidebar', event => { - // This shortcut has no known clashes, but use preventDefault to prevent any - // obscure shortcuts from triggering. - event.preventDefault(); - if (isEditorSidebarOpened()) { - closeGeneralSidebar(); - } else { - const sidebarToOpen = getBlockSelectionStart() ? 'edit-post/block' : 'edit-post/document'; - openGeneralSidebar(sidebarToOpen); - } - }); - (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/edit-post/transform-heading-to-paragraph', event => handleTextLevelShortcut(event, 0)); - [1, 2, 3, 4, 5, 6].forEach(level => { - //the loop is based off on a constant therefore - //the hook will execute the same way every time - //eslint-disable-next-line react-hooks/rules-of-hooks - (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)(`core/edit-post/transform-paragraph-to-heading-${level}`, event => handleTextLevelShortcut(event, level)); - }); return null; } /* harmony default export */ const keyboard_shortcuts = (KeyboardShortcuts); -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/enable-custom-fields.js - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - -const { - PreferenceBaseOption -} = unlock(external_wp_preferences_namespaceObject.privateApis); -function submitCustomFieldsForm() { - const customFieldsForm = document.getElementById('toggle-custom-fields-form'); - - // Ensure the referrer values is up to update with any - customFieldsForm.querySelector('[name="_wp_http_referer"]').setAttribute('value', (0,external_wp_url_namespaceObject.getPathAndQueryString)(window.location.href)); - customFieldsForm.submit(); -} -function CustomFieldsConfirmation({ - willEnable -}) { - const [isReloading, setIsReloading] = (0,external_wp_element_namespaceObject.useState)(false); - return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("p", { - className: "edit-post-preferences-modal__custom-fields-confirmation-message" - }, (0,external_wp_i18n_namespaceObject.__)('A page reload is required for this change. Make sure your content is saved before reloading.')), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - className: "edit-post-preferences-modal__custom-fields-confirmation-button", - variant: "secondary", - isBusy: isReloading, - disabled: isReloading, - onClick: () => { - setIsReloading(true); - submitCustomFieldsForm(); - } - }, willEnable ? (0,external_wp_i18n_namespaceObject.__)('Show & Reload Page') : (0,external_wp_i18n_namespaceObject.__)('Hide & Reload Page'))); -} -function EnableCustomFieldsOption({ - label, - areCustomFieldsEnabled -}) { - const [isChecked, setIsChecked] = (0,external_wp_element_namespaceObject.useState)(areCustomFieldsEnabled); - return (0,external_React_namespaceObject.createElement)(PreferenceBaseOption, { - label: label, - isChecked: isChecked, - onChange: setIsChecked - }, isChecked !== areCustomFieldsEnabled && (0,external_React_namespaceObject.createElement)(CustomFieldsConfirmation, { - willEnable: isChecked - })); -} -/* harmony default export */ const enable_custom_fields = ((0,external_wp_data_namespaceObject.withSelect)(select => ({ - areCustomFieldsEnabled: !!select(external_wp_editor_namespaceObject.store).getEditorSettings().enableCustomFields -}))(EnableCustomFieldsOption)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/enable-panel.js -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - -const { - PreferenceBaseOption: enable_panel_PreferenceBaseOption -} = unlock(external_wp_preferences_namespaceObject.privateApis); -/* harmony default export */ const enable_panel = ((0,external_wp_compose_namespaceObject.compose)((0,external_wp_data_namespaceObject.withSelect)((select, { - panelName -}) => { - const { - isEditorPanelEnabled, - isEditorPanelRemoved - } = select(external_wp_editor_namespaceObject.store); - return { - isRemoved: isEditorPanelRemoved(panelName), - isChecked: isEditorPanelEnabled(panelName) - }; -}), (0,external_wp_compose_namespaceObject.ifCondition)(({ - isRemoved -}) => !isRemoved), (0,external_wp_data_namespaceObject.withDispatch)((dispatch, { - panelName -}) => ({ - onChange: () => dispatch(external_wp_editor_namespaceObject.store).toggleEditorPanelEnabled(panelName) -})))(enable_panel_PreferenceBaseOption)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/meta-boxes-section.js - +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/init-pattern-modal/index.js /** * WordPress dependencies */ @@ -4026,170 +1593,16 @@ const { -/** - * Internal dependencies - */ - - - - -const { - PreferencesModalSection -} = unlock(external_wp_preferences_namespaceObject.privateApis); -function MetaBoxesSection({ - areCustomFieldsRegistered, - metaBoxes, - ...sectionProps -}) { - // The 'Custom Fields' meta box is a special case that we handle separately. - const thirdPartyMetaBoxes = metaBoxes.filter(({ - id - }) => id !== 'postcustom'); - if (!areCustomFieldsRegistered && thirdPartyMetaBoxes.length === 0) { - return null; - } - return (0,external_React_namespaceObject.createElement)(PreferencesModalSection, { - ...sectionProps - }, areCustomFieldsRegistered && (0,external_React_namespaceObject.createElement)(enable_custom_fields, { - label: (0,external_wp_i18n_namespaceObject.__)('Custom fields') - }), thirdPartyMetaBoxes.map(({ - id, - title - }) => (0,external_React_namespaceObject.createElement)(enable_panel, { - key: id, - label: title, - panelName: `meta-box-${id}` - }))); -} -/* harmony default export */ const meta_boxes_section = ((0,external_wp_data_namespaceObject.withSelect)(select => { - const { - getEditorSettings - } = select(external_wp_editor_namespaceObject.store); - const { - getAllMetaBoxes - } = select(store_store); - return { - // This setting should not live in the block editor's store. - areCustomFieldsRegistered: getEditorSettings().enableCustomFields !== undefined, - metaBoxes: getAllMetaBoxes() - }; -})(MetaBoxesSection)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/enable-publish-sidebar.js -/** - * WordPress dependencies - */ - - - - /** * Internal dependencies */ -const { - PreferenceBaseOption: enable_publish_sidebar_PreferenceBaseOption -} = unlock(external_wp_preferences_namespaceObject.privateApis); -/* harmony default export */ const enable_publish_sidebar = ((0,external_wp_compose_namespaceObject.compose)((0,external_wp_data_namespaceObject.withSelect)(select => ({ - isChecked: select(external_wp_editor_namespaceObject.store).isPublishSidebarEnabled() -})), (0,external_wp_data_namespaceObject.withDispatch)(dispatch => { - const { - enablePublishSidebar, - disablePublishSidebar - } = dispatch(external_wp_editor_namespaceObject.store); - return { - onChange: isEnabled => isEnabled ? enablePublishSidebar() : disablePublishSidebar() - }; -}), -// In < medium viewports we override this option and always show the publish sidebar. -// See the edit-post's header component for the specific logic. -(0,external_wp_viewport_namespaceObject.ifViewportMatches)('medium'))(enable_publish_sidebar_PreferenceBaseOption)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/index.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -const { - PreferencesModalSection: preferences_modal_PreferencesModalSection, - PreferenceToggleControl -} = unlock(external_wp_preferences_namespaceObject.privateApis); -const { - PreferencesModal -} = unlock(external_wp_editor_namespaceObject.privateApis); -const PREFERENCES_MODAL_NAME = 'edit-post/preferences'; -function EditPostPreferencesModal() { - const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium'); - const { - closeModal - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - const { - isModalActive - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const modalActive = select(store).isModalActive(PREFERENCES_MODAL_NAME); - return { - isModalActive: modalActive - }; - }, []); - const extraSections = { - general: (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, isLargeViewport && (0,external_React_namespaceObject.createElement)(preferences_modal_PreferencesModalSection, { - title: (0,external_wp_i18n_namespaceObject.__)('Publishing') - }, (0,external_React_namespaceObject.createElement)(enable_publish_sidebar, { - help: (0,external_wp_i18n_namespaceObject.__)('Review settings, such as visibility and tags.'), - label: (0,external_wp_i18n_namespaceObject.__)('Enable pre-publish checks') - })), (0,external_React_namespaceObject.createElement)(meta_boxes_section, { - title: (0,external_wp_i18n_namespaceObject.__)('Advanced') - })), - appearance: (0,external_React_namespaceObject.createElement)(PreferenceToggleControl, { - scope: "core/edit-post", - featureName: "themeStyles", - help: (0,external_wp_i18n_namespaceObject.__)('Make the editor look like your theme.'), - label: (0,external_wp_i18n_namespaceObject.__)('Use theme styles') - }) - }; - if (!isModalActive) { - return null; - } - return (0,external_React_namespaceObject.createElement)(PreferencesModal, { - extraSections: extraSections, - isActive: isModalActive, - onClose: closeModal - }); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/init-pattern-modal/index.js - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - const { ReusableBlocksRenameHint } = unlock(external_wp_blockEditor_namespaceObject.privateApis); @@ -4223,48 +1636,55 @@ function InitPatternModal() { if (postType !== 'wp_block' || !isNewPost) { return null; } - return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, isModalOpen && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Modal, { - title: (0,external_wp_i18n_namespaceObject.__)('Create pattern'), - onRequestClose: () => { - setIsModalOpen(false); - }, - overlayClassName: "reusable-blocks-menu-items__convert-modal" - }, (0,external_React_namespaceObject.createElement)("form", { - onSubmit: event => { - event.preventDefault(); - setIsModalOpen(false); - editPost({ - title, - meta: { - wp_pattern_sync_status: syncType - } - }); - } - }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalVStack, { - spacing: "5" - }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { - label: (0,external_wp_i18n_namespaceObject.__)('Name'), - value: title, - onChange: setTitle, - placeholder: (0,external_wp_i18n_namespaceObject.__)('My pattern'), - className: "patterns-create-modal__name-input", - __nextHasNoMarginBottom: true, - __next40pxDefaultSize: true - }), (0,external_React_namespaceObject.createElement)(ReusableBlocksRenameHint, null), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.ToggleControl, { - label: (0,external_wp_i18n_namespaceObject._x)('Synced', 'Option that makes an individual pattern synchronized'), - help: (0,external_wp_i18n_namespaceObject.__)('Sync this pattern across multiple locations.'), - checked: !syncType, - onChange: () => { - setSyncType(!syncType ? 'unsynced' : undefined); - } - }), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - justify: "right" - }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "primary", - type: "submit", - disabled: !title, - __experimentalIsFocusable: true - }, (0,external_wp_i18n_namespaceObject.__)('Create'))))))); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: isModalOpen && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Modal, { + title: (0,external_wp_i18n_namespaceObject.__)('Create pattern'), + onRequestClose: () => { + setIsModalOpen(false); + }, + overlayClassName: "reusable-blocks-menu-items__convert-modal", + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("form", { + onSubmit: event => { + event.preventDefault(); + setIsModalOpen(false); + editPost({ + title, + meta: { + wp_pattern_sync_status: syncType + } + }); + }, + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { + spacing: "5", + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.TextControl, { + label: (0,external_wp_i18n_namespaceObject.__)('Name'), + value: title, + onChange: setTitle, + placeholder: (0,external_wp_i18n_namespaceObject.__)('My pattern'), + className: "patterns-create-modal__name-input", + __nextHasNoMarginBottom: true, + __next40pxDefaultSize: true + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ReusableBlocksRenameHint, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { + label: (0,external_wp_i18n_namespaceObject._x)('Synced', 'pattern (singular)'), + help: (0,external_wp_i18n_namespaceObject.__)('Sync this pattern across multiple locations.'), + checked: !syncType, + onChange: () => { + setSyncType(!syncType ? 'unsynced' : undefined); + } + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalHStack, { + justify: "right", + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { + variant: "primary", + type: "submit", + disabled: !title, + __experimentalIsFocusable: true, + children: (0,external_wp_i18n_namespaceObject.__)('Create') + }) + })] + }) + }) + }) + }); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/browser-url/index.js @@ -4389,1036 +1809,7 @@ class BrowserURL extends external_wp_element_namespaceObject.Component { }; })(BrowserURL)); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/next.js - -/** - * WordPress dependencies - */ - -const next = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z" -})); -/* harmony default export */ const library_next = (next); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/previous.js - -/** - * WordPress dependencies - */ - -const previous = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z" -})); -/* harmony default export */ const library_previous = (previous); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/wordpress.js - -/** - * WordPress dependencies - */ - -const wordpress = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "-2 -2 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z" -})); -/* harmony default export */ const library_wordpress = (wordpress); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/fullscreen-mode-close/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - - -/** - * Internal dependencies - */ - -function FullscreenModeClose({ - showTooltip, - icon, - href, - initialPost -}) { - var _postType$labels$view; - const { - isActive, - isRequestingSiteIcon, - postType, - siteIconUrl - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getCurrentPostType - } = select(external_wp_editor_namespaceObject.store); - const { - isFeatureActive - } = select(store_store); - const { - getEntityRecord, - getPostType, - isResolving - } = select(external_wp_coreData_namespaceObject.store); - const siteData = getEntityRecord('root', '__unstableBase', undefined) || {}; - const _postType = initialPost?.type || getCurrentPostType(); - return { - isActive: isFeatureActive('fullscreenMode'), - isRequestingSiteIcon: isResolving('getEntityRecord', ['root', '__unstableBase', undefined]), - postType: getPostType(_postType), - siteIconUrl: siteData.site_icon_url - }; - }, []); - const disableMotion = (0,external_wp_compose_namespaceObject.useReducedMotion)(); - if (!isActive || !postType) { - return null; - } - let buttonIcon = (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { - size: "36px", - icon: library_wordpress - }); - const effect = { - expand: { - scale: 1.25, - transition: { - type: 'tween', - duration: '0.3' - } - } - }; - if (siteIconUrl) { - buttonIcon = (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.img, { - variants: !disableMotion && effect, - alt: (0,external_wp_i18n_namespaceObject.__)('Site Icon'), - className: "edit-post-fullscreen-mode-close_site-icon", - src: siteIconUrl - }); - } - if (isRequestingSiteIcon) { - buttonIcon = null; - } - - // Override default icon if custom icon is provided via props. - if (icon) { - buttonIcon = (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Icon, { - size: "36px", - icon: icon - }); - } - const classes = classnames_default()({ - 'edit-post-fullscreen-mode-close': true, - 'has-icon': siteIconUrl - }); - const buttonHref = href !== null && href !== void 0 ? href : (0,external_wp_url_namespaceObject.addQueryArgs)('edit.php', { - post_type: postType.slug - }); - const buttonLabel = (_postType$labels$view = postType?.labels?.view_items) !== null && _postType$labels$view !== void 0 ? _postType$labels$view : (0,external_wp_i18n_namespaceObject.__)('Back'); - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { - whileHover: "expand" - }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - className: classes, - href: buttonHref, - label: buttonLabel, - showTooltip: showTooltip - }, buttonIcon)); -} -/* harmony default export */ const fullscreen_mode_close = (FullscreenModeClose); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/mode-switcher/index.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - -/** - * Set of available mode options. - * - * @type {Array} - */ -const MODES = [{ - value: 'visual', - label: (0,external_wp_i18n_namespaceObject.__)('Visual editor') -}, { - value: 'text', - label: (0,external_wp_i18n_namespaceObject.__)('Code editor') -}]; -function ModeSwitcher() { - const { - shortcut, - isRichEditingEnabled, - isCodeEditingEnabled, - mode - } = (0,external_wp_data_namespaceObject.useSelect)(select => ({ - shortcut: select(external_wp_keyboardShortcuts_namespaceObject.store).getShortcutRepresentation('core/edit-post/toggle-mode'), - isRichEditingEnabled: select(external_wp_editor_namespaceObject.store).getEditorSettings().richEditingEnabled, - isCodeEditingEnabled: select(external_wp_editor_namespaceObject.store).getEditorSettings().codeEditingEnabled, - mode: select(store_store).getEditorMode() - }), []); - const { - switchEditorMode - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); - let selectedMode = mode; - if (!isRichEditingEnabled && mode === 'visual') { - selectedMode = 'text'; - } - if (!isCodeEditingEnabled && mode === 'text') { - selectedMode = 'visual'; - } - const choices = MODES.map(choice => { - if (!isCodeEditingEnabled && choice.value === 'text') { - choice = { - ...choice, - disabled: true - }; - } - if (!isRichEditingEnabled && choice.value === 'visual') { - choice = { - ...choice, - disabled: true, - info: (0,external_wp_i18n_namespaceObject.__)('You can enable the visual editor in your profile settings.') - }; - } - if (choice.value !== selectedMode && !choice.disabled) { - return { - ...choice, - shortcut - }; - } - return choice; - }); - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { - label: (0,external_wp_i18n_namespaceObject.__)('Editor') - }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItemsChoice, { - choices: choices, - value: selectedMode, - onSelect: switchEditorMode - })); -} -/* harmony default export */ const mode_switcher = (ModeSwitcher); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/preferences-menu-item/index.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - -function PreferencesMenuItem() { - const { - openModal - } = (0,external_wp_data_namespaceObject.useDispatch)(store); - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: () => { - openModal(PREFERENCES_MODAL_NAME); - } - }, (0,external_wp_i18n_namespaceObject.__)('Preferences')); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/writing-menu/index.js - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - -function WritingMenu() { - const { - set: setPreference - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_preferences_namespaceObject.store); - const { - toggleDistractionFree - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); - const turnOffDistractionFree = () => { - setPreference('core', 'distractionFree', false); - }; - const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium'); - if (!isLargeViewport) { - return null; - } - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, { - label: (0,external_wp_i18n_namespaceObject._x)('View', 'noun') - }, (0,external_React_namespaceObject.createElement)(external_wp_preferences_namespaceObject.PreferenceToggleMenuItem, { - scope: "core", - name: "fixedToolbar", - onToggle: turnOffDistractionFree, - label: (0,external_wp_i18n_namespaceObject.__)('Top toolbar'), - info: (0,external_wp_i18n_namespaceObject.__)('Access all block and document tools in a single place'), - messageActivated: (0,external_wp_i18n_namespaceObject.__)('Top toolbar activated'), - messageDeactivated: (0,external_wp_i18n_namespaceObject.__)('Top toolbar deactivated') - }), (0,external_React_namespaceObject.createElement)(external_wp_preferences_namespaceObject.PreferenceToggleMenuItem, { - scope: "core", - name: "distractionFree", - handleToggling: false, - onToggle: toggleDistractionFree, - label: (0,external_wp_i18n_namespaceObject.__)('Distraction free'), - info: (0,external_wp_i18n_namespaceObject.__)('Write with calmness'), - messageActivated: (0,external_wp_i18n_namespaceObject.__)('Distraction free mode activated'), - messageDeactivated: (0,external_wp_i18n_namespaceObject.__)('Distraction free mode deactivated'), - shortcut: external_wp_keycodes_namespaceObject.displayShortcut.primaryShift('\\') - }), (0,external_React_namespaceObject.createElement)(external_wp_preferences_namespaceObject.PreferenceToggleMenuItem, { - scope: "core", - name: "focusMode", - label: (0,external_wp_i18n_namespaceObject.__)('Spotlight mode'), - info: (0,external_wp_i18n_namespaceObject.__)('Focus on one block at a time'), - messageActivated: (0,external_wp_i18n_namespaceObject.__)('Spotlight mode activated'), - messageDeactivated: (0,external_wp_i18n_namespaceObject.__)('Spotlight mode deactivated') - }), (0,external_React_namespaceObject.createElement)(external_wp_preferences_namespaceObject.PreferenceToggleMenuItem, { - scope: "core/edit-post", - name: "fullscreenMode", - label: (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode'), - info: (0,external_wp_i18n_namespaceObject.__)('Show and hide the admin user interface'), - messageActivated: (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode activated'), - messageDeactivated: (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode deactivated'), - shortcut: external_wp_keycodes_namespaceObject.displayShortcut.secondary('f') - })); -} -/* harmony default export */ const writing_menu = (WritingMenu); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/more-menu/index.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - -const MoreMenu = ({ - showIconLabels -}) => { - const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('large'); - return (0,external_React_namespaceObject.createElement)(MoreMenuDropdown, { - toggleProps: { - showTooltip: !showIconLabels, - ...(showIconLabels && { - variant: 'tertiary' - }), - size: 'compact' - } - }, ({ - onClose - }) => (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, showIconLabels && !isLargeViewport && (0,external_React_namespaceObject.createElement)(pinned_items.Slot, { - className: showIconLabels && 'show-icon-labels', - scope: "core/edit-post" - }), (0,external_React_namespaceObject.createElement)(writing_menu, null), (0,external_React_namespaceObject.createElement)(mode_switcher, null), (0,external_React_namespaceObject.createElement)(action_item.Slot, { - name: "core/edit-post/plugin-more-menu", - label: (0,external_wp_i18n_namespaceObject.__)('Plugins'), - as: external_wp_components_namespaceObject.MenuGroup, - fillProps: { - onClick: onClose - } - }), (0,external_React_namespaceObject.createElement)(tools_more_menu_group.Slot, { - fillProps: { - onClose - } - }), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuGroup, null, (0,external_React_namespaceObject.createElement)(PreferencesMenuItem, null)))); -}; -/* harmony default export */ const more_menu = (MoreMenu); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/post-publish-button-or-toggle.js - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - -function PostPublishButtonOrToggle({ - forceIsDirty, - hasPublishAction, - isBeingScheduled, - isPending, - isPublished, - isPublishSidebarEnabled, - isPublishSidebarOpened, - isScheduled, - togglePublishSidebar, - setEntitiesSavedStatesCallback -}) { - const IS_TOGGLE = 'toggle'; - const IS_BUTTON = 'button'; - const isSmallerThanMediumViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<'); - let component; - - /** - * Conditions to show a BUTTON (publish directly) or a TOGGLE (open publish sidebar): - * - * 1) We want to show a BUTTON when the post status is at the _final stage_ - * for a particular role (see https://wordpress.org/documentation/article/post-status/): - * - * - is published - * - is scheduled to be published - * - is pending and can't be published (but only for viewports >= medium). - * Originally, we considered showing a button for pending posts that couldn't be published - * (for example, for an author with the contributor role). Some languages can have - * long translations for "Submit for review", so given the lack of UI real estate available - * we decided to take into account the viewport in that case. - * See: https://github.com/WordPress/gutenberg/issues/10475 - * - * 2) Then, in small viewports, we'll show a TOGGLE. - * - * 3) Finally, we'll use the publish sidebar status to decide: - * - * - if it is enabled, we show a TOGGLE - * - if it is disabled, we show a BUTTON - */ - if (isPublished || isScheduled && isBeingScheduled || isPending && !hasPublishAction && !isSmallerThanMediumViewport) { - component = IS_BUTTON; - } else if (isSmallerThanMediumViewport) { - component = IS_TOGGLE; - } else if (isPublishSidebarEnabled) { - component = IS_TOGGLE; - } else { - component = IS_BUTTON; - } - return (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostPublishButton, { - forceIsDirty: forceIsDirty, - isOpen: isPublishSidebarOpened, - isToggle: component === IS_TOGGLE, - onToggle: togglePublishSidebar, - setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback - }); -} -/* harmony default export */ const post_publish_button_or_toggle = ((0,external_wp_compose_namespaceObject.compose)((0,external_wp_data_namespaceObject.withSelect)(select => { - var _select$getCurrentPos; - return { - hasPublishAction: (_select$getCurrentPos = select(external_wp_editor_namespaceObject.store).getCurrentPost()?._links?.['wp:action-publish']) !== null && _select$getCurrentPos !== void 0 ? _select$getCurrentPos : false, - isBeingScheduled: select(external_wp_editor_namespaceObject.store).isEditedPostBeingScheduled(), - isPending: select(external_wp_editor_namespaceObject.store).isCurrentPostPending(), - isPublished: select(external_wp_editor_namespaceObject.store).isCurrentPostPublished(), - isPublishSidebarEnabled: select(external_wp_editor_namespaceObject.store).isPublishSidebarEnabled(), - isPublishSidebarOpened: select(store_store).isPublishSidebarOpened(), - isScheduled: select(external_wp_editor_namespaceObject.store).isCurrentPostScheduled() - }; -}), (0,external_wp_data_namespaceObject.withDispatch)(dispatch => { - const { - togglePublishSidebar - } = dispatch(store_store); - return { - togglePublishSidebar - }; -}))(PostPublishButtonOrToggle)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/main-dashboard-button/index.js - -/** - * WordPress dependencies - */ - -const slotName = '__experimentalMainDashboardButton'; -const { - Fill, - Slot: MainDashboardButtonSlot -} = (0,external_wp_components_namespaceObject.createSlotFill)(slotName); -const MainDashboardButton = Fill; -const main_dashboard_button_Slot = ({ - children -}) => { - const fills = (0,external_wp_components_namespaceObject.__experimentalUseSlotFills)(slotName); - const hasFills = Boolean(fills && fills.length); - if (!hasFills) { - return children; - } - return (0,external_React_namespaceObject.createElement)(MainDashboardButtonSlot, { - bubblesVirtually: true - }); -}; -MainDashboardButton.Slot = main_dashboard_button_Slot; -/* harmony default export */ const main_dashboard_button = (MainDashboardButton); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/index.js - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - - - - -/** - * Internal dependencies - */ - - - - - - -const { - DocumentTools, - PostViewLink, - PreviewDropdown -} = unlock(external_wp_editor_namespaceObject.privateApis); -const slideY = { - hidden: { - y: '-50px' - }, - distractionFreeInactive: { - y: 0 - }, - hover: { - y: 0, - transition: { - type: 'tween', - delay: 0.2 - } - } -}; -const slideX = { - hidden: { - x: '-100%' - }, - distractionFreeInactive: { - x: 0 - }, - hover: { - x: 0, - transition: { - type: 'tween', - delay: 0.2 - } - } -}; -function Header({ - setEntitiesSavedStatesCallback, - initialPost -}) { - const isWideViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('large'); - const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium'); - const blockToolbarRef = (0,external_wp_element_namespaceObject.useRef)(); - const { - isTextEditor, - blockSelectionStart, - hasActiveMetaboxes, - hasFixedToolbar, - isPublishSidebarOpened, - showIconLabels, - hasHistory - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - get: getPreference - } = select(external_wp_preferences_namespaceObject.store); - const { - getEditorMode - } = select(store_store); - return { - isTextEditor: getEditorMode() === 'text', - blockSelectionStart: select(external_wp_blockEditor_namespaceObject.store).getBlockSelectionStart(), - hasActiveMetaboxes: select(store_store).hasMetaBoxes(), - hasHistory: !!select(external_wp_editor_namespaceObject.store).getEditorSettings().onNavigateToPreviousEntityRecord, - isPublishSidebarOpened: select(store_store).isPublishSidebarOpened(), - hasFixedToolbar: getPreference('core', 'fixedToolbar'), - showIconLabels: getPreference('core', 'showIconLabels') - }; - }, []); - const [isBlockToolsCollapsed, setIsBlockToolsCollapsed] = (0,external_wp_element_namespaceObject.useState)(true); - const hasBlockSelection = !!blockSelectionStart; - (0,external_wp_element_namespaceObject.useEffect)(() => { - // If we have a new block selection, show the block tools - if (blockSelectionStart) { - setIsBlockToolsCollapsed(false); - } - }, [blockSelectionStart]); - return (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-header" - }, (0,external_React_namespaceObject.createElement)(main_dashboard_button.Slot, null, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { - variants: slideX, - transition: { - type: 'tween', - delay: 0.8 - } - }, (0,external_React_namespaceObject.createElement)(fullscreen_mode_close, { - showTooltip: true, - initialPost: initialPost - }))), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { - variants: slideY, - transition: { - type: 'tween', - delay: 0.8 - }, - className: "edit-post-header__toolbar" - }, (0,external_React_namespaceObject.createElement)(DocumentTools, { - disableBlockTools: isTextEditor - }), hasFixedToolbar && isLargeViewport && (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("div", { - className: classnames_default()('selected-block-tools-wrapper', { - 'is-collapsed': isBlockToolsCollapsed || !hasBlockSelection - }) - }, (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockToolbar, { - hideDragHandle: true - })), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover.Slot, { - ref: blockToolbarRef, - name: "block-toolbar" - }), hasBlockSelection && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - className: "edit-post-header__block-tools-toggle", - icon: isBlockToolsCollapsed ? library_next : library_previous, - onClick: () => { - setIsBlockToolsCollapsed(collapsed => !collapsed); - }, - label: isBlockToolsCollapsed ? (0,external_wp_i18n_namespaceObject.__)('Show block tools') : (0,external_wp_i18n_namespaceObject.__)('Hide block tools') - })), (0,external_React_namespaceObject.createElement)("div", { - className: classnames_default()('edit-post-header__center', { - 'is-collapsed': hasHistory && hasBlockSelection && !isBlockToolsCollapsed && hasFixedToolbar && isLargeViewport - }) - }, hasHistory && (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.DocumentBar, null))), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, { - variants: slideY, - transition: { - type: 'tween', - delay: 0.8 - }, - className: "edit-post-header__settings" - }, !isPublishSidebarOpened && - // This button isn't completely hidden by the publish sidebar. - // We can't hide the whole toolbar when the publish sidebar is open because - // we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node. - // We track that DOM node to return focus to the PostPublishButtonOrToggle - // when the publish sidebar has been closed. - (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostSavedState, { - forceIsDirty: hasActiveMetaboxes - }), (0,external_React_namespaceObject.createElement)(PreviewDropdown, { - forceIsAutosaveable: hasActiveMetaboxes - }), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostPreviewButton, { - className: "edit-post-header__post-preview-button", - forceIsAutosaveable: hasActiveMetaboxes - }), (0,external_React_namespaceObject.createElement)(PostViewLink, null), (0,external_React_namespaceObject.createElement)(post_publish_button_or_toggle, { - forceIsDirty: hasActiveMetaboxes, - setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback - }), (isWideViewport || !showIconLabels) && (0,external_React_namespaceObject.createElement)(pinned_items.Slot, { - scope: "core/edit-post" - }), (0,external_React_namespaceObject.createElement)(more_menu, { - showIconLabels: showIconLabels - }))); -} -/* harmony default export */ const header = (Header); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/drawer-left.js - -/** - * WordPress dependencies - */ - -const drawerLeft = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - width: "24", - height: "24", - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.5 18.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h2.5v13zm10-.5c0 .3-.2.5-.5.5h-8v-13h8c.3 0 .5.2.5.5v12z" -})); -/* harmony default export */ const drawer_left = (drawerLeft); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/drawer-right.js - -/** - * WordPress dependencies - */ - -const drawerRight = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - width: "24", - height: "24", - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z" -})); -/* harmony default export */ const drawer_right = (drawerRight); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/settings-header/index.js - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - -const { - Tabs -} = unlock(external_wp_components_namespaceObject.privateApis); -const SettingsHeader = (_, ref) => { - const { - documentLabel - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getPostTypeLabel - } = select(external_wp_editor_namespaceObject.store); - return { - // translators: Default label for the Document sidebar tab, not selected. - documentLabel: getPostTypeLabel() || (0,external_wp_i18n_namespaceObject._x)('Document', 'noun') - }; - }, []); - return (0,external_React_namespaceObject.createElement)(Tabs.TabList, { - ref: ref - }, (0,external_React_namespaceObject.createElement)(Tabs.Tab, { - tabId: sidebars.document - // Used for focus management in the SettingsSidebar component. - , - "data-tab-id": sidebars.document - }, documentLabel), (0,external_React_namespaceObject.createElement)(Tabs.Tab, { - tabId: sidebars.block - // Used for focus management in the SettingsSidebar component. - , - "data-tab-id": sidebars.block - }, (0,external_wp_i18n_namespaceObject.__)('Block'))); -}; -/* harmony default export */ const settings_header = ((0,external_wp_element_namespaceObject.forwardRef)(SettingsHeader)); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/post-visibility/index.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - -const { - PostPanelRow -} = unlock(external_wp_editor_namespaceObject.privateApis); -function PostVisibility() { - // Use internal state instead of a ref to make sure that the component - // re-renders when the popover's anchor updates. - const [popoverAnchor, setPopoverAnchor] = (0,external_wp_element_namespaceObject.useState)(null); - // Memoize popoverProps to avoid returning a new object every time. - const popoverProps = (0,external_wp_element_namespaceObject.useMemo)(() => ({ - // Anchor the popover to the middle of the entire row so that it doesn't - // move around when the label changes. - anchor: popoverAnchor, - placement: 'bottom-end' - }), [popoverAnchor]); - return (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostVisibilityCheck, { - render: ({ - canEdit - }) => (0,external_React_namespaceObject.createElement)(PostPanelRow, { - label: (0,external_wp_i18n_namespaceObject.__)('Visibility'), - ref: setPopoverAnchor - }, !canEdit && (0,external_React_namespaceObject.createElement)("span", null, (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostVisibilityLabel, null)), canEdit && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Dropdown, { - contentClassName: "edit-post-post-visibility__dialog", - popoverProps: popoverProps, - focusOnMount: true, - renderToggle: ({ - isOpen, - onToggle - }) => (0,external_React_namespaceObject.createElement)(PostVisibilityToggle, { - isOpen: isOpen, - onClick: onToggle - }), - renderContent: ({ - onClose - }) => (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostVisibility, { - onClose: onClose - }) - })) - }); -} -function PostVisibilityToggle({ - isOpen, - onClick -}) { - const label = (0,external_wp_editor_namespaceObject.usePostVisibilityLabel)(); - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - __next40pxDefaultSize: true, - className: "edit-post-post-visibility__toggle", - variant: "tertiary", - "aria-expanded": isOpen - // translators: %s: Current post visibility. - , - "aria-label": (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('Select visibility: %s'), label), - onClick: onClick - }, label); -} -/* harmony default export */ const post_visibility = (PostVisibility); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/post-trash/index.js - -/** - * WordPress dependencies - */ - -function PostTrash() { - return (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostTrashCheck, null, (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostTrash, null)); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/post-sticky/index.js - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - -const { - PostPanelRow: post_sticky_PostPanelRow -} = unlock(external_wp_editor_namespaceObject.privateApis); -function PostSticky() { - return (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostStickyCheck, null, (0,external_React_namespaceObject.createElement)(post_sticky_PostPanelRow, null, (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostSticky, null))); -} -/* harmony default export */ const post_sticky = (PostSticky); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/post-slug/index.js - -/** - * WordPress dependencies - */ - - -function PostSlug() { - return (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostSlugCheck, null, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelRow, { - className: "edit-post-post-slug" - }, (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostSlug, null))); -} -/* harmony default export */ const post_slug = (PostSlug); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/post-format/index.js - -/** - * WordPress dependencies - */ - - -function PostFormat() { - return (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostFormatCheck, null, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelRow, { - className: "edit-post-post-format" - }, (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostFormat, null))); -} -/* harmony default export */ const post_format = (PostFormat); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/post-pending-status/index.js - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - -const { - PostPanelRow: post_pending_status_PostPanelRow -} = unlock(external_wp_editor_namespaceObject.privateApis); -function PostPendingStatus() { - return (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostPendingStatusCheck, null, (0,external_React_namespaceObject.createElement)(post_pending_status_PostPanelRow, null, (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostPendingStatus, null))); -} -/* harmony default export */ const post_pending_status = (PostPendingStatus); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/plugin-post-status-info/index.js - -/** - * Defines as extensibility slot for the Summary panel. - */ - -/** - * WordPress dependencies - */ - -const { - Fill: plugin_post_status_info_Fill, - Slot: plugin_post_status_info_Slot -} = (0,external_wp_components_namespaceObject.createSlotFill)('PluginPostStatusInfo'); - -/** - * Renders a row in the Summary panel of the Document sidebar. - * It should be noted that this is named and implemented around the function it serves - * and not its location, which may change in future iterations. - * - * @param {Object} props Component properties. - * @param {string} [props.className] An optional class name added to the row. - * @param {Element} props.children Children to be rendered. - * - * @example - * ```js - * // Using ES5 syntax - * var __ = wp.i18n.__; - * var PluginPostStatusInfo = wp.editPost.PluginPostStatusInfo; - * - * function MyPluginPostStatusInfo() { - * return React.createElement( - * PluginPostStatusInfo, - * { - * className: 'my-plugin-post-status-info', - * }, - * __( 'My post status info' ) - * ) - * } - * ``` - * - * @example - * ```jsx - * // Using ESNext syntax - * import { __ } from '@wordpress/i18n'; - * import { PluginPostStatusInfo } from '@wordpress/edit-post'; - * - * const MyPluginPostStatusInfo = () => ( - * <PluginPostStatusInfo - * className="my-plugin-post-status-info" - * > - * { __( 'My post status info' ) } - * </PluginPostStatusInfo> - * ); - * ``` - * - * @return {Component} The component to be rendered. - */ -const PluginPostStatusInfo = ({ - children, - className -}) => (0,external_React_namespaceObject.createElement)(plugin_post_status_info_Fill, null, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelRow, { - className: className -}, children)); -PluginPostStatusInfo.Slot = plugin_post_status_info_Slot; -/* harmony default export */ const plugin_post_status_info = (PluginPostStatusInfo); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/post-status/index.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - - - - -/** - * Module Constants - */ -const PANEL_NAME = 'post-status'; -function PostStatus() { - const { - isOpened, - isRemoved - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - // We use isEditorPanelRemoved to hide the panel if it was programatically removed. We do - // not use isEditorPanelEnabled since this panel should not be disabled through the UI. - const { - isEditorPanelRemoved, - isEditorPanelOpened - } = select(external_wp_editor_namespaceObject.store); - return { - isRemoved: isEditorPanelRemoved(PANEL_NAME), - isOpened: isEditorPanelOpened(PANEL_NAME) - }; - }, []); - const { - toggleEditorPanelOpened - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_editor_namespaceObject.store); - if (isRemoved) { - return null; - } - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { - className: "edit-post-post-status", - title: (0,external_wp_i18n_namespaceObject.__)('Summary'), - opened: isOpened, - onToggle: () => toggleEditorPanelOpened(PANEL_NAME) - }, (0,external_React_namespaceObject.createElement)(plugin_post_status_info.Slot, null, fills => (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)(post_visibility, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostSchedulePanel, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostTemplatePanel, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostURLPanel, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostSyncStatus, null), (0,external_React_namespaceObject.createElement)(post_sticky, null), (0,external_React_namespaceObject.createElement)(post_pending_status, null), (0,external_React_namespaceObject.createElement)(post_format, null), (0,external_React_namespaceObject.createElement)(post_slug, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostAuthorPanel, null), fills, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.__experimentalHStack, { - style: { - marginTop: '16px' - }, - spacing: 4, - wrap: true - }, (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostSwitchToDraftButton, null), (0,external_React_namespaceObject.createElement)(PostTrash, null))))); -} - ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/meta-boxes/meta-boxes-area/index.js - /** * External dependencies */ @@ -5443,6 +1834,8 @@ function PostStatus() { * @param {string} props.location metabox location. * @return {Component} The component to be rendered. */ + + function MetaBoxesArea({ location }) { @@ -5460,19 +1853,20 @@ function MetaBoxesArea({ }; }, [location]); const isSaving = (0,external_wp_data_namespaceObject.useSelect)(select => { - return select(store_store).isSavingMetaBoxes(); + return select(store).isSavingMetaBoxes(); }, []); - const classes = classnames_default()('edit-post-meta-boxes-area', `is-${location}`, { + const classes = dist_clsx('edit-post-meta-boxes-area', `is-${location}`, { 'is-loading': isSaving }); - return (0,external_React_namespaceObject.createElement)("div", { - className: classes - }, isSaving && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Spinner, null), (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-meta-boxes-area__container", - ref: container - }), (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-meta-boxes-area__clear" - })); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { + className: classes, + children: [isSaving && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { + className: "edit-post-meta-boxes-area__container", + ref: container + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { + className: "edit-post-meta-boxes-area__clear" + })] + }); } /* harmony default export */ const meta_boxes_area = (MetaBoxesArea); @@ -5518,7 +1912,6 @@ class MetaBoxVisibility extends external_wp_element_namespaceObject.Component { }))(MetaBoxVisibility)); ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/meta-boxes/index.js - /** * WordPress dependencies */ @@ -5532,6 +1925,9 @@ class MetaBoxVisibility extends external_wp_element_namespaceObject.Component { + + + function MetaBoxes({ location }) { @@ -5547,7 +1943,7 @@ function MetaBoxes({ const { getMetaBoxesPerLocation, areMetaBoxesInitialized: _areMetaBoxesInitialized - } = select(store_store); + } = select(store); return { metaBoxes: getMetaBoxesPerLocation(location), areMetaBoxesInitialized: _areMetaBoxesInitialized(), @@ -5561,27 +1957,26 @@ function MetaBoxes({ // one. (0,external_wp_element_namespaceObject.useEffect)(() => { if (isEditorReady && hasMetaBoxes && !areMetaBoxesInitialized) { - registry.dispatch(store_store).initializeMetaBoxes(); + registry.dispatch(store).initializeMetaBoxes(); } }, [isEditorReady, hasMetaBoxes, areMetaBoxesInitialized]); if (!areMetaBoxesInitialized) { return null; } - return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (metaBoxes !== null && metaBoxes !== void 0 ? metaBoxes : []).map(({ - id - }) => (0,external_React_namespaceObject.createElement)(meta_box_visibility, { - key: id, - id: id - })), (0,external_React_namespaceObject.createElement)(meta_boxes_area, { - location: location - })); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: [(metaBoxes !== null && metaBoxes !== void 0 ? metaBoxes : []).map(({ + id + }) => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(meta_box_visibility, { + id: id + }, id)), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(meta_boxes_area, { + location: location + })] + }); } -;// CONCATENATED MODULE: external ["wp","warning"] -const external_wp_warning_namespaceObject = window["wp"]["warning"]; -var external_wp_warning_default = /*#__PURE__*/__webpack_require__.n(external_wp_warning_namespaceObject); -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/plugin-document-setting-panel/index.js - +;// CONCATENATED MODULE: external ["wp","keycodes"] +const external_wp_keycodes_namespaceObject = window["wp"]["keycodes"]; +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/more-menu/manage-patterns-menu-item.js /** * WordPress dependencies */ @@ -5591,116 +1986,50 @@ var external_wp_warning_default = /*#__PURE__*/__webpack_require__.n(external_wp -/** - * Internal dependencies - */ +function ManagePatternsMenuItem() { + const url = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + canUser + } = select(external_wp_coreData_namespaceObject.store); + const defaultUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('edit.php', { + post_type: 'wp_block' + }); + const patternsUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', { + path: '/patterns' + }); -const { - Fill: plugin_document_setting_panel_Fill, - Slot: plugin_document_setting_panel_Slot -} = (0,external_wp_components_namespaceObject.createSlotFill)('PluginDocumentSettingPanel'); -const { - EnablePluginDocumentSettingPanelOption -} = unlock(external_wp_editor_namespaceObject.privateApis); + // The site editor and templates both check whether the user has + // edit_theme_options capabilities. We can leverage that here and not + // display the manage patterns link if the user can't access it. + return canUser('create', 'templates') ? patternsUrl : defaultUrl; + }, []); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuItem, { + role: "menuitem", + href: url, + children: (0,external_wp_i18n_namespaceObject.__)('Manage patterns') + }); +} +/* harmony default export */ const manage_patterns_menu_item = (ManagePatternsMenuItem); +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/more-menu/welcome-guide-menu-item.js /** - * Renders items below the Status & Availability panel in the Document Sidebar. - * - * @param {Object} props Component properties. - * @param {string} props.name Required. A machine-friendly name for the panel. - * @param {string} [props.className] An optional class name added to the row. - * @param {string} [props.title] The title of the panel - * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar. - * @param {Element} props.children Children to be rendered - * - * @example - * ```js - * // Using ES5 syntax - * var el = React.createElement; - * var __ = wp.i18n.__; - * var registerPlugin = wp.plugins.registerPlugin; - * var PluginDocumentSettingPanel = wp.editPost.PluginDocumentSettingPanel; - * - * function MyDocumentSettingPlugin() { - * return el( - * PluginDocumentSettingPanel, - * { - * className: 'my-document-setting-plugin', - * title: 'My Panel', - * name: 'my-panel', - * }, - * __( 'My Document Setting Panel' ) - * ); - * } - * - * registerPlugin( 'my-document-setting-plugin', { - * render: MyDocumentSettingPlugin - * } ); - * ``` - * - * @example - * ```jsx - * // Using ESNext syntax - * import { registerPlugin } from '@wordpress/plugins'; - * import { PluginDocumentSettingPanel } from '@wordpress/edit-post'; - * - * const MyDocumentSettingTest = () => ( - * <PluginDocumentSettingPanel className="my-document-setting-plugin" title="My Panel" name="my-panel"> - * <p>My Document Setting Panel</p> - * </PluginDocumentSettingPanel> - * ); - * - * registerPlugin( 'document-setting-test', { render: MyDocumentSettingTest } ); - * ``` - * - * @return {Component} The component to be rendered. + * WordPress dependencies */ -const PluginDocumentSettingPanel = ({ - name, - className, - title, - icon, - children -}) => { - const { - name: pluginName - } = (0,external_wp_plugins_namespaceObject.usePluginContext)(); - const panelName = `${pluginName}/${name}`; - const { - opened, - isEnabled - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - isEditorPanelOpened, - isEditorPanelEnabled - } = select(external_wp_editor_namespaceObject.store); - return { - opened: isEditorPanelOpened(panelName), - isEnabled: isEditorPanelEnabled(panelName) - }; - }, [panelName]); - const { - toggleEditorPanelOpened - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_editor_namespaceObject.store); - if (undefined === name) { - true ? external_wp_warning_default()('PluginDocumentSettingPanel requires a name property.') : 0; - } - return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)(EnablePluginDocumentSettingPanelOption, { - label: title, - panelName: panelName - }), (0,external_React_namespaceObject.createElement)(plugin_document_setting_panel_Fill, null, isEnabled && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { - className: className, - title: title, - icon: icon, - opened: opened, - onToggle: () => toggleEditorPanelOpened(panelName) - }, children))); -}; -PluginDocumentSettingPanel.Slot = plugin_document_setting_panel_Slot; -/* harmony default export */ const plugin_document_setting_panel = (PluginDocumentSettingPanel); -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/plugin-sidebar/index.js + + + +function WelcomeGuideMenuItem() { + const isEditingTemplate = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_editor_namespaceObject.store).getCurrentPostType() === 'wp_template', []); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_preferences_namespaceObject.PreferenceToggleMenuItem, { + scope: "core/edit-post", + name: isEditingTemplate ? 'welcomeGuideTemplate' : 'welcomeGuide', + label: (0,external_wp_i18n_namespaceObject.__)('Welcome Guide') + }); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/enable-custom-fields.js /** * WordPress dependencies */ @@ -5710,172 +2039,161 @@ PluginDocumentSettingPanel.Slot = plugin_document_setting_panel_Slot; + + /** - * Renders a sidebar when activated. The contents within the `PluginSidebar` will appear as content within the sidebar. - * It also automatically renders a corresponding `PluginSidebarMenuItem` component when `isPinnable` flag is set to `true`. - * If you wish to display the sidebar, you can with use the `PluginSidebarMoreMenuItem` component or the `wp.data.dispatch` API: - * - * ```js - * wp.data.dispatch( 'core/edit-post' ).openGeneralSidebar( 'plugin-name/sidebar-name' ); - * ``` - * - * @see PluginSidebarMoreMenuItem - * - * @param {Object} props Element props. - * @param {string} props.name A string identifying the sidebar. Must be unique for every sidebar registered within the scope of your plugin. - * @param {string} [props.className] An optional class name added to the sidebar body. - * @param {string} props.title Title displayed at the top of the sidebar. - * @param {boolean} [props.isPinnable=true] Whether to allow to pin sidebar to the toolbar. When set to `true` it also automatically renders a corresponding menu item. - * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar. - * - * @example - * ```js - * // Using ES5 syntax - * var __ = wp.i18n.__; - * var el = React.createElement; - * var PanelBody = wp.components.PanelBody; - * var PluginSidebar = wp.editPost.PluginSidebar; - * var moreIcon = React.createElement( 'svg' ); //... svg element. - * - * function MyPluginSidebar() { - * return el( - * PluginSidebar, - * { - * name: 'my-sidebar', - * title: 'My sidebar title', - * icon: moreIcon, - * }, - * el( - * PanelBody, - * {}, - * __( 'My sidebar content' ) - * ) - * ); - * } - * ``` - * - * @example - * ```jsx - * // Using ESNext syntax - * import { __ } from '@wordpress/i18n'; - * import { PanelBody } from '@wordpress/components'; - * import { PluginSidebar } from '@wordpress/edit-post'; - * import { more } from '@wordpress/icons'; - * - * const MyPluginSidebar = () => ( - * <PluginSidebar - * name="my-sidebar" - * title="My sidebar title" - * icon={ more } - * > - * <PanelBody> - * { __( 'My sidebar content' ) } - * </PanelBody> - * </PluginSidebar> - * ); - * ``` - */ -function PluginSidebarEditPost({ - className, - ...props + * Internal dependencies + */ + + + + +const { + PreferenceBaseOption +} = unlock(external_wp_preferences_namespaceObject.privateApis); +function submitCustomFieldsForm() { + const customFieldsForm = document.getElementById('toggle-custom-fields-form'); + + // Ensure the referrer values is up to update with any + customFieldsForm.querySelector('[name="_wp_http_referer"]').setAttribute('value', (0,external_wp_url_namespaceObject.getPathAndQueryString)(window.location.href)); + customFieldsForm.submit(); +} +function CustomFieldsConfirmation({ + willEnable }) { - const { - postTitle, - shortcut - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - return { - postTitle: select(external_wp_editor_namespaceObject.store).getEditedPostAttribute('title'), - shortcut: select(external_wp_keyboardShortcuts_namespaceObject.store).getShortcutRepresentation('core/edit-post/toggle-sidebar') - }; - }, []); - return (0,external_React_namespaceObject.createElement)(complementary_area, { - panelClassName: className, - className: "edit-post-sidebar", - smallScreenTitle: postTitle || (0,external_wp_i18n_namespaceObject.__)('(no title)'), - scope: "core/edit-post", - toggleShortcut: shortcut, - ...props + const [isReloading, setIsReloading] = (0,external_wp_element_namespaceObject.useState)(false); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { + className: "edit-post-preferences-modal__custom-fields-confirmation-message", + children: (0,external_wp_i18n_namespaceObject.__)('A page reload is required for this change. Make sure your content is saved before reloading.') + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { + className: "edit-post-preferences-modal__custom-fields-confirmation-button", + variant: "secondary", + isBusy: isReloading, + __experimentalIsFocusable: true, + disabled: isReloading, + onClick: () => { + setIsReloading(true); + submitCustomFieldsForm(); + }, + children: willEnable ? (0,external_wp_i18n_namespaceObject.__)('Show & Reload Page') : (0,external_wp_i18n_namespaceObject.__)('Hide & Reload Page') + })] + }); +} +function EnableCustomFieldsOption({ + label, + areCustomFieldsEnabled +}) { + const [isChecked, setIsChecked] = (0,external_wp_element_namespaceObject.useState)(areCustomFieldsEnabled); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PreferenceBaseOption, { + label: label, + isChecked: isChecked, + onChange: setIsChecked, + children: isChecked !== areCustomFieldsEnabled && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(CustomFieldsConfirmation, { + willEnable: isChecked + }) }); } +/* harmony default export */ const enable_custom_fields = ((0,external_wp_data_namespaceObject.withSelect)(select => ({ + areCustomFieldsEnabled: !!select(external_wp_editor_namespaceObject.store).getEditorSettings().enableCustomFields +}))(EnableCustomFieldsOption)); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/enable-panel.js /** * WordPress dependencies */ -/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */ + + /** - * Return an SVG icon. - * - * @param {IconProps} props icon is the SVG component to render - * size is a number specifiying the icon size in pixels - * Other props will be passed to wrapped SVG component - * @param {import('react').ForwardedRef<HTMLElement>} ref The forwarded ref to the SVG element. - * - * @return {JSX.Element} Icon component + * Internal dependencies */ -function Icon({ - icon, - size = 24, - ...props -}, ref) { - return (0,external_wp_element_namespaceObject.cloneElement)(icon, { - width: size, - height: size, - ...props, - ref - }); -} -/* harmony default export */ const icon = ((0,external_wp_element_namespaceObject.forwardRef)(Icon)); -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/layout.js +const { + PreferenceBaseOption: enable_panel_PreferenceBaseOption +} = unlock(external_wp_preferences_namespaceObject.privateApis); +/* harmony default export */ const enable_panel = ((0,external_wp_compose_namespaceObject.compose)((0,external_wp_data_namespaceObject.withSelect)((select, { + panelName +}) => { + const { + isEditorPanelEnabled, + isEditorPanelRemoved + } = select(external_wp_editor_namespaceObject.store); + return { + isRemoved: isEditorPanelRemoved(panelName), + isChecked: isEditorPanelEnabled(panelName) + }; +}), (0,external_wp_compose_namespaceObject.ifCondition)(({ + isRemoved +}) => !isRemoved), (0,external_wp_data_namespaceObject.withDispatch)((dispatch, { + panelName +}) => ({ + onChange: () => dispatch(external_wp_editor_namespaceObject.store).toggleEditorPanelEnabled(panelName) +})))(enable_panel_PreferenceBaseOption)); +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/meta-boxes-section.js /** * WordPress dependencies */ -const layout = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" -})); -/* harmony default export */ const library_layout = (layout); -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/template-summary/index.js + + /** - * WordPress dependencies + * Internal dependencies */ -function TemplateSummary() { - const template = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getCurrentPost - } = select(external_wp_editor_namespaceObject.store); - return getCurrentPost(); - }, []); - if (!template) { + + +const { + PreferencesModalSection +} = unlock(external_wp_preferences_namespaceObject.privateApis); +function MetaBoxesSection({ + areCustomFieldsRegistered, + metaBoxes, + ...sectionProps +}) { + // The 'Custom Fields' meta box is a special case that we handle separately. + const thirdPartyMetaBoxes = metaBoxes.filter(({ + id + }) => id !== 'postcustom'); + if (!areCustomFieldsRegistered && thirdPartyMetaBoxes.length === 0) { return null; } - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, null, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Flex, { - align: "flex-start", - gap: "3" - }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_namespaceObject.createElement)(icon, { - icon: library_layout - })), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.FlexBlock, null, (0,external_React_namespaceObject.createElement)("h2", { - className: "edit-post-template-summary__title" - }, template?.title || template?.slug), (0,external_React_namespaceObject.createElement)("p", null, template?.description)))); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(PreferencesModalSection, { + ...sectionProps, + children: [areCustomFieldsRegistered && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(enable_custom_fields, { + label: (0,external_wp_i18n_namespaceObject.__)('Custom fields') + }), thirdPartyMetaBoxes.map(({ + id, + title + }) => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(enable_panel, { + label: title, + panelName: `meta-box-${id}` + }, id))] + }); } -/* harmony default export */ const template_summary = (TemplateSummary); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/settings-sidebar/index.js +/* harmony default export */ const meta_boxes_section = ((0,external_wp_data_namespaceObject.withSelect)(select => { + const { + getEditorSettings + } = select(external_wp_editor_namespaceObject.store); + const { + getAllMetaBoxes + } = select(store); + return { + // This setting should not live in the block editor's store. + areCustomFieldsRegistered: getEditorSettings().enableCustomFields !== undefined, + metaBoxes: getAllMetaBoxes() + }; +})(MetaBoxesSection)); +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/index.js /** * WordPress dependencies */ @@ -5884,12 +2202,38 @@ function TemplateSummary() { +/** + * Internal dependencies + */ +const { + PreferenceToggleControl +} = unlock(external_wp_preferences_namespaceObject.privateApis); +const { + PreferencesModal +} = unlock(external_wp_editor_namespaceObject.privateApis); +function EditPostPreferencesModal() { + const extraSections = { + general: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(meta_boxes_section, { + title: (0,external_wp_i18n_namespaceObject.__)('Advanced') + }), + appearance: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PreferenceToggleControl, { + scope: "core/edit-post", + featureName: "themeStyles", + help: (0,external_wp_i18n_namespaceObject.__)('Make the editor look like your theme.'), + label: (0,external_wp_i18n_namespaceObject.__)('Use theme styles') + }) + }; + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PreferencesModal, { + extraSections: extraSections + }); +} +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/more-menu/index.js /** - * Internal dependencies + * WordPress dependencies */ @@ -5897,159 +2241,62 @@ function TemplateSummary() { +/** + * Internal dependencies + */ + + + + const { - Tabs: settings_sidebar_Tabs -} = unlock(external_wp_components_namespaceObject.privateApis); -const SIDEBAR_ACTIVE_BY_DEFAULT = external_wp_element_namespaceObject.Platform.select({ - web: true, - native: false -}); -const sidebars = { - document: 'edit-post/document', - block: 'edit-post/block' -}; -const SidebarContent = ({ - sidebarName, - keyboardShortcut, - isEditingTemplate -}) => { - const tabListRef = (0,external_wp_element_namespaceObject.useRef)(null); - // Because `PluginSidebarEditPost` renders a `ComplementaryArea`, we - // need to forward the `Tabs` context so it can be passed through the - // underlying slot/fill. - const tabsContextValue = (0,external_wp_element_namespaceObject.useContext)(settings_sidebar_Tabs.Context); - - // This effect addresses a race condition caused by tabbing from the last - // block in the editor into the settings sidebar. Without this effect, the - // selected tab and browser focus can become separated in an unexpected way - // (e.g the "block" tab is focused, but the "post" tab is selected). - (0,external_wp_element_namespaceObject.useEffect)(() => { - const tabsElements = Array.from(tabListRef.current?.querySelectorAll('[role="tab"]') || []); - const selectedTabElement = tabsElements.find( - // We are purposefully using a custom `data-tab-id` attribute here - // because we don't want rely on any assumptions about `Tabs` - // component internals. - element => element.getAttribute('data-tab-id') === sidebarName); - const activeElement = selectedTabElement?.ownerDocument.activeElement; - const tabsHasFocus = tabsElements.some(element => { - return activeElement && activeElement.id === element.id; - }); - if (tabsHasFocus && selectedTabElement && selectedTabElement.id !== activeElement?.id) { - selectedTabElement?.focus(); - } - }, [sidebarName]); - return (0,external_React_namespaceObject.createElement)(PluginSidebarEditPost, { - identifier: sidebarName, - header: (0,external_React_namespaceObject.createElement)(settings_sidebar_Tabs.Context.Provider, { - value: tabsContextValue - }, (0,external_React_namespaceObject.createElement)(settings_header, { - ref: tabListRef - })), - closeLabel: (0,external_wp_i18n_namespaceObject.__)('Close Settings') - // This classname is added so we can apply a corrective negative - // margin to the panel. - // see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049 - , - className: "edit-post-sidebar__panel", - headerClassName: "edit-post-sidebar__panel-tabs" - /* translators: button label text should, if possible, be under 16 characters. */, - title: (0,external_wp_i18n_namespaceObject.__)('Settings'), - toggleShortcut: keyboardShortcut, - icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? drawer_left : drawer_right, - isActiveByDefault: SIDEBAR_ACTIVE_BY_DEFAULT - }, (0,external_React_namespaceObject.createElement)(settings_sidebar_Tabs.Context.Provider, { - value: tabsContextValue - }, (0,external_React_namespaceObject.createElement)(settings_sidebar_Tabs.TabPanel, { - tabId: sidebars.document, - focusable: false - }, !isEditingTemplate && (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)(PostStatus, null), (0,external_React_namespaceObject.createElement)(plugin_document_setting_panel.Slot, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostLastRevisionPanel, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostTaxonomiesPanel, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostFeaturedImagePanel, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostExcerptPanel, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostDiscussionPanel, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PageAttributesPanel, null), (0,external_React_namespaceObject.createElement)(MetaBoxes, { - location: "side" - })), isEditingTemplate && (0,external_React_namespaceObject.createElement)(template_summary, null)), (0,external_React_namespaceObject.createElement)(settings_sidebar_Tabs.TabPanel, { - tabId: sidebars.block, - focusable: false - }, (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockInspector, null)))); -}; -const SettingsSidebar = () => { - const { - sidebarName, - isSettingsSidebarActive, - keyboardShortcut, - isEditingTemplate - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - // The settings sidebar is used by the edit-post/document and edit-post/block sidebars. - // sidebarName represents the sidebar that is active or that should be active when the SettingsSidebar toggle button is pressed. - // If one of the two sidebars is active the component will contain the content of that sidebar. - // When neither of the two sidebars is active we can not simply return null, because the PluginSidebarEditPost - // component, besides being used to render the sidebar, also renders the toggle button. In that case sidebarName - // should contain the sidebar that will be active when the toggle button is pressed. If a block - // is selected, that should be edit-post/block otherwise it's edit-post/document. - let sidebar = select(store).getActiveComplementaryArea(store_store.name); - let isSettingsSidebar = true; - if (![sidebars.document, sidebars.block].includes(sidebar)) { - isSettingsSidebar = false; - if (select(external_wp_blockEditor_namespaceObject.store).getBlockSelectionStart()) { - sidebar = sidebars.block; - } - sidebar = sidebars.document; - } - const shortcut = select(external_wp_keyboardShortcuts_namespaceObject.store).getShortcutRepresentation('core/edit-post/toggle-sidebar'); - return { - sidebarName: sidebar, - isSettingsSidebarActive: isSettingsSidebar, - keyboardShortcut: shortcut, - isEditingTemplate: select(external_wp_editor_namespaceObject.store).getCurrentPostType() === 'wp_template' - }; - }, []); - const { - openGeneralSidebar - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); - const onTabSelect = (0,external_wp_element_namespaceObject.useCallback)(newSelectedTabId => { - if (!!newSelectedTabId) { - openGeneralSidebar(newSelectedTabId); - } - }, [openGeneralSidebar]); - return (0,external_React_namespaceObject.createElement)(settings_sidebar_Tabs - // Due to how this component is controlled (via a value from the - // `interfaceStore`), when the sidebar closes the currently selected - // tab can't be found. This causes the component to continuously reset - // the selection to `null` in an infinite loop.Proactively setting - // the selected tab to `null` avoids that. - , { - selectedTabId: isSettingsSidebarActive ? sidebarName : null, - onSelect: onTabSelect, - selectOnMove: false - }, (0,external_React_namespaceObject.createElement)(SidebarContent, { - sidebarName: sidebarName, - keyboardShortcut: keyboardShortcut, - isEditingTemplate: isEditingTemplate - })); + ToolsMoreMenuGroup, + ViewMoreMenuGroup +} = unlock(external_wp_editor_namespaceObject.privateApis); +const MoreMenu = () => { + const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('large'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: [isLargeViewport && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ViewMoreMenuGroup, { + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_preferences_namespaceObject.PreferenceToggleMenuItem, { + scope: "core/edit-post", + name: "fullscreenMode", + label: (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode'), + info: (0,external_wp_i18n_namespaceObject.__)('Show and hide the admin user interface'), + messageActivated: (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode activated'), + messageDeactivated: (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode deactivated'), + shortcut: external_wp_keycodes_namespaceObject.displayShortcut.secondary('f') + }) + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(ToolsMoreMenuGroup, { + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(manage_patterns_menu_item, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideMenuItem, {})] + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(EditPostPreferencesModal, {})] + }); }; -/* harmony default export */ const settings_sidebar = (SettingsSidebar); +/* harmony default export */ const more_menu = (MoreMenu); ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/welcome-guide/image.js + function WelcomeGuideImage({ nonAnimatedSrc, animatedSrc }) { - return (0,external_React_namespaceObject.createElement)("picture", { - className: "edit-post-welcome-guide__image" - }, (0,external_React_namespaceObject.createElement)("source", { - srcSet: nonAnimatedSrc, - media: "(prefers-reduced-motion: reduce)" - }), (0,external_React_namespaceObject.createElement)("img", { - src: animatedSrc, - width: "312", - height: "240", - alt: "" - })); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("picture", { + className: "edit-post-welcome-guide__image", + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("source", { + srcSet: nonAnimatedSrc, + media: "(prefers-reduced-motion: reduce)" + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { + src: animatedSrc, + width: "312", + height: "240", + alt: "" + })] + }); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/welcome-guide/default.js - /** * WordPress dependencies */ @@ -6063,68 +2310,87 @@ function WelcomeGuideImage({ */ + + + function WelcomeGuideDefault() { const { toggleFeature - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Guide, { + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Guide, { className: "edit-post-welcome-guide", contentLabel: (0,external_wp_i18n_namespaceObject.__)('Welcome to the block editor'), finishButtonText: (0,external_wp_i18n_namespaceObject.__)('Get started'), onFinish: () => toggleFeature('welcomeGuide'), pages: [{ - image: (0,external_React_namespaceObject.createElement)(WelcomeGuideImage, { + image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, { nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-canvas.svg", animatedSrc: "https://s.w.org/images/block-editor/welcome-canvas.gif" }), - content: (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("h1", { - className: "edit-post-welcome-guide__heading" - }, (0,external_wp_i18n_namespaceObject.__)('Welcome to the block editor')), (0,external_React_namespaceObject.createElement)("p", { - className: "edit-post-welcome-guide__text" - }, (0,external_wp_i18n_namespaceObject.__)('In the WordPress editor, each paragraph, image, or video is presented as a distinct “block” of content.'))) + content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", { + className: "edit-post-welcome-guide__heading", + children: (0,external_wp_i18n_namespaceObject.__)('Welcome to the block editor') + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { + className: "edit-post-welcome-guide__text", + children: (0,external_wp_i18n_namespaceObject.__)('In the WordPress editor, each paragraph, image, or video is presented as a distinct “block” of content.') + })] + }) }, { - image: (0,external_React_namespaceObject.createElement)(WelcomeGuideImage, { + image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, { nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-editor.svg", animatedSrc: "https://s.w.org/images/block-editor/welcome-editor.gif" }), - content: (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("h1", { - className: "edit-post-welcome-guide__heading" - }, (0,external_wp_i18n_namespaceObject.__)('Make each block your own')), (0,external_React_namespaceObject.createElement)("p", { - className: "edit-post-welcome-guide__text" - }, (0,external_wp_i18n_namespaceObject.__)('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.'))) + content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", { + className: "edit-post-welcome-guide__heading", + children: (0,external_wp_i18n_namespaceObject.__)('Make each block your own') + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { + className: "edit-post-welcome-guide__text", + children: (0,external_wp_i18n_namespaceObject.__)('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.') + })] + }) }, { - image: (0,external_React_namespaceObject.createElement)(WelcomeGuideImage, { + image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, { nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-library.svg", animatedSrc: "https://s.w.org/images/block-editor/welcome-library.gif" }), - content: (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("h1", { - className: "edit-post-welcome-guide__heading" - }, (0,external_wp_i18n_namespaceObject.__)('Get to know the block library')), (0,external_React_namespaceObject.createElement)("p", { - className: "edit-post-welcome-guide__text" - }, (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)('All of the blocks available to you live in the block library. You’ll find it wherever you see the <InserterIconImage /> icon.'), { - InserterIconImage: (0,external_React_namespaceObject.createElement)("img", { - alt: (0,external_wp_i18n_namespaceObject.__)('inserter'), - src: "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" - }) - }))) + content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", { + className: "edit-post-welcome-guide__heading", + children: (0,external_wp_i18n_namespaceObject.__)('Get to know the block library') + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { + className: "edit-post-welcome-guide__text", + children: (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)('All of the blocks available to you live in the block library. You’ll find it wherever you see the <InserterIconImage /> icon.'), { + InserterIconImage: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { + alt: (0,external_wp_i18n_namespaceObject.__)('inserter'), + src: "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" + }) + }) + })] + }) }, { - image: (0,external_React_namespaceObject.createElement)(WelcomeGuideImage, { + image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, { nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-documentation.svg", animatedSrc: "https://s.w.org/images/block-editor/welcome-documentation.gif" }), - content: (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("h1", { - className: "edit-post-welcome-guide__heading" - }, (0,external_wp_i18n_namespaceObject.__)('Learn how to use the block editor')), (0,external_React_namespaceObject.createElement)("p", { - className: "edit-post-welcome-guide__text" - }, (0,external_wp_i18n_namespaceObject.__)('New to the block editor? Want to learn more about using it? '), (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.ExternalLink, { - href: (0,external_wp_i18n_namespaceObject.__)('https://wordpress.org/documentation/article/wordpress-block-editor/') - }, (0,external_wp_i18n_namespaceObject.__)("Here's a detailed guide.")))) + content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", { + className: "edit-post-welcome-guide__heading", + children: (0,external_wp_i18n_namespaceObject.__)('Learn how to use the block editor') + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("p", { + className: "edit-post-welcome-guide__text", + children: [(0,external_wp_i18n_namespaceObject.__)('New to the block editor? Want to learn more about using it? '), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ExternalLink, { + href: (0,external_wp_i18n_namespaceObject.__)('https://wordpress.org/documentation/article/wordpress-block-editor/'), + children: (0,external_wp_i18n_namespaceObject.__)("Here's a detailed guide.") + })] + })] + }) }] }); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/welcome-guide/template.js - /** * WordPress dependencies */ @@ -6137,31 +2403,37 @@ function WelcomeGuideDefault() { */ + + + function WelcomeGuideTemplate() { const { toggleFeature - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Guide, { + } = (0,external_wp_data_namespaceObject.useDispatch)(store); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Guide, { className: "edit-template-welcome-guide", contentLabel: (0,external_wp_i18n_namespaceObject.__)('Welcome to the template editor'), finishButtonText: (0,external_wp_i18n_namespaceObject.__)('Get started'), onFinish: () => toggleFeature('welcomeGuideTemplate'), pages: [{ - image: (0,external_React_namespaceObject.createElement)(WelcomeGuideImage, { + image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, { nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-template-editor.svg", animatedSrc: "https://s.w.org/images/block-editor/welcome-template-editor.gif" }), - content: (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("h1", { - className: "edit-post-welcome-guide__heading" - }, (0,external_wp_i18n_namespaceObject.__)('Welcome to the template editor')), (0,external_React_namespaceObject.createElement)("p", { - className: "edit-post-welcome-guide__text" - }, (0,external_wp_i18n_namespaceObject.__)('Templates help define the layout of the site. You can customize all aspects of your posts and pages using blocks and patterns in this editor.'))) + content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", { + className: "edit-post-welcome-guide__heading", + children: (0,external_wp_i18n_namespaceObject.__)('Welcome to the template editor') + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { + className: "edit-post-welcome-guide__text", + children: (0,external_wp_i18n_namespaceObject.__)('Templates help define the layout of the site. You can customize all aspects of your posts and pages using blocks and patterns in this editor.') + })] + }) }] }); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/welcome-guide/index.js - /** * WordPress dependencies */ @@ -6174,6 +2446,7 @@ function WelcomeGuideTemplate() { + function WelcomeGuide() { const { isActive, @@ -6181,7 +2454,7 @@ function WelcomeGuide() { } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { isFeatureActive - } = select(store_store); + } = select(store); const { getCurrentPostType } = select(external_wp_editor_namespaceObject.store); @@ -6195,442 +2468,25 @@ function WelcomeGuide() { if (!isActive) { return null; } - return isEditingTemplate ? (0,external_React_namespaceObject.createElement)(WelcomeGuideTemplate, null) : (0,external_React_namespaceObject.createElement)(WelcomeGuideDefault, null); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/plugin-post-publish-panel/index.js - -/** - * WordPress dependencies - */ - - -const { - Fill: plugin_post_publish_panel_Fill, - Slot: plugin_post_publish_panel_Slot -} = (0,external_wp_components_namespaceObject.createSlotFill)('PluginPostPublishPanel'); - -/** - * Renders provided content to the post-publish panel in the publish flow - * (side panel that opens after a user publishes the post). - * - * @param {Object} props Component properties. - * @param {string} [props.className] An optional class name added to the panel. - * @param {string} [props.title] Title displayed at the top of the panel. - * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. When no title is provided it is always opened. - * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar. - * @param {Element} props.children Children to be rendered - * - * @example - * ```js - * // Using ES5 syntax - * var __ = wp.i18n.__; - * var PluginPostPublishPanel = wp.editPost.PluginPostPublishPanel; - * - * function MyPluginPostPublishPanel() { - * return React.createElement( - * PluginPostPublishPanel, - * { - * className: 'my-plugin-post-publish-panel', - * title: __( 'My panel title' ), - * initialOpen: true, - * }, - * __( 'My panel content' ) - * ); - * } - * ``` - * - * @example - * ```jsx - * // Using ESNext syntax - * import { __ } from '@wordpress/i18n'; - * import { PluginPostPublishPanel } from '@wordpress/edit-post'; - * - * const MyPluginPostPublishPanel = () => ( - * <PluginPostPublishPanel - * className="my-plugin-post-publish-panel" - * title={ __( 'My panel title' ) } - * initialOpen={ true } - * > - * { __( 'My panel content' ) } - * </PluginPostPublishPanel> - * ); - * ``` - * - * @return {Component} The component to be rendered. - */ -const PluginPostPublishPanel = ({ - children, - className, - title, - initialOpen = false, - icon -}) => { - const { - icon: pluginIcon - } = (0,external_wp_plugins_namespaceObject.usePluginContext)(); - return (0,external_React_namespaceObject.createElement)(plugin_post_publish_panel_Fill, null, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { - className: className, - initialOpen: initialOpen || !title, - title: title, - icon: icon !== null && icon !== void 0 ? icon : pluginIcon - }, children)); -}; -PluginPostPublishPanel.Slot = plugin_post_publish_panel_Slot; -/* harmony default export */ const plugin_post_publish_panel = (PluginPostPublishPanel); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/sidebar/plugin-pre-publish-panel/index.js - -/** - * WordPress dependencies - */ - - -const { - Fill: plugin_pre_publish_panel_Fill, - Slot: plugin_pre_publish_panel_Slot -} = (0,external_wp_components_namespaceObject.createSlotFill)('PluginPrePublishPanel'); - -/** - * Renders provided content to the pre-publish side panel in the publish flow - * (side panel that opens when a user first pushes "Publish" from the main editor). - * - * @param {Object} props Component props. - * @param {string} [props.className] An optional class name added to the panel. - * @param {string} [props.title] Title displayed at the top of the panel. - * @param {boolean} [props.initialOpen=false] Whether to have the panel initially opened. - * When no title is provided it is always opened. - * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) - * icon slug string, or an SVG WP element, to be rendered when - * the sidebar is pinned to toolbar. - * @param {Element} props.children Children to be rendered - * - * @example - * ```js - * // Using ES5 syntax - * var __ = wp.i18n.__; - * var PluginPrePublishPanel = wp.editPost.PluginPrePublishPanel; - * - * function MyPluginPrePublishPanel() { - * return React.createElement( - * PluginPrePublishPanel, - * { - * className: 'my-plugin-pre-publish-panel', - * title: __( 'My panel title' ), - * initialOpen: true, - * }, - * __( 'My panel content' ) - * ); - * } - * ``` - * - * @example - * ```jsx - * // Using ESNext syntax - * import { __ } from '@wordpress/i18n'; - * import { PluginPrePublishPanel } from '@wordpress/edit-post'; - * - * const MyPluginPrePublishPanel = () => ( - * <PluginPrePublishPanel - * className="my-plugin-pre-publish-panel" - * title={ __( 'My panel title' ) } - * initialOpen={ true } - * > - * { __( 'My panel content' ) } - * </PluginPrePublishPanel> - * ); - * ``` - * - * @return {Component} The component to be rendered. - */ -const PluginPrePublishPanel = ({ - children, - className, - title, - initialOpen = false, - icon -}) => { - const { - icon: pluginIcon - } = (0,external_wp_plugins_namespaceObject.usePluginContext)(); - return (0,external_React_namespaceObject.createElement)(plugin_pre_publish_panel_Fill, null, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.PanelBody, { - className: className, - initialOpen: initialOpen || !title, - title: title, - icon: icon !== null && icon !== void 0 ? icon : pluginIcon - }, children)); -}; -PluginPrePublishPanel.Slot = plugin_pre_publish_panel_Slot; -/* harmony default export */ const plugin_pre_publish_panel = (PluginPrePublishPanel); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/layout/actions-panel.js - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - -const { - Fill: actions_panel_Fill, - Slot: actions_panel_Slot -} = (0,external_wp_components_namespaceObject.createSlotFill)('ActionsPanel'); -const ActionsPanelFill = (/* unused pure expression or super */ null && (actions_panel_Fill)); -function ActionsPanel({ - setEntitiesSavedStatesCallback, - closeEntitiesSavedStates, - isEntitiesSavedStatesOpen -}) { - const { - closePublishSidebar, - togglePublishSidebar - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); - const { - publishSidebarOpened, - hasActiveMetaboxes, - hasNonPostEntityChanges - } = (0,external_wp_data_namespaceObject.useSelect)(select => ({ - publishSidebarOpened: select(store_store).isPublishSidebarOpened(), - hasActiveMetaboxes: select(store_store).hasMetaBoxes(), - hasNonPostEntityChanges: select(external_wp_editor_namespaceObject.store).hasNonPostEntityChanges() - }), []); - const openEntitiesSavedStates = (0,external_wp_element_namespaceObject.useCallback)(() => setEntitiesSavedStatesCallback(true), []); - - // It is ok for these components to be unmounted when not in visual use. - // We don't want more than one present at a time, decide which to render. - let unmountableContent; - if (publishSidebarOpened) { - unmountableContent = (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostPublishPanel, { - onClose: closePublishSidebar, - forceIsDirty: hasActiveMetaboxes, - PrePublishExtension: plugin_pre_publish_panel.Slot, - PostPublishExtension: plugin_post_publish_panel.Slot - }); - } else if (hasNonPostEntityChanges) { - unmountableContent = (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-layout__toggle-entities-saved-states-panel" - }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "secondary", - className: "edit-post-layout__toggle-entities-saved-states-panel-button", - onClick: openEntitiesSavedStates, - "aria-expanded": false - }, (0,external_wp_i18n_namespaceObject.__)('Open save panel'))); - } else { - unmountableContent = (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-layout__toggle-publish-panel" - }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "secondary", - className: "edit-post-layout__toggle-publish-panel-button", - onClick: togglePublishSidebar, - "aria-expanded": false - }, (0,external_wp_i18n_namespaceObject.__)('Open publish panel'))); - } - - // Since EntitiesSavedStates controls its own panel, we can keep it - // always mounted to retain its own component state (such as checkboxes). - return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, isEntitiesSavedStatesOpen && (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.EntitiesSavedStates, { - close: closeEntitiesSavedStates - }), (0,external_React_namespaceObject.createElement)(actions_panel_Slot, { - bubblesVirtually: true - }), !isEntitiesSavedStatesOpen && unmountableContent); -} - -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/start-page-options/index.js - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - -function useStartPatterns() { - // A pattern is a start pattern if it includes 'core/post-content' in its blockTypes, - // and it has no postTypes declared and the current post type is page or if - // the current post type is part of the postTypes declared. - const { - blockPatternsWithPostContentBlockType, - postType - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - getPatternsByBlockTypes - } = select(external_wp_blockEditor_namespaceObject.store); - const { - getCurrentPostType - } = select(external_wp_editor_namespaceObject.store); - return { - blockPatternsWithPostContentBlockType: getPatternsByBlockTypes('core/post-content'), - postType: getCurrentPostType() - }; - }, []); - return (0,external_wp_element_namespaceObject.useMemo)(() => { - // filter patterns without postTypes declared if the current postType is page - // or patterns that declare the current postType in its post type array. - return blockPatternsWithPostContentBlockType.filter(pattern => { - return postType === 'page' && !pattern.postTypes || Array.isArray(pattern.postTypes) && pattern.postTypes.includes(postType); - }); - }, [postType, blockPatternsWithPostContentBlockType]); -} -function PatternSelection({ - blockPatterns, - onChoosePattern -}) { - const shownBlockPatterns = (0,external_wp_compose_namespaceObject.useAsyncList)(blockPatterns); - const { - resetEditorBlocks - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_editor_namespaceObject.store); - return (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__experimentalBlockPatternsList, { - blockPatterns: blockPatterns, - shownPatterns: shownBlockPatterns, - onClickPattern: (_pattern, blocks) => { - resetEditorBlocks(blocks); - onChoosePattern(); - } - }); -} -function StartPageOptionsModal({ - onClose -}) { - const startPatterns = useStartPatterns(); - const hasStartPattern = startPatterns.length > 0; - if (!hasStartPattern) { - return null; - } - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Modal, { - className: "edit-post-start-page-options__modal", - title: (0,external_wp_i18n_namespaceObject.__)('Choose a pattern'), - isFullScreen: true, - onRequestClose: onClose - }, (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-start-page-options__modal-content" - }, (0,external_React_namespaceObject.createElement)(PatternSelection, { - blockPatterns: startPatterns, - onChoosePattern: onClose - }))); -} -function StartPageOptions() { - const [isClosed, setIsClosed] = (0,external_wp_element_namespaceObject.useState)(false); - const shouldEnableModal = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - isCleanNewPost, - getRenderingMode - } = select(external_wp_editor_namespaceObject.store); - const { - isFeatureActive - } = select(store_store); - return getRenderingMode() === 'post-only' && !isFeatureActive('welcomeGuide') && isCleanNewPost(); - }, []); - if (!shouldEnableModal || isClosed) { - return null; - } - return (0,external_React_namespaceObject.createElement)(StartPageOptionsModal, { - onClose: () => setIsClosed(true) - }); + return isEditingTemplate ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideTemplate, {}) : /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideDefault, {}); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/block-default.js - -/** - * WordPress dependencies - */ - -const blockDefault = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z" -})); -/* harmony default export */ const block_default = (blockDefault); - ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/fullscreen.js - -/** - * WordPress dependencies - */ - -const fullscreen = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z" -})); -/* harmony default export */ const library_fullscreen = (fullscreen); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/list-view.js - -/** - * WordPress dependencies - */ - -const listView = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M3 6h11v1.5H3V6Zm3.5 5.5h11V13h-11v-1.5ZM21 17H10v1.5h11V17Z" -})); -/* harmony default export */ const list_view = (listView); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/code.js - -/** - * WordPress dependencies - */ - -const code = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z" -})); -/* harmony default export */ const library_code = (code); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/keyboard.js - /** * WordPress dependencies */ -const keyboard = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "m16 15.5h-8v-1.5h8zm-7.5-2.5h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm-9-3h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2zm3 0h-2v-2h2z" -}), (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "m18.5 6.5h-13a.5.5 0 0 0 -.5.5v9.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9.5a.5.5 0 0 0 -.5-.5zm-13-1.5h13a2 2 0 0 1 2 2v9.5a2 2 0 0 1 -2 2h-13a2 2 0 0 1 -2-2v-9.5a2 2 0 0 1 2-2z" -})); -/* harmony default export */ const library_keyboard = (keyboard); - -;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js -/** - * WordPress dependencies - */ - -const formatListBullets = (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { +const fullscreen = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_React_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" -})); -/* harmony default export */ const format_list_bullets = (formatListBullets); + viewBox: "0 0 24 24", + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { + d: "M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z" + }) +}); +/* harmony default export */ const library_fullscreen = (fullscreen); -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/hooks/commands/use-common-commands.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/commands/use-commands.js /** * WordPress dependencies */ @@ -6640,54 +2496,14 @@ const formatListBullets = (0,external_React_namespaceObject.createElement)(exter - - - -/** - * Internal dependencies - */ - - - -function useCommonCommands() { - const { - openGeneralSidebar, - closeGeneralSidebar, - switchEditorMode, - toggleDistractionFree - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); - const { - openModal - } = (0,external_wp_data_namespaceObject.useDispatch)(store); +function useCommands() { const { - editorMode, - activeSidebar, - isListViewOpen, - isFullscreen, - isPublishSidebarEnabled, - showBlockBreadcrumbs, - isDistractionFree, - isTopToolbar, - isFocusMode + isFullscreen } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { get } = select(external_wp_preferences_namespaceObject.store); - const { - getEditorMode - } = select(store_store); - const { - isListViewOpened - } = select(external_wp_editor_namespaceObject.store); return { - activeSidebar: select(store).getActiveComplementaryArea(store_store.name), - editorMode: getEditorMode(), - isListViewOpen: isListViewOpened(), - isPublishSidebarEnabled: select(external_wp_editor_namespaceObject.store).isPublishSidebarEnabled(), - showBlockBreadcrumbs: get('core', 'showBlockBreadcrumbs'), - isDistractionFree: get('core', 'distractionFree'), - isFocusMode: get('core', 'focusMode'), - isTopToolbar: get('core', 'fixedToolbar'), isFullscreen: get('core/edit-post', 'fullscreenMode') }; }, []); @@ -6697,73 +2513,6 @@ function useCommonCommands() { const { createInfoNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); - const { - __unstableSaveForPreview, - setIsListViewOpened - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_editor_namespaceObject.store); - const { - getCurrentPostId - } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_editor_namespaceObject.store); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/open-settings-sidebar', - label: (0,external_wp_i18n_namespaceObject.__)('Toggle settings sidebar'), - icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? drawer_left : drawer_right, - callback: ({ - close - }) => { - close(); - if (activeSidebar === 'edit-post/document') { - closeGeneralSidebar(); - } else { - openGeneralSidebar('edit-post/document'); - } - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/open-block-inspector', - label: (0,external_wp_i18n_namespaceObject.__)('Toggle block inspector'), - icon: block_default, - callback: ({ - close - }) => { - close(); - if (activeSidebar === 'edit-post/block') { - closeGeneralSidebar(); - } else { - openGeneralSidebar('edit-post/block'); - } - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/toggle-distraction-free', - label: isDistractionFree ? (0,external_wp_i18n_namespaceObject.__)('Exit Distraction Free') : (0,external_wp_i18n_namespaceObject.__)('Enter Distraction Free '), - callback: ({ - close - }) => { - toggleDistractionFree(); - close(); - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/toggle-spotlight-mode', - label: (0,external_wp_i18n_namespaceObject.__)('Toggle spotlight'), - callback: ({ - close - }) => { - toggle('core', 'focusMode'); - close(); - createInfoNotice(isFocusMode ? (0,external_wp_i18n_namespaceObject.__)('Spotlight off.') : (0,external_wp_i18n_namespaceObject.__)('Spotlight on.'), { - id: 'core/edit-post/toggle-spotlight-mode/notice', - type: 'snackbar', - actions: [{ - label: (0,external_wp_i18n_namespaceObject.__)('Undo'), - onClick: () => { - toggle('core', 'focusMode'); - } - }] - }); - } - }); (0,external_wp_commands_namespaceObject.useCommand)({ name: 'core/toggle-fullscreen-mode', label: isFullscreen ? (0,external_wp_i18n_namespaceObject.__)('Exit fullscreen') : (0,external_wp_i18n_namespaceObject.__)('Enter fullscreen'), @@ -6785,116 +2534,110 @@ function useCommonCommands() { }); } }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/toggle-list-view', - label: isListViewOpen ? (0,external_wp_i18n_namespaceObject.__)('Close List View') : (0,external_wp_i18n_namespaceObject.__)('Open List View'), - icon: list_view, - callback: ({ - close - }) => { - setIsListViewOpened(!isListViewOpen); - close(); - createInfoNotice(isListViewOpen ? (0,external_wp_i18n_namespaceObject.__)('List View off.') : (0,external_wp_i18n_namespaceObject.__)('List View on.'), { - id: 'core/edit-post/toggle-list-view/notice', - type: 'snackbar' - }); - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/toggle-top-toolbar', - label: (0,external_wp_i18n_namespaceObject.__)('Toggle top toolbar'), - callback: ({ - close - }) => { - toggle('core', 'fixedToolbar'); - if (isDistractionFree) { - toggleDistractionFree(); +} + +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/layout/use-padding-appender.js +/** + * WordPress dependencies + */ + + + + +function usePaddingAppender() { + const registry = (0,external_wp_data_namespaceObject.useRegistry)(); + return (0,external_wp_compose_namespaceObject.useRefEffect)(node => { + function onMouseDown(event) { + if (event.target !== node) { + return; + } + const { + ownerDocument + } = node; + const { + defaultView + } = ownerDocument; + const paddingBottom = defaultView.parseInt(defaultView.getComputedStyle(node).paddingBottom, 10); + if (!paddingBottom) { + return; + } + + // Only handle clicks under the last child. + const lastChild = node.lastElementChild; + if (!lastChild) { + return; + } + const lastChildRect = lastChild.getBoundingClientRect(); + if (event.clientY < lastChildRect.bottom) { + return; + } + event.preventDefault(); + const blockOrder = registry.select(external_wp_blockEditor_namespaceObject.store).getBlockOrder(''); + const lastBlockClientId = blockOrder[blockOrder.length - 1]; + + // Do nothing when only default block appender is present. + if (!lastBlockClientId) { + return; + } + const lastBlock = registry.select(external_wp_blockEditor_namespaceObject.store).getBlock(lastBlockClientId); + const { + selectBlock, + insertDefaultBlock + } = registry.dispatch(external_wp_blockEditor_namespaceObject.store); + if ((0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)(lastBlock)) { + selectBlock(lastBlockClientId); + } else { + insertDefaultBlock(); } - close(); - createInfoNotice(isTopToolbar ? (0,external_wp_i18n_namespaceObject.__)('Top toolbar off.') : (0,external_wp_i18n_namespaceObject.__)('Top toolbar on.'), { - id: 'core/edit-post/toggle-top-toolbar/notice', - type: 'snackbar', - actions: [{ - label: (0,external_wp_i18n_namespaceObject.__)('Undo'), - onClick: () => { - toggle('core', 'fixedToolbar'); - } - }] - }); - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/toggle-code-editor', - label: editorMode === 'visual' ? (0,external_wp_i18n_namespaceObject.__)('Open code editor') : (0,external_wp_i18n_namespaceObject.__)('Exit code editor'), - icon: library_code, - callback: ({ - close - }) => { - switchEditorMode(editorMode === 'visual' ? 'text' : 'visual'); - close(); - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/open-preferences', - label: (0,external_wp_i18n_namespaceObject.__)('Editor preferences'), - callback: () => { - openModal(PREFERENCES_MODAL_NAME); - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/open-shortcut-help', - label: (0,external_wp_i18n_namespaceObject.__)('Keyboard shortcuts'), - icon: library_keyboard, - callback: () => { - openModal(KEYBOARD_SHORTCUT_HELP_MODAL_NAME); - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/toggle-breadcrumbs', - label: showBlockBreadcrumbs ? (0,external_wp_i18n_namespaceObject.__)('Hide block breadcrumbs') : (0,external_wp_i18n_namespaceObject.__)('Show block breadcrumbs'), - callback: ({ - close - }) => { - toggle('core', 'showBlockBreadcrumbs'); - close(); - createInfoNotice(showBlockBreadcrumbs ? (0,external_wp_i18n_namespaceObject.__)('Breadcrumbs hidden.') : (0,external_wp_i18n_namespaceObject.__)('Breadcrumbs visible.'), { - id: 'core/edit-post/toggle-breadcrumbs/notice', - type: 'snackbar' - }); - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/toggle-publish-sidebar', - label: isPublishSidebarEnabled ? (0,external_wp_i18n_namespaceObject.__)('Disable pre-publish checks') : (0,external_wp_i18n_namespaceObject.__)('Enable pre-publish checks'), - icon: format_list_bullets, - callback: ({ - close - }) => { - close(); - toggle('core/edit-post', 'isPublishSidebarEnabled'); - createInfoNotice(isPublishSidebarEnabled ? (0,external_wp_i18n_namespaceObject.__)('Pre-publish checks disabled.') : (0,external_wp_i18n_namespaceObject.__)('Pre-publish checks enabled.'), { - id: 'core/edit-post/publish-sidebar/notice', - type: 'snackbar' - }); - } - }); - (0,external_wp_commands_namespaceObject.useCommand)({ - name: 'core/preview-link', - label: (0,external_wp_i18n_namespaceObject.__)('Preview in a new tab'), - icon: library_external, - callback: async ({ - close - }) => { - close(); - const postId = getCurrentPostId(); - const link = await __unstableSaveForPreview(); - window.open(link, `wp-preview-${postId}`); } - }); + node.addEventListener('mousedown', onMouseDown); + return () => { + node.removeEventListener('mousedown', onMouseDown); + }; + }, [registry]); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/layout/index.js +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/layout/use-should-iframe.js +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + +const isGutenbergPlugin = false ? 0 : false; +function useShouldIframe() { + const { + isBlockBasedTheme, + hasV3BlocksOnly, + isEditingTemplate, + hasMetaBoxes + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + getEditorSettings, + getCurrentPostType + } = select(external_wp_editor_namespaceObject.store); + const { + getBlockTypes + } = select(external_wp_blocks_namespaceObject.store); + const editorSettings = getEditorSettings(); + return { + isBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme, + hasV3BlocksOnly: getBlockTypes().every(type => { + return type.apiVersion >= 3; + }), + isEditingTemplate: getCurrentPostType() === 'wp_template', + hasMetaBoxes: select(store).hasMetaBoxes() + }; + }, []); + return (hasV3BlocksOnly || isGutenbergPlugin && isBlockBasedTheme) && !hasMetaBoxes || isEditingTemplate; +} +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/layout/index.js /** * External dependencies */ @@ -6917,7 +2660,6 @@ function useCommonCommands() { - /** * Internal dependencies */ @@ -6936,44 +2678,54 @@ function useCommonCommands() { - const { getLayoutStyles } = unlock(external_wp_blockEditor_namespaceObject.privateApis); const { - useCommands + useCommands: layout_useCommands } = unlock(external_wp_coreCommands_namespaceObject.privateApis); const { useCommandContext } = unlock(external_wp_commands_namespaceObject.privateApis); const { - InserterSidebar, - ListViewSidebar + EditorInterface, + FullscreenMode, + Sidebar } = unlock(external_wp_editor_namespaceObject.privateApis); -const interfaceLabels = { - /* translators: accessibility text for the editor top bar landmark region. */ - header: (0,external_wp_i18n_namespaceObject.__)('Editor top bar'), - /* translators: accessibility text for the editor content landmark region. */ - body: (0,external_wp_i18n_namespaceObject.__)('Editor content'), - /* translators: accessibility text for the editor settings landmark region. */ - sidebar: (0,external_wp_i18n_namespaceObject.__)('Editor settings'), - /* translators: accessibility text for the editor publish landmark region. */ - actions: (0,external_wp_i18n_namespaceObject.__)('Editor publish'), - /* translators: accessibility text for the editor footer landmark region. */ - footer: (0,external_wp_i18n_namespaceObject.__)('Editor footer') -}; +const { + BlockKeyboardShortcuts +} = unlock(external_wp_blockLibrary_namespaceObject.privateApis); +const DESIGN_POST_TYPES = ['wp_template', 'wp_template_part', 'wp_block', 'wp_navigation']; function useEditorStyles() { const { hasThemeStyleSupport, - editorSettings - } = (0,external_wp_data_namespaceObject.useSelect)(select => ({ - hasThemeStyleSupport: select(store_store).isFeatureActive('themeStyles'), - editorSettings: select(external_wp_editor_namespaceObject.store).getEditorSettings() - }), []); + editorSettings, + isZoomedOutView, + hasMetaBoxes, + renderingMode, + postType + } = (0,external_wp_data_namespaceObject.useSelect)(select => { + const { + __unstableGetEditorMode + } = select(external_wp_blockEditor_namespaceObject.store); + const { + getCurrentPostType, + getRenderingMode + } = select(external_wp_editor_namespaceObject.store); + const _postType = getCurrentPostType(); + return { + hasThemeStyleSupport: select(store).isFeatureActive('themeStyles'), + editorSettings: select(external_wp_editor_namespaceObject.store).getEditorSettings(), + isZoomedOutView: __unstableGetEditorMode() === 'zoom-out', + hasMetaBoxes: select(store).hasMetaBoxes(), + renderingMode: getRenderingMode(), + postType: _postType + }; + }, []); // Compute the default styles. return (0,external_wp_element_namespaceObject.useMemo)(() => { - var _editorSettings$style, _editorSettings$style2; + var _editorSettings$style, _editorSettings$style2, _editorSettings$style3; const presetStyles = (_editorSettings$style = editorSettings.styles?.filter(style => style.__unstableType && style.__unstableType !== 'theme')) !== null && _editorSettings$style !== void 0 ? _editorSettings$style : []; const defaultEditorStyles = [...editorSettings.defaultEditorStyles, ...presetStyles]; @@ -6993,104 +2745,69 @@ function useEditorStyles() { }) }); } - return hasThemeStyles ? editorSettings.styles : defaultEditorStyles; - }, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport]); + const baseStyles = hasThemeStyles ? (_editorSettings$style3 = editorSettings.styles) !== null && _editorSettings$style3 !== void 0 ? _editorSettings$style3 : [] : defaultEditorStyles; + + // Add a constant padding for the typewriter effect. When typing at the + // bottom, there needs to be room to scroll up. + if (!isZoomedOutView && !hasMetaBoxes && renderingMode === 'post-only' && !DESIGN_POST_TYPES.includes(postType)) { + return [...baseStyles, { + // Should override global styles padding, so ensure 0-1-0 + // specificity. + css: ':root :where(body){padding-bottom: 40vh}' + }]; + } + return baseStyles; + }, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport, postType]); } function Layout({ initialPost }) { + layout_useCommands(); useCommands(); - useCommonCommands(); - (0,external_wp_blockEditor_namespaceObject.useBlockCommands)(); - const isMobileViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<'); - const isHugeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('huge', '>='); - const isWideViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('large'); - const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium'); - const { - openGeneralSidebar, - closeGeneralSidebar - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); + const paddingAppenderRef = usePaddingAppender(); + const shouldIframe = useShouldIframe(); const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); const { - setIsInserterOpened - } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_editor_namespaceObject.store); - const { mode, isFullscreenActive, - isRichEditingEnabled, - sidebarIsOpened, hasActiveMetaboxes, - previousShortcut, - nextShortcut, hasBlockSelected, - isInserterOpened, - isListViewOpened, showIconLabels, isDistractionFree, - showBlockBreadcrumbs, showMetaBoxes, - documentLabel, - hasHistory + hasHistory, + isEditingTemplate, + isWelcomeGuideVisible } = (0,external_wp_data_namespaceObject.useSelect)(select => { const { get } = select(external_wp_preferences_namespaceObject.store); const { - getEditorSettings, - getPostTypeLabel + getEditorSettings } = select(external_wp_editor_namespaceObject.store); - const editorSettings = getEditorSettings(); - const postTypeLabel = getPostTypeLabel(); + const { + isFeatureActive + } = select(store); return { - showMetaBoxes: select(external_wp_editor_namespaceObject.store).getRenderingMode() === 'post-only', - sidebarIsOpened: !!(select(store).getActiveComplementaryArea(store_store.name) || select(store_store).isPublishSidebarOpened()), - isFullscreenActive: select(store_store).isFeatureActive('fullscreenMode'), - isInserterOpened: select(external_wp_editor_namespaceObject.store).isInserterOpened(), - isListViewOpened: select(external_wp_editor_namespaceObject.store).isListViewOpened(), - mode: select(store_store).getEditorMode(), - isRichEditingEnabled: editorSettings.richEditingEnabled, - hasActiveMetaboxes: select(store_store).hasMetaBoxes(), - previousShortcut: select(external_wp_keyboardShortcuts_namespaceObject.store).getAllShortcutKeyCombinations('core/edit-post/previous-region'), - nextShortcut: select(external_wp_keyboardShortcuts_namespaceObject.store).getAllShortcutKeyCombinations('core/edit-post/next-region'), + mode: select(external_wp_editor_namespaceObject.store).getEditorMode(), + isFullscreenActive: select(store).isFeatureActive('fullscreenMode'), + hasActiveMetaboxes: select(store).hasMetaBoxes(), + hasBlockSelected: !!select(external_wp_blockEditor_namespaceObject.store).getBlockSelectionStart(), showIconLabels: get('core', 'showIconLabels'), isDistractionFree: get('core', 'distractionFree'), - showBlockBreadcrumbs: get('core', 'showBlockBreadcrumbs'), - // translators: Default label for the Document in the Block Breadcrumb. - documentLabel: postTypeLabel || (0,external_wp_i18n_namespaceObject._x)('Document', 'noun'), - hasBlockSelected: !!select(external_wp_blockEditor_namespaceObject.store).getBlockSelectionStart(), - hasHistory: !!getEditorSettings().onNavigateToPreviousEntityRecord + showMetaBoxes: select(external_wp_editor_namespaceObject.store).getRenderingMode() === 'post-only', + hasHistory: !!getEditorSettings().onNavigateToPreviousEntityRecord, + isEditingTemplate: select(external_wp_editor_namespaceObject.store).getCurrentPostType() === 'wp_template', + isWelcomeGuideVisible: isFeatureActive('welcomeGuide') }; }, []); // Set the right context for the command palette - const commandContext = hasBlockSelected ? 'block-selection-edit' : 'post-editor-edit'; + const commandContext = hasBlockSelected ? 'block-selection-edit' : 'entity-edit'; useCommandContext(commandContext); const styles = useEditorStyles(); - const openSidebarPanel = () => openGeneralSidebar(hasBlockSelected ? 'edit-post/block' : 'edit-post/document'); - - // Inserter and Sidebars are mutually exclusive - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (sidebarIsOpened && !isHugeViewport) { - setIsInserterOpened(false); - } - }, [isHugeViewport, setIsInserterOpened, sidebarIsOpened]); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (isInserterOpened && !isHugeViewport) { - closeGeneralSidebar(); - } - }, [closeGeneralSidebar, isInserterOpened, isHugeViewport]); - - // Local state for save panel. - // Note 'truthy' callback implies an open panel. - const [entitiesSavedStatesCallback, setEntitiesSavedStatesCallback] = (0,external_wp_element_namespaceObject.useState)(false); - const closeEntitiesSavedStates = (0,external_wp_element_namespaceObject.useCallback)(arg => { - if (typeof entitiesSavedStatesCallback === 'function') { - entitiesSavedStatesCallback(arg); - } - setEntitiesSavedStatesCallback(false); - }, [entitiesSavedStatesCallback]); // We need to add the show-icon-labels class to the body element so it is applied to modals. if (showIconLabels) { @@ -7098,84 +2815,87 @@ function Layout({ } else { document.body.classList.remove('show-icon-labels'); } - const className = classnames_default()('edit-post-layout', 'is-mode-' + mode, { - 'is-sidebar-opened': sidebarIsOpened, - 'has-metaboxes': hasActiveMetaboxes, - 'is-distraction-free': isDistractionFree && isWideViewport, - 'is-entity-save-view-open': !!entitiesSavedStatesCallback + const className = dist_clsx('edit-post-layout', 'is-mode-' + mode, { + 'has-metaboxes': hasActiveMetaboxes }); - const secondarySidebarLabel = isListViewOpened ? (0,external_wp_i18n_namespaceObject.__)('Document Overview') : (0,external_wp_i18n_namespaceObject.__)('Block Library'); - const secondarySidebar = () => { - if (mode === 'visual' && isInserterOpened) { - return (0,external_React_namespaceObject.createElement)(InserterSidebar, null); - } - if (mode === 'visual' && isListViewOpened) { - return (0,external_React_namespaceObject.createElement)(ListViewSidebar, null); - } - return null; - }; function onPluginAreaError(name) { createErrorNotice((0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: plugin name */ (0,external_wp_i18n_namespaceObject.__)('The "%s" plugin has encountered an error and cannot be rendered.'), name)); } - return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)(fullscreen_mode, { - isActive: isFullscreenActive - }), (0,external_React_namespaceObject.createElement)(browser_url, { - hasHistory: hasHistory - }), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.UnsavedChangesWarning, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.AutosaveMonitor, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.LocalAutosaveMonitor, null), (0,external_React_namespaceObject.createElement)(keyboard_shortcuts, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.EditorKeyboardShortcutsRegister, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.EditorKeyboardShortcuts, null), (0,external_React_namespaceObject.createElement)(interface_skeleton, { - isDistractionFree: isDistractionFree && isWideViewport, - className: className, - labels: { - ...interfaceLabels, - secondarySidebar: secondarySidebarLabel - }, - header: (0,external_React_namespaceObject.createElement)(header, { - setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback, + const { + createSuccessNotice + } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); + const onActionPerformed = (0,external_wp_element_namespaceObject.useCallback)((actionId, items) => { + switch (actionId) { + case 'move-to-trash': + { + document.location.href = (0,external_wp_url_namespaceObject.addQueryArgs)('edit.php', { + trashed: 1, + post_type: items[0].type, + ids: items[0].id + }); + } + break; + case 'duplicate-post': + { + const newItem = items[0]; + const title = typeof newItem.title === 'string' ? newItem.title : newItem.title?.rendered; + createSuccessNotice((0,external_wp_i18n_namespaceObject.sprintf)( + // translators: %s: Title of the created post e.g: "Post 1". + (0,external_wp_i18n_namespaceObject.__)('"%s" successfully created.'), (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(title)), { + type: 'snackbar', + id: 'duplicate-post-action', + actions: [{ + label: (0,external_wp_i18n_namespaceObject.__)('Edit'), + onClick: () => { + const postId = newItem.id; + document.location.href = (0,external_wp_url_namespaceObject.addQueryArgs)('post.php', { + post: postId, + action: 'edit' + }); + } + }] + }); + } + break; + } + }, [createSuccessNotice]); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(FullscreenMode, { + isActive: isFullscreenActive + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(browser_url, { + hasHistory: hasHistory + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.UnsavedChangesWarning, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.AutosaveMonitor, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.LocalAutosaveMonitor, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(keyboard_shortcuts, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.EditorKeyboardShortcutsRegister, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(BlockKeyboardShortcuts, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuide, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(InitPatternModal, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_plugins_namespaceObject.PluginArea, { + onError: onPluginAreaError + }), !isDistractionFree && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Sidebar, { + onActionPerformed: onActionPerformed, + extraPanels: !isEditingTemplate && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(MetaBoxes, { + location: "side" + }) + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(more_menu, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(back_button, { initialPost: initialPost - }), - editorNotices: (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.EditorNotices, null), - secondarySidebar: secondarySidebar(), - sidebar: (!isMobileViewport || sidebarIsOpened) && (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, !isMobileViewport && !sidebarIsOpened && (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-layout__toggle-sidebar-panel" - }, (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { - variant: "secondary", - className: "edit-post-layout__toggle-sidebar-panel-button", - onClick: openSidebarPanel, - "aria-expanded": false - }, hasBlockSelected ? (0,external_wp_i18n_namespaceObject.__)('Open block settings') : (0,external_wp_i18n_namespaceObject.__)('Open document settings'))), (0,external_React_namespaceObject.createElement)(complementary_area.Slot, { - scope: "core/edit-post" - })), - notices: (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.EditorSnackbars, null), - content: (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, !isDistractionFree && (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.EditorNotices, null), (mode === 'text' || !isRichEditingEnabled) && (0,external_React_namespaceObject.createElement)(TextEditor, null), !isLargeViewport && (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockToolbar, { - hideDragHandle: true - }), isRichEditingEnabled && mode === 'visual' && (0,external_React_namespaceObject.createElement)(VisualEditor, { - styles: styles - }), !isDistractionFree && showMetaBoxes && (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-layout__metaboxes" - }, (0,external_React_namespaceObject.createElement)(MetaBoxes, { - location: "normal" - }), (0,external_React_namespaceObject.createElement)(MetaBoxes, { - location: "advanced" - })), isMobileViewport && sidebarIsOpened && (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.ScrollLock, null)), - footer: !isDistractionFree && !isMobileViewport && showBlockBreadcrumbs && isRichEditingEnabled && mode === 'visual' && (0,external_React_namespaceObject.createElement)("div", { - className: "edit-post-layout__footer" - }, (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockBreadcrumb, { - rootLabelText: documentLabel - })), - actions: (0,external_React_namespaceObject.createElement)(ActionsPanel, { - closeEntitiesSavedStates: closeEntitiesSavedStates, - isEntitiesSavedStatesOpen: entitiesSavedStatesCallback, - setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback - }), - shortcuts: { - previous: previousShortcut, - next: nextShortcut - } - }), (0,external_React_namespaceObject.createElement)(EditPostPreferencesModal, null), (0,external_React_namespaceObject.createElement)(keyboard_shortcut_help_modal, null), (0,external_React_namespaceObject.createElement)(WelcomeGuide, null), (0,external_React_namespaceObject.createElement)(InitPatternModal, null), (0,external_React_namespaceObject.createElement)(StartPageOptions, null), (0,external_React_namespaceObject.createElement)(external_wp_plugins_namespaceObject.PluginArea, { - onError: onPluginAreaError - }), !isDistractionFree && (0,external_React_namespaceObject.createElement)(settings_sidebar, null)); + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.EditorSnackbars, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(EditorInterface, { + className: className, + styles: styles, + forceIsDirty: hasActiveMetaboxes, + contentRef: paddingAppenderRef, + disableIframe: !shouldIframe + // We should auto-focus the canvas (title) on load. + // eslint-disable-next-line jsx-a11y/no-autofocus + , + autoFocus: !isWelcomeGuideVisible, + children: !isDistractionFree && showMetaBoxes && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { + className: "edit-post-layout__metaboxes", + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(MetaBoxes, { + location: "normal" + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(MetaBoxes, { + location: "advanced" + })] + }) + })] + }); } -/* harmony default export */ const components_layout = (Layout); +/* harmony default export */ const layout = (Layout); ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/editor-initialization/listener-hooks.js /** @@ -7185,65 +2905,25 @@ function Layout({ - - /** * Internal dependencies */ /** - * This listener hook monitors for block selection and triggers the appropriate - * sidebar state. - * - * @param {number} postId The current post id. - */ -const useBlockSelectionListener = postId => { - const { - hasBlockSelection, - isEditorSidebarOpened, - isDistractionFree - } = (0,external_wp_data_namespaceObject.useSelect)(select => { - const { - get - } = select(external_wp_preferences_namespaceObject.store); - return { - hasBlockSelection: !!select(external_wp_blockEditor_namespaceObject.store).getBlockSelectionStart(), - isEditorSidebarOpened: select(constants_STORE_NAME).isEditorSidebarOpened(), - isDistractionFree: get('core', 'distractionFree') - }; - }, [postId]); - const { - openGeneralSidebar - } = (0,external_wp_data_namespaceObject.useDispatch)(constants_STORE_NAME); - (0,external_wp_element_namespaceObject.useEffect)(() => { - if (!isEditorSidebarOpened || isDistractionFree) { - return; - } - if (hasBlockSelection) { - openGeneralSidebar('edit-post/block'); - } else { - openGeneralSidebar('edit-post/document'); - } - }, [hasBlockSelection, isEditorSidebarOpened]); -}; - -/** * This listener hook monitors any change in permalink and updates the view * post link in the admin bar. - * - * @param {number} postId */ -const useUpdatePostLinkListener = postId => { +const useUpdatePostLinkListener = () => { const { newPermalink } = (0,external_wp_data_namespaceObject.useSelect)(select => ({ newPermalink: select(external_wp_editor_namespaceObject.store).getCurrentPost().link - }), [postId]); + }), []); const nodeToUpdate = (0,external_wp_element_namespaceObject.useRef)(); (0,external_wp_element_namespaceObject.useEffect)(() => { nodeToUpdate.current = document.querySelector(VIEW_AS_PREVIEW_LINK_SELECTOR) || document.querySelector(VIEW_AS_LINK_SELECTOR); - }, [postId]); + }, []); (0,external_wp_element_namespaceObject.useEffect)(() => { if (!newPermalink || !nodeToUpdate.current) { return; @@ -7262,14 +2942,10 @@ const useUpdatePostLinkListener = postId => { * Data component used for initializing the editor and re-initializes * when postId changes or on unmount. * - * @param {number} postId The id of the post. * @return {null} This is a data component so does not render any ui. */ -function EditorInitialization({ - postId -}) { - useBlockSelectionListener(postId); - useUpdatePostLinkListener(postId); +function EditorInitialization() { + useUpdatePostLinkListener(); return null; } @@ -7279,6 +2955,8 @@ function EditorInitialization({ */ + + /** * A hook that records the 'entity' history in the post editor as a user * navigates between editing a post and editing the post template or patterns. @@ -7287,19 +2965,24 @@ function EditorInitialization({ * * Used to control displaying UI elements like the back button. * - * @param {number} initialPostId The post id of the post when the editor loaded. - * @param {string} initialPostType The post type of the post when the editor loaded. + * @param {number} initialPostId The post id of the post when the editor loaded. + * @param {string} initialPostType The post type of the post when the editor loaded. + * @param {string} defaultRenderingMode The rendering mode to switch to when navigating. * * @return {Object} An object containing the `currentPost` variable and * `onNavigateToEntityRecord` and `onNavigateToPreviousEntityRecord` functions. */ -function useNavigateToEntityRecord(initialPostId, initialPostType) { +function useNavigateToEntityRecord(initialPostId, initialPostType, defaultRenderingMode) { const [postHistory, dispatch] = (0,external_wp_element_namespaceObject.useReducer)((historyState, { type, - post + post, + previousRenderingMode }) => { if (type === 'push') { - return [...historyState, post]; + return [...historyState, { + post, + previousRenderingMode + }]; } if (type === 'pop') { // Try to leave one item in the history. @@ -7309,40 +2992,49 @@ function useNavigateToEntityRecord(initialPostId, initialPostType) { } return historyState; }, [{ - postId: initialPostId, - postType: initialPostType + post: { + postId: initialPostId, + postType: initialPostType + } }]); - const initialPost = (0,external_wp_element_namespaceObject.useMemo)(() => { - return { - type: initialPostType, - id: initialPostId - }; - }, [initialPostType, initialPostId]); + const { + post, + previousRenderingMode + } = postHistory[postHistory.length - 1]; + const { + getRenderingMode + } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_editor_namespaceObject.store); + const { + setRenderingMode + } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_editor_namespaceObject.store); const onNavigateToEntityRecord = (0,external_wp_element_namespaceObject.useCallback)(params => { dispatch({ type: 'push', post: { postId: params.postId, postType: params.postType - } + }, + // Save the current rendering mode so we can restore it when navigating back. + previousRenderingMode: getRenderingMode() }); - }, []); + setRenderingMode(defaultRenderingMode); + }, [getRenderingMode, setRenderingMode, defaultRenderingMode]); const onNavigateToPreviousEntityRecord = (0,external_wp_element_namespaceObject.useCallback)(() => { dispatch({ type: 'pop' }); - }, []); - const currentPost = postHistory[postHistory.length - 1]; + if (previousRenderingMode) { + setRenderingMode(previousRenderingMode); + } + }, [setRenderingMode, previousRenderingMode]); return { - currentPost, - initialPost, + currentPost: post, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord: postHistory.length > 1 ? onNavigateToPreviousEntityRecord : undefined }; } ;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/editor.js - /** * WordPress dependencies */ @@ -7353,9 +3045,6 @@ function useNavigateToEntityRecord(initialPostId, initialPostType) { - - - /** * Internal dependencies */ @@ -7364,17 +3053,11 @@ function useNavigateToEntityRecord(initialPostId, initialPostType) { + + const { ExperimentalEditorProvider } = unlock(external_wp_editor_namespaceObject.privateApis); -const { - BlockRemovalWarningModal -} = unlock(external_wp_blockEditor_namespaceObject.privateApis); -// Prevent accidental removal of certain blocks, asking the user for -// confirmation. -const blockRemovalRules = { - 'bindings/core/pattern-overrides': (0,external_wp_i18n_namespaceObject.__)('Blocks from synced patterns that can have overriden content.') -}; function Editor({ postId: initialPostId, postType: initialPostType, @@ -7383,22 +3066,18 @@ function Editor({ ...props }) { const { - initialPost, currentPost, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord - } = useNavigateToEntityRecord(initialPostId, initialPostType); + } = useNavigateToEntityRecord(initialPostId, initialPostType, 'post-only'); const { - hasInlineToolbar, post, - preferredStyleVariations, template } = (0,external_wp_data_namespaceObject.useSelect)(select => { var _getPostType$viewable; const { - isFeatureActive, getEditedPostTemplate - } = select(store_store); + } = select(store); const { getEntityRecord, getPostType, @@ -7410,291 +3089,192 @@ function Editor({ const postObject = getEntityRecord('postType', currentPost.postType, currentPost.postId); const supportsTemplateMode = getEditorSettings().supportsTemplateMode; const isViewable = (_getPostType$viewable = getPostType(currentPost.postType)?.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false; - const canEditTemplate = canUser('create', 'templates'); + const canViewTemplate = canUser('read', 'templates'); return { - hasInlineToolbar: isFeatureActive('inlineToolbar'), - preferredStyleVariations: select(external_wp_preferences_namespaceObject.store).get('core/edit-post', 'preferredStyleVariations'), - template: supportsTemplateMode && isViewable && canEditTemplate && currentPost.postType !== 'wp_template' ? getEditedPostTemplate() : null, + template: supportsTemplateMode && isViewable && canViewTemplate && currentPost.postType !== 'wp_template' ? getEditedPostTemplate() : null, post: postObject }; }, [currentPost.postType, currentPost.postId]); - const { - updatePreferredStyleVariations - } = (0,external_wp_data_namespaceObject.useDispatch)(store_store); const editorSettings = (0,external_wp_element_namespaceObject.useMemo)(() => ({ ...settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord, - defaultRenderingMode: 'post-only', - __experimentalPreferredStyleVariations: { - value: preferredStyleVariations, - onChange: updatePreferredStyleVariations - }, - hasInlineToolbar - }), [settings, hasInlineToolbar, preferredStyleVariations, updatePreferredStyleVariations, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]); + defaultRenderingMode: 'post-only' + }), [settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]); + const initialPost = (0,external_wp_element_namespaceObject.useMemo)(() => { + return { + type: initialPostType, + id: initialPostId + }; + }, [initialPostType, initialPostId]); if (!post) { return null; } - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.SlotFillProvider, null, (0,external_React_namespaceObject.createElement)(ExperimentalEditorProvider, { - settings: editorSettings, - post: post, - initialEdits: initialEdits, - useSubRegistry: false, - __unstableTemplate: template, - ...props - }, (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.ErrorBoundary, null, (0,external_React_namespaceObject.createElement)(external_wp_commands_namespaceObject.CommandMenu, null), (0,external_React_namespaceObject.createElement)(EditorInitialization, { - postId: currentPost.postId - }), (0,external_React_namespaceObject.createElement)(components_layout, { - initialPost: initialPost - }), (0,external_React_namespaceObject.createElement)(BlockRemovalWarningModal, { - rules: blockRemovalRules - })), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostLockedModal, null))); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SlotFillProvider, { + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(ExperimentalEditorProvider, { + settings: editorSettings, + post: post, + initialEdits: initialEdits, + useSubRegistry: false, + __unstableTemplate: template, + ...props, + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_editor_namespaceObject.ErrorBoundary, { + children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_commands_namespaceObject.CommandMenu, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(EditorInitialization, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(layout, { + initialPost: initialPost + })] + }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PostLockedModal, {})] + }) + }); } /* harmony default export */ const editor = (Editor); -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js - +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/deprecated.js /** * WordPress dependencies */ -const isEverySelectedBlockAllowed = (selected, allowed) => selected.filter(id => !allowed.includes(id)).length === 0; /** - * Plugins may want to add an item to the menu either for every block - * or only for the specific ones provided in the `allowedBlocks` component property. - * - * If there are multiple blocks selected the item will be rendered if every block - * is of one allowed type (not necessarily the same). - * - * @param {string[]} selectedBlocks Array containing the names of the blocks selected - * @param {string[]} allowedBlocks Array containing the names of the blocks allowed - * @return {boolean} Whether the item will be rendered or not. + * Internal dependencies */ -const shouldRenderItem = (selectedBlocks, allowedBlocks) => !Array.isArray(allowedBlocks) || isEverySelectedBlockAllowed(selectedBlocks, allowedBlocks); + +const { + PluginPostExcerpt +} = unlock(external_wp_editor_namespaceObject.privateApis); +const isSiteEditor = (0,external_wp_url_namespaceObject.getPath)(window.location.href)?.includes('site-editor.php'); +const deprecateSlot = name => { + external_wp_deprecated_default()(`wp.editPost.${name}`, { + since: '6.6', + alternative: `wp.editor.${name}` + }); +}; + +/* eslint-disable jsdoc/require-param */ /** - * Renders a new item in the block settings menu. - * - * @param {Object} props Component props. - * @param {Array} [props.allowedBlocks] An array containing a list of block names for which the item should be shown. If not present, it'll be rendered for any block. If multiple blocks are selected, it'll be shown if and only if all of them are in the allowed list. - * @param {WPBlockTypeIconRender} [props.icon] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element. - * @param {string} props.label The menu item text. - * @param {Function} props.onClick Callback function to be executed when the user click the menu item. - * @param {boolean} [props.small] Whether to render the label or not. - * @param {string} [props.role] The ARIA role for the menu item. - * - * @example - * ```js - * // Using ES5 syntax - * var __ = wp.i18n.__; - * var PluginBlockSettingsMenuItem = wp.editPost.PluginBlockSettingsMenuItem; - * - * function doOnClick(){ - * // To be called when the user clicks the menu item. - * } - * - * function MyPluginBlockSettingsMenuItem() { - * return React.createElement( - * PluginBlockSettingsMenuItem, - * { - * allowedBlocks: [ 'core/paragraph' ], - * icon: 'dashicon-name', - * label: __( 'Menu item text' ), - * onClick: doOnClick, - * } - * ); - * } - * ``` - * - * @example - * ```jsx - * // Using ESNext syntax - * import { __ } from '@wordpress/i18n'; - * import { PluginBlockSettingsMenuItem } from '@wordpress/edit-post'; - * - * const doOnClick = ( ) => { - * // To be called when the user clicks the menu item. - * }; - * - * const MyPluginBlockSettingsMenuItem = () => ( - * <PluginBlockSettingsMenuItem - * allowedBlocks={ [ 'core/paragraph' ] } - * icon='dashicon-name' - * label={ __( 'Menu item text' ) } - * onClick={ doOnClick } /> - * ); - * ``` - * - * @return {Component} The component to be rendered. + * @see PluginBlockSettingsMenuItem in @wordpress/editor package. */ -const PluginBlockSettingsMenuItem = ({ - allowedBlocks, - icon, - label, - onClick, - small, - role -}) => (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockSettingsMenuControls, null, ({ - selectedBlocks, - onClose -}) => { - if (!shouldRenderItem(selectedBlocks, allowedBlocks)) { +function PluginBlockSettingsMenuItem(props) { + if (isSiteEditor) { return null; } - return (0,external_React_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, { - onClick: (0,external_wp_compose_namespaceObject.compose)(onClick, onClose), - icon: icon, - label: small ? label : undefined, - role: role - }, !small && label); -}); -/* harmony default export */ const plugin_block_settings_menu_item = (PluginBlockSettingsMenuItem); + deprecateSlot('PluginBlockSettingsMenuItem'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginBlockSettingsMenuItem, { + ...props + }); +} -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/plugin-more-menu-item/index.js /** - * WordPress dependencies + * @see PluginDocumentSettingPanel in @wordpress/editor package. */ - - - - +function PluginDocumentSettingPanel(props) { + if (isSiteEditor) { + return null; + } + deprecateSlot('PluginDocumentSettingPanel'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginDocumentSettingPanel, { + ...props + }); +} /** - * Renders a menu item in `Plugins` group in `More Menu` drop down, and can be used to as a button or link depending on the props provided. - * The text within the component appears as the menu item label. - * - * @param {Object} props Component properties. - * @param {string} [props.href] When `href` is provided then the menu item is represented as an anchor rather than button. It corresponds to the `href` attribute of the anchor. - * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered to the left of the menu item label. - * @param {Function} [props.onClick=noop] The callback function to be executed when the user clicks the menu item. - * @param {...*} [props.other] Any additional props are passed through to the underlying [MenuItem](https://github.com/WordPress/gutenberg/tree/HEAD/packages/components/src/menu-item/README.md) component. - * - * @example - * ```js - * // Using ES5 syntax - * var __ = wp.i18n.__; - * var PluginMoreMenuItem = wp.editPost.PluginMoreMenuItem; - * var moreIcon = React.createElement( 'svg' ); //... svg element. - * - * function onButtonClick() { - * alert( 'Button clicked.' ); - * } - * - * function MyButtonMoreMenuItem() { - * return React.createElement( - * PluginMoreMenuItem, - * { - * icon: moreIcon, - * onClick: onButtonClick, - * }, - * __( 'My button title' ) - * ); - * } - * ``` - * - * @example - * ```jsx - * // Using ESNext syntax - * import { __ } from '@wordpress/i18n'; - * import { PluginMoreMenuItem } from '@wordpress/edit-post'; - * import { more } from '@wordpress/icons'; - * - * function onButtonClick() { - * alert( 'Button clicked.' ); - * } - * - * const MyButtonMoreMenuItem = () => ( - * <PluginMoreMenuItem - * icon={ more } - * onClick={ onButtonClick } - * > - * { __( 'My button title' ) } - * </PluginMoreMenuItem> - * ); - * ``` - * - * @return {Component} The component to be rendered. + * @see PluginMoreMenuItem in @wordpress/editor package. */ -/* harmony default export */ const plugin_more_menu_item = ((0,external_wp_compose_namespaceObject.compose)((0,external_wp_plugins_namespaceObject.withPluginContext)((context, ownProps) => { - var _ownProps$as; - return { - as: (_ownProps$as = ownProps.as) !== null && _ownProps$as !== void 0 ? _ownProps$as : external_wp_components_namespaceObject.MenuItem, - icon: ownProps.icon || context.icon, - name: 'core/edit-post/plugin-more-menu' - }; -}))(action_item)); +function PluginMoreMenuItem(props) { + if (isSiteEditor) { + return null; + } + deprecateSlot('PluginMoreMenuItem'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginMoreMenuItem, { + ...props + }); +} -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/components/header/plugin-sidebar-more-menu-item/index.js +/** + * @see PluginPrePublishPanel in @wordpress/editor package. + */ +function PluginPrePublishPanel(props) { + if (isSiteEditor) { + return null; + } + deprecateSlot('PluginPrePublishPanel'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginPrePublishPanel, { + ...props + }); +} /** - * WordPress dependencies + * @see PluginPostPublishPanel in @wordpress/editor package. */ +function PluginPostPublishPanel(props) { + if (isSiteEditor) { + return null; + } + deprecateSlot('PluginPostPublishPanel'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginPostPublishPanel, { + ...props + }); +} +/** + * @see PluginPostStatusInfo in @wordpress/editor package. + */ +function PluginPostStatusInfo(props) { + if (isSiteEditor) { + return null; + } + deprecateSlot('PluginPostStatusInfo'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginPostStatusInfo, { + ...props + }); +} /** - * Renders a menu item in `Plugins` group in `More Menu` drop down, - * and can be used to activate the corresponding `PluginSidebar` component. - * The text within the component appears as the menu item label. - * - * @param {Object} props Component props. - * @param {string} props.target A string identifying the target sidebar you wish to be activated by this menu item. Must be the same as the `name` prop you have given to that sidebar. - * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered to the left of the menu item label. - * - * @example - * ```js - * // Using ES5 syntax - * var __ = wp.i18n.__; - * var PluginSidebarMoreMenuItem = wp.editPost.PluginSidebarMoreMenuItem; - * var moreIcon = React.createElement( 'svg' ); //... svg element. - * - * function MySidebarMoreMenuItem() { - * return React.createElement( - * PluginSidebarMoreMenuItem, - * { - * target: 'my-sidebar', - * icon: moreIcon, - * }, - * __( 'My sidebar title' ) - * ) - * } - * ``` - * - * @example - * ```jsx - * // Using ESNext syntax - * import { __ } from '@wordpress/i18n'; - * import { PluginSidebarMoreMenuItem } from '@wordpress/edit-post'; - * import { more } from '@wordpress/icons'; - * - * const MySidebarMoreMenuItem = () => ( - * <PluginSidebarMoreMenuItem - * target="my-sidebar" - * icon={ more } - * > - * { __( 'My sidebar title' ) } - * </PluginSidebarMoreMenuItem> - * ); - * ``` - * - * @return {Component} The component to be rendered. + * @see PluginSidebar in @wordpress/editor package. */ +function PluginSidebar(props) { + if (isSiteEditor) { + return null; + } + deprecateSlot('PluginSidebar'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginSidebar, { + ...props + }); +} +/** + * @see PluginSidebarMoreMenuItem in @wordpress/editor package. + */ function PluginSidebarMoreMenuItem(props) { - return (0,external_React_namespaceObject.createElement)(ComplementaryAreaMoreMenuItem - // Menu item is marked with unstable prop for backward compatibility. - // @see https://github.com/WordPress/gutenberg/issues/14457 - , { - __unstableExplicitMenuItem: true, - scope: "core/edit-post", + if (isSiteEditor) { + return null; + } + deprecateSlot('PluginSidebarMoreMenuItem'); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginSidebarMoreMenuItem, { ...props }); } -;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/index.js +/** + * @see PluginPostExcerpt in @wordpress/editor package. + */ +function __experimentalPluginPostExcerpt() { + if (isSiteEditor) { + return null; + } + external_wp_deprecated_default()('wp.editPost.__experimentalPluginPostExcerpt', { + since: '6.6', + hint: 'Core and custom panels can be access programmatically using their panel name.', + link: 'https://developer.wordpress.org/block-editor/reference-guides/slotfills/plugin-document-setting-panel/#accessing-a-panel-programmatically' + }); + return PluginPostExcerpt; +} +/* eslint-enable jsdoc/require-param */ + +;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-post/build-module/index.js /** * WordPress dependencies */ @@ -7707,16 +3287,14 @@ function PluginSidebarMoreMenuItem(props) { - /** * Internal dependencies */ - const { - PluginPostExcerpt: __experimentalPluginPostExcerpt + BackButton: __experimentalMainDashboardButton } = unlock(external_wp_editor_namespaceObject.privateApis); /** @@ -7736,8 +3314,6 @@ function initializeEditor(id, postType, postId, settings, initialEdits) { const root = (0,external_wp_element_namespaceObject.createRoot)(target); (0,external_wp_data_namespaceObject.dispatch)(external_wp_preferences_namespaceObject.store).setDefaults('core/edit-post', { fullscreenMode: true, - isPublishSidebarEnabled: true, - preferredStyleVariations: {}, themeStyles: true, welcomeGuide: true, welcomeGuideTemplate: true @@ -7751,7 +3327,8 @@ function initializeEditor(id, postType, postId, settings, initialEdits) { openPanels: ['post-status'], showBlockBreadcrumbs: true, showIconLabels: false, - showListViewByDefault: false + showListViewByDefault: false, + isPublishSidebarEnabled: true }); (0,external_wp_data_namespaceObject.dispatch)(external_wp_blocks_namespaceObject.store).reapplyBlockTypeFilters(); @@ -7770,34 +3347,6 @@ function initializeEditor(id, postType, postId, settings, initialEdits) { }); if (false) {} - /* - * Prevent adding template part in the post editor. - * Only add the filter when the post editor is initialized, not imported. - * Also only add the filter(s) after registerCoreBlocks() - * so that common filters in the block library are not overwritten. - */ - (0,external_wp_hooks_namespaceObject.addFilter)('blockEditor.__unstableCanInsertBlockType', 'removeTemplatePartsFromInserter', (canInsert, blockType) => { - if (blockType.name === 'core/template-part') { - return false; - } - return canInsert; - }); - - /* - * Prevent adding post content block (except in query block) in the post editor. - * Only add the filter when the post editor is initialized, not imported. - * Also only add the filter(s) after registerCoreBlocks() - * so that common filters in the block library are not overwritten. - */ - (0,external_wp_hooks_namespaceObject.addFilter)('blockEditor.__unstableCanInsertBlockType', 'removePostContentFromInserter', (canInsert, blockType, rootClientId, { - getBlockParentsByBlockName - }) => { - if (blockType.name === 'core/post-content') { - return getBlockParentsByBlockName(rootClientId, 'core/query').length > 0; - } - return canInsert; - }); - // Show a console log warning if the browser is not in Standards rendering mode. const documentMode = document.compatMode === 'CSS1Compat' ? 'Standards' : 'Quirks'; if (documentMode !== 'Standards') { @@ -7833,7 +3382,7 @@ function initializeEditor(id, postType, postId, settings, initialEdits) { // Prevent the default browser action for files dropped outside of dropzones. window.addEventListener('dragover', e => e.preventDefault(), false); window.addEventListener('drop', e => e.preventDefault(), false); - root.render((0,external_React_namespaceObject.createElement)(editor, { + root.render( /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(editor, { settings: settings, postId: postId, postType: postType, @@ -7856,16 +3405,6 @@ function reinitializeEditor() { - - - - - - - - -})(); - (window.wp = window.wp || {}).editPost = __webpack_exports__; /******/ })() ;
\ No newline at end of file |