%PDF- %PDF-
Mini Shell

Mini Shell

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

{"version":3,"file":"./build/customize-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\",\"blockLibrary\"]","webpack://wp/external window [\"wp\",\"widgets\"]","webpack://wp/external window [\"wp\",\"blocks\"]","webpack://wp/external window [\"wp\",\"data\"]","webpack://wp/external window [\"wp\",\"preferences\"]","webpack://wp/external window [\"wp\",\"components\"]","webpack://wp/external window [\"wp\",\"keyboardShortcuts\"]","webpack://wp/external window [\"wp\",\"i18n\"]","webpack://wp/external window [\"wp\",\"blockEditor\"]","webpack://wp/external window [\"wp\",\"compose\"]","webpack://wp/external window [\"wp\",\"hooks\"]","webpack://wp/./packages/customize-widgets/build-module/components/error-boundary/@wordpress/customize-widgets/src/components/error-boundary/index.js","webpack://wp/external window [\"wp\",\"coreData\"]","webpack://wp/external window [\"wp\",\"mediaUtils\"]","webpack://wp/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wp/./packages/customize-widgets/build-module/components/block-inspector-button/@wordpress/customize-widgets/src/components/block-inspector-button/index.js","webpack://wp/external window [\"wp\",\"keycodes\"]","webpack://wp/external window [\"wp\",\"primitives\"]","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/./packages/icons/build-module/library/@wordpress/icons/src/library/plus.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/close-small.js","webpack://wp/./packages/customize-widgets/build-module/store/@wordpress/customize-widgets/src/store/selectors.js","webpack://wp/./packages/customize-widgets/build-module/store/@wordpress/customize-widgets/src/store/actions.js","webpack://wp/./packages/customize-widgets/build-module/store/@wordpress/customize-widgets/src/store/constants.js","webpack://wp/./packages/customize-widgets/build-module/store/@wordpress/customize-widgets/src/store/index.js","webpack://wp/./packages/customize-widgets/build-module/store/@wordpress/customize-widgets/src/store/reducer.js","webpack://wp/./packages/customize-widgets/build-module/components/inserter/@wordpress/customize-widgets/src/components/inserter/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/external.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\",\"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/./packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/@wordpress/customize-widgets/src/components/keyboard-shortcut-help-modal/config.js","webpack://wp/external window \"lodash\"","webpack://wp/./packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/@wordpress/customize-widgets/src/components/keyboard-shortcut-help-modal/shortcut.js","webpack://wp/./packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/@wordpress/customize-widgets/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js","webpack://wp/./packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/@wordpress/customize-widgets/src/components/keyboard-shortcut-help-modal/index.js","webpack://wp/./packages/customize-widgets/build-module/components/more-menu/@wordpress/customize-widgets/src/components/more-menu/index.js","webpack://wp/./packages/customize-widgets/build-module/components/header/@wordpress/customize-widgets/src/components/header/index.js","webpack://wp/external window [\"wp\",\"isShallowEqual\"]","webpack://wp/./packages/customize-widgets/build-module/@wordpress/customize-widgets/src/utils.js","webpack://wp/./packages/customize-widgets/build-module/components/focus-control/@wordpress/customize-widgets/src/components/focus-control/index.js","webpack://wp/./packages/customize-widgets/build-module/components/sidebar-block-editor/@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-editor-provider.js","webpack://wp/./packages/customize-widgets/build-module/components/sidebar-block-editor/@wordpress/customize-widgets/src/components/sidebar-block-editor/use-sidebar-block-editor.js","webpack://wp/./packages/customize-widgets/build-module/components/focus-control/@wordpress/customize-widgets/src/components/focus-control/use-blocks-focus-control.js","webpack://wp/./packages/customize-widgets/build-module/components/welcome-guide/@wordpress/customize-widgets/src/components/welcome-guide/index.js","webpack://wp/./packages/customize-widgets/build-module/components/keyboard-shortcuts/@wordpress/customize-widgets/src/components/keyboard-shortcuts/index.js","webpack://wp/./packages/customize-widgets/build-module/components/block-appender/@wordpress/customize-widgets/src/components/block-appender/index.js","webpack://wp/./packages/customize-widgets/build-module/components/sidebar-block-editor/@wordpress/customize-widgets/src/components/sidebar-block-editor/index.js","webpack://wp/./packages/customize-widgets/build-module/components/inserter/@wordpress/customize-widgets/src/components/inserter/use-inserter.js","webpack://wp/./packages/customize-widgets/build-module/components/sidebar-controls/@wordpress/customize-widgets/src/components/sidebar-controls/index.js","webpack://wp/./packages/customize-widgets/build-module/components/customize-widgets/@wordpress/customize-widgets/src/components/customize-widgets/index.js","webpack://wp/./packages/customize-widgets/build-module/components/customize-widgets/@wordpress/customize-widgets/src/components/customize-widgets/use-clear-selected-block.js","webpack://wp/./packages/customize-widgets/build-module/components/sidebar-block-editor/@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-adapter.js","webpack://wp/external window [\"wp\",\"dom\"]","webpack://wp/./packages/customize-widgets/build-module/filters/@wordpress/customize-widgets/src/filters/move-to-sidebar.js","webpack://wp/./packages/customize-widgets/build-module/filters/@wordpress/customize-widgets/src/filters/replace-media-upload.js","webpack://wp/./packages/customize-widgets/build-module/filters/@wordpress/customize-widgets/src/filters/wide-widget-display.js","webpack://wp/./packages/customize-widgets/build-module/@wordpress/customize-widgets/src/index.js","webpack://wp/./packages/customize-widgets/build-module/controls/@wordpress/customize-widgets/src/controls/sidebar-control.js","webpack://wp/./packages/customize-widgets/build-module/controls/@wordpress/customize-widgets/src/controls/inserter-outer-section.js","webpack://wp/./packages/customize-widgets/build-module/controls/@wordpress/customize-widgets/src/controls/sidebar-section.js","webpack://wp/./packages/customize-widgets/build-module/controls/@wordpress/customize-widgets/src/controls/inspector-section.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\"][\"blockLibrary\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"widgets\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blocks\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"data\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"preferences\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"components\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"keyboardShortcuts\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blockEditor\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"compose\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"hooks\"];","/**\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\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\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=\"customize-widgets-error-boundary\"\n\t\t\t\tactions={ [\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\"][\"coreData\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"mediaUtils\"];","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}","/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nfunction BlockInspectorButton( { inspector, closeMenu, ...props } ) {\n\tconst selectedBlockClientId = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSelectedBlockClientId(),\n\t\t[]\n\t);\n\n\tconst selectedBlock = useMemo(\n\t\t() => document.getElementById( `block-${ selectedBlockClientId }` ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\t// Open the inspector.\n\t\t\t\tinspector.open( {\n\t\t\t\t\treturnFocusWhenClose: selectedBlock,\n\t\t\t\t} );\n\t\t\t\t// Then close the dropdown menu.\n\t\t\t\tcloseMenu();\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ __( 'Show more settings' ) }\n\t\t</MenuItem>\n\t);\n}\n\nexport default BlockInspectorButton;\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"keycodes\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"primitives\"];","/**\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","/**\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 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","/**\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 * 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 * Module Constants\n */\nexport const STORE_NAME = 'core/customize-widgets';\n","/**\n * WordPress dependencies\n */\nimport { createReduxStore, register } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\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#registering-a-store\n *\n * @type {Object}\n */\nconst storeConfig = {\n\treducer,\n\tselectors,\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 * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer tracking whether the inserter is open.\n *\n * @param {boolean|Object} state\n * @param {Object}         action\n */\nfunction blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\nexport default combineReducers( {\n\tblockInserterPanel,\n} );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalLibrary as Library } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as customizeWidgetsStore } from '../../store';\n\nfunction Inserter( { setIsOpened } ) {\n\tconst inserterTitleId = useInstanceId(\n\t\tInserter,\n\t\t'customize-widget-layout__inserter-panel-title'\n\t);\n\tconst insertionPoint = useSelect(\n\t\t( select ) =>\n\t\t\tselect( customizeWidgetsStore ).__experimentalGetInsertionPoint(),\n\t\t[]\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"customize-widgets-layout__inserter-panel\"\n\t\t\taria-labelledby={ inserterTitleId }\n\t\t>\n\t\t\t<div className=\"customize-widgets-layout__inserter-panel-header\">\n\t\t\t\t<h2\n\t\t\t\t\tid={ inserterTitleId }\n\t\t\t\t\tclassName=\"customize-widgets-layout__inserter-panel-header-title\"\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add a block' ) }\n\t\t\t\t</h2>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"customize-widgets-layout__inserter-panel-header-close-button\"\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tonClick={ () => setIsOpened( false ) }\n\t\t\t\t\taria-label={ __( 'Close inserter' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"customize-widgets-layout__inserter-panel-content\">\n\t\t\t\t<Library\n\t\t\t\t\trootClientId={ insertionPoint.rootClientId }\n\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\tinsertionPoint.insertionIndex\n\t\t\t\t\t}\n\t\t\t\t\tshowInserterHelpPanel\n\t\t\t\t\tonSelect={ () => setIsOpened( false ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default Inserter;\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 { 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\"][\"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","/**\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","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"lodash\"];","/**\n * External dependencies\n */\nimport { castArray } from 'lodash';\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\n\treturn (\n\t\t<kbd\n\t\t\tclassName=\"customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination\"\n\t\t\taria-label={ forceAriaLabel || ariaLabel }\n\t\t>\n\t\t\t{ castArray( shortcut ).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=\"customize-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=\"customize-widgets-keyboard-shortcut-help-modal__shortcut-description\">\n\t\t\t\t{ description }\n\t\t\t</div>\n\t\t\t<div className=\"customize-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 { useDispatch, 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=\"customize-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=\"customize-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'customize-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=\"customize-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\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tregisterShortcut( {\n\t\tname: 'core/customize-widgets/keyboard-shortcuts',\n\t\tcategory: 'main',\n\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\tkeyCombination: {\n\t\t\tmodifier: 'access',\n\t\t\tcharacter: 'h',\n\t\t},\n\t} );\n\n\tuseShortcut( 'core/customize-widgets/keyboard-shortcuts', toggleModal );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"customize-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=\"customize-widgets-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/customize-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 {\n\tMenuGroup,\n\tMenuItem,\n\tToolbarDropdownMenu,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { external } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { MoreMenuDropdown } from '@wordpress/interface';\nimport { PreferenceToggleMenuItem } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\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/customize-widgets/keyboard-shortcuts',\n\t\ttoggleKeyboardShortcutsModal\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<MoreMenuDropdown as={ ToolbarDropdownMenu }>\n\t\t\t\t{ () => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup label={ _x( 'View', 'noun' ) }>\n\t\t\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\t\t\tscope=\"core/customize-widgets\"\n\t\t\t\t\t\t\t\tname=\"fixedToolbar\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\t\t\t\t\tinfo={ __(\n\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) }\n\t\t\t\t\t\t\t\tmessageActivated={ __(\n\t\t\t\t\t\t\t\t\t'Top toolbar 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'Top toolbar 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</MenuGroup>\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/customize-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</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/customize-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</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 * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createPortal, useState, useEffect } from '@wordpress/element';\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport { ToolbarButton } from '@wordpress/components';\nimport { NavigableToolbar } from '@wordpress/block-editor';\nimport { displayShortcut, isAppleOS } from '@wordpress/keycodes';\nimport { plus, undo as undoIcon, redo as redoIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport MoreMenu from '../more-menu';\n\nfunction Header( {\n\tsidebar,\n\tinserter,\n\tisInserterOpened,\n\tsetIsInserterOpened,\n\tisFixedToolbarActive,\n} ) {\n\tconst [ [ hasUndo, hasRedo ], setUndoRedo ] = useState( [\n\t\tsidebar.hasUndo(),\n\t\tsidebar.hasRedo(),\n\t] );\n\n\tconst shortcut = isAppleOS()\n\t\t? displayShortcut.primaryShift( 'z' )\n\t\t: displayShortcut.primary( 'y' );\n\n\tuseEffect( () => {\n\t\treturn sidebar.subscribeHistory( () => {\n\t\t\tsetUndoRedo( [ sidebar.hasUndo(), sidebar.hasRedo() ] );\n\t\t} );\n\t}, [ sidebar ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'customize-widgets-header', {\n\t\t\t\t\t'is-fixed-toolbar-active': isFixedToolbarActive,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<NavigableToolbar\n\t\t\t\t\tclassName=\"customize-widgets-header-toolbar\"\n\t\t\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\t\t>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ ! isRTL() ? undoIcon : redoIcon }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'Undo' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'z' ) }\n\t\t\t\t\t\t// If there are no undo levels we don't want to actually disable this\n\t\t\t\t\t\t// button, because it will remove focus for keyboard users.\n\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/3486\n\t\t\t\t\t\taria-disabled={ ! hasUndo }\n\t\t\t\t\t\tonClick={ sidebar.undo }\n\t\t\t\t\t\tclassName=\"customize-widgets-editor-history-button undo-button\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ ! isRTL() ? redoIcon : undoIcon }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'Redo' ) }\n\t\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t\t\t// If there are no undo levels we don't want to actually disable this\n\t\t\t\t\t\t// button, because it will remove focus for keyboard users.\n\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/3486\n\t\t\t\t\t\taria-disabled={ ! hasRedo }\n\t\t\t\t\t\tonClick={ sidebar.redo }\n\t\t\t\t\t\tclassName=\"customize-widgets-editor-history-button redo-button\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tclassName=\"customize-widgets-header-toolbar__inserter-toggle\"\n\t\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t'Add block',\n\t\t\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsInserterOpened( ( isOpen ) => ! isOpen );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<MoreMenu />\n\t\t\t\t</NavigableToolbar>\n\t\t\t</div>\n\n\t\t\t{ createPortal(\n\t\t\t\t<Inserter setIsOpened={ setIsInserterOpened } />,\n\t\t\t\tinserter.contentContainer[ 0 ]\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Header;\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"isShallowEqual\"];","// @ts-check\n/**\n * WordPress dependencies\n */\nimport { serialize, parse, createBlock } from '@wordpress/blocks';\nimport { addWidgetIdToBlock } from '@wordpress/widgets';\n\n/**\n * Convert settingId to widgetId.\n *\n * @param {string} settingId The setting id.\n * @return {string} The widget id.\n */\nexport function settingIdToWidgetId( settingId ) {\n\tconst matches = settingId.match( /^widget_(.+)(?:\\[(\\d+)\\])$/ );\n\n\tif ( matches ) {\n\t\tconst idBase = matches[ 1 ];\n\t\tconst number = parseInt( matches[ 2 ], 10 );\n\n\t\treturn `${ idBase }-${ number }`;\n\t}\n\n\treturn settingId;\n}\n\n/**\n * Transform a block to a customizable widget.\n *\n * @param {WPBlock} block          The block to be transformed from.\n * @param {Object}  existingWidget The widget to be extended from.\n * @return {Object} The transformed widget.\n */\nexport function blockToWidget( block, existingWidget = null ) {\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\tif ( block.attributes.id ) {\n\t\t\t// Widget that does not extend WP_Widget.\n\t\t\twidget = {\n\t\t\t\tid: block.attributes.id,\n\t\t\t};\n\t\t} else {\n\t\t\tconst { encoded, hash, raw, ...rest } = block.attributes.instance;\n\n\t\t\t// Widget that extends WP_Widget.\n\t\t\twidget = {\n\t\t\t\tidBase: block.attributes.idBase,\n\t\t\t\tinstance: {\n\t\t\t\t\t...existingWidget?.instance,\n\t\t\t\t\t// Required only for the customizer.\n\t\t\t\t\tis_widget_customizer_js_value: true,\n\t\t\t\t\tencoded_serialized_instance: encoded,\n\t\t\t\t\tinstance_hash_key: hash,\n\t\t\t\t\traw_instance: raw,\n\t\t\t\t\t...rest,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t} else {\n\t\tconst instance = {\n\t\t\tcontent: serialize( block ),\n\t\t};\n\t\twidget = {\n\t\t\tidBase: 'block',\n\t\t\twidgetClass: 'WP_Widget_Block',\n\t\t\tinstance: {\n\t\t\t\traw_instance: instance,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst { form, rendered, ...restExistingWidget } = existingWidget || {};\n\n\treturn {\n\t\t...restExistingWidget,\n\t\t...widget,\n\t};\n}\n\n/**\n * Transform a widget to a block.\n *\n * @param {Object} widget          The widget to be transformed from.\n * @param {string} widget.id       The widget id.\n * @param {string} widget.idBase   The id base of the widget.\n * @param {number} widget.number   The number/index of the widget.\n * @param {Object} widget.instance The instance of the widget.\n * @return {WPBlock} The transformed block.\n */\nexport function widgetToBlock( { id, idBase, number, instance } ) {\n\tlet block;\n\n\tconst {\n\t\tencoded_serialized_instance: encoded,\n\t\tinstance_hash_key: hash,\n\t\traw_instance: raw,\n\t\t...rest\n\t} = instance;\n\n\tif ( idBase === 'block' ) {\n\t\tconst parsedBlocks = parse( raw.content, {\n\t\t\t__unstableSkipAutop: true,\n\t\t} );\n\t\tblock = parsedBlocks.length\n\t\t\t? parsedBlocks[ 0 ]\n\t\t\t: createBlock( 'core/paragraph', {} );\n\t} else if ( number ) {\n\t\t// Widget that extends WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tidBase,\n\t\t\tinstance: {\n\t\t\t\tencoded,\n\t\t\t\thash,\n\t\t\t\traw,\n\t\t\t\t...rest,\n\t\t\t},\n\t\t} );\n\t} else {\n\t\t// Widget that does not extend WP_Widget.\n\t\tblock = createBlock( 'core/legacy-widget', {\n\t\t\tid,\n\t\t} );\n\t}\n\n\treturn addWidgetIdToBlock( block, id );\n}\n","/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseState,\n\tuseEffect,\n\tuseContext,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst FocusControlContext = createContext();\n\nexport default function FocusControl( { api, sidebarControls, children } ) {\n\tconst [ focusedWidgetIdRef, setFocusedWidgetIdRef ] = useState( {\n\t\tcurrent: null,\n\t} );\n\n\tconst focusWidget = useCallback(\n\t\t( widgetId ) => {\n\t\t\tfor ( const sidebarControl of sidebarControls ) {\n\t\t\t\tconst widgets = sidebarControl.setting.get();\n\n\t\t\t\tif ( widgets.includes( widgetId ) ) {\n\t\t\t\t\tsidebarControl.sectionInstance.expand( {\n\t\t\t\t\t\t// Schedule it after the complete callback so that\n\t\t\t\t\t\t// it won't be overridden by the \"Back\" button focus.\n\t\t\t\t\t\tcompleteCallback() {\n\t\t\t\t\t\t\t// Create a \"ref-like\" object every time to ensure\n\t\t\t\t\t\t\t// the same widget id can also triggers the focus control.\n\t\t\t\t\t\t\tsetFocusedWidgetIdRef( { current: widgetId } );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ sidebarControls ]\n\t);\n\n\tuseEffect( () => {\n\t\tfunction handleFocus( settingId ) {\n\t\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\t\tfocusWidget( widgetId );\n\t\t}\n\n\t\tfunction handleReady() {\n\t\t\tapi.previewer.preview.bind(\n\t\t\t\t'focus-control-for-setting',\n\t\t\t\thandleFocus\n\t\t\t);\n\t\t}\n\n\t\tapi.previewer.bind( 'ready', handleReady );\n\n\t\treturn () => {\n\t\t\tapi.previewer.unbind( 'ready', handleReady );\n\t\t\tapi.previewer.preview.unbind(\n\t\t\t\t'focus-control-for-setting',\n\t\t\t\thandleFocus\n\t\t\t);\n\t\t};\n\t}, [ api, focusWidget ] );\n\n\tconst context = useMemo(\n\t\t() => [ focusedWidgetIdRef, focusWidget ],\n\t\t[ focusedWidgetIdRef, focusWidget ]\n\t);\n\n\treturn (\n\t\t<FocusControlContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</FocusControlContext.Provider>\n\t);\n}\n\nexport const useFocusControl = () => useContext( FocusControlContext );\n","/**\n * WordPress dependencies\n */\nimport { BlockEditorProvider } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport useSidebarBlockEditor from './use-sidebar-block-editor';\nimport useBlocksFocusControl from '../focus-control/use-blocks-focus-control';\n\nexport default function SidebarEditorProvider( {\n\tsidebar,\n\tsettings,\n\tchildren,\n} ) {\n\tconst [ blocks, onInput, onChange ] = useSidebarBlockEditor( sidebar );\n\n\tuseBlocksFocusControl( blocks );\n\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tvalue={ blocks }\n\t\t\tonInput={ onInput }\n\t\t\tonChange={ onChange }\n\t\t\tsettings={ settings }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t{ children }\n\t\t</BlockEditorProvider>\n\t);\n}\n","/**\n * External dependencies\n */\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { getWidgetIdFromBlock, addWidgetIdToBlock } from '@wordpress/widgets';\n\n/**\n * Internal dependencies\n */\nimport { blockToWidget, widgetToBlock } from '../../utils';\n\nfunction widgetsToBlocks( widgets ) {\n\treturn widgets.map( ( widget ) => widgetToBlock( widget ) );\n}\n\nexport default function useSidebarBlockEditor( sidebar ) {\n\tconst [ blocks, setBlocks ] = useState( () =>\n\t\twidgetsToBlocks( sidebar.getWidgets() )\n\t);\n\n\tuseEffect( () => {\n\t\treturn sidebar.subscribe( ( prevWidgets, nextWidgets ) => {\n\t\t\tsetBlocks( ( prevBlocks ) => {\n\t\t\t\tconst prevWidgetsMap = new Map(\n\t\t\t\t\tprevWidgets.map( ( widget ) => [ widget.id, widget ] )\n\t\t\t\t);\n\t\t\t\tconst prevBlocksMap = new Map(\n\t\t\t\t\tprevBlocks.map( ( block ) => [\n\t\t\t\t\t\tgetWidgetIdFromBlock( block ),\n\t\t\t\t\t\tblock,\n\t\t\t\t\t] )\n\t\t\t\t);\n\n\t\t\t\tconst nextBlocks = nextWidgets.map( ( nextWidget ) => {\n\t\t\t\t\tconst prevWidget = prevWidgetsMap.get( nextWidget.id );\n\n\t\t\t\t\t// Bail out updates.\n\t\t\t\t\tif ( prevWidget && prevWidget === nextWidget ) {\n\t\t\t\t\t\treturn prevBlocksMap.get( nextWidget.id );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn widgetToBlock( nextWidget );\n\t\t\t\t} );\n\n\t\t\t\t// Bail out updates.\n\t\t\t\tif ( isShallowEqual( prevBlocks, nextBlocks ) ) {\n\t\t\t\t\treturn prevBlocks;\n\t\t\t\t}\n\n\t\t\t\treturn nextBlocks;\n\t\t\t} );\n\t\t} );\n\t}, [ sidebar ] );\n\n\tconst onChangeBlocks = useCallback(\n\t\t( nextBlocks ) => {\n\t\t\tsetBlocks( ( prevBlocks ) => {\n\t\t\t\tif ( isShallowEqual( prevBlocks, nextBlocks ) ) {\n\t\t\t\t\treturn prevBlocks;\n\t\t\t\t}\n\n\t\t\t\tconst prevBlocksMap = new Map(\n\t\t\t\t\tprevBlocks.map( ( block ) => [\n\t\t\t\t\t\tgetWidgetIdFromBlock( block ),\n\t\t\t\t\t\tblock,\n\t\t\t\t\t] )\n\t\t\t\t);\n\n\t\t\t\tconst nextWidgets = nextBlocks.map( ( nextBlock ) => {\n\t\t\t\t\tconst widgetId = getWidgetIdFromBlock( nextBlock );\n\n\t\t\t\t\t// Update existing widgets.\n\t\t\t\t\tif ( widgetId && prevBlocksMap.has( widgetId ) ) {\n\t\t\t\t\t\tconst prevBlock = prevBlocksMap.get( widgetId );\n\t\t\t\t\t\tconst prevWidget = sidebar.getWidget( widgetId );\n\n\t\t\t\t\t\t// Bail out updates by returning the previous widgets.\n\t\t\t\t\t\t// Deep equality is necessary until the block editor's internals changes.\n\t\t\t\t\t\tif ( isEqual( nextBlock, prevBlock ) && prevWidget ) {\n\t\t\t\t\t\t\treturn prevWidget;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn blockToWidget( nextBlock, prevWidget );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add a new widget.\n\t\t\t\t\treturn blockToWidget( nextBlock );\n\t\t\t\t} );\n\n\t\t\t\t// Bail out updates if the updated widgets are the same.\n\t\t\t\tif ( isShallowEqual( sidebar.getWidgets(), nextWidgets ) ) {\n\t\t\t\t\treturn prevBlocks;\n\t\t\t\t}\n\n\t\t\t\tconst addedWidgetIds = sidebar.setWidgets( nextWidgets );\n\n\t\t\t\treturn nextBlocks.reduce(\n\t\t\t\t\t( updatedNextBlocks, nextBlock, index ) => {\n\t\t\t\t\t\tconst addedWidgetId = addedWidgetIds[ index ];\n\n\t\t\t\t\t\tif ( addedWidgetId !== null ) {\n\t\t\t\t\t\t\t// Only create a new instance if necessary to prevent\n\t\t\t\t\t\t\t// the whole editor from re-rendering on every edit.\n\t\t\t\t\t\t\tif ( updatedNextBlocks === nextBlocks ) {\n\t\t\t\t\t\t\t\tupdatedNextBlocks = nextBlocks.slice();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tupdatedNextBlocks[ index ] = addWidgetIdToBlock(\n\t\t\t\t\t\t\t\tnextBlock,\n\t\t\t\t\t\t\t\taddedWidgetId\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn updatedNextBlocks;\n\t\t\t\t\t},\n\t\t\t\t\tnextBlocks\n\t\t\t\t);\n\t\t\t} );\n\t\t},\n\t\t[ sidebar ]\n\t);\n\n\treturn [ blocks, onChangeBlocks, onChangeBlocks ];\n}\n","/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getWidgetIdFromBlock } from '@wordpress/widgets';\n\n/**\n * Internal dependencies\n */\nimport { useFocusControl } from '.';\n\nexport default function useBlocksFocusControl( blocks ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst [ focusedWidgetIdRef ] = useFocusControl();\n\n\tconst blocksRef = useRef( blocks );\n\n\tuseEffect( () => {\n\t\tblocksRef.current = blocks;\n\t}, [ blocks ] );\n\n\tuseEffect( () => {\n\t\tif ( focusedWidgetIdRef.current ) {\n\t\t\tconst focusedBlock = blocksRef.current.find(\n\t\t\t\t( block ) =>\n\t\t\t\t\tgetWidgetIdFromBlock( block ) === focusedWidgetIdRef.current\n\t\t\t);\n\n\t\t\tif ( focusedBlock ) {\n\t\t\t\tselectBlock( focusedBlock.clientId );\n\t\t\t\t// If the block is already being selected, the DOM node won't\n\t\t\t\t// get focused again automatically.\n\t\t\t\t// We select the DOM and focus it manually here.\n\t\t\t\tconst blockNode = document.querySelector(\n\t\t\t\t\t`[data-block=\"${ focusedBlock.clientId }\"]`\n\t\t\t\t);\n\t\t\t\tblockNode?.focus();\n\t\t\t}\n\t\t}\n\t}, [ focusedWidgetIdRef, selectBlock ] );\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button, ExternalLink } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\nexport default function WelcomeGuide( { sidebar } ) {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst isEntirelyBlockWidgets = sidebar\n\t\t.getWidgets()\n\t\t.every( ( widget ) => widget.id.startsWith( 'block-' ) );\n\n\treturn (\n\t\t<div className=\"customize-widgets-welcome-guide\">\n\t\t\t<div className=\"customize-widgets-welcome-guide__image__wrapper\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source\n\t\t\t\t\t\tsrcSet=\"https://s.w.org/images/block-editor/welcome-editor.svg\"\n\t\t\t\t\t\tmedia=\"(prefers-reduced-motion: reduce)\"\n\t\t\t\t\t/>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName=\"customize-widgets-welcome-guide__image\"\n\t\t\t\t\t\tsrc=\"https://s.w.org/images/block-editor/welcome-editor.gif\"\n\t\t\t\t\t\twidth=\"312\"\n\t\t\t\t\t\theight=\"240\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t/>\n\t\t\t\t</picture>\n\t\t\t</div>\n\t\t\t<h1 className=\"customize-widgets-welcome-guide__heading\">\n\t\t\t\t{ __( 'Welcome to block Widgets' ) }\n\t\t\t</h1>\n\t\t\t<p className=\"customize-widgets-welcome-guide__text\">\n\t\t\t\t{ isEntirelyBlockWidgets\n\t\t\t\t\t? __(\n\t\t\t\t\t\t\t'Your theme provides 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  )\n\t\t\t\t\t: __(\n\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  ) }\n\t\t\t</p>\n\t\t\t<Button\n\t\t\t\tclassName=\"customize-widgets-welcome-guide__button\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () =>\n\t\t\t\t\ttoggle( 'core/customize-widgets', 'welcomeGuide' )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ __( 'Got it' ) }\n\t\t\t</Button>\n\t\t\t<hr className=\"customize-widgets-welcome-guide__separator\" />\n\t\t\t{ ! isEntirelyBlockWidgets && (\n\t\t\t\t<p className=\"customize-widgets-welcome-guide__more-info\">\n\t\t\t\t\t{ __( 'Want to stick with the old widgets?' ) }\n\t\t\t\t\t<br />\n\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t'https://wordpress.org/plugins/classic-widgets/'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Get the Classic Widgets plugin.' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t<p className=\"customize-widgets-welcome-guide__more-info\">\n\t\t\t\t{ __( 'New to the block editor?' ) }\n\t\t\t\t<br />\n\t\t\t\t<ExternalLink\n\t\t\t\t\thref={ __(\n\t\t\t\t\t\t'https://wordpress.org/support/article/wordpress-editor/'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( \"Here's a detailed guide.\" ) }\n\t\t\t\t</ExternalLink>\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n","/**\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';\n\nfunction KeyboardShortcuts( { undo, redo, save } ) {\n\tuseShortcut( 'core/customize-widgets/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/customize-widgets/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/customize-widgets/save', ( event ) => {\n\t\tevent.preventDefault();\n\t\tsave();\n\t} );\n\n\treturn null;\n}\n\nfunction KeyboardShortcutsRegister() {\n\tconst { registerShortcut, unregisterShortcut } = useDispatch(\n\t\tkeyboardShortcutsStore\n\t);\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/customize-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/customize-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/customize-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\treturn () => {\n\t\t\tunregisterShortcut( 'core/customize-widgets/undo' );\n\t\t\tunregisterShortcut( 'core/customize-widgets/redo' );\n\t\t\tunregisterShortcut( 'core/customize-widgets/save' );\n\t\t};\n\t}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nKeyboardShortcuts.Register = KeyboardShortcutsRegister;\nexport default KeyboardShortcuts;\n","/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\nimport {\n\tButtonBlockAppender,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nexport default function BlockAppender( props ) {\n\tconst ref = useRef();\n\tconst isBlocksListEmpty = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlockCount() === 0\n\t);\n\n\t// Move the focus to the block appender to prevent focus from\n\t// being lost when emptying the widget area.\n\tuseEffect( () => {\n\t\tif ( isBlocksListEmpty && ref.current ) {\n\t\t\tconst { ownerDocument } = ref.current;\n\n\t\t\tif (\n\t\t\t\t! ownerDocument.activeElement ||\n\t\t\t\townerDocument.activeElement === ownerDocument.body\n\t\t\t) {\n\t\t\t\tref.current.focus();\n\t\t\t}\n\t\t}\n\t}, [ isBlocksListEmpty ] );\n\n\treturn <ButtonBlockAppender { ...props } ref={ ref } />;\n}\n","/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, createPortal } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockTools,\n\tBlockSelectionClearer,\n\tBlockInspector,\n\tCopyHandler,\n\tObserveTyping,\n\tWritingFlow,\n\tBlockEditorKeyboardShortcuts,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__unstableEditorStyles as EditorStyles,\n} from '@wordpress/block-editor';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from '../block-inspector-button';\nimport Header from '../header';\nimport useInserter from '../inserter/use-inserter';\nimport SidebarEditorProvider from './sidebar-editor-provider';\nimport WelcomeGuide from '../welcome-guide';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport BlockAppender from '../block-appender';\n\nexport default function SidebarBlockEditor( {\n\tblockEditorSettings,\n\tsidebar,\n\tinserter,\n\tinspector,\n} ) {\n\tconst [ isInserterOpened, setIsInserterOpened ] = useInserter( inserter );\n\tconst {\n\t\thasUploadPermissions,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tisWelcomeGuideActive,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\thasUploadPermissions:\n\t\t\t\tselect( coreStore ).canUser( 'create', 'media' ) ?? true,\n\t\t\tisFixedToolbarActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tisWelcomeGuideActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'welcomeGuide'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst settings = useMemo( () => {\n\t\tlet mediaUploadBlockEditor;\n\t\tif ( hasUploadPermissions ) {\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\n\t\treturn {\n\t\t\t...blockEditorSettings,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tmediaUpload: mediaUploadBlockEditor,\n\t\t\thasFixedToolbar: isFixedToolbarActive,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t__unstableHasCustomAppender: true,\n\t\t};\n\t}, [\n\t\thasUploadPermissions,\n\t\tblockEditorSettings,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tsetIsInserterOpened,\n\t] );\n\n\tif ( isWelcomeGuideActive ) {\n\t\treturn <WelcomeGuide sidebar={ sidebar } />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockEditorKeyboardShortcuts.Register />\n\t\t\t<KeyboardShortcuts.Register />\n\n\t\t\t<SidebarEditorProvider sidebar={ sidebar } settings={ settings }>\n\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\tundo={ sidebar.undo }\n\t\t\t\t\tredo={ sidebar.redo }\n\t\t\t\t\tsave={ sidebar.save }\n\t\t\t\t/>\n\n\t\t\t\t<Header\n\t\t\t\t\tsidebar={ sidebar }\n\t\t\t\t\tinserter={ inserter }\n\t\t\t\t\tisInserterOpened={ isInserterOpened }\n\t\t\t\t\tsetIsInserterOpened={ setIsInserterOpened }\n\t\t\t\t\tisFixedToolbarActive={ isFixedToolbarActive }\n\t\t\t\t/>\n\n\t\t\t\t<CopyHandler>\n\t\t\t\t\t<BlockTools>\n\t\t\t\t\t\t<EditorStyles styles={ settings.defaultEditorStyles } />\n\t\t\t\t\t\t<BlockSelectionClearer>\n\t\t\t\t\t\t\t<WritingFlow className=\"editor-styles-wrapper\">\n\t\t\t\t\t\t\t\t<ObserveTyping>\n\t\t\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\t\t\trenderAppender={ BlockAppender }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ObserveTyping>\n\t\t\t\t\t\t\t</WritingFlow>\n\t\t\t\t\t\t</BlockSelectionClearer>\n\t\t\t\t\t</BlockTools>\n\t\t\t\t</CopyHandler>\n\n\t\t\t\t{ createPortal(\n\t\t\t\t\t// This is a temporary hack to prevent button component inside <BlockInspector>\n\t\t\t\t\t// from submitting form when type=\"button\" is not specified.\n\t\t\t\t\t<form onSubmit={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t</form>,\n\t\t\t\t\tinspector.contentContainer[ 0 ]\n\t\t\t\t) }\n\t\t\t</SidebarEditorProvider>\n\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton\n\t\t\t\t\t\tinspector={ inspector }\n\t\t\t\t\t\tcloseMenu={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useEffect, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch, select as selectStore } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as customizeWidgetsStore } from '../../store';\n\nexport default function useInserter( inserter ) {\n\tconst isInserterOpened = useSelect(\n\t\t( select ) => select( customizeWidgetsStore ).isInserterOpened(),\n\t\t[]\n\t);\n\tconst { setIsInserterOpened } = useDispatch( customizeWidgetsStore );\n\n\tuseEffect( () => {\n\t\tif ( isInserterOpened ) {\n\t\t\tinserter.open();\n\t\t} else {\n\t\t\tinserter.close();\n\t\t}\n\t}, [ inserter, isInserterOpened ] );\n\n\treturn [\n\t\tisInserterOpened,\n\t\tuseCallback(\n\t\t\t( updater ) => {\n\t\t\t\tlet isOpen = updater;\n\t\t\t\tif ( typeof updater === 'function' ) {\n\t\t\t\t\tisOpen = updater(\n\t\t\t\t\t\tselectStore( customizeWidgetsStore ).isInserterOpened()\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tsetIsInserterOpened( isOpen );\n\t\t\t},\n\t\t\t[ setIsInserterOpened ]\n\t\t),\n\t];\n}\n","/**\n * WordPress dependencies\n */\nimport { createContext, useMemo, useContext } from '@wordpress/element';\n\nexport const SidebarControlsContext = createContext();\n\nexport default function SidebarControls( {\n\tsidebarControls,\n\tactiveSidebarControl,\n\tchildren,\n} ) {\n\tconst context = useMemo(\n\t\t() => ( {\n\t\t\tsidebarControls,\n\t\t\tactiveSidebarControl,\n\t\t} ),\n\t\t[ sidebarControls, activeSidebarControl ]\n\t);\n\n\treturn (\n\t\t<SidebarControlsContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</SidebarControlsContext.Provider>\n\t);\n}\n\nexport function useSidebarControls() {\n\tconst { sidebarControls } = useContext( SidebarControlsContext );\n\n\treturn sidebarControls;\n}\n\nexport function useActiveSidebarControl() {\n\tconst { activeSidebarControl } = useContext( SidebarControlsContext );\n\n\treturn activeSidebarControl;\n}\n","/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, createPortal } from '@wordpress/element';\nimport { SlotFillProvider, Popover } from '@wordpress/components';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport ErrorBoundary from '../error-boundary';\nimport SidebarBlockEditor from '../sidebar-block-editor';\nimport FocusControl from '../focus-control';\nimport SidebarControls from '../sidebar-controls';\nimport useClearSelectedBlock from './use-clear-selected-block';\n\nexport default function CustomizeWidgets( {\n\tapi,\n\tsidebarControls,\n\tblockEditorSettings,\n} ) {\n\tconst [ activeSidebarControl, setActiveSidebarControl ] = useState( null );\n\tconst parentContainer = document.getElementById(\n\t\t'customize-theme-controls'\n\t);\n\tconst popoverRef = useRef();\n\n\tuseClearSelectedBlock( activeSidebarControl, popoverRef );\n\n\tuseEffect( () => {\n\t\tconst unsubscribers = sidebarControls.map( ( sidebarControl ) =>\n\t\t\tsidebarControl.subscribe( ( expanded ) => {\n\t\t\t\tif ( expanded ) {\n\t\t\t\t\tsetActiveSidebarControl( sidebarControl );\n\t\t\t\t}\n\t\t\t} )\n\t\t);\n\n\t\treturn () => {\n\t\t\tunsubscribers.forEach( ( unsubscriber ) => unsubscriber() );\n\t\t};\n\t}, [ sidebarControls ] );\n\n\tconst activeSidebar =\n\t\tactiveSidebarControl &&\n\t\tcreatePortal(\n\t\t\t<ErrorBoundary>\n\t\t\t\t<SidebarBlockEditor\n\t\t\t\t\tkey={ activeSidebarControl.id }\n\t\t\t\t\tblockEditorSettings={ blockEditorSettings }\n\t\t\t\t\tsidebar={ activeSidebarControl.sidebarAdapter }\n\t\t\t\t\tinserter={ activeSidebarControl.inserter }\n\t\t\t\t\tinspector={ activeSidebarControl.inspector }\n\t\t\t\t/>\n\t\t\t</ErrorBoundary>,\n\t\t\tactiveSidebarControl.container[ 0 ]\n\t\t);\n\n\t// We have to portal this to the parent of both the editor and the inspector,\n\t// so that the popovers will appear above both of them.\n\tconst popover =\n\t\tparentContainer &&\n\t\tcreatePortal(\n\t\t\t<div className=\"customize-widgets-popover\" ref={ popoverRef }>\n\t\t\t\t<Popover.Slot />\n\t\t\t</div>,\n\t\t\tparentContainer\n\t\t);\n\n\treturn (\n\t\t<ShortcutProvider>\n\t\t\t<SlotFillProvider>\n\t\t\t\t<SidebarControls\n\t\t\t\t\tsidebarControls={ sidebarControls }\n\t\t\t\t\tactiveSidebarControl={ activeSidebarControl }\n\t\t\t\t>\n\t\t\t\t\t<FocusControl\n\t\t\t\t\t\tapi={ api }\n\t\t\t\t\t\tsidebarControls={ sidebarControls }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ activeSidebar }\n\t\t\t\t\t\t{ popover }\n\t\t\t\t\t</FocusControl>\n\t\t\t\t</SidebarControls>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * We can't just use <BlockSelectionClearer> because the customizer has\n * many root nodes rather than just one in the post editor.\n * We need to listen to the focus events in all those roots, and also in\n * the preview iframe.\n * This hook will clear the selected block when focusing outside the editor,\n * with a few exceptions:\n * 1. Focusing on popovers.\n * 2. Focusing on the inspector.\n * 3. Focusing on any modals/dialogs.\n * These cases are normally triggered by user interactions from the editor,\n * not by explicitly focusing outside the editor, hence no need for clearing.\n *\n * @param {Object} sidebarControl The sidebar control instance.\n * @param {Object} popoverRef     The ref object of the popover node container.\n */\nexport default function useClearSelectedBlock( sidebarControl, popoverRef ) {\n\tconst { hasSelectedBlock, hasMultiSelection } =\n\t\tuseSelect( blockEditorStore );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( popoverRef.current && sidebarControl ) {\n\t\t\tconst inspector = sidebarControl.inspector;\n\t\t\tconst container = sidebarControl.container[ 0 ];\n\t\t\tconst ownerDocument = container.ownerDocument;\n\t\t\tconst ownerWindow = ownerDocument.defaultView;\n\n\t\t\tfunction handleClearSelectedBlock( element ) {\n\t\t\t\tif (\n\t\t\t\t\t// 1. Make sure there are blocks being selected.\n\t\t\t\t\t( hasSelectedBlock() || hasMultiSelection() ) &&\n\t\t\t\t\t// 2. The element should exist in the DOM (not deleted).\n\t\t\t\t\telement &&\n\t\t\t\t\townerDocument.contains( element ) &&\n\t\t\t\t\t// 3. It should also not exist in the container, the popover, nor the dialog.\n\t\t\t\t\t! container.contains( element ) &&\n\t\t\t\t\t! popoverRef.current.contains( element ) &&\n\t\t\t\t\t! element.closest( '[role=\"dialog\"]' ) &&\n\t\t\t\t\t// 4. The inspector should not be opened.\n\t\t\t\t\t! inspector.expanded()\n\t\t\t\t) {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Handle mouse down in the same document.\n\t\t\tfunction handleMouseDown( event ) {\n\t\t\t\thandleClearSelectedBlock( event.target );\n\t\t\t}\n\t\t\t// Handle focusing outside the current document, like to iframes.\n\t\t\tfunction handleBlur() {\n\t\t\t\thandleClearSelectedBlock( ownerDocument.activeElement );\n\t\t\t}\n\n\t\t\townerDocument.addEventListener( 'mousedown', handleMouseDown );\n\t\t\townerWindow.addEventListener( 'blur', handleBlur );\n\n\t\t\treturn () => {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'mousedown',\n\t\t\t\t\thandleMouseDown\n\t\t\t\t);\n\t\t\t\townerWindow.removeEventListener( 'blur', handleBlur );\n\t\t\t};\n\t\t}\n\t}, [\n\t\tpopoverRef,\n\t\tsidebarControl,\n\t\thasSelectedBlock,\n\t\thasMultiSelection,\n\t\tclearSelectedBlock,\n\t] );\n}\n","/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst { wp } = window;\n\nfunction parseWidgetId( widgetId ) {\n\tconst matches = widgetId.match( /^(.+)-(\\d+)$/ );\n\tif ( matches ) {\n\t\treturn {\n\t\t\tidBase: matches[ 1 ],\n\t\t\tnumber: parseInt( matches[ 2 ], 10 ),\n\t\t};\n\t}\n\n\t// Likely an old single widget.\n\treturn { idBase: widgetId };\n}\n\nfunction widgetIdToSettingId( widgetId ) {\n\tconst { idBase, number } = parseWidgetId( widgetId );\n\tif ( number ) {\n\t\treturn `widget_${ idBase }[${ number }]`;\n\t}\n\n\treturn `widget_${ idBase }`;\n}\n\n/**\n * This is a custom debounce function to call different callbacks depending on\n * whether it's the _leading_ call or not.\n *\n * @param {Function} leading  The callback that gets called first.\n * @param {Function} callback The callback that gets called after the first time.\n * @param {number}   timeout  The debounced time in milliseconds.\n * @return {Function} The debounced function.\n */\nfunction debounce( leading, callback, timeout ) {\n\tlet isLeading = false;\n\tlet timerID;\n\n\tfunction debounced( ...args ) {\n\t\tconst result = ( isLeading ? callback : leading ).apply( this, args );\n\n\t\tisLeading = true;\n\n\t\tclearTimeout( timerID );\n\n\t\ttimerID = setTimeout( () => {\n\t\t\tisLeading = false;\n\t\t}, timeout );\n\n\t\treturn result;\n\t}\n\n\tdebounced.cancel = () => {\n\t\tisLeading = false;\n\t\tclearTimeout( timerID );\n\t};\n\n\treturn debounced;\n}\n\nexport default class SidebarAdapter {\n\tconstructor( setting, api ) {\n\t\tthis.setting = setting;\n\t\tthis.api = api;\n\n\t\tthis.locked = false;\n\t\tthis.widgetsCache = new WeakMap();\n\t\tthis.subscribers = new Set();\n\n\t\tthis.history = [\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex = 0;\n\t\tthis.historySubscribers = new Set();\n\t\t// Debounce the input for 1 second.\n\t\tthis._debounceSetHistory = debounce(\n\t\t\tthis._pushHistory,\n\t\t\tthis._replaceHistory,\n\t\t\t1000\n\t\t);\n\n\t\tthis.setting.bind( this._handleSettingChange.bind( this ) );\n\t\tthis.api.bind( 'change', this._handleAllSettingsChange.bind( this ) );\n\n\t\tthis.undo = this.undo.bind( this );\n\t\tthis.redo = this.redo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t}\n\n\tsubscribe( callback ) {\n\t\tthis.subscribers.add( callback );\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete( callback );\n\t\t};\n\t}\n\n\tgetWidgets() {\n\t\treturn this.history[ this.historyIndex ];\n\t}\n\n\t_emit( ...args ) {\n\t\tfor ( const callback of this.subscribers ) {\n\t\t\tcallback( ...args );\n\t\t}\n\t}\n\n\t_getWidgetIds() {\n\t\treturn this.setting.get();\n\t}\n\n\t_pushHistory() {\n\t\tthis.history = [\n\t\t\t...this.history.slice( 0, this.historyIndex + 1 ),\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex += 1;\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t}\n\n\t_replaceHistory() {\n\t\tthis.history[ this.historyIndex ] = this._getWidgetIds().map(\n\t\t\t( widgetId ) => this.getWidget( widgetId )\n\t\t);\n\t}\n\n\t_handleSettingChange() {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_handleAllSettingsChange( setting ) {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! setting.id.startsWith( 'widget_' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widgetId = settingIdToWidgetId( setting.id );\n\t\tif ( ! this.setting.get().includes( widgetId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_createWidget( widget ) {\n\t\tconst widgetModel = wp.customize.Widgets.availableWidgets.findWhere( {\n\t\t\tid_base: widget.idBase,\n\t\t} );\n\n\t\tlet number = widget.number;\n\t\tif ( widgetModel.get( 'is_multi' ) && ! number ) {\n\t\t\twidgetModel.set(\n\t\t\t\t'multi_number',\n\t\t\t\twidgetModel.get( 'multi_number' ) + 1\n\t\t\t);\n\t\t\tnumber = widgetModel.get( 'multi_number' );\n\t\t}\n\n\t\tconst settingId = number\n\t\t\t? `widget_${ widget.idBase }[${ number }]`\n\t\t\t: `widget_${ widget.idBase }`;\n\n\t\tconst settingArgs = {\n\t\t\ttransport: wp.customize.Widgets.data.selectiveRefreshableWidgets[\n\t\t\t\twidgetModel.get( 'id_base' )\n\t\t\t]\n\t\t\t\t? 'postMessage'\n\t\t\t\t: 'refresh',\n\t\t\tpreviewer: this.setting.previewer,\n\t\t};\n\t\tconst setting = this.api.create(\n\t\t\tsettingId,\n\t\t\tsettingId,\n\t\t\t'',\n\t\t\tsettingArgs\n\t\t);\n\t\tsetting.set( widget.instance );\n\n\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\treturn widgetId;\n\t}\n\n\t_removeWidget( widget ) {\n\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( setting ) {\n\t\t\tconst instance = setting.get();\n\t\t\tthis.widgetsCache.delete( instance );\n\t\t}\n\n\t\tthis.api.remove( settingId );\n\t}\n\n\t_updateWidget( widget ) {\n\t\tconst prevWidget = this.getWidget( widget.id );\n\n\t\t// Bail out update if nothing changed.\n\t\tif ( prevWidget === widget ) {\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Update existing setting if only the widget's instance changed.\n\t\tif (\n\t\t\tprevWidget.idBase &&\n\t\t\twidget.idBase &&\n\t\t\tprevWidget.idBase === widget.idBase\n\t\t) {\n\t\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\t\tthis.api( settingId ).set( widget.instance );\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Otherwise delete and re-create.\n\t\tthis._removeWidget( widget );\n\t\treturn this._createWidget( widget );\n\t}\n\n\tgetWidget( widgetId ) {\n\t\tif ( ! widgetId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { idBase, number } = parseWidgetId( widgetId );\n\t\tconst settingId = widgetIdToSettingId( widgetId );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( ! setting ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst instance = setting.get();\n\n\t\tif ( this.widgetsCache.has( instance ) ) {\n\t\t\treturn this.widgetsCache.get( instance );\n\t\t}\n\n\t\tconst widget = {\n\t\t\tid: widgetId,\n\t\t\tidBase,\n\t\t\tnumber,\n\t\t\tinstance,\n\t\t};\n\n\t\tthis.widgetsCache.set( instance, widget );\n\n\t\treturn widget;\n\t}\n\n\t_updateWidgets( nextWidgets ) {\n\t\tthis.locked = true;\n\n\t\tconst addedWidgetIds = [];\n\n\t\tconst nextWidgetIds = nextWidgets.map( ( nextWidget ) => {\n\t\t\tif ( nextWidget.id && this.getWidget( nextWidget.id ) ) {\n\t\t\t\taddedWidgetIds.push( null );\n\n\t\t\t\treturn this._updateWidget( nextWidget );\n\t\t\t}\n\n\t\t\tconst widgetId = this._createWidget( nextWidget );\n\n\t\t\taddedWidgetIds.push( widgetId );\n\n\t\t\treturn widgetId;\n\t\t} );\n\n\t\tconst deletedWidgets = this.getWidgets().filter(\n\t\t\t( widget ) => ! nextWidgetIds.includes( widget.id )\n\t\t);\n\t\tdeletedWidgets.forEach( ( widget ) => this._removeWidget( widget ) );\n\n\t\tthis.setting.set( nextWidgetIds );\n\n\t\tthis.locked = false;\n\n\t\treturn addedWidgetIds;\n\t}\n\n\tsetWidgets( nextWidgets ) {\n\t\tconst addedWidgetIds = this._updateWidgets( nextWidgets );\n\n\t\tthis._debounceSetHistory();\n\n\t\treturn addedWidgetIds;\n\t}\n\n\t/**\n\t * Undo/Redo related features\n\t */\n\thasUndo() {\n\t\treturn this.historyIndex > 0;\n\t}\n\n\thasRedo() {\n\t\treturn this.historyIndex < this.history.length - 1;\n\t}\n\n\t_seek( historyIndex ) {\n\t\tconst currentWidgets = this.getWidgets();\n\n\t\tthis.historyIndex = historyIndex;\n\n\t\tconst widgets = this.history[ this.historyIndex ];\n\n\t\tthis._updateWidgets( widgets );\n\n\t\tthis._emit( currentWidgets, this.getWidgets() );\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t\tthis._debounceSetHistory.cancel();\n\t}\n\n\tundo() {\n\t\tif ( ! this.hasUndo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex - 1 );\n\t}\n\n\tredo() {\n\t\tif ( ! this.hasRedo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex + 1 );\n\t}\n\n\tsubscribeHistory( listener ) {\n\t\tthis.historySubscribers.add( listener );\n\n\t\treturn () => {\n\t\t\tthis.historySubscribers.delete( listener );\n\t\t};\n\t}\n\n\tsave() {\n\t\tthis.api.previewer.save();\n\t}\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"dom\"];","/**\n * External dependencies\n */\nimport { without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { addFilter } from '@wordpress/hooks';\nimport { MoveToWidgetArea, getWidgetIdFromBlock } from '@wordpress/widgets';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseSidebarControls,\n\tuseActiveSidebarControl,\n} from '../components/sidebar-controls';\nimport { useFocusControl } from '../components/focus-control';\nimport { blockToWidget } from '../utils';\n\nconst withMoveToSidebarToolbarItem = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tlet widgetId = getWidgetIdFromBlock( props );\n\t\tconst sidebarControls = useSidebarControls();\n\t\tconst activeSidebarControl = useActiveSidebarControl();\n\t\tconst hasMultipleSidebars = sidebarControls?.length > 1;\n\t\tconst blockName = props.name;\n\t\tconst clientId = props.clientId;\n\t\tconst canInsertBlockInSidebar = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// Use an empty string to represent the root block list, which\n\t\t\t\t// in the customizer editor represents a sidebar/widget area.\n\t\t\t\treturn select( blockEditorStore ).canInsertBlockType(\n\t\t\t\t\tblockName,\n\t\t\t\t\t''\n\t\t\t\t);\n\t\t\t},\n\t\t\t[ blockName ]\n\t\t);\n\t\tconst block = useSelect(\n\t\t\t( select ) => select( blockEditorStore ).getBlock( clientId ),\n\t\t\t[ clientId ]\n\t\t);\n\t\tconst { removeBlock } = useDispatch( blockEditorStore );\n\t\tconst [ , focusWidget ] = useFocusControl();\n\n\t\tfunction moveToSidebar( sidebarControlId ) {\n\t\t\tconst newSidebarControl = sidebarControls.find(\n\t\t\t\t( sidebarControl ) => sidebarControl.id === sidebarControlId\n\t\t\t);\n\n\t\t\tif ( widgetId ) {\n\t\t\t\t/**\n\t\t\t\t * If there's a widgetId, move it to the other sidebar.\n\t\t\t\t */\n\t\t\t\tconst oldSetting = activeSidebarControl.setting;\n\t\t\t\tconst newSetting = newSidebarControl.setting;\n\n\t\t\t\toldSetting( without( oldSetting(), widgetId ) );\n\t\t\t\tnewSetting( [ ...newSetting(), widgetId ] );\n\t\t\t} else {\n\t\t\t\t/**\n\t\t\t\t * If there isn't a widgetId, it's most likely a inner block.\n\t\t\t\t * First, remove the block in the original sidebar,\n\t\t\t\t * then, create a new widget in the new sidebar and get back its widgetId.\n\t\t\t\t */\n\t\t\t\tconst sidebarAdapter = newSidebarControl.sidebarAdapter;\n\n\t\t\t\tremoveBlock( clientId );\n\t\t\t\tconst addedWidgetIds = sidebarAdapter.setWidgets( [\n\t\t\t\t\t...sidebarAdapter.getWidgets(),\n\t\t\t\t\tblockToWidget( block ),\n\t\t\t\t] );\n\t\t\t\t// The last non-null id is the added widget's id.\n\t\t\t\twidgetId = addedWidgetIds.reverse().find( ( id ) => !! id );\n\t\t\t}\n\n\t\t\t// Move focus to the moved widget and expand the sidebar.\n\t\t\tfocusWidget( widgetId );\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ hasMultipleSidebars && canInsertBlockInSidebar && (\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<MoveToWidgetArea\n\t\t\t\t\t\t\twidgetAreas={ sidebarControls.map(\n\t\t\t\t\t\t\t\t( sidebarControl ) => ( {\n\t\t\t\t\t\t\t\t\tid: sidebarControl.id,\n\t\t\t\t\t\t\t\t\tname: sidebarControl.params.label,\n\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\tsidebarControl.params.description,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tcurrentWidgetAreaId={ activeSidebarControl?.id }\n\t\t\t\t\t\t\tonSelect={ moveToSidebar }\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'withMoveToSidebarToolbarItem'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/customize-widgets/block-edit',\n\twithMoveToSidebarToolbarItem\n);\n","/**\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 { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\n\nconst { wp } = window;\n\nconst withWideWidgetDisplay = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { idBase } = props.attributes;\n\t\tconst isWide =\n\t\t\twp.customize.Widgets.data.availableWidgets.find(\n\t\t\t\t( widget ) => widget.id_base === idBase\n\t\t\t)?.is_wide ?? false;\n\n\t\treturn <BlockEdit { ...props } isWide={ isWide } />;\n\t},\n\t'withWideWidgetDisplay'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/customize-widgets/wide-widget-display',\n\twithWideWidgetDisplay\n);\n","/**\n * WordPress dependencies\n */\nimport { render } from '@wordpress/element';\nimport {\n\tregisterCoreBlocks,\n\t__experimentalGetCoreBlocks,\n\t__experimentalRegisterExperimentalCoreBlocks,\n} from '@wordpress/block-library';\nimport {\n\tregisterLegacyWidgetBlock,\n\tregisterLegacyWidgetVariations,\n\tregisterWidgetGroupBlock,\n} from '@wordpress/widgets';\nimport {\n\tsetFreeformContentHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { dispatch } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport CustomizeWidgets from './components/customize-widgets';\nimport getSidebarSection from './controls/sidebar-section';\nimport getSidebarControl from './controls/sidebar-control';\nimport './filters';\n\nconst { wp } = window;\n\nconst DISABLED_BLOCKS = [\n\t'core/more',\n\t'core/block',\n\t'core/freeform',\n\t'core/template-part',\n];\nconst ENABLE_EXPERIMENTAL_FSE_BLOCKS = false;\n\n/**\n * Initializes the widgets block editor in the customizer.\n *\n * @param {string} editorName          The editor name.\n * @param {Object} blockEditorSettings Block editor settings.\n */\nexport function initialize( editorName, blockEditorSettings ) {\n\tdispatch( preferencesStore ).setDefaults( 'core/customize-widgets', {\n\t\tfixedToolbar: false,\n\t\twelcomeGuide: true,\n\t} );\n\n\tdispatch( blocksStore ).__experimentalReapplyBlockTypeFilters();\n\tconst coreBlocks = __experimentalGetCoreBlocks().filter( ( block ) => {\n\t\treturn ! (\n\t\t\tDISABLED_BLOCKS.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\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( blockEditorSettings );\n\tregisterWidgetGroupBlock();\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\n\tconst SidebarControl = getSidebarControl( blockEditorSettings );\n\n\twp.customize.sectionConstructor.sidebar = getSidebarSection();\n\twp.customize.controlConstructor.sidebar_block_editor = SidebarControl;\n\n\tconst container = document.createElement( 'div' );\n\tdocument.body.appendChild( container );\n\n\twp.customize.bind( 'ready', () => {\n\t\tconst sidebarControls = [];\n\t\twp.customize.control.each( ( control ) => {\n\t\t\tif ( control instanceof SidebarControl ) {\n\t\t\t\tsidebarControls.push( control );\n\t\t\t}\n\t\t} );\n\n\t\trender(\n\t\t\t<CustomizeWidgets\n\t\t\t\tapi={ wp.customize }\n\t\t\t\tsidebarControls={ sidebarControls }\n\t\t\t\tblockEditorSettings={ blockEditorSettings }\n\t\t\t/>,\n\t\t\tcontainer\n\t\t);\n\t} );\n}\n","/**\n * WordPress dependencies\n */\nimport { dispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SidebarAdapter from '../components/sidebar-block-editor/sidebar-adapter';\nimport getInserterOuterSection from './inserter-outer-section';\nimport { store as customizeWidgetsStore } from '../store';\n\nconst getInserterId = ( controlId ) => `widgets-inserter-${ controlId }`;\n\nexport default function getSidebarControl() {\n\tconst {\n\t\twp: { customize },\n\t} = window;\n\n\treturn class SidebarControl extends customize.Control {\n\t\tconstructor( ...args ) {\n\t\t\tsuper( ...args );\n\n\t\t\tthis.subscribers = new Set();\n\t\t}\n\n\t\tready() {\n\t\t\tconst InserterOuterSection = getInserterOuterSection();\n\t\t\tthis.inserter = new InserterOuterSection(\n\t\t\t\tgetInserterId( this.id ),\n\t\t\t\t{}\n\t\t\t);\n\t\t\tcustomize.section.add( this.inserter );\n\n\t\t\tthis.sectionInstance = customize.section( this.section() );\n\n\t\t\tthis.inspector = this.sectionInstance.inspector;\n\n\t\t\tthis.sidebarAdapter = new SidebarAdapter( this.setting, customize );\n\t\t}\n\n\t\tsubscribe( callback ) {\n\t\t\tthis.subscribers.add( callback );\n\n\t\t\treturn () => {\n\t\t\t\tthis.subscribers.delete( callback );\n\t\t\t};\n\t\t}\n\n\t\tonChangeSectionExpanded( expanded, args ) {\n\t\t\tif ( ! args.unchanged ) {\n\t\t\t\t// Close the inserter when the section collapses.\n\t\t\t\tif ( ! expanded ) {\n\t\t\t\t\tdispatch( customizeWidgetsStore ).setIsInserterOpened(\n\t\t\t\t\t\tfalse\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tthis.subscribers.forEach( ( subscriber ) =>\n\t\t\t\t\tsubscriber( expanded, args )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n}\n","/**\n * WordPress dependencies\n */\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\nimport { dispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as customizeWidgetsStore } from '../store';\n\nexport default function getInserterOuterSection() {\n\tconst {\n\t\twp: { customize },\n\t} = window;\n\n\tconst OuterSection = customize.OuterSection;\n\t// Override the OuterSection class to handle multiple outer sections.\n\t// It closes all the other outer sections whenever one is opened.\n\t// The result is that at most one outer section can be opened at the same time.\n\tcustomize.OuterSection = class extends OuterSection {\n\t\tonChangeExpanded( expanded, args ) {\n\t\t\tif ( expanded ) {\n\t\t\t\tcustomize.section.each( ( section ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tsection.params.type === 'outer' &&\n\t\t\t\t\t\tsection.id !== this.id\n\t\t\t\t\t) {\n\t\t\t\t\t\tif ( section.expanded() ) {\n\t\t\t\t\t\t\tsection.collapse();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn super.onChangeExpanded( expanded, args );\n\t\t}\n\t};\n\t// Handle constructor so that \"params.type\" can be correctly pointed to \"outer\".\n\tcustomize.sectionConstructor.outer = customize.OuterSection;\n\n\treturn class InserterOuterSection extends customize.OuterSection {\n\t\tconstructor( ...args ) {\n\t\t\tsuper( ...args );\n\n\t\t\t// This is necessary since we're creating a new class which is not identical to the original OuterSection.\n\t\t\t// @See https://github.com/WordPress/wordpress-develop/blob/42b05c397c50d9dc244083eff52991413909d4bd/src/js/_enqueues/wp/customize/controls.js#L1427-L1436\n\t\t\tthis.params.type = 'outer';\n\n\t\t\tthis.activeElementBeforeExpanded = null;\n\n\t\t\tconst ownerWindow =\n\t\t\t\tthis.contentContainer[ 0 ].ownerDocument.defaultView;\n\n\t\t\t// Handle closing the inserter when pressing the Escape key.\n\t\t\townerWindow.addEventListener(\n\t\t\t\t'keydown',\n\t\t\t\t( event ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.expanded() &&\n\t\t\t\t\t\t( event.keyCode === ESCAPE ||\n\t\t\t\t\t\t\tevent.code === 'Escape' ) &&\n\t\t\t\t\t\t! event.defaultPrevented\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tdispatch( customizeWidgetsStore ).setIsInserterOpened(\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// Use capture mode to make this run before other event listeners.\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\tthis.contentContainer.addClass( 'widgets-inserter' );\n\n\t\t\t// Set a flag if the state is being changed from open() or close().\n\t\t\t// Don't propagate the event if it's an internal action to prevent infinite loop.\n\t\t\tthis.isFromInternalAction = false;\n\t\t\tthis.expanded.bind( () => {\n\t\t\t\tif ( ! this.isFromInternalAction ) {\n\t\t\t\t\t// Propagate the event to React to sync the state.\n\t\t\t\t\tdispatch( customizeWidgetsStore ).setIsInserterOpened(\n\t\t\t\t\t\tthis.expanded()\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.isFromInternalAction = false;\n\t\t\t} );\n\t\t}\n\t\topen() {\n\t\t\tif ( ! this.expanded() ) {\n\t\t\t\tconst contentContainer = this.contentContainer[ 0 ];\n\t\t\t\tthis.activeElementBeforeExpanded =\n\t\t\t\t\tcontentContainer.ownerDocument.activeElement;\n\n\t\t\t\tthis.isFromInternalAction = true;\n\n\t\t\t\tthis.expand( {\n\t\t\t\t\tcompleteCallback() {\n\t\t\t\t\t\t// We have to do this in a \"completeCallback\" or else the elements will not yet be visible/tabbable.\n\t\t\t\t\t\t// The first one should be the close button,\n\t\t\t\t\t\t// we want to skip it and choose the second one instead, which is the search box.\n\t\t\t\t\t\tconst searchBox =\n\t\t\t\t\t\t\tfocus.tabbable.find( contentContainer )[ 1 ];\n\t\t\t\t\t\tif ( searchBox ) {\n\t\t\t\t\t\t\tsearchBox.focus();\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\tclose() {\n\t\t\tif ( this.expanded() ) {\n\t\t\t\tconst contentContainer = this.contentContainer[ 0 ];\n\t\t\t\tconst activeElement =\n\t\t\t\t\tcontentContainer.ownerDocument.activeElement;\n\n\t\t\t\tthis.isFromInternalAction = true;\n\n\t\t\t\tthis.collapse( {\n\t\t\t\t\tcompleteCallback() {\n\t\t\t\t\t\t// Return back the focus when closing the inserter.\n\t\t\t\t\t\t// Only do this if the active element which triggers the action is inside the inserter,\n\t\t\t\t\t\t// (the close button for instance). In that case the focus will be lost.\n\t\t\t\t\t\t// Otherwise, we don't hijack the focus when the user is focusing on other elements\n\t\t\t\t\t\t// (like the quick inserter).\n\t\t\t\t\t\tif ( contentContainer.contains( activeElement ) ) {\n\t\t\t\t\t\t\t// Return back the focus when closing the inserter.\n\t\t\t\t\t\t\tif ( this.activeElementBeforeExpanded ) {\n\t\t\t\t\t\t\t\tthis.activeElementBeforeExpanded.focus();\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}\n\t\t}\n\t};\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport getInspectorSection from './inspector-section';\n\nconst getInspectorSectionId = ( sidebarId ) =>\n\t`widgets-inspector-${ sidebarId }`;\n\nexport default function getSidebarSection() {\n\tconst {\n\t\twp: { customize },\n\t} = window;\n\n\tconst reduceMotionMediaQuery = window.matchMedia(\n\t\t'(prefers-reduced-motion: reduce)'\n\t);\n\tlet isReducedMotion = reduceMotionMediaQuery.matches;\n\treduceMotionMediaQuery.addEventListener( 'change', ( event ) => {\n\t\tisReducedMotion = event.matches;\n\t} );\n\n\treturn class SidebarSection extends customize.Section {\n\t\tready() {\n\t\t\tconst InspectorSection = getInspectorSection();\n\t\t\tthis.inspector = new InspectorSection(\n\t\t\t\tgetInspectorSectionId( this.id ),\n\t\t\t\t{\n\t\t\t\t\ttitle: __( 'Block Settings' ),\n\t\t\t\t\tparentSection: this,\n\t\t\t\t\tcustomizeAction: [\n\t\t\t\t\t\t__( 'Customizing' ),\n\t\t\t\t\t\t__( 'Widgets' ),\n\t\t\t\t\t\tthis.params.title,\n\t\t\t\t\t].join( ' ▸ ' ),\n\t\t\t\t}\n\t\t\t);\n\t\t\tcustomize.section.add( this.inspector );\n\t\t\tthis.contentContainer[ 0 ].classList.add(\n\t\t\t\t'customize-widgets__sidebar-section'\n\t\t\t);\n\t\t}\n\t\thasSubSectionOpened() {\n\t\t\treturn this.inspector.expanded();\n\t\t}\n\t\tonChangeExpanded( expanded, _args ) {\n\t\t\tconst controls = this.controls();\n\t\t\tconst args = {\n\t\t\t\t..._args,\n\t\t\t\tcompleteCallback() {\n\t\t\t\t\tcontrols.forEach( ( control ) => {\n\t\t\t\t\t\tcontrol.onChangeSectionExpanded?.( expanded, args );\n\t\t\t\t\t} );\n\t\t\t\t\t_args.completeCallback?.();\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tif ( args.manualTransition ) {\n\t\t\t\tif ( expanded ) {\n\t\t\t\t\tthis.contentContainer.addClass( [ 'busy', 'open' ] );\n\t\t\t\t\tthis.contentContainer.removeClass( 'is-sub-section-open' );\n\t\t\t\t\tthis.contentContainer\n\t\t\t\t\t\t.closest( '.wp-full-overlay' )\n\t\t\t\t\t\t.addClass( 'section-open' );\n\t\t\t\t} else {\n\t\t\t\t\tthis.contentContainer.addClass( [\n\t\t\t\t\t\t'busy',\n\t\t\t\t\t\t'is-sub-section-open',\n\t\t\t\t\t] );\n\t\t\t\t\tthis.contentContainer\n\t\t\t\t\t\t.closest( '.wp-full-overlay' )\n\t\t\t\t\t\t.addClass( 'section-open' );\n\t\t\t\t\tthis.contentContainer.removeClass( 'open' );\n\t\t\t\t}\n\n\t\t\t\tconst handleTransitionEnd = () => {\n\t\t\t\t\tthis.contentContainer.removeClass( 'busy' );\n\t\t\t\t\targs.completeCallback();\n\t\t\t\t};\n\n\t\t\t\tif ( isReducedMotion ) {\n\t\t\t\t\thandleTransitionEnd();\n\t\t\t\t} else {\n\t\t\t\t\tthis.contentContainer.one(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\thandleTransitionEnd\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsuper.onChangeExpanded( expanded, args );\n\t\t\t}\n\t\t}\n\t};\n}\n","export default function getInspectorSection() {\n\tconst {\n\t\twp: { customize },\n\t} = window;\n\n\treturn class InspectorSection extends customize.Section {\n\t\tconstructor( id, options ) {\n\t\t\tsuper( id, options );\n\n\t\t\tthis.parentSection = options.parentSection;\n\n\t\t\tthis.returnFocusWhenClose = null;\n\t\t\tthis._isOpen = false;\n\t\t}\n\t\tget isOpen() {\n\t\t\treturn this._isOpen;\n\t\t}\n\t\tset isOpen( value ) {\n\t\t\tthis._isOpen = value;\n\t\t\tthis.triggerActiveCallbacks();\n\t\t}\n\t\tready() {\n\t\t\tthis.contentContainer[ 0 ].classList.add(\n\t\t\t\t'customize-widgets-layout__inspector'\n\t\t\t);\n\t\t}\n\t\tisContextuallyActive() {\n\t\t\treturn this.isOpen;\n\t\t}\n\t\tonChangeExpanded( expanded, args ) {\n\t\t\tsuper.onChangeExpanded( expanded, args );\n\n\t\t\tif ( this.parentSection && ! args.unchanged ) {\n\t\t\t\tif ( expanded ) {\n\t\t\t\t\tthis.parentSection.collapse( {\n\t\t\t\t\t\tmanualTransition: true,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tthis.parentSection.expand( {\n\t\t\t\t\t\tmanualTransition: true,\n\t\t\t\t\t\tcompleteCallback: () => {\n\t\t\t\t\t\t\t// Return focus after finishing the transition.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tthis.returnFocusWhenClose &&\n\t\t\t\t\t\t\t\t! this.contentContainer[ 0 ].contains(\n\t\t\t\t\t\t\t\t\tthis.returnFocusWhenClose\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\tthis.returnFocusWhenClose.focus();\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}\n\t\t}\n\t\topen( { returnFocusWhenClose } = {} ) {\n\t\t\tthis.isOpen = true;\n\t\t\tthis.returnFocusWhenClose = returnFocusWhenClose;\n\n\t\t\tthis.expand( {\n\t\t\t\tallowMultiple: true,\n\t\t\t} );\n\t\t}\n\t\tclose() {\n\t\t\tthis.collapse( {\n\t\t\t\tallowMultiple: true,\n\t\t\t} );\n\t\t}\n\t\tcollapse( options ) {\n\t\t\t// Overridden collapse() function. Mostly call the parent collapse(), but also\n\t\t\t// move our .isOpen to false.\n\t\t\t// Initially, I tried tracking this with onChangeExpanded(), but it doesn't work\n\t\t\t// because the block settings sidebar is a layer \"on top of\" the G editor sidebar.\n\t\t\t//\n\t\t\t// For example, when closing the block settings sidebar, the G\n\t\t\t// editor sidebar would display, and onChangeExpanded in\n\t\t\t// inspector-section would run with expanded=true, but I want\n\t\t\t// isOpen to be false when the block settings is closed.\n\t\t\tthis.isOpen = false;\n\t\t\tsuper.collapse( options );\n\t\t}\n\t\ttriggerActiveCallbacks() {\n\t\t\t// Manually fire the callbacks associated with moving this.active\n\t\t\t// from false to true.  \"active\" is always true for this section,\n\t\t\t// and \"isContextuallyActive\" reflects if the block settings\n\t\t\t// sidebar is currently visible, that is, it has replaced the main\n\t\t\t// Gutenberg view.\n\t\t\t// The WP customizer only checks \".isContextuallyActive()\" when\n\t\t\t// \".active\" changes values. But our \".active\" never changes value.\n\t\t\t// The WP customizer never foresaw a section being used a way we\n\t\t\t// fit the block settings sidebar into a section. By manually\n\t\t\t// triggering the \"this.active\" callbacks, we force the WP\n\t\t\t// customizer to query our .isContextuallyActive() function and\n\t\t\t// update its view of our status.\n\t\t\tthis.active.callbacks.fireWith( this.active, [ false, true ] );\n\t\t}\n\t};\n}\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","CopyButton","text","children","ref","useCopyToClipboard","Button","variant","ErrorBoundary","Component","constructor","super","this","state","error","componentDidCatch","setState","doAction","render","Warning","className","actions","stack","__","props","_extends","assign","target","source","inspector","closeMenu","selectedBlockClientId","useSelect","select","blockEditorStore","getSelectedBlockClientId","selectedBlock","useMemo","document","getElementById","MenuItem","onClick","open","returnFocusWhenClose","SVG","xmlns","viewBox","Path","isInserterOpened","blockInserterPanel","__experimentalGetInsertionPoint","rootClientId","insertionIndex","setIsInserterOpened","type","storeConfig","reducer","combineReducers","action","selectors","store","createReduxStore","register","Inserter","setIsOpened","inserterTitleId","useInstanceId","insertionPoint","customizeWidgetsStore","id","icon","closeSmall","__experimentalInsertionIndex","showInserterHelpPanel","onSelect","MoreMenuDropdown","as","DropdownComponent","DropdownMenu","label","popoverProps","toggleProps","classnames","moreVertical","position","tooltipPosition","onClose","setDefaultComplementaryArea","scope","area","enableComplementaryArea","registry","dispatch","preferencesStore","set","disableComplementaryArea","pinItem","item","pinnedItems","unpinItem","toggleFeature","featureName","deprecated","since","alternative","toggle","setFeatureValue","setFeatureDefaults","defaults","setDefaults","getActiveComplementaryArea","createRegistrySelector","isComplementaryAreaVisible","complementaryAreas","isItemPinned","isFeatureActive","textFormattingShortcuts","keyCombination","modifier","character","description","KeyCombination","forceAriaLabel","shortcut","displayShortcutList","ariaLabel","shortcutAriaLabel","castArray","map","index","Fragment","aliases","alias","name","getShortcutKeyCombination","getShortcutDescription","getShortcutAliases","keyboardShortcutsStore","ShortcutList","shortcuts","role","ShortcutSection","title","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","registerShortcut","useDispatch","category","useShortcut","Modal","closeLabel","onRequestClose","MoreMenu","isKeyboardShortcutsModalActive","setIsKeyboardShortcutsModalVisible","useState","toggleKeyboardShortcutsModal","ToolbarDropdownMenu","MenuGroup","_x","PreferenceToggleMenuItem","info","messageActivated","messageDeactivated","displayShortcut","external","href","rel","VisuallyHidden","sidebar","inserter","isFixedToolbarActive","hasUndo","hasRedo","setUndoRedo","isAppleOS","useEffect","subscribeHistory","NavigableToolbar","ToolbarButton","isRTL","redoIcon","undoIcon","undo","redo","isPressed","plus","isOpen","createPortal","contentContainer","settingIdToWidgetId","settingId","matches","match","parseInt","blockToWidget","block","widget","existingWidget","isValidLegacyWidgetBlock","attributes","instance","encoded","hash","raw","rest","idBase","is_widget_customizer_js_value","encoded_serialized_instance","instance_hash_key","raw_instance","widgetClass","content","serialize","form","rendered","restExistingWidget","widgetToBlock","number","parsedBlocks","parse","__unstableSkipAutop","createBlock","addWidgetIdToBlock","FocusControlContext","createContext","FocusControl","api","sidebarControls","focusedWidgetIdRef","setFocusedWidgetIdRef","current","focusWidget","useCallback","widgetId","sidebarControl","setting","includes","sectionInstance","expand","completeCallback","handleFocus","handleReady","previewer","preview","bind","unbind","context","Provider","useFocusControl","useContext","SidebarEditorProvider","settings","blocks","onInput","onChange","setBlocks","getWidgets","subscribe","prevWidgets","nextWidgets","prevBlocks","prevWidgetsMap","Map","prevBlocksMap","getWidgetIdFromBlock","nextBlocks","nextWidget","prevWidget","isShallowEqual","onChangeBlocks","nextBlock","has","prevBlock","getWidget","isEqual","addedWidgetIds","setWidgets","reduce","updatedNextBlocks","addedWidgetId","slice","useSidebarBlockEditor","selectBlock","blocksRef","useRef","focusedBlock","find","clientId","blockNode","querySelector","focus","useBlocksFocusControl","BlockEditorProvider","useSubRegistry","WelcomeGuide","isEntirelyBlockWidgets","every","startsWith","srcSet","media","src","width","height","alt","ExternalLink","KeyboardShortcuts","save","event","preventDefault","Register","unregisterShortcut","BlockAppender","isBlocksListEmpty","getBlockCount","ownerDocument","activeElement","body","ButtonBlockAppender","SidebarBlockEditor","blockEditorSettings","close","updater","selectStore","useInserter","hasUploadPermissions","keepCaretInsideBlock","isWelcomeGuideActive","coreStore","canUser","mediaUploadBlockEditor","onError","argumentsObject","uploadMedia","wpAllowedMimeTypes","allowedMimeTypes","message","__experimentalSetIsInserterOpened","mediaUpload","hasFixedToolbar","__unstableHasCustomAppender","BlockEditorKeyboardShortcuts","CopyHandler","BlockTools","styles","defaultEditorStyles","BlockSelectionClearer","WritingFlow","ObserveTyping","BlockList","renderAppender","onSubmit","BlockInspector","__unstableBlockSettingsMenuFirstItem","SidebarControlsContext","SidebarControls","activeSidebarControl","CustomizeWidgets","setActiveSidebarControl","parentContainer","popoverRef","hasSelectedBlock","hasMultiSelection","clearSelectedBlock","container","ownerWindow","defaultView","handleClearSelectedBlock","element","contains","closest","expanded","handleMouseDown","handleBlur","addEventListener","removeEventListener","useClearSelectedBlock","unsubscribers","forEach","unsubscriber","activeSidebar","sidebarAdapter","popover","Popover","ShortcutProvider","SlotFillProvider","wp","parseWidgetId","widgetIdToSettingId","SidebarAdapter","locked","widgetsCache","WeakMap","subscribers","Set","history","_getWidgetIds","historyIndex","historySubscribers","_debounceSetHistory","leading","callback","timeout","timerID","isLeading","debounced","args","result","clearTimeout","setTimeout","cancel","debounce","_pushHistory","_replaceHistory","_handleSettingChange","_handleAllSettingsChange","add","delete","_emit","listener","_createWidget","widgetModel","customize","Widgets","availableWidgets","findWhere","id_base","settingArgs","transport","data","selectiveRefreshableWidgets","create","_removeWidget","remove","_updateWidget","_updateWidgets","nextWidgetIds","filter","_seek","currentWidgets","widgets","withMoveToSidebarToolbarItem","createHigherOrderComponent","BlockEdit","useSidebarControls","useActiveSidebarControl","hasMultipleSidebars","blockName","canInsertBlockInSidebar","canInsertBlockType","getBlock","removeBlock","BlockControls","MoveToWidgetArea","widgetAreas","params","currentWidgetAreaId","sidebarControlId","newSidebarControl","oldSetting","newSetting","without","reverse","addFilter","MediaUpload","withWideWidgetDisplay","isWide","is_wide","DISABLED_BLOCKS","initialize","editorName","fixedToolbar","welcomeGuide","blocksStore","__experimentalReapplyBlockTypeFilters","coreBlocks","__experimentalGetCoreBlocks","registerCoreBlocks","registerLegacyWidgetBlock","__experimentalRegisterExperimentalCoreBlocks","enableFSEBlocks","registerLegacyWidgetVariations","registerWidgetGroupBlock","setFreeformContentHandlerName","SidebarControl","Control","ready","InserterOuterSection","OuterSection","onChangeExpanded","section","each","collapse","sectionConstructor","outer","activeElementBeforeExpanded","keyCode","ESCAPE","code","defaultPrevented","stopPropagation","addClass","isFromInternalAction","searchBox","getInserterOuterSection","onChangeSectionExpanded","unchanged","subscriber","getSidebarControl","reduceMotionMediaQuery","matchMedia","isReducedMotion","Section","InspectorSection","options","parentSection","_isOpen","triggerActiveCallbacks","classList","isContextuallyActive","manualTransition","allowMultiple","active","callbacks","fireWith","getInspectorSection","customizeAction","hasSubSectionOpened","_args","controls","control","removeClass","handleTransitionEnd","one","getSidebarSection","controlConstructor","sidebar_block_editor","createElement","appendChild"],"sourceRoot":""}

Zerion Mini Shell 1.0