9164 lines
299 KiB
JavaScript
9164 lines
299 KiB
JavaScript
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");
|
|
/******/ })
|
|
/************************************************************************/
|
|
/******/ ({
|
|
|
|
/***/ "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__, "initialize", function() { return /* binding */ initialize; });
|
|
__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 removeTemplate; });
|
|
__webpack_require__.d(actions_namespaceObject, "setTemplatePart", function() { return actions_setTemplatePart; });
|
|
__webpack_require__.d(actions_namespaceObject, "pushTemplatePart", function() { return actions_pushTemplatePart; });
|
|
__webpack_require__.d(actions_namespaceObject, "setHomeTemplateId", function() { return setHomeTemplateId; });
|
|
__webpack_require__.d(actions_namespaceObject, "setPage", function() { return actions_setPage; });
|
|
__webpack_require__.d(actions_namespaceObject, "goBack", function() { return actions_goBack; });
|
|
__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 actions_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, "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, "getPreviousEditedPostType", function() { return getPreviousEditedPostType; });
|
|
__webpack_require__.d(selectors_namespaceObject, "getPreviousEditedPostId", function() { return selectors_getPreviousEditedPostId; });
|
|
__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 selectors_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: ./node_modules/downloadjs/download.js
|
|
var download = __webpack_require__("rrFr");
|
|
var download_default = /*#__PURE__*/__webpack_require__.n(download);
|
|
|
|
// 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");
|
|
|
|
// EXTERNAL MODULE: external ["wp","plugins"]
|
|
var external_wp_plugins_ = __webpack_require__("TvNi");
|
|
|
|
// 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 "lodash"
|
|
var external_lodash_ = __webpack_require__("YLtl");
|
|
|
|
// 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);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/plugins/index.js
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* 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"])(external_wp_components_["MenuItem"], {
|
|
role: "menuitem",
|
|
icon: library_download,
|
|
onClick: () => external_wp_apiFetch_default()({
|
|
path: '/__experimental/edit-site/v1/export',
|
|
parse: false
|
|
}).then(res => res.blob()).then(blob => download_default()(blob, 'edit-site-export.zip', 'application/zip')),
|
|
info: Object(external_wp_i18n_["__"])('Download your templates and template parts.')
|
|
}, Object(external_wp_i18n_["__"])('Export'))));
|
|
}
|
|
|
|
});
|
|
|
|
// EXTERNAL MODULE: external ["wp","hooks"]
|
|
var external_wp_hooks_ = __webpack_require__("g56x");
|
|
|
|
// EXTERNAL MODULE: external ["wp","mediaUtils"]
|
|
var external_wp_mediaUtils_ = __webpack_require__("6aBm");
|
|
|
|
// 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: 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: {}
|
|
};
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/store/constants.js
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/**
|
|
* 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';
|
|
const TEMPLATE_PART_AREA_TO_NAME = {
|
|
[TEMPLATE_PART_AREA_HEADER]: Object(external_wp_i18n_["__"])('Header'),
|
|
[TEMPLATE_PART_AREA_FOOTER]: Object(external_wp_i18n_["__"])('Footer'),
|
|
[TEMPLATE_PART_AREA_SIDEBAR]: Object(external_wp_i18n_["__"])('Sidebar'),
|
|
[TEMPLATE_PART_AREA_GENERAL]: Object(external_wp_i18n_["__"])('General')
|
|
};
|
|
|
|
// 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 TEMPLATES_NEW_OPTIONS = ['front-page', 'single-post', 'page', 'archive', 'search', '404', 'index'];
|
|
const TEMPLATE_OVERRIDES = {
|
|
singular: ['single', 'page'],
|
|
index: ['archive', '404', 'search', 'singular', 'home'],
|
|
home: ['front-page']
|
|
};
|
|
const MENU_ROOT = 'root';
|
|
const MENU_CONTENT_CATEGORIES = 'content-categories';
|
|
const MENU_CONTENT_PAGES = 'content-pages';
|
|
const MENU_CONTENT_POSTS = 'content-posts';
|
|
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 SEARCH_DEBOUNCE_IN_MS = 75;
|
|
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 {Array} state Current state history.
|
|
* @param {Object} action Dispatched action.
|
|
*
|
|
* @return {Array} 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
|
|
}];
|
|
|
|
case 'PUSH_TEMPLATE_PART':
|
|
return [...state, {
|
|
type: 'wp_template_part',
|
|
id: action.templatePartId
|
|
}];
|
|
|
|
case 'GO_BACK':
|
|
return state.slice(0, -1);
|
|
}
|
|
|
|
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: external ["wp","url"]
|
|
var external_wp_url_ = __webpack_require__("Mmq9");
|
|
|
|
// EXTERNAL MODULE: external ["wp","notices"]
|
|
var external_wp_notices_ = __webpack_require__("onLe");
|
|
|
|
// 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, and updates the current page and template.
|
|
*
|
|
* @param {number} templateId The template ID.
|
|
*/
|
|
|
|
function* removeTemplate(templateId) {
|
|
yield Object(external_wp_dataControls_["apiFetch"])({
|
|
path: `/wp/v2/templates/${templateId}`,
|
|
method: 'DELETE'
|
|
});
|
|
const page = yield external_wp_data_["controls"].select(STORE_NAME, 'getPage');
|
|
yield external_wp_data_["controls"].dispatch(STORE_NAME, 'setPage', page);
|
|
}
|
|
/**
|
|
* 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
|
|
};
|
|
}
|
|
/**
|
|
* Returns an action object used to push a template part to navigation history.
|
|
*
|
|
* @param {string} templatePartId The template part ID.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
|
|
function actions_pushTemplatePart(templatePartId) {
|
|
return {
|
|
type: 'PUSH_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;
|
|
}
|
|
/**
|
|
* Go back to the current editing page.
|
|
*/
|
|
|
|
function actions_goBack() {
|
|
return {
|
|
type: 'GO_BACK'
|
|
};
|
|
}
|
|
/**
|
|
* 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 actions_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.
|
|
*/
|
|
|
|
function* actions_revertTemplate(template) {
|
|
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'
|
|
});
|
|
|
|
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
|
|
}]
|
|
});
|
|
} 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");
|
|
|
|
// 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 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
|
|
};
|
|
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')]);
|
|
/**
|
|
* 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[state.editedPost.length - 1] || {};
|
|
}
|
|
|
|
function getPreviousEditedPost(state) {
|
|
return state.editedPost[state.editedPost.length - 2] || {};
|
|
}
|
|
/**
|
|
* 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 previous edited post type (wp_template or wp_template_part).
|
|
*
|
|
* @param {Object} state Global application state.
|
|
*
|
|
* @return {TemplateType?} Template type.
|
|
*/
|
|
|
|
function getPreviousEditedPostType(state) {
|
|
return getPreviousEditedPost(state).type;
|
|
}
|
|
/**
|
|
* Returns the ID of the previous edited template or template part.
|
|
*
|
|
* @param {Object} state Global application state.
|
|
*
|
|
* @return {string?} Post ID.
|
|
*/
|
|
|
|
function selectors_getPreviousEditedPostId(state) {
|
|
return getPreviousEditedPost(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 selectors_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');
|
|
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);
|
|
|
|
// EXTERNAL MODULE: external ["wp","blockEditor"]
|
|
var external_wp_blockEditor_ = __webpack_require__("axFQ");
|
|
|
|
// EXTERNAL MODULE: external ["wp","editor"]
|
|
var external_wp_editor_ = __webpack_require__("jSdM");
|
|
|
|
// 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/wordpress.js
|
|
var wordpress = __webpack_require__("wduq");
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/navigation-link/index.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function NavigationLink(_ref) {
|
|
let {
|
|
icon
|
|
} = _ref;
|
|
const {
|
|
isRequestingSiteIcon,
|
|
siteIconUrl
|
|
} = Object(external_wp_data_["useSelect"])(select => {
|
|
const {
|
|
getEntityRecord,
|
|
isResolving
|
|
} = select(external_wp_coreData_["store"]);
|
|
const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
|
|
return {
|
|
isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
|
|
siteIconUrl: siteData.site_icon_url
|
|
};
|
|
}, []);
|
|
const disableMotion = Object(external_wp_compose_["useReducedMotion"])();
|
|
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-link__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-link",
|
|
whileHover: "expand"
|
|
}, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
|
|
className: "edit-site-navigation-link__button has-icon",
|
|
label: Object(external_wp_i18n_["__"])('Dashboard'),
|
|
href: "index.php"
|
|
}, buttonIcon));
|
|
}
|
|
|
|
/* harmony default export */ var navigation_link = (NavigationLink);
|
|
|
|
// 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-prefix"
|
|
}, 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))), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalText"], {
|
|
size: "body",
|
|
className: "edit-site-document-actions__title",
|
|
as: "h1"
|
|
}, 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/template-details/template-areas.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
function TemplatePartItemMore(_ref) {
|
|
var _templatePart$title;
|
|
|
|
let {
|
|
onClose,
|
|
templatePart,
|
|
closeTemplateDetailsDropdown
|
|
} = _ref;
|
|
const {
|
|
pushTemplatePart,
|
|
revertTemplate
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
|
|
function editTemplatePart() {
|
|
pushTemplatePart(templatePart.id);
|
|
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"], {
|
|
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 theme default'),
|
|
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 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: Object(external_wp_editor_["getTemplatePartIcon"])(templatePart.area),
|
|
iconPosition: "left",
|
|
onClick: () => {
|
|
selectBlock(clientId);
|
|
},
|
|
onMouseOver: highlightBlock,
|
|
onMouseLeave: cancelHighlightBlock,
|
|
onFocus: highlightBlock,
|
|
onBlur: cancelHighlightBlock
|
|
}, TEMPLATE_PART_AREA_TO_NAME[templatePart.area]), 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/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]);
|
|
|
|
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"
|
|
}, 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 theme default'),
|
|
onClick: revert
|
|
}, Object(external_wp_i18n_["__"])('Clear customizations'))), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
|
|
className: "edit-site-template-details__show-all-button",
|
|
href: Object(external_wp_url_["addQueryArgs"])('edit.php', {
|
|
// TODO: We should update this to filter by template part's areas as well.
|
|
post_type: template.type
|
|
})
|
|
}, 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/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/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"])(main_dashboard_button.Slot, null, Object(external_wp_element_["createElement"])(navigation_link, null)), 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);
|
|
|
|
// 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 = ['user', 'theme', 'core'];
|
|
|
|
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 + '.user' : 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$user;
|
|
|
|
return (_ref = (_result$user = result === null || result === void 0 ? void 0 : result.user) !== null && _result$user !== void 0 ? _result$user : result === null || result === void 0 ? void 0 : result.theme) !== null && _ref !== void 0 ? _ref : result === null || result === void 0 ? void 0 : result.core;
|
|
}
|
|
|
|
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 [userColors] = useSetting('color.palette.user', name);
|
|
const [themeColors] = useSetting('color.palette.theme', name);
|
|
const [coreColors] = useSetting('color.palette.core', name);
|
|
return Object(external_wp_element_["useMemo"])(() => {
|
|
const result = [];
|
|
|
|
if (coreColors && coreColors.length) {
|
|
result.push({
|
|
name: Object(external_wp_i18n_["__"])('Core'),
|
|
colors: coreColors
|
|
});
|
|
}
|
|
|
|
if (themeColors && themeColors.length) {
|
|
result.push({
|
|
name: Object(external_wp_i18n_["__"])('Theme'),
|
|
colors: themeColors
|
|
});
|
|
}
|
|
|
|
if (userColors && userColors.length) {
|
|
result.push({
|
|
name: Object(external_wp_i18n_["__"])('User'),
|
|
colors: userColors
|
|
});
|
|
}
|
|
|
|
return result;
|
|
}, [userColors, themeColors, coreColors]);
|
|
}
|
|
function useGradientsPerOrigin(name) {
|
|
const [userGradients] = useSetting('color.gradients.user', name);
|
|
const [themeGradients] = useSetting('color.gradients.theme', name);
|
|
const [coreGradients] = useSetting('color.gradients.core', name);
|
|
return Object(external_wp_element_["useMemo"])(() => {
|
|
const result = [];
|
|
|
|
if (coreGradients && coreGradients.length) {
|
|
result.push({
|
|
name: Object(external_wp_i18n_["__"])('Core'),
|
|
gradients: coreGradients
|
|
});
|
|
}
|
|
|
|
if (themeGradients && themeGradients.length) {
|
|
result.push({
|
|
name: Object(external_wp_i18n_["__"])('Theme'),
|
|
gradients: themeGradients
|
|
});
|
|
}
|
|
|
|
if (userGradients && userGradients.length) {
|
|
result.push({
|
|
name: Object(external_wp_i18n_["__"])('User'),
|
|
gradients: userGradients
|
|
});
|
|
}
|
|
|
|
return result;
|
|
}, [userGradients, themeGradients, coreGradients]);
|
|
}
|
|
|
|
// 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);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
|
|
var esm_extends = __webpack_require__("wx14");
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js
|
|
var build_module_icon = __webpack_require__("iClF");
|
|
|
|
// 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
|
|
} = _ref;
|
|
const supports = getSupportedGlobalStylesPanels(name);
|
|
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('typography.fontFamily', name);
|
|
const [fontSize, setFontSize] = useStyle('typography.fontSize', name);
|
|
const [fontStyle, setFontStyle] = useStyle('typography.fontStyle', name);
|
|
const [fontWeight, setFontWeight] = useStyle('typography.fontWeight', name);
|
|
const [lineHeight, setLineHeight] = useStyle('typography.lineHeight', name);
|
|
const [letterSpacing, setLetterSpacing] = useStyle('typography.letterSpacing', name);
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], {
|
|
className: "edit-site-typography-panel",
|
|
initialOpen: true
|
|
}, 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_element_["createElement"])("p", 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_i18n_["__"])('Blocks')))));
|
|
}
|
|
|
|
/* harmony default export */ var screen_root = (ScreenRoot);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right.js
|
|
var chevron_right = __webpack_require__("1iEr");
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js
|
|
var chevron_left = __webpack_require__("2gm7");
|
|
|
|
// 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
|
|
}, 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/screen-typography.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
function ScreenTypography(_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"])(global_styles_header, {
|
|
back: parentMenu ? parentMenu : '/',
|
|
title: Object(external_wp_i18n_["__"])('Typography'),
|
|
description: Object(external_wp_i18n_["__"])('Manage the fonts used on the website and the default aspect of different global elements.')
|
|
}), Object(external_wp_element_["createElement"])(TypographyPanel, {
|
|
name: name
|
|
}));
|
|
}
|
|
|
|
/* harmony default export */ var screen_typography = (ScreenTypography);
|
|
|
|
// 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/palette.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
const EMPTY_COLORS = [];
|
|
|
|
function Palette(_ref) {
|
|
let {
|
|
name
|
|
} = _ref;
|
|
const [colorsSetting] = useSetting('color.palette.user', name);
|
|
const colors = colorsSetting || EMPTY_COLORS;
|
|
const screenPath = !name ? '/colors/palette' : '/blocks/' + name + '/colors/palette';
|
|
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"], null, 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, Object(external_wp_i18n_["sprintf"])( // Translators: %d: Number of palette colors.
|
|
Object(external_wp_i18n_["_n"])('%d color', '%d colors', colors.length), colors.length))))));
|
|
}
|
|
|
|
/* 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 [userColors, setColors] = useSetting('color.palette', name, 'user');
|
|
return Object(external_wp_element_["createElement"])("div", {
|
|
className: "edit-site-global-styles-color-palette-panel"
|
|
}, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalColorEdit"], {
|
|
colors: userColors,
|
|
onChange: setColors
|
|
}));
|
|
}
|
|
|
|
// 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 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_["__"])('Color Palette'),
|
|
description: Object(external_wp_i18n_["__"])('Color 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"])(ColorPalettePanel, {
|
|
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
|
|
}));
|
|
}
|
|
|
|
/* 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
|
|
}));
|
|
}
|
|
|
|
/* 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
|
|
}));
|
|
}
|
|
|
|
/* 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 + '/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, []);
|
|
['core', 'theme', 'user'].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, []);
|
|
['core', 'theme', 'user'].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,
|
|
__experimentalNoWrapper: 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();
|
|
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
|
|
}]
|
|
})))
|
|
}, 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 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: Object(external_wp_editor_["getTemplatePartIcon"])(area),
|
|
onMouseOver: highlightBlock,
|
|
onMouseLeave: cancelHighlightBlock,
|
|
onFocus: highlightBlock,
|
|
onBlur: cancelHighlightBlock,
|
|
onClick: () => {
|
|
selectBlock(clientId);
|
|
}
|
|
}, TEMPLATE_PART_AREA_TO_NAME[area]);
|
|
}
|
|
|
|
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));
|
|
}
|
|
|
|
// 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/template-part-converter/convert-to-template-part.js
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
function ConvertToTemplatePart(_ref) {
|
|
let {
|
|
clientIds,
|
|
blocks
|
|
} = _ref;
|
|
const instanceId = Object(external_wp_compose_["useInstanceId"])(ConvertToTemplatePart);
|
|
const [isModalOpen, setIsModalOpen] = Object(external_wp_element_["useState"])(false);
|
|
const [title, setTitle] = Object(external_wp_element_["useState"])('');
|
|
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 [area, setArea] = Object(external_wp_element_["useState"])(TEMPLATE_PART_AREA_GENERAL);
|
|
const templatePartAreas = Object(external_wp_data_["useSelect"])(select => select(external_wp_editor_["store"]).__experimentalGetDefaultTemplatePartAreas(), []);
|
|
|
|
const onConvert = async templatePartTitle => {
|
|
const defaultTitle = Object(external_wp_i18n_["__"])('Untitled Template Part');
|
|
|
|
const templatePart = await saveEntityRecord('postType', 'wp_template_part', {
|
|
slug: Object(external_lodash_["kebabCase"])(templatePartTitle || defaultTitle),
|
|
title: templatePartTitle || defaultTitle,
|
|
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'
|
|
});
|
|
};
|
|
|
|
return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockSettingsMenuControls"], null, _ref2 => {
|
|
let {
|
|
onClose
|
|
} = _ref2;
|
|
return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], 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"])(external_wp_components_["Modal"], {
|
|
title: Object(external_wp_i18n_["__"])('Create a template part'),
|
|
closeLabel: Object(external_wp_i18n_["__"])('Close'),
|
|
onRequestClose: () => {
|
|
setIsModalOpen(false);
|
|
setTitle('');
|
|
},
|
|
overlayClassName: "edit-site-template-part-converter__modal"
|
|
}, Object(external_wp_element_["createElement"])("form", {
|
|
onSubmit: event => {
|
|
event.preventDefault();
|
|
onConvert(title);
|
|
setIsModalOpen(false);
|
|
setTitle('');
|
|
onClose();
|
|
}
|
|
}, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], {
|
|
label: Object(external_wp_i18n_["__"])('Name'),
|
|
value: title,
|
|
onChange: setTitle
|
|
}), Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], {
|
|
label: Object(external_wp_i18n_["__"])('Area'),
|
|
id: `edit-site-template-part-converter__area-selection-${instanceId}`,
|
|
className: "edit-site-template-part-converter__area-base-control"
|
|
}, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalRadioGroup"], {
|
|
label: Object(external_wp_i18n_["__"])('Area'),
|
|
className: "edit-site-template-part-converter__area-radio-group",
|
|
id: `edit-site-template-part-converter__area-selection-${instanceId}`,
|
|
onChange: setArea,
|
|
checked: area
|
|
}, templatePartAreas.map(_ref3 => {
|
|
let {
|
|
icon,
|
|
label,
|
|
area: value,
|
|
description
|
|
} = _ref3;
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalRadio"], {
|
|
key: label,
|
|
value: value,
|
|
className: "edit-site-template-part-converter__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-template-part-converter__option-label"
|
|
}, label, Object(external_wp_element_["createElement"])("div", null, description)), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], {
|
|
className: "edit-site-template-part-converter__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-template-part-converter__convert-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: () => {
|
|
setIsModalOpen(false);
|
|
setTitle('');
|
|
}
|
|
}, 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"
|
|
}, Object(external_wp_i18n_["__"])('Create')))))));
|
|
});
|
|
}
|
|
|
|
// 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 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 {
|
|
pushTemplatePart
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
|
|
if (!selectedTemplatePart) {
|
|
return null;
|
|
}
|
|
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], {
|
|
onClick: () => {
|
|
pushTemplatePart(selectedTemplatePart.id);
|
|
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() {
|
|
const {
|
|
isTemplatePart,
|
|
previousTemplateId
|
|
} = Object(external_wp_data_["useSelect"])(select => {
|
|
const {
|
|
getEditedPostType,
|
|
getPreviousEditedPostId
|
|
} = select(store);
|
|
return {
|
|
isTemplatePart: getEditedPostType() === 'wp_template_part',
|
|
previousTemplateId: getPreviousEditedPostId()
|
|
};
|
|
}, []);
|
|
const {
|
|
goBack
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
|
|
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: () => {
|
|
goBack();
|
|
}
|
|
}, 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;
|
|
}
|
|
|
|
const resizeObserver = new iframe.contentWindow.ResizeObserver(() => {
|
|
setHeight(iframe.contentDocument.querySelector(`.edit-site-block-editor__block-list`).offsetHeight);
|
|
}); // Observing the <html> rather than the <body> because the latter
|
|
// gets destroyed and remounted after initialization in <Iframe>.
|
|
|
|
resizeObserver.observe(iframe.contentDocument.documentElement);
|
|
return () => {
|
|
resizeObserver.disconnect();
|
|
};
|
|
}, [enableResizing]);
|
|
const resizeWidthBy = Object(external_wp_element_["useCallback"])(deltaPixels => {
|
|
if (iframeRef.current) {
|
|
setWidth(iframeRef.current.offsetWidth + deltaPixels);
|
|
}
|
|
}, []);
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], {
|
|
size: {
|
|
width,
|
|
height
|
|
},
|
|
onResizeStop: (event, direction, element) => {
|
|
setWidth(element.style.width);
|
|
},
|
|
minWidth: 300,
|
|
maxWidth: "100%",
|
|
maxHeight: "100%",
|
|
enable: {
|
|
right: enableResizing,
|
|
left: enableResizing
|
|
},
|
|
showHandle: enableResizing // The editor is centered horizontally, resizing it only
|
|
// moves half the distance. Hence double the ratio to correctly
|
|
// align the cursor to the resizer handle.
|
|
,
|
|
resizeRatio: 2,
|
|
handleComponent: {
|
|
left: Object(external_wp_element_["createElement"])(ResizeHandle, {
|
|
direction: "left",
|
|
resizeWidthBy: resizeWidthBy
|
|
}),
|
|
right: Object(external_wp_element_["createElement"])(ResizeHandle, {
|
|
direction: "right",
|
|
resizeWidthBy: resizeWidthBy
|
|
})
|
|
},
|
|
handleClasses: undefined,
|
|
handleStyles: {
|
|
left: HANDLE_STYLES_OVERRIDE,
|
|
right: HANDLE_STYLES_OVERRIDE
|
|
}
|
|
}, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__unstableIframe"], Object(esm_extends["a" /* default */])({
|
|
style: enableResizing ? undefined : deviceStyles,
|
|
head: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__unstableEditorStyles"], {
|
|
styles: settings.styles
|
|
}), Object(external_wp_element_["createElement"])("style", null, // Forming a "block formatting context" to prevent margin collapsing.
|
|
// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
|
|
`.edit-site-block-editor__block-list { display: flow-root; }`)),
|
|
ref: ref,
|
|
name: "editor-canvas",
|
|
className: "edit-site-visual-editor__editor-canvas"
|
|
}, props)));
|
|
}
|
|
|
|
/* harmony default export */ var resizable_editor = (ResizableEditor);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/block-editor/index.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const LAYOUT = {
|
|
type: 'default',
|
|
// At the root level of the site editor, no alignments should be allowed.
|
|
alignments: []
|
|
};
|
|
function BlockEditor(_ref) {
|
|
let {
|
|
setIsInserterOpen
|
|
} = _ref;
|
|
const {
|
|
settings,
|
|
templateType,
|
|
templateId,
|
|
page
|
|
} = Object(external_wp_data_["useSelect"])(select => {
|
|
const {
|
|
getSettings,
|
|
getEditedPostType,
|
|
getEditedPostId,
|
|
getPage
|
|
} = select(store);
|
|
return {
|
|
settings: getSettings(setIsInserterOpen),
|
|
templateType: getEditedPostType(),
|
|
templateId: getEditedPostId(),
|
|
page: getPage()
|
|
};
|
|
}, [setIsInserterOpen]);
|
|
const [blocks, onInput, onChange] = Object(external_wp_coreData_["useEntityBlockEditor"])('postType', templateType);
|
|
const {
|
|
setPage
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
const contentRef = Object(external_wp_element_["useRef"])();
|
|
const mergedRefs = Object(external_wp_compose_["useMergeRefs"])([contentRef, Object(external_wp_blockEditor_["__unstableUseTypingObserver"])()]);
|
|
const isMobileViewport = Object(external_wp_compose_["useViewportMatch"])('small', '<');
|
|
const {
|
|
clearSelectedBlock
|
|
} = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]);
|
|
const isTemplatePart = templateType === 'wp_template_part';
|
|
return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockEditorProvider"], {
|
|
settings: settings,
|
|
value: blocks,
|
|
onInput: onInput,
|
|
onChange: onChange,
|
|
useSubRegistry: false
|
|
}, Object(external_wp_element_["createElement"])(EditTemplatePartMenuButton, null), Object(external_wp_element_["createElement"])(TemplatePartConverter, null), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalLinkControl"].ViewerFill, null, Object(external_wp_element_["useCallback"])(fillProps => Object(external_wp_element_["createElement"])(NavigateToLink, Object(esm_extends["a" /* default */])({}, fillProps, {
|
|
activePage: page,
|
|
onActivePageChange: setPage
|
|
})), [page])), Object(external_wp_element_["createElement"])(SidebarInspectorFill, null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockInspector"], null)), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockTools"], {
|
|
className: classnames_default()('edit-site-visual-editor', {
|
|
'is-focus-mode': isTemplatePart
|
|
}),
|
|
__unstableContentRef: contentRef,
|
|
onClick: event => {
|
|
// Clear selected block when clicking on the gray background.
|
|
if (event.target === event.currentTarget) {
|
|
clearSelectedBlock();
|
|
}
|
|
}
|
|
}, Object(external_wp_element_["createElement"])(back_button, null), Object(external_wp_element_["createElement"])(resizable_editor // Reinitialize the editor and reset the states when the template changes.
|
|
, {
|
|
key: templateId,
|
|
enableResizing: isTemplatePart && // Disable resizing in mobile viewport.
|
|
!isMobileViewport,
|
|
settings: settings,
|
|
contentRef: mergedRefs
|
|
}, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockList"], {
|
|
className: "edit-site-block-editor__block-list wp-site-blocks",
|
|
__experimentalLayout: LAYOUT
|
|
})), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__unstableBlockSettingsMenuFirstItem"], null, _ref2 => {
|
|
let {
|
|
onClose
|
|
} = _ref2;
|
|
return Object(external_wp_element_["createElement"])(BlockInspectorButton, {
|
|
onClick: onClose
|
|
});
|
|
})));
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/keyboard-shortcuts/index.js
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
function KeyboardShortcuts(_ref) {
|
|
let {
|
|
openEntitiesSavedStates
|
|
} = _ref;
|
|
const {
|
|
__experimentalGetDirtyEntityRecords,
|
|
isSavingEntityRecord
|
|
} = Object(external_wp_data_["useSelect"])(external_wp_coreData_["store"]);
|
|
const isListViewOpen = Object(external_wp_data_["useSelect"])(select => select(store).isListViewOpened(), []);
|
|
const isBlockInspectorOpen = Object(external_wp_data_["useSelect"])(select => select(build_module["i" /* store */]).getActiveComplementaryArea(store.name) === SIDEBAR_BLOCK, []);
|
|
const {
|
|
redo,
|
|
undo
|
|
} = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]);
|
|
const {
|
|
setIsListViewOpened
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
const {
|
|
enableComplementaryArea,
|
|
disableComplementaryArea
|
|
} = Object(external_wp_data_["useDispatch"])(build_module["i" /* store */]);
|
|
Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-site/save', event => {
|
|
event.preventDefault();
|
|
|
|
const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
|
|
|
|
const isDirty = !!dirtyEntityRecords.length;
|
|
const isSaving = dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key));
|
|
|
|
if (!isSaving && isDirty) {
|
|
openEntitiesSavedStates();
|
|
}
|
|
});
|
|
Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-site/undo', event => {
|
|
undo();
|
|
event.preventDefault();
|
|
});
|
|
Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-site/redo', event => {
|
|
redo();
|
|
event.preventDefault();
|
|
});
|
|
Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-site/toggle-list-view', () => {
|
|
setIsListViewOpened(!isListViewOpen);
|
|
});
|
|
Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-site/toggle-block-settings-sidebar', event => {
|
|
// This shortcut has no known clashes, but use preventDefault to prevent any
|
|
// obscure shortcuts from triggering.
|
|
event.preventDefault();
|
|
|
|
if (isBlockInspectorOpen) {
|
|
disableComplementaryArea(STORE_NAME);
|
|
} else {
|
|
enableComplementaryArea(STORE_NAME, SIDEBAR_BLOCK);
|
|
}
|
|
});
|
|
return null;
|
|
}
|
|
|
|
function KeyboardShortcutsRegister() {
|
|
// Registering the shortcuts
|
|
const {
|
|
registerShortcut
|
|
} = Object(external_wp_data_["useDispatch"])(external_wp_keyboardShortcuts_["store"]);
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
registerShortcut({
|
|
name: 'core/edit-site/save',
|
|
category: 'global',
|
|
description: Object(external_wp_i18n_["__"])('Save your changes.'),
|
|
keyCombination: {
|
|
modifier: 'primary',
|
|
character: 's'
|
|
}
|
|
});
|
|
registerShortcut({
|
|
name: 'core/edit-site/undo',
|
|
category: 'global',
|
|
description: Object(external_wp_i18n_["__"])('Undo your last changes.'),
|
|
keyCombination: {
|
|
modifier: 'primary',
|
|
character: 'z'
|
|
}
|
|
});
|
|
registerShortcut({
|
|
name: 'core/edit-site/redo',
|
|
category: 'global',
|
|
description: Object(external_wp_i18n_["__"])('Redo your last undo.'),
|
|
keyCombination: {
|
|
modifier: 'primaryShift',
|
|
character: 'z'
|
|
}
|
|
});
|
|
registerShortcut({
|
|
name: 'core/edit-site/toggle-list-view',
|
|
category: 'global',
|
|
description: Object(external_wp_i18n_["__"])('Open the block list view.'),
|
|
keyCombination: {
|
|
modifier: 'access',
|
|
character: 'o'
|
|
}
|
|
});
|
|
registerShortcut({
|
|
name: 'core/edit-site/toggle-block-settings-sidebar',
|
|
category: 'global',
|
|
description: Object(external_wp_i18n_["__"])('Show or hide the block settings sidebar.'),
|
|
keyCombination: {
|
|
modifier: 'primaryShift',
|
|
character: ','
|
|
}
|
|
});
|
|
}, [registerShortcut]);
|
|
return null;
|
|
}
|
|
|
|
KeyboardShortcuts.Register = KeyboardShortcutsRegister;
|
|
/* harmony default export */ var keyboard_shortcuts = (KeyboardShortcuts);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/url-query-controller/index.js
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
function URLQueryController() {
|
|
const {
|
|
setTemplate,
|
|
setTemplatePart,
|
|
showHomepage,
|
|
setPage
|
|
} = Object(external_wp_data_["useDispatch"])(store); // Set correct entity on load.
|
|
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
const url = window.location.href;
|
|
const postId = Object(external_wp_url_["getQueryArg"])(url, 'postId');
|
|
|
|
if (!postId) {
|
|
showHomepage();
|
|
return;
|
|
}
|
|
|
|
const postType = Object(external_wp_url_["getQueryArg"])(url, 'postType');
|
|
|
|
if ('page' === postType || 'post' === postType) {
|
|
setPage({
|
|
context: {
|
|
postType,
|
|
postId
|
|
}
|
|
}); // Resolves correct template based on ID.
|
|
} else if ('wp_template' === postType) {
|
|
setTemplate(postId);
|
|
} else if ('wp_template_part' === postType) {
|
|
setTemplatePart(postId);
|
|
} else {
|
|
showHomepage();
|
|
}
|
|
}, []); // Update page URL when context changes.
|
|
|
|
const pageContext = useCurrentPageContext();
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
const newUrl = pageContext ? Object(external_wp_url_["addQueryArgs"])(window.location.href, pageContext) : Object(external_wp_url_["removeQueryArgs"])(window.location.href, 'postType', 'postId');
|
|
window.history.replaceState({}, '', newUrl);
|
|
}, [pageContext]);
|
|
return null;
|
|
}
|
|
|
|
function useCurrentPageContext() {
|
|
return Object(external_wp_data_["useSelect"])(select => {
|
|
var _page$context, _page$context2;
|
|
|
|
const {
|
|
getEditedPostType,
|
|
getEditedPostId,
|
|
getPage
|
|
} = select(store);
|
|
const page = getPage();
|
|
|
|
let _postId = getEditedPostId(),
|
|
_postType = getEditedPostType(); // This doesn't seem right to me,
|
|
// we shouldn't be using the "page" and the "template" in the same way.
|
|
// This need to be investigated.
|
|
|
|
|
|
if (page !== null && page !== void 0 && (_page$context = page.context) !== null && _page$context !== void 0 && _page$context.postId && page !== null && page !== void 0 && (_page$context2 = page.context) !== null && _page$context2 !== void 0 && _page$context2.postType) {
|
|
_postId = page.context.postId;
|
|
_postType = page.context.postType;
|
|
}
|
|
|
|
if (_postId && _postType) {
|
|
return {
|
|
postId: _postId,
|
|
postType: _postType
|
|
};
|
|
}
|
|
|
|
return null;
|
|
}, []);
|
|
}
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
|
|
var library_close = __webpack_require__("w95h");
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/secondary-sidebar/inserter-sidebar.js
|
|
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
function InserterSidebar() {
|
|
const {
|
|
setIsInserterOpened
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
const insertionPoint = Object(external_wp_data_["useSelect"])(select => select(store).__experimentalGetInsertionPoint(), []);
|
|
const isMobile = Object(external_wp_compose_["useViewportMatch"])('medium', '<');
|
|
const [inserterDialogRef, inserterDialogProps] = Object(external_wp_compose_["__experimentalUseDialog"])({
|
|
onClose: () => setIsInserterOpened(false)
|
|
});
|
|
return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({
|
|
ref: inserterDialogRef
|
|
}, inserterDialogProps, {
|
|
className: "edit-site-editor__inserter-panel"
|
|
}), Object(external_wp_element_["createElement"])("div", {
|
|
className: "edit-site-editor__inserter-panel-header"
|
|
}, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
|
|
icon: library_close["a" /* default */],
|
|
onClick: () => setIsInserterOpened(false)
|
|
})), Object(external_wp_element_["createElement"])("div", {
|
|
className: "edit-site-editor__inserter-panel-content"
|
|
}, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalLibrary"], {
|
|
showInserterHelpPanel: true,
|
|
shouldFocusBlock: isMobile,
|
|
rootClientId: insertionPoint.rootClientId,
|
|
__experimentalInsertionIndex: insertionPoint.insertionIndex,
|
|
__experimentalFilterValue: insertionPoint.filterValue
|
|
})));
|
|
}
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js
|
|
var close_small = __webpack_require__("bWcr");
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/secondary-sidebar/list-view-sidebar.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
function ListViewSidebar() {
|
|
const {
|
|
setIsListViewOpened
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
const {
|
|
clearSelectedBlock,
|
|
selectBlock
|
|
} = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]);
|
|
|
|
async function selectEditorBlock(clientId) {
|
|
await clearSelectedBlock();
|
|
selectBlock(clientId, -1);
|
|
}
|
|
|
|
const focusOnMountRef = Object(external_wp_compose_["useFocusOnMount"])('firstElement');
|
|
const focusReturnRef = Object(external_wp_compose_["useFocusReturn"])();
|
|
|
|
function closeOnEscape(event) {
|
|
if (event.keyCode === external_wp_keycodes_["ESCAPE"] && !event.defaultPrevented) {
|
|
setIsListViewOpened(false);
|
|
}
|
|
}
|
|
|
|
const instanceId = Object(external_wp_compose_["useInstanceId"])(ListViewSidebar);
|
|
const labelId = `edit-site-editor__list-view-panel-label-${instanceId}`;
|
|
return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
Object(external_wp_element_["createElement"])("div", {
|
|
"aria-labelledby": labelId,
|
|
className: "edit-site-editor__list-view-panel",
|
|
onKeyDown: closeOnEscape
|
|
}, Object(external_wp_element_["createElement"])("div", {
|
|
className: "edit-site-editor__list-view-panel-header"
|
|
}, Object(external_wp_element_["createElement"])("strong", {
|
|
id: labelId
|
|
}, Object(external_wp_i18n_["__"])('List view')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
|
|
icon: close_small["a" /* default */],
|
|
label: Object(external_wp_i18n_["__"])('Close list view sidebar'),
|
|
onClick: () => setIsListViewOpened(false)
|
|
})), Object(external_wp_element_["createElement"])("div", {
|
|
className: "edit-site-editor__list-view-panel-content",
|
|
ref: Object(external_wp_compose_["useMergeRefs"])([focusReturnRef, focusOnMountRef])
|
|
}, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalListView"], {
|
|
onSelect: selectEditorBlock,
|
|
showNestedBlocks: true,
|
|
__experimentalFeatures: true,
|
|
__experimentalPersistentListViewFeatures: true
|
|
})))
|
|
);
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/error-boundary/index.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function CopyButton(_ref) {
|
|
let {
|
|
text,
|
|
children
|
|
} = _ref;
|
|
const ref = Object(external_wp_compose_["useCopyToClipboard"])(text);
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
|
|
variant: "secondary",
|
|
ref: ref
|
|
}, children);
|
|
}
|
|
|
|
class error_boundary_ErrorBoundary extends external_wp_element_["Component"] {
|
|
constructor() {
|
|
super(...arguments);
|
|
this.reboot = this.reboot.bind(this);
|
|
this.state = {
|
|
error: null
|
|
};
|
|
}
|
|
|
|
static getDerivedStateFromError(error) {
|
|
return {
|
|
error
|
|
};
|
|
}
|
|
|
|
reboot() {
|
|
this.props.onError();
|
|
}
|
|
|
|
render() {
|
|
const {
|
|
error
|
|
} = this.state;
|
|
|
|
if (!error) {
|
|
return this.props.children;
|
|
}
|
|
|
|
return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], {
|
|
className: "editor-error-boundary",
|
|
actions: [Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
|
|
key: "recovery",
|
|
onClick: this.reboot,
|
|
variant: "secondary"
|
|
}, Object(external_wp_i18n_["__"])('Attempt Recovery')), Object(external_wp_element_["createElement"])(CopyButton, {
|
|
key: "copy-error",
|
|
text: error.stack
|
|
}, Object(external_wp_i18n_["__"])('Copy Error'))]
|
|
}, Object(external_wp_i18n_["__"])('The editor has encountered an unexpected error.'));
|
|
}
|
|
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/editor/global-styles-renderer.js
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
function useGlobalStylesRenderer() {
|
|
const [styles, settings] = useGlobalStylesOutput();
|
|
const {
|
|
getSettings
|
|
} = Object(external_wp_data_["useSelect"])(store);
|
|
const {
|
|
updateSettings
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
var _currentStoreSettings;
|
|
|
|
if (!styles || !settings) {
|
|
return;
|
|
}
|
|
|
|
const currentStoreSettings = getSettings();
|
|
const nonGlobalStyles = currentStoreSettings === null || currentStoreSettings === void 0 ? void 0 : (_currentStoreSettings = currentStoreSettings.styles) === null || _currentStoreSettings === void 0 ? void 0 : _currentStoreSettings.filter(style => !style.isGlobalStyles);
|
|
updateSettings({ ...currentStoreSettings,
|
|
styles: [...nonGlobalStyles, ...styles],
|
|
__experimentalFeatures: settings
|
|
});
|
|
}, [styles, settings]);
|
|
}
|
|
|
|
function GlobalStylesRenderer() {
|
|
useGlobalStylesRenderer();
|
|
return null;
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/global-styles-provider.js
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
function mergeTreesCustomizer(_, srcValue) {
|
|
// We only pass as arrays the presets,
|
|
// in which case we want the new array of values
|
|
// to override the old array (no merging).
|
|
if (Array.isArray(srcValue)) {
|
|
return srcValue;
|
|
}
|
|
}
|
|
|
|
function mergeBaseAndUserConfigs(base, user) {
|
|
return Object(external_lodash_["mergeWith"])({}, base, user, mergeTreesCustomizer);
|
|
}
|
|
|
|
function addUserOriginToSettings(settingsToAdd) {
|
|
const newSettings = Object(external_lodash_["cloneDeep"])(settingsToAdd);
|
|
PRESET_METADATA.forEach(_ref => {
|
|
let {
|
|
path
|
|
} = _ref;
|
|
const presetData = Object(external_lodash_["get"])(newSettings, path);
|
|
|
|
if (presetData) {
|
|
Object(external_lodash_["set"])(newSettings, path, {
|
|
user: presetData
|
|
});
|
|
}
|
|
});
|
|
return newSettings;
|
|
}
|
|
|
|
function removeUserOriginFromSettings(settingsToRemove) {
|
|
const newSettings = Object(external_lodash_["cloneDeep"])(settingsToRemove);
|
|
PRESET_METADATA.forEach(_ref2 => {
|
|
let {
|
|
path
|
|
} = _ref2;
|
|
const presetData = Object(external_lodash_["get"])(newSettings, path);
|
|
|
|
if (presetData) {
|
|
Object(external_lodash_["set"])(newSettings, path, (presetData !== null && presetData !== void 0 ? presetData : {}).user);
|
|
}
|
|
});
|
|
return newSettings;
|
|
}
|
|
|
|
const cleanEmptyObject = object => {
|
|
if (!Object(external_lodash_["isObject"])(object) || Array.isArray(object)) {
|
|
return object;
|
|
}
|
|
|
|
const cleanedNestedObjects = Object(external_lodash_["pickBy"])(Object(external_lodash_["mapValues"])(object, cleanEmptyObject), external_lodash_["identity"]);
|
|
return Object(external_lodash_["isEmpty"])(cleanedNestedObjects) ? undefined : cleanedNestedObjects;
|
|
};
|
|
|
|
function useGlobalStylesUserConfig() {
|
|
const {
|
|
globalStylesId,
|
|
settings,
|
|
styles
|
|
} = Object(external_wp_data_["useSelect"])(select => {
|
|
const _globalStylesId = select(external_wp_coreData_["store"]).__experimentalGetCurrentGlobalStylesId();
|
|
|
|
const record = _globalStylesId ? select(external_wp_coreData_["store"]).getEditedEntityRecord('root', 'globalStyles', _globalStylesId) : undefined;
|
|
return {
|
|
globalStylesId: _globalStylesId,
|
|
settings: record === null || record === void 0 ? void 0 : record.settings,
|
|
styles: record === null || record === void 0 ? void 0 : record.styles
|
|
};
|
|
}, []);
|
|
const {
|
|
getEditedEntityRecord
|
|
} = Object(external_wp_data_["useSelect"])(external_wp_coreData_["store"]);
|
|
const {
|
|
editEntityRecord
|
|
} = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]);
|
|
const config = Object(external_wp_element_["useMemo"])(() => {
|
|
return {
|
|
settings: addUserOriginToSettings(settings !== null && settings !== void 0 ? settings : {}),
|
|
styles: styles !== null && styles !== void 0 ? styles : {}
|
|
};
|
|
}, [settings, styles]);
|
|
const setConfig = Object(external_wp_element_["useCallback"])(callback => {
|
|
var _record$styles, _record$settings;
|
|
|
|
const record = getEditedEntityRecord('root', 'globalStyles', globalStylesId);
|
|
const currentConfig = {
|
|
styles: (_record$styles = record === null || record === void 0 ? void 0 : record.styles) !== null && _record$styles !== void 0 ? _record$styles : {},
|
|
settings: addUserOriginToSettings((_record$settings = record === null || record === void 0 ? void 0 : record.settings) !== null && _record$settings !== void 0 ? _record$settings : {})
|
|
};
|
|
const updatedConfig = callback(currentConfig);
|
|
editEntityRecord('root', 'globalStyles', globalStylesId, {
|
|
styles: cleanEmptyObject(updatedConfig.styles) || {},
|
|
settings: cleanEmptyObject(removeUserOriginFromSettings(updatedConfig.settings)) || {}
|
|
});
|
|
}, [globalStylesId]);
|
|
return [!!settings || !!styles, config, setConfig];
|
|
}
|
|
|
|
function useGlobalStylesBaseConfig() {
|
|
const baseConfig = Object(external_wp_data_["useSelect"])(select => {
|
|
return select(external_wp_coreData_["store"]).__experimentalGetCurrentThemeBaseGlobalStyles();
|
|
}, []);
|
|
return baseConfig;
|
|
}
|
|
|
|
function useGlobalStylesContext() {
|
|
const [isUserConfigReady, userConfig, setUserConfig] = useGlobalStylesUserConfig();
|
|
const baseConfig = useGlobalStylesBaseConfig();
|
|
const mergedConfig = Object(external_wp_element_["useMemo"])(() => {
|
|
if (!baseConfig || !userConfig) {
|
|
return {};
|
|
}
|
|
|
|
return mergeBaseAndUserConfigs(baseConfig, userConfig);
|
|
}, [userConfig, baseConfig]);
|
|
const context = Object(external_wp_element_["useMemo"])(() => {
|
|
return {
|
|
isReady: isUserConfigReady,
|
|
user: userConfig,
|
|
base: baseConfig,
|
|
merged: mergedConfig,
|
|
setUserConfig
|
|
};
|
|
}, [mergedConfig, userConfig, baseConfig, setUserConfig, isUserConfigReady]);
|
|
return context;
|
|
}
|
|
|
|
function GlobalStylesProvider(_ref3) {
|
|
let {
|
|
children
|
|
} = _ref3;
|
|
const context = useGlobalStylesContext();
|
|
|
|
if (!context.isReady) {
|
|
return null;
|
|
}
|
|
|
|
return Object(external_wp_element_["createElement"])(GlobalStylesContext.Provider, {
|
|
value: context
|
|
}, children);
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/editor/index.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const interfaceLabels = {
|
|
secondarySidebar: Object(external_wp_i18n_["__"])('Block Library')
|
|
};
|
|
|
|
function Editor(_ref) {
|
|
let {
|
|
initialSettings,
|
|
onError
|
|
} = _ref;
|
|
const {
|
|
isInserterOpen,
|
|
isListViewOpen,
|
|
sidebarIsOpened,
|
|
settings,
|
|
entityId,
|
|
templateType,
|
|
page,
|
|
template,
|
|
templateResolved,
|
|
isNavigationOpen
|
|
} = Object(external_wp_data_["useSelect"])(select => {
|
|
const {
|
|
isInserterOpened,
|
|
isListViewOpened,
|
|
getSettings,
|
|
getEditedPostType,
|
|
getEditedPostId,
|
|
getPage,
|
|
isNavigationOpened
|
|
} = select(store);
|
|
const {
|
|
hasFinishedResolution,
|
|
getEntityRecord
|
|
} = select(external_wp_coreData_["store"]);
|
|
const postType = getEditedPostType();
|
|
const postId = getEditedPostId(); // The currently selected entity to display. Typically template or template part.
|
|
|
|
return {
|
|
isInserterOpen: isInserterOpened(),
|
|
isListViewOpen: isListViewOpened(),
|
|
sidebarIsOpened: !!select(build_module["i" /* store */]).getActiveComplementaryArea(store.name),
|
|
settings: getSettings(),
|
|
templateType: postType,
|
|
page: getPage(),
|
|
template: postId ? getEntityRecord('postType', postType, postId) : null,
|
|
templateResolved: postId ? hasFinishedResolution('getEntityRecord', ['postType', postType, postId]) : false,
|
|
entityId: postId,
|
|
isNavigationOpen: isNavigationOpened()
|
|
};
|
|
}, []);
|
|
const {
|
|
updateEditorSettings
|
|
} = Object(external_wp_data_["useDispatch"])(external_wp_editor_["store"]);
|
|
const {
|
|
setPage,
|
|
setIsInserterOpened,
|
|
updateSettings
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
const {
|
|
enableComplementaryArea
|
|
} = Object(external_wp_data_["useDispatch"])(build_module["i" /* store */]);
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
updateSettings(initialSettings);
|
|
}, []); // Keep the defaultTemplateTypes in the core/editor settings too,
|
|
// so that they can be selected with core/editor selectors in any editor.
|
|
// This is needed because edit-site doesn't initialize with EditorProvider,
|
|
// which internally uses updateEditorSettings as well.
|
|
|
|
const {
|
|
defaultTemplateTypes,
|
|
defaultTemplatePartAreas
|
|
} = settings;
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
updateEditorSettings({
|
|
defaultTemplateTypes,
|
|
defaultTemplatePartAreas
|
|
});
|
|
}, [defaultTemplateTypes, defaultTemplatePartAreas]);
|
|
const [isEntitiesSavedStatesOpen, setIsEntitiesSavedStatesOpen] = Object(external_wp_element_["useState"])(false);
|
|
const openEntitiesSavedStates = Object(external_wp_element_["useCallback"])(() => setIsEntitiesSavedStatesOpen(true), []);
|
|
const closeEntitiesSavedStates = Object(external_wp_element_["useCallback"])(() => {
|
|
setIsEntitiesSavedStatesOpen(false);
|
|
}, []);
|
|
const blockContext = Object(external_wp_element_["useMemo"])(() => ({ ...(page === null || page === void 0 ? void 0 : page.context),
|
|
queryContext: [(page === null || page === void 0 ? void 0 : page.context.queryContext) || {
|
|
page: 1
|
|
}, newQueryContext => setPage({ ...page,
|
|
context: { ...(page === null || page === void 0 ? void 0 : page.context),
|
|
queryContext: { ...(page === null || page === void 0 ? void 0 : page.context.queryContext),
|
|
...newQueryContext
|
|
}
|
|
}
|
|
})]
|
|
}), [page === null || page === void 0 ? void 0 : page.context]);
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
if (isNavigationOpen) {
|
|
document.body.classList.add('is-navigation-sidebar-open');
|
|
} else {
|
|
document.body.classList.remove('is-navigation-sidebar-open');
|
|
}
|
|
}, [isNavigationOpen]);
|
|
Object(external_wp_element_["useEffect"])(function openGlobalStylesOnLoad() {
|
|
const searchParams = new URLSearchParams(window.location.search);
|
|
|
|
if (searchParams.get('styles') === 'open') {
|
|
enableComplementaryArea('core/edit-site', 'edit-site/global-styles');
|
|
}
|
|
}, [enableComplementaryArea]); // Don't render the Editor until the settings are set and loaded
|
|
|
|
const isReady = (settings === null || settings === void 0 ? void 0 : settings.siteUrl) && templateType !== undefined && entityId !== undefined;
|
|
|
|
const secondarySidebar = () => {
|
|
if (isInserterOpen) {
|
|
return Object(external_wp_element_["createElement"])(InserterSidebar, null);
|
|
}
|
|
|
|
if (isListViewOpen) {
|
|
return Object(external_wp_element_["createElement"])(ListViewSidebar, null);
|
|
}
|
|
|
|
return null;
|
|
};
|
|
|
|
return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(URLQueryController, null), isReady && Object(external_wp_element_["createElement"])(external_wp_keyboardShortcuts_["ShortcutProvider"], null, Object(external_wp_element_["createElement"])(external_wp_components_["SlotFillProvider"], null, Object(external_wp_element_["createElement"])(external_wp_coreData_["EntityProvider"], {
|
|
kind: "root",
|
|
type: "site"
|
|
}, Object(external_wp_element_["createElement"])(external_wp_coreData_["EntityProvider"], {
|
|
kind: "postType",
|
|
type: templateType,
|
|
id: entityId
|
|
}, Object(external_wp_element_["createElement"])(GlobalStylesProvider, null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockContextProvider"], {
|
|
value: blockContext
|
|
}, Object(external_wp_element_["createElement"])(GlobalStylesRenderer, null), Object(external_wp_element_["createElement"])(error_boundary_ErrorBoundary, {
|
|
onError: onError
|
|
}, Object(external_wp_element_["createElement"])(build_module["d" /* FullscreenMode */], {
|
|
isActive: true
|
|
}), Object(external_wp_element_["createElement"])(external_wp_editor_["UnsavedChangesWarning"], null), Object(external_wp_element_["createElement"])(keyboard_shortcuts.Register, null), Object(external_wp_element_["createElement"])(SidebarComplementaryAreaFills, null), Object(external_wp_element_["createElement"])(build_module["e" /* InterfaceSkeleton */], {
|
|
labels: interfaceLabels,
|
|
secondarySidebar: secondarySidebar(),
|
|
sidebar: sidebarIsOpened && Object(external_wp_element_["createElement"])(build_module["b" /* ComplementaryArea */].Slot, {
|
|
scope: "core/edit-site"
|
|
}),
|
|
header: Object(external_wp_element_["createElement"])(Header, {
|
|
openEntitiesSavedStates: openEntitiesSavedStates
|
|
}),
|
|
notices: Object(external_wp_element_["createElement"])(external_wp_editor_["EditorSnackbars"], null),
|
|
content: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_editor_["EditorNotices"], null), template && Object(external_wp_element_["createElement"])(BlockEditor, {
|
|
setIsInserterOpen: setIsInserterOpened
|
|
}), templateResolved && !template && (settings === null || settings === void 0 ? void 0 : settings.siteUrl) && entityId && Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], {
|
|
status: "warning",
|
|
isDismissible: false
|
|
}, Object(external_wp_i18n_["__"])("You attempted to edit an item that doesn't exist. Perhaps it was deleted?")), Object(external_wp_element_["createElement"])(keyboard_shortcuts, {
|
|
openEntitiesSavedStates: openEntitiesSavedStates
|
|
})),
|
|
actions: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, isEntitiesSavedStatesOpen ? Object(external_wp_element_["createElement"])(external_wp_editor_["EntitiesSavedStates"], {
|
|
close: closeEntitiesSavedStates
|
|
}) : Object(external_wp_element_["createElement"])("div", {
|
|
className: "edit-site-editor__toggle-save-panel"
|
|
}, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
|
|
variant: "secondary",
|
|
className: "edit-site-editor__toggle-save-panel-button",
|
|
onClick: openEntitiesSavedStates,
|
|
"aria-expanded": false
|
|
}, Object(external_wp_i18n_["__"])('Open save panel')))),
|
|
footer: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockBreadcrumb"], null)
|
|
}), Object(external_wp_element_["createElement"])(external_wp_components_["Popover"].Slot, null), Object(external_wp_element_["createElement"])(external_wp_plugins_["PluginArea"], null)))))))));
|
|
}
|
|
|
|
/* harmony default export */ var editor = (Editor);
|
|
|
|
// 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,
|
|
isOpen
|
|
} = _ref;
|
|
const {
|
|
isRequestingSiteIcon,
|
|
navigationPanelMenu,
|
|
siteIconUrl
|
|
} = Object(external_wp_data_["useSelect"])(select => {
|
|
const {
|
|
getCurrentTemplateNavigationPanelSubMenu
|
|
} = select(store);
|
|
const {
|
|
getEntityRecord,
|
|
isResolving
|
|
} = select(external_wp_coreData_["store"]);
|
|
const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
|
|
return {
|
|
isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
|
|
navigationPanelMenu: getCurrentTemplateNavigationPanelSubMenu(),
|
|
siteIconUrl: siteData.site_icon_url
|
|
};
|
|
}, []);
|
|
const {
|
|
openNavigationPanelToMenu,
|
|
setIsNavigationPanelOpened
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
const disableMotion = Object(external_wp_compose_["useReducedMotion"])();
|
|
|
|
const toggleNavigationPanel = () => {
|
|
if (isOpen) {
|
|
setIsNavigationPanelOpened(false);
|
|
return;
|
|
}
|
|
|
|
openNavigationPanelToMenu(navigationPanelMenu);
|
|
};
|
|
|
|
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' + (isOpen ? ' 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'),
|
|
onClick: toggleNavigationPanel,
|
|
showTooltip: true
|
|
}, buttonIcon));
|
|
}
|
|
|
|
/* harmony default export */ var navigation_toggle = (NavigationToggle);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar/plugin-sidebar/index.js
|
|
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/**
|
|
* Renders a sidebar when activated. The contents within the `PluginSidebar` will appear as content within the sidebar.
|
|
* It also automatically renders a corresponding `PluginSidebarMenuItem` component when `isPinnable` flag is set to `true`.
|
|
* If you wish to display the sidebar, you can with use the `PluginSidebarMoreMenuItem` component or the `wp.data.dispatch` API:
|
|
*
|
|
* ```js
|
|
* wp.data.dispatch( 'core/edit-site' ).openGeneralSidebar( 'plugin-name/sidebar-name' );
|
|
* ```
|
|
*
|
|
* @see PluginSidebarMoreMenuItem
|
|
*
|
|
* @param {Object} props Element props.
|
|
* @param {string} props.name A string identifying the sidebar. Must be unique for every sidebar registered within the scope of your plugin.
|
|
* @param {string} [props.className] An optional class name added to the sidebar body.
|
|
* @param {string} props.title Title displayed at the top of the sidebar.
|
|
* @param {boolean} [props.isPinnable=true] Whether to allow to pin sidebar to the toolbar. When set to `true` it also automatically renders a corresponding menu item.
|
|
* @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.
|
|
*
|
|
* @example
|
|
* ```js
|
|
* // Using ES5 syntax
|
|
* var __ = wp.i18n.__;
|
|
* var el = wp.element.createElement;
|
|
* var PanelBody = wp.components.PanelBody;
|
|
* var PluginSidebar = wp.editSite.PluginSidebar;
|
|
* var moreIcon = wp.element.createElement( 'svg' ); //... svg element.
|
|
*
|
|
* function MyPluginSidebar() {
|
|
* return el(
|
|
* PluginSidebar,
|
|
* {
|
|
* name: 'my-sidebar',
|
|
* title: 'My sidebar title',
|
|
* icon: moreIcon,
|
|
* },
|
|
* el(
|
|
* PanelBody,
|
|
* {},
|
|
* __( 'My sidebar content' )
|
|
* )
|
|
* );
|
|
* }
|
|
* ```
|
|
*
|
|
* @example
|
|
* ```jsx
|
|
* // Using ESNext syntax
|
|
* import { __ } from '@wordpress/i18n';
|
|
* import { PanelBody } from '@wordpress/components';
|
|
* import { PluginSidebar } from '@wordpress/edit-site';
|
|
* import { more } from '@wordpress/icons';
|
|
*
|
|
* const MyPluginSidebar = () => (
|
|
* <PluginSidebar
|
|
* name="my-sidebar"
|
|
* title="My sidebar title"
|
|
* icon={ more }
|
|
* >
|
|
* <PanelBody>
|
|
* { __( 'My sidebar content' ) }
|
|
* </PanelBody>
|
|
* </PluginSidebar>
|
|
* );
|
|
* ```
|
|
*/
|
|
|
|
function PluginSidebarEditSite(_ref) {
|
|
let {
|
|
className,
|
|
...props
|
|
} = _ref;
|
|
return Object(external_wp_element_["createElement"])(build_module["b" /* ComplementaryArea */], Object(esm_extends["a" /* default */])({
|
|
panelClassName: className,
|
|
className: "edit-site-sidebar",
|
|
scope: "core/edit-site"
|
|
}, props));
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/plugin-sidebar-more-menu-item/index.js
|
|
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/**
|
|
* Renders a menu item in `Plugins` group in `More Menu` drop down,
|
|
* and can be used to activate the corresponding `PluginSidebar` component.
|
|
* The text within the component appears as the menu item label.
|
|
*
|
|
* @param {Object} props Component props.
|
|
* @param {string} props.target A string identifying the target sidebar you wish to be activated by this menu item. Must be the same as the `name` prop you have given to that sidebar.
|
|
* @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered to the left of the menu item label.
|
|
*
|
|
* @example
|
|
* ```js
|
|
* // Using ES5 syntax
|
|
* var __ = wp.i18n.__;
|
|
* var PluginSidebarMoreMenuItem = wp.editSite.PluginSidebarMoreMenuItem;
|
|
* var moreIcon = wp.element.createElement( 'svg' ); //... svg element.
|
|
*
|
|
* function MySidebarMoreMenuItem() {
|
|
* return wp.element.createElement(
|
|
* PluginSidebarMoreMenuItem,
|
|
* {
|
|
* target: 'my-sidebar',
|
|
* icon: moreIcon,
|
|
* },
|
|
* __( 'My sidebar title' )
|
|
* )
|
|
* }
|
|
* ```
|
|
*
|
|
* @example
|
|
* ```jsx
|
|
* // Using ESNext syntax
|
|
* import { __ } from '@wordpress/i18n';
|
|
* import { PluginSidebarMoreMenuItem } from '@wordpress/edit-site';
|
|
* import { more } from '@wordpress/icons';
|
|
*
|
|
* const MySidebarMoreMenuItem = () => (
|
|
* <PluginSidebarMoreMenuItem
|
|
* target="my-sidebar"
|
|
* icon={ more }
|
|
* >
|
|
* { __( 'My sidebar title' ) }
|
|
* </PluginSidebarMoreMenuItem>
|
|
* );
|
|
* ```
|
|
*
|
|
* @return {WPComponent} The component to be rendered.
|
|
*/
|
|
|
|
function PluginSidebarMoreMenuItem(props) {
|
|
return Object(external_wp_element_["createElement"])(build_module["c" /* ComplementaryAreaMoreMenuItem */] // Menu item is marked with unstable prop for backward compatibility.
|
|
// @see https://github.com/WordPress/gutenberg/issues/14457
|
|
, Object(esm_extends["a" /* default */])({
|
|
__unstableExplicitMenuItem: true,
|
|
scope: "core/edit-site"
|
|
}, props));
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/header/plugin-more-menu-item/index.js
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Renders a menu item in `Plugins` group in `More Menu` drop down, and can be used to as a button or link depending on the props provided.
|
|
* The text within the component appears as the menu item label.
|
|
*
|
|
* @param {Object} props Component properties.
|
|
* @param {string} [props.href] When `href` is provided then the menu item is represented as an anchor rather than button. It corresponds to the `href` attribute of the anchor.
|
|
* @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered to the left of the menu item label.
|
|
* @param {Function} [props.onClick=noop] The callback function to be executed when the user clicks the menu item.
|
|
* @param {...*} [props.other] Any additional props are passed through to the underlying [Button](/packages/components/src/button/README.md) component.
|
|
*
|
|
* @example
|
|
* ```js
|
|
* // Using ES5 syntax
|
|
* var __ = wp.i18n.__;
|
|
* var PluginMoreMenuItem = wp.editSite.PluginMoreMenuItem;
|
|
* var moreIcon = wp.element.createElement( 'svg' ); //... svg element.
|
|
*
|
|
* function onButtonClick() {
|
|
* alert( 'Button clicked.' );
|
|
* }
|
|
*
|
|
* function MyButtonMoreMenuItem() {
|
|
* return wp.element.createElement(
|
|
* PluginMoreMenuItem,
|
|
* {
|
|
* icon: moreIcon,
|
|
* onClick: onButtonClick,
|
|
* },
|
|
* __( 'My button title' )
|
|
* );
|
|
* }
|
|
* ```
|
|
*
|
|
* @example
|
|
* ```jsx
|
|
* // Using ESNext syntax
|
|
* import { __ } from '@wordpress/i18n';
|
|
* import { PluginMoreMenuItem } from '@wordpress/edit-site';
|
|
* import { more } from '@wordpress/icons';
|
|
*
|
|
* function onButtonClick() {
|
|
* alert( 'Button clicked.' );
|
|
* }
|
|
*
|
|
* const MyButtonMoreMenuItem = () => (
|
|
* <PluginMoreMenuItem
|
|
* icon={ more }
|
|
* onClick={ onButtonClick }
|
|
* >
|
|
* { __( 'My button title' ) }
|
|
* </PluginMoreMenuItem>
|
|
* );
|
|
* ```
|
|
*
|
|
* @return {WPComponent} The component to be rendered.
|
|
*/
|
|
|
|
/* harmony default export */ var plugin_more_menu_item = (Object(external_wp_compose_["compose"])(Object(external_wp_plugins_["withPluginContext"])((context, ownProps) => {
|
|
return {
|
|
icon: ownProps.icon || context.icon,
|
|
name: 'core/edit-site/plugin-more-menu'
|
|
};
|
|
}))(build_module["a" /* ActionItem */]));
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/index.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Reinitializes the editor after the user chooses to reboot the editor after
|
|
* an unhandled error occurs, replacing previously mounted editor element using
|
|
* an initial state from prior to the crash.
|
|
*
|
|
* @param {Element} target DOM node in which editor is rendered.
|
|
* @param {?Object} settings Editor settings object.
|
|
*/
|
|
|
|
function reinitializeEditor(target, settings) {
|
|
Object(external_wp_element_["unmountComponentAtNode"])(target);
|
|
const reboot = reinitializeEditor.bind(null, target, settings);
|
|
Object(external_wp_element_["render"])(Object(external_wp_element_["createElement"])(editor, {
|
|
initialSettings: settings,
|
|
onError: reboot
|
|
}), target);
|
|
}
|
|
/**
|
|
* Initializes the site editor screen.
|
|
*
|
|
* @param {string} id ID of the root element to render the screen in.
|
|
* @param {Object} settings Editor settings.
|
|
*/
|
|
|
|
function initialize(id, settings) {
|
|
settings.__experimentalFetchLinkSuggestions = (search, searchOptions) => Object(external_wp_coreData_["__experimentalFetchLinkSuggestions"])(search, searchOptions, settings);
|
|
|
|
settings.__experimentalFetchRichUrlData = external_wp_coreData_["__experimentalFetchUrlData"];
|
|
settings.__experimentalSpotlightEntityBlocks = ['core/template-part'];
|
|
const target = document.getElementById(id);
|
|
const reboot = reinitializeEditor.bind(null, target, settings);
|
|
|
|
Object(external_wp_data_["dispatch"])(external_wp_blocks_["store"]).__experimentalReapplyBlockTypeFilters();
|
|
|
|
Object(external_wp_blockLibrary_["registerCoreBlocks"])();
|
|
|
|
if (false) {}
|
|
|
|
Object(external_wp_element_["render"])(Object(external_wp_element_["createElement"])(editor, {
|
|
initialSettings: settings,
|
|
onError: reboot
|
|
}), target);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "K2cm":
|
|
/***/ (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 redo = 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: "M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (redo);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "K9lf":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["compose"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "KEfo":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["viewport"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "Mmq9":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["url"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "NWDH":
|
|
/***/ (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 chevronDown = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
|
|
viewBox: "0 0 24 24",
|
|
xmlns: "http://www.w3.org/2000/svg"
|
|
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
|
|
d: "M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (chevronDown);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "Ntru":
|
|
/***/ (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 undo = 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.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (undo);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "OzlF":
|
|
/***/ (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 listView = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
|
|
viewBox: "0 0 24 24",
|
|
xmlns: "http://www.w3.org/2000/svg"
|
|
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
|
|
d: "M13.8 5.2H3v1.5h10.8V5.2zm-3.6 12v1.5H21v-1.5H10.2zm7.2-6H6.6v1.5h10.8v-1.5z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (listView);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "Q4Sy":
|
|
/***/ (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 plus = 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 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (plus);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "QyPg":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["blockLibrary"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "RMJe":
|
|
/***/ (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 check = 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: "M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (check);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "RxS6":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["keycodes"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "TSYQ":
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
|
Copyright (c) 2018 Jed Watson.
|
|
Licensed under the MIT License (MIT), see
|
|
http://jedwatson.github.io/classnames
|
|
*/
|
|
/* global define */
|
|
|
|
(function () {
|
|
'use strict';
|
|
|
|
var hasOwn = {}.hasOwnProperty;
|
|
|
|
function classNames() {
|
|
var classes = [];
|
|
|
|
for (var i = 0; i < arguments.length; i++) {
|
|
var arg = arguments[i];
|
|
if (!arg) continue;
|
|
|
|
var argType = typeof arg;
|
|
|
|
if (argType === 'string' || argType === 'number') {
|
|
classes.push(arg);
|
|
} else if (Array.isArray(arg)) {
|
|
if (arg.length) {
|
|
var inner = classNames.apply(null, arg);
|
|
if (inner) {
|
|
classes.push(inner);
|
|
}
|
|
}
|
|
} else if (argType === 'object') {
|
|
if (arg.toString === Object.prototype.toString) {
|
|
for (var key in arg) {
|
|
if (hasOwn.call(arg, key) && arg[key]) {
|
|
classes.push(key);
|
|
}
|
|
}
|
|
} else {
|
|
classes.push(arg.toString());
|
|
}
|
|
}
|
|
}
|
|
|
|
return classes.join(' ');
|
|
}
|
|
|
|
if ( true && module.exports) {
|
|
classNames.default = classNames;
|
|
module.exports = classNames;
|
|
} else if (true) {
|
|
// register as 'classnames', consistent with npm package name
|
|
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
|
|
return classNames;
|
|
}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
|
|
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
} else {}
|
|
}());
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "Tqx9":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["primitives"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "TvNi":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["plugins"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "U60i":
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ complementary_area; });
|
|
__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ ComplementaryAreaMoreMenuItem; });
|
|
__webpack_require__.d(__webpack_exports__, "d", function() { return /* reexport */ fullscreen_mode; });
|
|
__webpack_require__.d(__webpack_exports__, "e", function() { return /* reexport */ interface_skeleton; });
|
|
__webpack_require__.d(__webpack_exports__, "h", function() { return /* reexport */ pinned_items; });
|
|
__webpack_require__.d(__webpack_exports__, "f", function() { return /* reexport */ MoreMenuDropdown; });
|
|
__webpack_require__.d(__webpack_exports__, "g", function() { return /* reexport */ MoreMenuFeatureToggle; });
|
|
__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ action_item; });
|
|
__webpack_require__.d(__webpack_exports__, "i", function() { return /* reexport */ store; });
|
|
|
|
// NAMESPACE OBJECT: ./node_modules/@wordpress/interface/build-module/store/actions.js
|
|
var actions_namespaceObject = {};
|
|
__webpack_require__.r(actions_namespaceObject);
|
|
__webpack_require__.d(actions_namespaceObject, "enableComplementaryArea", function() { return actions_enableComplementaryArea; });
|
|
__webpack_require__.d(actions_namespaceObject, "disableComplementaryArea", function() { return actions_disableComplementaryArea; });
|
|
__webpack_require__.d(actions_namespaceObject, "pinItem", function() { return actions_pinItem; });
|
|
__webpack_require__.d(actions_namespaceObject, "unpinItem", function() { return actions_unpinItem; });
|
|
__webpack_require__.d(actions_namespaceObject, "toggleFeature", function() { return actions_toggleFeature; });
|
|
__webpack_require__.d(actions_namespaceObject, "setFeatureValue", function() { return setFeatureValue; });
|
|
__webpack_require__.d(actions_namespaceObject, "setFeatureDefaults", function() { return setFeatureDefaults; });
|
|
|
|
// NAMESPACE OBJECT: ./node_modules/@wordpress/interface/build-module/store/selectors.js
|
|
var selectors_namespaceObject = {};
|
|
__webpack_require__.r(selectors_namespaceObject);
|
|
__webpack_require__.d(selectors_namespaceObject, "getActiveComplementaryArea", function() { return selectors_getActiveComplementaryArea; });
|
|
__webpack_require__.d(selectors_namespaceObject, "isItemPinned", function() { return selectors_isItemPinned; });
|
|
__webpack_require__.d(selectors_namespaceObject, "isFeatureActive", function() { return isFeatureActive; });
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
|
|
var esm_extends = __webpack_require__("wx14");
|
|
|
|
// EXTERNAL MODULE: external ["wp","element"]
|
|
var external_wp_element_ = __webpack_require__("GRId");
|
|
|
|
// EXTERNAL MODULE: ./node_modules/classnames/index.js
|
|
var classnames = __webpack_require__("TSYQ");
|
|
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
|
|
// EXTERNAL MODULE: external ["wp","components"]
|
|
var external_wp_components_ = __webpack_require__("tI+e");
|
|
|
|
// EXTERNAL MODULE: external ["wp","data"]
|
|
var external_wp_data_ = __webpack_require__("1ZqX");
|
|
|
|
// EXTERNAL MODULE: external ["wp","i18n"]
|
|
var external_wp_i18n_ = __webpack_require__("l3Sj");
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js
|
|
var check = __webpack_require__("RMJe");
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/star-filled.js
|
|
var star_filled = __webpack_require__("URob");
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/star-empty.js
|
|
var star_empty = __webpack_require__("Xxwi");
|
|
|
|
// EXTERNAL MODULE: external ["wp","viewport"]
|
|
var external_wp_viewport_ = __webpack_require__("KEfo");
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js
|
|
var close_small = __webpack_require__("bWcr");
|
|
|
|
// EXTERNAL MODULE: external "lodash"
|
|
var external_lodash_ = __webpack_require__("YLtl");
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/reducer.js
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Reducer to keep tract of the active area per scope.
|
|
*
|
|
* @param {boolean} state Previous state.
|
|
* @param {Object} action Action object.
|
|
* @param {string} action.type Action type.
|
|
* @param {string} action.itemType Type of item.
|
|
* @param {string} action.scope Item scope.
|
|
* @param {string} action.item Item name.
|
|
*
|
|
* @return {Object} Updated state.
|
|
*/
|
|
|
|
function singleEnableItems() {
|
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
let {
|
|
type,
|
|
itemType,
|
|
scope,
|
|
item
|
|
} = arguments.length > 1 ? arguments[1] : undefined;
|
|
|
|
if (type !== 'SET_SINGLE_ENABLE_ITEM' || !itemType || !scope) {
|
|
return state;
|
|
}
|
|
|
|
return { ...state,
|
|
[itemType]: { ...state[itemType],
|
|
[scope]: item || null
|
|
}
|
|
};
|
|
}
|
|
/**
|
|
* Reducer keeping track of the "pinned" items per scope.
|
|
*
|
|
* @param {boolean} state Previous state.
|
|
* @param {Object} action Action object.
|
|
* @param {string} action.type Action type.
|
|
* @param {string} action.itemType Type of item.
|
|
* @param {string} action.scope Item scope.
|
|
* @param {string} action.item Item name.
|
|
* @param {boolean} action.isEnable Whether the item is pinned.
|
|
*
|
|
* @return {Object} Updated state.
|
|
*/
|
|
|
|
function multipleEnableItems() {
|
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
let {
|
|
type,
|
|
itemType,
|
|
scope,
|
|
item,
|
|
isEnable
|
|
} = arguments.length > 1 ? arguments[1] : undefined;
|
|
|
|
if (type !== 'SET_MULTIPLE_ENABLE_ITEM' || !itemType || !scope || !item || Object(external_lodash_["get"])(state, [itemType, scope, item]) === isEnable) {
|
|
return state;
|
|
}
|
|
|
|
const currentTypeState = state[itemType] || {};
|
|
const currentScopeState = currentTypeState[scope] || {};
|
|
return { ...state,
|
|
[itemType]: { ...currentTypeState,
|
|
[scope]: { ...currentScopeState,
|
|
[item]: isEnable || false
|
|
}
|
|
}
|
|
};
|
|
}
|
|
/**
|
|
* Reducer returning the defaults for user preferences.
|
|
*
|
|
* This is kept intentionally separate from the preferences
|
|
* themselves so that defaults are not persisted.
|
|
*
|
|
* @param {Object} state Current state.
|
|
* @param {Object} action Dispatched action.
|
|
*
|
|
* @return {Object} Updated state.
|
|
*/
|
|
|
|
const preferenceDefaults = Object(external_wp_data_["combineReducers"])({
|
|
features() {
|
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
|
|
if (action.type === 'SET_FEATURE_DEFAULTS') {
|
|
const {
|
|
scope,
|
|
defaults
|
|
} = action;
|
|
return { ...state,
|
|
[scope]: { ...state[scope],
|
|
...defaults
|
|
}
|
|
};
|
|
}
|
|
|
|
return state;
|
|
}
|
|
|
|
});
|
|
/**
|
|
* 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] : {};
|
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
|
|
if (action.type === 'SET_FEATURE_VALUE') {
|
|
const {
|
|
scope,
|
|
featureName,
|
|
value
|
|
} = action;
|
|
return { ...state,
|
|
[scope]: { ...state[scope],
|
|
[featureName]: value
|
|
}
|
|
};
|
|
}
|
|
|
|
return state;
|
|
}
|
|
|
|
});
|
|
const enableItems = Object(external_wp_data_["combineReducers"])({
|
|
singleEnableItems,
|
|
multipleEnableItems
|
|
});
|
|
/* harmony default export */ var reducer = (Object(external_wp_data_["combineReducers"])({
|
|
enableItems,
|
|
preferenceDefaults,
|
|
preferences
|
|
}));
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/actions.js
|
|
/**
|
|
* Returns an action object used in signalling that an active area should be changed.
|
|
*
|
|
* @param {string} itemType Type of item.
|
|
* @param {string} scope Item scope.
|
|
* @param {string} item Item identifier.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
function setSingleEnableItem(itemType, scope, item) {
|
|
return {
|
|
type: 'SET_SINGLE_ENABLE_ITEM',
|
|
itemType,
|
|
scope,
|
|
item
|
|
};
|
|
}
|
|
/**
|
|
* Returns an action object used in signalling that a complementary item should be enabled.
|
|
*
|
|
* @param {string} scope Complementary area scope.
|
|
* @param {string} area Area identifier.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
|
|
|
|
function actions_enableComplementaryArea(scope, area) {
|
|
return setSingleEnableItem('complementaryArea', scope, area);
|
|
}
|
|
/**
|
|
* Returns an action object used in signalling that the complementary area of a given scope should be disabled.
|
|
*
|
|
* @param {string} scope Complementary area scope.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
|
|
function actions_disableComplementaryArea(scope) {
|
|
return setSingleEnableItem('complementaryArea', scope, undefined);
|
|
}
|
|
/**
|
|
* Returns an action object to make an area enabled/disabled.
|
|
*
|
|
* @param {string} itemType Type of item.
|
|
* @param {string} scope Item scope.
|
|
* @param {string} item Item identifier.
|
|
* @param {boolean} isEnable Boolean indicating if an area should be pinned or not.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
|
|
function setMultipleEnableItem(itemType, scope, item, isEnable) {
|
|
return {
|
|
type: 'SET_MULTIPLE_ENABLE_ITEM',
|
|
itemType,
|
|
scope,
|
|
item,
|
|
isEnable
|
|
};
|
|
}
|
|
/**
|
|
* Returns an action object used in signalling that an item should be pinned.
|
|
*
|
|
* @param {string} scope Item scope.
|
|
* @param {string} itemId Item identifier.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
|
|
|
|
function actions_pinItem(scope, itemId) {
|
|
return setMultipleEnableItem('pinnedItems', scope, itemId, true);
|
|
}
|
|
/**
|
|
* Returns an action object used in signalling that an item should be unpinned.
|
|
*
|
|
* @param {string} scope Item scope.
|
|
* @param {string} itemId Item identifier.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
|
|
function actions_unpinItem(scope, itemId) {
|
|
return setMultipleEnableItem('pinnedItems', scope, itemId, false);
|
|
}
|
|
/**
|
|
* Returns an action object used in signalling that a feature should be toggled.
|
|
*
|
|
* @param {string} scope The feature scope (e.g. core/edit-post).
|
|
* @param {string} featureName The feature name.
|
|
*/
|
|
|
|
function actions_toggleFeature(scope, featureName) {
|
|
return function (_ref) {
|
|
let {
|
|
select,
|
|
dispatch
|
|
} = _ref;
|
|
const currentValue = select.isFeatureActive(scope, featureName);
|
|
dispatch.setFeatureValue(scope, featureName, !currentValue);
|
|
};
|
|
}
|
|
/**
|
|
* Returns an action object used in signalling that a feature should be set to
|
|
* a true or false value
|
|
*
|
|
* @param {string} scope The feature scope (e.g. core/edit-post).
|
|
* @param {string} featureName The feature name.
|
|
* @param {boolean} value The value to set.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
|
|
function setFeatureValue(scope, featureName, value) {
|
|
return {
|
|
type: 'SET_FEATURE_VALUE',
|
|
scope,
|
|
featureName,
|
|
value: !!value
|
|
};
|
|
}
|
|
/**
|
|
* Returns an action object used in signalling that defaults should be set for features.
|
|
*
|
|
* @param {string} scope The feature scope (e.g. core/edit-post).
|
|
* @param {Object<string, boolean>} defaults A key/value map of feature names to values.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
|
|
function setFeatureDefaults(scope, defaults) {
|
|
return {
|
|
type: 'SET_FEATURE_DEFAULTS',
|
|
scope,
|
|
defaults
|
|
};
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/selectors.js
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* Returns the item that is enabled in a given scope.
|
|
*
|
|
* @param {Object} state Global application state.
|
|
* @param {string} itemType Type of item.
|
|
* @param {string} scope Item scope.
|
|
*
|
|
* @return {?string|null} The item that is enabled in the passed scope and type.
|
|
*/
|
|
|
|
function getSingleEnableItem(state, itemType, scope) {
|
|
return Object(external_lodash_["get"])(state.enableItems.singleEnableItems, [itemType, scope]);
|
|
}
|
|
/**
|
|
* Returns the complementary area that is active in a given scope.
|
|
*
|
|
* @param {Object} state Global application state.
|
|
* @param {string} scope Item scope.
|
|
*
|
|
* @return {string} The complementary area that is active in the given scope.
|
|
*/
|
|
|
|
|
|
function selectors_getActiveComplementaryArea(state, scope) {
|
|
return getSingleEnableItem(state, 'complementaryArea', scope);
|
|
}
|
|
/**
|
|
* Returns a boolean indicating if an item is enabled or not in a given scope.
|
|
*
|
|
* @param {Object} state Global application state.
|
|
* @param {string} itemType Type of item.
|
|
* @param {string} scope Scope.
|
|
* @param {string} item Item to check.
|
|
*
|
|
* @return {boolean|undefined} True if the item is enabled, false otherwise if the item is explicitly disabled, and undefined if there is no information for that item.
|
|
*/
|
|
|
|
function isMultipleEnabledItemEnabled(state, itemType, scope, item) {
|
|
return Object(external_lodash_["get"])(state.enableItems.multipleEnableItems, [itemType, scope, item]);
|
|
}
|
|
/**
|
|
* Returns a boolean indicating if an item is pinned or not.
|
|
*
|
|
* @param {Object} state Global application state.
|
|
* @param {string} scope Scope.
|
|
* @param {string} item Item to check.
|
|
*
|
|
* @return {boolean} True if the item is pinned and false otherwise.
|
|
*/
|
|
|
|
|
|
function selectors_isItemPinned(state, scope, item) {
|
|
return isMultipleEnabledItemEnabled(state, 'pinnedItems', scope, item) !== false;
|
|
}
|
|
/**
|
|
* Returns a boolean indicating whether a feature is active for a particular
|
|
* scope.
|
|
*
|
|
* @param {Object} state The store state.
|
|
* @param {string} scope The scope of the feature (e.g. core/edit-post).
|
|
* @param {string} featureName The name of the feature.
|
|
*
|
|
* @return {boolean} Is the feature enabled?
|
|
*/
|
|
|
|
function isFeatureActive(state, scope, featureName) {
|
|
var _state$preferences$fe, _state$preferenceDefa;
|
|
|
|
const featureValue = (_state$preferences$fe = state.preferences.features[scope]) === null || _state$preferences$fe === void 0 ? void 0 : _state$preferences$fe[featureName];
|
|
const defaultedFeatureValue = featureValue !== undefined ? featureValue : (_state$preferenceDefa = state.preferenceDefaults.features[scope]) === null || _state$preferenceDefa === void 0 ? void 0 : _state$preferenceDefa[featureName];
|
|
return !!defaultedFeatureValue;
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/constants.js
|
|
/**
|
|
* The identifier for the data store.
|
|
*
|
|
* @type {string}
|
|
*/
|
|
const STORE_NAME = 'core/interface';
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/index.js
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Store definition for the interface namespace.
|
|
*
|
|
* @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
|
|
*
|
|
* @type {Object}
|
|
*/
|
|
|
|
const store = Object(external_wp_data_["createReduxStore"])(STORE_NAME, {
|
|
reducer: reducer,
|
|
actions: actions_namespaceObject,
|
|
selectors: selectors_namespaceObject,
|
|
persist: ['enableItems', 'preferences'],
|
|
__experimentalUseThunks: true
|
|
}); // 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, {
|
|
reducer: reducer,
|
|
actions: actions_namespaceObject,
|
|
selectors: selectors_namespaceObject,
|
|
persist: ['enableItems', 'preferences'],
|
|
__experimentalUseThunks: true
|
|
});
|
|
|
|
// EXTERNAL MODULE: external ["wp","plugins"]
|
|
var external_wp_plugins_ = __webpack_require__("TvNi");
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-context/index.js
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/* harmony default export */ var complementary_area_context = (Object(external_wp_plugins_["withPluginContext"])((context, ownProps) => {
|
|
return {
|
|
icon: ownProps.icon || context.icon,
|
|
identifier: ownProps.identifier || `${context.name}/${ownProps.name}`
|
|
};
|
|
}));
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-toggle/index.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
function ComplementaryAreaToggle(_ref) {
|
|
let {
|
|
as = external_wp_components_["Button"],
|
|
scope,
|
|
identifier,
|
|
icon,
|
|
selectedIcon,
|
|
...props
|
|
} = _ref;
|
|
const ComponentToUse = as;
|
|
const isSelected = Object(external_wp_data_["useSelect"])(select => select(store).getActiveComplementaryArea(scope) === identifier, [identifier]);
|
|
const {
|
|
enableComplementaryArea,
|
|
disableComplementaryArea
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
return Object(external_wp_element_["createElement"])(ComponentToUse, Object(esm_extends["a" /* default */])({
|
|
icon: selectedIcon && isSelected ? selectedIcon : icon,
|
|
onClick: () => {
|
|
if (isSelected) {
|
|
disableComplementaryArea(scope);
|
|
} else {
|
|
enableComplementaryArea(scope, identifier);
|
|
}
|
|
}
|
|
}, Object(external_lodash_["omit"])(props, ['name'])));
|
|
}
|
|
|
|
/* harmony default export */ var complementary_area_toggle = (complementary_area_context(ComplementaryAreaToggle));
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-header/index.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
const ComplementaryAreaHeader = _ref => {
|
|
let {
|
|
smallScreenTitle,
|
|
children,
|
|
className,
|
|
toggleButtonProps
|
|
} = _ref;
|
|
const toggleButton = Object(external_wp_element_["createElement"])(complementary_area_toggle, Object(esm_extends["a" /* default */])({
|
|
icon: close_small["a" /* default */]
|
|
}, toggleButtonProps));
|
|
return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", {
|
|
className: "components-panel__header interface-complementary-area-header__small"
|
|
}, smallScreenTitle && Object(external_wp_element_["createElement"])("span", {
|
|
className: "interface-complementary-area-header__small-title"
|
|
}, smallScreenTitle), toggleButton), Object(external_wp_element_["createElement"])("div", {
|
|
className: classnames_default()('components-panel__header', 'interface-complementary-area-header', className),
|
|
tabIndex: -1
|
|
}, children, toggleButton));
|
|
};
|
|
|
|
/* harmony default export */ var complementary_area_header = (ComplementaryAreaHeader);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/action-item/index.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
function ActionItemSlot(_ref) {
|
|
let {
|
|
name,
|
|
as: Component = external_wp_components_["ButtonGroup"],
|
|
fillProps = {},
|
|
bubblesVirtually,
|
|
...props
|
|
} = _ref;
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], {
|
|
name: name,
|
|
bubblesVirtually: bubblesVirtually,
|
|
fillProps: fillProps
|
|
}, fills => {
|
|
if (Object(external_lodash_["isEmpty"])(external_wp_element_["Children"].toArray(fills))) {
|
|
return null;
|
|
} // Special handling exists for backward compatibility.
|
|
// It ensures that menu items created by plugin authors aren't
|
|
// duplicated with automatically injected menu items coming
|
|
// from pinnable plugin sidebars.
|
|
// @see https://github.com/WordPress/gutenberg/issues/14457
|
|
|
|
|
|
const initializedByPlugins = [];
|
|
external_wp_element_["Children"].forEach(fills, _ref2 => {
|
|
let {
|
|
props: {
|
|
__unstableExplicitMenuItem,
|
|
__unstableTarget
|
|
}
|
|
} = _ref2;
|
|
|
|
if (__unstableTarget && __unstableExplicitMenuItem) {
|
|
initializedByPlugins.push(__unstableTarget);
|
|
}
|
|
});
|
|
const children = external_wp_element_["Children"].map(fills, child => {
|
|
if (!child.props.__unstableExplicitMenuItem && initializedByPlugins.includes(child.props.__unstableTarget)) {
|
|
return null;
|
|
}
|
|
|
|
return child;
|
|
});
|
|
return Object(external_wp_element_["createElement"])(Component, props, children);
|
|
});
|
|
}
|
|
|
|
function ActionItem(_ref3) {
|
|
let {
|
|
name,
|
|
as: Component = external_wp_components_["Button"],
|
|
onClick,
|
|
...props
|
|
} = _ref3;
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["Fill"], {
|
|
name: name
|
|
}, _ref4 => {
|
|
let {
|
|
onClick: fpOnClick
|
|
} = _ref4;
|
|
return Object(external_wp_element_["createElement"])(Component, Object(esm_extends["a" /* default */])({
|
|
onClick: onClick || fpOnClick ? function () {
|
|
(onClick || external_lodash_["noop"])(...arguments);
|
|
(fpOnClick || external_lodash_["noop"])(...arguments);
|
|
} : undefined
|
|
}, props));
|
|
});
|
|
}
|
|
|
|
ActionItem.Slot = ActionItemSlot;
|
|
/* harmony default export */ var action_item = (ActionItem);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-more-menu-item/index.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
const PluginsMenuItem = props => // Menu item is marked with unstable prop for backward compatibility.
|
|
// They are removed so they don't leak to DOM elements.
|
|
// @see https://github.com/WordPress/gutenberg/issues/14457
|
|
Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], Object(external_lodash_["omit"])(props, ['__unstableExplicitMenuItem', '__unstableTarget']));
|
|
|
|
function ComplementaryAreaMoreMenuItem(_ref) {
|
|
let {
|
|
scope,
|
|
target,
|
|
__unstableExplicitMenuItem,
|
|
...props
|
|
} = _ref;
|
|
return Object(external_wp_element_["createElement"])(complementary_area_toggle, Object(esm_extends["a" /* default */])({
|
|
as: toggleProps => {
|
|
return Object(external_wp_element_["createElement"])(action_item, Object(esm_extends["a" /* default */])({
|
|
__unstableExplicitMenuItem: __unstableExplicitMenuItem,
|
|
__unstableTarget: `${scope}/${target}`,
|
|
as: PluginsMenuItem,
|
|
name: `${scope}/plugin-more-menu`
|
|
}, toggleProps));
|
|
},
|
|
role: "menuitemcheckbox",
|
|
selectedIcon: check["a" /* default */],
|
|
name: target,
|
|
scope: scope
|
|
}, props));
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/pinned-items/index.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
function PinnedItems(_ref) {
|
|
let {
|
|
scope,
|
|
...props
|
|
} = _ref;
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["Fill"], Object(esm_extends["a" /* default */])({
|
|
name: `PinnedItems/${scope}`
|
|
}, props));
|
|
}
|
|
|
|
function PinnedItemsSlot(_ref2) {
|
|
let {
|
|
scope,
|
|
className,
|
|
...props
|
|
} = _ref2;
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], Object(esm_extends["a" /* default */])({
|
|
name: `PinnedItems/${scope}`
|
|
}, props), fills => !Object(external_lodash_["isEmpty"])(fills) && Object(external_wp_element_["createElement"])("div", {
|
|
className: classnames_default()(className, 'interface-pinned-items')
|
|
}, fills));
|
|
}
|
|
|
|
PinnedItems.Slot = PinnedItemsSlot;
|
|
/* harmony default export */ var pinned_items = (PinnedItems);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area/index.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function ComplementaryAreaSlot(_ref) {
|
|
let {
|
|
scope,
|
|
...props
|
|
} = _ref;
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], Object(esm_extends["a" /* default */])({
|
|
name: `ComplementaryArea/${scope}`
|
|
}, props));
|
|
}
|
|
|
|
function ComplementaryAreaFill(_ref2) {
|
|
let {
|
|
scope,
|
|
children,
|
|
className
|
|
} = _ref2;
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["Fill"], {
|
|
name: `ComplementaryArea/${scope}`
|
|
}, Object(external_wp_element_["createElement"])("div", {
|
|
className: className
|
|
}, children));
|
|
}
|
|
|
|
function useAdjustComplementaryListener(scope, identifier, activeArea, isActive, isSmall) {
|
|
const previousIsSmall = Object(external_wp_element_["useRef"])(false);
|
|
const shouldOpenWhenNotSmall = Object(external_wp_element_["useRef"])(false);
|
|
const {
|
|
enableComplementaryArea,
|
|
disableComplementaryArea
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
// If the complementary area is active and the editor is switching from a big to a small window size.
|
|
if (isActive && isSmall && !previousIsSmall.current) {
|
|
// Disable the complementary area.
|
|
disableComplementaryArea(scope); // Flag the complementary area to be reopened when the window size goes from small to big.
|
|
|
|
shouldOpenWhenNotSmall.current = true;
|
|
} else if ( // If there is a flag indicating the complementary area should be enabled when we go from small to big window size
|
|
// and we are going from a small to big window size.
|
|
shouldOpenWhenNotSmall.current && !isSmall && previousIsSmall.current) {
|
|
// Remove the flag indicating the complementary area should be enabled.
|
|
shouldOpenWhenNotSmall.current = false; // Enable the complementary area.
|
|
|
|
enableComplementaryArea(scope, identifier);
|
|
} else if ( // If the flag is indicating the current complementary should be reopened but another complementary area becomes active,
|
|
// remove the flag.
|
|
shouldOpenWhenNotSmall.current && activeArea && activeArea !== identifier) {
|
|
shouldOpenWhenNotSmall.current = false;
|
|
}
|
|
|
|
if (isSmall !== previousIsSmall.current) {
|
|
previousIsSmall.current = isSmall;
|
|
}
|
|
}, [isActive, isSmall, scope, identifier, activeArea]);
|
|
}
|
|
|
|
function ComplementaryArea(_ref3) {
|
|
let {
|
|
children,
|
|
className,
|
|
closeLabel = Object(external_wp_i18n_["__"])('Close plugin'),
|
|
identifier,
|
|
header,
|
|
headerClassName,
|
|
icon,
|
|
isPinnable = true,
|
|
panelClassName,
|
|
scope,
|
|
name,
|
|
smallScreenTitle,
|
|
title,
|
|
toggleShortcut,
|
|
isActiveByDefault,
|
|
showIconLabels = false
|
|
} = _ref3;
|
|
const {
|
|
isActive,
|
|
isPinned,
|
|
activeArea,
|
|
isSmall,
|
|
isLarge
|
|
} = Object(external_wp_data_["useSelect"])(select => {
|
|
const {
|
|
getActiveComplementaryArea,
|
|
isItemPinned
|
|
} = select(store);
|
|
|
|
const _activeArea = getActiveComplementaryArea(scope);
|
|
|
|
return {
|
|
isActive: _activeArea === identifier,
|
|
isPinned: isItemPinned(scope, identifier),
|
|
activeArea: _activeArea,
|
|
isSmall: select(external_wp_viewport_["store"]).isViewportMatch('< medium'),
|
|
isLarge: select(external_wp_viewport_["store"]).isViewportMatch('large')
|
|
};
|
|
}, [identifier, scope]);
|
|
useAdjustComplementaryListener(scope, identifier, activeArea, isActive, isSmall);
|
|
const {
|
|
enableComplementaryArea,
|
|
disableComplementaryArea,
|
|
pinItem,
|
|
unpinItem
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
if (isActiveByDefault && activeArea === undefined && !isSmall) {
|
|
enableComplementaryArea(scope, identifier);
|
|
}
|
|
}, [activeArea, isActiveByDefault, scope, identifier, isSmall]);
|
|
return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, isPinnable && Object(external_wp_element_["createElement"])(pinned_items, {
|
|
scope: scope
|
|
}, isPinned && Object(external_wp_element_["createElement"])(complementary_area_toggle, {
|
|
scope: scope,
|
|
identifier: identifier,
|
|
isPressed: isActive && (!showIconLabels || isLarge),
|
|
"aria-expanded": isActive,
|
|
label: title,
|
|
icon: showIconLabels ? check["a" /* default */] : icon,
|
|
showTooltip: !showIconLabels,
|
|
variant: showIconLabels ? 'tertiary' : undefined
|
|
})), name && isPinnable && Object(external_wp_element_["createElement"])(ComplementaryAreaMoreMenuItem, {
|
|
target: name,
|
|
scope: scope,
|
|
icon: icon
|
|
}, title), isActive && Object(external_wp_element_["createElement"])(ComplementaryAreaFill, {
|
|
className: classnames_default()('interface-complementary-area', className),
|
|
scope: scope
|
|
}, Object(external_wp_element_["createElement"])(complementary_area_header, {
|
|
className: headerClassName,
|
|
closeLabel: closeLabel,
|
|
onClose: () => disableComplementaryArea(scope),
|
|
smallScreenTitle: smallScreenTitle,
|
|
toggleButtonProps: {
|
|
label: closeLabel,
|
|
shortcut: toggleShortcut,
|
|
scope,
|
|
identifier
|
|
}
|
|
}, header || Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("strong", null, title), isPinnable && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
|
|
className: "interface-complementary-area__pin-unpin-item",
|
|
icon: isPinned ? star_filled["a" /* default */] : star_empty["a" /* default */],
|
|
label: isPinned ? Object(external_wp_i18n_["__"])('Unpin from toolbar') : Object(external_wp_i18n_["__"])('Pin to toolbar'),
|
|
onClick: () => (isPinned ? unpinItem : pinItem)(scope, identifier),
|
|
isPressed: isPinned,
|
|
"aria-expanded": isPinned
|
|
}))), Object(external_wp_element_["createElement"])(external_wp_components_["Panel"], {
|
|
className: panelClassName
|
|
}, children)));
|
|
}
|
|
|
|
const ComplementaryAreaWrapped = complementary_area_context(ComplementaryArea);
|
|
ComplementaryAreaWrapped.Slot = ComplementaryAreaSlot;
|
|
/* harmony default export */ var complementary_area = (ComplementaryAreaWrapped);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/fullscreen-mode/index.js
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
const FullscreenMode = _ref => {
|
|
let {
|
|
isActive
|
|
} = _ref;
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
let isSticky = false; // `is-fullscreen-mode` is set in PHP as a body class by Gutenberg, and this causes
|
|
// `sticky-menu` to be applied by WordPress and prevents the admin menu being scrolled
|
|
// even if `is-fullscreen-mode` is then removed. Let's remove `sticky-menu` here as
|
|
// a consequence of the FullscreenMode setup
|
|
|
|
if (document.body.classList.contains('sticky-menu')) {
|
|
isSticky = true;
|
|
document.body.classList.remove('sticky-menu');
|
|
}
|
|
|
|
return () => {
|
|
if (isSticky) {
|
|
document.body.classList.add('sticky-menu');
|
|
}
|
|
};
|
|
}, []);
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
if (isActive) {
|
|
document.body.classList.add('is-fullscreen-mode');
|
|
} else {
|
|
document.body.classList.remove('is-fullscreen-mode');
|
|
}
|
|
|
|
return () => {
|
|
if (isActive) {
|
|
document.body.classList.remove('is-fullscreen-mode');
|
|
}
|
|
};
|
|
}, [isActive]);
|
|
return null;
|
|
};
|
|
|
|
/* harmony default export */ var fullscreen_mode = (FullscreenMode);
|
|
|
|
// EXTERNAL MODULE: external ["wp","compose"]
|
|
var external_wp_compose_ = __webpack_require__("K9lf");
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/interface-skeleton/index.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function useHTMLClass(className) {
|
|
Object(external_wp_element_["useEffect"])(() => {
|
|
const element = document && document.querySelector(`html:not(.${className})`);
|
|
|
|
if (!element) {
|
|
return;
|
|
}
|
|
|
|
element.classList.toggle(className);
|
|
return () => {
|
|
element.classList.toggle(className);
|
|
};
|
|
}, [className]);
|
|
}
|
|
|
|
function InterfaceSkeleton(_ref, ref) {
|
|
let {
|
|
footer,
|
|
header,
|
|
sidebar,
|
|
secondarySidebar,
|
|
notices,
|
|
content,
|
|
drawer,
|
|
actions,
|
|
labels,
|
|
className,
|
|
shortcuts
|
|
} = _ref;
|
|
const navigateRegionsProps = Object(external_wp_components_["__unstableUseNavigateRegions"])(shortcuts);
|
|
useHTMLClass('interface-interface-skeleton__html-container');
|
|
const defaultLabels = {
|
|
/* translators: accessibility text for the nav bar landmark region. */
|
|
drawer: Object(external_wp_i18n_["__"])('Drawer'),
|
|
|
|
/* translators: accessibility text for the top bar landmark region. */
|
|
header: Object(external_wp_i18n_["__"])('Header'),
|
|
|
|
/* translators: accessibility text for the content landmark region. */
|
|
body: Object(external_wp_i18n_["__"])('Content'),
|
|
|
|
/* translators: accessibility text for the secondary sidebar landmark region. */
|
|
secondarySidebar: Object(external_wp_i18n_["__"])('Block Library'),
|
|
|
|
/* translators: accessibility text for the settings landmark region. */
|
|
sidebar: Object(external_wp_i18n_["__"])('Settings'),
|
|
|
|
/* translators: accessibility text for the publish landmark region. */
|
|
actions: Object(external_wp_i18n_["__"])('Publish'),
|
|
|
|
/* translators: accessibility text for the footer landmark region. */
|
|
footer: Object(external_wp_i18n_["__"])('Footer')
|
|
};
|
|
const mergedLabels = { ...defaultLabels,
|
|
...labels
|
|
};
|
|
return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, navigateRegionsProps, {
|
|
ref: Object(external_wp_compose_["useMergeRefs"])([ref, navigateRegionsProps.ref]),
|
|
className: classnames_default()(className, 'interface-interface-skeleton', navigateRegionsProps.className, !!footer && 'has-footer')
|
|
}), !!drawer && Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__drawer",
|
|
role: "region",
|
|
"aria-label": mergedLabels.drawer
|
|
}, drawer), Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__editor"
|
|
}, !!header && Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__header",
|
|
role: "region",
|
|
"aria-label": mergedLabels.header,
|
|
tabIndex: "-1"
|
|
}, header), Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__body"
|
|
}, !!secondarySidebar && Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__secondary-sidebar",
|
|
role: "region",
|
|
"aria-label": mergedLabels.secondarySidebar,
|
|
tabIndex: "-1"
|
|
}, secondarySidebar), !!notices && Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__notices"
|
|
}, notices), Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__content",
|
|
role: "region",
|
|
"aria-label": mergedLabels.body,
|
|
tabIndex: "-1"
|
|
}, content), !!sidebar && Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__sidebar",
|
|
role: "region",
|
|
"aria-label": mergedLabels.sidebar,
|
|
tabIndex: "-1"
|
|
}, sidebar), !!actions && Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__actions",
|
|
role: "region",
|
|
"aria-label": mergedLabels.actions,
|
|
tabIndex: "-1"
|
|
}, actions))), !!footer && Object(external_wp_element_["createElement"])("div", {
|
|
className: "interface-interface-skeleton__footer",
|
|
role: "region",
|
|
"aria-label": mergedLabels.footer,
|
|
tabIndex: "-1"
|
|
}, footer));
|
|
}
|
|
|
|
/* harmony default export */ var interface_skeleton = (Object(external_wp_element_["forwardRef"])(InterfaceSkeleton));
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/more-vertical.js
|
|
var more_vertical = __webpack_require__("VKE3");
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/more-menu-dropdown/index.js
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
function MoreMenuDropdown(_ref) {
|
|
let {
|
|
as: DropdownComponent = external_wp_components_["DropdownMenu"],
|
|
className,
|
|
|
|
/* translators: button label text should, if possible, be under 16 characters. */
|
|
label = Object(external_wp_i18n_["__"])('Options'),
|
|
popoverProps,
|
|
toggleProps,
|
|
children
|
|
} = _ref;
|
|
return Object(external_wp_element_["createElement"])(DropdownComponent, {
|
|
className: classnames_default()('interface-more-menu-dropdown', className),
|
|
icon: more_vertical["a" /* default */],
|
|
label: label,
|
|
popoverProps: {
|
|
position: 'bottom left',
|
|
...popoverProps,
|
|
className: classnames_default()('interface-more-menu-dropdown__content', popoverProps === null || popoverProps === void 0 ? void 0 : popoverProps.className)
|
|
},
|
|
toggleProps: {
|
|
tooltipPosition: 'bottom',
|
|
...toggleProps
|
|
}
|
|
}, onClose => children(onClose));
|
|
}
|
|
|
|
// EXTERNAL MODULE: external ["wp","a11y"]
|
|
var external_wp_a11y_ = __webpack_require__("gdqT");
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/more-menu-feature-toggle/index.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
function MoreMenuFeatureToggle(_ref) {
|
|
let {
|
|
scope,
|
|
label,
|
|
info,
|
|
messageActivated,
|
|
messageDeactivated,
|
|
shortcut,
|
|
feature
|
|
} = _ref;
|
|
const isActive = Object(external_wp_data_["useSelect"])(select => select(store).isFeatureActive(scope, feature), [feature]);
|
|
const {
|
|
toggleFeature
|
|
} = Object(external_wp_data_["useDispatch"])(store);
|
|
|
|
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'));
|
|
}
|
|
};
|
|
|
|
return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], {
|
|
icon: isActive && check["a" /* default */],
|
|
isSelected: isActive,
|
|
onClick: () => {
|
|
toggleFeature(scope, feature);
|
|
speakMessage();
|
|
},
|
|
role: "menuitemcheckbox",
|
|
info: info,
|
|
shortcut: shortcut
|
|
}, label);
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/index.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/index.js
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "URob":
|
|
/***/ (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 starFilled = 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: "M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (starFilled);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "VKE3":
|
|
/***/ (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 moreVertical = 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: "M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (moreVertical);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "Xxwi":
|
|
/***/ (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 starEmpty = 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: "M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z",
|
|
clipRule: "evenodd"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (starEmpty);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "YLtl":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["lodash"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "axFQ":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["blockEditor"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "bWcr":
|
|
/***/ (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 closeSmall = 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: "M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (closeSmall);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "cjQ8":
|
|
/***/ (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 arrowLeft = 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: "M20 10.8H6.7l4.1-4.5-1.1-1.1-5.8 6.3 5.8 5.8 1.1-1.1-4-3.9H20z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (arrowLeft);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "g56x":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["hooks"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "gdqT":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["a11y"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "hF7m":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["keyboardShortcuts"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "iClF":
|
|
/***/ (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__);
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */
|
|
|
|
/**
|
|
* Return an SVG icon.
|
|
*
|
|
* @param {IconProps} props icon is the SVG component to render
|
|
* size is a number specifiying the icon size in pixels
|
|
* Other props will be passed to wrapped SVG component
|
|
*
|
|
* @return {JSX.Element} Icon component
|
|
*/
|
|
|
|
function Icon(_ref) {
|
|
let {
|
|
icon,
|
|
size = 24,
|
|
...props
|
|
} = _ref;
|
|
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["cloneElement"])(icon, {
|
|
width: size,
|
|
height: size,
|
|
...props
|
|
});
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["a"] = (Icon);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "jSdM":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["editor"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "jZUy":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["coreData"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "l3Sj":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["i18n"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "onLe":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["notices"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "pPDe":
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var LEAF_KEY, hasWeakMap;
|
|
|
|
/**
|
|
* Arbitrary value used as key for referencing cache object in WeakMap tree.
|
|
*
|
|
* @type {Object}
|
|
*/
|
|
LEAF_KEY = {};
|
|
|
|
/**
|
|
* Whether environment supports WeakMap.
|
|
*
|
|
* @type {boolean}
|
|
*/
|
|
hasWeakMap = typeof WeakMap !== 'undefined';
|
|
|
|
/**
|
|
* Returns the first argument as the sole entry in an array.
|
|
*
|
|
* @param {*} value Value to return.
|
|
*
|
|
* @return {Array} Value returned as entry in array.
|
|
*/
|
|
function arrayOf( value ) {
|
|
return [ value ];
|
|
}
|
|
|
|
/**
|
|
* Returns true if the value passed is object-like, or false otherwise. A value
|
|
* is object-like if it can support property assignment, e.g. object or array.
|
|
*
|
|
* @param {*} value Value to test.
|
|
*
|
|
* @return {boolean} Whether value is object-like.
|
|
*/
|
|
function isObjectLike( value ) {
|
|
return !! value && 'object' === typeof value;
|
|
}
|
|
|
|
/**
|
|
* Creates and returns a new cache object.
|
|
*
|
|
* @return {Object} Cache object.
|
|
*/
|
|
function createCache() {
|
|
var cache = {
|
|
clear: function() {
|
|
cache.head = null;
|
|
},
|
|
};
|
|
|
|
return cache;
|
|
}
|
|
|
|
/**
|
|
* Returns true if entries within the two arrays are strictly equal by
|
|
* reference from a starting index.
|
|
*
|
|
* @param {Array} a First array.
|
|
* @param {Array} b Second array.
|
|
* @param {number} fromIndex Index from which to start comparison.
|
|
*
|
|
* @return {boolean} Whether arrays are shallowly equal.
|
|
*/
|
|
function isShallowEqual( a, b, fromIndex ) {
|
|
var i;
|
|
|
|
if ( a.length !== b.length ) {
|
|
return false;
|
|
}
|
|
|
|
for ( i = fromIndex; i < a.length; i++ ) {
|
|
if ( a[ i ] !== b[ i ] ) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Returns a memoized selector function. The getDependants function argument is
|
|
* called before the memoized selector and is expected to return an immutable
|
|
* reference or array of references on which the selector depends for computing
|
|
* its own return value. The memoize cache is preserved only as long as those
|
|
* dependant references remain the same. If getDependants returns a different
|
|
* reference(s), the cache is cleared and the selector value regenerated.
|
|
*
|
|
* @param {Function} selector Selector function.
|
|
* @param {Function} getDependants Dependant getter returning an immutable
|
|
* reference or array of reference used in
|
|
* cache bust consideration.
|
|
*
|
|
* @return {Function} Memoized selector.
|
|
*/
|
|
/* harmony default export */ __webpack_exports__["a"] = (function( selector, getDependants ) {
|
|
var rootCache, getCache;
|
|
|
|
// Use object source as dependant if getter not provided
|
|
if ( ! getDependants ) {
|
|
getDependants = arrayOf;
|
|
}
|
|
|
|
/**
|
|
* Returns the root cache. If WeakMap is supported, this is assigned to the
|
|
* root WeakMap cache set, otherwise it is a shared instance of the default
|
|
* cache object.
|
|
*
|
|
* @return {(WeakMap|Object)} Root cache object.
|
|
*/
|
|
function getRootCache() {
|
|
return rootCache;
|
|
}
|
|
|
|
/**
|
|
* Returns the cache for a given dependants array. When possible, a WeakMap
|
|
* will be used to create a unique cache for each set of dependants. This
|
|
* is feasible due to the nature of WeakMap in allowing garbage collection
|
|
* to occur on entries where the key object is no longer referenced. Since
|
|
* WeakMap requires the key to be an object, this is only possible when the
|
|
* dependant is object-like. The root cache is created as a hierarchy where
|
|
* each top-level key is the first entry in a dependants set, the value a
|
|
* WeakMap where each key is the next dependant, and so on. This continues
|
|
* so long as the dependants are object-like. If no dependants are object-
|
|
* like, then the cache is shared across all invocations.
|
|
*
|
|
* @see isObjectLike
|
|
*
|
|
* @param {Array} dependants Selector dependants.
|
|
*
|
|
* @return {Object} Cache object.
|
|
*/
|
|
function getWeakMapCache( dependants ) {
|
|
var caches = rootCache,
|
|
isUniqueByDependants = true,
|
|
i, dependant, map, cache;
|
|
|
|
for ( i = 0; i < dependants.length; i++ ) {
|
|
dependant = dependants[ i ];
|
|
|
|
// Can only compose WeakMap from object-like key.
|
|
if ( ! isObjectLike( dependant ) ) {
|
|
isUniqueByDependants = false;
|
|
break;
|
|
}
|
|
|
|
// Does current segment of cache already have a WeakMap?
|
|
if ( caches.has( dependant ) ) {
|
|
// Traverse into nested WeakMap.
|
|
caches = caches.get( dependant );
|
|
} else {
|
|
// Create, set, and traverse into a new one.
|
|
map = new WeakMap();
|
|
caches.set( dependant, map );
|
|
caches = map;
|
|
}
|
|
}
|
|
|
|
// We use an arbitrary (but consistent) object as key for the last item
|
|
// in the WeakMap to serve as our running cache.
|
|
if ( ! caches.has( LEAF_KEY ) ) {
|
|
cache = createCache();
|
|
cache.isUniqueByDependants = isUniqueByDependants;
|
|
caches.set( LEAF_KEY, cache );
|
|
}
|
|
|
|
return caches.get( LEAF_KEY );
|
|
}
|
|
|
|
// Assign cache handler by availability of WeakMap
|
|
getCache = hasWeakMap ? getWeakMapCache : getRootCache;
|
|
|
|
/**
|
|
* Resets root memoization cache.
|
|
*/
|
|
function clear() {
|
|
rootCache = hasWeakMap ? new WeakMap() : createCache();
|
|
}
|
|
|
|
// eslint-disable-next-line jsdoc/check-param-names
|
|
/**
|
|
* The augmented selector call, considering first whether dependants have
|
|
* changed before passing it to underlying memoize function.
|
|
*
|
|
* @param {Object} source Source object for derivation.
|
|
* @param {...*} extraArgs Additional arguments to pass to selector.
|
|
*
|
|
* @return {*} Selector result.
|
|
*/
|
|
function callSelector( /* source, ...extraArgs */ ) {
|
|
var len = arguments.length,
|
|
cache, node, i, args, dependants;
|
|
|
|
// Create copy of arguments (avoid leaking deoptimization).
|
|
args = new Array( len );
|
|
for ( i = 0; i < len; i++ ) {
|
|
args[ i ] = arguments[ i ];
|
|
}
|
|
|
|
dependants = getDependants.apply( null, args );
|
|
cache = getCache( dependants );
|
|
|
|
// If not guaranteed uniqueness by dependants (primitive type or lack
|
|
// of WeakMap support), shallow compare against last dependants and, if
|
|
// references have changed, destroy cache to recalculate result.
|
|
if ( ! cache.isUniqueByDependants ) {
|
|
if ( cache.lastDependants && ! isShallowEqual( dependants, cache.lastDependants, 0 ) ) {
|
|
cache.clear();
|
|
}
|
|
|
|
cache.lastDependants = dependants;
|
|
}
|
|
|
|
node = cache.head;
|
|
while ( node ) {
|
|
// Check whether node arguments match arguments
|
|
if ( ! isShallowEqual( node.args, args, 1 ) ) {
|
|
node = node.next;
|
|
continue;
|
|
}
|
|
|
|
// At this point we can assume we've found a match
|
|
|
|
// Surface matched node to head if not already
|
|
if ( node !== cache.head ) {
|
|
// Adjust siblings to point to each other.
|
|
node.prev.next = node.next;
|
|
if ( node.next ) {
|
|
node.next.prev = node.prev;
|
|
}
|
|
|
|
node.next = cache.head;
|
|
node.prev = null;
|
|
cache.head.prev = node;
|
|
cache.head = node;
|
|
}
|
|
|
|
// Return immediately
|
|
return node.val;
|
|
}
|
|
|
|
// No cached value found. Continue to insertion phase:
|
|
|
|
node = {
|
|
// Generate the result from original function
|
|
val: selector.apply( null, args ),
|
|
};
|
|
|
|
// Avoid including the source object in the cache.
|
|
args[ 0 ] = null;
|
|
node.args = args;
|
|
|
|
// Don't need to check whether node is already head, since it would
|
|
// have been returned above already if it was
|
|
|
|
// Shift existing head down list
|
|
if ( cache.head ) {
|
|
cache.head.prev = node;
|
|
node.next = cache.head;
|
|
}
|
|
|
|
cache.head = node;
|
|
|
|
return node.val;
|
|
}
|
|
|
|
callSelector.getDependants = getDependants;
|
|
callSelector.clear = clear;
|
|
clear();
|
|
|
|
return callSelector;
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "rrFr":
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;//download.js v4.2, by dandavis; 2008-2016. [MIT] see http://danml.com/download.html for tests/usage
|
|
// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime
|
|
// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs
|
|
// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support. 3.1 improved safari handling.
|
|
// v4 adds AMD/UMD, commonJS, and plain browser support
|
|
// v4.1 adds url download capability via solo URL argument (same domain/CORS only)
|
|
// v4.2 adds semantic variable names, long (over 2MB) dataURL support, and hidden by default temp anchors
|
|
// https://github.com/rndme/download
|
|
|
|
(function (root, factory) {
|
|
if (true) {
|
|
// AMD. Register as an anonymous module.
|
|
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
|
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
|
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
|
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
} else {}
|
|
}(this, function () {
|
|
|
|
return function download(data, strFileName, strMimeType) {
|
|
|
|
var self = window, // this script is only for browsers anyway...
|
|
defaultMime = "application/octet-stream", // this default mime also triggers iframe downloads
|
|
mimeType = strMimeType || defaultMime,
|
|
payload = data,
|
|
url = !strFileName && !strMimeType && payload,
|
|
anchor = document.createElement("a"),
|
|
toString = function(a){return String(a);},
|
|
myBlob = (self.Blob || self.MozBlob || self.WebKitBlob || toString),
|
|
fileName = strFileName || "download",
|
|
blob,
|
|
reader;
|
|
myBlob= myBlob.call ? myBlob.bind(self) : Blob ;
|
|
|
|
if(String(this)==="true"){ //reverse arguments, allowing download.bind(true, "text/xml", "export.xml") to act as a callback
|
|
payload=[payload, mimeType];
|
|
mimeType=payload[0];
|
|
payload=payload[1];
|
|
}
|
|
|
|
|
|
if(url && url.length< 2048){ // if no filename and no mime, assume a url was passed as the only argument
|
|
fileName = url.split("/").pop().split("?")[0];
|
|
anchor.href = url; // assign href prop to temp anchor
|
|
if(anchor.href.indexOf(url) !== -1){ // if the browser determines that it's a potentially valid url path:
|
|
var ajax=new XMLHttpRequest();
|
|
ajax.open( "GET", url, true);
|
|
ajax.responseType = 'blob';
|
|
ajax.onload= function(e){
|
|
download(e.target.response, fileName, defaultMime);
|
|
};
|
|
setTimeout(function(){ ajax.send();}, 0); // allows setting custom ajax headers using the return:
|
|
return ajax;
|
|
} // end if valid url?
|
|
} // end if url?
|
|
|
|
|
|
//go ahead and download dataURLs right away
|
|
if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(payload)){
|
|
|
|
if(payload.length > (1024*1024*1.999) && myBlob !== toString ){
|
|
payload=dataUrlToBlob(payload);
|
|
mimeType=payload.type || defaultMime;
|
|
}else{
|
|
return navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs:
|
|
navigator.msSaveBlob(dataUrlToBlob(payload), fileName) :
|
|
saver(payload) ; // everyone else can save dataURLs un-processed
|
|
}
|
|
|
|
}else{//not data url, is it a string with special needs?
|
|
if(/([\x80-\xff])/.test(payload)){
|
|
var i=0, tempUiArr= new Uint8Array(payload.length), mx=tempUiArr.length;
|
|
for(i;i<mx;++i) tempUiArr[i]= payload.charCodeAt(i);
|
|
payload=new myBlob([tempUiArr], {type: mimeType});
|
|
}
|
|
}
|
|
blob = payload instanceof myBlob ?
|
|
payload :
|
|
new myBlob([payload], {type: mimeType}) ;
|
|
|
|
|
|
function dataUrlToBlob(strUrl) {
|
|
var parts= strUrl.split(/[:;,]/),
|
|
type= parts[1],
|
|
decoder= parts[2] == "base64" ? atob : decodeURIComponent,
|
|
binData= decoder( parts.pop() ),
|
|
mx= binData.length,
|
|
i= 0,
|
|
uiArr= new Uint8Array(mx);
|
|
|
|
for(i;i<mx;++i) uiArr[i]= binData.charCodeAt(i);
|
|
|
|
return new myBlob([uiArr], {type: type});
|
|
}
|
|
|
|
function saver(url, winMode){
|
|
|
|
if ('download' in anchor) { //html5 A[download]
|
|
anchor.href = url;
|
|
anchor.setAttribute("download", fileName);
|
|
anchor.className = "download-js-link";
|
|
anchor.innerHTML = "downloading...";
|
|
anchor.style.display = "none";
|
|
document.body.appendChild(anchor);
|
|
setTimeout(function() {
|
|
anchor.click();
|
|
document.body.removeChild(anchor);
|
|
if(winMode===true){setTimeout(function(){ self.URL.revokeObjectURL(anchor.href);}, 250 );}
|
|
}, 66);
|
|
return true;
|
|
}
|
|
|
|
// handle non-a[download] safari as best we can:
|
|
if(/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent)) {
|
|
if(/^data:/.test(url)) url="data:"+url.replace(/^data:([\w\/\-\+]+)/, defaultMime);
|
|
if(!window.open(url)){ // popup blocked, offer direct download:
|
|
if(confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")){ location.href=url; }
|
|
}
|
|
return true;
|
|
}
|
|
|
|
//do iframe dataURL download (old ch+FF):
|
|
var f = document.createElement("iframe");
|
|
document.body.appendChild(f);
|
|
|
|
if(!winMode && /^data:/.test(url)){ // force a mime that will download:
|
|
url="data:"+url.replace(/^data:([\w\/\-\+]+)/, defaultMime);
|
|
}
|
|
f.src=url;
|
|
setTimeout(function(){ document.body.removeChild(f); }, 333);
|
|
|
|
}//end saver
|
|
|
|
|
|
|
|
|
|
if (navigator.msSaveBlob) { // IE10+ : (has Blob, but not a[download] or URL)
|
|
return navigator.msSaveBlob(blob, fileName);
|
|
}
|
|
|
|
if(self.URL){ // simple fast and modern way using Blob and URL:
|
|
saver(self.URL.createObjectURL(blob), true);
|
|
}else{
|
|
// handle non-Blob()+non-URL browsers:
|
|
if(typeof blob === "string" || blob.constructor===toString ){
|
|
try{
|
|
return saver( "data:" + mimeType + ";base64," + self.btoa(blob) );
|
|
}catch(y){
|
|
return saver( "data:" + mimeType + "," + encodeURIComponent(blob) );
|
|
}
|
|
}
|
|
|
|
// Blob but not URL support:
|
|
reader=new FileReader();
|
|
reader.onload=function(e){
|
|
saver(this.result);
|
|
};
|
|
reader.readAsDataURL(blob);
|
|
}
|
|
return true;
|
|
}; /* end download() */
|
|
}));
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "tI+e":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["components"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "w95h":
|
|
/***/ (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 close = 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: "M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (close);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "wduq":
|
|
/***/ (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 wordpress = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "-2 -2 24 24"
|
|
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
|
|
d: "M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z"
|
|
}));
|
|
/* harmony default export */ __webpack_exports__["a"] = (wordpress);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "wx14":
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
|
|
function _extends() {
|
|
_extends = Object.assign || function (target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = arguments[i];
|
|
|
|
for (var key in source) {
|
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
target[key] = source[key];
|
|
}
|
|
}
|
|
}
|
|
|
|
return target;
|
|
};
|
|
|
|
return _extends.apply(this, arguments);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "ywyh":
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = window["wp"]["apiFetch"]; }());
|
|
|
|
/***/ })
|
|
|
|
/******/ }); |