mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-19 09:05:22 +01:00
8588041fd2
Updates the `@wordpress` packages to include the following changes:
- Add missing period in keyboard shortcut descriptions
- Site Editor: Append template type and name to the site editor page title
- Specify active color state for template navigation button
- Global Styles: Move more link about custom CSS to part of description
- ToolsPanel: Display optional items when values are updated externally
- File block: Re-add editor styles for classic themes
- Enable undo after creating a new menu
- Style Book: Exclude blocks that are not allowed to insert
- Add basic tsconfig.json validation
- Fix Experiments native variant breakage
- Update moment and moment-timezone packages to fix timezone issues
- NavigatorButton: Reuse Button types
- ToolsPanel: Ensure display of optional items when panel id is null
- ColorPalette: Ensure text label contrast checking works with CSS variables
- Components: Add support for named arguments in the navigator components
- Rename experiments package to private-apis
- Cherry-pick CLI: Fix the default label to match the documentation
- Handle block metadata attribute and related experimental APIs
- Fix: Remove browser default border for iframe in the editor
- [Layout]: Fix align controls for hybrid themes
- Visual Regression tests: use default playwright utils
- SelectControl: Fix multiple prop styling
- Fix clicking on the toggle button not closing the block inserter
- Update deps for the useEffect that creates navigation menus
- Minor updates in Private APIs docs
- Site Editor: Fix custom Template Parts rename action
- [Block Library - Cover]: Ensure url is not malformed due to sanitization through wp_kses
- Revert "Prevent the image from being resized larger than its container"
- Lodash: Remove from @wordpress/keycodes package
- Distraction free mode: Fix keyboard shortcut not working
- Popover: lock the __experimentalPopoverPositionToPlacement function
- Rename the "experiments" export to "privateApis"
- Add an aria label to the site save dialog
- Navigator: add more pattern matching tests, refine existing tests
- Add parent navigation support for the navigator component
- Add back link to Design heading in site editor navigation to return to Dashboard
- Add a nested level when selecting templates or template parts
- Move site editor 6.2 specific code to the right file
- Fix site editor navigation
References:
* [1bf01c01a8
Gutenberg's commit for publishing the packages]
Follow-up to [55257].
Props ntsekouras.
See #57471.
Built from https://develop.svn.wordpress.org/trunk@55333
git-svn-id: http://core.svn.wordpress.org/trunk@54866 1a063a9b-81f0-0310-95a4-ce76da25c4cd
244 lines
8.4 KiB
JavaScript
244 lines
8.4 KiB
JavaScript
/******/ (function() { // webpackBootstrap
|
||
/******/ "use strict";
|
||
/******/ // The require scope
|
||
/******/ var __webpack_require__ = {};
|
||
/******/
|
||
/************************************************************************/
|
||
/******/ /* webpack/runtime/define property getters */
|
||
/******/ !function() {
|
||
/******/ // define getter functions for harmony exports
|
||
/******/ __webpack_require__.d = function(exports, definition) {
|
||
/******/ for(var key in definition) {
|
||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||
/******/ }
|
||
/******/ }
|
||
/******/ };
|
||
/******/ }();
|
||
/******/
|
||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||
/******/ !function() {
|
||
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
|
||
/******/ }();
|
||
/******/
|
||
/******/ /* webpack/runtime/make namespace object */
|
||
/******/ !function() {
|
||
/******/ // 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 });
|
||
/******/ };
|
||
/******/ }();
|
||
/******/
|
||
/************************************************************************/
|
||
var __webpack_exports__ = {};
|
||
// ESM COMPAT FLAG
|
||
__webpack_require__.r(__webpack_exports__);
|
||
|
||
// EXPORTS
|
||
__webpack_require__.d(__webpack_exports__, {
|
||
"__dangerousOptInToUnstableAPIsOnlyForCoreModules": function() { return /* reexport */ __dangerousOptInToUnstableAPIsOnlyForCoreModules; }
|
||
});
|
||
|
||
;// CONCATENATED MODULE: ./node_modules/@wordpress/private-apis/build-module/implementation.js
|
||
/**
|
||
* wordpress/private-apis – the utilities to enable private cross-package
|
||
* exports of private APIs.
|
||
*
|
||
* This "implementation.js" file is needed for the sake of the unit tests. It
|
||
* exports more than the public API of the package to aid in testing.
|
||
*/
|
||
|
||
/**
|
||
* The list of core modules allowed to opt-in to the private APIs.
|
||
*/
|
||
const CORE_MODULES_USING_PRIVATE_APIS = ['@wordpress/block-editor', '@wordpress/block-library', '@wordpress/blocks', '@wordpress/components', '@wordpress/customize-widgets', '@wordpress/data', '@wordpress/edit-post', '@wordpress/edit-site', '@wordpress/edit-widgets', '@wordpress/editor'];
|
||
/**
|
||
* A list of core modules that already opted-in to
|
||
* the privateApis package.
|
||
*
|
||
* @type {string[]}
|
||
*/
|
||
|
||
const registeredPrivateApis = [];
|
||
/*
|
||
* Warning for theme and plugin developers.
|
||
*
|
||
* The use of private developer APIs is intended for use by WordPress Core
|
||
* and the Gutenberg plugin exclusively.
|
||
*
|
||
* Dangerously opting in to using these APIs is NOT RECOMMENDED. Furthermore,
|
||
* the WordPress Core philosophy to strive to maintain backward compatibility
|
||
* for third-party developers DOES NOT APPLY to private APIs.
|
||
*
|
||
* THE CONSENT STRING FOR OPTING IN TO THESE APIS MAY CHANGE AT ANY TIME AND
|
||
* WITHOUT NOTICE. THIS CHANGE WILL BREAK EXISTING THIRD-PARTY CODE. SUCH A
|
||
* CHANGE MAY OCCUR IN EITHER A MAJOR OR MINOR RELEASE.
|
||
*/
|
||
|
||
const requiredConsent = 'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.';
|
||
/** @type {boolean} */
|
||
|
||
let allowReRegistration; // Use try/catch to force "false" if the environment variable is not explicitly
|
||
// set to true (e.g. when building WordPress core).
|
||
|
||
try {
|
||
var _process$env$ALLOW_EX;
|
||
|
||
allowReRegistration = (_process$env$ALLOW_EX = process.env.ALLOW_EXPERIMENT_REREGISTRATION) !== null && _process$env$ALLOW_EX !== void 0 ? _process$env$ALLOW_EX : false;
|
||
} catch (error) {
|
||
allowReRegistration = false;
|
||
}
|
||
/**
|
||
* Called by a @wordpress package wishing to opt-in to accessing or exposing
|
||
* private private APIs.
|
||
*
|
||
* @param {string} consent The consent string.
|
||
* @param {string} moduleName The name of the module that is opting in.
|
||
* @return {{lock: typeof lock, unlock: typeof unlock}} An object containing the lock and unlock functions.
|
||
*/
|
||
|
||
|
||
const __dangerousOptInToUnstableAPIsOnlyForCoreModules = (consent, moduleName) => {
|
||
if (!CORE_MODULES_USING_PRIVATE_APIS.includes(moduleName)) {
|
||
throw new Error(`You tried to opt-in to unstable APIs as module "${moduleName}". ` + 'This feature is only for JavaScript modules shipped with WordPress core. ' + 'Please do not use it in plugins and themes as the unstable APIs will be removed ' + 'without a warning. If you ignore this error and depend on unstable features, ' + 'your product will inevitably break on one of the next WordPress releases.');
|
||
}
|
||
|
||
if (!allowReRegistration && registeredPrivateApis.includes(moduleName)) {
|
||
// This check doesn't play well with Story Books / Hot Module Reloading
|
||
// and isn't included in the Gutenberg plugin. It only matters in the
|
||
// WordPress core release.
|
||
throw new Error(`You tried to opt-in to unstable APIs as module "${moduleName}" which is already registered. ` + 'This feature is only for JavaScript modules shipped with WordPress core. ' + 'Please do not use it in plugins and themes as the unstable APIs will be removed ' + 'without a warning. If you ignore this error and depend on unstable features, ' + 'your product will inevitably break on one of the next WordPress releases.');
|
||
}
|
||
|
||
if (consent !== requiredConsent) {
|
||
throw new Error(`You tried to opt-in to unstable APIs without confirming you know the consequences. ` + 'This feature is only for JavaScript modules shipped with WordPress core. ' + 'Please do not use it in plugins and themes as the unstable APIs will removed ' + 'without a warning. If you ignore this error and depend on unstable features, ' + 'your product will inevitably break on the next WordPress release.');
|
||
}
|
||
|
||
registeredPrivateApis.push(moduleName);
|
||
return {
|
||
lock,
|
||
unlock
|
||
};
|
||
};
|
||
/**
|
||
* Binds private data to an object.
|
||
* It does not alter the passed object in any way, only
|
||
* registers it in an internal map of private data.
|
||
*
|
||
* The private data can't be accessed by any other means
|
||
* than the `unlock` function.
|
||
*
|
||
* @example
|
||
* ```js
|
||
* const object = {};
|
||
* const privateData = { a: 1 };
|
||
* lock( object, privateData );
|
||
*
|
||
* object
|
||
* // {}
|
||
*
|
||
* unlock( object );
|
||
* // { a: 1 }
|
||
* ```
|
||
*
|
||
* @param {any} object The object to bind the private data to.
|
||
* @param {any} privateData The private data to bind to the object.
|
||
*/
|
||
|
||
function lock(object, privateData) {
|
||
if (!object) {
|
||
throw new Error('Cannot lock an undefined object.');
|
||
}
|
||
|
||
if (!(__private in object)) {
|
||
object[__private] = {};
|
||
}
|
||
|
||
lockedData.set(object[__private], privateData);
|
||
}
|
||
/**
|
||
* Unlocks the private data bound to an object.
|
||
*
|
||
* It does not alter the passed object in any way, only
|
||
* returns the private data paired with it using the `lock()`
|
||
* function.
|
||
*
|
||
* @example
|
||
* ```js
|
||
* const object = {};
|
||
* const privateData = { a: 1 };
|
||
* lock( object, privateData );
|
||
*
|
||
* object
|
||
* // {}
|
||
*
|
||
* unlock( object );
|
||
* // { a: 1 }
|
||
* ```
|
||
*
|
||
* @param {any} object The object to unlock the private data from.
|
||
* @return {any} The private data bound to the object.
|
||
*/
|
||
|
||
|
||
function unlock(object) {
|
||
if (!object) {
|
||
throw new Error('Cannot unlock an undefined object.');
|
||
}
|
||
|
||
if (!(__private in object)) {
|
||
throw new Error('Cannot unlock an object that was not locked before. ');
|
||
}
|
||
|
||
return lockedData.get(object[__private]);
|
||
}
|
||
|
||
const lockedData = new WeakMap();
|
||
/**
|
||
* Used by lock() and unlock() to uniquely identify the private data
|
||
* related to a containing object.
|
||
*/
|
||
|
||
const __private = Symbol('Private API ID'); // Unit tests utilities:
|
||
|
||
/**
|
||
* Private function to allow the unit tests to allow
|
||
* a mock module to access the private APIs.
|
||
*
|
||
* @param {string} name The name of the module.
|
||
*/
|
||
|
||
|
||
function allowCoreModule(name) {
|
||
CORE_MODULES_USING_PRIVATE_APIS.push(name);
|
||
}
|
||
/**
|
||
* Private function to allow the unit tests to set
|
||
* a custom list of allowed modules.
|
||
*/
|
||
|
||
function resetAllowedCoreModules() {
|
||
while (CORE_MODULES_USING_PRIVATE_APIS.length) {
|
||
CORE_MODULES_USING_PRIVATE_APIS.pop();
|
||
}
|
||
}
|
||
/**
|
||
* Private function to allow the unit tests to reset
|
||
* the list of registered private apis.
|
||
*/
|
||
|
||
function resetRegisteredPrivateApis() {
|
||
while (registeredPrivateApis.length) {
|
||
registeredPrivateApis.pop();
|
||
}
|
||
}
|
||
|
||
;// CONCATENATED MODULE: ./node_modules/@wordpress/private-apis/build-module/index.js
|
||
|
||
|
||
(window.wp = window.wp || {}).privateApis = __webpack_exports__;
|
||
/******/ })()
|
||
; |