Ubuntu
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