[ Index ]

PHP Cross Reference of WordPress

title

Body

[close]

/wp-includes/js/dist/ -> token-list.js (source)

   1  this["wp"] = this["wp"] || {}; this["wp"]["tokenList"] =
   2  /******/ (function(modules) { // webpackBootstrap
   3  /******/     // The module cache
   4  /******/     var installedModules = {};
   5  /******/
   6  /******/     // The require function
   7  /******/ 	function __webpack_require__(moduleId) {
   8  /******/
   9  /******/         // Check if module is in cache
  10  /******/         if(installedModules[moduleId]) {
  11  /******/             return installedModules[moduleId].exports;
  12  /******/         }
  13  /******/         // Create a new module (and put it into the cache)
  14  /******/         var module = installedModules[moduleId] = {
  15  /******/             i: moduleId,
  16  /******/             l: false,
  17  /******/             exports: {}
  18  /******/         };
  19  /******/
  20  /******/         // Execute the module function
  21  /******/         modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  22  /******/
  23  /******/         // Flag the module as loaded
  24  /******/         module.l = true;
  25  /******/
  26  /******/         // Return the exports of the module
  27  /******/         return module.exports;
  28  /******/     }
  29  /******/
  30  /******/
  31  /******/     // expose the modules object (__webpack_modules__)
  32  /******/     __webpack_require__.m = modules;
  33  /******/
  34  /******/     // expose the module cache
  35  /******/     __webpack_require__.c = installedModules;
  36  /******/
  37  /******/     // define getter function for harmony exports
  38  /******/     __webpack_require__.d = function(exports, name, getter) {
  39  /******/         if(!__webpack_require__.o(exports, name)) {
  40  /******/             Object.defineProperty(exports, name, { enumerable: true, get: getter });
  41  /******/         }
  42  /******/     };
  43  /******/
  44  /******/     // define __esModule on exports
  45  /******/     __webpack_require__.r = function(exports) {
  46  /******/         if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  47  /******/             Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  48  /******/         }
  49  /******/         Object.defineProperty(exports, '__esModule', { value: true });
  50  /******/     };
  51  /******/
  52  /******/     // create a fake namespace object
  53  /******/     // mode & 1: value is a module id, require it
  54  /******/     // mode & 2: merge all properties of value into the ns
  55  /******/     // mode & 4: return value when already ns object
  56  /******/     // mode & 8|1: behave like require
  57  /******/     __webpack_require__.t = function(value, mode) {
  58  /******/         if(mode & 1) value = __webpack_require__(value);
  59  /******/         if(mode & 8) return value;
  60  /******/         if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  61  /******/         var ns = Object.create(null);
  62  /******/         __webpack_require__.r(ns);
  63  /******/         Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  64  /******/         if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  65  /******/         return ns;
  66  /******/     };
  67  /******/
  68  /******/     // getDefaultExport function for compatibility with non-harmony modules
  69  /******/     __webpack_require__.n = function(module) {
  70  /******/         var getter = module && module.__esModule ?
  71  /******/ 			function getDefault() { return module['default']; } :
  72  /******/ 			function getModuleExports() { return module; };
  73  /******/         __webpack_require__.d(getter, 'a', getter);
  74  /******/         return getter;
  75  /******/     };
  76  /******/
  77  /******/     // Object.prototype.hasOwnProperty.call
  78  /******/     __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  79  /******/
  80  /******/     // __webpack_public_path__
  81  /******/     __webpack_require__.p = "";
  82  /******/
  83  /******/
  84  /******/     // Load entry module and return exports
  85  /******/     return __webpack_require__(__webpack_require__.s = "hwXU");
  86  /******/ })
  87  /************************************************************************/
  88  /******/ ({
  89  
  90  /***/ "YLtl":
  91  /***/ (function(module, exports) {
  92  
  93  (function() { module.exports = window["lodash"]; }());
  94  
  95  /***/ }),
  96  
  97  /***/ "hwXU":
  98  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  99  
 100  "use strict";
 101  __webpack_require__.r(__webpack_exports__);
 102  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return TokenList; });
 103  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl");
 104  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
 105  /**
 106   * External dependencies
 107   */
 108  
 109  /**
 110   * A set of tokens.
 111   *
 112   * @see https://dom.spec.whatwg.org/#domtokenlist
 113   */
 114  
 115  class TokenList {
 116    /**
 117     * Constructs a new instance of TokenList.
 118     *
 119     * @param {string} initialValue Initial value to assign.
 120     */
 121    constructor() {
 122      let initialValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
 123      this.value = initialValue; // Disable reason: These are type hints on the class.
 124  
 125      /* eslint-disable no-unused-expressions */
 126  
 127      /** @type {string} */
 128  
 129      this._currentValue;
 130      /** @type {string[]} */
 131  
 132      this._valueAsArray;
 133      /* eslint-enable no-unused-expressions */
 134    }
 135    /**
 136     * @param {Parameters<Array<string>['entries']>} args
 137     */
 138  
 139  
 140    entries() {
 141      return this._valueAsArray.entries(...arguments);
 142    }
 143    /**
 144     * @param {Parameters<Array<string>['forEach']>} args
 145     */
 146  
 147  
 148    forEach() {
 149      return this._valueAsArray.forEach(...arguments);
 150    }
 151    /**
 152     * @param {Parameters<Array<string>['keys']>} args
 153     */
 154  
 155  
 156    keys() {
 157      return this._valueAsArray.keys(...arguments);
 158    }
 159    /**
 160     * @param {Parameters<Array<string>['values']>} args
 161     */
 162  
 163  
 164    values() {
 165      return this._valueAsArray.values(...arguments);
 166    }
 167    /**
 168     * Returns the associated set as string.
 169     *
 170     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-value
 171     *
 172     * @return {string} Token set as string.
 173     */
 174  
 175  
 176    get value() {
 177      return this._currentValue;
 178    }
 179    /**
 180     * Replaces the associated set with a new string value.
 181     *
 182     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-value
 183     *
 184     * @param {string} value New token set as string.
 185     */
 186  
 187  
 188    set value(value) {
 189      value = String(value);
 190      this._valueAsArray = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["uniq"])(Object(lodash__WEBPACK_IMPORTED_MODULE_0__["compact"])(value.split(/\s+/g)));
 191      this._currentValue = this._valueAsArray.join(' ');
 192    }
 193    /**
 194     * Returns the number of tokens.
 195     *
 196     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-length
 197     *
 198     * @return {number} Number of tokens.
 199     */
 200  
 201  
 202    get length() {
 203      return this._valueAsArray.length;
 204    }
 205    /**
 206     * Returns the stringified form of the TokenList.
 207     *
 208     * @see https://dom.spec.whatwg.org/#DOMTokenList-stringification-behavior
 209     * @see https://www.ecma-international.org/ecma-262/9.0/index.html#sec-tostring
 210     *
 211     * @return {string} Token set as string.
 212     */
 213  
 214  
 215    toString() {
 216      return this.value;
 217    }
 218    /**
 219     * Returns an iterator for the TokenList, iterating items of the set.
 220     *
 221     * @see https://dom.spec.whatwg.org/#domtokenlist
 222     *
 223     * @return {IterableIterator<string>} TokenList iterator.
 224     */
 225  
 226  
 227    *[Symbol.iterator]() {
 228      return yield* this._valueAsArray;
 229    }
 230    /**
 231     * Returns the token with index `index`.
 232     *
 233     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-item
 234     *
 235     * @param {number} index Index at which to return token.
 236     *
 237     * @return {string|undefined} Token at index.
 238     */
 239  
 240  
 241    item(index) {
 242      return this._valueAsArray[index];
 243    }
 244    /**
 245     * Returns true if `token` is present, and false otherwise.
 246     *
 247     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-contains
 248     *
 249     * @param {string} item Token to test.
 250     *
 251     * @return {boolean} Whether token is present.
 252     */
 253  
 254  
 255    contains(item) {
 256      return this._valueAsArray.indexOf(item) !== -1;
 257    }
 258    /**
 259     * Adds all arguments passed, except those already present.
 260     *
 261     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-add
 262     *
 263     * @param {...string} items Items to add.
 264     */
 265  
 266  
 267    add() {
 268      for (var _len = arguments.length, items = new Array(_len), _key = 0; _key < _len; _key++) {
 269        items[_key] = arguments[_key];
 270      }
 271  
 272      this.value += ' ' + items.join(' ');
 273    }
 274    /**
 275     * Removes arguments passed, if they are present.
 276     *
 277     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-remove
 278     *
 279     * @param {...string} items Items to remove.
 280     */
 281  
 282  
 283    remove() {
 284      for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
 285        items[_key2] = arguments[_key2];
 286      }
 287  
 288      this.value = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["without"])(this._valueAsArray, ...items).join(' ');
 289    }
 290    /**
 291     * If `force` is not given, "toggles" `token`, removing it if it’s present
 292     * and adding it if it’s not present. If `force` is true, adds token (same
 293     * as add()). If force is false, removes token (same as remove()). Returns
 294     * true if `token` is now present, and false otherwise.
 295     *
 296     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-toggle
 297     *
 298     * @param {string}  token   Token to toggle.
 299     * @param {boolean} [force] Presence to force.
 300     *
 301     * @return {boolean} Whether token is present after toggle.
 302     */
 303  
 304  
 305    toggle(token, force) {
 306      if (undefined === force) {
 307        force = !this.contains(token);
 308      }
 309  
 310      if (force) {
 311        this.add(token);
 312      } else {
 313        this.remove(token);
 314      }
 315  
 316      return force;
 317    }
 318    /**
 319     * Replaces `token` with `newToken`. Returns true if `token` was replaced
 320     * with `newToken`, and false otherwise.
 321     *
 322     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-replace
 323     *
 324     * @param {string} token    Token to replace with `newToken`.
 325     * @param {string} newToken Token to use in place of `token`.
 326     *
 327     * @return {boolean} Whether replacement occurred.
 328     */
 329  
 330  
 331    replace(token, newToken) {
 332      if (!this.contains(token)) {
 333        return false;
 334      }
 335  
 336      this.remove(token);
 337      this.add(newToken);
 338      return true;
 339    }
 340    /**
 341     * Returns true if `token` is in the associated attribute’s supported
 342     * tokens. Returns false otherwise.
 343     *
 344     * Always returns `true` in this implementation.
 345     *
 346     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-supports
 347     *
 348     * @return {boolean} Whether token is supported.
 349     */
 350  
 351  
 352    supports() {
 353      return true;
 354    }
 355  
 356  }
 357  
 358  
 359  /***/ })
 360  
 361  /******/ })["default"];


Generated: Mon Jan 24 01:00:08 2022 Cross-referenced by PHPXref 0.7.1