[ 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(initialValue = '') {
 122      this.value = initialValue; // Disable reason: These are type hints on the class.
 123  
 124      /* eslint-disable no-unused-expressions */
 125  
 126      /** @type {string} */
 127  
 128      this._currentValue;
 129      /** @type {string[]} */
 130  
 131      this._valueAsArray;
 132      /* eslint-enable no-unused-expressions */
 133    }
 134    /**
 135     * @param {Parameters<Array<string>['entries']>} args
 136     */
 137  
 138  
 139    entries(...args) {
 140      return this._valueAsArray.entries(...args);
 141    }
 142    /**
 143     * @param {Parameters<Array<string>['forEach']>} args
 144     */
 145  
 146  
 147    forEach(...args) {
 148      return this._valueAsArray.forEach(...args);
 149    }
 150    /**
 151     * @param {Parameters<Array<string>['keys']>} args
 152     */
 153  
 154  
 155    keys(...args) {
 156      return this._valueAsArray.keys(...args);
 157    }
 158    /**
 159     * @param {Parameters<Array<string>['values']>} args
 160     */
 161  
 162  
 163    values(...args) {
 164      return this._valueAsArray.values(...args);
 165    }
 166    /**
 167     * Returns the associated set as string.
 168     *
 169     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-value
 170     *
 171     * @return {string} Token set as string.
 172     */
 173  
 174  
 175    get value() {
 176      return this._currentValue;
 177    }
 178    /**
 179     * Replaces the associated set with a new string value.
 180     *
 181     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-value
 182     *
 183     * @param {string} value New token set as string.
 184     */
 185  
 186  
 187    set value(value) {
 188      value = String(value);
 189      this._valueAsArray = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["uniq"])(Object(lodash__WEBPACK_IMPORTED_MODULE_0__["compact"])(value.split(/\s+/g)));
 190      this._currentValue = this._valueAsArray.join(' ');
 191    }
 192    /**
 193     * Returns the number of tokens.
 194     *
 195     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-length
 196     *
 197     * @return {number} Number of tokens.
 198     */
 199  
 200  
 201    get length() {
 202      return this._valueAsArray.length;
 203    }
 204    /**
 205     * Returns the stringified form of the TokenList.
 206     *
 207     * @see https://dom.spec.whatwg.org/#DOMTokenList-stringification-behavior
 208     * @see https://www.ecma-international.org/ecma-262/9.0/index.html#sec-tostring
 209     *
 210     * @return {string} Token set as string.
 211     */
 212  
 213  
 214    toString() {
 215      return this.value;
 216    }
 217    /**
 218     * Returns an iterator for the TokenList, iterating items of the set.
 219     *
 220     * @see https://dom.spec.whatwg.org/#domtokenlist
 221     *
 222     * @return {IterableIterator<string>} TokenList iterator.
 223     */
 224  
 225  
 226    *[Symbol.iterator]() {
 227      return yield* this._valueAsArray;
 228    }
 229    /**
 230     * Returns the token with index `index`.
 231     *
 232     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-item
 233     *
 234     * @param {number} index Index at which to return token.
 235     *
 236     * @return {string|undefined} Token at index.
 237     */
 238  
 239  
 240    item(index) {
 241      return this._valueAsArray[index];
 242    }
 243    /**
 244     * Returns true if `token` is present, and false otherwise.
 245     *
 246     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-contains
 247     *
 248     * @param {string} item Token to test.
 249     *
 250     * @return {boolean} Whether token is present.
 251     */
 252  
 253  
 254    contains(item) {
 255      return this._valueAsArray.indexOf(item) !== -1;
 256    }
 257    /**
 258     * Adds all arguments passed, except those already present.
 259     *
 260     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-add
 261     *
 262     * @param {...string} items Items to add.
 263     */
 264  
 265  
 266    add(...items) {
 267      this.value += ' ' + items.join(' ');
 268    }
 269    /**
 270     * Removes arguments passed, if they are present.
 271     *
 272     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-remove
 273     *
 274     * @param {...string} items Items to remove.
 275     */
 276  
 277  
 278    remove(...items) {
 279      this.value = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["without"])(this._valueAsArray, ...items).join(' ');
 280    }
 281    /**
 282     * If `force` is not given, "toggles" `token`, removing it if it’s present
 283     * and adding it if it’s not present. If `force` is true, adds token (same
 284     * as add()). If force is false, removes token (same as remove()). Returns
 285     * true if `token` is now present, and false otherwise.
 286     *
 287     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-toggle
 288     *
 289     * @param {string}  token   Token to toggle.
 290     * @param {boolean} [force] Presence to force.
 291     *
 292     * @return {boolean} Whether token is present after toggle.
 293     */
 294  
 295  
 296    toggle(token, force) {
 297      if (undefined === force) {
 298        force = !this.contains(token);
 299      }
 300  
 301      if (force) {
 302        this.add(token);
 303      } else {
 304        this.remove(token);
 305      }
 306  
 307      return force;
 308    }
 309    /**
 310     * Replaces `token` with `newToken`. Returns true if `token` was replaced
 311     * with `newToken`, and false otherwise.
 312     *
 313     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-replace
 314     *
 315     * @param {string} token    Token to replace with `newToken`.
 316     * @param {string} newToken Token to use in place of `token`.
 317     *
 318     * @return {boolean} Whether replacement occurred.
 319     */
 320  
 321  
 322    replace(token, newToken) {
 323      if (!this.contains(token)) {
 324        return false;
 325      }
 326  
 327      this.remove(token);
 328      this.add(newToken);
 329      return true;
 330    }
 331    /**
 332     * Returns true if `token` is in the associated attribute’s supported
 333     * tokens. Returns false otherwise.
 334     *
 335     * Always returns `true` in this implementation.
 336     *
 337     * @see https://dom.spec.whatwg.org/#dom-domtokenlist-supports
 338     *
 339     * @return {boolean} Whether token is supported.
 340     */
 341  
 342  
 343    supports() {
 344      return true;
 345    }
 346  
 347  }
 348  
 349  
 350  /***/ })
 351  
 352  /******/ })["default"];


Generated: Sat Sep 18 01:00:04 2021 Cross-referenced by PHPXref 0.7.1