%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/dordingu/public_html/hardkjarni/wp-content/plugins/gutenberg/build/edit-widgets/
Upload File :
Create Path :
Current File : /home/dordingu/public_html/hardkjarni/wp-content/plugins/gutenberg/build/edit-widgets/index.min.js.map

{"version":3,"file":"./build/edit-widgets/index.min.js","mappings":"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","sources":["webpack://wp/./node_modules/classnames/index.js","webpack://wp/webpack/bootstrap","webpack://wp/webpack/runtime/compat get default export","webpack://wp/webpack/runtime/define property getters","webpack://wp/webpack/runtime/hasOwnProperty shorthand","webpack://wp/webpack/runtime/make namespace object","webpack://wp/external window [\"wp\",\"element\"]","webpack://wp/external window [\"wp\",\"blocks\"]","webpack://wp/external window [\"wp\",\"data\"]","webpack://wp/external window [\"wp\",\"blockLibrary\"]","webpack://wp/external window [\"wp\",\"coreData\"]","webpack://wp/external window [\"wp\",\"widgets\"]","webpack://wp/external window [\"wp\",\"preferences\"]","webpack://wp/external window [\"wp\",\"apiFetch\"]","webpack://wp/./packages/edit-widgets/build-module/store/@wordpress/edit-widgets/src/store/reducer.js","webpack://wp/external window [\"wp\",\"i18n\"]","webpack://wp/external window [\"wp\",\"notices\"]","webpack://wp/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wp/external window [\"wp\",\"components\"]","webpack://wp/external window [\"wp\",\"primitives\"]","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/check.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/star-filled.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/star-empty.js","webpack://wp/external window [\"wp\",\"viewport\"]","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/close-small.js","webpack://wp/external window [\"wp\",\"deprecated\"]","webpack://wp/./packages/interface/build-module/store/@wordpress/interface/src/store/actions.js","webpack://wp/./packages/interface/build-module/store/@wordpress/interface/src/store/selectors.js","webpack://wp/./packages/interface/build-module/store/@wordpress/interface/src/store/reducer.js","webpack://wp/./packages/interface/build-module/store/@wordpress/interface/src/store/index.js","webpack://wp/./packages/interface/build-module/store/@wordpress/interface/src/store/constants.js","webpack://wp/external window [\"wp\",\"plugins\"]","webpack://wp/./packages/interface/build-module/components/complementary-area-context/@wordpress/interface/src/components/complementary-area-context/index.js","webpack://wp/./packages/interface/build-module/components/complementary-area-toggle/@wordpress/interface/src/components/complementary-area-toggle/index.js","webpack://wp/./packages/interface/build-module/components/complementary-area-header/@wordpress/interface/src/components/complementary-area-header/index.js","webpack://wp/./packages/interface/build-module/components/action-item/@wordpress/interface/src/components/action-item/index.js","webpack://wp/./packages/interface/build-module/components/complementary-area-more-menu-item/@wordpress/interface/src/components/complementary-area-more-menu-item/index.js","webpack://wp/./packages/interface/build-module/components/pinned-items/@wordpress/interface/src/components/pinned-items/index.js","webpack://wp/./packages/interface/build-module/components/complementary-area/@wordpress/interface/src/components/complementary-area/index.js","webpack://wp/external window [\"wp\",\"compose\"]","webpack://wp/./packages/interface/build-module/components/interface-skeleton/@wordpress/interface/src/components/interface-skeleton/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/more-vertical.js","webpack://wp/./packages/interface/build-module/components/more-menu-dropdown/@wordpress/interface/src/components/more-menu-dropdown/index.js","webpack://wp/external window [\"wp\",\"blockEditor\"]","webpack://wp/./packages/edit-widgets/build-module/store/@wordpress/edit-widgets/src/store/transformers.js","webpack://wp/./packages/edit-widgets/build-module/store/@wordpress/edit-widgets/src/store/utils.js","webpack://wp/./packages/edit-widgets/build-module/store/@wordpress/edit-widgets/src/store/constants.js","webpack://wp/./packages/edit-widgets/build-module/store/@wordpress/edit-widgets/src/store/actions.js","webpack://wp/./packages/edit-widgets/build-module/store/@wordpress/edit-widgets/src/store/resolvers.js","webpack://wp/./packages/edit-widgets/build-module/store/@wordpress/edit-widgets/src/store/selectors.js","webpack://wp/./packages/edit-widgets/build-module/store/@wordpress/edit-widgets/src/store/index.js","webpack://wp/external window [\"wp\",\"hooks\"]","webpack://wp/./packages/edit-widgets/build-module/filters/@wordpress/edit-widgets/src/filters/move-to-widget-area.js","webpack://wp/external window [\"wp\",\"mediaUtils\"]","webpack://wp/./packages/edit-widgets/build-module/filters/@wordpress/edit-widgets/src/filters/replace-media-upload.js","webpack://wp/./packages/edit-widgets/build-module/blocks/widget-area/edit/@wordpress/edit-widgets/src/blocks/widget-area/edit/use-is-dragging-within.js","webpack://wp/./packages/edit-widgets/build-module/blocks/widget-area/edit/@wordpress/edit-widgets/src/blocks/widget-area/edit/inner-blocks.js","webpack://wp/./packages/edit-widgets/build-module/blocks/widget-area/edit/@wordpress/edit-widgets/src/blocks/widget-area/edit/index.js","webpack://wp/./packages/edit-widgets/build-module/blocks/widget-area/@wordpress/edit-widgets/src/blocks/widget-area/index.js","webpack://wp/./packages/edit-widgets/build-module/components/error-boundary/@wordpress/edit-widgets/src/components/error-boundary/index.js","webpack://wp/external window [\"wp\",\"reusableBlocks\"]","webpack://wp/external window [\"wp\",\"keyboardShortcuts\"]","webpack://wp/./packages/edit-widgets/build-module/components/keyboard-shortcuts/@wordpress/edit-widgets/src/components/keyboard-shortcuts/index.js","webpack://wp/./packages/edit-widgets/build-module/hooks/@wordpress/edit-widgets/src/hooks/use-last-selected-widget-area.js","webpack://wp/./packages/edit-widgets/build-module/components/widget-areas-block-editor-provider/@wordpress/edit-widgets/src/components/widget-areas-block-editor-provider/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/cog.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/block-default.js","webpack://wp/external window [\"wp\",\"url\"]","webpack://wp/external window [\"wp\",\"dom\"]","webpack://wp/./packages/edit-widgets/build-module/components/sidebar/@wordpress/edit-widgets/src/components/sidebar/widget-areas.js","webpack://wp/./packages/edit-widgets/build-module/components/sidebar/@wordpress/edit-widgets/src/components/sidebar/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/plus.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/list-view.js","webpack://wp/./packages/edit-widgets/build-module/components/save-button/@wordpress/edit-widgets/src/components/save-button/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/undo.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/redo.js","webpack://wp/external window [\"wp\",\"keycodes\"]","webpack://wp/./packages/edit-widgets/build-module/components/header/undo-redo/@wordpress/edit-widgets/src/components/header/undo-redo/undo.js","webpack://wp/./packages/edit-widgets/build-module/components/header/undo-redo/@wordpress/edit-widgets/src/components/header/undo-redo/redo.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/external.js","webpack://wp/./packages/edit-widgets/build-module/components/keyboard-shortcut-help-modal/@wordpress/edit-widgets/src/components/keyboard-shortcut-help-modal/config.js","webpack://wp/./packages/edit-widgets/build-module/components/keyboard-shortcut-help-modal/@wordpress/edit-widgets/src/components/keyboard-shortcut-help-modal/shortcut.js","webpack://wp/./packages/edit-widgets/build-module/components/keyboard-shortcut-help-modal/@wordpress/edit-widgets/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js","webpack://wp/./packages/edit-widgets/build-module/components/keyboard-shortcut-help-modal/@wordpress/edit-widgets/src/components/keyboard-shortcut-help-modal/index.js","webpack://wp/./packages/edit-widgets/build-module/components/more-menu/@wordpress/edit-widgets/src/components/more-menu/tools-more-menu-group.js","webpack://wp/./packages/edit-widgets/build-module/components/more-menu/@wordpress/edit-widgets/src/components/more-menu/index.js","webpack://wp/./packages/edit-widgets/build-module/components/header/@wordpress/edit-widgets/src/components/header/index.js","webpack://wp/./packages/edit-widgets/build-module/components/notices/@wordpress/edit-widgets/src/components/notices/index.js","webpack://wp/./packages/edit-widgets/build-module/components/widget-areas-block-editor-content/@wordpress/edit-widgets/src/components/widget-areas-block-editor-content/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/close.js","webpack://wp/./packages/edit-widgets/build-module/components/secondary-sidebar/@wordpress/edit-widgets/src/components/secondary-sidebar/inserter-sidebar.js","webpack://wp/./packages/edit-widgets/build-module/hooks/@wordpress/edit-widgets/src/hooks/use-widget-library-insertion-point.js","webpack://wp/./packages/edit-widgets/build-module/components/secondary-sidebar/@wordpress/edit-widgets/src/components/secondary-sidebar/list-view-sidebar.js","webpack://wp/./packages/edit-widgets/build-module/components/secondary-sidebar/@wordpress/edit-widgets/src/components/secondary-sidebar/index.js","webpack://wp/./packages/edit-widgets/build-module/components/layout/@wordpress/edit-widgets/src/components/layout/interface.js","webpack://wp/./packages/edit-widgets/build-module/components/layout/@wordpress/edit-widgets/src/components/layout/unsaved-changes-warning.js","webpack://wp/./packages/edit-widgets/build-module/components/welcome-guide/@wordpress/edit-widgets/src/components/welcome-guide/index.js","webpack://wp/./packages/edit-widgets/build-module/components/layout/@wordpress/edit-widgets/src/components/layout/index.js","webpack://wp/./packages/edit-widgets/build-module/@wordpress/edit-widgets/src/index.js","webpack://wp/./packages/edit-widgets/build-module/@wordpress/edit-widgets/src/constants.js"],"sourcesContent":["/*!\n  Copyright (c) 2018 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"element\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blocks\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"data\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blockLibrary\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"coreData\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"widgets\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"preferences\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"apiFetch\"];","/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Controls the open state of the widget areas.\n *\n * @param {Object} state  Redux state.\n * @param {Object} action Redux action.\n *\n * @return {Array} Updated state.\n */\nexport function widgetAreasOpenState( state = {}, action ) {\n\tconst { type } = action;\n\tswitch ( type ) {\n\t\tcase 'SET_WIDGET_AREAS_OPEN_STATE': {\n\t\t\treturn action.widgetAreasOpenState;\n\t\t}\n\t\tcase 'SET_IS_WIDGET_AREA_OPEN': {\n\t\t\tconst { clientId, isOpen } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ clientId ]: isOpen,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state  Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state  Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\nexport default combineReducers( {\n\tblockInserterPanel,\n\tlistViewPanel,\n\twidgetAreasOpenState,\n} );\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"notices\"];","export default function _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"components\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"primitives\"];","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst check = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z\" />\n\t</SVG>\n);\n\nexport default check;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst starFilled = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default starFilled;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst starEmpty = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\td=\"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\"\n\t\t\tclipRule=\"evenodd\"\n\t\t/>\n\t</SVG>\n);\n\nexport default starEmpty;\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"viewport\"];","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst closeSmall = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default closeSmall;\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"deprecated\"];","/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Set a default complementary area.\n *\n * @param {string} scope Complementary area scope.\n * @param {string} area  Area identifier.\n *\n * @return {Object} Action object.\n */\nexport const setDefaultComplementaryArea = ( scope, area ) => ( {\n\ttype: 'SET_DEFAULT_COMPLEMENTARY_AREA',\n\tscope,\n\tarea,\n} );\n\n/**\n * Enable the complementary area.\n *\n * @param {string} scope Complementary area scope.\n * @param {string} area  Area identifier.\n */\nexport const enableComplementaryArea =\n\t( scope, area ) =>\n\t( { registry, dispatch } ) => {\n\t\t// Return early if there's no area.\n\t\tif ( ! area ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isComplementaryAreaVisible = registry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( scope, 'isComplementaryAreaVisible' );\n\n\t\tif ( ! isComplementaryAreaVisible ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set( scope, 'isComplementaryAreaVisible', true );\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype: 'ENABLE_COMPLEMENTARY_AREA',\n\t\t\tscope,\n\t\t\tarea,\n\t\t} );\n\t};\n\n/**\n * Disable the complementary area.\n *\n * @param {string} scope Complementary area scope.\n */\nexport const disableComplementaryArea =\n\t( scope ) =>\n\t( { registry } ) => {\n\t\tconst isComplementaryAreaVisible = registry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( scope, 'isComplementaryAreaVisible' );\n\n\t\tif ( isComplementaryAreaVisible ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( preferencesStore )\n\t\t\t\t.set( scope, 'isComplementaryAreaVisible', false );\n\t\t}\n\t};\n\n/**\n * Pins an item.\n *\n * @param {string} scope Item scope.\n * @param {string} item  Item identifier.\n *\n * @return {Object} Action object.\n */\nexport const pinItem =\n\t( scope, item ) =>\n\t( { registry } ) => {\n\t\t// Return early if there's no item.\n\t\tif ( ! item ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst pinnedItems = registry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( scope, 'pinnedItems' );\n\n\t\t// The item is already pinned, there's nothing to do.\n\t\tif ( pinnedItems?.[ item ] === true ) {\n\t\t\treturn;\n\t\t}\n\n\t\tregistry.dispatch( preferencesStore ).set( scope, 'pinnedItems', {\n\t\t\t...pinnedItems,\n\t\t\t[ item ]: true,\n\t\t} );\n\t};\n\n/**\n * Unpins an item.\n *\n * @param {string} scope Item scope.\n * @param {string} item  Item identifier.\n */\nexport const unpinItem =\n\t( scope, item ) =>\n\t( { registry } ) => {\n\t\t// Return early if there's no item.\n\t\tif ( ! item ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst pinnedItems = registry\n\t\t\t.select( preferencesStore )\n\t\t\t.get( scope, 'pinnedItems' );\n\n\t\tregistry.dispatch( preferencesStore ).set( scope, 'pinnedItems', {\n\t\t\t...pinnedItems,\n\t\t\t[ item ]: false,\n\t\t} );\n\t};\n\n/**\n * Returns an action object used in signalling that a feature should be toggled.\n *\n * @param {string} scope       The feature scope (e.g. core/edit-post).\n * @param {string} featureName The feature name.\n */\nexport function toggleFeature( scope, featureName ) {\n\treturn function ( { registry } ) {\n\t\tdeprecated( `dispatch( 'core/interface' ).toggleFeature`, {\n\t\t\tsince: '6.0',\n\t\t\talternative: `dispatch( 'core/preferences' ).toggle`,\n\t\t} );\n\n\t\tregistry.dispatch( preferencesStore ).toggle( scope, featureName );\n\t};\n}\n\n/**\n * Returns an action object used in signalling that a feature should be set to\n * a true or false value\n *\n * @param {string}  scope       The feature scope (e.g. core/edit-post).\n * @param {string}  featureName The feature name.\n * @param {boolean} value       The value to set.\n *\n * @return {Object} Action object.\n */\nexport function setFeatureValue( scope, featureName, value ) {\n\treturn function ( { registry } ) {\n\t\tdeprecated( `dispatch( 'core/interface' ).setFeatureValue`, {\n\t\t\tsince: '6.0',\n\t\t\talternative: `dispatch( 'core/preferences' ).set`,\n\t\t} );\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( scope, featureName, !! value );\n\t};\n}\n\n/**\n * Returns an action object used in signalling that defaults should be set for features.\n *\n * @param {string}                  scope    The feature scope (e.g. core/edit-post).\n * @param {Object<string, boolean>} defaults A key/value map of feature names to values.\n *\n * @return {Object} Action object.\n */\nexport function setFeatureDefaults( scope, defaults ) {\n\treturn function ( { registry } ) {\n\t\tdeprecated( `dispatch( 'core/interface' ).setFeatureDefaults`, {\n\t\t\tsince: '6.0',\n\t\t\talternative: `dispatch( 'core/preferences' ).setDefaults`,\n\t\t} );\n\n\t\tregistry.dispatch( preferencesStore ).setDefaults( scope, defaults );\n\t};\n}\n","/**\n * WordPress dependencies\n */\nimport { createRegistrySelector } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Returns the complementary area that is active in a given scope.\n *\n * @param {Object} state Global application state.\n * @param {string} scope Item scope.\n *\n * @return {string | null | undefined} The complementary area that is active in the given scope.\n */\nexport const getActiveComplementaryArea = createRegistrySelector(\n\t( select ) => ( state, scope ) => {\n\t\tconst isComplementaryAreaVisible = select( preferencesStore ).get(\n\t\t\tscope,\n\t\t\t'isComplementaryAreaVisible'\n\t\t);\n\n\t\t// Return `undefined` to indicate that the user has never toggled\n\t\t// visibility, this is the vanilla default. Other code relies on this\n\t\t// nuance in the return value.\n\t\tif ( isComplementaryAreaVisible === undefined ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Return `null` to indicate the user hid the complementary area.\n\t\tif ( ! isComplementaryAreaVisible ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn state?.complementaryAreas?.[ scope ];\n\t}\n);\n\n/**\n * Returns a boolean indicating if an item is pinned or not.\n *\n * @param {Object} state Global application state.\n * @param {string} scope Scope.\n * @param {string} item  Item to check.\n *\n * @return {boolean} True if the item is pinned and false otherwise.\n */\nexport const isItemPinned = createRegistrySelector(\n\t( select ) => ( state, scope, item ) => {\n\t\tconst pinnedItems = select( preferencesStore ).get(\n\t\t\tscope,\n\t\t\t'pinnedItems'\n\t\t);\n\t\treturn pinnedItems?.[ item ] ?? true;\n\t}\n);\n\n/**\n * Returns a boolean indicating whether a feature is active for a particular\n * scope.\n *\n * @param {Object} state       The store state.\n * @param {string} scope       The scope of the feature (e.g. core/edit-post).\n * @param {string} featureName The name of the feature.\n *\n * @return {boolean} Is the feature enabled?\n */\nexport const isFeatureActive = createRegistrySelector(\n\t( select ) => ( state, scope, featureName ) => {\n\t\tdeprecated(\n\t\t\t`select( 'core/interface' ).isFeatureActive( scope, featureName )`,\n\t\t\t{\n\t\t\t\tsince: '6.0',\n\t\t\t\talternative: `select( 'core/preferences' ).get( scope, featureName )`,\n\t\t\t}\n\t\t);\n\n\t\treturn !! select( preferencesStore ).get( scope, featureName );\n\t}\n);\n","/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\nexport function complementaryAreas( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_DEFAULT_COMPLEMENTARY_AREA': {\n\t\t\tconst { scope, area } = action;\n\n\t\t\t// If there's already an area, don't overwrite it.\n\t\t\tif ( state[ scope ] ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ scope ]: area,\n\t\t\t};\n\t\t}\n\t\tcase 'ENABLE_COMPLEMENTARY_AREA': {\n\t\t\tconst { scope, area } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ scope ]: area,\n\t\t\t};\n\t\t}\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tcomplementaryAreas,\n} );\n","/**\n * WordPress dependencies\n */\nimport { createReduxStore, register } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport * as actions from './actions';\nimport * as selectors from './selectors';\nimport reducer from './reducer';\nimport { STORE_NAME } from './constants';\n\n/**\n * Store definition for the interface namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, {\n\treducer,\n\tactions,\n\tselectors,\n} );\n\n// Once we build a more generic persistence plugin that works across types of stores\n// we'd be able to replace this with a register call.\nregister( store );\n","/**\n * The identifier for the data store.\n *\n * @type {string}\n */\nexport const STORE_NAME = 'core/interface';\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"plugins\"];","/**\n * WordPress dependencies\n */\nimport { withPluginContext } from '@wordpress/plugins';\n\nexport default withPluginContext( ( context, ownProps ) => {\n\treturn {\n\t\ticon: ownProps.icon || context.icon,\n\t\tidentifier:\n\t\t\townProps.identifier || `${ context.name }/${ ownProps.name }`,\n\t};\n} );\n","/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as interfaceStore } from '../../store';\nimport complementaryAreaContext from '../complementary-area-context';\n\nfunction ComplementaryAreaToggle( {\n\tas = Button,\n\tscope,\n\tidentifier,\n\ticon,\n\tselectedIcon,\n\tname,\n\t...props\n} ) {\n\tconst ComponentToUse = as;\n\tconst isSelected = useSelect(\n\t\t( select ) =>\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( scope ) ===\n\t\t\tidentifier,\n\t\t[ identifier ]\n\t);\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\treturn (\n\t\t<ComponentToUse\n\t\t\ticon={ selectedIcon && isSelected ? selectedIcon : icon }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( isSelected ) {\n\t\t\t\t\tdisableComplementaryArea( scope );\n\t\t\t\t} else {\n\t\t\t\t\tenableComplementaryArea( scope, identifier );\n\t\t\t\t}\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default complementaryAreaContext( ComplementaryAreaToggle );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ComplementaryAreaToggle from '../complementary-area-toggle';\n\nconst ComplementaryAreaHeader = ( {\n\tsmallScreenTitle,\n\tchildren,\n\tclassName,\n\ttoggleButtonProps,\n} ) => {\n\tconst toggleButton = (\n\t\t<ComplementaryAreaToggle icon={ closeSmall } { ...toggleButtonProps } />\n\t);\n\treturn (\n\t\t<>\n\t\t\t<div className=\"components-panel__header interface-complementary-area-header__small\">\n\t\t\t\t{ smallScreenTitle && (\n\t\t\t\t\t<span className=\"interface-complementary-area-header__small-title\">\n\t\t\t\t\t\t{ smallScreenTitle }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ toggleButton }\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'components-panel__header',\n\t\t\t\t\t'interface-complementary-area-header',\n\t\t\t\t\tclassName\n\t\t\t\t) }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t\t{ toggleButton }\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default ComplementaryAreaHeader;\n","/**\n * WordPress dependencies\n */\nimport { ButtonGroup, Button, Slot, Fill } from '@wordpress/components';\nimport { Children } from '@wordpress/element';\n\nconst noop = () => {};\n\nfunction ActionItemSlot( {\n\tname,\n\tas: Component = ButtonGroup,\n\tfillProps = {},\n\tbubblesVirtually,\n\t...props\n} ) {\n\treturn (\n\t\t<Slot\n\t\t\tname={ name }\n\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\tfillProps={ fillProps }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif ( ! Children.toArray( fills ).length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\t// Special handling exists for backward compatibility.\n\t\t\t\t// It ensures that menu items created by plugin authors aren't\n\t\t\t\t// duplicated with automatically injected menu items coming\n\t\t\t\t// from pinnable plugin sidebars.\n\t\t\t\t// @see https://github.com/WordPress/gutenberg/issues/14457\n\t\t\t\tconst initializedByPlugins = [];\n\t\t\t\tChildren.forEach(\n\t\t\t\t\tfills,\n\t\t\t\t\t( {\n\t\t\t\t\t\tprops: { __unstableExplicitMenuItem, __unstableTarget },\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\tif ( __unstableTarget && __unstableExplicitMenuItem ) {\n\t\t\t\t\t\t\tinitializedByPlugins.push( __unstableTarget );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tconst children = Children.map( fills, ( child ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t! child.props.__unstableExplicitMenuItem &&\n\t\t\t\t\t\tinitializedByPlugins.includes(\n\t\t\t\t\t\t\tchild.props.__unstableTarget\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn child;\n\t\t\t\t} );\n\n\t\t\t\treturn <Component { ...props }>{ children }</Component>;\n\t\t\t} }\n\t\t</Slot>\n\t);\n}\n\nfunction ActionItem( { name, as: Component = Button, onClick, ...props } ) {\n\treturn (\n\t\t<Fill name={ name }>\n\t\t\t{ ( { onClick: fpOnClick } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Component\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\tonClick || fpOnClick\n\t\t\t\t\t\t\t\t? ( ...args ) => {\n\t\t\t\t\t\t\t\t\t\t( onClick || noop )( ...args );\n\t\t\t\t\t\t\t\t\t\t( fpOnClick || noop )( ...args );\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Fill>\n\t);\n}\n\nActionItem.Slot = ActionItemSlot;\n\nexport default ActionItem;\n","/**\n * WordPress dependencies\n */\nimport { check } from '@wordpress/icons';\nimport { MenuItem } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport ComplementaryAreaToggle from '../complementary-area-toggle';\nimport ActionItem from '../action-item';\n\nconst PluginsMenuItem = ( {\n\t// Menu item is marked with unstable prop for backward compatibility.\n\t// They are removed so they don't leak to DOM elements.\n\t// @see https://github.com/WordPress/gutenberg/issues/14457\n\t__unstableExplicitMenuItem,\n\t__unstableTarget,\n\t...restProps\n} ) => <MenuItem { ...restProps } />;\n\nexport default function ComplementaryAreaMoreMenuItem( {\n\tscope,\n\ttarget,\n\t__unstableExplicitMenuItem,\n\t...props\n} ) {\n\treturn (\n\t\t<ComplementaryAreaToggle\n\t\t\tas={ ( toggleProps ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ActionItem\n\t\t\t\t\t\t__unstableExplicitMenuItem={\n\t\t\t\t\t\t\t__unstableExplicitMenuItem\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__unstableTarget={ `${ scope }/${ target }` }\n\t\t\t\t\t\tas={ PluginsMenuItem }\n\t\t\t\t\t\tname={ `${ scope }/plugin-more-menu` }\n\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trole=\"menuitemcheckbox\"\n\t\t\tselectedIcon={ check }\n\t\t\tname={ target }\n\t\t\tscope={ scope }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Slot, Fill } from '@wordpress/components';\n\nfunction PinnedItems( { scope, ...props } ) {\n\treturn <Fill name={ `PinnedItems/${ scope }` } { ...props } />;\n}\n\nfunction PinnedItemsSlot( { scope, className, ...props } ) {\n\treturn (\n\t\t<Slot name={ `PinnedItems/${ scope }` } { ...props }>\n\t\t\t{ ( fills ) =>\n\t\t\t\tfills?.length > 0 && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t'interface-pinned-items'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t</Slot>\n\t);\n}\n\nPinnedItems.Slot = PinnedItemsSlot;\n\nexport default PinnedItems;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Panel, Slot, Fill } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { check, starEmpty, starFilled } from '@wordpress/icons';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as viewportStore } from '@wordpress/viewport';\n\n/**\n * Internal dependencies\n */\nimport ComplementaryAreaHeader from '../complementary-area-header';\nimport ComplementaryAreaMoreMenuItem from '../complementary-area-more-menu-item';\nimport ComplementaryAreaToggle from '../complementary-area-toggle';\nimport withComplementaryAreaContext from '../complementary-area-context';\nimport PinnedItems from '../pinned-items';\nimport { store as interfaceStore } from '../../store';\n\nfunction ComplementaryAreaSlot( { scope, ...props } ) {\n\treturn <Slot name={ `ComplementaryArea/${ scope }` } { ...props } />;\n}\n\nfunction ComplementaryAreaFill( { scope, children, className } ) {\n\treturn (\n\t\t<Fill name={ `ComplementaryArea/${ scope }` }>\n\t\t\t<div className={ className }>{ children }</div>\n\t\t</Fill>\n\t);\n}\n\nfunction useAdjustComplementaryListener(\n\tscope,\n\tidentifier,\n\tactiveArea,\n\tisActive,\n\tisSmall\n) {\n\tconst previousIsSmall = useRef( false );\n\tconst shouldOpenWhenNotSmall = useRef( false );\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\tuseEffect( () => {\n\t\t// If the complementary area is active and the editor is switching from a big to a small window size.\n\t\tif ( isActive && isSmall && ! previousIsSmall.current ) {\n\t\t\t// Disable the complementary area.\n\t\t\tdisableComplementaryArea( scope );\n\t\t\t// Flag the complementary area to be reopened when the window size goes from small to big.\n\t\t\tshouldOpenWhenNotSmall.current = true;\n\t\t} else if (\n\t\t\t// If there is a flag indicating the complementary area should be enabled when we go from small to big window size\n\t\t\t// and we are going from a small to big window size.\n\t\t\tshouldOpenWhenNotSmall.current &&\n\t\t\t! isSmall &&\n\t\t\tpreviousIsSmall.current\n\t\t) {\n\t\t\t// Remove the flag indicating the complementary area should be enabled.\n\t\t\tshouldOpenWhenNotSmall.current = false;\n\t\t\t// Enable the complementary area.\n\t\t\tenableComplementaryArea( scope, identifier );\n\t\t} else if (\n\t\t\t// If the flag is indicating the current complementary should be reopened but another complementary area becomes active,\n\t\t\t// remove the flag.\n\t\t\tshouldOpenWhenNotSmall.current &&\n\t\t\tactiveArea &&\n\t\t\tactiveArea !== identifier\n\t\t) {\n\t\t\tshouldOpenWhenNotSmall.current = false;\n\t\t}\n\t\tif ( isSmall !== previousIsSmall.current ) {\n\t\t\tpreviousIsSmall.current = isSmall;\n\t\t}\n\t}, [ isActive, isSmall, scope, identifier, activeArea ] );\n}\n\nfunction ComplementaryArea( {\n\tchildren,\n\tclassName,\n\tcloseLabel = __( 'Close plugin' ),\n\tidentifier,\n\theader,\n\theaderClassName,\n\ticon,\n\tisPinnable = true,\n\tpanelClassName,\n\tscope,\n\tname,\n\tsmallScreenTitle,\n\ttitle,\n\ttoggleShortcut,\n\tisActiveByDefault,\n\tshowIconLabels = false,\n} ) {\n\tconst { isActive, isPinned, activeArea, isSmall, isLarge } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveComplementaryArea, isItemPinned } =\n\t\t\t\tselect( interfaceStore );\n\t\t\tconst _activeArea = getActiveComplementaryArea( scope );\n\t\t\treturn {\n\t\t\t\tisActive: _activeArea === identifier,\n\t\t\t\tisPinned: isItemPinned( scope, identifier ),\n\t\t\t\tactiveArea: _activeArea,\n\t\t\t\tisSmall: select( viewportStore ).isViewportMatch( '< medium' ),\n\t\t\t\tisLarge: select( viewportStore ).isViewportMatch( 'large' ),\n\t\t\t};\n\t\t},\n\t\t[ identifier, scope ]\n\t);\n\tuseAdjustComplementaryListener(\n\t\tscope,\n\t\tidentifier,\n\t\tactiveArea,\n\t\tisActive,\n\t\tisSmall\n\t);\n\tconst {\n\t\tenableComplementaryArea,\n\t\tdisableComplementaryArea,\n\t\tpinItem,\n\t\tunpinItem,\n\t} = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\tif ( isActiveByDefault && activeArea === undefined && ! isSmall ) {\n\t\t\tenableComplementaryArea( scope, identifier );\n\t\t}\n\t}, [ activeArea, isActiveByDefault, scope, identifier, isSmall ] );\n\n\treturn (\n\t\t<>\n\t\t\t{ isPinnable && (\n\t\t\t\t<PinnedItems scope={ scope }>\n\t\t\t\t\t{ isPinned && (\n\t\t\t\t\t\t<ComplementaryAreaToggle\n\t\t\t\t\t\t\tscope={ scope }\n\t\t\t\t\t\t\tidentifier={ identifier }\n\t\t\t\t\t\t\tisPressed={\n\t\t\t\t\t\t\t\tisActive && ( ! showIconLabels || isLarge )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-expanded={ isActive }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\ticon={ showIconLabels ? check : icon }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PinnedItems>\n\t\t\t) }\n\t\t\t{ name && isPinnable && (\n\t\t\t\t<ComplementaryAreaMoreMenuItem\n\t\t\t\t\ttarget={ name }\n\t\t\t\t\tscope={ scope }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</ComplementaryAreaMoreMenuItem>\n\t\t\t) }\n\t\t\t{ isActive && (\n\t\t\t\t<ComplementaryAreaFill\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'interface-complementary-area',\n\t\t\t\t\t\tclassName\n\t\t\t\t\t) }\n\t\t\t\t\tscope={ scope }\n\t\t\t\t>\n\t\t\t\t\t<ComplementaryAreaHeader\n\t\t\t\t\t\tclassName={ headerClassName }\n\t\t\t\t\t\tcloseLabel={ closeLabel }\n\t\t\t\t\t\tonClose={ () => disableComplementaryArea( scope ) }\n\t\t\t\t\t\tsmallScreenTitle={ smallScreenTitle }\n\t\t\t\t\t\ttoggleButtonProps={ {\n\t\t\t\t\t\t\tlabel: closeLabel,\n\t\t\t\t\t\t\tshortcut: toggleShortcut,\n\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\tidentifier,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ header || (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<strong>{ title }</strong>\n\t\t\t\t\t\t\t\t{ isPinnable && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tclassName=\"interface-complementary-area__pin-unpin-item\"\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tisPinned ? starFilled : starEmpty\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tisPinned\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Unpin from toolbar' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Pin to toolbar' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t( isPinned ? unpinItem : pinItem )(\n\t\t\t\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\t\t\t\tidentifier\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisPressed={ isPinned }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isPinned }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ComplementaryAreaHeader>\n\t\t\t\t\t<Panel className={ panelClassName }>{ children }</Panel>\n\t\t\t\t</ComplementaryAreaFill>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst ComplementaryAreaWrapped =\n\twithComplementaryAreaContext( ComplementaryArea );\n\nComplementaryAreaWrapped.Slot = ComplementaryAreaSlot;\n\nexport default ComplementaryAreaWrapped;\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"compose\"];","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useEffect } from '@wordpress/element';\nimport { __unstableUseNavigateRegions as useNavigateRegions } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMergeRefs } from '@wordpress/compose';\n\nfunction useHTMLClass( className ) {\n\tuseEffect( () => {\n\t\tconst element =\n\t\t\tdocument && document.querySelector( `html:not(.${ className })` );\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\t\telement.classList.toggle( className );\n\t\treturn () => {\n\t\t\telement.classList.toggle( className );\n\t\t};\n\t}, [ className ] );\n}\n\nfunction InterfaceSkeleton(\n\t{\n\t\tfooter,\n\t\theader,\n\t\tsidebar,\n\t\tsecondarySidebar,\n\t\tnotices,\n\t\tcontent,\n\t\tdrawer,\n\t\tactions,\n\t\tlabels,\n\t\tclassName,\n\t\tshortcuts,\n\t},\n\tref\n) {\n\tconst navigateRegionsProps = useNavigateRegions( shortcuts );\n\n\tuseHTMLClass( 'interface-interface-skeleton__html-container' );\n\n\tconst defaultLabels = {\n\t\t/* translators: accessibility text for the nav bar landmark region. */\n\t\tdrawer: __( 'Drawer' ),\n\t\t/* translators: accessibility text for the top bar landmark region. */\n\t\theader: __( 'Header' ),\n\t\t/* translators: accessibility text for the content landmark region. */\n\t\tbody: __( 'Content' ),\n\t\t/* translators: accessibility text for the secondary sidebar landmark region. */\n\t\tsecondarySidebar: __( 'Block Library' ),\n\t\t/* translators: accessibility text for the settings landmark region. */\n\t\tsidebar: __( 'Settings' ),\n\t\t/* translators: accessibility text for the publish landmark region. */\n\t\tactions: __( 'Publish' ),\n\t\t/* translators: accessibility text for the footer landmark region. */\n\t\tfooter: __( 'Footer' ),\n\t};\n\n\tconst mergedLabels = { ...defaultLabels, ...labels };\n\n\treturn (\n\t\t<div\n\t\t\t{ ...navigateRegionsProps }\n\t\t\tref={ useMergeRefs( [ ref, navigateRegionsProps.ref ] ) }\n\t\t\tclassName={ classnames(\n\t\t\t\tclassName,\n\t\t\t\t'interface-interface-skeleton',\n\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t!! footer && 'has-footer'\n\t\t\t) }\n\t\t>\n\t\t\t{ !! drawer && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"interface-interface-skeleton__drawer\"\n\t\t\t\t\trole=\"region\"\n\t\t\t\t\taria-label={ mergedLabels.drawer }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t{ drawer }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"interface-interface-skeleton__editor\">\n\t\t\t\t{ !! header && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"interface-interface-skeleton__header\"\n\t\t\t\t\t\trole=\"region\"\n\t\t\t\t\t\taria-label={ mergedLabels.header }\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ header }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"interface-interface-skeleton__body\">\n\t\t\t\t\t{ !! secondarySidebar && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__secondary-sidebar\"\n\t\t\t\t\t\t\trole=\"region\"\n\t\t\t\t\t\t\taria-label={ mergedLabels.secondarySidebar }\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ secondarySidebar }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t{ !! notices && (\n\t\t\t\t\t\t<div className=\"interface-interface-skeleton__notices\">\n\t\t\t\t\t\t\t{ notices }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"interface-interface-skeleton__content\"\n\t\t\t\t\t\trole=\"region\"\n\t\t\t\t\t\taria-label={ mergedLabels.body }\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ !! sidebar && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__sidebar\"\n\t\t\t\t\t\t\trole=\"region\"\n\t\t\t\t\t\t\taria-label={ mergedLabels.sidebar }\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sidebar }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t{ !! actions && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__actions\"\n\t\t\t\t\t\t\trole=\"region\"\n\t\t\t\t\t\t\taria-label={ mergedLabels.actions }\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ actions }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ !! footer && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"interface-interface-skeleton__footer\"\n\t\t\t\t\trole=\"region\"\n\t\t\t\t\taria-label={ mergedLabels.footer }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t{ footer }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InterfaceSkeleton );\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst moreVertical = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z\" />\n\t</SVG>\n);\n\nexport default moreVertical;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\nexport default function MoreMenuDropdown( {\n\tas: DropdownComponent = DropdownMenu,\n\tclassName,\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tlabel = __( 'Options' ),\n\tpopoverProps,\n\ttoggleProps,\n\tchildren,\n} ) {\n\treturn (\n\t\t<DropdownComponent\n\t\t\tclassName={ classnames(\n\t\t\t\t'interface-more-menu-dropdown',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ label }\n\t\t\tpopoverProps={ {\n\t\t\t\tposition: 'bottom left',\n\t\t\t\t...popoverProps,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'interface-more-menu-dropdown__content',\n\t\t\t\t\tpopoverProps?.className\n\t\t\t\t),\n\t\t\t} }\n\t\t\ttoggleProps={ {\n\t\t\t\ttooltipPosition: 'bottom',\n\t\t\t\t...toggleProps,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( onClose ) => children( onClose ) }\n\t\t</DropdownComponent>\n\t);\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blockEditor\"];","/**\n * WordPress dependencies\n */\nimport { createBlock, parse, serialize } from '@wordpress/blocks';\nimport { addWidgetIdToBlock } from '@wordpress/widgets';\n\n/**\n * Converts a widget entity record into a block.\n *\n * @param {Object} widget The widget entity record.\n * @return {Object} a block (converted from the entity record).\n */\nexport function transformWidgetToBlock( widget ) {\n\tif ( widget.id_base === 'block' ) {\n\t\tconst parsedBlocks = parse( widget.instance.raw.content, {\n\t\t\t__unstableSkipAutop: true,\n\t\t} );\n\t\tif ( ! parsedBlocks.length ) {\n\t\t\treturn addWidgetIdToBlock(\n\t\t\t\tcreateBlock( 'core/paragraph', {}, [] ),\n\t\t\t\twidget.id\n\t\t\t);\n\t\t}\n\t\treturn addWidgetIdToBlock( parsedBlocks[ 0 ], widget.id );\n\t}\n\n\tlet attributes;\n\tif ( widget._embedded.about[ 0 ].is_multi ) {\n\t\tattributes = {\n\t\t\tidBase: widget.id_base,\n\t\t\tinstance: widget.instance,\n\t\t};\n\t} else {\n\t\tattributes = {\n\t\t\tid: widget.id,\n\t\t};\n\t}\n\n\treturn addWidgetIdToBlock(\n\t\tcreateBlock( 'core/legacy-widget', attributes, [] ),\n\t\twidget.id\n\t);\n}\n\n/**\n * Converts a block to a widget entity record.\n *\n * @param {Object}  block         The block.\n * @param {Object?} relatedWidget A related widget entity record from the API (optional).\n * @return {Object} the widget object (converted from block).\n */\nexport function transformBlockToWidget( block, relatedWidget = {} ) {\n\tlet widget;\n\n\tconst isValidLegacyWidgetBlock =\n\t\tblock.name === 'core/legacy-widget' &&\n\t\t( block.attributes.id || block.attributes.instance );\n\n\tif ( isValidLegacyWidgetBlock ) {\n\t\twidget = {\n\t\t\t...relatedWidget,\n\t\t\tid: block.attributes.id ?? relatedWidget.id,\n\t\t\tid_base: block.attributes.idBase ?? relatedWidget.id_base,\n\t\t\tinstance: block.attributes.instance ?? relatedWidget.instance,\n\t\t};\n\t} else {\n\t\twidget = {\n\t\t\t...relatedWidget,\n\t\t\tid_base: 'block',\n\t\t\tinstance: {\n\t\t\t\traw: {\n\t\t\t\t\tcontent: serialize( block ),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\t// Delete read-only properties.\n\tdelete widget.rendered;\n\tdelete widget.rendered_form;\n\n\treturn widget;\n}\n","/**\n * \"Kind\" of the navigation post.\n *\n * @type {string}\n */\nexport const KIND = 'root';\n\n/**\n * \"post type\" of the navigation post.\n *\n * @type {string}\n */\nexport const WIDGET_AREA_ENTITY_TYPE = 'sidebar';\n\n/**\n * \"post type\" of the widget area post.\n *\n * @type {string}\n */\nexport const POST_TYPE = 'postType';\n\n/**\n * Builds an ID for a new widget area post.\n *\n * @param {number} widgetAreaId Widget area id.\n * @return {string} An ID.\n */\nexport const buildWidgetAreaPostId = ( widgetAreaId ) =>\n\t`widget-area-${ widgetAreaId }`;\n\n/**\n * Builds an ID for a global widget areas post.\n *\n * @return {string} An ID.\n */\nexport const buildWidgetAreasPostId = () => `widget-areas`;\n\n/**\n * Builds a query to resolve sidebars.\n *\n * @return {Object} Query.\n */\nexport function buildWidgetAreasQuery() {\n\treturn {\n\t\tper_page: -1,\n\t};\n}\n\n/**\n * Builds a query to resolve widgets.\n *\n * @return {Object} Query.\n */\nexport function buildWidgetsQuery() {\n\treturn {\n\t\tper_page: -1,\n\t\t_embed: 'about',\n\t};\n}\n\n/**\n * Creates a stub post with given id and set of blocks. Used as a governing entity records\n * for all widget areas.\n *\n * @param {string} id     Post ID.\n * @param {Array}  blocks The list of blocks.\n * @return {Object} A stub post object formatted in compliance with the data layer.\n */\nexport const createStubPost = ( id, blocks ) => ( {\n\tid,\n\tslug: id,\n\tstatus: 'draft',\n\ttype: 'page',\n\tblocks,\n\tmeta: {\n\t\twidgetAreaId: id,\n\t},\n} );\n","/**\n * Module Constants\n */\nexport const STORE_NAME = 'core/edit-widgets';\n","/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { getWidgetIdFromBlock } from '@wordpress/widgets';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { transformBlockToWidget } from './transformers';\nimport {\n\tbuildWidgetAreaPostId,\n\tbuildWidgetAreasQuery,\n\tcreateStubPost,\n\tKIND,\n\tPOST_TYPE,\n\tWIDGET_AREA_ENTITY_TYPE,\n} from './utils';\nimport { STORE_NAME as editWidgetsStoreName } from './constants';\n\n/**\n * Persists a stub post with given ID to core data store. The post is meant to be in-memory only and\n * shouldn't be saved via the API.\n *\n * @param {string} id     Post ID.\n * @param {Array}  blocks Blocks the post should consist of.\n * @return {Object} The post object.\n */\nexport const persistStubPost =\n\t( id, blocks ) =>\n\t( { registry } ) => {\n\t\tconst stubPost = createStubPost( id, blocks );\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.receiveEntityRecords(\n\t\t\t\tKIND,\n\t\t\t\tPOST_TYPE,\n\t\t\t\tstubPost,\n\t\t\t\t{ id: stubPost.id },\n\t\t\t\tfalse\n\t\t\t);\n\t\treturn stubPost;\n\t};\n\n/**\n * Converts all the blocks from edited widget areas into widgets,\n * and submits a batch request to save everything at once.\n *\n * Creates a snackbar notice on either success or error.\n *\n * @return {Function} An action creator.\n */\nexport const saveEditedWidgetAreas =\n\t() =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst editedWidgetAreas = select.getEditedWidgetAreas();\n\t\tif ( ! editedWidgetAreas?.length ) {\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tawait dispatch.saveWidgetAreas( editedWidgetAreas );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createSuccessNotice( __( 'Widgets saved.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t} catch ( e ) {\n\t\t\tregistry.dispatch( noticesStore ).createErrorNotice(\n\t\t\t\t/* translators: %s: The error message. */\n\t\t\t\tsprintf( __( 'There was an error. %s' ), e.message ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n\n/**\n * Converts all the blocks from specified widget areas into widgets,\n * and submits a batch request to save everything at once.\n *\n * @param {Object[]} widgetAreas Widget areas to save.\n * @return {Function} An action creator.\n */\nexport const saveWidgetAreas =\n\t( widgetAreas ) =>\n\tasync ( { dispatch, registry } ) => {\n\t\ttry {\n\t\t\tfor ( const widgetArea of widgetAreas ) {\n\t\t\t\tawait dispatch.saveWidgetArea( widgetArea.id );\n\t\t\t}\n\t\t} finally {\n\t\t\t// saveEditedEntityRecord resets the resolution status, let's fix it manually.\n\t\t\tawait registry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.finishResolution(\n\t\t\t\t\t'getEntityRecord',\n\t\t\t\t\tKIND,\n\t\t\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\t\t\tbuildWidgetAreasQuery()\n\t\t\t\t);\n\t\t}\n\t};\n\n/**\n * Converts all the blocks from a widget area specified by ID into widgets,\n * and submits a batch request to save everything at once.\n *\n * @param {string} widgetAreaId ID of the widget area to process.\n * @return {Function} An action creator.\n */\nexport const saveWidgetArea =\n\t( widgetAreaId ) =>\n\tasync ( { dispatch, select, registry } ) => {\n\t\tconst widgets = select.getWidgets();\n\n\t\tconst post = registry\n\t\t\t.select( coreStore )\n\t\t\t.getEditedEntityRecord(\n\t\t\t\tKIND,\n\t\t\t\tPOST_TYPE,\n\t\t\t\tbuildWidgetAreaPostId( widgetAreaId )\n\t\t\t);\n\n\t\t// Get all widgets from this area\n\t\tconst areaWidgets = Object.values( widgets ).filter(\n\t\t\t( { sidebar } ) => sidebar === widgetAreaId\n\t\t);\n\n\t\t// Remove all duplicate reference widget instances for legacy widgets.\n\t\t// Why? We filter out the widgets with duplicate IDs to prevent adding more than one instance of a widget\n\t\t// implemented using a function. WordPress doesn't support having more than one instance of these, if you try to\n\t\t// save multiple instances of these in different sidebars you will run into undefined behaviors.\n\t\tconst usedReferenceWidgets = [];\n\t\tconst widgetsBlocks = post.blocks.filter( ( block ) => {\n\t\t\tconst { id } = block.attributes;\n\n\t\t\tif ( block.name === 'core/legacy-widget' && id ) {\n\t\t\t\tif ( usedReferenceWidgets.includes( id ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tusedReferenceWidgets.push( id );\n\t\t\t}\n\t\t\treturn true;\n\t\t} );\n\n\t\t// Determine which widgets have been deleted. We can tell if a widget is\n\t\t// deleted and not just moved to a different area by looking to see if\n\t\t// getWidgetAreaForWidgetId() finds something.\n\t\tconst deletedWidgets = [];\n\t\tfor ( const widget of areaWidgets ) {\n\t\t\tconst widgetsNewArea = select.getWidgetAreaForWidgetId( widget.id );\n\t\t\tif ( ! widgetsNewArea ) {\n\t\t\t\tdeletedWidgets.push( widget );\n\t\t\t}\n\t\t}\n\n\t\tconst batchMeta = [];\n\t\tconst batchTasks = [];\n\t\tconst sidebarWidgetsIds = [];\n\t\tfor ( let i = 0; i < widgetsBlocks.length; i++ ) {\n\t\t\tconst block = widgetsBlocks[ i ];\n\t\t\tconst widgetId = getWidgetIdFromBlock( block );\n\t\t\tconst oldWidget = widgets[ widgetId ];\n\t\t\tconst widget = transformBlockToWidget( block, oldWidget );\n\n\t\t\t// We'll replace the null widgetId after save, but we track it here\n\t\t\t// since order is important.\n\t\t\tsidebarWidgetsIds.push( widgetId );\n\n\t\t\t// Check oldWidget as widgetId might refer to an ID which has been\n\t\t\t// deleted, e.g. if a deleted block is restored via undo after saving.\n\t\t\tif ( oldWidget ) {\n\t\t\t\t// Update an existing widget.\n\t\t\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\t\t\t'root',\n\t\t\t\t\t'widget',\n\t\t\t\t\twidgetId,\n\t\t\t\t\t{\n\t\t\t\t\t\t...widget,\n\t\t\t\t\t\tsidebar: widgetAreaId,\n\t\t\t\t\t},\n\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t);\n\n\t\t\t\tconst hasEdits = registry\n\t\t\t\t\t.select( coreStore )\n\t\t\t\t\t.hasEditsForEntityRecord( 'root', 'widget', widgetId );\n\n\t\t\t\tif ( ! hasEdits ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tbatchTasks.push( ( { saveEditedEntityRecord } ) =>\n\t\t\t\t\tsaveEditedEntityRecord( 'root', 'widget', widgetId )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Create a new widget.\n\t\t\t\tbatchTasks.push( ( { saveEntityRecord } ) =>\n\t\t\t\t\tsaveEntityRecord( 'root', 'widget', {\n\t\t\t\t\t\t...widget,\n\t\t\t\t\t\tsidebar: widgetAreaId,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tbatchMeta.push( {\n\t\t\t\tblock,\n\t\t\t\tposition: i,\n\t\t\t\tclientId: block.clientId,\n\t\t\t} );\n\t\t}\n\t\tfor ( const widget of deletedWidgets ) {\n\t\t\tbatchTasks.push( ( { deleteEntityRecord } ) =>\n\t\t\t\tdeleteEntityRecord( 'root', 'widget', widget.id, {\n\t\t\t\t\tforce: true,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tconst records = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.__experimentalBatch( batchTasks );\n\t\tconst preservedRecords = records.filter(\n\t\t\t( record ) => ! record.hasOwnProperty( 'deleted' )\n\t\t);\n\n\t\tconst failedWidgetNames = [];\n\n\t\tfor ( let i = 0; i < preservedRecords.length; i++ ) {\n\t\t\tconst widget = preservedRecords[ i ];\n\t\t\tconst { block, position } = batchMeta[ i ];\n\n\t\t\t// Set __internalWidgetId on the block. This will be persisted to the\n\t\t\t// store when we dispatch receiveEntityRecords( post ) below.\n\t\t\tpost.blocks[ position ].attributes.__internalWidgetId = widget.id;\n\n\t\t\tconst error = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getLastEntitySaveError( 'root', 'widget', widget.id );\n\t\t\tif ( error ) {\n\t\t\t\tfailedWidgetNames.push( block.attributes?.name || block?.name );\n\t\t\t}\n\n\t\t\tif ( ! sidebarWidgetsIds[ position ] ) {\n\t\t\t\tsidebarWidgetsIds[ position ] = widget.id;\n\t\t\t}\n\t\t}\n\n\t\tif ( failedWidgetNames.length ) {\n\t\t\tthrow new Error(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: List of widget names */\n\t\t\t\t\t__( 'Could not save the following widgets: %s.' ),\n\t\t\t\t\tfailedWidgetNames.join( ', ' )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\tKIND,\n\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\twidgetAreaId,\n\t\t\t{\n\t\t\t\twidgets: sidebarWidgetsIds,\n\t\t\t},\n\t\t\t{ undoIgnore: true }\n\t\t);\n\n\t\tdispatch( trySaveWidgetArea( widgetAreaId ) );\n\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.receiveEntityRecords( KIND, POST_TYPE, post, undefined );\n\t};\n\nconst trySaveWidgetArea =\n\t( widgetAreaId ) =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEditedEntityRecord(\n\t\t\t\tKIND,\n\t\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\t\twidgetAreaId,\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\t};\n\n/**\n * Sets the clientId stored for a particular widgetId.\n *\n * @param {number} clientId Client id.\n * @param {number} widgetId Widget id.\n *\n * @return {Object} Action.\n */\nexport function setWidgetIdForClientId( clientId, widgetId ) {\n\treturn {\n\t\ttype: 'SET_WIDGET_ID_FOR_CLIENT_ID',\n\t\tclientId,\n\t\twidgetId,\n\t};\n}\n\n/**\n * Sets the open state of all the widget areas.\n *\n * @param {Object} widgetAreasOpenState The open states of all the widget areas.\n *\n * @return {Object} Action.\n */\nexport function setWidgetAreasOpenState( widgetAreasOpenState ) {\n\treturn {\n\t\ttype: 'SET_WIDGET_AREAS_OPEN_STATE',\n\t\twidgetAreasOpenState,\n\t};\n}\n\n/**\n * Sets the open state of the widget area.\n *\n * @param {string}  clientId The clientId of the widget area.\n * @param {boolean} isOpen   Whether the widget area should be opened.\n *\n * @return {Object} Action.\n */\nexport function setIsWidgetAreaOpen( clientId, isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_WIDGET_AREA_OPEN',\n\t\tclientId,\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the inserter.\n *\n * @param {boolean|Object} value                Whether the inserter should be\n *                                              opened (true) or closed (false).\n *                                              To specify an insertion point,\n *                                              use an object.\n * @param {string}         value.rootClientId   The root client ID to insert at.\n * @param {number}         value.insertionIndex The index to insert at.\n *\n * @return {Object} Action object.\n */\nexport function setIsInserterOpened( value ) {\n\treturn {\n\t\ttype: 'SET_IS_INSERTER_OPENED',\n\t\tvalue,\n\t};\n}\n\n/**\n * Returns an action object used to open/close the list view.\n *\n * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.\n * @return {Object} Action object.\n */\nexport function setIsListViewOpened( isOpen ) {\n\treturn {\n\t\ttype: 'SET_IS_LIST_VIEW_OPENED',\n\t\tisOpen,\n\t};\n}\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n *\n * @return {Object} Action creator.\n */\nexport const closeGeneralSidebar =\n\t() =>\n\t( { registry } ) => {\n\t\tregistry\n\t\t\t.dispatch( interfaceStore )\n\t\t\t.disableComplementaryArea( editWidgetsStoreName );\n\t};\n\n/**\n * Action that handles moving a block between widget areas\n *\n * @param {string} clientId     The clientId of the block to move.\n * @param {string} widgetAreaId The id of the widget area to move the block to.\n */\nexport const moveBlockToWidgetArea =\n\t( clientId, widgetAreaId ) =>\n\tasync ( { dispatch, select, registry } ) => {\n\t\tconst sourceRootClientId = registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlockRootClientId( [ clientId ] );\n\n\t\t// Search the top level blocks (widget areas) for the one with the matching\n\t\t// id attribute. Makes the assumption that all top-level blocks are widget\n\t\t// areas.\n\t\tconst widgetAreas = registry.select( blockEditorStore ).getBlocks();\n\t\tconst destinationWidgetAreaBlock = widgetAreas.find(\n\t\t\t( { attributes } ) => attributes.id === widgetAreaId\n\t\t);\n\t\tconst destinationRootClientId = destinationWidgetAreaBlock.clientId;\n\n\t\t// Get the index for moving to the end of the destination widget area.\n\t\tconst destinationInnerBlocksClientIds = registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlockOrder( destinationRootClientId );\n\t\tconst destinationIndex = destinationInnerBlocksClientIds.length;\n\n\t\t// Reveal the widget area, if it's not open.\n\t\tconst isDestinationWidgetAreaOpen = select.getIsWidgetAreaOpen(\n\t\t\tdestinationRootClientId\n\t\t);\n\n\t\tif ( ! isDestinationWidgetAreaOpen ) {\n\t\t\tdispatch.setIsWidgetAreaOpen( destinationRootClientId, true );\n\t\t}\n\n\t\t// Move the block.\n\t\tregistry\n\t\t\t.dispatch( blockEditorStore )\n\t\t\t.moveBlocksToPosition(\n\t\t\t\t[ clientId ],\n\t\t\t\tsourceRootClientId,\n\t\t\t\tdestinationRootClientId,\n\t\t\t\tdestinationIndex\n\t\t\t);\n\t};\n","/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { persistStubPost, setWidgetAreasOpenState } from './actions';\nimport {\n\tKIND,\n\tWIDGET_AREA_ENTITY_TYPE,\n\tbuildWidgetsQuery,\n\tbuildWidgetAreasQuery,\n\tbuildWidgetAreaPostId,\n\tbuildWidgetAreasPostId,\n} from './utils';\nimport { transformWidgetToBlock } from './transformers';\n\n/**\n * Creates a \"stub\" widgets post reflecting all available widget areas. The\n * post is meant as a convenient to only exists in runtime and should never be saved. It\n * enables a convenient way of editing the widgets by using a regular post editor.\n *\n * Fetches all widgets from all widgets aras, converts them into blocks, and hydrates a new post with them.\n *\n * @return {Function} An action creator.\n */\nexport const getWidgetAreas =\n\t() =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst query = buildWidgetAreasQuery();\n\t\tconst widgetAreas = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getEntityRecords( KIND, WIDGET_AREA_ENTITY_TYPE, query );\n\n\t\tconst widgetAreaBlocks = [];\n\t\tconst sortedWidgetAreas = widgetAreas.sort( ( a, b ) => {\n\t\t\tif ( a.id === 'wp_inactive_widgets' ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif ( b.id === 'wp_inactive_widgets' ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t} );\n\t\tfor ( const widgetArea of sortedWidgetAreas ) {\n\t\t\twidgetAreaBlocks.push(\n\t\t\t\tcreateBlock( 'core/widget-area', {\n\t\t\t\t\tid: widgetArea.id,\n\t\t\t\t\tname: widgetArea.name,\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tif ( ! widgetArea.widgets.length ) {\n\t\t\t\t// If this widget area has no widgets, it won't get a post setup by\n\t\t\t\t// the getWidgets resolver.\n\t\t\t\tdispatch(\n\t\t\t\t\tpersistStubPost(\n\t\t\t\t\t\tbuildWidgetAreaPostId( widgetArea.id ),\n\t\t\t\t\t\t[]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst widgetAreasOpenState = {};\n\t\twidgetAreaBlocks.forEach( ( widgetAreaBlock, index ) => {\n\t\t\t// Defaults to open the first widget area.\n\t\t\twidgetAreasOpenState[ widgetAreaBlock.clientId ] = index === 0;\n\t\t} );\n\t\tdispatch( setWidgetAreasOpenState( widgetAreasOpenState ) );\n\n\t\tdispatch(\n\t\t\tpersistStubPost( buildWidgetAreasPostId(), widgetAreaBlocks )\n\t\t);\n\t};\n\n/**\n * Fetches all widgets from all widgets ares, and groups them by widget area Id.\n *\n * @return {Function} An action creator.\n */\nexport const getWidgets =\n\t() =>\n\tasync ( { dispatch, registry } ) => {\n\t\tconst query = buildWidgetsQuery();\n\t\tconst widgets = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getEntityRecords( 'root', 'widget', query );\n\n\t\tconst groupedBySidebar = {};\n\n\t\tfor ( const widget of widgets ) {\n\t\t\tconst block = transformWidgetToBlock( widget );\n\t\t\tgroupedBySidebar[ widget.sidebar ] =\n\t\t\t\tgroupedBySidebar[ widget.sidebar ] || [];\n\t\t\tgroupedBySidebar[ widget.sidebar ].push( block );\n\t\t}\n\n\t\tfor ( const sidebarId in groupedBySidebar ) {\n\t\t\tif ( groupedBySidebar.hasOwnProperty( sidebarId ) ) {\n\t\t\t\t// Persist the actual post containing the widget block\n\t\t\t\tdispatch(\n\t\t\t\t\tpersistStubPost(\n\t\t\t\t\t\tbuildWidgetAreaPostId( sidebarId ),\n\t\t\t\t\t\tgroupedBySidebar[ sidebarId ]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n","/**\n * WordPress dependencies\n */\nimport { createRegistrySelector } from '@wordpress/data';\nimport { getWidgetIdFromBlock } from '@wordpress/widgets';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuildWidgetsQuery,\n\tbuildWidgetAreasQuery,\n\tbuildWidgetAreaPostId,\n\tKIND,\n\tPOST_TYPE,\n\tWIDGET_AREA_ENTITY_TYPE,\n} from './utils';\nimport { STORE_NAME as editWidgetsStoreName } from './constants';\n\n/**\n * Returns all API widgets.\n *\n * @return {Object[]} API List of widgets.\n */\nexport const getWidgets = createRegistrySelector( ( select ) => () => {\n\tconst widgets = select( coreStore ).getEntityRecords(\n\t\t'root',\n\t\t'widget',\n\t\tbuildWidgetsQuery()\n\t);\n\n\treturn (\n\t\t// Key widgets by their ID.\n\t\twidgets?.reduce(\n\t\t\t( allWidgets, widget ) => ( {\n\t\t\t\t...allWidgets,\n\t\t\t\t[ widget.id ]: widget,\n\t\t\t} ),\n\t\t\t{}\n\t\t) || {}\n\t);\n} );\n\n/**\n * Returns API widget data for a particular widget ID.\n *\n * @param {number} id Widget ID.\n *\n * @return {Object} API widget data for a particular widget ID.\n */\nexport const getWidget = createRegistrySelector(\n\t( select ) => ( state, id ) => {\n\t\tconst widgets = select( editWidgetsStoreName ).getWidgets();\n\t\treturn widgets[ id ];\n\t}\n);\n\n/**\n * Returns all API widget areas.\n *\n * @return {Object[]} API List of widget areas.\n */\nexport const getWidgetAreas = createRegistrySelector( ( select ) => () => {\n\tconst query = buildWidgetAreasQuery();\n\treturn select( coreStore ).getEntityRecords(\n\t\tKIND,\n\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\tquery\n\t);\n} );\n\n/**\n * Returns widgetArea containing a block identify by given widgetId\n *\n * @param {string} widgetId The ID of the widget.\n * @return {Object} Containing widget area.\n */\nexport const getWidgetAreaForWidgetId = createRegistrySelector(\n\t( select ) => ( state, widgetId ) => {\n\t\tconst widgetAreas = select( editWidgetsStoreName ).getWidgetAreas();\n\t\treturn widgetAreas.find( ( widgetArea ) => {\n\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\tKIND,\n\t\t\t\tPOST_TYPE,\n\t\t\t\tbuildWidgetAreaPostId( widgetArea.id )\n\t\t\t);\n\t\t\tconst blockWidgetIds = post.blocks.map( ( block ) =>\n\t\t\t\tgetWidgetIdFromBlock( block )\n\t\t\t);\n\t\t\treturn blockWidgetIds.includes( widgetId );\n\t\t} );\n\t}\n);\n\n/**\n * Given a child client id, returns the parent widget area block.\n *\n * @param {string} clientId The client id of a block in a widget area.\n *\n * @return {WPBlock} The widget area block.\n */\nexport const getParentWidgetAreaBlock = createRegistrySelector(\n\t( select ) => ( state, clientId ) => {\n\t\tconst { getBlock, getBlockName, getBlockParents } =\n\t\t\tselect( blockEditorStore );\n\t\tconst blockParents = getBlockParents( clientId );\n\t\tconst widgetAreaClientId = blockParents.find(\n\t\t\t( parentClientId ) =>\n\t\t\t\tgetBlockName( parentClientId ) === 'core/widget-area'\n\t\t);\n\t\treturn getBlock( widgetAreaClientId );\n\t}\n);\n\n/**\n * Returns all edited widget area entity records.\n *\n * @return {Object[]} List of edited widget area entity records.\n */\nexport const getEditedWidgetAreas = createRegistrySelector(\n\t( select ) => ( state, ids ) => {\n\t\tlet widgetAreas = select( editWidgetsStoreName ).getWidgetAreas();\n\t\tif ( ! widgetAreas ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ids ) {\n\t\t\twidgetAreas = widgetAreas.filter( ( { id } ) =>\n\t\t\t\tids.includes( id )\n\t\t\t);\n\t\t}\n\t\treturn widgetAreas\n\t\t\t.filter( ( { id } ) =>\n\t\t\t\tselect( coreStore ).hasEditsForEntityRecord(\n\t\t\t\t\tKIND,\n\t\t\t\t\tPOST_TYPE,\n\t\t\t\t\tbuildWidgetAreaPostId( id )\n\t\t\t\t)\n\t\t\t)\n\t\t\t.map( ( { id } ) =>\n\t\t\t\tselect( coreStore ).getEditedEntityRecord(\n\t\t\t\t\tKIND,\n\t\t\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\t\t\tid\n\t\t\t\t)\n\t\t\t);\n\t}\n);\n\n/**\n * Returns all blocks representing reference widgets.\n *\n * @param {string} referenceWidgetName Optional. If given, only reference widgets with this name will be returned.\n * @return {Array}  List of all blocks representing reference widgets\n */\nexport const getReferenceWidgetBlocks = createRegistrySelector(\n\t( select ) =>\n\t\t( state, referenceWidgetName = null ) => {\n\t\t\tconst results = [];\n\t\t\tconst widgetAreas = select( editWidgetsStoreName ).getWidgetAreas();\n\t\t\tfor ( const _widgetArea of widgetAreas ) {\n\t\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t\tKIND,\n\t\t\t\t\tPOST_TYPE,\n\t\t\t\t\tbuildWidgetAreaPostId( _widgetArea.id )\n\t\t\t\t);\n\t\t\t\tfor ( const block of post.blocks ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tblock.name === 'core/legacy-widget' &&\n\t\t\t\t\t\t( ! referenceWidgetName ||\n\t\t\t\t\t\t\tblock.attributes?.referenceWidgetName ===\n\t\t\t\t\t\t\t\treferenceWidgetName )\n\t\t\t\t\t) {\n\t\t\t\t\t\tresults.push( block );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn results;\n\t\t}\n);\n\n/**\n * Returns true if any widget area is currently being saved.\n *\n * @return {boolean} True if any widget area is currently being saved. False otherwise.\n */\nexport const isSavingWidgetAreas = createRegistrySelector( ( select ) => () => {\n\tconst widgetAreasIds = select( editWidgetsStoreName )\n\t\t.getWidgetAreas()\n\t\t?.map( ( { id } ) => id );\n\tif ( ! widgetAreasIds ) {\n\t\treturn false;\n\t}\n\n\tfor ( const id of widgetAreasIds ) {\n\t\tconst isSaving = select( coreStore ).isSavingEntityRecord(\n\t\t\tKIND,\n\t\t\tWIDGET_AREA_ENTITY_TYPE,\n\t\t\tid\n\t\t);\n\t\tif ( isSaving ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tconst widgetIds = [\n\t\t...Object.keys( select( editWidgetsStoreName ).getWidgets() ),\n\t\tundefined, // account for new widgets without an ID\n\t];\n\tfor ( const id of widgetIds ) {\n\t\tconst isSaving = select( coreStore ).isSavingEntityRecord(\n\t\t\t'root',\n\t\t\t'widget',\n\t\t\tid\n\t\t);\n\t\tif ( isSaving ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n} );\n\n/**\n * Gets whether the widget area is opened.\n *\n * @param {Array}  state    The open state of the widget areas.\n * @param {string} clientId The clientId of the widget area.\n *\n * @return {boolean} True if the widget area is open.\n */\nexport const getIsWidgetAreaOpen = ( state, clientId ) => {\n\tconst { widgetAreasOpenState } = state;\n\treturn !! widgetAreasOpenState[ clientId ];\n};\n\n/**\n * Returns true if the inserter is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the inserter is opened.\n */\nexport function isInserterOpened( state ) {\n\treturn !! state.blockInserterPanel;\n}\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID and index to insert at.\n */\nexport function __experimentalGetInsertionPoint( state ) {\n\tconst { rootClientId, insertionIndex } = state.blockInserterPanel;\n\treturn { rootClientId, insertionIndex };\n}\n\n/**\n * Returns true if a block can be inserted into a widget area.\n *\n * @param {Array}  state     The open state of the widget areas.\n * @param {string} blockName The name of the block being inserted.\n *\n * @return {boolean} True if the block can be inserted in a widget area.\n */\nexport const canInsertBlockInWidgetArea = createRegistrySelector(\n\t( select ) => ( state, blockName ) => {\n\t\t// Widget areas are always top-level blocks, which getBlocks will return.\n\t\tconst widgetAreas = select( blockEditorStore ).getBlocks();\n\n\t\t// Makes an assumption that a block that can be inserted into one\n\t\t// widget area can be inserted into any widget area. Uses the first\n\t\t// widget area for testing whether the block can be inserted.\n\t\tconst [ firstWidgetArea ] = widgetAreas;\n\t\treturn select( blockEditorStore ).canInsertBlockType(\n\t\t\tblockName,\n\t\t\tfirstWidgetArea.clientId\n\t\t);\n\t}\n);\n\n/**\n * Returns true if the list view is opened.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the list view is opened.\n */\nexport function isListViewOpened( state ) {\n\treturn state.listViewPanel;\n}\n","/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { createReduxStore, register } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as resolvers from './resolvers';\nimport * as selectors from './selectors';\nimport * as actions from './actions';\nimport { STORE_NAME } from './constants';\n\n/**\n * Block editor data store configuration.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#register\n *\n * @type {Object}\n */\nconst storeConfig = {\n\treducer,\n\tselectors,\n\tresolvers,\n\tactions,\n};\n\n/**\n * Store definition for the edit widgets namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, storeConfig );\nregister( store );\n\n// This package uses a few in-memory post types as wrappers for convenience.\n// This middleware prevents any network requests related to these types as they are\n// bound to fail anyway.\napiFetch.use( function ( options, next ) {\n\tif ( options.path?.indexOf( '/wp/v2/types/widget-area' ) === 0 ) {\n\t\treturn Promise.resolve( {} );\n\t}\n\n\treturn next( options );\n} );\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"hooks\"];","/**\n * WordPress dependencies\n */\n\nimport { BlockControls } from '@wordpress/block-editor';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { addFilter } from '@wordpress/hooks';\nimport { MoveToWidgetArea } from '@wordpress/widgets';\n\n/**\n * Internal dependencies\n */\nimport { store as editWidgetsStore } from '../store';\n\nconst withMoveToWidgetAreaToolbarItem = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { clientId, name: blockName } = props;\n\t\tconst { widgetAreas, currentWidgetAreaId, canInsertBlockInWidgetArea } =\n\t\t\tuseSelect(\n\t\t\t\t( select ) => {\n\t\t\t\t\t// Component won't display for a widget area, so don't run selectors.\n\t\t\t\t\tif ( blockName === 'core/widget-area' ) {\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst selectors = select( editWidgetsStore );\n\n\t\t\t\t\tconst widgetAreaBlock =\n\t\t\t\t\t\tselectors.getParentWidgetAreaBlock( clientId );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\twidgetAreas: selectors.getWidgetAreas(),\n\t\t\t\t\t\tcurrentWidgetAreaId: widgetAreaBlock?.attributes?.id,\n\t\t\t\t\t\tcanInsertBlockInWidgetArea:\n\t\t\t\t\t\t\tselectors.canInsertBlockInWidgetArea( blockName ),\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ clientId, blockName ]\n\t\t\t);\n\n\t\tconst { moveBlockToWidgetArea } = useDispatch( editWidgetsStore );\n\t\tconst hasMultipleWidgetAreas = widgetAreas?.length > 1;\n\t\tconst isMoveToWidgetAreaVisible =\n\t\t\tblockName !== 'core/widget-area' &&\n\t\t\thasMultipleWidgetAreas &&\n\t\t\tcanInsertBlockInWidgetArea;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ isMoveToWidgetAreaVisible && (\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<MoveToWidgetArea\n\t\t\t\t\t\t\twidgetAreas={ widgetAreas }\n\t\t\t\t\t\t\tcurrentWidgetAreaId={ currentWidgetAreaId }\n\t\t\t\t\t\t\tonSelect={ ( widgetAreaId ) => {\n\t\t\t\t\t\t\t\tmoveBlockToWidgetArea(\n\t\t\t\t\t\t\t\t\tprops.clientId,\n\t\t\t\t\t\t\t\t\twidgetAreaId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\t'withMoveToWidgetAreaToolbarItem'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-widgets/block-edit',\n\twithMoveToWidgetAreaToolbarItem\n);\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"mediaUtils\"];","/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { MediaUpload } from '@wordpress/media-utils';\n\nconst replaceMediaUpload = () => MediaUpload;\n\naddFilter(\n\t'editor.MediaUpload',\n\t'core/edit-widgets/replace-media-upload',\n\treplaceMediaUpload\n);\n","/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\n\n/** @typedef {import('@wordpress/element').RefObject} RefObject */\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\nexport default useIsDraggingWithin;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport { InnerBlocks, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useIsDraggingWithin from './use-is-dragging-within';\n\nexport default function WidgetAreaInnerBlocks( { id } ) {\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'root',\n\t\t'postType'\n\t);\n\tconst innerBlocksRef = useRef();\n\tconst isDraggingWithinInnerBlocks = useIsDraggingWithin( innerBlocksRef );\n\tconst shouldHighlightDropZone = isDraggingWithinInnerBlocks;\n\t// Using the experimental hook so that we can control the className of the element.\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ ref: innerBlocksRef },\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\ttemplateLock: false,\n\t\t\trenderAppender: InnerBlocks.ButtonBlockAppender,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-widget-area-id={ id }\n\t\t\tclassName={ classnames(\n\t\t\t\t'wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper',\n\t\t\t\t{\n\t\t\t\t\t'wp-block-widget-area__highlight-drop-zone':\n\t\t\t\t\t\tshouldHighlightDropZone,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useCallback, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { EntityProvider } from '@wordpress/core-data';\nimport {\n\t__unstableDisclosureContent as DisclosureContent,\n\tPanel,\n\tPanelBody,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport WidgetAreaInnerBlocks from './inner-blocks';\nimport { store as editWidgetsStore } from '../../../store';\nimport useIsDraggingWithin from './use-is-dragging-within';\n\n/** @typedef {import('@wordpress/element').RefObject} RefObject */\n\nexport default function WidgetAreaEdit( {\n\tclientId,\n\tclassName,\n\tattributes: { id, name },\n} ) {\n\tconst isOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editWidgetsStore ).getIsWidgetAreaOpen( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { setIsWidgetAreaOpen } = useDispatch( editWidgetsStore );\n\n\tconst wrapper = useRef();\n\tconst setOpen = useCallback(\n\t\t( openState ) => setIsWidgetAreaOpen( clientId, openState ),\n\t\t[ clientId ]\n\t);\n\tconst isDragging = useIsDragging( wrapper );\n\tconst isDraggingWithin = useIsDraggingWithin( wrapper );\n\n\tconst [ openedWhileDragging, setOpenedWhileDragging ] = useState( false );\n\tuseEffect( () => {\n\t\tif ( ! isDragging ) {\n\t\t\tsetOpenedWhileDragging( false );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isDraggingWithin && ! isOpen ) {\n\t\t\tsetOpen( true );\n\t\t\tsetOpenedWhileDragging( true );\n\t\t} else if ( ! isDraggingWithin && isOpen && openedWhileDragging ) {\n\t\t\tsetOpen( false );\n\t\t}\n\t}, [ isOpen, isDragging, isDraggingWithin, openedWhileDragging ] );\n\n\treturn (\n\t\t<Panel className={ className } ref={ wrapper }>\n\t\t\t<PanelBody\n\t\t\t\ttitle={ name }\n\t\t\t\topened={ isOpen }\n\t\t\t\tonToggle={ () => {\n\t\t\t\t\tsetIsWidgetAreaOpen( clientId, ! isOpen );\n\t\t\t\t} }\n\t\t\t\tscrollAfterOpen={ ! isDragging }\n\t\t\t>\n\t\t\t\t{ ( { opened } ) => (\n\t\t\t\t\t// This is required to ensure LegacyWidget blocks are not\n\t\t\t\t\t// unmounted when the panel is collapsed. Unmounting legacy\n\t\t\t\t\t// widgets may have unintended consequences (e.g.  TinyMCE\n\t\t\t\t\t// not being properly reinitialized)\n\t\t\t\t\t<DisclosureContent\n\t\t\t\t\t\tclassName=\"wp-block-widget-area__panel-body-content\"\n\t\t\t\t\t\tvisible={ opened }\n\t\t\t\t\t>\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"root\"\n\t\t\t\t\t\t\ttype=\"postType\"\n\t\t\t\t\t\t\tid={ `widget-area-${ id }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WidgetAreaInnerBlocks id={ id } />\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</DisclosureContent>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</Panel>\n\t);\n}\n\n/**\n * A React hook to determine if dragging is active.\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the entire document.\n */\nconst useIsDragging = ( elementRef ) => {\n\tconst [ isDragging, setIsDragging ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart() {\n\t\t\tsetIsDragging( true );\n\t\t}\n\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDragging( false );\n\t\t}\n\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t};\n\t}, [] );\n\n\treturn isDragging;\n};\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ttitle: __( 'Widget Area' ),\n\tdescription: __( 'A widget area container.' ),\n\t__experimentalLabel: ( { name: label } ) => label,\n\tedit,\n};\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { Warning } from '@wordpress/block-editor';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { doAction } from '@wordpress/hooks';\n\nfunction CopyButton( { text, children } ) {\n\tconst ref = useCopyToClipboard( text );\n\treturn (\n\t\t<Button variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nexport default class ErrorBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.reboot = this.reboot.bind( this );\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t};\n\t}\n\n\tcomponentDidCatch( error ) {\n\t\tthis.setState( { error } );\n\n\t\tdoAction( 'editor.ErrorBoundary.errorLogged', error );\n\t}\n\n\treboot() {\n\t\tthis.props.onError();\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tif ( ! error ) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tclassName=\"edit-widgets-error-boundary\"\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey=\"recovery\"\n\t\t\t\t\t\tonClick={ this.reboot }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt Recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t\t<CopyButton key=\"copy-error\" text={ error.stack }>\n\t\t\t\t\t\t{ __( 'Copy Error' ) }\n\t\t\t\t\t</CopyButton>,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ __( 'The editor has encountered an unexpected error.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"reusableBlocks\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"keyboardShortcuts\"];","/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editWidgetsStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { redo, undo } = useDispatch( coreStore );\n\tconst { saveEditedWidgetAreas } = useDispatch( editWidgetsStore );\n\n\tuseShortcut( 'core/edit-widgets/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-widgets/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-widgets/save', ( event ) => {\n\t\tevent.preventDefault();\n\t\tsaveEditedWidgetAreas();\n\t} );\n\n\treturn null;\n}\n\nfunction KeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-widgets/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-widgets/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-widgets/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-widgets/keyboard-shortcuts',\n\t\t\tcategory: 'main',\n\t\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'h',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-widgets/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-widgets/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nKeyboardShortcuts.Register = KeyboardShortcutsRegister;\nexport default KeyboardShortcuts;\n","/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as widgetsEditorStore } from '../store';\nimport { buildWidgetAreasPostId, KIND, POST_TYPE } from '../store/utils';\n\n/**\n * A react hook that returns the client id of the last widget area to have\n * been selected, or to have a selected block within it.\n *\n * @return {string} clientId of the widget area last selected.\n */\nconst useLastSelectedWidgetArea = () =>\n\tuseSelect( ( select ) => {\n\t\tconst { getBlockSelectionEnd, getBlockName } =\n\t\t\tselect( blockEditorStore );\n\t\tconst selectionEndClientId = getBlockSelectionEnd();\n\n\t\t// If the selected block is a widget area, return its clientId.\n\t\tif ( getBlockName( selectionEndClientId ) === 'core/widget-area' ) {\n\t\t\treturn selectionEndClientId;\n\t\t}\n\n\t\tconst { getParentWidgetAreaBlock } = select( widgetsEditorStore );\n\t\tconst widgetAreaBlock =\n\t\t\tgetParentWidgetAreaBlock( selectionEndClientId );\n\t\tconst widgetAreaBlockClientId = widgetAreaBlock?.clientId;\n\n\t\tif ( widgetAreaBlockClientId ) {\n\t\t\treturn widgetAreaBlockClientId;\n\t\t}\n\n\t\t// If no widget area has been selected, return the clientId of the first\n\t\t// area.\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst widgetAreasPost = getEntityRecord(\n\t\t\tKIND,\n\t\t\tPOST_TYPE,\n\t\t\tbuildWidgetAreasPostId()\n\t\t);\n\t\treturn widgetAreasPost?.blocks[ 0 ]?.clientId;\n\t}, [] );\n\nexport default useLastSelectedWidgetArea;\n","/**\n * WordPress dependencies\n */\nimport { SlotFillProvider } from '@wordpress/components';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tBlockEditorProvider,\n\tBlockEditorKeyboardShortcuts,\n\tCopyHandler,\n} from '@wordpress/block-editor';\nimport { ReusableBlocksMenuItems } from '@wordpress/reusable-blocks';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport { buildWidgetAreasPostId, KIND, POST_TYPE } from '../../store/utils';\nimport useLastSelectedWidgetArea from '../../hooks/use-last-selected-widget-area';\nimport { store as editWidgetsStore } from '../../store';\nimport { ALLOW_REUSABLE_BLOCKS } from '../../constants';\n\nexport default function WidgetAreasBlockEditorProvider( {\n\tblockEditorSettings,\n\tchildren,\n\t...props\n} ) {\n\tconst mediaPermissions = useResourcePermissions( 'media' );\n\tconst { reusableBlocks, isFixedToolbarActive, keepCaretInsideBlock } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\twidgetAreas: select( editWidgetsStore ).getWidgetAreas(),\n\t\t\t\twidgets: select( editWidgetsStore ).getWidgets(),\n\t\t\t\treusableBlocks: ALLOW_REUSABLE_BLOCKS\n\t\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'wp_block'\n\t\t\t\t\t  )\n\t\t\t\t\t: [],\n\t\t\t\tisFixedToolbarActive: !! select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-widgets',\n\t\t\t\t\t'fixedToolbar'\n\t\t\t\t),\n\t\t\t\tkeepCaretInsideBlock: !! select( preferencesStore ).get(\n\t\t\t\t\t'core/edit-widgets',\n\t\t\t\t\t'keepCaretInsideBlock'\n\t\t\t\t),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\tconst { setIsInserterOpened } = useDispatch( editWidgetsStore );\n\n\tconst settings = useMemo( () => {\n\t\tlet mediaUploadBlockEditor;\n\t\tif ( mediaPermissions.canCreate ) {\n\t\t\tmediaUploadBlockEditor = ( { onError, ...argumentsObject } ) => {\n\t\t\t\tuploadMedia( {\n\t\t\t\t\twpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,\n\t\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t\t...argumentsObject,\n\t\t\t\t} );\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t...blockEditorSettings,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\thasFixedToolbar: isFixedToolbarActive,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tmediaUpload: mediaUploadBlockEditor,\n\t\t\ttemplateLock: 'all',\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t};\n\t}, [\n\t\tblockEditorSettings,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tmediaPermissions.canCreate,\n\t\treusableBlocks,\n\t\tsetIsInserterOpened,\n\t] );\n\n\tconst widgetAreaId = useLastSelectedWidgetArea();\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\tKIND,\n\t\tPOST_TYPE,\n\t\t{ id: buildWidgetAreasPostId() }\n\t);\n\n\treturn (\n\t\t<ShortcutProvider>\n\t\t\t<BlockEditorKeyboardShortcuts.Register />\n\t\t\t<KeyboardShortcuts.Register />\n\t\t\t<SlotFillProvider>\n\t\t\t\t<BlockEditorProvider\n\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<CopyHandler>{ children }</CopyHandler>\n\t\t\t\t\t<ReusableBlocksMenuItems rootClientId={ widgetAreaId } />\n\t\t\t\t</BlockEditorProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst cog = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path\n\t\t\tfillRule=\"evenodd\"\n\t\t\td=\"M10.289 4.836A1 1 0 0111.275 4h1.306a1 1 0 01.987.836l.244 1.466c.787.26 1.503.679 2.108 1.218l1.393-.522a1 1 0 011.216.437l.653 1.13a1 1 0 01-.23 1.273l-1.148.944a6.025 6.025 0 010 2.435l1.149.946a1 1 0 01.23 1.272l-.653 1.13a1 1 0 01-1.216.437l-1.394-.522c-.605.54-1.32.958-2.108 1.218l-.244 1.466a1 1 0 01-.987.836h-1.306a1 1 0 01-.986-.836l-.244-1.466a5.995 5.995 0 01-2.108-1.218l-1.394.522a1 1 0 01-1.217-.436l-.653-1.131a1 1 0 01.23-1.272l1.149-.946a6.026 6.026 0 010-2.435l-1.148-.944a1 1 0 01-.23-1.272l.653-1.131a1 1 0 011.217-.437l1.393.522a5.994 5.994 0 012.108-1.218l.244-1.466zM14.929 12a3 3 0 11-6 0 3 3 0 016 0z\"\n\t\t\tclipRule=\"evenodd\"\n\t\t/>\n\t</SVG>\n);\n\nexport default cog;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst blockDefault = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default blockDefault;\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"url\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"dom\"];","/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { blockDefault } from '@wordpress/icons';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs } from '@wordpress/url';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { store as editWidgetsStore } from '../../store';\n\nexport default function WidgetAreas( { selectedWidgetAreaId } ) {\n\tconst widgetAreas = useSelect(\n\t\t( select ) => select( editWidgetsStore ).getWidgetAreas(),\n\t\t[]\n\t);\n\n\tconst selectedWidgetArea = useMemo(\n\t\t() =>\n\t\t\tselectedWidgetAreaId &&\n\t\t\twidgetAreas?.find(\n\t\t\t\t( widgetArea ) => widgetArea.id === selectedWidgetAreaId\n\t\t\t),\n\t\t[ selectedWidgetAreaId, widgetAreas ]\n\t);\n\n\tlet description;\n\tif ( ! selectedWidgetArea ) {\n\t\tdescription = __(\n\t\t\t'Widget Areas are global parts in your site’s layout that can accept blocks. These vary by theme, but are typically parts like your Sidebar or Footer.'\n\t\t);\n\t} else if ( selectedWidgetAreaId === 'wp_inactive_widgets' ) {\n\t\tdescription = __(\n\t\t\t'Blocks in this Widget Area will not be displayed in your site.'\n\t\t);\n\t} else {\n\t\tdescription = selectedWidgetArea.description;\n\t}\n\n\treturn (\n\t\t<div className=\"edit-widgets-widget-areas\">\n\t\t\t<div className=\"edit-widgets-widget-areas__top-container\">\n\t\t\t\t<BlockIcon icon={ blockDefault } />\n\t\t\t\t<div>\n\t\t\t\t\t<p\n\t\t\t\t\t\t// Use `dangerouslySetInnerHTML` to keep backwards\n\t\t\t\t\t\t// compatibility. Basic markup in the description is an\n\t\t\t\t\t\t// established feature of WordPress.\n\t\t\t\t\t\t// @see https://github.com/WordPress/gutenberg/issues/33106\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: safeHTML( description ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ widgetAreas?.length === 0 && (\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Your theme does not contain any Widget Areas.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! selectedWidgetArea && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\thref={ addQueryArgs( 'customize.php', {\n\t\t\t\t\t\t\t\t'autofocus[panel]': 'widgets',\n\t\t\t\t\t\t\t\treturn: window.location.pathname,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage with live preview' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, Platform } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\nimport { cog } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst BLOCK_INSPECTOR_IDENTIFIER = 'edit-widgets/block-inspector';\n\n// Widget areas were one called block areas, so use 'edit-widgets/block-areas'\n// for backwards compatibility.\nconst WIDGET_AREAS_IDENTIFIER = 'edit-widgets/block-areas';\n\n/**\n * Internal dependencies\n */\nimport WidgetAreas from './widget-areas';\nimport { store as editWidgetsStore } from '../../store';\n\nfunction ComplementaryAreaTab( { identifier, label, isActive } ) {\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\treturn (\n\t\t<Button\n\t\t\tonClick={ () =>\n\t\t\t\tenableComplementaryArea( editWidgetsStore.name, identifier )\n\t\t\t}\n\t\t\tclassName={ classnames( 'edit-widgets-sidebar__panel-tab', {\n\t\t\t\t'is-active': isActive,\n\t\t\t} ) }\n\t\t\taria-label={\n\t\t\t\tisActive\n\t\t\t\t\t? // translators: %s: sidebar label e.g: \"Widget Areas\".\n\t\t\t\t\t  sprintf( __( '%s (selected)' ), label )\n\t\t\t\t\t: label\n\t\t\t}\n\t\t\tdata-label={ label }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n\nexport default function Sidebar() {\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst {\n\t\tcurrentArea,\n\t\thasSelectedNonAreaBlock,\n\t\tisGeneralSidebarOpen,\n\t\tselectedWidgetAreaBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSelectedBlock, getBlock, getBlockParentsByBlockName } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\n\t\tconst selectedBlock = getSelectedBlock();\n\n\t\tconst activeArea = getActiveComplementaryArea( editWidgetsStore.name );\n\n\t\tlet currentSelection = activeArea;\n\t\tif ( ! currentSelection ) {\n\t\t\tif ( selectedBlock ) {\n\t\t\t\tcurrentSelection = BLOCK_INSPECTOR_IDENTIFIER;\n\t\t\t} else {\n\t\t\t\tcurrentSelection = WIDGET_AREAS_IDENTIFIER;\n\t\t\t}\n\t\t}\n\n\t\tlet widgetAreaBlock;\n\t\tif ( selectedBlock ) {\n\t\t\tif ( selectedBlock.name === 'core/widget-area' ) {\n\t\t\t\twidgetAreaBlock = selectedBlock;\n\t\t\t} else {\n\t\t\t\twidgetAreaBlock = getBlock(\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\tselectedBlock.clientId,\n\t\t\t\t\t\t'core/widget-area'\n\t\t\t\t\t)[ 0 ]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tcurrentArea: currentSelection,\n\t\t\thasSelectedNonAreaBlock: !! (\n\t\t\t\tselectedBlock && selectedBlock.name !== 'core/widget-area'\n\t\t\t),\n\t\t\tisGeneralSidebarOpen: !! activeArea,\n\t\t\tselectedWidgetAreaBlock: widgetAreaBlock,\n\t\t};\n\t}, [] );\n\n\t// currentArea, and isGeneralSidebarOpen are intentionally left out from the dependencies,\n\t// because we want to run the effect when a block is selected/unselected and not when the sidebar state changes.\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === WIDGET_AREAS_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tBLOCK_INSPECTOR_IDENTIFIER\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\t! hasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === BLOCK_INSPECTOR_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tWIDGET_AREAS_IDENTIFIER\n\t\t\t);\n\t\t}\n\t}, [ hasSelectedNonAreaBlock, enableComplementaryArea ] );\n\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tclassName=\"edit-widgets-sidebar\"\n\t\t\theader={\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<ComplementaryAreaTab\n\t\t\t\t\t\t\tidentifier={ WIDGET_AREAS_IDENTIFIER }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tselectedWidgetAreaBlock\n\t\t\t\t\t\t\t\t\t? selectedWidgetAreaBlock.attributes.name\n\t\t\t\t\t\t\t\t\t: __( 'Widget Areas' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisActive={ currentArea === WIDGET_AREAS_IDENTIFIER }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<ComplementaryAreaTab\n\t\t\t\t\t\t\tidentifier={ BLOCK_INSPECTOR_IDENTIFIER }\n\t\t\t\t\t\t\tlabel={ __( 'Block' ) }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tcurrentArea === BLOCK_INSPECTOR_IDENTIFIER\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t}\n\t\t\theaderClassName=\"edit-widgets-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\tcloseLabel={ __( 'Close settings' ) }\n\t\t\tscope=\"core/edit-widgets\"\n\t\t\tidentifier={ currentArea }\n\t\t\ticon={ cog }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t{ currentArea === WIDGET_AREAS_IDENTIFIER && (\n\t\t\t\t<WidgetAreas\n\t\t\t\t\tselectedWidgetAreaId={\n\t\t\t\t\t\tselectedWidgetAreaBlock?.attributes.id\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ currentArea === BLOCK_INSPECTOR_IDENTIFIER &&\n\t\t\t\t( hasSelectedNonAreaBlock ? (\n\t\t\t\t\t<BlockInspector />\n\t\t\t\t) : (\n\t\t\t\t\t// Pretend that Widget Areas are part of the UI by not\n\t\t\t\t\t// showing the Block Inspector when one is selected.\n\t\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t\t</span>\n\t\t\t\t) ) }\n\t\t</ComplementaryArea>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst plus = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z\" />\n\t</SVG>\n);\n\nexport default plus;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst listView = (\n\t<SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<Path d=\"M13.8 5.2H3v1.5h10.8V5.2zm-3.6 12v1.5H21v-1.5H10.2zm7.2-6H6.6v1.5h10.8v-1.5z\" />\n\t</SVG>\n);\n\nexport default listView;\n","/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editWidgetsStore } from '../../store';\n\nfunction SaveButton() {\n\tconst { hasEditedWidgetAreaIds, isSaving } = useSelect( ( select ) => {\n\t\tconst { getEditedWidgetAreas, isSavingWidgetAreas } =\n\t\t\tselect( editWidgetsStore );\n\n\t\treturn {\n\t\t\thasEditedWidgetAreaIds: getEditedWidgetAreas()?.length > 0,\n\t\t\tisSaving: isSavingWidgetAreas(),\n\t\t};\n\t}, [] );\n\tconst { saveEditedWidgetAreas } = useDispatch( editWidgetsStore );\n\n\treturn (\n\t\t<Button\n\t\t\tvariant=\"primary\"\n\t\t\tisBusy={ isSaving }\n\t\t\taria-disabled={ isSaving }\n\t\t\tonClick={ isSaving ? undefined : saveEditedWidgetAreas }\n\t\t\tdisabled={ ! hasEditedWidgetAreaIds }\n\t\t>\n\t\t\t{ isSaving ? __( 'Saving…' ) : __( 'Update' ) }\n\t\t</Button>\n\t);\n}\n\nexport default SaveButton;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst undo = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M18.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z\" />\n\t</SVG>\n);\n\nexport default undo;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst redo = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z\" />\n\t</SVG>\n);\n\nexport default redo;\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"keycodes\"];","/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { ToolbarButton } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { undo as undoIcon, redo as redoIcon } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as coreStore } from '@wordpress/core-data';\n\nexport default function UndoButton() {\n\tconst hasUndo = useSelect(\n\t\t( select ) => select( coreStore ).hasUndo(),\n\t\t[]\n\t);\n\tconst { undo } = useDispatch( coreStore );\n\treturn (\n\t\t<ToolbarButton\n\t\t\ticon={ ! isRTL() ? undoIcon : redoIcon }\n\t\t\tlabel={ __( 'Undo' ) }\n\t\t\tshortcut={ displayShortcut.primary( 'z' ) }\n\t\t\t// If there are no undo levels we don't want to actually disable this\n\t\t\t// button, because it will remove focus for keyboard users.\n\t\t\t// See: https://github.com/WordPress/gutenberg/issues/3486\n\t\t\taria-disabled={ ! hasUndo }\n\t\t\tonClick={ hasUndo ? undo : undefined }\n\t\t/>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { ToolbarButton } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { redo as redoIcon, undo as undoIcon } from '@wordpress/icons';\nimport { displayShortcut, isAppleOS } from '@wordpress/keycodes';\nimport { store as coreStore } from '@wordpress/core-data';\n\nexport default function RedoButton() {\n\tconst shortcut = isAppleOS()\n\t\t? displayShortcut.primaryShift( 'z' )\n\t\t: displayShortcut.primary( 'y' );\n\n\tconst hasRedo = useSelect(\n\t\t( select ) => select( coreStore ).hasRedo(),\n\t\t[]\n\t);\n\tconst { redo } = useDispatch( coreStore );\n\treturn (\n\t\t<ToolbarButton\n\t\t\ticon={ ! isRTL() ? redoIcon : undoIcon }\n\t\t\tlabel={ __( 'Redo' ) }\n\t\t\tshortcut={ shortcut }\n\t\t\t// If there are no undo levels we don't want to actually disable this\n\t\t\t// button, because it will remove focus for keyboard users.\n\t\t\t// See: https://github.com/WordPress/gutenberg/issues/3486\n\t\t\taria-disabled={ ! hasRedo }\n\t\t\tonClick={ hasRedo ? redo : undefined }\n\t\t/>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\n\nconst external = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M18.2 17c0 .7-.6 1.2-1.2 1.2H7c-.7 0-1.2-.6-1.2-1.2V7c0-.7.6-1.2 1.2-1.2h3.2V4.2H7C5.5 4.2 4.2 5.5 4.2 7v10c0 1.5 1.2 2.8 2.8 2.8h10c1.5 0 2.8-1.2 2.8-2.8v-3.6h-1.5V17zM14.9 3v1.5h3.7l-6.4 6.4 1.1 1.1 6.4-6.4v3.7h1.5V3h-6.3z\" />\n\t</SVG>\n);\n\nexport default external;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const textFormattingShortcuts = [\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'b' },\n\t\tdescription: __( 'Make the selected text bold.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'i' },\n\t\tdescription: __( 'Make the selected text italic.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'k' },\n\t\tdescription: __( 'Convert the selected text into a link.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primaryShift', character: 'k' },\n\t\tdescription: __( 'Remove a link.' ),\n\t},\n\t{\n\t\tkeyCombination: { character: '[[' },\n\t\tdescription: __( 'Insert a link to a post or page' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'u' },\n\t\tdescription: __( 'Underline the selected text.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'access', character: 'd' },\n\t\tdescription: __( 'Strikethrough the selected text.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'access', character: 'x' },\n\t\tdescription: __( 'Make the selected text inline code.' ),\n\t},\n];\n","/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { displayShortcutList, shortcutAriaLabel } from '@wordpress/keycodes';\n\nfunction KeyCombination( { keyCombination, forceAriaLabel } ) {\n\tconst shortcut = keyCombination.modifier\n\t\t? displayShortcutList[ keyCombination.modifier ](\n\t\t\t\tkeyCombination.character\n\t\t  )\n\t\t: keyCombination.character;\n\tconst ariaLabel = keyCombination.modifier\n\t\t? shortcutAriaLabel[ keyCombination.modifier ](\n\t\t\t\tkeyCombination.character\n\t\t  )\n\t\t: keyCombination.character;\n\tconst shortcuts = Array.isArray( shortcut ) ? shortcut : [ shortcut ];\n\n\treturn (\n\t\t<kbd\n\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination\"\n\t\t\taria-label={ forceAriaLabel || ariaLabel }\n\t\t>\n\t\t\t{ shortcuts.map( ( character, index ) => {\n\t\t\t\tif ( character === '+' ) {\n\t\t\t\t\treturn <Fragment key={ index }>{ character }</Fragment>;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<kbd\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut-key\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ character }\n\t\t\t\t\t</kbd>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</kbd>\n\t);\n}\n\nfunction Shortcut( { description, keyCombination, aliases = [], ariaLabel } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-widgets-keyboard-shortcut-help-modal__shortcut-description\">\n\t\t\t\t{ description }\n\t\t\t</div>\n\t\t\t<div className=\"edit-widgets-keyboard-shortcut-help-modal__shortcut-term\">\n\t\t\t\t<KeyCombination\n\t\t\t\t\tkeyCombination={ keyCombination }\n\t\t\t\t\tforceAriaLabel={ ariaLabel }\n\t\t\t\t/>\n\t\t\t\t{ aliases.map( ( alias, index ) => (\n\t\t\t\t\t<KeyCombination\n\t\t\t\t\t\tkeyCombination={ alias }\n\t\t\t\t\t\tforceAriaLabel={ ariaLabel }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default Shortcut;\n","/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport Shortcut from './shortcut';\n\nfunction DynamicShortcut( { name } ) {\n\tconst { keyCombination, description, aliases } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetShortcutKeyCombination,\n\t\t\t\tgetShortcutDescription,\n\t\t\t\tgetShortcutAliases,\n\t\t\t} = select( keyboardShortcutsStore );\n\n\t\t\treturn {\n\t\t\t\tkeyCombination: getShortcutKeyCombination( name ),\n\t\t\t\taliases: getShortcutAliases( name ),\n\t\t\t\tdescription: getShortcutDescription( name ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\n\tif ( ! keyCombination ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Shortcut\n\t\t\tkeyCombination={ keyCombination }\n\t\t\tdescription={ description }\n\t\t\taliases={ aliases }\n\t\t/>\n\t);\n}\n\nexport default DynamicShortcut;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { textFormattingShortcuts } from './config';\nimport Shortcut from './shortcut';\nimport DynamicShortcut from './dynamic-shortcut';\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t<ul\n\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut-list\"\n\t\trole=\"list\"\n\t>\n\t\t{ shortcuts.map( ( shortcut, index ) => (\n\t\t\t<li\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t{ typeof shortcut === 'string' ? (\n\t\t\t\t\t<DynamicShortcut name={ shortcut } />\n\t\t\t\t) : (\n\t\t\t\t\t<Shortcut { ...shortcut } />\n\t\t\t\t) }\n\t\t\t</li>\n\t\t) ) }\n\t</ul>\n\t/* eslint-enable jsx-a11y/no-redundant-roles */\n);\n\nconst ShortcutSection = ( { title, shortcuts, className } ) => (\n\t<section\n\t\tclassName={ classnames(\n\t\t\t'edit-widgets-keyboard-shortcut-help-modal__section',\n\t\t\tclassName\n\t\t) }\n\t>\n\t\t{ !! title && (\n\t\t\t<h2 className=\"edit-widgets-keyboard-shortcut-help-modal__section-title\">\n\t\t\t\t{ title }\n\t\t\t</h2>\n\t\t) }\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nconst ShortcutCategorySection = ( {\n\ttitle,\n\tcategoryName,\n\tadditionalShortcuts = [],\n} ) => {\n\tconst categoryShortcuts = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( keyboardShortcutsStore ).getCategoryShortcuts(\n\t\t\t\tcategoryName\n\t\t\t);\n\t\t},\n\t\t[ categoryName ]\n\t);\n\n\treturn (\n\t\t<ShortcutSection\n\t\t\ttitle={ title }\n\t\t\tshortcuts={ categoryShortcuts.concat( additionalShortcuts ) }\n\t\t/>\n\t);\n};\n\nexport default function KeyboardShortcutHelpModal( {\n\tisModalActive,\n\ttoggleModal,\n} ) {\n\tuseShortcut( 'core/edit-widgets/keyboard-shortcuts', toggleModal, {\n\t\tbindGlobal: true,\n\t} );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal\"\n\t\t\ttitle={ __( 'Keyboard shortcuts' ) }\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ toggleModal }\n\t\t>\n\t\t\t<ShortcutSection\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/edit-widgets/keyboard-shortcuts' ] }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Global shortcuts' ) }\n\t\t\t\tcategoryName=\"global\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Selection shortcuts' ) }\n\t\t\t\tcategoryName=\"selection\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Block shortcuts' ) }\n\t\t\t\tcategoryName=\"block\"\n\t\t\t\tadditionalShortcuts={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tkeyCombination: { character: '/' },\n\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t'Change the block type after adding a new paragraph.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\t\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t\t<ShortcutSection\n\t\t\t\ttitle={ __( 'Text formatting' ) }\n\t\t\t\tshortcuts={ textFormattingShortcuts }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\nconst { Fill: ToolsMoreMenuGroup, Slot } = createSlotFill(\n\t'EditWidgetsToolsMoreMenuGroup'\n);\n\nToolsMoreMenuGroup.Slot = ( { fillProps } ) => (\n\t<Slot fillProps={ fillProps }>\n\t\t{ ( fills ) => fills.length > 0 && fills }\n\t</Slot>\n);\n\nexport default ToolsMoreMenuGroup;\n","/**\n * WordPress dependencies\n */\nimport { MenuGroup, MenuItem, VisuallyHidden } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { external } from '@wordpress/icons';\nimport { MoreMenuDropdown } from '@wordpress/interface';\nimport { PreferenceToggleMenuItem } from '@wordpress/preferences';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport ToolsMoreMenuGroup from './tools-more-menu-group';\n\nexport default function MoreMenu() {\n\tconst [\n\t\tisKeyboardShortcutsModalActive,\n\t\tsetIsKeyboardShortcutsModalVisible,\n\t] = useState( false );\n\tconst toggleKeyboardShortcutsModal = () =>\n\t\tsetIsKeyboardShortcutsModalVisible( ! isKeyboardShortcutsModalActive );\n\n\tuseShortcut(\n\t\t'core/edit-widgets/keyboard-shortcuts',\n\t\ttoggleKeyboardShortcutsModal\n\t);\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\treturn (\n\t\t<>\n\t\t\t<MoreMenuDropdown>\n\t\t\t\t{ ( onClose ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<MenuGroup label={ _x( 'View', 'noun' ) }>\n\t\t\t\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\t\t\t\tscope=\"core/edit-widgets\"\n\t\t\t\t\t\t\t\t\tname=\"fixedToolbar\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\t\t\t\t\t\tinfo={ __(\n\t\t\t\t\t\t\t\t\t\t'Access all block and document tools in a single place'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tmessageActivated={ __(\n\t\t\t\t\t\t\t\t\t\t'Top toolbar activated'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tmessageDeactivated={ __(\n\t\t\t\t\t\t\t\t\t\t'Top toolbar deactivated'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsKeyboardShortcutsModalVisible( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.access( 'h' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Keyboard shortcuts' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\t\t\tscope=\"core/edit-widgets\"\n\t\t\t\t\t\t\t\tname=\"welcomeGuide\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Welcome Guide' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t'https://wordpress.org/support/article/block-based-widgets-editor/'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Help' ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<ToolsMoreMenuGroup.Slot\n\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Preferences' ) }>\n\t\t\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\t\t\tscope=\"core/edit-widgets\"\n\t\t\t\t\t\t\t\tname=\"keepCaretInsideBlock\"\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Contain text cursor inside block'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tinfo={ __(\n\t\t\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tmessageActivated={ __(\n\t\t\t\t\t\t\t\t\t'Contain text cursor inside block activated'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tmessageDeactivated={ __(\n\t\t\t\t\t\t\t\t\t'Contain text cursor inside block deactivated'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\t\t\tscope=\"core/edit-widgets\"\n\t\t\t\t\t\t\t\tname=\"themeStyles\"\n\t\t\t\t\t\t\t\tinfo={ __(\n\t\t\t\t\t\t\t\t\t'Make the editor look like your theme.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Use theme styles' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\t\t\t\tscope=\"core/edit-widgets\"\n\t\t\t\t\t\t\t\t\tname=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t\t\t\t\tinfo={ __(\n\t\t\t\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tmessageActivated={ __(\n\t\t\t\t\t\t\t\t\t\t'Display block breadcrumbs activated'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tmessageDeactivated={ __(\n\t\t\t\t\t\t\t\t\t\t'Display block breadcrumbs deactivated'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</MoreMenuDropdown>\n\t\t\t<KeyboardShortcutHelpModal\n\t\t\t\tisModalActive={ isKeyboardShortcutsModalActive }\n\t\t\t\ttoggleModal={ toggleKeyboardShortcutsModal }\n\t\t\t/>\n\t\t</>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, ToolbarItem, VisuallyHidden } from '@wordpress/components';\nimport {\n\tNavigableToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PinnedItems } from '@wordpress/interface';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport UndoButton from './undo-redo/undo';\nimport RedoButton from './undo-redo/redo';\nimport MoreMenu from '../more-menu';\nimport useLastSelectedWidgetArea from '../../hooks/use-last-selected-widget-area';\nimport { store as editWidgetsStore } from '../../store';\n\nfunction Header() {\n\tconst isMediumViewport = useViewportMatch( 'medium' );\n\tconst inserterButton = useRef();\n\tconst widgetAreaClientId = useLastSelectedWidgetArea();\n\tconst isLastSelectedWidgetAreaOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editWidgetsStore ).getIsWidgetAreaOpen(\n\t\t\t\twidgetAreaClientId\n\t\t\t),\n\t\t[ widgetAreaClientId ]\n\t);\n\tconst { isInserterOpen, isListViewOpen } = useSelect( ( select ) => {\n\t\tconst { isInserterOpened, isListViewOpened } =\n\t\t\tselect( editWidgetsStore );\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t};\n\t}, [] );\n\tconst { setIsWidgetAreaOpen, setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editWidgetsStore );\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst handleClick = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\t// Focusing the inserter button closes the inserter popover.\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tif ( ! isLastSelectedWidgetAreaOpen ) {\n\t\t\t\t// Select the last selected block if hasn't already.\n\t\t\t\tselectBlock( widgetAreaClientId );\n\t\t\t\t// Open the last selected widget area when opening the inserter.\n\t\t\t\tsetIsWidgetAreaOpen( widgetAreaClientId, true );\n\t\t\t}\n\t\t\t// The DOM updates resulting from selectBlock() and setIsInserterOpened() calls are applied the\n\t\t\t// same tick and pretty much in a random order. The inserter is closed if any other part of the\n\t\t\t// app receives focus. If selectBlock() happens to take effect after setIsInserterOpened() then\n\t\t\t// the inserter is visible for a brief moment and then gets auto-closed due to focus moving to\n\t\t\t// the selected block.\n\t\t\twindow.requestAnimationFrame( () => setIsInserterOpened( true ) );\n\t\t}\n\t};\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-widgets-header\">\n\t\t\t\t<div className=\"edit-widgets-header__navigable-toolbar-wrapper\">\n\t\t\t\t\t{ isMediumViewport && (\n\t\t\t\t\t\t<h1 className=\"edit-widgets-header__title\">\n\t\t\t\t\t\t\t{ __( 'Widgets' ) }\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isMediumViewport && (\n\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\tas=\"h1\"\n\t\t\t\t\t\t\tclassName=\"edit-widgets-header__title\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Widgets' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t) }\n\t\t\t\t\t<NavigableToolbar\n\t\t\t\t\t\tclassName=\"edit-widgets-header-toolbar\"\n\t\t\t\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tclassName=\"edit-widgets-header-toolbar__inserter-toggle\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClick={ handleClick }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16\n\t\t\t\t\tcharacters. */\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Toggle block inserter',\n\t\t\t\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isMediumViewport && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<UndoButton />\n\t\t\t\t\t\t\t\t<RedoButton />\n\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-widgets-header-toolbar__list-view-toggle\"\n\t\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</NavigableToolbar>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"edit-widgets-header__actions\">\n\t\t\t\t\t<SaveButton />\n\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-widgets\" />\n\t\t\t\t\t<MoreMenu />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default Header;\n","/**\n * WordPress dependencies\n */\nimport { NoticeList, SnackbarList } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nfunction Notices() {\n\tconst { removeNotice } = useDispatch( noticesStore );\n\tconst { notices } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tnotices: select( noticesStore ).getNotices(),\n\t\t};\n\t}, [] );\n\n\tconst dismissibleNotices = notices.filter(\n\t\t( { isDismissible, type } ) => isDismissible && type === 'default'\n\t);\n\tconst nonDismissibleNotices = notices.filter(\n\t\t( { isDismissible, type } ) => ! isDismissible && type === 'default'\n\t);\n\tconst snackbarNotices = notices.filter(\n\t\t( { type } ) => type === 'snackbar'\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<NoticeList\n\t\t\t\tnotices={ nonDismissibleNotices }\n\t\t\t\tclassName=\"edit-widgets-notices__pinned\"\n\t\t\t/>\n\t\t\t<NoticeList\n\t\t\t\tnotices={ dismissibleNotices }\n\t\t\t\tclassName=\"edit-widgets-notices__dismissible\"\n\t\t\t\tonRemove={ removeNotice }\n\t\t\t/>\n\t\t\t<SnackbarList\n\t\t\t\tnotices={ snackbarNotices }\n\t\t\t\tclassName=\"edit-widgets-notices__snackbar\"\n\t\t\t\tonRemove={ removeNotice }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default Notices;\n","/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tBlockTools,\n\tBlockSelectionClearer,\n\tWritingFlow,\n\tObserveTyping,\n\t__unstableEditorStyles as EditorStyles,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport Notices from '../notices';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\n\nexport default function WidgetAreasBlockEditorContent( {\n\tblockEditorSettings,\n} ) {\n\tconst hasThemeStyles = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( preferencesStore ).get(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\t'themeStyles'\n\t\t\t),\n\t\t[]\n\t);\n\n\tconst styles = useMemo( () => {\n\t\treturn hasThemeStyles ? blockEditorSettings.styles : [];\n\t}, [ blockEditorSettings, hasThemeStyles ] );\n\n\treturn (\n\t\t<div className=\"edit-widgets-block-editor\">\n\t\t\t<Notices />\n\t\t\t<BlockTools>\n\t\t\t\t<KeyboardShortcuts />\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<BlockSelectionClearer>\n\t\t\t\t\t<WritingFlow>\n\t\t\t\t\t\t<ObserveTyping>\n\t\t\t\t\t\t\t<BlockList className=\"edit-widgets-main-block-list\" />\n\t\t\t\t\t\t</ObserveTyping>\n\t\t\t\t\t</WritingFlow>\n\t\t\t\t</BlockSelectionClearer>\n\t\t\t</BlockTools>\n\t\t</div>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst close = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\" />\n\t</SVG>\n);\n\nexport default close;\n","/**\n * WordPress dependencies\n */\nimport { Button, VisuallyHidden } from '@wordpress/components';\nimport { close } from '@wordpress/icons';\nimport { __experimentalLibrary as Library } from '@wordpress/block-editor';\nimport {\n\tuseViewportMatch,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { useCallback, useEffect, useRef } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useWidgetLibraryInsertionPoint from '../../hooks/use-widget-library-insertion-point';\nimport { store as editWidgetsStore } from '../../store';\n\nexport default function InserterSidebar() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { rootClientId, insertionIndex } = useWidgetLibraryInsertionPoint();\n\n\tconst { setIsInserterOpened } = useDispatch( editWidgetsStore );\n\n\tconst closeInserter = useCallback( () => {\n\t\treturn setIsInserterOpened( false );\n\t}, [ setIsInserterOpened ] );\n\n\tconst TagName = ! isMobileViewport ? VisuallyHidden : 'div';\n\tconst [ inserterDialogRef, inserterDialogProps ] = useDialog( {\n\t\tonClose: closeInserter,\n\t\tfocusOnMount: null,\n\t} );\n\n\tconst libraryRef = useRef();\n\tuseEffect( () => {\n\t\tlibraryRef.current.focusSearch();\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ inserterDialogRef }\n\t\t\t{ ...inserterDialogProps }\n\t\t\tclassName=\"edit-widgets-layout__inserter-panel\"\n\t\t>\n\t\t\t<TagName className=\"edit-widgets-layout__inserter-panel-header\">\n\t\t\t\t<Button\n\t\t\t\t\ticon={ close }\n\t\t\t\t\tonClick={ closeInserter }\n\t\t\t\t\tlabel={ __( 'Close block inserter' ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t\t<div className=\"edit-widgets-layout__inserter-panel-content\">\n\t\t\t\t<Library\n\t\t\t\t\tshowInserterHelpPanel\n\t\t\t\t\tshouldFocusBlock={ isMobileViewport }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t__experimentalInsertionIndex={ insertionIndex }\n\t\t\t\t\tref={ libraryRef }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editWidgetsStore } from '../store';\nimport { buildWidgetAreasPostId, KIND, POST_TYPE } from '../store/utils';\n\nconst useWidgetLibraryInsertionPoint = () => {\n\tconst firstRootId = useSelect( ( select ) => {\n\t\t// Default to the first widget area\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst widgetAreasPost = getEntityRecord(\n\t\t\tKIND,\n\t\t\tPOST_TYPE,\n\t\t\tbuildWidgetAreasPostId()\n\t\t);\n\t\treturn widgetAreasPost?.blocks[ 0 ]?.clientId;\n\t}, [] );\n\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst insertionPoint =\n\t\t\t\tselect( editWidgetsStore ).__experimentalGetInsertionPoint();\n\n\t\t\t// \"Browse all\" in the quick inserter will set the rootClientId to the current block.\n\t\t\t// Otherwise, it will just be undefined, and we'll have to handle it differently below.\n\t\t\tif ( insertionPoint.rootClientId ) {\n\t\t\t\treturn insertionPoint;\n\t\t\t}\n\n\t\t\tconst clientId = getBlockSelectionEnd() || firstRootId;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t// If the selected block is at the root level, it's a widget area and\n\t\t\t// blocks can't be inserted here. Return this block as the root and the\n\t\t\t// last child clientId indicating insertion at the end.\n\t\t\tif ( clientId && rootClientId === '' ) {\n\t\t\t\treturn {\n\t\t\t\t\trootClientId: clientId,\n\t\t\t\t\tinsertionIndex: getBlockOrder( clientId ).length,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\trootClientId,\n\t\t\t\tinsertionIndex: getBlockIndex( clientId ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ firstRootId ]\n\t);\n};\n\nexport default useWidgetLibraryInsertionPoint;\n","/**\n * WordPress dependencies\n */\nimport { __experimentalListView as ListView } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport {\n\tuseFocusOnMount,\n\tuseFocusReturn,\n\tuseInstanceId,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editWidgetsStore } from '../../store';\n\nexport default function ListViewSidebar() {\n\tconst { setIsListViewOpened } = useDispatch( editWidgetsStore );\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst headerFocusReturnRef = useFocusReturn();\n\tconst contentFocusReturnRef = useFocusReturn();\n\tfunction closeOnEscape( event ) {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( false );\n\t\t}\n\t}\n\n\tconst instanceId = useInstanceId( ListViewSidebar );\n\tconst labelId = `edit-widgets-editor__list-view-panel-label-${ instanceId }`;\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\taria-labelledby={ labelId }\n\t\t\tclassName=\"edit-widgets-editor__list-view-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-widgets-editor__list-view-panel-header\"\n\t\t\t\tref={ headerFocusReturnRef }\n\t\t\t>\n\t\t\t\t<strong id={ labelId }>{ __( 'List View' ) }</strong>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close List View Sidebar' ) }\n\t\t\t\t\tonClick={ () => setIsListViewOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-widgets-editor__list-view-panel-content\"\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tcontentFocusReturnRef,\n\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t] ) }\n\t\t\t>\n\t\t\t\t<ListView />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport { store as editWidgetsStore } from '../../store';\n\n/**\n * Internal dependencies\n */\nimport InserterSidebar from './inserter-sidebar';\nimport ListViewSidebar from './list-view-sidebar';\n\nexport default function SecondarySidebar() {\n\tconst { isInserterOpen, isListViewOpen } = useSelect( ( select ) => {\n\t\tconst { isInserterOpened, isListViewOpened } =\n\t\t\tselect( editWidgetsStore );\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t};\n\t}, [] );\n\n\tif ( isInserterOpen ) {\n\t\treturn <InserterSidebar />;\n\t}\n\tif ( isListViewOpen ) {\n\t\treturn <ListViewSidebar />;\n\t}\n\treturn null;\n}\n","/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { BlockBreadcrumb, BlockStyles } from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { __ } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport WidgetAreasBlockEditorContent from '../widget-areas-block-editor-content';\nimport { store as editWidgetsStore } from '../../store';\nimport SecondarySidebar from '../secondary-sidebar';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the widgets screen top bar landmark region. */\n\theader: __( 'Widgets top bar' ),\n\t/* translators: accessibility text for the widgets screen content landmark region. */\n\tbody: __( 'Widgets and blocks' ),\n\t/* translators: accessibility text for the widgets screen settings landmark region. */\n\tsidebar: __( 'Widgets settings' ),\n\t/* translators: accessibility text for the widgets screen footer landmark region. */\n\tfooter: __( 'Widgets footer' ),\n};\n\nfunction Interface( { blockEditorSettings } ) {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst { setIsInserterOpened, setIsListViewOpened, closeGeneralSidebar } =\n\t\tuseDispatch( editWidgetsStore );\n\tconst {\n\t\thasBlockBreadCrumbsEnabled,\n\t\thasSidebarEnabled,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect(\n\t\t( select ) => ( {\n\t\t\thasSidebarEnabled: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editWidgetsStore.name ),\n\t\t\tisInserterOpened: !! select( editWidgetsStore ).isInserterOpened(),\n\t\t\tisListViewOpened: !! select( editWidgetsStore ).isListViewOpened(),\n\t\t\thasBlockBreadCrumbsEnabled: !! select( preferencesStore ).get(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-widgets/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-widgets/next-region' ),\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( hasSidebarEnabled && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t}\n\t}, [ hasSidebarEnabled, isHugeViewport ] );\n\n\tuseEffect( () => {\n\t\tif ( ( isInserterOpened || isListViewOpened ) && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isListViewOpened, isHugeViewport ] );\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\n\tconst hasSecondarySidebar = isListViewOpened || isInserterOpened;\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tlabels={ {\n\t\t\t\t...interfaceLabels,\n\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t} }\n\t\t\theader={ <Header /> }\n\t\t\tsecondarySidebar={ hasSecondarySidebar && <SecondarySidebar /> }\n\t\t\tsidebar={\n\t\t\t\thasSidebarEnabled && (\n\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-widgets\" />\n\t\t\t\t)\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t<WidgetAreasBlockEditorContent\n\t\t\t\t\t\tblockEditorSettings={ blockEditorSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockStyles.Slot scope=\"core/block-inspector\" />\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\thasBlockBreadCrumbsEnabled &&\n\t\t\t\t! isMobileViewport && (\n\t\t\t\t\t<div className=\"edit-widgets-layout__footer\">\n\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ __( 'Widgets' ) } />\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nexport default Interface;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editWidgetsStore } from '../../store';\n\n/**\n * Warns the user if there are unsaved changes before leaving the editor.\n *\n * This is a duplicate of the component implemented in the editor package.\n * Duplicated here as edit-widgets doesn't depend on editor.\n *\n * @return {WPComponent} The component.\n */\nexport default function UnsavedChangesWarning() {\n\tconst isDirty = useSelect( ( select ) => {\n\t\tconst { getEditedWidgetAreas } = select( editWidgetsStore );\n\t\tconst editedWidgetAreas = getEditedWidgetAreas();\n\n\t\treturn editedWidgetAreas?.length > 0;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t/**\n\t\t * Warns the user if there are unsaved changes before leaving the editor.\n\t\t *\n\t\t * @param {Event} event `beforeunload` event.\n\t\t *\n\t\t * @return {?string} Warning prompt message, if unsaved changes exist.\n\t\t */\n\t\tconst warnIfUnsavedChanges = ( event ) => {\n\t\t\tif ( isDirty ) {\n\t\t\t\tevent.returnValue = __(\n\t\t\t\t\t'You have unsaved changes. If you proceed, they will be lost.'\n\t\t\t\t);\n\t\t\t\treturn event.returnValue;\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener( 'beforeunload', warnIfUnsavedChanges );\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener( 'beforeunload', warnIfUnsavedChanges );\n\t\t};\n\t}, [ isDirty ] );\n\n\treturn null;\n}\n","/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ExternalLink, Guide } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editWidgetsStore } from '../../store';\n\nexport default function WelcomeGuide() {\n\tconst isActive = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( preferencesStore ).get(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\t'welcomeGuide'\n\t\t\t),\n\t\t[]\n\t);\n\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst widgetAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editWidgetsStore ).getWidgetAreas( { per_page: -1 } ),\n\t\t[]\n\t);\n\n\tif ( ! isActive ) {\n\t\treturn null;\n\t}\n\n\tconst isEntirelyBlockWidgets = widgetAreas?.every(\n\t\t( widgetArea ) =>\n\t\t\twidgetArea.id === 'wp_inactive_widgets' ||\n\t\t\twidgetArea.widgets.every( ( widgetId ) =>\n\t\t\t\twidgetId.startsWith( 'block-' )\n\t\t\t)\n\t);\n\n\tconst numWidgetAreas =\n\t\twidgetAreas?.filter(\n\t\t\t( widgetArea ) => widgetArea.id !== 'wp_inactive_widgets'\n\t\t).length ?? 0;\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-widgets-welcome-guide\"\n\t\t\tcontentLabel={ __( 'Welcome to block Widgets' ) }\n\t\t\tfinishButtonText={ __( 'Get started' ) }\n\t\t\tonFinish={ () => toggle( 'core/edit-widgets', 'welcomeGuide' ) }\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<WelcomeGuideImage\n\t\t\t\t\t\t\tnonAnimatedSrc=\"https://s.w.org/images/block-editor/welcome-canvas.svg\"\n\t\t\t\t\t\t\tanimatedSrc=\"https://s.w.org/images/block-editor/welcome-canvas.gif\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-widgets-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ __( 'Welcome to block Widgets' ) }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t{ isEntirelyBlockWidgets ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<p className=\"edit-widgets-welcome-guide__text\">\n\t\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// Translators: %s: Number of block areas in the current theme.\n\t\t\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t\t\t'Your theme provides %s “block” area for you to add and edit content. Try adding a search bar, social icons, or other types of blocks here and see how they’ll look on your site.',\n\t\t\t\t\t\t\t\t\t\t\t\t'Your theme provides %s different “block” areas for you to add and edit content. Try adding a search bar, social icons, or other types of blocks here and see how they’ll look on your site.',\n\t\t\t\t\t\t\t\t\t\t\t\tnumWidgetAreas\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tnumWidgetAreas\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<p className=\"edit-widgets-welcome-guide__text\">\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'You can now add any block to your site’s widget areas. Don’t worry, all of your favorite widgets still work flawlessly.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<p className=\"edit-widgets-welcome-guide__text\">\n\t\t\t\t\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Want to stick with the old widgets?'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</strong>{ ' ' }\n\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/plugins/classic-widgets/'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Get the Classic Widgets plugin.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<WelcomeGuideImage\n\t\t\t\t\t\t\tnonAnimatedSrc=\"https://s.w.org/images/block-editor/welcome-editor.svg\"\n\t\t\t\t\t\t\tanimatedSrc=\"https://s.w.org/images/block-editor/welcome-editor.gif\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-widgets-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ __( 'Make each block your own' ) }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-widgets-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Each block comes with its own set of controls for changing things like color, width, and alignment. These will show and hide automatically when you have a block selected.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<WelcomeGuideImage\n\t\t\t\t\t\t\tnonAnimatedSrc=\"https://s.w.org/images/block-editor/welcome-library.svg\"\n\t\t\t\t\t\t\tanimatedSrc=\"https://s.w.org/images/block-editor/welcome-library.gif\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-widgets-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ __( 'Get to know the block library' ) }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-widgets-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'All of the blocks available to you live in the block library. You’ll find it wherever you see the <InserterIconImage /> icon.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tInserterIconImage: (\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-widgets-welcome-guide__inserter-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\talt={ __( 'inserter' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='18' height='18' rx='2' fill='%231E1E1E'/%3E%3Cpath d='M9.22727 4V14M4 8.77273H14' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E%0A\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<WelcomeGuideImage\n\t\t\t\t\t\t\tnonAnimatedSrc=\"https://s.w.org/images/block-editor/welcome-documentation.svg\"\n\t\t\t\t\t\t\tanimatedSrc=\"https://s.w.org/images/block-editor/welcome-documentation.gif\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-widgets-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ __( 'Learn how to use the block editor' ) }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-widgets-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'New to the block editor? Want to learn more about using it? '\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/support/article/wordpress-editor/'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( \"Here's a detailed guide.\" ) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n\nfunction WelcomeGuideImage( { nonAnimatedSrc, animatedSrc } ) {\n\treturn (\n\t\t<picture className=\"edit-widgets-welcome-guide__image\">\n\t\t\t<source\n\t\t\t\tsrcSet={ nonAnimatedSrc }\n\t\t\t\tmedia=\"(prefers-reduced-motion: reduce)\"\n\t\t\t/>\n\t\t\t<img src={ animatedSrc } width=\"312\" height=\"240\" alt=\"\" />\n\t\t</picture>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Popover } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { PluginArea } from '@wordpress/plugins';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport ErrorBoundary from '../error-boundary';\nimport WidgetAreasBlockEditorProvider from '../widget-areas-block-editor-provider';\nimport Sidebar from '../sidebar';\nimport Interface from './interface';\nimport UnsavedChangesWarning from './unsaved-changes-warning';\nimport WelcomeGuide from '../welcome-guide';\n\nfunction Layout( { blockEditorSettings, onError } ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<ErrorBoundary onError={ onError }>\n\t\t\t<WidgetAreasBlockEditorProvider\n\t\t\t\tblockEditorSettings={ blockEditorSettings }\n\t\t\t>\n\t\t\t\t<Interface blockEditorSettings={ blockEditorSettings } />\n\t\t\t\t<Sidebar />\n\t\t\t\t<Popover.Slot />\n\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t<WelcomeGuide />\n\t\t\t</WidgetAreasBlockEditorProvider>\n\t\t</ErrorBoundary>\n\t);\n}\n\nexport default Layout;\n","/**\n * WordPress dependencies\n */\nimport {\n\tregisterBlockType,\n\tunstable__bootstrapServerSideBlockDefinitions, // eslint-disable-line camelcase\n\tsetFreeformContentHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { dispatch } from '@wordpress/data';\nimport { render, unmountComponentAtNode } from '@wordpress/element';\nimport {\n\tregisterCoreBlocks,\n\t__experimentalGetCoreBlocks,\n\t__experimentalRegisterExperimentalCoreBlocks,\n} from '@wordpress/block-library';\nimport { __experimentalFetchLinkSuggestions as fetchLinkSuggestions } from '@wordpress/core-data';\nimport {\n\tregisterLegacyWidgetBlock,\n\tregisterLegacyWidgetVariations,\n\tregisterWidgetGroupBlock,\n} from '@wordpress/widgets';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport './store';\nimport './filters';\nimport * as widgetArea from './blocks/widget-area';\n\nimport Layout from './components/layout';\nimport {\n\tALLOW_REUSABLE_BLOCKS,\n\tENABLE_EXPERIMENTAL_FSE_BLOCKS,\n} from './constants';\n\nconst disabledBlocks = [\n\t'core/more',\n\t'core/freeform',\n\t'core/template-part',\n\t...( ALLOW_REUSABLE_BLOCKS ? [] : [ 'core/block' ] ),\n];\n\n/**\n * Reinitializes the editor after the user chooses to reboot the editor after\n * an unhandled error occurs, replacing previously mounted editor element using\n * an initial state from prior to the crash.\n *\n * @param {Element} target   DOM node in which editor is rendered.\n * @param {?Object} settings Editor settings object.\n */\nexport function reinitializeEditor( target, settings ) {\n\tunmountComponentAtNode( target );\n\tconst reboot = reinitializeEditor.bind( null, target, settings );\n\trender(\n\t\t<Layout blockEditorSettings={ settings } onError={ reboot } />,\n\t\ttarget\n\t);\n}\n\n/**\n * Initializes the block editor in the widgets screen.\n *\n * @param {string} id       ID of the root element to render the screen in.\n * @param {Object} settings Block editor settings.\n */\nexport function initialize( id, settings ) {\n\tconst target = document.getElementById( id );\n\tconst reboot = reinitializeEditor.bind( null, target, settings );\n\tconst coreBlocks = __experimentalGetCoreBlocks().filter( ( block ) => {\n\t\treturn ! (\n\t\t\tdisabledBlocks.includes( block.name ) ||\n\t\t\tblock.name.startsWith( 'core/post' ) ||\n\t\t\tblock.name.startsWith( 'core/query' ) ||\n\t\t\tblock.name.startsWith( 'core/site' ) ||\n\t\t\tblock.name.startsWith( 'core/navigation' )\n\t\t);\n\t} );\n\n\tdispatch( preferencesStore ).setDefaults( 'core/edit-widgets', {\n\t\tfixedToolbar: false,\n\t\twelcomeGuide: true,\n\t\tshowBlockBreadcrumbs: true,\n\t\tthemeStyles: true,\n\t} );\n\n\tdispatch( blocksStore ).__experimentalReapplyBlockTypeFilters();\n\tregisterCoreBlocks( coreBlocks );\n\tregisterLegacyWidgetBlock();\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t__experimentalRegisterExperimentalCoreBlocks( {\n\t\t\tenableFSEBlocks: ENABLE_EXPERIMENTAL_FSE_BLOCKS,\n\t\t} );\n\t}\n\tregisterLegacyWidgetVariations( settings );\n\tregisterBlock( widgetArea );\n\tregisterWidgetGroupBlock();\n\n\tsettings.__experimentalFetchLinkSuggestions = ( search, searchOptions ) =>\n\t\tfetchLinkSuggestions( search, searchOptions, settings );\n\n\t// As we are unregistering `core/freeform` to avoid the Classic block, we must\n\t// replace it with something as the default freeform content handler. Failure to\n\t// do this will result in errors in the default block parser.\n\t// see: https://github.com/WordPress/gutenberg/issues/33097\n\tsetFreeformContentHandlerName( 'core/html' );\n\trender(\n\t\t<Layout blockEditorSettings={ settings } onError={ reboot } />,\n\t\ttarget\n\t);\n}\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nconst registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tif ( metadata ) {\n\t\tunstable__bootstrapServerSideBlockDefinitions( { [ name ]: metadata } );\n\t}\n\tregisterBlockType( name, settings );\n};\n","export const ALLOW_REUSABLE_BLOCKS = false;\nexport const ENABLE_EXPERIMENTAL_FSE_BLOCKS = false;\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","call","join","module","exports","default","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","obj","prop","r","Symbol","toStringTag","value","window","combineReducers","blockInserterPanel","state","action","type","isOpen","listViewPanel","widgetAreasOpenState","clientId","_extends","assign","target","source","this","SVG","xmlns","viewBox","Path","fillRule","clipRule","setDefaultComplementaryArea","scope","area","enableComplementaryArea","registry","dispatch","select","preferencesStore","set","disableComplementaryArea","pinItem","item","pinnedItems","unpinItem","toggleFeature","featureName","deprecated","since","alternative","toggle","setFeatureValue","setFeatureDefaults","defaults","setDefaults","getActiveComplementaryArea","createRegistrySelector","isComplementaryAreaVisible","complementaryAreas","isItemPinned","isFeatureActive","store","createReduxStore","reducer","actions","selectors","register","withPluginContext","context","ownProps","icon","identifier","name","complementaryAreaContext","as","Button","selectedIcon","props","ComponentToUse","isSelected","useSelect","interfaceStore","useDispatch","onClick","smallScreenTitle","children","className","toggleButtonProps","toggleButton","closeSmall","classnames","tabIndex","noop","ActionItem","Component","Fill","fpOnClick","Slot","ButtonGroup","fillProps","bubblesVirtually","fills","Children","initializedByPlugins","__unstableExplicitMenuItem","__unstableTarget","child","includes","PluginsMenuItem","restProps","MenuItem","ComplementaryAreaMoreMenuItem","toggleProps","role","check","PinnedItems","ComplementaryAreaFill","ComplementaryAreaWrapped","withComplementaryAreaContext","closeLabel","__","header","headerClassName","isPinnable","panelClassName","title","toggleShortcut","isActiveByDefault","showIconLabels","isActive","isPinned","activeArea","isSmall","isLarge","_activeArea","viewportStore","isViewportMatch","previousIsSmall","useRef","shouldOpenWhenNotSmall","useEffect","current","useAdjustComplementaryListener","isPressed","label","showTooltip","variant","onClose","shortcut","starFilled","starEmpty","Panel","forwardRef","ref","footer","sidebar","secondarySidebar","notices","content","drawer","labels","shortcuts","navigateRegionsProps","useNavigateRegions","element","document","querySelector","classList","useHTMLClass","mergedLabels","body","useMergeRefs","MoreMenuDropdown","DropdownComponent","DropdownMenu","popoverProps","moreVertical","position","tooltipPosition","transformWidgetToBlock","widget","id_base","parsedBlocks","parse","instance","raw","__unstableSkipAutop","addWidgetIdToBlock","id","createBlock","attributes","_embedded","about","is_multi","idBase","transformBlockToWidget","block","relatedWidget","isValidLegacyWidgetBlock","serialize","rendered","rendered_form","KIND","WIDGET_AREA_ENTITY_TYPE","POST_TYPE","buildWidgetAreaPostId","widgetAreaId","STORE_NAME","persistStubPost","blocks","stubPost","slug","status","meta","createStubPost","coreStore","receiveEntityRecords","saveEditedWidgetAreas","async","editedWidgetAreas","getEditedWidgetAreas","saveWidgetAreas","noticesStore","createSuccessNotice","e","createErrorNotice","sprintf","message","widgetAreas","widgetArea","saveWidgetArea","finishResolution","per_page","widgets","getWidgets","post","getEditedEntityRecord","areaWidgets","values","filter","usedReferenceWidgets","widgetsBlocks","deletedWidgets","getWidgetAreaForWidgetId","batchMeta","batchTasks","sidebarWidgetsIds","widgetId","getWidgetIdFromBlock","oldWidget","editEntityRecord","undoIgnore","hasEditsForEntityRecord","saveEditedEntityRecord","saveEntityRecord","deleteEntityRecord","force","preservedRecords","__experimentalBatch","record","failedWidgetNames","__internalWidgetId","getLastEntitySaveError","Error","trySaveWidgetArea","throwOnError","setWidgetIdForClientId","setWidgetAreasOpenState","setIsWidgetAreaOpen","setIsInserterOpened","setIsListViewOpened","closeGeneralSidebar","editWidgetsStoreName","moveBlockToWidgetArea","sourceRootClientId","blockEditorStore","getBlockRootClientId","destinationRootClientId","getBlocks","find","destinationIndex","getBlockOrder","getIsWidgetAreaOpen","moveBlocksToPosition","getWidgetAreas","widgetAreaBlocks","sortedWidgetAreas","resolveSelect","getEntityRecords","sort","b","forEach","widgetAreaBlock","index","_embed","groupedBySidebar","sidebarId","reduce","allWidgets","getWidget","map","getParentWidgetAreaBlock","getBlock","getBlockName","getBlockParents","parentClientId","ids","getReferenceWidgetBlocks","referenceWidgetName","results","_widgetArea","isSavingWidgetAreas","widgetAreasIds","isSavingEntityRecord","widgetIds","keys","isInserterOpened","__experimentalGetInsertionPoint","rootClientId","insertionIndex","canInsertBlockInWidgetArea","blockName","firstWidgetArea","canInsertBlockType","isListViewOpened","storeConfig","resolvers","apiFetch","options","next","path","indexOf","Promise","resolve","withMoveToWidgetAreaToolbarItem","createHigherOrderComponent","BlockEdit","currentWidgetAreaId","editWidgetsStore","hasMultipleWidgetAreas","isMoveToWidgetAreaVisible","BlockControls","MoveToWidgetArea","onSelect","addFilter","MediaUpload","elementRef","isDraggingWithin","setIsDraggingWithin","useState","ownerDocument","handleDragStart","event","handleDragEnter","handleDragEnd","contains","addEventListener","removeEventListener","WidgetAreaInnerBlocks","onInput","onChange","useEntityBlockEditor","innerBlocksRef","shouldHighlightDropZone","useIsDraggingWithin","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","metadata","settings","description","__experimentalLabel","edit","wrapper","setOpen","useCallback","openState","isDragging","setIsDragging","useIsDragging","openedWhileDragging","setOpenedWhileDragging","PanelBody","opened","onToggle","scrollAfterOpen","visible","EntityProvider","kind","CopyButton","text","useCopyToClipboard","ErrorBoundary","constructor","super","reboot","bind","error","componentDidCatch","setState","doAction","onError","render","Warning","stack","KeyboardShortcuts","redo","undo","useShortcut","preventDefault","Register","registerShortcut","keyboardShortcutsStore","category","keyCombination","modifier","character","aliases","getBlockSelectionEnd","selectionEndClientId","widgetsEditorStore","widgetAreaBlockClientId","getEntityRecord","widgetAreasPost","WidgetAreasBlockEditorProvider","blockEditorSettings","mediaPermissions","useResourcePermissions","reusableBlocks","isFixedToolbarActive","keepCaretInsideBlock","useMemo","mediaUploadBlockEditor","canCreate","argumentsObject","uploadMedia","wpAllowedMimeTypes","allowedMimeTypes","__experimentalReusableBlocks","hasFixedToolbar","mediaUpload","__experimentalSetIsInserterOpened","useLastSelectedWidgetArea","ShortcutProvider","BlockEditorKeyboardShortcuts","SlotFillProvider","BlockEditorProvider","useSubRegistry","CopyHandler","ReusableBlocksMenuItems","WidgetAreas","selectedWidgetAreaId","selectedWidgetArea","BlockIcon","blockDefault","dangerouslySetInnerHTML","__html","safeHTML","href","addQueryArgs","return","location","pathname","SIDEBAR_ACTIVE_BY_DEFAULT","Platform","web","native","BLOCK_INSPECTOR_IDENTIFIER","WIDGET_AREAS_IDENTIFIER","ComplementaryAreaTab","Sidebar","currentArea","hasSelectedNonAreaBlock","isGeneralSidebarOpen","selectedWidgetAreaBlock","getSelectedBlock","getBlockParentsByBlockName","selectedBlock","currentSelection","cog","BlockInspector","hasEditedWidgetAreaIds","isSaving","isBusy","disabled","UndoButton","hasUndo","ToolbarButton","isRTL","redoIcon","undoIcon","displayShortcut","RedoButton","isAppleOS","hasRedo","textFormattingShortcuts","KeyCombination","forceAriaLabel","displayShortcutList","ariaLabel","shortcutAriaLabel","Fragment","alias","getShortcutKeyCombination","getShortcutDescription","getShortcutAliases","ShortcutList","ShortcutSection","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","bindGlobal","Modal","onRequestClose","ToolsMoreMenuGroup","createSlotFill","MoreMenu","isKeyboardShortcutsModalActive","setIsKeyboardShortcutsModalVisible","toggleKeyboardShortcutsModal","isLargeViewport","useViewportMatch","MenuGroup","_x","PreferenceToggleMenuItem","info","messageActivated","messageDeactivated","external","rel","VisuallyHidden","isMediumViewport","inserterButton","widgetAreaClientId","isLastSelectedWidgetAreaOpen","isInserterOpen","isListViewOpen","selectBlock","toggleListView","NavigableToolbar","ToolbarItem","onMouseDown","requestAnimationFrame","plus","listView","removeNotice","getNotices","dismissibleNotices","isDismissible","nonDismissibleNotices","snackbarNotices","NoticeList","onRemove","SnackbarList","WidgetAreasBlockEditorContent","hasThemeStyles","styles","BlockTools","BlockSelectionClearer","WritingFlow","ObserveTyping","BlockList","InserterSidebar","isMobileViewport","firstRootId","getBlockIndex","insertionPoint","useWidgetLibraryInsertionPoint","closeInserter","TagName","inserterDialogRef","inserterDialogProps","useDialog","focusOnMount","libraryRef","focusSearch","close","showInserterHelpPanel","shouldFocusBlock","__experimentalInsertionIndex","ListViewSidebar","focusOnMountRef","useFocusOnMount","headerFocusReturnRef","useFocusReturn","contentFocusReturnRef","labelId","useInstanceId","onKeyDown","keyCode","ESCAPE","defaultPrevented","SecondarySidebar","interfaceLabels","isHugeViewport","hasBlockBreadCrumbsEnabled","hasSidebarEnabled","previousShortcut","nextShortcut","getAllShortcutKeyCombinations","secondarySidebarLabel","hasSecondarySidebar","BlockStyles","BlockBreadcrumb","rootLabelText","previous","UnsavedChangesWarning","isDirty","warnIfUnsavedChanges","returnValue","WelcomeGuide","isEntirelyBlockWidgets","every","startsWith","numWidgetAreas","Guide","contentLabel","finishButtonText","onFinish","pages","image","WelcomeGuideImage","nonAnimatedSrc","animatedSrc","_n","ExternalLink","createInterpolateElement","InserterIconImage","alt","src","srcSet","media","width","height","Popover","PluginArea","disabledBlocks","reinitializeEditor","unmountComponentAtNode","initialize","getElementById","coreBlocks","__experimentalGetCoreBlocks","fixedToolbar","welcomeGuide","showBlockBreadcrumbs","themeStyles","blocksStore","__experimentalReapplyBlockTypeFilters","registerCoreBlocks","registerLegacyWidgetBlock","__experimentalRegisterExperimentalCoreBlocks","enableFSEBlocks","registerLegacyWidgetVariations","registerBlock","registerWidgetGroupBlock","__experimentalFetchLinkSuggestions","search","searchOptions","fetchLinkSuggestions","setFreeformContentHandlerName","unstable__bootstrapServerSideBlockDefinitions","registerBlockType"],"sourceRoot":""}

Zerion Mini Shell 1.0