this["wp"] = this["wp"] || {}; this["wp"]["editSite"] = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "IqXm"); /******/ }) /************************************************************************/ /******/ ({ /***/ "0Ene": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const plugins = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { d: "M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z" })); /* harmony default export */ __webpack_exports__["a"] = (plugins); /***/ }), /***/ "1ZqX": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["data"]; }()); /***/ }), /***/ "1iEr": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const chevronRight = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { d: "M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z" })); /* harmony default export */ __webpack_exports__["a"] = (chevronRight); /***/ }), /***/ "2gm7": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const chevronLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { d: "M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z" })); /* harmony default export */ __webpack_exports__["a"] = (chevronLeft); /***/ }), /***/ "51Zz": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["dataControls"]; }()); /***/ }), /***/ "6aBm": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["mediaUtils"]; }()); /***/ }), /***/ "B9Az": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: external ["wp","element"] var external_wp_element_ = __webpack_require__("GRId"); // EXTERNAL MODULE: external ["wp","primitives"] var external_wp_primitives_ = __webpack_require__("Tqx9"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pencil.js /** * WordPress dependencies */ const pencil = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M20.1 5.1L16.9 2 6.2 12.7l-1.3 4.4 4.5-1.3L20.1 5.1zM4 20.8h8v-1.5H4v1.5z" })); /* harmony default export */ var library_pencil = (pencil); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js /** * Internal dependencies */ /* harmony default export */ var edit = __webpack_exports__["a"] = (library_pencil); /***/ }), /***/ "Cg8A": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const cog = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { fillRule: "evenodd", d: "M10.289 4.836A1 1 0 0111.275 4h1.306a1 1 0 01.987.836l.244 1.466c.787.26 1.503.679 2.108 1.218l1.393-.522a1 1 0 011.216.437l.653 1.13a1 1 0 01-.23 1.273l-1.148.944a6.025 6.025 0 010 2.435l1.149.946a1 1 0 01.23 1.272l-.653 1.13a1 1 0 01-1.216.437l-1.394-.522c-.605.54-1.32.958-2.108 1.218l-.244 1.466a1 1 0 01-.987.836h-1.306a1 1 0 01-.986-.836l-.244-1.466a5.995 5.995 0 01-2.108-1.218l-1.394.522a1 1 0 01-1.217-.436l-.653-1.131a1 1 0 01.23-1.272l1.149-.946a6.026 6.026 0 010-2.435l-1.148-.944a1 1 0 01-.23-1.272l.653-1.131a1 1 0 011.217-.437l1.393.522a5.994 5.994 0 012.108-1.218l.244-1.466zM14.929 12a3 3 0 11-6 0 3 3 0 016 0z", clipRule: "evenodd" })); /* harmony default export */ __webpack_exports__["a"] = (cog); /***/ }), /***/ "Civd": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); /** * WordPress dependencies */ const layout = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { d: "M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" })); /* harmony default export */ __webpack_exports__["a"] = (layout); /***/ }), /***/ "GRId": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["element"]; }()); /***/ }), /***/ "HSyU": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["blocks"]; }()); /***/ }), /***/ "IqXm": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, "reinitializeEditor", function() { return /* binding */ reinitializeEditor; }); __webpack_require__.d(__webpack_exports__, "initializeEditor", function() { return /* binding */ initializeEditor; }); __webpack_require__.d(__webpack_exports__, "__experimentalMainDashboardButton", function() { return /* reexport */ main_dashboard_button; }); __webpack_require__.d(__webpack_exports__, "__experimentalNavigationToggle", function() { return /* reexport */ navigation_toggle; }); __webpack_require__.d(__webpack_exports__, "PluginSidebar", function() { return /* reexport */ PluginSidebarEditSite; }); __webpack_require__.d(__webpack_exports__, "PluginSidebarMoreMenuItem", function() { return /* reexport */ PluginSidebarMoreMenuItem; }); __webpack_require__.d(__webpack_exports__, "PluginMoreMenuItem", function() { return /* reexport */ plugin_more_menu_item; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/edit-site/build-module/store/actions.js var actions_namespaceObject = {}; __webpack_require__.r(actions_namespaceObject); __webpack_require__.d(actions_namespaceObject, "toggleFeature", function() { return actions_toggleFeature; }); __webpack_require__.d(actions_namespaceObject, "__experimentalSetPreviewDeviceType", function() { return __experimentalSetPreviewDeviceType; }); __webpack_require__.d(actions_namespaceObject, "setTemplate", function() { return actions_setTemplate; }); __webpack_require__.d(actions_namespaceObject, "addTemplate", function() { return addTemplate; }); __webpack_require__.d(actions_namespaceObject, "removeTemplate", function() { return actions_removeTemplate; }); __webpack_require__.d(actions_namespaceObject, "setTemplatePart", function() { return actions_setTemplatePart; }); __webpack_require__.d(actions_namespaceObject, "setHomeTemplateId", function() { return setHomeTemplateId; }); __webpack_require__.d(actions_namespaceObject, "setPage", function() { return actions_setPage; }); __webpack_require__.d(actions_namespaceObject, "showHomepage", function() { return actions_showHomepage; }); __webpack_require__.d(actions_namespaceObject, "setNavigationPanelActiveMenu", function() { return setNavigationPanelActiveMenu; }); __webpack_require__.d(actions_namespaceObject, "openNavigationPanelToMenu", function() { return openNavigationPanelToMenu; }); __webpack_require__.d(actions_namespaceObject, "setIsNavigationPanelOpened", function() { return actions_setIsNavigationPanelOpened; }); __webpack_require__.d(actions_namespaceObject, "setIsInserterOpened", function() { return actions_setIsInserterOpened; }); __webpack_require__.d(actions_namespaceObject, "updateSettings", function() { return actions_updateSettings; }); __webpack_require__.d(actions_namespaceObject, "setIsListViewOpened", function() { return actions_setIsListViewOpened; }); __webpack_require__.d(actions_namespaceObject, "revertTemplate", function() { return actions_revertTemplate; }); __webpack_require__.d(actions_namespaceObject, "openGeneralSidebar", function() { return openGeneralSidebar; }); __webpack_require__.d(actions_namespaceObject, "closeGeneralSidebar", function() { return closeGeneralSidebar; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/edit-site/build-module/store/selectors.js var selectors_namespaceObject = {}; __webpack_require__.r(selectors_namespaceObject); __webpack_require__.d(selectors_namespaceObject, "isFeatureActive", function() { return isFeatureActive; }); __webpack_require__.d(selectors_namespaceObject, "__experimentalGetPreviewDeviceType", function() { return selectors_experimentalGetPreviewDeviceType; }); __webpack_require__.d(selectors_namespaceObject, "getCanUserCreateMedia", function() { return getCanUserCreateMedia; }); __webpack_require__.d(selectors_namespaceObject, "getReusableBlocks", function() { return getReusableBlocks; }); __webpack_require__.d(selectors_namespaceObject, "getSettings", function() { return selectors_getSettings; }); __webpack_require__.d(selectors_namespaceObject, "getHomeTemplateId", function() { return getHomeTemplateId; }); __webpack_require__.d(selectors_namespaceObject, "getEditedPostType", function() { return selectors_getEditedPostType; }); __webpack_require__.d(selectors_namespaceObject, "getEditedPostId", function() { return selectors_getEditedPostId; }); __webpack_require__.d(selectors_namespaceObject, "getPage", function() { return selectors_getPage; }); __webpack_require__.d(selectors_namespaceObject, "getNavigationPanelActiveMenu", function() { return getNavigationPanelActiveMenu; }); __webpack_require__.d(selectors_namespaceObject, "getCurrentTemplateNavigationPanelSubMenu", function() { return getCurrentTemplateNavigationPanelSubMenu; }); __webpack_require__.d(selectors_namespaceObject, "isNavigationOpened", function() { return selectors_isNavigationOpened; }); __webpack_require__.d(selectors_namespaceObject, "isInserterOpened", function() { return selectors_isInserterOpened; }); __webpack_require__.d(selectors_namespaceObject, "__experimentalGetInsertionPoint", function() { return __experimentalGetInsertionPoint; }); __webpack_require__.d(selectors_namespaceObject, "isListViewOpened", function() { return selectors_isListViewOpened; }); __webpack_require__.d(selectors_namespaceObject, "getCurrentTemplateTemplateParts", function() { return getCurrentTemplateTemplateParts; }); // EXTERNAL MODULE: external ["wp","element"] var external_wp_element_ = __webpack_require__("GRId"); // EXTERNAL MODULE: external ["wp","blocks"] var external_wp_blocks_ = __webpack_require__("HSyU"); // EXTERNAL MODULE: external ["wp","blockLibrary"] var external_wp_blockLibrary_ = __webpack_require__("QyPg"); // EXTERNAL MODULE: external ["wp","data"] var external_wp_data_ = __webpack_require__("1ZqX"); // EXTERNAL MODULE: external ["wp","coreData"] var external_wp_coreData_ = __webpack_require__("jZUy"); // EXTERNAL MODULE: external ["wp","editor"] var external_wp_editor_ = __webpack_require__("jSdM"); // EXTERNAL MODULE: external ["wp","viewport"] var external_wp_viewport_ = __webpack_require__("KEfo"); // EXTERNAL MODULE: external ["wp","url"] var external_wp_url_ = __webpack_require__("Mmq9"); // EXTERNAL MODULE: external ["wp","plugins"] var external_wp_plugins_ = __webpack_require__("TvNi"); // EXTERNAL MODULE: external "lodash" var external_lodash_ = __webpack_require__("YLtl"); // EXTERNAL MODULE: external ["wp","components"] var external_wp_components_ = __webpack_require__("tI+e"); // EXTERNAL MODULE: external ["wp","i18n"] var external_wp_i18n_ = __webpack_require__("l3Sj"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/tools-more-menu-group/index.js /** * External dependencies */ /** * WordPress dependencies */ const { Fill: ToolsMoreMenuGroup, Slot } = Object(external_wp_components_["createSlotFill"])('EditSiteToolsMoreMenuGroup'); ToolsMoreMenuGroup.Slot = _ref => { let { fillProps } = _ref; return Object(external_wp_element_["createElement"])(Slot, { fillProps: fillProps }, fills => !Object(external_lodash_["isEmpty"])(fills) && Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { label: Object(external_wp_i18n_["__"])('Tools') }, fills)); }; /* harmony default export */ var tools_more_menu_group = (ToolsMoreMenuGroup); // EXTERNAL MODULE: ./node_modules/downloadjs/download.js var download = __webpack_require__("rrFr"); var download_default = /*#__PURE__*/__webpack_require__.n(download); // EXTERNAL MODULE: external ["wp","apiFetch"] var external_wp_apiFetch_ = __webpack_require__("ywyh"); var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_); // EXTERNAL MODULE: external ["wp","primitives"] var external_wp_primitives_ = __webpack_require__("Tqx9"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/download.js /** * WordPress dependencies */ const download_download = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M18 11.3l-1-1.1-4 4V3h-1.5v11.3L7 10.2l-1 1.1 6.2 5.8 5.8-5.8zm.5 3.7v3.5h-13V15H4v5h16v-5h-1.5z" })); /* harmony default export */ var library_download = (download_download); // EXTERNAL MODULE: external ["wp","notices"] var external_wp_notices_ = __webpack_require__("onLe"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/plugins/site-export.js /** * External dependencies */ /** * WordPress dependencies */ function SiteExport() { const { createErrorNotice } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); async function handleExport() { try { const response = await external_wp_apiFetch_default()({ path: '/wp-block-editor/v1/export', parse: false }); const blob = await response.blob(); download_default()(blob, 'edit-site-export.zip', 'application/zip'); } catch (errorResponse) { let error = {}; try { error = await errorResponse.json(); } catch (e) {} const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : Object(external_wp_i18n_["__"])('An error occurred while creating the site export.'); createErrorNotice(errorMessage, { type: 'snackbar' }); } } return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { role: "menuitem", icon: library_download, onClick: handleExport, info: Object(external_wp_i18n_["__"])('Download your templates and template parts.') }, Object(external_wp_i18n_["_x"])('Export', 'site exporter menu item')); } // EXTERNAL MODULE: external ["wp","dataControls"] var external_wp_dataControls_ = __webpack_require__("51Zz"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/store/defaults.js const PREFERENCES_DEFAULTS = { features: { welcomeGuide: true, welcomeGuideStyles: true } }; // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/store/constants.js /** * The identifier for the data store. * * @type {string} */ const STORE_NAME = 'core/edit-site'; const TEMPLATE_PART_AREA_HEADER = 'header'; const TEMPLATE_PART_AREA_FOOTER = 'footer'; const TEMPLATE_PART_AREA_SIDEBAR = 'sidebar'; const TEMPLATE_PART_AREA_GENERAL = 'uncategorized'; // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/navigation-sidebar/navigation-panel/constants.js /** * WordPress dependencies */ /** * Internal dependencies */ const TEMPLATES_PRIMARY = ['index', 'singular', 'archive', 'single', 'page', 'home', '404', 'search']; const TEMPLATES_SECONDARY = ['author', 'category', 'taxonomy', 'date', 'tag', 'attachment', 'single-post', 'front-page']; const TEMPLATES_TOP_LEVEL = [...TEMPLATES_PRIMARY, ...TEMPLATES_SECONDARY]; const TEMPLATES_GENERAL = ['page-home']; const TEMPLATES_POSTS_PREFIXES = ['post-', 'author-', 'single-post-', 'tag-']; const TEMPLATES_PAGES_PREFIXES = ['page-']; const TEMPLATE_OVERRIDES = { singular: ['single', 'page'], index: ['archive', '404', 'search', 'singular', 'home'], home: ['front-page'] }; const MENU_ROOT = 'root'; const MENU_TEMPLATE_PARTS = 'template-parts'; const MENU_TEMPLATES = 'templates'; const MENU_TEMPLATES_GENERAL = 'templates-general'; const MENU_TEMPLATES_PAGES = 'templates-pages'; const MENU_TEMPLATES_POSTS = 'templates-posts'; const MENU_TEMPLATES_UNUSED = 'templates-unused'; const MENU_TEMPLATE_PARTS_HEADERS = 'template-parts-headers'; const MENU_TEMPLATE_PARTS_FOOTERS = 'template-parts-footers'; const MENU_TEMPLATE_PARTS_SIDEBARS = 'template-parts-sidebars'; const MENU_TEMPLATE_PARTS_GENERAL = 'template-parts-general'; const TEMPLATE_PARTS_SUB_MENUS = [{ area: TEMPLATE_PART_AREA_HEADER, menu: MENU_TEMPLATE_PARTS_HEADERS, title: Object(external_wp_i18n_["__"])('headers') }, { area: TEMPLATE_PART_AREA_FOOTER, menu: MENU_TEMPLATE_PARTS_FOOTERS, title: Object(external_wp_i18n_["__"])('footers') }, { area: TEMPLATE_PART_AREA_SIDEBAR, menu: MENU_TEMPLATE_PARTS_SIDEBARS, title: Object(external_wp_i18n_["__"])('sidebars') }, { area: TEMPLATE_PART_AREA_GENERAL, menu: MENU_TEMPLATE_PARTS_GENERAL, title: Object(external_wp_i18n_["__"])('general') }]; // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/store/reducer.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Reducer returning the user preferences. * * @param {Object} state Current state. * @param {Object} action Dispatched action. * @return {Object} Updated state. */ const preferences = Object(external_wp_data_["combineReducers"])({ features() { let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PREFERENCES_DEFAULTS.features; let action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'TOGGLE_FEATURE': { return { ...state, [action.feature]: !state[action.feature] }; } default: return state; } } }); /** * Reducer returning the editing canvas device type. * * @param {Object} state Current state. * @param {Object} action Dispatched action. * * @return {Object} Updated state. */ function reducer_deviceType() { let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Desktop'; let action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'SET_PREVIEW_DEVICE_TYPE': return action.deviceType; } return state; } /** * Reducer returning the settings. * * @param {Object} state Current state. * @param {Object} action Dispatched action. * * @return {Object} Updated state. */ function reducer_settings() { let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; let action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'UPDATE_SETTINGS': return { ...state, ...action.settings }; } return state; } /** * Reducer keeping track of the currently edited Post Type, * Post Id and the context provided to fill the content of the block editor. * * @param {Object} state Current edited post. * @param {Object} action Dispatched action. * * @return {Object} Updated state. */ function editedPost() { let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; let action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'SET_TEMPLATE': case 'SET_PAGE': return { type: 'wp_template', id: action.templateId, page: action.page }; case 'SET_TEMPLATE_PART': return { type: 'wp_template_part', id: action.templatePartId }; } return state; } /** * Reducer for information about the site's homepage. * * @param {Object} state Current state. * @param {Object} action Dispatched action. * * @return {Object} Updated state. */ function homeTemplateId(state, action) { switch (action.type) { case 'SET_HOME_TEMPLATE': return action.homeTemplateId; } return state; } /** * Reducer for information about the navigation panel, such as its active menu * and whether it should be opened or closed. * * Note: this reducer interacts with the inserter and list view panels reducers * to make sure that only one of the three panels is open at the same time. * * @param {Object} state Current state. * @param {Object} action Dispatched action. */ function navigationPanel() { let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { menu: MENU_ROOT, isOpen: false }; let action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'SET_NAVIGATION_PANEL_ACTIVE_MENU': return { ...state, menu: action.menu }; case 'OPEN_NAVIGATION_PANEL_TO_MENU': return { ...state, isOpen: true, menu: action.menu }; case 'SET_IS_NAVIGATION_PANEL_OPENED': return { ...state, menu: !action.isOpen ? MENU_ROOT : state.menu, // Set menu to root when closing panel. isOpen: action.isOpen }; case 'SET_IS_LIST_VIEW_OPENED': return { ...state, menu: state.isOpen && action.isOpen ? MENU_ROOT : state.menu, // Set menu to root when closing panel. isOpen: action.isOpen ? false : state.isOpen }; case 'SET_IS_INSERTER_OPENED': return { ...state, menu: state.isOpen && action.value ? MENU_ROOT : state.menu, // Set menu to root when closing panel. isOpen: action.value ? false : state.isOpen }; } return state; } /** * Reducer to set the block inserter panel open or closed. * * Note: this reducer interacts with the navigation and list view panels reducers * to make sure that only one of the three panels is open at the same time. * * @param {boolean|Object} state Current state. * @param {Object} action Dispatched action. */ function blockInserterPanel() { let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; let action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'OPEN_NAVIGATION_PANEL_TO_MENU': return false; case 'SET_IS_NAVIGATION_PANEL_OPENED': case 'SET_IS_LIST_VIEW_OPENED': return action.isOpen ? false : state; case 'SET_IS_INSERTER_OPENED': return action.value; } return state; } /** * Reducer to set the list view panel open or closed. * * Note: this reducer interacts with the navigation and inserter panels reducers * to make sure that only one of the three panels is open at the same time. * * @param {Object} state Current state. * @param {Object} action Dispatched action. */ function listViewPanel() { let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; let action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case 'OPEN_NAVIGATION_PANEL_TO_MENU': return false; case 'SET_IS_NAVIGATION_PANEL_OPENED': return action.isOpen ? false : state; case 'SET_IS_INSERTER_OPENED': return action.value ? false : state; case 'SET_IS_LIST_VIEW_OPENED': return action.isOpen; } return state; } /* harmony default export */ var reducer = (Object(external_wp_data_["combineReducers"])({ preferences, deviceType: reducer_deviceType, settings: reducer_settings, editedPost, homeTemplateId, navigationPanel, blockInserterPanel, listViewPanel })); // EXTERNAL MODULE: ./node_modules/@wordpress/interface/build-module/index.js + 17 modules var build_module = __webpack_require__("U60i"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/utils/is-template-revertable.js /** * Check if a template is revertable to its original theme-provided template file. * * @param {Object} template The template entity to check. * @return {boolean} Whether the template is revertable. */ function isTemplateRevertable(template) { if (!template) { return false; } /* eslint-disable camelcase */ return (template === null || template === void 0 ? void 0 : template.source) === 'custom' && (template === null || template === void 0 ? void 0 : template.has_theme_file); /* eslint-enable camelcase */ } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/store/actions.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Returns an action object used to toggle a feature flag. * * @param {string} feature Feature name. * * @return {Object} Action object. */ function actions_toggleFeature(feature) { return { type: 'TOGGLE_FEATURE', feature }; } /** * Returns an action object used to toggle the width of the editing canvas. * * @param {string} deviceType * * @return {Object} Action object. */ function __experimentalSetPreviewDeviceType(deviceType) { return { type: 'SET_PREVIEW_DEVICE_TYPE', deviceType }; } /** * Returns an action object used to set a template. * * @param {number} templateId The template ID. * @param {string} templateSlug The template slug. * @return {Object} Action object. */ function* actions_setTemplate(templateId, templateSlug) { const pageContext = { templateSlug }; if (!templateSlug) { const template = yield external_wp_data_["controls"].resolveSelect(external_wp_coreData_["store"], 'getEntityRecord', 'postType', 'wp_template', templateId); pageContext.templateSlug = template === null || template === void 0 ? void 0 : template.slug; } return { type: 'SET_TEMPLATE', templateId, page: { context: pageContext } }; } /** * Adds a new template, and sets it as the current template. * * @param {Object} template The template. * * @return {Object} Action object used to set the current template. */ function* addTemplate(template) { const newTemplate = yield external_wp_data_["controls"].dispatch(external_wp_coreData_["store"], 'saveEntityRecord', 'postType', 'wp_template', template); if (template.content) { yield external_wp_data_["controls"].dispatch(external_wp_coreData_["store"], 'editEntityRecord', 'postType', 'wp_template', newTemplate.id, { blocks: Object(external_wp_blocks_["parse"])(template.content) }, { undoIgnore: true }); } return { type: 'SET_TEMPLATE', templateId: newTemplate.id, page: { context: { templateSlug: newTemplate.slug } } }; } /** * Removes a template. * * @param {Object} template The template object. */ function* actions_removeTemplate(template) { try { yield external_wp_data_["controls"].dispatch(external_wp_coreData_["store"], 'deleteEntityRecord', 'postType', template.type, template.id, { force: true }); const lastError = yield external_wp_data_["controls"].select(external_wp_coreData_["store"], 'getLastEntityDeleteError', 'postType', template.type, template.id); if (lastError) { throw lastError; } yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createSuccessNotice', Object(external_wp_i18n_["sprintf"])( /* translators: The template/part's name. */ Object(external_wp_i18n_["__"])('"%s" removed.'), template.title.rendered), { type: 'snackbar' }); } catch (error) { const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : Object(external_wp_i18n_["__"])('An error occurred while deleting the template.'); yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createErrorNotice', errorMessage, { type: 'snackbar' }); } } /** * Returns an action object used to set a template part. * * @param {string} templatePartId The template part ID. * * @return {Object} Action object. */ function actions_setTemplatePart(templatePartId) { return { type: 'SET_TEMPLATE_PART', templatePartId }; } /** * Updates the homeTemplateId state with the templateId of the page resolved * from the given path. * * @param {number} homeTemplateId The template ID for the homepage. */ function setHomeTemplateId(homeTemplateId) { return { type: 'SET_HOME_TEMPLATE', homeTemplateId }; } /** * Resolves the template for a page and displays both. If no path is given, attempts * to use the postId to generate a path like `?p=${ postId }`. * * @param {Object} page The page object. * @param {string} page.type The page type. * @param {string} page.slug The page slug. * @param {string} page.path The page path. * @param {Object} page.context The page context. * * @return {number} The resolved template ID for the page route. */ function* actions_setPage(page) { var _page$context; if (!page.path && (_page$context = page.context) !== null && _page$context !== void 0 && _page$context.postId) { const entity = yield external_wp_data_["controls"].resolveSelect(external_wp_coreData_["store"], 'getEntityRecord', 'postType', page.context.postType || 'post', page.context.postId); page.path = Object(external_wp_url_["getPathAndQueryString"])(entity.link); } const { id: templateId, slug: templateSlug } = yield external_wp_data_["controls"].resolveSelect(external_wp_coreData_["store"], '__experimentalGetTemplateForLink', page.path); yield { type: 'SET_PAGE', page: !templateSlug ? page : { ...page, context: { ...page.context, templateSlug } }, templateId }; return templateId; } /** * Displays the site homepage for editing in the editor. */ function* actions_showHomepage() { const { show_on_front: showOnFront, page_on_front: frontpageId } = yield external_wp_data_["controls"].resolveSelect(external_wp_coreData_["store"], 'getEntityRecord', 'root', 'site'); const { siteUrl } = yield external_wp_data_["controls"].select(STORE_NAME, 'getSettings'); const page = { path: siteUrl, context: showOnFront === 'page' ? { postType: 'page', postId: frontpageId } : {} }; const homeTemplate = yield* actions_setPage(page); yield setHomeTemplateId(homeTemplate); } /** * Returns an action object used to set the active navigation panel menu. * * @param {string} menu Menu prop of active menu. * * @return {Object} Action object. */ function setNavigationPanelActiveMenu(menu) { return { type: 'SET_NAVIGATION_PANEL_ACTIVE_MENU', menu }; } /** * Opens the navigation panel and sets its active menu at the same time. * * @param {string} menu Identifies the menu to open. */ function openNavigationPanelToMenu(menu) { return { type: 'OPEN_NAVIGATION_PANEL_TO_MENU', menu }; } /** * Sets whether the navigation panel should be open. * * @param {boolean} isOpen If true, opens the nav panel. If false, closes it. It * does not toggle the state, but sets it directly. */ function actions_setIsNavigationPanelOpened(isOpen) { return { type: 'SET_IS_NAVIGATION_PANEL_OPENED', isOpen }; } /** * Returns an action object used to open/close the inserter. * * @param {boolean|Object} value Whether the inserter should be * opened (true) or closed (false). * To specify an insertion point, * use an object. * @param {string} value.rootClientId The root client ID to insert at. * @param {number} value.insertionIndex The index to insert at. * * @return {Object} Action object. */ function actions_setIsInserterOpened(value) { return { type: 'SET_IS_INSERTER_OPENED', value }; } /** * Returns an action object used to update the settings. * * @param {Object} settings New settings. * * @return {Object} Action object. */ function actions_updateSettings(settings) { return { type: 'UPDATE_SETTINGS', settings }; } /** * Sets whether the list view panel should be open. * * @param {boolean} isOpen If true, opens the list view. If false, closes it. * It does not toggle the state, but sets it directly. */ function actions_setIsListViewOpened(isOpen) { return { type: 'SET_IS_LIST_VIEW_OPENED', isOpen }; } /** * Reverts a template to its original theme-provided file. * * @param {Object} template The template to revert. * @param {Object} [options] * @param {boolean} [options.allowUndo] Whether to allow the user to undo * reverting the template. Default true. */ function* actions_revertTemplate(template) { let { allowUndo = true } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (!isTemplateRevertable(template)) { yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createErrorNotice', Object(external_wp_i18n_["__"])('This template is not revertable.'), { type: 'snackbar' }); return; } try { var _fileTemplate$content; const templateEntity = yield external_wp_data_["controls"].select(external_wp_coreData_["store"], 'getEntity', 'postType', template.type); if (!templateEntity) { yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createErrorNotice', Object(external_wp_i18n_["__"])('The editor has encountered an unexpected error. Please reload.'), { type: 'snackbar' }); return; } const fileTemplatePath = Object(external_wp_url_["addQueryArgs"])(`${templateEntity.baseURL}/${template.id}`, { context: 'edit', source: 'theme' }); const fileTemplate = yield Object(external_wp_dataControls_["apiFetch"])({ path: fileTemplatePath }); if (!fileTemplate) { yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createErrorNotice', Object(external_wp_i18n_["__"])('The editor has encountered an unexpected error. Please reload.'), { type: 'snackbar' }); return; } const serializeBlocks = _ref => { let { blocks: blocksForSerialization = [] } = _ref; return Object(external_wp_blocks_["__unstableSerializeAndClean"])(blocksForSerialization); }; const edited = yield external_wp_data_["controls"].select(external_wp_coreData_["store"], 'getEditedEntityRecord', 'postType', template.type, template.id); // We are fixing up the undo level here to make sure we can undo // the revert in the header toolbar correctly. yield external_wp_data_["controls"].dispatch(external_wp_coreData_["store"], 'editEntityRecord', 'postType', template.type, template.id, { content: serializeBlocks, // required to make the `undo` behave correctly blocks: edited.blocks, // required to revert the blocks in the editor source: 'custom' // required to avoid turning the editor into a dirty state }, { undoIgnore: true // required to merge this edit with the last undo level }); const blocks = Object(external_wp_blocks_["parse"])(fileTemplate === null || fileTemplate === void 0 ? void 0 : (_fileTemplate$content = fileTemplate.content) === null || _fileTemplate$content === void 0 ? void 0 : _fileTemplate$content.raw); yield external_wp_data_["controls"].dispatch(external_wp_coreData_["store"], 'editEntityRecord', 'postType', template.type, fileTemplate.id, { content: serializeBlocks, blocks, source: 'theme' }); if (allowUndo) { const undoRevert = async () => { await Object(external_wp_data_["dispatch"])(external_wp_coreData_["store"]).editEntityRecord('postType', template.type, edited.id, { content: serializeBlocks, blocks: edited.blocks, source: 'custom' }); }; yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createSuccessNotice', Object(external_wp_i18n_["__"])('Template reverted.'), { type: 'snackbar', actions: [{ label: Object(external_wp_i18n_["__"])('Undo'), onClick: undoRevert }] }); } else { yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createSuccessNotice', Object(external_wp_i18n_["__"])('Template reverted.')); } } catch (error) { const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : Object(external_wp_i18n_["__"])('Template revert failed. Please reload.'); yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createErrorNotice', errorMessage, { type: 'snackbar' }); } } /** * Returns an action object used in signalling that the user opened an editor sidebar. * * @param {?string} name Sidebar name to be opened. * * @yield {Object} Action object. */ function* openGeneralSidebar(name) { yield external_wp_data_["controls"].dispatch(build_module["i" /* store */], 'enableComplementaryArea', STORE_NAME, name); } /** * Returns an action object signalling that the user closed the sidebar. * * @yield {Object} Action object. */ function* closeGeneralSidebar() { yield external_wp_data_["controls"].dispatch(build_module["i" /* store */], 'disableComplementaryArea', STORE_NAME); } // EXTERNAL MODULE: ./node_modules/rememo/es/rememo.js var rememo = __webpack_require__("pPDe"); // EXTERNAL MODULE: external ["wp","mediaUtils"] var external_wp_mediaUtils_ = __webpack_require__("6aBm"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js /** * External dependencies */ /** * Internal dependencies */ function isTemplateSuperseded(slug, existingSlugs, showOnFront) { if (!TEMPLATE_OVERRIDES[slug]) { return false; } // `home` template is unused if it is superseded by `front-page` // or "show on front" is set to show a page rather than blog posts. if (slug === 'home' && showOnFront !== 'posts') { return true; } return TEMPLATE_OVERRIDES[slug].every(overrideSlug => existingSlugs.includes(overrideSlug) || isTemplateSuperseded(overrideSlug, existingSlugs, showOnFront)); } function getTemplateLocation(slug) { const isTopLevelTemplate = TEMPLATES_TOP_LEVEL.includes(slug); if (isTopLevelTemplate) { return MENU_TEMPLATES; } const isGeneralTemplate = TEMPLATES_GENERAL.includes(slug); if (isGeneralTemplate) { return MENU_TEMPLATES_GENERAL; } const isPostsTemplate = TEMPLATES_POSTS_PREFIXES.some(prefix => slug.startsWith(prefix)); if (isPostsTemplate) { return MENU_TEMPLATES_POSTS; } const isPagesTemplate = TEMPLATES_PAGES_PREFIXES.some(prefix => slug.startsWith(prefix)); if (isPagesTemplate) { return MENU_TEMPLATES_PAGES; } return MENU_TEMPLATES_GENERAL; } function getUnusedTemplates(templates, showOnFront) { const templateSlugs = Object(external_lodash_["map"])(templates, 'slug'); const supersededTemplates = templates.filter(_ref => { let { slug } = _ref; return isTemplateSuperseded(slug, templateSlugs, showOnFront); }); return supersededTemplates; } function getTemplatesLocationMap(templates) { return templates.reduce((obj, template) => { obj[template.slug] = getTemplateLocation(template.slug); return obj; }, {}); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/store/selectors.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ /** * @typedef {'template'|'template_type'} TemplateType Template type. */ /** * Returns whether the given feature is enabled or not. * * @param {Object} state Global application state. * @param {string} feature Feature slug. * * @return {boolean} Is active. */ function isFeatureActive(state, feature) { return Object(external_lodash_["get"])(state.preferences.features, [feature], false); } /** * Returns the current editing canvas device type. * * @param {Object} state Global application state. * * @return {string} Device type. */ function selectors_experimentalGetPreviewDeviceType(state) { return state.deviceType; } /** * Returns whether the current user can create media or not. * * @param {Object} state Global application state. * * @return {Object} Whether the current user can create media or not. */ const getCanUserCreateMedia = Object(external_wp_data_["createRegistrySelector"])(select => () => select(external_wp_coreData_["store"]).canUser('create', 'media')); /** * Returns any available Reusable blocks. * * @param {Object} state Global application state. * * @return {Array} The available reusable blocks. */ const getReusableBlocks = Object(external_wp_data_["createRegistrySelector"])(select => () => { const isWeb = external_wp_element_["Platform"].OS === 'web'; return isWeb ? select(external_wp_coreData_["store"]).getEntityRecords('postType', 'wp_block', { per_page: -1 }) : []; }); /** * Returns the settings, taking into account active features and permissions. * * @param {Object} state Global application state. * @param {Function} setIsInserterOpen Setter for the open state of the global inserter. * * @return {Object} Settings. */ const selectors_getSettings = Object(rememo["a" /* default */])((state, setIsInserterOpen) => { const settings = { ...state.settings, outlineMode: true, focusMode: isFeatureActive(state, 'focusMode'), hasFixedToolbar: isFeatureActive(state, 'fixedToolbar'), __experimentalSetIsInserterOpened: setIsInserterOpen, __experimentalReusableBlocks: getReusableBlocks(state) }; const canUserCreateMedia = getCanUserCreateMedia(state); if (!canUserCreateMedia) { return settings; } settings.mediaUpload = _ref => { let { onError, ...rest } = _ref; Object(external_wp_mediaUtils_["uploadMedia"])({ wpAllowedMimeTypes: state.settings.allowedMimeTypes, onError: _ref2 => { let { message } = _ref2; return onError(message); }, ...rest }); }; return settings; }, state => [getCanUserCreateMedia(state), state.settings, isFeatureActive(state, 'focusMode'), isFeatureActive(state, 'fixedToolbar'), getReusableBlocks(state)]); /** * Returns the current home template ID. * * @param {Object} state Global application state. * * @return {number?} Home template ID. */ function getHomeTemplateId(state) { return state.homeTemplateId; } function getCurrentEditedPost(state) { return state.editedPost; } /** * Returns the current edited post type (wp_template or wp_template_part). * * @param {Object} state Global application state. * * @return {TemplateType?} Template type. */ function selectors_getEditedPostType(state) { return getCurrentEditedPost(state).type; } /** * Returns the ID of the currently edited template or template part. * * @param {Object} state Global application state. * * @return {string?} Post ID. */ function selectors_getEditedPostId(state) { return getCurrentEditedPost(state).id; } /** * Returns the current page object. * * @param {Object} state Global application state. * * @return {Object} Page. */ function selectors_getPage(state) { return getCurrentEditedPost(state).page; } /** * Returns the active menu in the navigation panel. * * @param {Object} state Global application state. * * @return {string} Active menu. */ function getNavigationPanelActiveMenu(state) { return state.navigationPanel.menu; } /** * Returns the current template or template part's corresponding * navigation panel's sub menu, to be used with `openNavigationPanelToMenu`. * * @param {Object} state Global application state. * * @return {string} The current template or template part's sub menu. */ const getCurrentTemplateNavigationPanelSubMenu = Object(external_wp_data_["createRegistrySelector"])(select => state => { const templateType = selectors_getEditedPostType(state); const templateId = selectors_getEditedPostId(state); const template = templateId ? select(external_wp_coreData_["store"]).getEntityRecord('postType', templateType, templateId) : null; if (!template) { return MENU_ROOT; } if ('wp_template_part' === templateType) { var _TEMPLATE_PARTS_SUB_M; return ((_TEMPLATE_PARTS_SUB_M = TEMPLATE_PARTS_SUB_MENUS.find(submenu => submenu.area === (template === null || template === void 0 ? void 0 : template.area))) === null || _TEMPLATE_PARTS_SUB_M === void 0 ? void 0 : _TEMPLATE_PARTS_SUB_M.menu) || MENU_TEMPLATE_PARTS; } const templates = select(external_wp_coreData_["store"]).getEntityRecords('postType', 'wp_template'); const showOnFront = select(external_wp_coreData_["store"]).getEditedEntityRecord('root', 'site').show_on_front; if (isTemplateSuperseded(template.slug, Object(external_lodash_["map"])(templates, 'slug'), showOnFront)) { return MENU_TEMPLATES_UNUSED; } return getTemplateLocation(template.slug); }); /** * Returns the current opened/closed state of the navigation panel. * * @param {Object} state Global application state. * * @return {boolean} True if the navigation panel should be open; false if closed. */ function selectors_isNavigationOpened(state) { return state.navigationPanel.isOpen; } /** * Returns the current opened/closed state of the inserter panel. * * @param {Object} state Global application state. * * @return {boolean} True if the inserter panel should be open; false if closed. */ function selectors_isInserterOpened(state) { return !!state.blockInserterPanel; } /** * Get the insertion point for the inserter. * * @param {Object} state Global application state. * * @return {Object} The root client ID, index to insert at and starting filter value. */ function __experimentalGetInsertionPoint(state) { const { rootClientId, insertionIndex, filterValue } = state.blockInserterPanel; return { rootClientId, insertionIndex, filterValue }; } /** * Returns the current opened/closed state of the list view panel. * * @param {Object} state Global application state. * * @return {boolean} True if the list view panel should be open; false if closed. */ function selectors_isListViewOpened(state) { return state.listViewPanel; } /** * Returns the template parts and their blocks for the current edited template. * * @param {Object} state Global application state. * @return {Array} Template parts and their blocks in an array. */ const getCurrentTemplateTemplateParts = Object(external_wp_data_["createRegistrySelector"])(select => state => { var _template$blocks; const templateType = selectors_getEditedPostType(state); const templateId = selectors_getEditedPostId(state); const template = select(external_wp_coreData_["store"]).getEditedEntityRecord('postType', templateType, templateId); const templateParts = select(external_wp_coreData_["store"]).getEntityRecords('postType', 'wp_template_part', { per_page: -1 }); const templatePartsById = Object(external_lodash_["keyBy"])(templateParts, templatePart => templatePart.id); return ((_template$blocks = template.blocks) !== null && _template$blocks !== void 0 ? _template$blocks : []).filter(block => Object(external_wp_blocks_["isTemplatePart"])(block)).map(block => { const { attributes: { theme, slug } } = block; const templatePartId = `${theme}//${slug}`; const templatePart = templatePartsById[templatePartId]; return { templatePart, block }; }).filter(_ref3 => { let { templatePart } = _ref3; return !!templatePart; }); }); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/store/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const storeConfig = { reducer: reducer, actions: actions_namespaceObject, selectors: selectors_namespaceObject, controls: external_wp_dataControls_["controls"], persist: ['preferences'] }; const store = Object(external_wp_data_["createReduxStore"])(STORE_NAME, storeConfig); // Once we build a more generic persistence plugin that works across types of stores // we'd be able to replace this with a register call. Object(external_wp_data_["registerStore"])(STORE_NAME, storeConfig); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/plugins/welcome-guide-menu-item.js /** * WordPress dependencies */ /** * Internal dependencies */ function WelcomeGuideMenuItem() { const { toggleFeature } = Object(external_wp_data_["useDispatch"])(store); return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { onClick: () => toggleFeature('welcomeGuide') }, Object(external_wp_i18n_["__"])('Welcome Guide')); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/plugins/index.js /** * WordPress dependencies */ /** * Internal dependencies */ Object(external_wp_plugins_["registerPlugin"])('edit-site', { render() { return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(tools_more_menu_group, null, Object(external_wp_element_["createElement"])(SiteExport, null), Object(external_wp_element_["createElement"])(WelcomeGuideMenuItem, null))); } }); // EXTERNAL MODULE: external ["wp","hooks"] var external_wp_hooks_ = __webpack_require__("g56x"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/hooks/components.js /** * WordPress dependencies */ Object(external_wp_hooks_["addFilter"])('editor.MediaUpload', 'core/edit-site/components/media-upload', () => external_wp_mediaUtils_["MediaUpload"]); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/hooks/index.js /** * Internal dependencies */ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js var esm_extends = __webpack_require__("wx14"); // CONCATENATED MODULE: ./node_modules/history/index.js var r,B=r||(r={});B.Pop="POP";B.Push="PUSH";B.Replace="REPLACE";var C= false?undefined:function(b){return b};function D(b,h){if(!b){"undefined"!==typeof console&&console.warn(h);try{throw Error(h);}catch(e){}}}function E(b){b.preventDefault();b.returnValue=""} function F(){var b=[];return{get length(){return b.length},push:function(h){b.push(h);return function(){b=b.filter(function(e){return e!==h})}},call:function(h){b.forEach(function(e){return e&&e(h)})}}}function H(){return Math.random().toString(36).substr(2,8)}function I(b){var h=b.pathname;h=void 0===h?"/":h;var e=b.search;e=void 0===e?"":e;b=b.hash;b=void 0===b?"":b;e&&"?"!==e&&(h+="?"===e.charAt(0)?e:"?"+e);b&&"#"!==b&&(h+="#"===b.charAt(0)?b:"#"+b);return h} function J(b){var h={};if(b){var e=b.indexOf("#");0<=e&&(h.hash=b.substr(e),b=b.substr(0,e));e=b.indexOf("?");0<=e&&(h.search=b.substr(e),b=b.substr(0,e));b&&(h.pathname=b)}return h} function createBrowserHistory(b){function h(){var c=p.location,a=m.state||{};return[a.idx,C({pathname:c.pathname,search:c.search,hash:c.hash,state:a.usr||null,key:a.key||"default"})]}function e(c){return"string"===typeof c?c:I(c)}function x(c,a){void 0===a&&(a=null);return C(Object(esm_extends["a" /* default */])({pathname:q.pathname,hash:"",search:""},"string"===typeof c?J(c):c,{state:a,key:H()}))}function z(c){t=c;c=h();v=c[0];q=c[1];d.call({action:t,location:q})}function A(c,a){function f(){A(c,a)}var l=r.Push,k=x(c, a);if(!g.length||(g.call({action:l,location:k,retry:f}),!1)){var n=[{usr:k.state,key:k.key,idx:v+1},e(k)];k=n[0];n=n[1];try{m.pushState(k,"",n)}catch(G){p.location.assign(n)}z(l)}}function y(c,a){function f(){y(c,a)}var l=r.Replace,k=x(c,a);g.length&&(g.call({action:l,location:k,retry:f}),1)||(k=[{usr:k.state,key:k.key,idx:v},e(k)],m.replaceState(k[0],"",k[1]),z(l))}function w(c){m.go(c)}void 0===b&&(b={});b=b.window;var p=void 0===b?document.defaultView:b,m=p.history,u=null;p.addEventListener("popstate", function(){if(u)g.call(u),u=null;else{var c=r.Pop,a=h(),f=a[0];a=a[1];if(g.length)if(null!=f){var l=v-f;l&&(u={action:c,location:a,retry:function(){w(-1*l)}},w(l))}else false?undefined: void 0;else z(c)}});var t=r.Pop;b=h();var v=b[0],q=b[1],d=F(),g=F();null==v&&(v=0,m.replaceState(Object(esm_extends["a" /* default */])({},m.state,{idx:v}),""));return{get action(){return t},get location(){return q},createHref:e,push:A,replace:y,go:w,back:function(){w(-1)},forward:function(){w(1)},listen:function(c){return d.push(c)},block:function(c){var a=g.push(c);1===g.length&&p.addEventListener("beforeunload",E);return function(){a();g.length||p.removeEventListener("beforeunload",E)}}}}; function createHashHistory(b){function h(){var a=J(m.location.hash.substr(1)),f=a.pathname,l=a.search;a=a.hash;var k=u.state||{};return[k.idx,C({pathname:void 0===f?"/":f,search:void 0===l?"":l,hash:void 0===a?"":a,state:k.usr||null,key:k.key||"default"})]}function e(){if(t)c.call(t),t=null;else{var a=r.Pop,f=h(),l=f[0];f=f[1];if(c.length)if(null!=l){var k=q-l;k&&(t={action:a,location:f,retry:function(){p(-1*k)}},p(k))}else false?undefined: void 0;else A(a)}}function x(a){var f=document.querySelector("base"),l="";f&&f.getAttribute("href")&&(f=m.location.href,l=f.indexOf("#"),l=-1===l?f:f.slice(0,l));return l+"#"+("string"===typeof a?a:I(a))}function z(a,f){void 0===f&&(f=null);return C(Object(esm_extends["a" /* default */])({pathname:d.pathname,hash:"",search:""},"string"===typeof a?J(a):a,{state:f,key:H()}))}function A(a){v=a;a=h();q=a[0];d=a[1];g.call({action:v,location:d})}function y(a,f){function l(){y(a,f)}var k=r.Push,n=z(a,f); false? undefined:void 0;if(!c.length||(c.call({action:k,location:n,retry:l}),!1)){var G=[{usr:n.state,key:n.key,idx:q+1},x(n)];n=G[0];G=G[1];try{u.pushState(n,"",G)}catch(K){m.location.assign(G)}A(k)}}function w(a,f){function l(){w(a,f)}var k=r.Replace,n=z(a,f); false?undefined:void 0;c.length&&(c.call({action:k,location:n,retry:l}),1)||(n=[{usr:n.state,key:n.key,idx:q},x(n)],u.replaceState(n[0],"",n[1]),A(k))}function p(a){u.go(a)}void 0===b&&(b={});b=b.window;var m=void 0===b?document.defaultView:b,u=m.history,t=null;m.addEventListener("popstate",e);m.addEventListener("hashchange",function(){var a=h()[1];I(a)!==I(d)&&e()});var v=r.Pop;b=h();var q=b[0],d=b[1],g=F(),c=F();null==q&&(q=0,u.replaceState(Object(esm_extends["a" /* default */])({},u.state,{idx:q}),""));return{get action(){return v},get location(){return d}, createHref:x,push:y,replace:w,go:p,back:function(){p(-1)},forward:function(){p(1)},listen:function(a){return g.push(a)},block:function(a){var f=c.push(a);1===c.length&&m.addEventListener("beforeunload",E);return function(){f();c.length||m.removeEventListener("beforeunload",E)}}}}; function createMemoryHistory(b){function h(d,g){void 0===g&&(g=null);return C(Object(esm_extends["a" /* default */])({pathname:t.pathname,search:"",hash:""},"string"===typeof d?J(d):d,{state:g,key:H()}))}function e(d,g,c){return!q.length||(q.call({action:d,location:g,retry:c}),!1)}function x(d,g){u=d;t=g;v.call({action:u,location:t})}function z(d,g){var c=r.Push,a=h(d,g); false?undefined: void 0;e(c,a,function(){z(d,g)})&&(m+=1,p.splice(m,p.length,a),x(c,a))}function A(d,g){var c=r.Replace,a=h(d,g); false?undefined:void 0;e(c,a,function(){A(d,g)})&&(p[m]=a,x(c,a))}function y(d){var g=Math.min(Math.max(m+d,0),p.length-1),c=r.Pop,a=p[g];e(c,a,function(){y(d)})&&(m=g,x(c,a))}void 0===b&&(b={});var w=b;b=w.initialEntries;w=w.initialIndex;var p=(void 0=== b?["/"]:b).map(function(d){var g=C(Object(esm_extends["a" /* default */])({pathname:"/",search:"",hash:"",state:null,key:H()},"string"===typeof d?J(d):d)); false?undefined:void 0;return g}),m=Math.min(Math.max(null==w?p.length-1:w,0),p.length-1),u=r.Pop,t=p[m],v=F(),q=F();return{get index(){return m},get action(){return u},get location(){return t},createHref:function(d){return"string"=== typeof d?d:I(d)},push:z,replace:A,go:y,back:function(){y(-1)},forward:function(){y(1)},listen:function(d){return v.push(d)},block:function(d){return q.push(d)}}}; // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/utils/history.js /** * External dependencies */ /** * WordPress dependencies */ const history_history = createBrowserHistory(); const originalHistoryPush = history_history.push; const originalHistoryReplace = history_history.replace; function push(params, state) { return originalHistoryPush.call(history_history, Object(external_wp_url_["addQueryArgs"])(window.location.href, params), state); } function history_replace(params, state) { return originalHistoryReplace.call(history_history, Object(external_wp_url_["addQueryArgs"])(window.location.href, params), state); } history_history.push = push; history_history.replace = history_replace; /* harmony default export */ var utils_history = (history_history); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/routes/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const RoutesContext = Object(external_wp_element_["createContext"])(); const HistoryContext = Object(external_wp_element_["createContext"])(); function useLocation() { return Object(external_wp_element_["useContext"])(RoutesContext); } function useHistory() { return Object(external_wp_element_["useContext"])(HistoryContext); } function getLocationWithParams(location) { const searchParams = new URLSearchParams(location.search); return { ...location, params: Object.fromEntries(searchParams.entries()) }; } function Routes(_ref) { let { children } = _ref; const [location, setLocation] = Object(external_wp_element_["useState"])(() => getLocationWithParams(utils_history.location)); Object(external_wp_element_["useEffect"])(() => { return utils_history.listen(_ref2 => { let { location: updatedLocation } = _ref2; setLocation(getLocationWithParams(updatedLocation)); }); }, []); return Object(external_wp_element_["createElement"])(HistoryContext.Provider, { value: utils_history }, Object(external_wp_element_["createElement"])(RoutesContext.Provider, { value: location }, children(location))); } // EXTERNAL MODULE: external ["wp","blockEditor"] var external_wp_blockEditor_ = __webpack_require__("axFQ"); // EXTERNAL MODULE: external ["wp","keyboardShortcuts"] var external_wp_keyboardShortcuts_ = __webpack_require__("hF7m"); // EXTERNAL MODULE: external ["wp","compose"] var external_wp_compose_ = __webpack_require__("K9lf"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/plus.js var plus = __webpack_require__("Q4Sy"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/list-view.js var list_view = __webpack_require__("OzlF"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/more-vertical.js var more_vertical = __webpack_require__("VKE3"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js var check = __webpack_require__("RMJe"); // EXTERNAL MODULE: external ["wp","a11y"] var external_wp_a11y_ = __webpack_require__("gdqT"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/feature-toggle/index.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function FeatureToggle(_ref) { let { feature, label, info, messageActivated, messageDeactivated } = _ref; const speakMessage = () => { if (isActive) { Object(external_wp_a11y_["speak"])(messageDeactivated || Object(external_wp_i18n_["__"])('Feature deactivated')); } else { Object(external_wp_a11y_["speak"])(messageActivated || Object(external_wp_i18n_["__"])('Feature activated')); } }; const isActive = Object(external_wp_data_["useSelect"])(select => { return select(store).isFeatureActive(feature); }, []); const { toggleFeature } = Object(external_wp_data_["useDispatch"])(store); return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { icon: isActive && check["a" /* default */], isSelected: isActive, onClick: Object(external_lodash_["flow"])(toggleFeature.bind(null, feature), speakMessage), role: "menuitemcheckbox", info: info }, label); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/more-menu/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const POPOVER_PROPS = { className: 'edit-site-more-menu__content', position: 'bottom left' }; const TOGGLE_PROPS = { tooltipPosition: 'bottom' }; const MoreMenu = () => Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { className: "edit-site-more-menu", icon: more_vertical["a" /* default */], label: Object(external_wp_i18n_["__"])('More tools & options'), popoverProps: POPOVER_PROPS, toggleProps: TOGGLE_PROPS }, _ref => { let { onClose } = _ref; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { label: Object(external_wp_i18n_["_x"])('View', 'noun') }, Object(external_wp_element_["createElement"])(FeatureToggle, { feature: "fixedToolbar", label: Object(external_wp_i18n_["__"])('Top toolbar'), info: Object(external_wp_i18n_["__"])('Access all block and document tools in a single place'), messageActivated: Object(external_wp_i18n_["__"])('Top toolbar activated'), messageDeactivated: Object(external_wp_i18n_["__"])('Top toolbar deactivated') }), Object(external_wp_element_["createElement"])(FeatureToggle, { feature: "focusMode", label: Object(external_wp_i18n_["__"])('Spotlight mode'), info: Object(external_wp_i18n_["__"])('Focus on one block at a time'), messageActivated: Object(external_wp_i18n_["__"])('Spotlight mode activated'), messageDeactivated: Object(external_wp_i18n_["__"])('Spotlight mode deactivated') }), Object(external_wp_element_["createElement"])(build_module["a" /* ActionItem */].Slot, { name: "core/edit-site/plugin-more-menu", label: Object(external_wp_i18n_["__"])('Plugins'), as: external_wp_components_["MenuGroup"], fillProps: { onClick: onClose } })), Object(external_wp_element_["createElement"])(tools_more_menu_group.Slot, { fillProps: { onClose } })); }); /* harmony default export */ var more_menu = (MoreMenu); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/save-button/index.js /** * External dependencies */ /** * WordPress dependencies */ function SaveButton(_ref) { let { openEntitiesSavedStates, isEntitiesSavedStatesOpen } = _ref; const { isDirty, isSaving } = Object(external_wp_data_["useSelect"])(select => { const { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } = select(external_wp_coreData_["store"]); const dirtyEntityRecords = __experimentalGetDirtyEntityRecords(); return { isDirty: dirtyEntityRecords.length > 0, isSaving: Object(external_lodash_["some"])(dirtyEntityRecords, record => isSavingEntityRecord(record.kind, record.name, record.key)) }; }, []); const disabled = !isDirty || isSaving; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { variant: "primary", className: "edit-site-save-button__button", "aria-disabled": disabled, "aria-expanded": isEntitiesSavedStatesOpen, disabled: disabled, isBusy: isSaving, onClick: disabled ? undefined : openEntitiesSavedStates }, Object(external_wp_i18n_["__"])('Save'))); } // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/undo.js var library_undo = __webpack_require__("Ntru"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/redo.js var library_redo = __webpack_require__("K2cm"); // EXTERNAL MODULE: external ["wp","keycodes"] var external_wp_keycodes_ = __webpack_require__("RxS6"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/undo-redo/undo.js /** * WordPress dependencies */ function UndoButton() { const hasUndo = Object(external_wp_data_["useSelect"])(select => select(external_wp_coreData_["store"]).hasUndo(), []); const { undo } = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]); return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { icon: !Object(external_wp_i18n_["isRTL"])() ? library_undo["a" /* default */] : library_redo["a" /* default */], label: Object(external_wp_i18n_["__"])('Undo'), shortcut: external_wp_keycodes_["displayShortcut"].primary('z') // If there are no undo levels we don't want to actually disable this // button, because it will remove focus for keyboard users. // See: https://github.com/WordPress/gutenberg/issues/3486 , "aria-disabled": !hasUndo, onClick: hasUndo ? undo : undefined }); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/undo-redo/redo.js /** * WordPress dependencies */ function RedoButton() { const hasRedo = Object(external_wp_data_["useSelect"])(select => select(external_wp_coreData_["store"]).hasRedo(), []); const { redo } = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]); return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { icon: !Object(external_wp_i18n_["isRTL"])() ? library_redo["a" /* default */] : library_undo["a" /* default */], label: Object(external_wp_i18n_["__"])('Redo'), shortcut: external_wp_keycodes_["displayShortcut"].primaryShift('z') // If there are no undo levels we don't want to actually disable this // button, because it will remove focus for keyboard users. // See: https://github.com/WordPress/gutenberg/issues/3486 , "aria-disabled": !hasRedo, onClick: hasRedo ? redo : undefined }); } // EXTERNAL MODULE: ./node_modules/classnames/index.js var classnames = __webpack_require__("TSYQ"); var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-down.js var chevron_down = __webpack_require__("NWDH"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/document-actions/index.js /** * External dependencies */ /** * WordPress dependencies */ function getBlockDisplayText(block) { if (block) { const blockType = Object(external_wp_blocks_["getBlockType"])(block.name); return blockType ? Object(external_wp_blocks_["__experimentalGetBlockLabel"])(blockType, block.attributes) : null; } return null; } function useSecondaryText() { const { getBlock } = Object(external_wp_data_["useSelect"])(external_wp_blockEditor_["store"]); const activeEntityBlockId = Object(external_wp_data_["useSelect"])(select => select(external_wp_blockEditor_["store"]).__experimentalGetActiveBlockIdByBlockNames(['core/template-part']), []); if (activeEntityBlockId) { return { label: getBlockDisplayText(getBlock(activeEntityBlockId)), isActive: true }; } return {}; } /** * @param {Object} props Props for the DocumentActions component. * @param {string} props.entityTitle The title to display. * @param {string} props.entityLabel A label to use for entity-related options. * E.g. "template" would be used for "edit * template" and "show template details". * @param {boolean} props.isLoaded Whether the data is available. * @param {Function} props.children React component to use for the * information dropdown area. Should be a * function which accepts dropdown props. */ function DocumentActions(_ref) { let { entityTitle, entityLabel, isLoaded, children: dropdownContent } = _ref; const { label } = useSecondaryText(); // The title ref is passed to the popover as the anchorRef so that the // dropdown is centered over the whole title area rather than just one // part of it. const titleRef = Object(external_wp_element_["useRef"])(); // Return a simple loading indicator until we have information to show. if (!isLoaded) { return Object(external_wp_element_["createElement"])("div", { className: "edit-site-document-actions" }, Object(external_wp_i18n_["__"])('Loading…')); } // Return feedback that the template does not seem to exist. if (!entityTitle) { return Object(external_wp_element_["createElement"])("div", { className: "edit-site-document-actions" }, Object(external_wp_i18n_["__"])('Template not found')); } return Object(external_wp_element_["createElement"])("div", { className: classnames_default()('edit-site-document-actions', { 'has-secondary-label': !!label }) }, Object(external_wp_element_["createElement"])("div", { ref: titleRef, className: "edit-site-document-actions__title-wrapper" }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalText"], { size: "body", className: "edit-site-document-actions__title", as: "h1" }, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { as: "span" }, Object(external_wp_i18n_["sprintf"])( /* translators: %s: the entity being edited, like "template"*/ Object(external_wp_i18n_["__"])('Editing %s: '), entityLabel)), entityTitle), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalText"], { size: "body", className: "edit-site-document-actions__secondary-item" }, label !== null && label !== void 0 ? label : ''), dropdownContent && Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { popoverProps: { anchorRef: titleRef.current }, position: "bottom center", renderToggle: _ref2 => { let { isOpen, onToggle } = _ref2; return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { className: "edit-site-document-actions__get-info", icon: chevron_down["a" /* default */], "aria-expanded": isOpen, "aria-haspopup": "true", onClick: onToggle, label: Object(external_wp_i18n_["sprintf"])( /* translators: %s: the entity to see details about, like "template"*/ Object(external_wp_i18n_["__"])('Show %s details'), entityLabel) }); }, contentClassName: "edit-site-document-actions__info-dropdown", renderContent: dropdownContent }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/routes/link.js /** * WordPress dependencies */ /** * Internal dependencies */ function useLink() { let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; let state = arguments.length > 1 ? arguments[1] : undefined; let shouldReplace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; const history = useHistory(); function onClick(event) { event.preventDefault(); if (shouldReplace) { history.replace(params, state); } else { history.push(params, state); } } return { href: Object(external_wp_url_["addQueryArgs"])(window.location.href, params), onClick }; } function Link(_ref) { let { params = {}, state, replace: shouldReplace = false, children, ...props } = _ref; const { href, onClick } = useLink(params, state, shouldReplace); return Object(external_wp_element_["createElement"])("a", Object(esm_extends["a" /* default */])({ href: href, onClick: onClick }, props), children); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/template-details/template-areas.js /** * WordPress dependencies */ /** * Internal dependencies */ function TemplatePartItemMore(_ref) { var _templatePart$title; let { onClose, templatePart, closeTemplateDetailsDropdown } = _ref; const { revertTemplate } = Object(external_wp_data_["useDispatch"])(store); const { params } = useLocation(); const editLinkProps = useLink({ postId: templatePart.id, postType: templatePart.type }, { fromTemplateId: params.postId }); function editTemplatePart(event) { editLinkProps.onClick(event); onClose(); closeTemplateDetailsDropdown(); } function clearCustomizations() { revertTemplate(templatePart); onClose(); closeTemplateDetailsDropdown(); } return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], Object(esm_extends["a" /* default */])({}, editLinkProps, { onClick: editTemplatePart }), Object(external_wp_i18n_["sprintf"])( /* translators: %s: template part title */ Object(external_wp_i18n_["__"])('Edit %s'), (_templatePart$title = templatePart.title) === null || _templatePart$title === void 0 ? void 0 : _templatePart$title.rendered))), isTemplateRevertable(templatePart) && Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { info: Object(external_wp_i18n_["__"])('Restore template to default state'), onClick: clearCustomizations }, Object(external_wp_i18n_["__"])('Clear customizations')))); } function TemplatePartItem(_ref2) { let { templatePart, clientId, closeTemplateDetailsDropdown } = _ref2; const { selectBlock, toggleBlockHighlight } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); const templatePartArea = Object(external_wp_data_["useSelect"])(select => { const defaultAreas = select(external_wp_editor_["store"]).__experimentalGetDefaultTemplatePartAreas(); return defaultAreas.find(defaultArea => defaultArea.area === templatePart.area); }, [templatePart.area]); const highlightBlock = () => toggleBlockHighlight(clientId, true); const cancelHighlightBlock = () => toggleBlockHighlight(clientId, false); return Object(external_wp_element_["createElement"])("div", { role: "menuitem", className: "edit-site-template-details__template-areas-item" }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { role: "button", icon: templatePartArea === null || templatePartArea === void 0 ? void 0 : templatePartArea.icon, iconPosition: "left", onClick: () => { selectBlock(clientId); }, onMouseOver: highlightBlock, onMouseLeave: cancelHighlightBlock, onFocus: highlightBlock, onBlur: cancelHighlightBlock }, templatePartArea === null || templatePartArea === void 0 ? void 0 : templatePartArea.label), Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { icon: more_vertical["a" /* default */], label: Object(external_wp_i18n_["__"])('More options'), className: "edit-site-template-details__template-areas-item-more" }, _ref3 => { let { onClose } = _ref3; return Object(external_wp_element_["createElement"])(TemplatePartItemMore, { onClose: onClose, templatePart: templatePart, closeTemplateDetailsDropdown: closeTemplateDetailsDropdown }); })); } function TemplateAreas(_ref4) { let { closeTemplateDetailsDropdown } = _ref4; const templateParts = Object(external_wp_data_["useSelect"])(select => select(store).getCurrentTemplateTemplateParts(), []); if (!templateParts.length) { return null; } return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { label: Object(external_wp_i18n_["__"])('Areas'), className: "edit-site-template-details__group edit-site-template-details__template-areas" }, templateParts.map(_ref5 => { let { templatePart, block } = _ref5; return Object(external_wp_element_["createElement"])(TemplatePartItem, { key: templatePart.slug, clientId: block.clientId, templatePart: templatePart, closeTemplateDetailsDropdown: closeTemplateDetailsDropdown }); })); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/template-details/edit-template-title.js /** * WordPress dependencies */ function EditTemplateTitle(_ref) { let { template } = _ref; const [title, setTitle] = Object(external_wp_coreData_["useEntityProp"])('postType', template.type, 'title', template.id); return Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { label: Object(external_wp_i18n_["__"])('Title'), value: title, help: Object(external_wp_i18n_["__"])('Give the template a title that indicates its purpose, e.g. "Full Width".'), onChange: newTitle => { setTitle(newTitle || template.slug); } }); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/template-details/index.js /** * WordPress dependencies */ /** * Internal dependencies */ function TemplateDetails(_ref) { let { template, onClose } = _ref; const { title, description } = Object(external_wp_data_["useSelect"])(select => select(external_wp_editor_["store"]).__experimentalGetTemplateInfo(template), []); const { revertTemplate } = Object(external_wp_data_["useDispatch"])(store); const templateSubMenu = Object(external_wp_element_["useMemo"])(() => { if ((template === null || template === void 0 ? void 0 : template.type) === 'wp_template') { return { title: Object(external_wp_i18n_["__"])('templates'), menu: MENU_TEMPLATES }; } return TEMPLATE_PARTS_SUB_MENUS.find(_ref2 => { let { area } = _ref2; return area === (template === null || template === void 0 ? void 0 : template.area); }); }, [template]); const browseAllLinkProps = useLink({ // TODO: We should update this to filter by template part's areas as well. postType: template.type, postId: undefined }); if (!template) { return null; } const revert = () => { revertTemplate(template); onClose(); }; return Object(external_wp_element_["createElement"])("div", { className: "edit-site-template-details" }, Object(external_wp_element_["createElement"])("div", { className: "edit-site-template-details__group" }, template.is_custom ? Object(external_wp_element_["createElement"])(EditTemplateTitle, { template: template }) : Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHeading"], { level: 4, weight: 600, className: "edit-site-template-details__title" }, title), description && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalText"], { size: "body", className: "edit-site-template-details__description", as: "p" }, description)), Object(external_wp_element_["createElement"])(TemplateAreas, { closeTemplateDetailsDropdown: onClose }), isTemplateRevertable(template) && Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { className: "edit-site-template-details__group edit-site-template-details__revert" }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { className: "edit-site-template-details__revert-button", info: Object(external_wp_i18n_["__"])('Restore template to default state'), onClick: revert }, Object(external_wp_i18n_["__"])('Clear customizations'))), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({ className: "edit-site-template-details__show-all-button" }, browseAllLinkProps), Object(external_wp_i18n_["sprintf"])( /* translators: the template part's area name ("Headers", "Sidebars") or "templates". */ Object(external_wp_i18n_["__"])('Browse all %s'), templateSubMenu.title))); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const preventDefault = event => { event.preventDefault(); }; function Header(_ref) { let { openEntitiesSavedStates, isEntitiesSavedStatesOpen } = _ref; const inserterButton = Object(external_wp_element_["useRef"])(); const { deviceType, entityTitle, template, templateType, isInserterOpen, isListViewOpen, listViewShortcut, isLoaded } = Object(external_wp_data_["useSelect"])(select => { const { __experimentalGetPreviewDeviceType, getEditedPostType, getEditedPostId, isInserterOpened, isListViewOpened } = select(store); const { getEditedEntityRecord } = select(external_wp_coreData_["store"]); const { __experimentalGetTemplateInfo: getTemplateInfo } = select(external_wp_editor_["store"]); const { getShortcutRepresentation } = select(external_wp_keyboardShortcuts_["store"]); const postType = getEditedPostType(); const postId = getEditedPostId(); const record = getEditedEntityRecord('postType', postType, postId); const _isLoaded = !!postId; return { deviceType: __experimentalGetPreviewDeviceType(), entityTitle: getTemplateInfo(record).title, isLoaded: _isLoaded, template: record, templateType: postType, isInserterOpen: isInserterOpened(), isListViewOpen: isListViewOpened(), listViewShortcut: getShortcutRepresentation('core/edit-site/toggle-list-view') }; }, []); const { __experimentalSetPreviewDeviceType: setPreviewDeviceType, setIsInserterOpened, setIsListViewOpened } = Object(external_wp_data_["useDispatch"])(store); const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); const openInserter = Object(external_wp_element_["useCallback"])(() => { if (isInserterOpen) { // Focusing the inserter button closes the inserter popover inserterButton.current.focus(); } else { setIsInserterOpened(true); } }, [isInserterOpen, setIsInserterOpened]); const toggleListView = Object(external_wp_element_["useCallback"])(() => setIsListViewOpened(!isListViewOpen), [setIsListViewOpened, isListViewOpen]); const isFocusMode = templateType === 'wp_template_part'; return Object(external_wp_element_["createElement"])("div", { className: "edit-site-header" }, Object(external_wp_element_["createElement"])("div", { className: "edit-site-header_start" }, Object(external_wp_element_["createElement"])("div", { className: "edit-site-header__toolbar" }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { ref: inserterButton, variant: "primary", isPressed: isInserterOpen, className: "edit-site-header-toolbar__inserter-toggle", onMouseDown: preventDefault, onClick: openInserter, icon: plus["a" /* default */], label: Object(external_wp_i18n_["_x"])('Toggle block inserter', 'Generic label for block inserter button') }), isLargeViewport && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["ToolSelector"], null), Object(external_wp_element_["createElement"])(UndoButton, null), Object(external_wp_element_["createElement"])(RedoButton, null), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { className: "edit-site-header-toolbar__list-view-toggle", icon: list_view["a" /* default */], isPressed: isListViewOpen /* translators: button label text should, if possible, be under 16 characters. */ , label: Object(external_wp_i18n_["__"])('List View'), onClick: toggleListView, shortcut: listViewShortcut })))), Object(external_wp_element_["createElement"])("div", { className: "edit-site-header_center" }, Object(external_wp_element_["createElement"])(DocumentActions, { entityTitle: entityTitle, entityLabel: templateType === 'wp_template_part' ? 'template part' : 'template', isLoaded: isLoaded }, _ref2 => { let { onClose } = _ref2; return Object(external_wp_element_["createElement"])(TemplateDetails, { template: template, onClose: onClose }); })), Object(external_wp_element_["createElement"])("div", { className: "edit-site-header_end" }, Object(external_wp_element_["createElement"])("div", { className: "edit-site-header__actions" }, !isFocusMode && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalPreviewOptions"], { deviceType: deviceType, setDeviceType: setPreviewDeviceType }), Object(external_wp_element_["createElement"])(SaveButton, { openEntitiesSavedStates: openEntitiesSavedStates, isEntitiesSavedStatesOpen: isEntitiesSavedStatesOpen }), Object(external_wp_element_["createElement"])(build_module["h" /* PinnedItems */].Slot, { scope: "core/edit-site" }), Object(external_wp_element_["createElement"])(more_menu, null)))); } // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/cog.js var cog = __webpack_require__("Cg8A"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar/default-sidebar.js /** * WordPress dependencies */ function DefaultSidebar(_ref) { let { className, identifier, title, icon, children, closeLabel, header, headerClassName } = _ref; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(build_module["b" /* ComplementaryArea */], { className: className, scope: "core/edit-site", identifier: identifier, title: title, icon: icon, closeLabel: closeLabel, header: header, headerClassName: headerClassName }, children), Object(external_wp_element_["createElement"])(build_module["c" /* ComplementaryAreaMoreMenuItem */], { scope: "core/edit-site", identifier: identifier, icon: icon }, title)); } // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/styles.js /** * WordPress dependencies */ const styles_styles = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M12 4c-4.4 0-8 3.6-8 8v.1c0 4.1 3.2 7.5 7.2 7.9h.8c4.4 0 8-3.6 8-8s-3.6-8-8-8zm0 15V5c3.9 0 7 3.1 7 7s-3.1 7-7 7z" })); /* harmony default export */ var library_styles = (styles_styles); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js var build_module_icon = __webpack_require__("iClF"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js var chevron_left = __webpack_require__("2gm7"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right.js var chevron_right = __webpack_require__("1iEr"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/utils.js /** * External dependencies */ /* Supporting data */ const ROOT_BLOCK_NAME = 'root'; const ROOT_BLOCK_SELECTOR = 'body'; const ROOT_BLOCK_SUPPORTS = ['background', 'backgroundColor', 'color', 'linkColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform', 'padding']; const PRESET_METADATA = [{ path: ['color', 'palette'], valueKey: 'color', cssVarInfix: 'color', classes: [{ classSuffix: 'color', propertyName: 'color' }, { classSuffix: 'background-color', propertyName: 'background-color' }, { classSuffix: 'border-color', propertyName: 'border-color' }] }, { path: ['color', 'gradients'], valueKey: 'gradient', cssVarInfix: 'gradient', classes: [{ classSuffix: 'gradient-background', propertyName: 'background' }] }, { path: ['typography', 'fontSizes'], valueKey: 'size', cssVarInfix: 'font-size', classes: [{ classSuffix: 'font-size', propertyName: 'font-size' }] }, { path: ['typography', 'fontFamilies'], valueKey: 'fontFamily', cssVarInfix: 'font-family', classes: [{ classSuffix: 'font-family', propertyName: 'font-family' }] }]; const STYLE_PATH_TO_CSS_VAR_INFIX = { 'color.background': 'color', 'color.text': 'color', 'elements.link.color.text': 'color', 'color.gradient': 'gradient', 'typography.fontSize': 'font-size', 'typography.fontFamily': 'font-family' }; function findInPresetsBy(features, blockName, presetPath, presetProperty, presetValueValue) { // Block presets take priority above root level presets. const orderedPresetsByOrigin = [Object(external_lodash_["get"])(features, ['blocks', blockName, ...presetPath]), Object(external_lodash_["get"])(features, presetPath)]; for (const presetByOrigin of orderedPresetsByOrigin) { if (presetByOrigin) { // Preset origins ordered by priority. const origins = ['custom', 'theme', 'default']; for (const origin of origins) { const presets = presetByOrigin[origin]; if (presets) { const presetObject = Object(external_lodash_["find"])(presets, preset => preset[presetProperty] === presetValueValue); if (presetObject) { if (presetProperty === 'slug') { return presetObject; } // if there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored. const highestPresetObjectWithSameSlug = findInPresetsBy(features, blockName, presetPath, 'slug', presetObject.slug); if (highestPresetObjectWithSameSlug[presetProperty] === presetObject[presetProperty]) { return presetObject; } return undefined; } } } } } } function getPresetVariableFromValue(features, blockName, variableStylePath, presetPropertyValue) { if (!presetPropertyValue) { return presetPropertyValue; } const cssVarInfix = STYLE_PATH_TO_CSS_VAR_INFIX[variableStylePath]; const metadata = Object(external_lodash_["find"])(PRESET_METADATA, ['cssVarInfix', cssVarInfix]); if (!metadata) { // The property doesn't have preset data // so the value should be returned as it is. return presetPropertyValue; } const { valueKey, path } = metadata; const presetObject = findInPresetsBy(features, blockName, path, valueKey, presetPropertyValue); if (!presetObject) { // Value wasn't found in the presets, // so it must be a custom value. return presetPropertyValue; } return `var:preset|${cssVarInfix}|${presetObject.slug}`; } function getValueFromPresetVariable(features, blockName, variable, _ref) { let [presetType, slug] = _ref; const metadata = Object(external_lodash_["find"])(PRESET_METADATA, ['cssVarInfix', presetType]); if (!metadata) { return variable; } const presetObject = findInPresetsBy(features, blockName, metadata.path, 'slug', slug); if (presetObject) { const { valueKey } = metadata; const result = presetObject[valueKey]; return getValueFromVariable(features, blockName, result); } return variable; } function getValueFromCustomVariable(features, blockName, variable, path) { var _get; const result = (_get = Object(external_lodash_["get"])(features, ['blocks', blockName, 'custom', ...path])) !== null && _get !== void 0 ? _get : Object(external_lodash_["get"])(features, ['custom', ...path]); if (!result) { return variable; } // A variable may reference another variable so we need recursion until we find the value. return getValueFromVariable(features, blockName, result); } function getValueFromVariable(features, blockName, variable) { if (!variable || !Object(external_lodash_["isString"])(variable)) { return variable; } const USER_VALUE_PREFIX = 'var:'; const THEME_VALUE_PREFIX = 'var(--wp--'; const THEME_VALUE_SUFFIX = ')'; let parsedVar; if (variable.startsWith(USER_VALUE_PREFIX)) { parsedVar = variable.slice(USER_VALUE_PREFIX.length).split('|'); } else if (variable.startsWith(THEME_VALUE_PREFIX) && variable.endsWith(THEME_VALUE_SUFFIX)) { parsedVar = variable.slice(THEME_VALUE_PREFIX.length, -THEME_VALUE_SUFFIX.length).split('--'); } else { // We don't know how to parse the value: either is raw of uses complex CSS such as `calc(1px * var(--wp--variable) )` return variable; } const [type, ...path] = parsedVar; if (type === 'preset') { return getValueFromPresetVariable(features, blockName, variable, path); } if (type === 'custom') { return getValueFromCustomVariable(features, blockName, variable, path); } return variable; } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/context.js /** * WordPress dependencies */ const DEFAULT_GLOBAL_STYLES_CONTEXT = { user: {}, base: {}, merged: {}, setUserConfig: () => {} }; const GlobalStylesContext = Object(external_wp_element_["createContext"])(DEFAULT_GLOBAL_STYLES_CONTEXT); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/hooks.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const EMPTY_CONFIG = { isGlobalStylesUserThemeJSON: true, version: 1 }; const useGlobalStylesReset = () => { const { user: config, setUserConfig } = Object(external_wp_element_["useContext"])(GlobalStylesContext); const canReset = !!config && !Object(external_lodash_["isEqual"])(config, EMPTY_CONFIG); return [canReset, Object(external_wp_element_["useCallback"])(() => setUserConfig(() => EMPTY_CONFIG), [setUserConfig])]; }; function useSetting(path, blockName) { var _getSettingValueForCo; let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'all'; const { merged: mergedConfig, base: baseConfig, user: userConfig, setUserConfig } = Object(external_wp_element_["useContext"])(GlobalStylesContext); const fullPath = !blockName ? `settings.${path}` : `settings.blocks.${blockName}.${path}`; const setSetting = newValue => { setUserConfig(currentConfig => { const newUserConfig = Object(external_lodash_["cloneDeep"])(currentConfig); const pathToSet = external_wp_blocks_["__EXPERIMENTAL_PATHS_WITH_MERGE"][path] ? fullPath + '.custom' : fullPath; Object(external_lodash_["set"])(newUserConfig, pathToSet, newValue); return newUserConfig; }); }; const getSettingValueForContext = name => { const currentPath = !name ? `settings.${path}` : `settings.blocks.${name}.${path}`; const getSettingValue = configToUse => { const result = Object(external_lodash_["get"])(configToUse, currentPath); if (external_wp_blocks_["__EXPERIMENTAL_PATHS_WITH_MERGE"][path]) { var _ref, _result$custom; return (_ref = (_result$custom = result === null || result === void 0 ? void 0 : result.custom) !== null && _result$custom !== void 0 ? _result$custom : result === null || result === void 0 ? void 0 : result.theme) !== null && _ref !== void 0 ? _ref : result === null || result === void 0 ? void 0 : result.default; } return result; }; let result; switch (source) { case 'all': result = getSettingValue(mergedConfig); break; case 'user': result = getSettingValue(userConfig); break; case 'base': result = getSettingValue(baseConfig); break; default: throw 'Unsupported source'; } return result; }; // Unlike styles settings get inherited from top level settings. const resultWithFallback = (_getSettingValueForCo = getSettingValueForContext(blockName)) !== null && _getSettingValueForCo !== void 0 ? _getSettingValueForCo : getSettingValueForContext(); return [resultWithFallback, setSetting]; } function useStyle(path, blockName) { var _get; let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'all'; const { merged: mergedConfig, base: baseConfig, user: userConfig, setUserConfig } = Object(external_wp_element_["useContext"])(GlobalStylesContext); const finalPath = !blockName ? `styles.${path}` : `styles.blocks.${blockName}.${path}`; const setStyle = newValue => { setUserConfig(currentConfig => { const newUserConfig = Object(external_lodash_["cloneDeep"])(currentConfig); Object(external_lodash_["set"])(newUserConfig, finalPath, getPresetVariableFromValue(mergedConfig.settings, blockName, path, newValue)); return newUserConfig; }); }; let result; switch (source) { case 'all': result = getValueFromVariable(mergedConfig.settings, blockName, (_get = Object(external_lodash_["get"])(userConfig, finalPath)) !== null && _get !== void 0 ? _get : Object(external_lodash_["get"])(baseConfig, finalPath)); break; case 'user': result = getValueFromVariable(mergedConfig.settings, blockName, Object(external_lodash_["get"])(userConfig, finalPath)); break; case 'base': result = getValueFromVariable(baseConfig.settings, blockName, Object(external_lodash_["get"])(baseConfig, finalPath)); break; default: throw 'Unsupported source'; } return [result, setStyle]; } const hooks_ROOT_BLOCK_SUPPORTS = ['background', 'backgroundColor', 'color', 'linkColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform', 'padding']; function getSupportedGlobalStylesPanels(name) { if (!name) { return hooks_ROOT_BLOCK_SUPPORTS; } const blockType = Object(external_wp_blocks_["getBlockType"])(name); if (!blockType) { return []; } const supportKeys = []; Object.keys(external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"]).forEach(styleName => { if (!external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"][styleName].support) { return; } // Opting out means that, for certain support keys like background color, // blocks have to explicitly set the support value false. If the key is // unset, we still enable it. if (external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"][styleName].requiresOptOut) { if (Object(external_lodash_["has"])(blockType.supports, external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"][styleName].support[0]) && Object(external_lodash_["get"])(blockType.supports, external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"][styleName].support) !== false) { return supportKeys.push(styleName); } } if (Object(external_lodash_["get"])(blockType.supports, external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"][styleName].support, false)) { return supportKeys.push(styleName); } }); return supportKeys; } function useColorsPerOrigin(name) { const [customColors] = useSetting('color.palette.custom', name); const [themeColors] = useSetting('color.palette.theme', name); const [defaultColors] = useSetting('color.palette.default', name); const [shouldDisplayDefaultColors] = useSetting('color.defaultPalette'); return Object(external_wp_element_["useMemo"])(() => { const result = []; if (themeColors && themeColors.length) { result.push({ name: Object(external_wp_i18n_["_x"])('Theme', 'Indicates this palette comes from the theme.'), colors: themeColors }); } if (shouldDisplayDefaultColors && defaultColors && defaultColors.length) { result.push({ name: Object(external_wp_i18n_["_x"])('Default', 'Indicates this palette comes from WordPress.'), colors: defaultColors }); } if (customColors && customColors.length) { result.push({ name: Object(external_wp_i18n_["_x"])('Custom', 'Indicates this palette is created by the user.'), colors: customColors }); } return result; }, [customColors, themeColors, defaultColors]); } function useGradientsPerOrigin(name) { const [customGradients] = useSetting('color.gradients.custom', name); const [themeGradients] = useSetting('color.gradients.theme', name); const [defaultGradients] = useSetting('color.gradients.default', name); const [shouldDisplayDefaultGradients] = useSetting('color.defaultGradients'); return Object(external_wp_element_["useMemo"])(() => { const result = []; if (themeGradients && themeGradients.length) { result.push({ name: Object(external_wp_i18n_["_x"])('Theme', 'Indicates this palette comes from the theme.'), gradients: themeGradients }); } if (shouldDisplayDefaultGradients && defaultGradients && defaultGradients.length) { result.push({ name: Object(external_wp_i18n_["_x"])('Default', 'Indicates this palette comes from WordPress.'), gradients: defaultGradients }); } if (customGradients && customGradients.length) { result.push({ name: Object(external_wp_i18n_["_x"])('Custom', 'Indicates this palette is created by the user.'), gradients: customGradients }); } return result; }, [customGradients, themeGradients, defaultGradients]); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/preview.js /** * WordPress dependencies */ /** * Internal dependencies */ const StylesPreview = () => { const [fontFamily = 'serif'] = useStyle('typography.fontFamily'); const [textColor = 'black'] = useStyle('color.text'); const [linkColor = 'blue'] = useStyle('elements.link.color.text'); const [backgroundColor = 'white'] = useStyle('color.background'); const [gradientValue] = useStyle('color.gradient'); return Object(external_wp_element_["createElement"])(external_wp_components_["Card"], { className: "edit-site-global-styles-preview", style: { background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor } }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { spacing: 5 }, Object(external_wp_element_["createElement"])("div", { style: { fontFamily, fontSize: '80px', color: textColor } }, "Aa"), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalVStack"], { spacing: 2 }, Object(external_wp_element_["createElement"])(external_wp_components_["ColorIndicator"], { colorValue: textColor }), Object(external_wp_element_["createElement"])(external_wp_components_["ColorIndicator"], { colorValue: linkColor })))); }; /* harmony default export */ var preview = (StylesPreview); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/navigation-button.js /** * WordPress dependencies */ function NavigationButton(_ref) { let { path, icon, children, isBack = false, ...props } = _ref; const navigator = Object(external_wp_components_["__experimentalUseNavigator"])(); return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalItem"], Object(esm_extends["a" /* default */])({ onClick: () => navigator.push(path, { isBack }) }, props), icon && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { justify: "flex-start" }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { icon: icon, size: 24 })), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, children)), !icon && children); } /* harmony default export */ var navigation_button = (NavigationButton); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/typography.js /** * WordPress dependencies */ const typography = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M6.9 7L3 17.8h1.7l1-2.8h4.1l1 2.8h1.7L8.6 7H6.9zm-.7 6.6l1.5-4.3 1.5 4.3h-3zM21.6 17c-.1.1-.2.2-.3.2-.1.1-.2.1-.4.1s-.3-.1-.4-.2c-.1-.1-.1-.3-.1-.6V12c0-.5 0-1-.1-1.4-.1-.4-.3-.7-.5-1-.2-.2-.5-.4-.9-.5-.4 0-.8-.1-1.3-.1s-1 .1-1.4.2c-.4.1-.7.3-1 .4-.2.2-.4.3-.6.5-.1.2-.2.4-.2.7 0 .3.1.5.2.8.2.2.4.3.8.3.3 0 .6-.1.8-.3.2-.2.3-.4.3-.7 0-.3-.1-.5-.2-.7-.2-.2-.4-.3-.6-.4.2-.2.4-.3.7-.4.3-.1.6-.1.8-.1.3 0 .6 0 .8.1.2.1.4.3.5.5.1.2.2.5.2.9v1.1c0 .3-.1.5-.3.6-.2.2-.5.3-.9.4-.3.1-.7.3-1.1.4-.4.1-.8.3-1.1.5-.3.2-.6.4-.8.7-.2.3-.3.7-.3 1.2 0 .6.2 1.1.5 1.4.3.4.9.5 1.6.5.5 0 1-.1 1.4-.3.4-.2.8-.6 1.1-1.1 0 .4.1.7.3 1 .2.3.6.4 1.2.4.4 0 .7-.1.9-.2.2-.1.5-.3.7-.4h-.3zm-3-.9c-.2.4-.5.7-.8.8-.3.2-.6.2-.8.2-.4 0-.6-.1-.9-.3-.2-.2-.3-.6-.3-1.1 0-.5.1-.9.3-1.2s.5-.5.8-.7c.3-.2.7-.3 1-.5.3-.1.6-.3.7-.6v3.4z" })); /* harmony default export */ var library_typography = (typography); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/color.js /** * WordPress dependencies */ const color_color = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M17.2 10.9c-.5-1-1.2-2.1-2.1-3.2-.6-.9-1.3-1.7-2.1-2.6L12 4l-1 1.1c-.6.9-1.3 1.7-2 2.6-.8 1.2-1.5 2.3-2 3.2-.6 1.2-1 2.2-1 3 0 3.4 2.7 6.1 6.1 6.1s6.1-2.7 6.1-6.1c0-.8-.3-1.8-1-3zm-5.1 7.6c-2.5 0-4.6-2.1-4.6-4.6 0-.3.1-1 .8-2.3.5-.9 1.1-1.9 2-3.1.7-.9 1.3-1.7 1.8-2.3.7.8 1.3 1.6 1.8 2.3.8 1.1 1.5 2.2 2 3.1.7 1.3.8 2 .8 2.3 0 2.5-2.1 4.6-4.6 4.6z" })); /* harmony default export */ var library_color = (color_color); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/layout.js var layout = __webpack_require__("Civd"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/border-panel.js /** * WordPress dependencies */ /** * Internal dependencies */ const MIN_BORDER_WIDTH = 0; // Defining empty array here instead of inline avoids unnecessary re-renders of // color control. const EMPTY_ARRAY = []; function useHasBorderPanel(name) { const controls = [useHasBorderColorControl(name), useHasBorderRadiusControl(name), useHasBorderStyleControl(name), useHasBorderWidthControl(name)]; return controls.some(Boolean); } function useHasBorderColorControl(name) { const supports = getSupportedGlobalStylesPanels(name); return useSetting('border.color', name)[0] && supports.includes('borderColor'); } function useHasBorderRadiusControl(name) { const supports = getSupportedGlobalStylesPanels(name); return useSetting('border.radius', name)[0] && supports.includes('borderRadius'); } function useHasBorderStyleControl(name) { const supports = getSupportedGlobalStylesPanels(name); return useSetting('border.style', name)[0] && supports.includes('borderStyle'); } function useHasBorderWidthControl(name) { const supports = getSupportedGlobalStylesPanels(name); return useSetting('border.width', name)[0] && supports.includes('borderWidth'); } function BorderPanel(_ref) { let { name } = _ref; const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ availableUnits: useSetting('spacing.units')[0] || ['px', 'em', 'rem'] }); // Border width. const hasBorderWidth = useHasBorderWidthControl(name); const [borderWidthValue, setBorderWidth] = useStyle('border.width', name); // Border style. const hasBorderStyle = useHasBorderStyleControl(name); const [borderStyle, setBorderStyle] = useStyle('border.style', name); // Border color. const [colors = EMPTY_ARRAY] = useSetting('color.palette'); const disableCustomColors = !useSetting('color.custom')[0]; const disableCustomGradients = !useSetting('color.customGradient')[0]; const hasBorderColor = useHasBorderColorControl(name); const [borderColor, setBorderColor] = useStyle('border.color', name); // Border radius. const hasBorderRadius = useHasBorderRadiusControl(name); const [borderRadiusValues, setBorderRadius] = useStyle('border.radius', name); return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Border'), initialOpen: true }, (hasBorderWidth || hasBorderStyle) && Object(external_wp_element_["createElement"])("div", { className: "edit-site-global-styles-sidebar__border-controls-row" }, hasBorderWidth && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { value: borderWidthValue, label: Object(external_wp_i18n_["__"])('Width'), min: MIN_BORDER_WIDTH, onChange: value => { setBorderWidth(value || undefined); }, units: units }), hasBorderStyle && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBorderStyleControl"], { value: borderStyle, onChange: setBorderStyle })), hasBorderColor && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalColorGradientControl"], { label: Object(external_wp_i18n_["__"])('Color'), colorValue: borderColor, colors: colors, gradients: undefined, disableCustomColors: disableCustomColors, disableCustomGradients: disableCustomGradients, onColorChange: setBorderColor }), hasBorderRadius && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBorderRadiusControl"], { values: borderRadiusValues, onChange: setBorderRadius })); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/color-utils.js /** * Internal dependencies */ function useHasColorPanel(name) { const supports = getSupportedGlobalStylesPanels(name); return supports.includes('color') || supports.includes('backgroundColor') || supports.includes('background') || supports.includes('linkColor'); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/dimensions-panel.js /** * WordPress dependencies */ /** * Internal dependencies */ const AXIAL_SIDES = ['horizontal', 'vertical']; function useHasDimensionsPanel(name) { const hasPadding = useHasPadding(name); const hasMargin = useHasMargin(name); const hasGap = useHasGap(name); return hasPadding || hasMargin || hasGap; } function useHasPadding(name) { const supports = getSupportedGlobalStylesPanels(name); const [settings] = useSetting('spacing.padding', name); return settings && supports.includes('padding'); } function useHasMargin(name) { const supports = getSupportedGlobalStylesPanels(name); const [settings] = useSetting('spacing.margin', name); return settings && supports.includes('margin'); } function useHasGap(name) { const supports = getSupportedGlobalStylesPanels(name); const [settings] = useSetting('spacing.blockGap', name); return settings && supports.includes('--wp--style--block-gap'); } function filterValuesBySides(values, sides) { if (!sides) { // If no custom side configuration all sides are opted into by default. return values; } // Only include sides opted into within filtered values. const filteredValues = {}; sides.forEach(side => { if (side === 'vertical') { filteredValues.top = values.top; filteredValues.bottom = values.bottom; } if (side === 'horizontal') { filteredValues.left = values.left; filteredValues.right = values.right; } filteredValues[side] = values[side]; }); return filteredValues; } function splitStyleValue(value) { // Check for shorthand value ( a string value ). if (value && typeof value === 'string') { // Convert to value for individual sides for BoxControl. return { top: value, right: value, bottom: value, left: value }; } return value; } function DimensionsPanel(_ref) { let { name } = _ref; const showPaddingControl = useHasPadding(name); const showMarginControl = useHasMargin(name); const showGapControl = useHasGap(name); const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ availableUnits: useSetting('spacing.units', name)[0] || ['%', 'px', 'em', 'rem', 'vw'] }); const [rawPadding, setRawPadding] = useStyle('spacing.padding', name); const paddingValues = splitStyleValue(rawPadding); const paddingSides = Object(external_wp_blockEditor_["__experimentalUseCustomSides"])(name, 'padding'); const isAxialPadding = paddingSides && paddingSides.some(side => AXIAL_SIDES.includes(side)); const setPaddingValues = newPaddingValues => { const padding = filterValuesBySides(newPaddingValues, paddingSides); setRawPadding(padding); }; const resetPaddingValue = () => setPaddingValues({}); const hasPaddingValue = () => !!paddingValues && Object.keys(paddingValues).length; const [rawMargin, setRawMargin] = useStyle('spacing.margin', name); const marginValues = splitStyleValue(rawMargin); const marginSides = Object(external_wp_blockEditor_["__experimentalUseCustomSides"])(name, 'margin'); const isAxialMargin = marginSides && marginSides.some(side => AXIAL_SIDES.includes(side)); const setMarginValues = newMarginValues => { const margin = filterValuesBySides(newMarginValues, marginSides); setRawMargin(margin); }; const resetMarginValue = () => setMarginValues({}); const hasMarginValue = () => !!marginValues && Object.keys(marginValues).length; const [gapValue, setGapValue] = useStyle('spacing.blockGap', name); const resetGapValue = () => setGapValue(undefined); const hasGapValue = () => !!gapValue; const resetAll = () => { resetPaddingValue(); resetMarginValue(); resetGapValue(); }; return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanel"], { label: Object(external_wp_i18n_["__"])('Dimensions'), resetAll: resetAll }, showPaddingControl && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { hasValue: hasPaddingValue, label: Object(external_wp_i18n_["__"])('Padding'), onDeselect: resetPaddingValue, isShownByDefault: true }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalBoxControl"], { values: paddingValues, onChange: setPaddingValues, label: Object(external_wp_i18n_["__"])('Padding'), sides: paddingSides, units: units, allowReset: false, splitOnAxis: isAxialPadding })), showMarginControl && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { hasValue: hasMarginValue, label: Object(external_wp_i18n_["__"])('Margin'), onDeselect: resetMarginValue, isShownByDefault: true }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalBoxControl"], { values: marginValues, onChange: setMarginValues, label: Object(external_wp_i18n_["__"])('Margin'), sides: marginSides, units: units, allowReset: false, splitOnAxis: isAxialMargin })), showGapControl && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { hasValue: hasGapValue, label: Object(external_wp_i18n_["__"])('Block spacing'), onDeselect: resetGapValue, isShownByDefault: true }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { label: Object(external_wp_i18n_["__"])('Block spacing'), __unstableInputWidth: "80px", min: 0, onChange: setGapValue, units: units, value: gapValue }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/typography-panel.js /** * WordPress dependencies */ /** * Internal dependencies */ function useHasTypographyPanel(name) { const hasLineHeight = useHasLineHeightControl(name); const hasFontAppearance = useHasAppearanceControl(name); const hasLetterSpacing = useHasLetterSpacingControl(name); const supports = getSupportedGlobalStylesPanels(name); return hasLineHeight || hasFontAppearance || hasLetterSpacing || supports.includes('fontSize'); } function useHasLineHeightControl(name) { const supports = getSupportedGlobalStylesPanels(name); return useSetting('typography.lineHeight', name)[0] && supports.includes('lineHeight'); } function useHasAppearanceControl(name) { const supports = getSupportedGlobalStylesPanels(name); const hasFontStyles = useSetting('typography.fontStyle', name)[0] && supports.includes('fontStyle'); const hasFontWeights = useSetting('typography.fontWeight', name)[0] && supports.includes('fontWeight'); return hasFontStyles || hasFontWeights; } function useHasLetterSpacingControl(name) { const supports = getSupportedGlobalStylesPanels(name); return useSetting('typography.letterSpacing', name)[0] && supports.includes('letterSpacing'); } function TypographyPanel(_ref) { let { name, element } = _ref; const supports = getSupportedGlobalStylesPanels(name); const prefix = element === 'text' || !element ? '' : `elements.${element}.`; const [fontSizes] = useSetting('typography.fontSizes', name); const disableCustomFontSizes = !useSetting('typography.customFontSize', name)[0]; const [fontFamilies] = useSetting('typography.fontFamilies', name); const hasFontStyles = useSetting('typography.fontStyle', name)[0] && supports.includes('fontStyle'); const hasFontWeights = useSetting('typography.fontWeight', name)[0] && supports.includes('fontWeight'); const hasLineHeightEnabled = useHasLineHeightControl(name); const hasAppearanceControl = useHasAppearanceControl(name); const hasLetterSpacingControl = useHasLetterSpacingControl(name); const [fontFamily, setFontFamily] = useStyle(prefix + 'typography.fontFamily', name); const [fontSize, setFontSize] = useStyle(prefix + 'typography.fontSize', name); const [fontStyle, setFontStyle] = useStyle(prefix + 'typography.fontStyle', name); const [fontWeight, setFontWeight] = useStyle(prefix + 'typography.fontWeight', name); const [lineHeight, setLineHeight] = useStyle(prefix + 'typography.lineHeight', name); const [letterSpacing, setLetterSpacing] = useStyle(prefix + 'typography.letterSpacing', name); const [backgroundColor] = useStyle(prefix + 'color.background', name); const [gradientValue] = useStyle(prefix + 'color.gradient', name); const [color] = useStyle(prefix + 'color.text', name); const extraStyles = element === 'link' ? { textDecoration: 'underline' } : {}; return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { className: "edit-site-typography-panel", initialOpen: true }, Object(external_wp_element_["createElement"])("div", { className: "edit-site-typography-panel__preview", style: { fontFamily: fontFamily !== null && fontFamily !== void 0 ? fontFamily : 'serif', background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor, color, fontSize, fontStyle, fontWeight, letterSpacing, ...extraStyles } }, "Aa"), supports.includes('fontFamily') && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalFontFamilyControl"], { fontFamilies: fontFamilies, value: fontFamily, onChange: setFontFamily }), supports.includes('fontSize') && Object(external_wp_element_["createElement"])(external_wp_components_["FontSizePicker"], { value: fontSize, onChange: setFontSize, fontSizes: fontSizes, disableCustomFontSizes: disableCustomFontSizes }), hasLineHeightEnabled && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["LineHeightControl"], { value: lineHeight, onChange: setLineHeight }), hasAppearanceControl && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalFontAppearanceControl"], { value: { fontStyle, fontWeight }, onChange: _ref2 => { let { fontStyle: newFontStyle, fontWeight: newFontWeight } = _ref2; setFontStyle(newFontStyle); setFontWeight(newFontWeight); }, hasFontStyles: hasFontStyles, hasFontWeights: hasFontWeights }), hasLetterSpacingControl && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalLetterSpacingControl"], { value: letterSpacing, onChange: setLetterSpacing })); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/context-menu.js /** * WordPress dependencies */ /** * Internal dependencies */ function ContextMenu(_ref) { let { name, parentMenu = '' } = _ref; const hasTypographyPanel = useHasTypographyPanel(name); const hasColorPanel = useHasColorPanel(name); const hasBorderPanel = useHasBorderPanel(name); const hasDimensionsPanel = useHasDimensionsPanel(name); const hasLayoutPanel = hasBorderPanel || hasDimensionsPanel; return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalItemGroup"], null, hasTypographyPanel && Object(external_wp_element_["createElement"])(navigation_button, { icon: library_typography, path: parentMenu + '/typography' }, Object(external_wp_i18n_["__"])('Typography')), hasColorPanel && Object(external_wp_element_["createElement"])(navigation_button, { icon: library_color, path: parentMenu + '/colors' }, Object(external_wp_i18n_["__"])('Colors')), hasLayoutPanel && Object(external_wp_element_["createElement"])(navigation_button, { icon: layout["a" /* default */], path: parentMenu + '/layout' }, Object(external_wp_i18n_["__"])('Layout'))); } /* harmony default export */ var context_menu = (ContextMenu); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-root.js /** * WordPress dependencies */ /** * Internal dependencies */ function ScreenRoot() { return Object(external_wp_element_["createElement"])(external_wp_components_["Card"], { size: "small" }, Object(external_wp_element_["createElement"])(external_wp_components_["CardBody"], null, Object(external_wp_element_["createElement"])(preview, null)), Object(external_wp_element_["createElement"])(external_wp_components_["CardBody"], null, Object(external_wp_element_["createElement"])(context_menu, null)), Object(external_wp_element_["createElement"])(external_wp_components_["CardDivider"], null), Object(external_wp_element_["createElement"])(external_wp_components_["CardBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalItemGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalItem"], null, Object(external_wp_i18n_["__"])('Customize the appearance of specific blocks for the whole site.')), Object(external_wp_element_["createElement"])(navigation_button, { path: "/blocks" }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { justify: "space-between" }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_i18n_["__"])('Blocks')), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { icon: Object(external_wp_i18n_["isRTL"])() ? chevron_left["a" /* default */] : chevron_right["a" /* default */] }))))))); } /* harmony default export */ var screen_root = (ScreenRoot); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/header.js /** * WordPress dependencies */ /** * Internal dependencies */ function ScreenHeader(_ref) { let { back, title, description } = _ref; return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalVStack"], { spacing: 2 }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { spacing: 2 }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalView"], null, Object(external_wp_element_["createElement"])(navigation_button, { path: back, icon: Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { icon: Object(external_wp_i18n_["isRTL"])() ? chevron_right["a" /* default */] : chevron_left["a" /* default */], variant: "muted" }), size: "small", isBack: true, "aria-label": Object(external_wp_i18n_["__"])('Navigate to the previous view') })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalSpacer"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHeading"], { level: 5 }, title))), description && Object(external_wp_element_["createElement"])("p", { className: "edit-site-global-styles-header__description" }, description)); } /* harmony default export */ var global_styles_header = (ScreenHeader); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-block-list.js /** * WordPress dependencies */ /** * Internal dependencies */ function BlockMenuItem(_ref) { let { block } = _ref; const hasTypographyPanel = useHasTypographyPanel(block.name); const hasColorPanel = useHasColorPanel(block.name); const hasBorderPanel = useHasBorderPanel(block.name); const hasDimensionsPanel = useHasDimensionsPanel(block.name); const hasLayoutPanel = hasBorderPanel || hasDimensionsPanel; const hasBlockMenuItem = hasTypographyPanel || hasColorPanel || hasLayoutPanel; if (!hasBlockMenuItem) { return null; } return Object(external_wp_element_["createElement"])(navigation_button, { path: '/blocks/' + block.name }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { justify: "flex-start" }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { icon: block.icon })), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, block.title))); } function ScreenBlockList() { return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: "/", title: Object(external_wp_i18n_["__"])('Blocks'), description: Object(external_wp_i18n_["__"])('Customize the appearance of specific blocks and for the whole site.') }), Object(external_wp_blocks_["getBlockTypes"])().map(block => Object(external_wp_element_["createElement"])(BlockMenuItem, { block: block, key: 'menu-itemblock-' + block.name }))); } /* harmony default export */ var screen_block_list = (ScreenBlockList); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-block.js /** * WordPress dependencies */ /** * Internal dependencies */ function ScreenBlock(_ref) { let { name } = _ref; const blockType = Object(external_wp_blocks_["getBlockType"])(name); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: "/blocks", title: blockType.title }), Object(external_wp_element_["createElement"])(context_menu, { parentMenu: '/blocks/' + name, name: name })); } /* harmony default export */ var screen_block = (ScreenBlock); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/subtitle.js /** * WordPress dependencies */ function Subtitle(_ref) { let { children } = _ref; return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHeading"], { className: "edit-site-global-styles-subtitle", level: 2 }, children); } /* harmony default export */ var subtitle = (Subtitle); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-typography.js /** * WordPress dependencies */ /** * Internal dependencies */ function Item(_ref) { let { name, parentMenu, element, label } = _ref; const hasSupport = !name; const prefix = element === 'text' || !element ? '' : `elements.${element}.`; const extraStyles = element === 'link' ? { textDecoration: 'underline' } : {}; const [fontFamily] = useStyle(prefix + 'typography.fontFamily', name); const [fontStyle] = useStyle(prefix + 'typography.fontStyle', name); const [fontWeight] = useStyle(prefix + 'typography.fontWeight', name); const [letterSpacing] = useStyle(prefix + 'typography.letterSpacing', name); const [backgroundColor] = useStyle(prefix + 'color.background', name); const [gradientValue] = useStyle(prefix + 'color.gradient', name); const [color] = useStyle(prefix + 'color.text', name); if (!hasSupport) { return null; } return Object(external_wp_element_["createElement"])(navigation_button, { path: parentMenu + '/typography/' + element }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { justify: "flex-start" }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], { className: "edit-site-global-styles-screen-typography__indicator", style: { fontFamily: fontFamily !== null && fontFamily !== void 0 ? fontFamily : 'serif', background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor, color, fontStyle, fontWeight, letterSpacing, ...extraStyles } }, Object(external_wp_i18n_["__"])('Aa')), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, label))); } function ScreenTypography(_ref2) { let { name } = _ref2; const parentMenu = name === undefined ? '' : '/blocks/' + name; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: parentMenu ? parentMenu : '/', title: Object(external_wp_i18n_["__"])('Typography'), description: Object(external_wp_i18n_["__"])('Manage the typography settings for different elements.') }), !name && Object(external_wp_element_["createElement"])("div", { className: "edit-site-global-styles-screen-typography" }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalVStack"], { spacing: 3 }, Object(external_wp_element_["createElement"])(subtitle, null, Object(external_wp_i18n_["__"])('Elements')), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalItemGroup"], { isBordered: true, isSeparated: true }, Object(external_wp_element_["createElement"])(Item, { name: name, parentMenu: parentMenu, element: "text", label: Object(external_wp_i18n_["__"])('Text') }), Object(external_wp_element_["createElement"])(Item, { name: name, parentMenu: parentMenu, element: "link", label: Object(external_wp_i18n_["__"])('Links') })))), !!name && Object(external_wp_element_["createElement"])(TypographyPanel, { name: name, element: "text" })); } /* harmony default export */ var screen_typography = (ScreenTypography); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-typography-element.js /** * WordPress dependencies */ /** * Internal dependencies */ const screen_typography_element_elements = { text: { description: Object(external_wp_i18n_["__"])('Manage the fonts used on the site.'), title: Object(external_wp_i18n_["__"])('Text') }, link: { description: Object(external_wp_i18n_["__"])('Manage the fonts and typography used on the links.'), title: Object(external_wp_i18n_["__"])('Links') } }; function ScreenTypographyElement(_ref) { let { name, element } = _ref; const parentMenu = name === undefined ? '/typography' : '/blocks/' + name + '/typography'; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: parentMenu, title: screen_typography_element_elements[element].title, description: screen_typography_element_elements[element].description }), Object(external_wp_element_["createElement"])(TypographyPanel, { name: name, element: element })); } /* harmony default export */ var screen_typography_element = (ScreenTypographyElement); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/palette.js /** * WordPress dependencies */ /** * Internal dependencies */ const EMPTY_COLORS = []; function Palette(_ref) { let { name } = _ref; const [customColors] = useSetting('color.palette.custom'); const [themeColors] = useSetting('color.palette.theme'); const [defaultColors] = useSetting('color.palette.default'); const [defaultPaletteEnabled] = useSetting('color.defaultPalette', name); const colors = Object(external_wp_element_["useMemo"])(() => [...(customColors || EMPTY_COLORS), ...(themeColors || EMPTY_COLORS), ...(defaultColors && defaultPaletteEnabled ? defaultColors : EMPTY_COLORS)], [customColors, themeColors, defaultColors, defaultPaletteEnabled]); const screenPath = !name ? '/colors/palette' : '/blocks/' + name + '/colors/palette'; const paletteButtonText = colors.length > 0 ? Object(external_wp_i18n_["sprintf"])( // Translators: %d: Number of palette colors. Object(external_wp_i18n_["_n"])('%d color', '%d colors', colors.length), colors.length) : Object(external_wp_i18n_["__"])('Add custom colors'); return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalVStack"], { spacing: 3 }, Object(external_wp_element_["createElement"])(subtitle, null, Object(external_wp_i18n_["__"])('Palette')), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalItemGroup"], { isBordered: true, isSeparated: true }, Object(external_wp_element_["createElement"])(navigation_button, { path: screenPath }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { isReversed: colors.length === 0 }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexBlock"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalZStack"], { isLayered: false, offset: -8 }, colors.slice(0, 5).map(_ref2 => { let { color } = _ref2; return Object(external_wp_element_["createElement"])(external_wp_components_["ColorIndicator"], { key: color, colorValue: color }); }))), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, paletteButtonText))))); } /* harmony default export */ var palette = (Palette); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-colors.js /** * WordPress dependencies */ /** * Internal dependencies */ function BackgroundColorItem(_ref) { let { name, parentMenu } = _ref; const supports = getSupportedGlobalStylesPanels(name); const hasSupport = supports.includes('backgroundColor') || supports.includes('background'); const [backgroundColor] = useStyle('color.background', name); const [gradientValue] = useStyle('color.gradient', name); if (!hasSupport) { return null; } return Object(external_wp_element_["createElement"])(navigation_button, { path: parentMenu + '/colors/background' }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { justify: "flex-start" }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ColorIndicator"], { colorValue: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor })), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_i18n_["__"])('Background')))); } function TextColorItem(_ref2) { let { name, parentMenu } = _ref2; const supports = getSupportedGlobalStylesPanels(name); const hasSupport = supports.includes('color'); const [color] = useStyle('color.text', name); if (!hasSupport) { return null; } return Object(external_wp_element_["createElement"])(navigation_button, { path: parentMenu + '/colors/text' }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { justify: "flex-start" }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ColorIndicator"], { colorValue: color })), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_i18n_["__"])('Text')))); } function LinkColorItem(_ref3) { let { name, parentMenu } = _ref3; const supports = getSupportedGlobalStylesPanels(name); const hasSupport = supports.includes('linkColor'); const [color] = useStyle('elements.link.color.text', name); if (!hasSupport) { return null; } return Object(external_wp_element_["createElement"])(navigation_button, { path: parentMenu + '/colors/link' }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHStack"], { justify: "flex-start" }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ColorIndicator"], { colorValue: color })), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_i18n_["__"])('Links')))); } function ScreenColors(_ref4) { let { name } = _ref4; const parentMenu = name === undefined ? '' : '/blocks/' + name; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: parentMenu ? parentMenu : '/', title: Object(external_wp_i18n_["__"])('Colors'), description: Object(external_wp_i18n_["__"])('Manage palettes and the default color of different global elements on the website.') }), Object(external_wp_element_["createElement"])("div", { className: "edit-site-global-styles-screen-colors" }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalVStack"], { spacing: 10 }, Object(external_wp_element_["createElement"])(palette, { name: name }), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalVStack"], { spacing: 3 }, Object(external_wp_element_["createElement"])(subtitle, null, Object(external_wp_i18n_["__"])('Elements')), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalItemGroup"], { isBordered: true, isSeparated: true }, Object(external_wp_element_["createElement"])(BackgroundColorItem, { name: name, parentMenu: parentMenu }), Object(external_wp_element_["createElement"])(TextColorItem, { name: name, parentMenu: parentMenu }), Object(external_wp_element_["createElement"])(LinkColorItem, { name: name, parentMenu: parentMenu })))))); } /* harmony default export */ var screen_colors = (ScreenColors); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/color-palette-panel.js /** * WordPress dependencies */ /** * Internal dependencies */ function ColorPalettePanel(_ref) { let { name } = _ref; const [themeColors, setThemeColors] = useSetting('color.palette.theme', name); const [baseThemeColors] = useSetting('color.palette.theme', name, 'base'); const [defaultColors, setDefaultColors] = useSetting('color.palette.default', name); const [baseDefaultColors] = useSetting('color.palette.default', name, 'base'); const [customColors, setCustomColors] = useSetting('color.palette.custom', name); const [defaultPaletteEnabled] = useSetting('color.defaultPalette', name); return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalVStack"], { className: "edit-site-global-styles-color-palette-panel", spacing: 10 }, !!themeColors && !!themeColors.length && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalPaletteEdit"], { canReset: themeColors !== baseThemeColors, canOnlyChangeValues: true, colors: themeColors, onChange: setThemeColors, paletteLabel: Object(external_wp_i18n_["__"])('Theme') }), !!defaultColors && !!defaultColors.length && !!defaultPaletteEnabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalPaletteEdit"], { canReset: defaultColors !== baseDefaultColors, canOnlyChangeValues: true, colors: defaultColors, onChange: setDefaultColors, paletteLabel: Object(external_wp_i18n_["__"])('Default') }), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalPaletteEdit"], { colors: customColors, onChange: setCustomColors, paletteLabel: Object(external_wp_i18n_["__"])('Custom'), emptyMessage: Object(external_wp_i18n_["__"])('Custom colors are empty! Add some colors to create your own color palette.'), slugPrefix: "custom-" })); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/gradients-palette-panel.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function GradientPalettePanel(_ref) { let { name } = _ref; const [themeGradients, setThemeGradients] = useSetting('color.gradients.theme', name); const [baseThemeGradients] = useSetting('color.gradients.theme', name, 'base'); const [defaultGradients, setDefaultGradients] = useSetting('color.gradients.default', name); const [baseDefaultGradients] = useSetting('color.gradients.default', name, 'base'); const [customGradients, setCustomGradients] = useSetting('color.gradients.custom', name); const [defaultPaletteEnabled] = useSetting('color.defaultGradients', name); const [duotonePalette] = useSetting('color.duotone') || []; return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalVStack"], { className: "edit-site-global-styles-gradient-palette-panel", spacing: 10 }, !!themeGradients && !!themeGradients.length && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalPaletteEdit"], { canReset: themeGradients !== baseThemeGradients, canOnlyChangeValues: true, gradients: themeGradients, onChange: setThemeGradients, paletteLabel: Object(external_wp_i18n_["__"])('Theme') }), !!defaultGradients && !!defaultGradients.length && !!defaultPaletteEnabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalPaletteEdit"], { canReset: defaultGradients !== baseDefaultGradients, canOnlyChangeValues: true, gradients: defaultGradients, onChange: setDefaultGradients, paletteLabel: Object(external_wp_i18n_["__"])('Default') }), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalPaletteEdit"], { gradients: customGradients, onChange: setCustomGradients, paletteLabel: Object(external_wp_i18n_["__"])('Custom'), emptyMessage: Object(external_wp_i18n_["__"])('Custom gradients are empty! Add some gradients to create your own palette.'), slugPrefix: "custom-" }), Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(subtitle, null, Object(external_wp_i18n_["__"])('Duotone')), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalSpacer"], { margin: 3 }), Object(external_wp_element_["createElement"])(external_wp_components_["DuotonePicker"], { duotonePalette: duotonePalette, disableCustomDuotone: true, disableCustomColors: true, clearable: false, onChange: external_lodash_["noop"] }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-color-palette.js /** * WordPress dependencies */ /** * Internal dependencies */ function ScreenColorPalette(_ref) { let { name } = _ref; const [currentTab, setCurrentTab] = Object(external_wp_element_["useState"])('solid'); const parentMenu = name === undefined ? '' : '/blocks/' + name; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: parentMenu + '/colors', title: Object(external_wp_i18n_["__"])('Palette'), description: Object(external_wp_i18n_["__"])('Palettes are used to provide default color options for blocks and various design tools. Here you can edit the colors with their labels.') }), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToggleGroupControl"], { className: "edit-site-screen-color-palette-toggle", value: currentTab, onChange: setCurrentTab, label: Object(external_wp_i18n_["__"])('Select palette type'), hideLabelFromVision: true, isBlock: true }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToggleGroupControlOption"], { value: "solid", label: Object(external_wp_i18n_["__"])('Solid') }), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToggleGroupControlOption"], { value: "gradient", label: Object(external_wp_i18n_["__"])('Gradient') })), currentTab === 'solid' && Object(external_wp_element_["createElement"])(ColorPalettePanel, { name: name }), currentTab === 'gradient' && Object(external_wp_element_["createElement"])(GradientPalettePanel, { name: name })); } /* harmony default export */ var screen_color_palette = (ScreenColorPalette); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-background-color.js /** * WordPress dependencies */ /** * Internal dependencies */ function ScreenBackgroundColor(_ref) { let { name } = _ref; const parentMenu = name === undefined ? '' : '/blocks/' + name; const supports = getSupportedGlobalStylesPanels(name); const [solids] = useSetting('color.palette', name); const [gradients] = useSetting('color.gradients', name); const [areCustomSolidsEnabled] = useSetting('color.custom', name); const [areCustomGradientsEnabled] = useSetting('color.customGradient', name); const colorsPerOrigin = useColorsPerOrigin(name); const gradientsPerOrigin = useGradientsPerOrigin(name); const [isBackgroundEnabled] = useSetting('color.background', name); const hasBackgroundColor = supports.includes('backgroundColor') && isBackgroundEnabled && (solids.length > 0 || areCustomSolidsEnabled); const hasGradientColor = supports.includes('background') && (gradients.length > 0 || areCustomGradientsEnabled); const [backgroundColor, setBackgroundColor] = useStyle('color.background', name); const [userBackgroundColor] = useStyle('color.background', name, 'user'); const [gradient, setGradient] = useStyle('color.gradient', name); const [userGradient] = useStyle('color.gradient', name, 'user'); if (!hasBackgroundColor && !hasGradientColor) { return null; } const settings = []; let backgroundSettings = {}; if (hasBackgroundColor) { backgroundSettings = { colorValue: backgroundColor, onColorChange: setBackgroundColor }; if (backgroundColor) { backgroundSettings.clearable = backgroundColor === userBackgroundColor; } } let gradientSettings = {}; if (hasGradientColor) { gradientSettings = { gradientValue: gradient, onGradientChange: setGradient }; if (gradient) { gradientSettings.clearable = gradient === userGradient; } } settings.push({ ...backgroundSettings, ...gradientSettings, label: Object(external_wp_i18n_["__"])('Background color') }); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: parentMenu + '/colors', title: Object(external_wp_i18n_["__"])('Background'), description: Object(external_wp_i18n_["__"])('Set a background color or gradient for the whole website.') }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalPanelColorGradientSettings"], { title: Object(external_wp_i18n_["__"])('Color'), settings: settings, colors: colorsPerOrigin, gradients: gradientsPerOrigin, disableCustomColors: !areCustomSolidsEnabled, disableCustomGradients: !areCustomGradientsEnabled, __experimentalHasMultipleOrigins: true, showTitle: false, enableAlpha: true, __experimentalIsRenderedInSidebar: true })); } /* harmony default export */ var screen_background_color = (ScreenBackgroundColor); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-text-color.js /** * WordPress dependencies */ /** * Internal dependencies */ function ScreenTextColor(_ref) { let { name } = _ref; const parentMenu = name === undefined ? '' : '/blocks/' + name; const supports = getSupportedGlobalStylesPanels(name); const [solids] = useSetting('color.palette', name); const [areCustomSolidsEnabled] = useSetting('color.custom', name); const [isTextEnabled] = useSetting('color.text', name); const colorsPerOrigin = useColorsPerOrigin(name); const hasTextColor = supports.includes('color') && isTextEnabled && (solids.length > 0 || areCustomSolidsEnabled); const [color, setColor] = useStyle('color.text', name); const [userColor] = useStyle('color.text', name, 'user'); if (!hasTextColor) { return null; } const settings = [{ colorValue: color, onColorChange: setColor, label: Object(external_wp_i18n_["__"])('Text color'), clearable: color === userColor }]; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: parentMenu + '/colors', title: Object(external_wp_i18n_["__"])('Text'), description: Object(external_wp_i18n_["__"])('Set the default color used for text across the site.') }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalPanelColorGradientSettings"], { title: Object(external_wp_i18n_["__"])('Color'), settings: settings, colors: colorsPerOrigin, disableCustomColors: !areCustomSolidsEnabled, __experimentalHasMultipleOrigins: true, showTitle: false, enableAlpha: true, __experimentalIsRenderedInSidebar: true })); } /* harmony default export */ var screen_text_color = (ScreenTextColor); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-link-color.js /** * WordPress dependencies */ /** * Internal dependencies */ function ScreenLinkColor(_ref) { let { name } = _ref; const parentMenu = name === undefined ? '' : '/blocks/' + name; const supports = getSupportedGlobalStylesPanels(name); const [solids] = useSetting('color.palette', name); const [areCustomSolidsEnabled] = useSetting('color.custom', name); const colorsPerOrigin = useColorsPerOrigin(name); const [isLinkEnabled] = useSetting('color.link', name); const hasLinkColor = supports.includes('linkColor') && isLinkEnabled && (solids.length > 0 || areCustomSolidsEnabled); const [linkColor, setLinkColor] = useStyle('elements.link.color.text', name); const [userLinkColor] = useStyle('elements.link.color.text', name, 'user'); if (!hasLinkColor) { return null; } const settings = [{ colorValue: linkColor, onColorChange: setLinkColor, label: Object(external_wp_i18n_["__"])('Link color'), clearable: linkColor === userLinkColor }]; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: parentMenu + '/colors', title: Object(external_wp_i18n_["__"])('Links'), description: Object(external_wp_i18n_["__"])('Set the default color used for links across the site.') }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalPanelColorGradientSettings"], { title: Object(external_wp_i18n_["__"])('Color'), settings: settings, colors: colorsPerOrigin, disableCustomColors: !areCustomSolidsEnabled, __experimentalHasMultipleOrigins: true, showTitle: false, enableAlpha: true, __experimentalIsRenderedInSidebar: true })); } /* harmony default export */ var screen_link_color = (ScreenLinkColor); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/screen-layout.js /** * WordPress dependencies */ /** * Internal dependencies */ function ScreenLayout(_ref) { let { name } = _ref; const parentMenu = name === undefined ? '' : '/blocks/' + name; const hasBorderPanel = useHasBorderPanel(name); const hasDimensionsPanel = useHasDimensionsPanel(name); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(global_styles_header, { back: parentMenu ? parentMenu : '/', title: Object(external_wp_i18n_["__"])('Layout') }), hasDimensionsPanel && Object(external_wp_element_["createElement"])(DimensionsPanel, { name: name }), hasBorderPanel && Object(external_wp_element_["createElement"])(BorderPanel, { name: name })); } /* harmony default export */ var screen_layout = (ScreenLayout); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/ui.js /** * WordPress dependencies */ /** * Internal dependencies */ function ContextScreens(_ref) { let { name } = _ref; const parentMenu = name === undefined ? '' : '/blocks/' + name; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: parentMenu + '/typography' }, Object(external_wp_element_["createElement"])(screen_typography, { name: name })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: parentMenu + '/typography/text' }, Object(external_wp_element_["createElement"])(screen_typography_element, { name: name, element: "text" })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: parentMenu + '/typography/link' }, Object(external_wp_element_["createElement"])(screen_typography_element, { name: name, element: "link" })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: parentMenu + '/colors' }, Object(external_wp_element_["createElement"])(screen_colors, { name: name })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: parentMenu + '/colors/palette' }, Object(external_wp_element_["createElement"])(screen_color_palette, { name: name })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: parentMenu + '/colors/background' }, Object(external_wp_element_["createElement"])(screen_background_color, { name: name })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: parentMenu + '/colors/text' }, Object(external_wp_element_["createElement"])(screen_text_color, { name: name })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: parentMenu + '/colors/link' }, Object(external_wp_element_["createElement"])(screen_link_color, { name: name })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: parentMenu + '/layout' }, Object(external_wp_element_["createElement"])(screen_layout, { name: name }))); } function GlobalStylesUI() { const blocks = Object(external_wp_blocks_["getBlockTypes"])(); return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorProvider"], { initialPath: "/" }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: "/" }, Object(external_wp_element_["createElement"])(screen_root, null)), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { path: "/blocks" }, Object(external_wp_element_["createElement"])(screen_block_list, null)), blocks.map(block => Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigatorScreen"], { key: 'menu-block-' + block.name, path: '/blocks/' + block.name }, Object(external_wp_element_["createElement"])(screen_block, { name: block.name }))), Object(external_wp_element_["createElement"])(ContextScreens, null), blocks.map(block => Object(external_wp_element_["createElement"])(ContextScreens, { key: 'screens-block-' + block.name, name: block.name }))); } /* harmony default export */ var ui = (GlobalStylesUI); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/use-global-styles-output.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ /** * Internal dependencies */ function compileStyleValue(uncompiledValue) { const VARIABLE_REFERENCE_PREFIX = 'var:'; const VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE = '|'; const VARIABLE_PATH_SEPARATOR_TOKEN_STYLE = '--'; if (Object(external_lodash_["startsWith"])(uncompiledValue, VARIABLE_REFERENCE_PREFIX)) { const variable = uncompiledValue.slice(VARIABLE_REFERENCE_PREFIX.length).split(VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE).join(VARIABLE_PATH_SEPARATOR_TOKEN_STYLE); return `var(--wp--${variable})`; } return uncompiledValue; } /** * Transform given preset tree into a set of style declarations. * * @param {Object} blockPresets * * @return {Array} An array of style declarations. */ function getPresetsDeclarations() { let blockPresets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return Object(external_lodash_["reduce"])(PRESET_METADATA, (declarations, _ref) => { let { path, valueKey, cssVarInfix } = _ref; const presetByOrigin = Object(external_lodash_["get"])(blockPresets, path, []); ['default', 'theme', 'custom'].forEach(origin => { if (presetByOrigin[origin]) { presetByOrigin[origin].forEach(value => { declarations.push(`--wp--preset--${cssVarInfix}--${Object(external_lodash_["kebabCase"])(value.slug)}: ${value[valueKey]}`); }); } }); return declarations; }, []); } /** * Transform given preset tree into a set of preset class declarations. * * @param {string} blockSelector * @param {Object} blockPresets * @return {string} CSS declarations for the preset classes. */ function getPresetsClasses(blockSelector) { let blockPresets = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return Object(external_lodash_["reduce"])(PRESET_METADATA, (declarations, _ref2) => { let { path, cssVarInfix, classes } = _ref2; if (!classes) { return declarations; } const presetByOrigin = Object(external_lodash_["get"])(blockPresets, path, []); ['default', 'theme', 'custom'].forEach(origin => { if (presetByOrigin[origin]) { presetByOrigin[origin].forEach(_ref3 => { let { slug } = _ref3; classes.forEach(_ref4 => { let { classSuffix, propertyName } = _ref4; const classSelectorToUse = `.has-${Object(external_lodash_["kebabCase"])(slug)}-${classSuffix}`; const selectorToUse = blockSelector.split(',') // Selector can be "h1, h2, h3" .map(selector => `${selector}${classSelectorToUse}`).join(','); const value = `var(--wp--preset--${cssVarInfix}--${Object(external_lodash_["kebabCase"])(slug)})`; declarations += `${selectorToUse}{${propertyName}: ${value} !important;}`; }); }); } }); return declarations; }, ''); } function flattenTree() { let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; let prefix = arguments.length > 1 ? arguments[1] : undefined; let token = arguments.length > 2 ? arguments[2] : undefined; let result = []; Object.keys(input).forEach(key => { const newKey = prefix + Object(external_lodash_["kebabCase"])(key.replace('/', '-')); const newLeaf = input[key]; if (newLeaf instanceof Object) { const newPrefix = newKey + token; result = [...result, ...flattenTree(newLeaf, newPrefix, token)]; } else { result.push(`${newKey}: ${newLeaf}`); } }); return result; } /** * Transform given style tree into a set of style declarations. * * @param {Object} blockStyles Block styles. * * @return {Array} An array of style declarations. */ function getStylesDeclarations() { let blockStyles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return Object(external_lodash_["reduce"])(external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"], (declarations, _ref5, key) => { let { value, properties } = _ref5; const pathToValue = value; if (Object(external_lodash_["first"])(pathToValue) === 'elements') { return declarations; } const styleValue = Object(external_lodash_["get"])(blockStyles, pathToValue); if (!!properties && !Object(external_lodash_["isString"])(styleValue)) { Object.entries(properties).forEach(entry => { const [name, prop] = entry; if (!Object(external_lodash_["get"])(styleValue, [prop], false)) { // Do not create a declaration // for sub-properties that don't have any value. return; } const cssProperty = Object(external_lodash_["kebabCase"])(name); declarations.push(`${cssProperty}: ${compileStyleValue(Object(external_lodash_["get"])(styleValue, [prop]))}`); }); } else if (Object(external_lodash_["get"])(blockStyles, pathToValue, false)) { const cssProperty = key.startsWith('--') ? key : Object(external_lodash_["kebabCase"])(key); declarations.push(`${cssProperty}: ${compileStyleValue(Object(external_lodash_["get"])(blockStyles, pathToValue))}`); } return declarations; }, []); } const getNodesWithStyles = (tree, blockSelectors) => { var _tree$styles, _tree$styles2; const nodes = []; if (!(tree !== null && tree !== void 0 && tree.styles)) { return nodes; } const pickStyleKeys = treeToPickFrom => Object(external_lodash_["pickBy"])(treeToPickFrom, (value, key) => ['border', 'color', 'spacing', 'typography'].includes(key)); // Top-level. const styles = pickStyleKeys(tree.styles); if (!!styles) { nodes.push({ styles, selector: ROOT_BLOCK_SELECTOR }); } Object(external_lodash_["forEach"])((_tree$styles = tree.styles) === null || _tree$styles === void 0 ? void 0 : _tree$styles.elements, (value, key) => { if (!!value && !!external_wp_blocks_["__EXPERIMENTAL_ELEMENTS"][key]) { nodes.push({ styles: value, selector: external_wp_blocks_["__EXPERIMENTAL_ELEMENTS"][key] }); } }); // Iterate over blocks: they can have styles & elements. Object(external_lodash_["forEach"])((_tree$styles2 = tree.styles) === null || _tree$styles2 === void 0 ? void 0 : _tree$styles2.blocks, (node, blockName) => { var _blockSelectors$block; const blockStyles = pickStyleKeys(node); if (!!blockStyles && !!(blockSelectors !== null && blockSelectors !== void 0 && (_blockSelectors$block = blockSelectors[blockName]) !== null && _blockSelectors$block !== void 0 && _blockSelectors$block.selector)) { nodes.push({ styles: blockStyles, selector: blockSelectors[blockName].selector }); } Object(external_lodash_["forEach"])(node === null || node === void 0 ? void 0 : node.elements, (value, elementName) => { if (!!value && !!(blockSelectors !== null && blockSelectors !== void 0 && blockSelectors[blockName]) && !!(external_wp_blocks_["__EXPERIMENTAL_ELEMENTS"] !== null && external_wp_blocks_["__EXPERIMENTAL_ELEMENTS"] !== void 0 && external_wp_blocks_["__EXPERIMENTAL_ELEMENTS"][elementName])) { nodes.push({ styles: value, selector: blockSelectors[blockName].selector.split(',').map(sel => sel + ' ' + external_wp_blocks_["__EXPERIMENTAL_ELEMENTS"][elementName]).join(',') }); } }); }); return nodes; }; const getNodesWithSettings = (tree, blockSelectors) => { var _tree$settings, _tree$settings2; const nodes = []; if (!(tree !== null && tree !== void 0 && tree.settings)) { return nodes; } const pickPresets = treeToPickFrom => { const presets = {}; PRESET_METADATA.forEach(_ref6 => { let { path } = _ref6; const value = Object(external_lodash_["get"])(treeToPickFrom, path, false); if (value !== false) { Object(external_lodash_["set"])(presets, path, value); } }); return presets; }; // Top-level. const presets = pickPresets(tree.settings); const custom = (_tree$settings = tree.settings) === null || _tree$settings === void 0 ? void 0 : _tree$settings.custom; if (!Object(external_lodash_["isEmpty"])(presets) || !!custom) { nodes.push({ presets, custom, selector: ROOT_BLOCK_SELECTOR }); } // Blocks. Object(external_lodash_["forEach"])((_tree$settings2 = tree.settings) === null || _tree$settings2 === void 0 ? void 0 : _tree$settings2.blocks, (node, blockName) => { const blockPresets = pickPresets(node); const blockCustom = node.custom; if (!Object(external_lodash_["isEmpty"])(blockPresets) || !!blockCustom) { nodes.push({ presets: blockPresets, custom: blockCustom, selector: blockSelectors[blockName].selector }); } }); return nodes; }; const toCustomProperties = (tree, blockSelectors) => { const settings = getNodesWithSettings(tree, blockSelectors); let ruleset = ''; settings.forEach(_ref7 => { let { presets, custom, selector } = _ref7; const declarations = getPresetsDeclarations(presets); const customProps = flattenTree(custom, '--wp--custom--', '--'); if (customProps.length > 0) { declarations.push(...customProps); } if (declarations.length > 0) { ruleset = ruleset + `${selector}{${declarations.join(';')};}`; } }); return ruleset; }; const toStyles = (tree, blockSelectors) => { const nodesWithStyles = getNodesWithStyles(tree, blockSelectors); const nodesWithSettings = getNodesWithSettings(tree, blockSelectors); let ruleset = '.wp-site-blocks > * { margin-top: 0; margin-bottom: 0; }.wp-site-blocks > * + * { margin-top: var( --wp--style--block-gap ); }'; nodesWithStyles.forEach(_ref8 => { let { selector, styles } = _ref8; const declarations = getStylesDeclarations(styles); if (declarations.length === 0) { return; } ruleset = ruleset + `${selector}{${declarations.join(';')};}`; }); nodesWithSettings.forEach(_ref9 => { let { selector, presets } = _ref9; if (ROOT_BLOCK_SELECTOR === selector) { // Do not add extra specificity for top-level classes. selector = ''; } const classes = getPresetsClasses(selector, presets); if (!Object(external_lodash_["isEmpty"])(classes)) { ruleset = ruleset + classes; } }); return ruleset; }; const getBlockSelectors = blockTypes => { const result = {}; blockTypes.forEach(blockType => { var _blockType$supports$_, _blockType$supports; const name = blockType.name; const selector = (_blockType$supports$_ = blockType === null || blockType === void 0 ? void 0 : (_blockType$supports = blockType.supports) === null || _blockType$supports === void 0 ? void 0 : _blockType$supports.__experimentalSelector) !== null && _blockType$supports$_ !== void 0 ? _blockType$supports$_ : '.wp-block-' + name.replace('core/', '').replace('/', '-'); result[name] = { name, selector }; }); return result; }; function useGlobalStylesOutput() { const [stylesheets, setStylesheets] = Object(external_wp_element_["useState"])([]); const [settings, setSettings] = Object(external_wp_element_["useState"])({}); const { merged: mergedConfig } = Object(external_wp_element_["useContext"])(GlobalStylesContext); Object(external_wp_element_["useEffect"])(() => { if (!(mergedConfig !== null && mergedConfig !== void 0 && mergedConfig.styles) || !(mergedConfig !== null && mergedConfig !== void 0 && mergedConfig.settings)) { return; } const blockSelectors = getBlockSelectors(Object(external_wp_blocks_["getBlockTypes"])()); const customProperties = toCustomProperties(mergedConfig, blockSelectors); const globalStyles = toStyles(mergedConfig, blockSelectors); setStylesheets([{ css: customProperties, isGlobalStyles: true }, { css: globalStyles, isGlobalStyles: true }]); setSettings(mergedConfig.settings); }, [mergedConfig]); return [stylesheets, settings]; } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/index.js // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar/global-styles-sidebar.js /** * WordPress dependencies */ /** * Internal dependencies */ function GlobalStylesSidebar() { const [canReset, onReset] = useGlobalStylesReset(); const { toggleFeature } = Object(external_wp_data_["useDispatch"])(store); return Object(external_wp_element_["createElement"])(DefaultSidebar, { className: "edit-site-global-styles-sidebar", identifier: "edit-site/global-styles", title: Object(external_wp_i18n_["__"])('Styles'), icon: library_styles, closeLabel: Object(external_wp_i18n_["__"])('Close global styles sidebar'), header: Object(external_wp_element_["createElement"])(external_wp_components_["Flex"], null, Object(external_wp_element_["createElement"])(external_wp_components_["FlexBlock"], null, Object(external_wp_element_["createElement"])("strong", null, Object(external_wp_i18n_["__"])('Styles')), Object(external_wp_element_["createElement"])("span", { className: "edit-site-global-styles-sidebar__beta" }, Object(external_wp_i18n_["__"])('Beta'))), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { icon: more_vertical["a" /* default */], label: Object(external_wp_i18n_["__"])('More Global Styles Actions'), toggleProps: { disabled: !canReset }, controls: [{ title: Object(external_wp_i18n_["__"])('Reset to defaults'), onClick: onReset }, { title: Object(external_wp_i18n_["__"])('Welcome Guide'), onClick: () => toggleFeature('welcomeGuideStyles') }] }))) }, Object(external_wp_element_["createElement"])(ui, null)); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar/constants.js const SIDEBAR_TEMPLATE = 'edit-site/template'; const SIDEBAR_BLOCK = 'edit-site/block-inspector'; // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar/settings-header/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const SettingsHeader = _ref => { let { sidebarName } = _ref; const { enableComplementaryArea } = Object(external_wp_data_["useDispatch"])(build_module["i" /* store */]); const openTemplateSettings = () => enableComplementaryArea(STORE_NAME, SIDEBAR_TEMPLATE); const openBlockSettings = () => enableComplementaryArea(STORE_NAME, SIDEBAR_BLOCK); const [templateAriaLabel, templateActiveClass] = sidebarName === SIDEBAR_TEMPLATE ? // translators: ARIA label for the Template sidebar tab, selected. [Object(external_wp_i18n_["__"])('Template (selected)'), 'is-active'] : // translators: ARIA label for the Template Settings Sidebar tab, not selected. [Object(external_wp_i18n_["__"])('Template'), '']; const [blockAriaLabel, blockActiveClass] = sidebarName === SIDEBAR_BLOCK ? // translators: ARIA label for the Block Settings Sidebar tab, selected. [Object(external_wp_i18n_["__"])('Block (selected)'), 'is-active'] : // translators: ARIA label for the Block Settings Sidebar tab, not selected. [Object(external_wp_i18n_["__"])('Block'), '']; /* Use a list so screen readers will announce how many tabs there are. */ return Object(external_wp_element_["createElement"])("ul", null, Object(external_wp_element_["createElement"])("li", null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { onClick: openTemplateSettings, className: `edit-site-sidebar__panel-tab ${templateActiveClass}`, "aria-label": templateAriaLabel // translators: Data label for the Template Settings Sidebar tab. , "data-label": Object(external_wp_i18n_["__"])('Template') }, // translators: Text label for the Template Settings Sidebar tab. Object(external_wp_i18n_["__"])('Template'))), Object(external_wp_element_["createElement"])("li", null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { onClick: openBlockSettings, className: `edit-site-sidebar__panel-tab ${blockActiveClass}`, "aria-label": blockAriaLabel // translators: Data label for the Block Settings Sidebar tab. , "data-label": Object(external_wp_i18n_["__"])('Block') }, // translators: Text label for the Block Settings Sidebar tab. Object(external_wp_i18n_["__"])('Block')))); }; /* harmony default export */ var settings_header = (SettingsHeader); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar/template-card/template-areas.js /** * WordPress dependencies */ /** * Internal dependencies */ function TemplateAreaItem(_ref) { let { area, clientId } = _ref; const { selectBlock, toggleBlockHighlight } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); const templatePartArea = Object(external_wp_data_["useSelect"])(select => { const defaultAreas = select(external_wp_editor_["store"]).__experimentalGetDefaultTemplatePartAreas(); return defaultAreas.find(defaultArea => defaultArea.area === area); }, [area]); const highlightBlock = () => toggleBlockHighlight(clientId, true); const cancelHighlightBlock = () => toggleBlockHighlight(clientId, false); return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { className: "edit-site-template-card__template-areas-item", icon: templatePartArea === null || templatePartArea === void 0 ? void 0 : templatePartArea.icon, onMouseOver: highlightBlock, onMouseLeave: cancelHighlightBlock, onFocus: highlightBlock, onBlur: cancelHighlightBlock, onClick: () => { selectBlock(clientId); } }, templatePartArea === null || templatePartArea === void 0 ? void 0 : templatePartArea.label); } function template_areas_TemplateAreas() { const templateParts = Object(external_wp_data_["useSelect"])(select => select(store).getCurrentTemplateTemplateParts(), []); if (!templateParts.length) { return null; } return Object(external_wp_element_["createElement"])("section", { className: "edit-site-template-card__template-areas" }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHeading"], { level: 3, className: "edit-site-template-card__template-areas-title" }, Object(external_wp_i18n_["__"])('Areas')), Object(external_wp_element_["createElement"])("ul", { className: "edit-site-template-card__template-areas-list" }, templateParts.map(_ref2 => { let { templatePart, block } = _ref2; return Object(external_wp_element_["createElement"])("li", { key: templatePart.slug }, Object(external_wp_element_["createElement"])(TemplateAreaItem, { area: templatePart.area, clientId: block.clientId })); }))); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar/template-card/index.js /** * WordPress dependencies */ /** * Internal dependencies */ function TemplateCard() { const { title, description, icon } = Object(external_wp_data_["useSelect"])(select => { const { getEditedPostType, getEditedPostId } = select(store); const { getEntityRecord } = select(external_wp_coreData_["store"]); const { __experimentalGetTemplateInfo: getTemplateInfo } = select(external_wp_editor_["store"]); const postType = getEditedPostType(); const postId = getEditedPostId(); const record = getEntityRecord('postType', postType, postId); const info = record ? getTemplateInfo(record) : {}; return info; }, []); if (!title && !description) { return null; } return Object(external_wp_element_["createElement"])("div", { className: "edit-site-template-card" }, Object(external_wp_element_["createElement"])(external_wp_components_["Icon"], { className: "edit-site-template-card__icon", icon: icon }), Object(external_wp_element_["createElement"])("div", { className: "edit-site-template-card__content" }, Object(external_wp_element_["createElement"])("h2", { className: "edit-site-template-card__title" }, title), Object(external_wp_element_["createElement"])("div", { className: "edit-site-template-card__description" }, description), Object(external_wp_element_["createElement"])(template_areas_TemplateAreas, null))); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const { Slot: InspectorSlot, Fill: InspectorFill } = Object(external_wp_components_["createSlotFill"])('EditSiteSidebarInspector'); const SidebarInspectorFill = InspectorFill; function SidebarComplementaryAreaFills() { const { sidebar, isEditorSidebarOpened, hasBlockSelection } = Object(external_wp_data_["useSelect"])(select => { const _sidebar = select(build_module["i" /* store */]).getActiveComplementaryArea(STORE_NAME); const _isEditorSidebarOpened = [SIDEBAR_BLOCK, SIDEBAR_TEMPLATE].includes(_sidebar); return { sidebar: _sidebar, isEditorSidebarOpened: _isEditorSidebarOpened, hasBlockSelection: !!select(external_wp_blockEditor_["store"]).getBlockSelectionStart() }; }, []); const { enableComplementaryArea } = Object(external_wp_data_["useDispatch"])(build_module["i" /* store */]); Object(external_wp_element_["useEffect"])(() => { if (!isEditorSidebarOpened) return; if (hasBlockSelection) { enableComplementaryArea(STORE_NAME, SIDEBAR_BLOCK); } else { enableComplementaryArea(STORE_NAME, SIDEBAR_TEMPLATE); } }, [hasBlockSelection, isEditorSidebarOpened]); let sidebarName = sidebar; if (!isEditorSidebarOpened) { sidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE; } return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(DefaultSidebar, { identifier: sidebarName, title: Object(external_wp_i18n_["__"])('Settings'), icon: cog["a" /* default */], closeLabel: Object(external_wp_i18n_["__"])('Close settings sidebar'), header: Object(external_wp_element_["createElement"])(settings_header, { sidebarName: sidebarName }), headerClassName: "edit-site-sidebar__panel-tabs" }, sidebarName === SIDEBAR_TEMPLATE && Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(TemplateCard, null)), sidebarName === SIDEBAR_BLOCK && Object(external_wp_element_["createElement"])(InspectorSlot, { bubblesVirtually: true })), Object(external_wp_element_["createElement"])(GlobalStylesSidebar, null)); } // EXTERNAL MODULE: external ["wp","htmlEntities"] var external_wp_htmlEntities_ = __webpack_require__("rmEH"); // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/home.js /** * WordPress dependencies */ const home = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { d: "M12 4L4 7.9V20h16V7.9L12 4zm6.5 14.5H14V13h-4v5.5H5.5V8.8L12 5.7l6.5 3.1v9.7z" })); /* harmony default export */ var library_home = (home); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/symbol-filled.js var symbol_filled = __webpack_require__("OE6V"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/main-dashboard-button/index.js /** * WordPress dependencies */ const slotName = '__experimentalMainDashboardButton'; const { Fill, Slot: MainDashboardButtonSlot } = Object(external_wp_components_["createSlotFill"])(slotName); const MainDashboardButton = Fill; const main_dashboard_button_Slot = _ref => { let { children } = _ref; const slot = Object(external_wp_components_["__experimentalUseSlot"])(slotName); const hasFills = Boolean(slot.fills && slot.fills.length); if (!hasFills) { return children; } return Object(external_wp_element_["createElement"])(MainDashboardButtonSlot, { bubblesVirtually: true }); }; MainDashboardButton.Slot = main_dashboard_button_Slot; /* harmony default export */ var main_dashboard_button = (MainDashboardButton); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/navigation-sidebar/navigation-panel/index.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const SITE_EDITOR_KEY = 'site-editor'; function NavLink(_ref) { let { params, replace, ...props } = _ref; const linkProps = useLink(params, replace); return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigationItem"], Object(esm_extends["a" /* default */])({}, linkProps, props)); } const NavigationPanel = _ref2 => { let { activeItem = SITE_EDITOR_KEY } = _ref2; const { isNavigationOpen, siteTitle } = Object(external_wp_data_["useSelect"])(select => { const { getEntityRecord } = select(external_wp_coreData_["store"]); const siteData = getEntityRecord('root', '__unstableBase', undefined) || {}; return { siteTitle: siteData.name, isNavigationOpen: select(store).isNavigationOpened() }; }, []); const { setIsNavigationPanelOpened } = Object(external_wp_data_["useDispatch"])(store); const closeOnEscape = event => { if (event.keyCode === external_wp_keycodes_["ESCAPE"] && !event.defaultPrevented) { event.preventDefault(); setIsNavigationPanelOpened(false); } }; return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions Object(external_wp_element_["createElement"])("div", { className: classnames_default()(`edit-site-navigation-panel`, { 'is-open': isNavigationOpen }), onKeyDown: closeOnEscape }, Object(external_wp_element_["createElement"])("div", { className: "edit-site-navigation-panel__inner" }, Object(external_wp_element_["createElement"])("div", { className: "edit-site-navigation-panel__site-title-container" }, Object(external_wp_element_["createElement"])("div", { className: "edit-site-navigation-panel__site-title" }, Object(external_wp_htmlEntities_["decodeEntities"])(siteTitle))), Object(external_wp_element_["createElement"])("div", { className: "edit-site-navigation-panel__scroll-container" }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigation"], { activeItem: activeItem }, Object(external_wp_element_["createElement"])(main_dashboard_button.Slot, null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigationBackButton"], { backButtonLabel: Object(external_wp_i18n_["__"])('Dashboard'), className: "edit-site-navigation-panel__back-to-dashboard", href: "index.php" })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigationMenu"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNavigationGroup"], { title: Object(external_wp_i18n_["__"])('Editor') }, Object(external_wp_element_["createElement"])(NavLink, { icon: library_home, title: Object(external_wp_i18n_["__"])('Site'), item: SITE_EDITOR_KEY, params: { postId: undefined, postType: undefined } }), Object(external_wp_element_["createElement"])(NavLink, { icon: layout["a" /* default */], title: Object(external_wp_i18n_["__"])('Templates'), item: "wp_template", params: { postId: undefined, postType: 'wp_template' } }), Object(external_wp_element_["createElement"])(NavLink, { icon: symbol_filled["a" /* default */], title: Object(external_wp_i18n_["__"])('Template Parts'), item: "wp_template_part", params: { postId: undefined, postType: 'wp_template_part' } }))))))) ); }; /* harmony default export */ var navigation_panel = (NavigationPanel); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/wordpress.js var wordpress = __webpack_require__("wduq"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/navigation-sidebar/navigation-toggle/index.js /** * WordPress dependencies */ /** * Internal dependencies */ function NavigationToggle(_ref) { let { icon } = _ref; const { isNavigationOpen, isRequestingSiteIcon, siteIconUrl } = Object(external_wp_data_["useSelect"])(select => { const { getEntityRecord, isResolving } = select(external_wp_coreData_["store"]); const siteData = getEntityRecord('root', '__unstableBase', undefined) || {}; return { isNavigationOpen: select(store).isNavigationOpened(), isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]), siteIconUrl: siteData.site_icon_url }; }, []); const { setIsNavigationPanelOpened } = Object(external_wp_data_["useDispatch"])(store); const disableMotion = Object(external_wp_compose_["useReducedMotion"])(); const navigationToggleRef = Object(external_wp_element_["useRef"])(); Object(external_wp_element_["useEffect"])(() => { // TODO: Remove this effect when alternative solution is merged. // See: https://github.com/WordPress/gutenberg/pull/37314 if (!isNavigationOpen) { navigationToggleRef.current.focus(); } }, [isNavigationOpen]); const toggleNavigationPanel = () => setIsNavigationPanelOpened(!isNavigationOpen); let buttonIcon = Object(external_wp_element_["createElement"])(external_wp_components_["Icon"], { size: "36px", icon: wordpress["a" /* default */] }); const effect = { expand: { scale: 1.7, borderRadius: 0, transition: { type: 'tween', duration: '0.2' } } }; if (siteIconUrl) { buttonIcon = Object(external_wp_element_["createElement"])(external_wp_components_["__unstableMotion"].img, { variants: !disableMotion && effect, alt: Object(external_wp_i18n_["__"])('Site Icon'), className: "edit-site-navigation-toggle__site-icon", src: siteIconUrl }); } else if (isRequestingSiteIcon) { buttonIcon = null; } else if (icon) { buttonIcon = Object(external_wp_element_["createElement"])(external_wp_components_["Icon"], { size: "36px", icon: icon }); } return Object(external_wp_element_["createElement"])(external_wp_components_["__unstableMotion"].div, { className: 'edit-site-navigation-toggle' + (isNavigationOpen ? ' is-open' : ''), whileHover: "expand" }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { className: "edit-site-navigation-toggle__button has-icon", label: Object(external_wp_i18n_["__"])('Toggle navigation'), ref: navigationToggleRef // isPressed will add unwanted styles. , "aria-pressed": isNavigationOpen, onClick: toggleNavigationPanel, showTooltip: true }, buttonIcon)); } /* harmony default export */ var navigation_toggle = (NavigationToggle); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/navigation-sidebar/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const { Fill: NavigationPanelPreviewFill, Slot: NavigationPanelPreviewSlot } = Object(external_wp_components_["createSlotFill"])('EditSiteNavigationPanelPreview'); const { Fill: NavigationSidebarFill, Slot: NavigationSidebarSlot } = Object(external_wp_components_["createSlotFill"])('EditSiteNavigationSidebar'); function NavigationSidebar(_ref) { let { isDefaultOpen = false, activeTemplateType } = _ref; const isDesktopViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); const { setIsNavigationPanelOpened } = Object(external_wp_data_["useDispatch"])(store); Object(external_wp_element_["useEffect"])(function autoOpenNavigationPanelOnViewportChange() { setIsNavigationPanelOpened(isDefaultOpen && isDesktopViewport); }, [isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened]); return Object(external_wp_element_["createElement"])(NavigationSidebarFill, null, Object(external_wp_element_["createElement"])(navigation_toggle, null), Object(external_wp_element_["createElement"])(navigation_panel, { activeItem: activeTemplateType }), Object(external_wp_element_["createElement"])(NavigationPanelPreviewSlot, null)); } NavigationSidebar.Slot = NavigationSidebarSlot; /* harmony default export */ var navigation_sidebar = (NavigationSidebar); // EXTERNAL MODULE: external ["wp","reusableBlocks"] var external_wp_reusableBlocks_ = __webpack_require__("diJD"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/template-part-converter/convert-to-regular.js /** * WordPress dependencies */ function ConvertToRegularBlocks(_ref) { let { clientId } = _ref; const { getBlocks } = Object(external_wp_data_["useSelect"])(external_wp_blockEditor_["store"]); const { replaceBlocks } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockSettingsMenuControls"], null, _ref2 => { let { onClose } = _ref2; return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { onClick: () => { replaceBlocks(clientId, getBlocks(clientId)); onClose(); } }, Object(external_wp_i18n_["__"])('Detach blocks from template part')); }); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/create-template-part-modal/index.js /** * WordPress dependencies */ /** * Internal dependencies */ function CreateTemplatePartModal(_ref) { let { closeModal, onCreate } = _ref; const [title, setTitle] = Object(external_wp_element_["useState"])(''); const [area, setArea] = Object(external_wp_element_["useState"])(TEMPLATE_PART_AREA_GENERAL); const [isSubmitting, setIsSubmitting] = Object(external_wp_element_["useState"])(false); const instanceId = Object(external_wp_compose_["useInstanceId"])(CreateTemplatePartModal); const templatePartAreas = Object(external_wp_data_["useSelect"])(select => select(external_wp_editor_["store"]).__experimentalGetDefaultTemplatePartAreas(), []); return Object(external_wp_element_["createElement"])(external_wp_components_["Modal"], { title: Object(external_wp_i18n_["__"])('Create a template part'), closeLabel: Object(external_wp_i18n_["__"])('Close'), onRequestClose: closeModal, overlayClassName: "edit-site-create-template-part-modal" }, Object(external_wp_element_["createElement"])("form", { onSubmit: async event => { event.preventDefault(); if (!title) { return; } setIsSubmitting(true); await onCreate({ title, area }); } }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { label: Object(external_wp_i18n_["__"])('Name'), value: title, onChange: setTitle, required: true }), Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { label: Object(external_wp_i18n_["__"])('Area'), id: `edit-site-create-template-part-modal__area-selection-${instanceId}`, className: "edit-site-create-template-part-modal__area-base-control" }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalRadioGroup"], { label: Object(external_wp_i18n_["__"])('Area'), className: "edit-site-create-template-part-modal__area-radio-group", id: `edit-site-create-template-part-modal__area-selection-${instanceId}`, onChange: setArea, checked: area }, templatePartAreas.map(_ref2 => { let { icon, label, area: value, description } = _ref2; return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalRadio"], { key: label, value: value, className: "edit-site-create-template-part-modal__area-radio" }, Object(external_wp_element_["createElement"])(external_wp_components_["Flex"], { align: "start", justify: "start" }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Icon"], { icon: icon })), Object(external_wp_element_["createElement"])(external_wp_components_["FlexBlock"], { className: "edit-site-create-template-part-modal__option-label" }, label, Object(external_wp_element_["createElement"])("div", null, description)), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], { className: "edit-site-create-template-part-modal__checkbox" }, area === value && Object(external_wp_element_["createElement"])(external_wp_components_["Icon"], { icon: check["a" /* default */] })))); }))), Object(external_wp_element_["createElement"])(external_wp_components_["Flex"], { className: "edit-site-create-template-part-modal__modal-actions", justify: "flex-end" }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { variant: "secondary", onClick: () => { closeModal(); } }, Object(external_wp_i18n_["__"])('Cancel'))), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { variant: "primary", type: "submit", disabled: !title, isBusy: isSubmitting }, Object(external_wp_i18n_["__"])('Create')))))); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/template-part-converter/convert-to-template-part.js /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function ConvertToTemplatePart(_ref) { let { clientIds, blocks } = _ref; const [isModalOpen, setIsModalOpen] = Object(external_wp_element_["useState"])(false); const { replaceBlocks } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); const { saveEntityRecord } = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]); const { createSuccessNotice } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); const onConvert = async _ref2 => { let { title, area } = _ref2; const templatePart = await saveEntityRecord('postType', 'wp_template_part', { slug: Object(external_lodash_["kebabCase"])(title), title, content: Object(external_wp_blocks_["serialize"])(blocks), area }); replaceBlocks(clientIds, Object(external_wp_blocks_["createBlock"])('core/template-part', { slug: templatePart.slug, theme: templatePart.theme })); createSuccessNotice(Object(external_wp_i18n_["__"])('Template part created.'), { type: 'snackbar' }); // The modal and this component will be unmounted because of `replaceBlocks` above, // so no need to call `closeModal` or `onClose`. }; return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockSettingsMenuControls"], null, () => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { onClick: () => { setIsModalOpen(true); } }, Object(external_wp_i18n_["__"])('Make template part'))), isModalOpen && Object(external_wp_element_["createElement"])(CreateTemplatePartModal, { closeModal: () => { setIsModalOpen(false); }, onCreate: onConvert })); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/template-part-converter/index.js /** * WordPress dependencies */ /** * Internal dependencies */ function TemplatePartConverter() { var _blocks$; const { clientIds, blocks } = Object(external_wp_data_["useSelect"])(select => { const { getSelectedBlockClientIds, getBlocksByClientId } = select(external_wp_blockEditor_["store"]); const selectedBlockClientIds = getSelectedBlockClientIds(); return { clientIds: selectedBlockClientIds, blocks: getBlocksByClientId(selectedBlockClientIds) }; }, []); // Allow converting a single template part to standard blocks. if (blocks.length === 1 && ((_blocks$ = blocks[0]) === null || _blocks$ === void 0 ? void 0 : _blocks$.name) === 'core/template-part') { return Object(external_wp_element_["createElement"])(ConvertToRegularBlocks, { clientId: clientIds[0] }); } return Object(external_wp_element_["createElement"])(ConvertToTemplatePart, { clientIds: clientIds, blocks: blocks }); } // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js + 1 modules var edit = __webpack_require__("B9Az"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/navigate-to-link/index.js /** * WordPress dependencies */ function NavigateToLink(_ref) { let { type, id, activePage, onActivePageChange } = _ref; const post = Object(external_wp_data_["useSelect"])(select => type && id && type !== 'URL' && select(external_wp_coreData_["store"]).getEntityRecord('postType', type, id), [type, id]); const onClick = Object(external_wp_element_["useMemo"])(() => { if (!(post !== null && post !== void 0 && post.link)) return null; const path = Object(external_wp_url_["getPathAndQueryString"])(post.link); if (path === (activePage === null || activePage === void 0 ? void 0 : activePage.path)) return null; return () => onActivePageChange({ type, slug: post.slug, path, context: { postType: post.type, postId: post.id } }); }, [post, activePage === null || activePage === void 0 ? void 0 : activePage.path, onActivePageChange]); return onClick && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { icon: edit["a" /* default */], label: Object(external_wp_i18n_["__"])('Edit Page Template'), onClick: onClick }); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/block-editor/block-inspector-button.js /** * WordPress dependencies */ /** * Internal dependencies */ function BlockInspectorButton(_ref) { let { onClick = () => {} } = _ref; const { shortcut, isBlockInspectorOpen } = Object(external_wp_data_["useSelect"])(select => ({ shortcut: select(external_wp_keyboardShortcuts_["store"]).getShortcutRepresentation('core/edit-site/toggle-block-settings-sidebar'), isBlockInspectorOpen: select(build_module["i" /* store */]).getActiveComplementaryArea(store.name) === SIDEBAR_BLOCK }), []); const { enableComplementaryArea, disableComplementaryArea } = Object(external_wp_data_["useDispatch"])(build_module["i" /* store */]); const label = isBlockInspectorOpen ? Object(external_wp_i18n_["__"])('Hide more settings') : Object(external_wp_i18n_["__"])('Show more settings'); return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { onClick: () => { if (isBlockInspectorOpen) { disableComplementaryArea(STORE_NAME); Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('Block settings closed')); } else { enableComplementaryArea(STORE_NAME, SIDEBAR_BLOCK); Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('Additional settings are now available in the Editor block settings sidebar')); } // Close dropdown menu. onClick(); }, shortcut: shortcut }, label); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/edit-template-part-menu-button/index.js /** * WordPress dependencies */ /** * Internal dependencies */ function EditTemplatePartMenuButton() { return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockSettingsMenuControls"], null, _ref => { let { selectedClientIds, onClose } = _ref; return Object(external_wp_element_["createElement"])(EditTemplatePartMenuItem, { selectedClientId: selectedClientIds[0], onClose: onClose }); }); } function EditTemplatePartMenuItem(_ref2) { let { selectedClientId, onClose } = _ref2; const { params } = useLocation(); const selectedTemplatePart = Object(external_wp_data_["useSelect"])(select => { const block = select(external_wp_blockEditor_["store"]).getBlock(selectedClientId); if (block && Object(external_wp_blocks_["isTemplatePart"])(block)) { const { theme, slug } = block.attributes; return select(external_wp_coreData_["store"]).getEntityRecord('postType', 'wp_template_part', // Ideally this should be an official public API. `${theme}//${slug}`); } }, [selectedClientId]); const linkProps = useLink({ postId: selectedTemplatePart === null || selectedTemplatePart === void 0 ? void 0 : selectedTemplatePart.id, postType: selectedTemplatePart === null || selectedTemplatePart === void 0 ? void 0 : selectedTemplatePart.type }, { fromTemplateId: params.postId }); if (!selectedTemplatePart) { return null; } return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], Object(esm_extends["a" /* default */])({}, linkProps, { onClick: event => { linkProps.onClick(event); onClose(); } }), /* translators: %s: template part title */ Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Edit %s'), selectedTemplatePart.slug)); } // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/arrow-left.js var arrow_left = __webpack_require__("cjQ8"); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/block-editor/back-button.js /** * WordPress dependencies */ /** * Internal dependencies */ function BackButton() { var _location$state; const location = useLocation(); const history = useHistory(); const isTemplatePart = location.params.postType === 'wp_template_part'; const previousTemplateId = (_location$state = location.state) === null || _location$state === void 0 ? void 0 : _location$state.fromTemplateId; if (!isTemplatePart || !previousTemplateId) { return null; } return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { className: "edit-site-visual-editor__back-button", icon: arrow_left["a" /* default */], onClick: () => { history.back(); } }, Object(external_wp_i18n_["__"])('Back')); } /* harmony default export */ var back_button = (BackButton); // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/block-editor/resize-handle.js /** * WordPress dependencies */ const DELTA_DISTANCE = 20; // The distance to resize per keydown in pixels. function ResizeHandle(_ref) { let { direction, resizeWidthBy } = _ref; function handleKeyDown(event) { const { keyCode } = event; if (direction === 'left' && keyCode === external_wp_keycodes_["LEFT"] || direction === 'right' && keyCode === external_wp_keycodes_["RIGHT"]) { resizeWidthBy(DELTA_DISTANCE); } else if (direction === 'left' && keyCode === external_wp_keycodes_["RIGHT"] || direction === 'right' && keyCode === external_wp_keycodes_["LEFT"]) { resizeWidthBy(-DELTA_DISTANCE); } } return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("button", { className: `resizable-editor__drag-handle is-${direction}`, "aria-label": Object(external_wp_i18n_["__"])('Drag to resize'), "aria-describedby": `resizable-editor__resize-help-${direction}`, onKeyDown: handleKeyDown }), Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { id: `resizable-editor__resize-help-${direction}` }, Object(external_wp_i18n_["__"])('Use left and right arrow keys to resize the canvas.'))); } // CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/block-editor/resizable-editor.js /** * WordPress dependencies */ /** * Internal dependencies */ const DEFAULT_STYLES = { width: '100%', height: '100%' }; // Removes the inline styles in the drag handles. const HANDLE_STYLES_OVERRIDE = { position: undefined, userSelect: undefined, cursor: undefined, width: undefined, height: undefined, top: undefined, right: undefined, bottom: undefined, left: undefined }; function ResizableEditor(_ref) { let { enableResizing, settings, ...props } = _ref; const deviceType = Object(external_wp_data_["useSelect"])(select => select(store).__experimentalGetPreviewDeviceType(), []); const deviceStyles = Object(external_wp_blockEditor_["__experimentalUseResizeCanvas"])(deviceType); const [width, setWidth] = Object(external_wp_element_["useState"])(DEFAULT_STYLES.width); const [height, setHeight] = Object(external_wp_element_["useState"])(DEFAULT_STYLES.height); const iframeRef = Object(external_wp_element_["useRef"])(); const mouseMoveTypingResetRef = Object(external_wp_blockEditor_["__unstableUseMouseMoveTypingReset"])(); const ref = Object(external_wp_compose_["useMergeRefs"])([iframeRef, mouseMoveTypingResetRef]); Object(external_wp_element_["useEffect"])(function autoResizeIframeHeight() { const iframe = iframeRef.current; if (!iframe || !enableResizing) { return; } let animationFrame = null; function resizeHeight() { if (!animationFrame) { // Throttle the updates on animation frame. animationFrame = iframe.contentWindow.requestAnimationFrame(() => { setHeight(iframe.contentDocument.documentElement.scrollHeight); animationFrame = null; }); } } let resizeObserver; function registerObserver() { var _resizeObserver; (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : _resizeObserver.disconnect(); resizeObserver = new iframe.contentWindow.ResizeObserver(resizeHeight); // Observing the rather than the because the latter // gets destroyed and remounted after initialization in