From a415c29efee45520ae252d2aa28f1083a521cd7b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 09:56:49 +0200 Subject: Adding upstream version 6.4.3+dfsg1. Signed-off-by: Daniel Baumann --- wp-includes/js/dist/token-list.js | 249 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 wp-includes/js/dist/token-list.js (limited to 'wp-includes/js/dist/token-list.js') diff --git a/wp-includes/js/dist/token-list.js b/wp-includes/js/dist/token-list.js new file mode 100644 index 0000000..afedc15 --- /dev/null +++ b/wp-includes/js/dist/token-list.js @@ -0,0 +1,249 @@ +/******/ (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); } +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ TokenList; } +/* harmony export */ }); +/** + * A set of tokens. + * + * @see https://dom.spec.whatwg.org/#domtokenlist + */ +class TokenList { + /** + * Constructs a new instance of TokenList. + * + * @param {string} initialValue Initial value to assign. + */ + constructor(initialValue = '') { + this.value = initialValue; + + // Disable reason: These are type hints on the class. + /* eslint-disable no-unused-expressions */ + /** @type {string} */ + this._currentValue; + + /** @type {string[]} */ + this._valueAsArray; + /* eslint-enable no-unused-expressions */ + } + + /** + * @param {Parameters['entries']>} args + */ + entries(...args) { + return this._valueAsArray.entries(...args); + } + + /** + * @param {Parameters['forEach']>} args + */ + forEach(...args) { + return this._valueAsArray.forEach(...args); + } + + /** + * @param {Parameters['keys']>} args + */ + keys(...args) { + return this._valueAsArray.keys(...args); + } + + /** + * @param {Parameters['values']>} args + */ + values(...args) { + return this._valueAsArray.values(...args); + } + + /** + * Returns the associated set as string. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-value + * + * @return {string} Token set as string. + */ + get value() { + return this._currentValue; + } + + /** + * Replaces the associated set with a new string value. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-value + * + * @param {string} value New token set as string. + */ + set value(value) { + value = String(value); + this._valueAsArray = [...new Set(value.split(/\s+/g).filter(Boolean))]; + this._currentValue = this._valueAsArray.join(' '); + } + + /** + * Returns the number of tokens. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-length + * + * @return {number} Number of tokens. + */ + get length() { + return this._valueAsArray.length; + } + + /** + * Returns the stringified form of the TokenList. + * + * @see https://dom.spec.whatwg.org/#DOMTokenList-stringification-behavior + * @see https://www.ecma-international.org/ecma-262/9.0/index.html#sec-tostring + * + * @return {string} Token set as string. + */ + toString() { + return this.value; + } + + /** + * Returns an iterator for the TokenList, iterating items of the set. + * + * @see https://dom.spec.whatwg.org/#domtokenlist + * + * @return {IterableIterator} TokenList iterator. + */ + *[Symbol.iterator]() { + return yield* this._valueAsArray; + } + + /** + * Returns the token with index `index`. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-item + * + * @param {number} index Index at which to return token. + * + * @return {string|undefined} Token at index. + */ + item(index) { + return this._valueAsArray[index]; + } + + /** + * Returns true if `token` is present, and false otherwise. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-contains + * + * @param {string} item Token to test. + * + * @return {boolean} Whether token is present. + */ + contains(item) { + return this._valueAsArray.indexOf(item) !== -1; + } + + /** + * Adds all arguments passed, except those already present. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-add + * + * @param {...string} items Items to add. + */ + add(...items) { + this.value += ' ' + items.join(' '); + } + + /** + * Removes arguments passed, if they are present. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-remove + * + * @param {...string} items Items to remove. + */ + remove(...items) { + this.value = this._valueAsArray.filter(val => !items.includes(val)).join(' '); + } + + /** + * If `force` is not given, "toggles" `token`, removing it if it’s present + * and adding it if it’s not present. If `force` is true, adds token (same + * as add()). If force is false, removes token (same as remove()). Returns + * true if `token` is now present, and false otherwise. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-toggle + * + * @param {string} token Token to toggle. + * @param {boolean} [force] Presence to force. + * + * @return {boolean} Whether token is present after toggle. + */ + toggle(token, force) { + if (undefined === force) { + force = !this.contains(token); + } + if (force) { + this.add(token); + } else { + this.remove(token); + } + return force; + } + + /** + * Replaces `token` with `newToken`. Returns true if `token` was replaced + * with `newToken`, and false otherwise. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-replace + * + * @param {string} token Token to replace with `newToken`. + * @param {string} newToken Token to use in place of `token`. + * + * @return {boolean} Whether replacement occurred. + */ + replace(token, newToken) { + if (!this.contains(token)) { + return false; + } + this.remove(token); + this.add(newToken); + return true; + } + + /** + * Returns true if `token` is in the associated attribute’s supported + * tokens. Returns false otherwise. + * + * Always returns `true` in this implementation. + * + * @see https://dom.spec.whatwg.org/#dom-domtokenlist-supports + * + * @return {boolean} Whether token is supported. + */ + supports() { + return true; + } +} + +(window.wp = window.wp || {}).tokenList = __webpack_exports__["default"]; +/******/ })() +; \ No newline at end of file -- cgit v1.2.3