[ Index ]

PHP Cross Reference of WordPress

title

Body

[close]

/wp-includes/js/dist/ -> components.js (source)

   1  this["wp"] = this["wp"] || {}; this["wp"]["components"] =
   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 = 258);
  86  /******/ })
  87  /************************************************************************/
  88  /******/ ([
  89  /* 0 */
  90  /***/ (function(module, exports) {
  91  
  92  (function() { module.exports = this["wp"]["element"]; }());
  93  
  94  /***/ }),
  95  /* 1 */
  96  /***/ (function(module, exports) {
  97  
  98  (function() { module.exports = this["wp"]["i18n"]; }());
  99  
 100  /***/ }),
 101  /* 2 */
 102  /***/ (function(module, exports) {
 103  
 104  (function() { module.exports = this["lodash"]; }());
 105  
 106  /***/ }),
 107  /* 3 */,
 108  /* 4 */,
 109  /* 5 */
 110  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 111  
 112  "use strict";
 113  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; });
 114  function _defineProperty(obj, key, value) {
 115    if (key in obj) {
 116      Object.defineProperty(obj, key, {
 117        value: value,
 118        enumerable: true,
 119        configurable: true,
 120        writable: true
 121      });
 122    } else {
 123      obj[key] = value;
 124    }
 125  
 126    return obj;
 127  }
 128  
 129  /***/ }),
 130  /* 6 */,
 131  /* 7 */
 132  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 133  
 134  "use strict";
 135  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; });
 136  function _assertThisInitialized(self) {
 137    if (self === void 0) {
 138      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
 139    }
 140  
 141    return self;
 142  }
 143  
 144  /***/ }),
 145  /* 8 */
 146  /***/ (function(module, exports) {
 147  
 148  (function() { module.exports = this["wp"]["compose"]; }());
 149  
 150  /***/ }),
 151  /* 9 */
 152  /***/ (function(module, exports) {
 153  
 154  (function() { module.exports = this["wp"]["primitives"]; }());
 155  
 156  /***/ }),
 157  /* 10 */,
 158  /* 11 */
 159  /***/ (function(module, exports, __webpack_require__) {
 160  
 161  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
 162    Copyright (c) 2017 Jed Watson.
 163    Licensed under the MIT License (MIT), see
 164    http://jedwatson.github.io/classnames
 165  */
 166  /* global define */
 167  
 168  (function () {
 169      'use strict';
 170  
 171      var hasOwn = {}.hasOwnProperty;
 172  
 173  	function classNames () {
 174          var classes = [];
 175  
 176          for (var i = 0; i < arguments.length; i++) {
 177              var arg = arguments[i];
 178              if (!arg) continue;
 179  
 180              var argType = typeof arg;
 181  
 182              if (argType === 'string' || argType === 'number') {
 183                  classes.push(arg);
 184              } else if (Array.isArray(arg) && arg.length) {
 185                  var inner = classNames.apply(null, arg);
 186                  if (inner) {
 187                      classes.push(inner);
 188                  }
 189              } else if (argType === 'object') {
 190                  for (var key in arg) {
 191                      if (hasOwn.call(arg, key) && arg[key]) {
 192                          classes.push(key);
 193                      }
 194                  }
 195              }
 196          }
 197  
 198          return classes.join(' ');
 199      }
 200  
 201      if ( true && module.exports) {
 202          classNames.default = classNames;
 203          module.exports = classNames;
 204      } else if (true) {
 205          // register as 'classnames', consistent with npm package name
 206          !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
 207              return classNames;
 208          }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
 209                  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
 210      } else {}
 211  }());
 212  
 213  
 214  /***/ }),
 215  /* 12 */
 216  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 217  
 218  "use strict";
 219  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
 220  function _extends() {
 221    _extends = Object.assign || function (target) {
 222      for (var i = 1; i < arguments.length; i++) {
 223        var source = arguments[i];
 224  
 225        for (var key in source) {
 226          if (Object.prototype.hasOwnProperty.call(source, key)) {
 227            target[key] = source[key];
 228          }
 229        }
 230      }
 231  
 232      return target;
 233    };
 234  
 235    return _extends.apply(this, arguments);
 236  }
 237  
 238  /***/ }),
 239  /* 13 */
 240  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 241  
 242  "use strict";
 243  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; });
 244  function _defineProperties(target, props) {
 245    for (var i = 0; i < props.length; i++) {
 246      var descriptor = props[i];
 247      descriptor.enumerable = descriptor.enumerable || false;
 248      descriptor.configurable = true;
 249      if ("value" in descriptor) descriptor.writable = true;
 250      Object.defineProperty(target, descriptor.key, descriptor);
 251    }
 252  }
 253  
 254  function _createClass(Constructor, protoProps, staticProps) {
 255    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
 256    if (staticProps) _defineProperties(Constructor, staticProps);
 257    return Constructor;
 258  }
 259  
 260  /***/ }),
 261  /* 14 */
 262  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 263  
 264  "use strict";
 265  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; });
 266  function _classCallCheck(instance, Constructor) {
 267    if (!(instance instanceof Constructor)) {
 268      throw new TypeError("Cannot call a class as a function");
 269    }
 270  }
 271  
 272  /***/ }),
 273  /* 15 */
 274  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 275  
 276  "use strict";
 277  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
 278  /* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34);
 279  /* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
 280  
 281  
 282  function _possibleConstructorReturn(self, call) {
 283    if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) {
 284      return call;
 285    }
 286  
 287    return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
 288  }
 289  
 290  /***/ }),
 291  /* 16 */
 292  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 293  
 294  "use strict";
 295  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
 296  function _getPrototypeOf(o) {
 297    _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
 298      return o.__proto__ || Object.getPrototypeOf(o);
 299    };
 300    return _getPrototypeOf(o);
 301  }
 302  
 303  /***/ }),
 304  /* 17 */
 305  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 306  
 307  "use strict";
 308  
 309  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
 310  function _setPrototypeOf(o, p) {
 311    _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
 312      o.__proto__ = p;
 313      return o;
 314    };
 315  
 316    return _setPrototypeOf(o, p);
 317  }
 318  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
 319  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inherits; });
 320  
 321  function _inherits(subClass, superClass) {
 322    if (typeof superClass !== "function" && superClass !== null) {
 323      throw new TypeError("Super expression must either be null or a function");
 324    }
 325  
 326    subClass.prototype = Object.create(superClass && superClass.prototype, {
 327      constructor: {
 328        value: subClass,
 329        writable: true,
 330        configurable: true
 331      }
 332    });
 333    if (superClass) _setPrototypeOf(subClass, superClass);
 334  }
 335  
 336  /***/ }),
 337  /* 18 */
 338  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 339  
 340  "use strict";
 341  
 342  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
 343  var arrayLikeToArray = __webpack_require__(25);
 344  
 345  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
 346  
 347  function _arrayWithoutHoles(arr) {
 348    if (Array.isArray(arr)) return Object(arrayLikeToArray["a" /* default */])(arr);
 349  }
 350  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
 351  var iterableToArray = __webpack_require__(35);
 352  
 353  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
 354  var unsupportedIterableToArray = __webpack_require__(27);
 355  
 356  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
 357  function _nonIterableSpread() {
 358    throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
 359  }
 360  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
 361  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _toConsumableArray; });
 362  
 363  
 364  
 365  
 366  function _toConsumableArray(arr) {
 367    return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || Object(unsupportedIterableToArray["a" /* default */])(arr) || _nonIterableSpread();
 368  }
 369  
 370  /***/ }),
 371  /* 19 */
 372  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 373  
 374  "use strict";
 375  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
 376  /* harmony import */ var _objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43);
 377  
 378  function _objectWithoutProperties(source, excluded) {
 379    if (source == null) return {};
 380    var target = Object(_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded);
 381    var key, i;
 382  
 383    if (Object.getOwnPropertySymbols) {
 384      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
 385  
 386      for (i = 0; i < sourceSymbolKeys.length; i++) {
 387        key = sourceSymbolKeys[i];
 388        if (excluded.indexOf(key) >= 0) continue;
 389        if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
 390        target[key] = source[key];
 391      }
 392    }
 393  
 394    return target;
 395  }
 396  
 397  /***/ }),
 398  /* 20 */
 399  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 400  
 401  "use strict";
 402  
 403  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
 404  var arrayWithHoles = __webpack_require__(38);
 405  
 406  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
 407  function _iterableToArrayLimit(arr, i) {
 408    if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
 409    var _arr = [];
 410    var _n = true;
 411    var _d = false;
 412    var _e = undefined;
 413  
 414    try {
 415      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
 416        _arr.push(_s.value);
 417  
 418        if (i && _arr.length === i) break;
 419      }
 420    } catch (err) {
 421      _d = true;
 422      _e = err;
 423    } finally {
 424      try {
 425        if (!_n && _i["return"] != null) _i["return"]();
 426      } finally {
 427        if (_d) throw _e;
 428      }
 429    }
 430  
 431    return _arr;
 432  }
 433  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
 434  var unsupportedIterableToArray = __webpack_require__(27);
 435  
 436  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
 437  var nonIterableRest = __webpack_require__(39);
 438  
 439  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
 440  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _slicedToArray; });
 441  
 442  
 443  
 444  
 445  function _slicedToArray(arr, i) {
 446    return Object(arrayWithHoles["a" /* default */])(arr) || _iterableToArrayLimit(arr, i) || Object(unsupportedIterableToArray["a" /* default */])(arr, i) || Object(nonIterableRest["a" /* default */])();
 447  }
 448  
 449  /***/ }),
 450  /* 21 */
 451  /***/ (function(module, exports) {
 452  
 453  (function() { module.exports = this["React"]; }());
 454  
 455  /***/ }),
 456  /* 22 */
 457  /***/ (function(module, exports) {
 458  
 459  (function() { module.exports = this["wp"]["keycodes"]; }());
 460  
 461  /***/ }),
 462  /* 23 */
 463  /***/ (function(module, exports) {
 464  
 465  (function() { module.exports = this["regeneratorRuntime"]; }());
 466  
 467  /***/ }),
 468  /* 24 */
 469  /***/ (function(module, exports) {
 470  
 471  (function() { module.exports = this["wp"]["richText"]; }());
 472  
 473  /***/ }),
 474  /* 25 */
 475  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 476  
 477  "use strict";
 478  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayLikeToArray; });
 479  function _arrayLikeToArray(arr, len) {
 480    if (len == null || len > arr.length) len = arr.length;
 481  
 482    for (var i = 0, arr2 = new Array(len); i < len; i++) {
 483      arr2[i] = arr[i];
 484    }
 485  
 486    return arr2;
 487  }
 488  
 489  /***/ }),
 490  /* 26 */
 491  /***/ (function(module, exports, __webpack_require__) {
 492  
 493  /**
 494   * Copyright (c) 2013-present, Facebook, Inc.
 495   *
 496   * This source code is licensed under the MIT license found in the
 497   * LICENSE file in the root directory of this source tree.
 498   */
 499  
 500  if (false) { var throwOnDirectAccess, ReactIs; } else {
 501    // By explicitly using `prop-types` you are opting into new production behavior.
 502    // http://fb.me/prop-types-in-prod
 503    module.exports = __webpack_require__(118)();
 504  }
 505  
 506  
 507  /***/ }),
 508  /* 27 */
 509  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 510  
 511  "use strict";
 512  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _unsupportedIterableToArray; });
 513  /* harmony import */ var _arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25);
 514  
 515  function _unsupportedIterableToArray(o, minLen) {
 516    if (!o) return;
 517    if (typeof o === "string") return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen);
 518    var n = Object.prototype.toString.call(o).slice(8, -1);
 519    if (n === "Object" && o.constructor) n = o.constructor.name;
 520    if (n === "Map" || n === "Set") return Array.from(n);
 521    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen);
 522  }
 523  
 524  /***/ }),
 525  /* 28 */
 526  /***/ (function(module, exports) {
 527  
 528  (function() { module.exports = this["wp"]["dom"]; }());
 529  
 530  /***/ }),
 531  /* 29 */,
 532  /* 30 */,
 533  /* 31 */,
 534  /* 32 */
 535  /***/ (function(module, exports) {
 536  
 537  (function() { module.exports = this["wp"]["hooks"]; }());
 538  
 539  /***/ }),
 540  /* 33 */
 541  /***/ (function(module, exports) {
 542  
 543  (function() { module.exports = this["moment"]; }());
 544  
 545  /***/ }),
 546  /* 34 */
 547  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 548  
 549  "use strict";
 550  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
 551  function _typeof(obj) {
 552    "@babel/helpers - typeof";
 553  
 554    if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
 555      _typeof = function _typeof(obj) {
 556        return typeof obj;
 557      };
 558    } else {
 559      _typeof = function _typeof(obj) {
 560        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
 561      };
 562    }
 563  
 564    return _typeof(obj);
 565  }
 566  
 567  /***/ }),
 568  /* 35 */
 569  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 570  
 571  "use strict";
 572  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _iterableToArray; });
 573  function _iterableToArray(iter) {
 574    if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
 575  }
 576  
 577  /***/ }),
 578  /* 36 */
 579  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 580  
 581  "use strict";
 582  /* unused harmony export Button */
 583  /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12);
 584  /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
 585  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
 586  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
 587  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11);
 588  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
 589  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
 590  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
 591  /* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(37);
 592  /* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_5__);
 593  /* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(110);
 594  /* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(86);
 595  
 596  
 597  
 598  
 599  /**
 600   * External dependencies
 601   */
 602  
 603  
 604  /**
 605   * WordPress dependencies
 606   */
 607  
 608  
 609  
 610  /**
 611   * Internal dependencies
 612   */
 613  
 614  
 615  
 616  var disabledEventsOnDisabledButton = ['onMouseDown', 'onClick'];
 617  function Button(props, ref) {
 618    var href = props.href,
 619        target = props.target,
 620        isPrimary = props.isPrimary,
 621        isLarge = props.isLarge,
 622        isSmall = props.isSmall,
 623        isTertiary = props.isTertiary,
 624        isPressed = props.isPressed,
 625        isBusy = props.isBusy,
 626        isDefault = props.isDefault,
 627        isSecondary = props.isSecondary,
 628        isLink = props.isLink,
 629        isDestructive = props.isDestructive,
 630        className = props.className,
 631        disabled = props.disabled,
 632        icon = props.icon,
 633        iconSize = props.iconSize,
 634        showTooltip = props.showTooltip,
 635        tooltipPosition = props.tooltipPosition,
 636        shortcut = props.shortcut,
 637        label = props.label,
 638        children = props.children,
 639        isFocusable = props.__experimentalIsFocusable,
 640        additionalProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(props, ["href", "target", "isPrimary", "isLarge", "isSmall", "isTertiary", "isPressed", "isBusy", "isDefault", "isSecondary", "isLink", "isDestructive", "className", "disabled", "icon", "iconSize", "showTooltip", "tooltipPosition", "shortcut", "label", "children", "__experimentalIsFocusable"]);
 641  
 642    if (isDefault) {
 643      _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_5___default()('Button isDefault prop', {
 644        alternative: 'isSecondary'
 645      });
 646    }
 647  
 648    var classes = classnames__WEBPACK_IMPORTED_MODULE_3___default()('components-button', className, {
 649      'is-secondary': isDefault || isSecondary,
 650      'is-primary': isPrimary,
 651      'is-large': isLarge,
 652      'is-small': isSmall,
 653      'is-tertiary': isTertiary,
 654      'is-pressed': isPressed,
 655      'is-busy': isBusy,
 656      'is-link': isLink,
 657      'is-destructive': isDestructive,
 658      'has-text': !!icon && !!children,
 659      'has-icon': !!icon
 660    });
 661    var trulyDisabled = disabled && !isFocusable;
 662    var Tag = href !== undefined && !trulyDisabled ? 'a' : 'button';
 663    var tagProps = Tag === 'a' ? {
 664      href: href,
 665      target: target
 666    } : {
 667      type: 'button',
 668      disabled: trulyDisabled,
 669      'aria-pressed': isPressed
 670    };
 671  
 672    if (disabled && isFocusable) {
 673      // In this case, the button will be disabled, but still focusable and
 674      // perceivable by screen reader users.
 675      tagProps['aria-disabled'] = true;
 676      var _iteratorNormalCompletion = true;
 677      var _didIteratorError = false;
 678      var _iteratorError = undefined;
 679  
 680      try {
 681        for (var _iterator = disabledEventsOnDisabledButton[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
 682          var disabledEvent = _step.value;
 683  
 684          additionalProps[disabledEvent] = function (event) {
 685            event.stopPropagation();
 686            event.preventDefault();
 687          };
 688        }
 689      } catch (err) {
 690        _didIteratorError = true;
 691        _iteratorError = err;
 692      } finally {
 693        try {
 694          if (!_iteratorNormalCompletion && _iterator.return != null) {
 695            _iterator.return();
 696          }
 697        } finally {
 698          if (_didIteratorError) {
 699            throw _iteratorError;
 700          }
 701        }
 702      }
 703    } // Should show the tooltip if...
 704  
 705  
 706    var shouldShowTooltip = !trulyDisabled && ( // an explicit tooltip is passed or...
 707    showTooltip && label || // there's a shortcut or...
 708    shortcut || // there's a label and...
 709    !!label && ( // the children are empty and...
 710    !children || Object(lodash__WEBPACK_IMPORTED_MODULE_4__["isArray"])(children) && !children.length) && // the tooltip is not explicitly disabled.
 711    false !== showTooltip);
 712    var element = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(Tag, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, tagProps, additionalProps, {
 713      className: classes,
 714      "aria-label": additionalProps['aria-label'] || label,
 715      ref: ref
 716    }), icon && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_icon__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], {
 717      icon: icon,
 718      size: iconSize
 719    }), children);
 720  
 721    if (!shouldShowTooltip) {
 722      return element;
 723    }
 724  
 725    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_tooltip__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], {
 726      text: label,
 727      shortcut: shortcut,
 728      position: tooltipPosition
 729    }, element);
 730  }
 731  /* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["forwardRef"])(Button));
 732  
 733  
 734  /***/ }),
 735  /* 37 */
 736  /***/ (function(module, exports) {
 737  
 738  (function() { module.exports = this["wp"]["deprecated"]; }());
 739  
 740  /***/ }),
 741  /* 38 */
 742  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 743  
 744  "use strict";
 745  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayWithHoles; });
 746  function _arrayWithHoles(arr) {
 747    if (Array.isArray(arr)) return arr;
 748  }
 749  
 750  /***/ }),
 751  /* 39 */
 752  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 753  
 754  "use strict";
 755  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _nonIterableRest; });
 756  function _nonIterableRest() {
 757    throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
 758  }
 759  
 760  /***/ }),
 761  /* 40 */,
 762  /* 41 */,
 763  /* 42 */,
 764  /* 43 */
 765  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 766  
 767  "use strict";
 768  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
 769  function _objectWithoutPropertiesLoose(source, excluded) {
 770    if (source == null) return {};
 771    var target = {};
 772    var sourceKeys = Object.keys(source);
 773    var key, i;
 774  
 775    for (i = 0; i < sourceKeys.length; i++) {
 776      key = sourceKeys[i];
 777      if (excluded.indexOf(key) >= 0) continue;
 778      target[key] = source[key];
 779    }
 780  
 781    return target;
 782  }
 783  
 784  /***/ }),
 785  /* 44 */,
 786  /* 45 */
 787  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 788  
 789  "use strict";
 790  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
 791  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _objectSpread2; });
 792  function _defineProperty(obj, key, value) {
 793    if (key in obj) {
 794      Object.defineProperty(obj, key, {
 795        value: value,
 796        enumerable: true,
 797        configurable: true,
 798        writable: true
 799      });
 800    } else {
 801      obj[key] = value;
 802    }
 803  
 804    return obj;
 805  }
 806  
 807  function ownKeys(object, enumerableOnly) {
 808    var keys = Object.keys(object);
 809  
 810    if (Object.getOwnPropertySymbols) {
 811      var symbols = Object.getOwnPropertySymbols(object);
 812      if (enumerableOnly) symbols = symbols.filter(function (sym) {
 813        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
 814      });
 815      keys.push.apply(keys, symbols);
 816    }
 817  
 818    return keys;
 819  }
 820  
 821  function _objectSpread2(target) {
 822    for (var i = 1; i < arguments.length; i++) {
 823      var source = arguments[i] != null ? arguments[i] : {};
 824  
 825      if (i % 2) {
 826        ownKeys(Object(source), true).forEach(function (key) {
 827          _defineProperty(target, key, source[key]);
 828        });
 829      } else if (Object.getOwnPropertyDescriptors) {
 830        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
 831      } else {
 832        ownKeys(Object(source)).forEach(function (key) {
 833          Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
 834        });
 835      }
 836    }
 837  
 838    return target;
 839  }
 840  
 841  function _objectWithoutPropertiesLoose(source, excluded) {
 842    if (source == null) return {};
 843    var target = {};
 844    var sourceKeys = Object.keys(source);
 845    var key, i;
 846  
 847    for (i = 0; i < sourceKeys.length; i++) {
 848      key = sourceKeys[i];
 849      if (excluded.indexOf(key) >= 0) continue;
 850      target[key] = source[key];
 851    }
 852  
 853    return target;
 854  }
 855  
 856  
 857  
 858  
 859  /***/ }),
 860  /* 46 */,
 861  /* 47 */
 862  /***/ (function(module, exports, __webpack_require__) {
 863  
 864  "use strict";
 865  
 866  
 867  Object.defineProperty(exports, "__esModule", {
 868    value: true
 869  });
 870  var DISPLAY_FORMAT = exports.DISPLAY_FORMAT = 'L';
 871  var ISO_FORMAT = exports.ISO_FORMAT = 'YYYY-MM-DD';
 872  var ISO_MONTH_FORMAT = exports.ISO_MONTH_FORMAT = 'YYYY-MM';
 873  
 874  var START_DATE = exports.START_DATE = 'startDate';
 875  var END_DATE = exports.END_DATE = 'endDate';
 876  
 877  var HORIZONTAL_ORIENTATION = exports.HORIZONTAL_ORIENTATION = 'horizontal';
 878  var VERTICAL_ORIENTATION = exports.VERTICAL_ORIENTATION = 'vertical';
 879  var VERTICAL_SCROLLABLE = exports.VERTICAL_SCROLLABLE = 'verticalScrollable';
 880  
 881  var ICON_BEFORE_POSITION = exports.ICON_BEFORE_POSITION = 'before';
 882  var ICON_AFTER_POSITION = exports.ICON_AFTER_POSITION = 'after';
 883  
 884  var INFO_POSITION_TOP = exports.INFO_POSITION_TOP = 'top';
 885  var INFO_POSITION_BOTTOM = exports.INFO_POSITION_BOTTOM = 'bottom';
 886  var INFO_POSITION_BEFORE = exports.INFO_POSITION_BEFORE = 'before';
 887  var INFO_POSITION_AFTER = exports.INFO_POSITION_AFTER = 'after';
 888  
 889  var ANCHOR_LEFT = exports.ANCHOR_LEFT = 'left';
 890  var ANCHOR_RIGHT = exports.ANCHOR_RIGHT = 'right';
 891  
 892  var OPEN_DOWN = exports.OPEN_DOWN = 'down';
 893  var OPEN_UP = exports.OPEN_UP = 'up';
 894  
 895  var DAY_SIZE = exports.DAY_SIZE = 39;
 896  var BLOCKED_MODIFIER = exports.BLOCKED_MODIFIER = 'blocked';
 897  var WEEKDAYS = exports.WEEKDAYS = [0, 1, 2, 3, 4, 5, 6];
 898  
 899  var FANG_WIDTH_PX = exports.FANG_WIDTH_PX = 20;
 900  var FANG_HEIGHT_PX = exports.FANG_HEIGHT_PX = 10;
 901  var DEFAULT_VERTICAL_SPACING = exports.DEFAULT_VERTICAL_SPACING = 22;
 902  
 903  var MODIFIER_KEY_NAMES = exports.MODIFIER_KEY_NAMES = new Set(['Shift', 'Control', 'Alt', 'Meta']);
 904  
 905  /***/ }),
 906  /* 48 */,
 907  /* 49 */
 908  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 909  
 910  "use strict";
 911  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _asyncToGenerator; });
 912  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
 913    try {
 914      var info = gen[key](arg);
 915      var value = info.value;
 916    } catch (error) {
 917      reject(error);
 918      return;
 919    }
 920  
 921    if (info.done) {
 922      resolve(value);
 923    } else {
 924      Promise.resolve(value).then(_next, _throw);
 925    }
 926  }
 927  
 928  function _asyncToGenerator(fn) {
 929    return function () {
 930      var self = this,
 931          args = arguments;
 932      return new Promise(function (resolve, reject) {
 933        var gen = fn.apply(self, args);
 934  
 935        function _next(value) {
 936          asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
 937        }
 938  
 939        function _throw(err) {
 940          asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
 941        }
 942  
 943        _next(undefined);
 944      });
 945    };
 946  }
 947  
 948  /***/ }),
 949  /* 50 */
 950  /***/ (function(module, exports) {
 951  
 952  (function() { module.exports = this["wp"]["a11y"]; }());
 953  
 954  /***/ }),
 955  /* 51 */
 956  /***/ (function(module, exports) {
 957  
 958  (function() { module.exports = this["wp"]["isShallowEqual"]; }());
 959  
 960  /***/ }),
 961  /* 52 */
 962  /***/ (function(module, exports, __webpack_require__) {
 963  
 964  "use strict";
 965  
 966  
 967  /* globals
 968      Atomics,
 969      SharedArrayBuffer,
 970  */
 971  
 972  var undefined;
 973  
 974  var $TypeError = TypeError;
 975  
 976  var $gOPD = Object.getOwnPropertyDescriptor;
 977  if ($gOPD) {
 978      try {
 979          $gOPD({}, '');
 980      } catch (e) {
 981          $gOPD = null; // this is IE 8, which has a broken gOPD
 982      }
 983  }
 984  
 985  var throwTypeError = function () { throw new $TypeError(); };
 986  var ThrowTypeError = $gOPD
 987      ? (function () {
 988          try {
 989              // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
 990              arguments.callee; // IE 8 does not throw here
 991              return throwTypeError;
 992          } catch (calleeThrows) {
 993              try {
 994                  // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
 995                  return $gOPD(arguments, 'callee').get;
 996              } catch (gOPDthrows) {
 997                  return throwTypeError;
 998              }
 999          }
1000      }())
1001      : throwTypeError;
1002  
1003  var hasSymbols = __webpack_require__(301)();
1004  
1005  var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
1006  
1007  var generator; // = function * () {};
1008  var generatorFunction = generator ? getProto(generator) : undefined;
1009  var asyncFn; // async function() {};
1010  var asyncFunction = asyncFn ? asyncFn.constructor : undefined;
1011  var asyncGen; // async function * () {};
1012  var asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;
1013  var asyncGenIterator = asyncGen ? asyncGen() : undefined;
1014  
1015  var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
1016  
1017  var INTRINSICS = {
1018      '%Array%': Array,
1019      '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
1020      '%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,
1021      '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
1022      '%ArrayPrototype%': Array.prototype,
1023      '%ArrayProto_entries%': Array.prototype.entries,
1024      '%ArrayProto_forEach%': Array.prototype.forEach,
1025      '%ArrayProto_keys%': Array.prototype.keys,
1026      '%ArrayProto_values%': Array.prototype.values,
1027      '%AsyncFromSyncIteratorPrototype%': undefined,
1028      '%AsyncFunction%': asyncFunction,
1029      '%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,
1030      '%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,
1031      '%AsyncGeneratorFunction%': asyncGenFunction,
1032      '%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,
1033      '%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,
1034      '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
1035      '%Boolean%': Boolean,
1036      '%BooleanPrototype%': Boolean.prototype,
1037      '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
1038      '%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,
1039      '%Date%': Date,
1040      '%DatePrototype%': Date.prototype,
1041      '%decodeURI%': decodeURI,
1042      '%decodeURIComponent%': decodeURIComponent,
1043      '%encodeURI%': encodeURI,
1044      '%encodeURIComponent%': encodeURIComponent,
1045      '%Error%': Error,
1046      '%ErrorPrototype%': Error.prototype,
1047      '%eval%': eval, // eslint-disable-line no-eval
1048      '%EvalError%': EvalError,
1049      '%EvalErrorPrototype%': EvalError.prototype,
1050      '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
1051      '%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,
1052      '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
1053      '%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,
1054      '%Function%': Function,
1055      '%FunctionPrototype%': Function.prototype,
1056      '%Generator%': generator ? getProto(generator()) : undefined,
1057      '%GeneratorFunction%': generatorFunction,
1058      '%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,
1059      '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
1060      '%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,
1061      '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
1062      '%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,
1063      '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
1064      '%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,
1065      '%isFinite%': isFinite,
1066      '%isNaN%': isNaN,
1067      '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
1068      '%JSON%': typeof JSON === 'object' ? JSON : undefined,
1069      '%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,
1070      '%Map%': typeof Map === 'undefined' ? undefined : Map,
1071      '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
1072      '%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,
1073      '%Math%': Math,
1074      '%Number%': Number,
1075      '%NumberPrototype%': Number.prototype,
1076      '%Object%': Object,
1077      '%ObjectPrototype%': Object.prototype,
1078      '%ObjProto_toString%': Object.prototype.toString,
1079      '%ObjProto_valueOf%': Object.prototype.valueOf,
1080      '%parseFloat%': parseFloat,
1081      '%parseInt%': parseInt,
1082      '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
1083      '%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,
1084      '%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,
1085      '%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,
1086      '%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,
1087      '%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,
1088      '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
1089      '%RangeError%': RangeError,
1090      '%RangeErrorPrototype%': RangeError.prototype,
1091      '%ReferenceError%': ReferenceError,
1092      '%ReferenceErrorPrototype%': ReferenceError.prototype,
1093      '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
1094      '%RegExp%': RegExp,
1095      '%RegExpPrototype%': RegExp.prototype,
1096      '%Set%': typeof Set === 'undefined' ? undefined : Set,
1097      '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
1098      '%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,
1099      '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
1100      '%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,
1101      '%String%': String,
1102      '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
1103      '%StringPrototype%': String.prototype,
1104      '%Symbol%': hasSymbols ? Symbol : undefined,
1105      '%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,
1106      '%SyntaxError%': SyntaxError,
1107      '%SyntaxErrorPrototype%': SyntaxError.prototype,
1108      '%ThrowTypeError%': ThrowTypeError,
1109      '%TypedArray%': TypedArray,
1110      '%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,
1111      '%TypeError%': $TypeError,
1112      '%TypeErrorPrototype%': $TypeError.prototype,
1113      '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
1114      '%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,
1115      '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
1116      '%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,
1117      '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
1118      '%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,
1119      '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
1120      '%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,
1121      '%URIError%': URIError,
1122      '%URIErrorPrototype%': URIError.prototype,
1123      '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
1124      '%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,
1125      '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,
1126      '%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype
1127  };
1128  
1129  var bind = __webpack_require__(93);
1130  var $replace = bind.call(Function.call, String.prototype.replace);
1131  
1132  /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
1133  var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
1134  var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
1135  var stringToPath = function stringToPath(string) {
1136      var result = [];
1137      $replace(string, rePropName, function (match, number, quote, subString) {
1138          result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);
1139      });
1140      return result;
1141  };
1142  /* end adaptation */
1143  
1144  var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
1145      if (!(name in INTRINSICS)) {
1146          throw new SyntaxError('intrinsic ' + name + ' does not exist!');
1147      }
1148  
1149      // istanbul ignore if // hopefully this is impossible to test :-)
1150      if (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {
1151          throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
1152      }
1153  
1154      return INTRINSICS[name];
1155  };
1156  
1157  module.exports = function GetIntrinsic(name, allowMissing) {
1158      if (typeof name !== 'string' || name.length === 0) {
1159          throw new TypeError('intrinsic name must be a non-empty string');
1160      }
1161      if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
1162          throw new TypeError('"allowMissing" argument must be a boolean');
1163      }
1164  
1165      var parts = stringToPath(name);
1166  
1167      var value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);
1168      for (var i = 1; i < parts.length; i += 1) {
1169          if (value != null) {
1170              if ($gOPD && (i + 1) >= parts.length) {
1171                  var desc = $gOPD(value, parts[i]);
1172                  if (!allowMissing && !(parts[i] in value)) {
1173                      throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
1174                  }
1175                  value = desc ? (desc.get || desc.value) : value[parts[i]];
1176              } else {
1177                  value = value[parts[i]];
1178              }
1179          }
1180      }
1181      return value;
1182  };
1183  
1184  
1185  /***/ }),
1186  /* 53 */
1187  /***/ (function(module, exports, __webpack_require__) {
1188  
1189  module.exports =  true ? __webpack_require__(347) : undefined;
1190  
1191  
1192  
1193  /***/ }),
1194  /* 54 */
1195  /***/ (function(module, exports, __webpack_require__) {
1196  
1197  var __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1
1198  // https://github.com/bgrins/TinyColor
1199  // Brian Grinstead, MIT License
1200  
1201  (function(Math) {
1202  
1203  var trimLeft = /^\s+/,
1204      trimRight = /\s+$/,
1205      tinyCounter = 0,
1206      mathRound = Math.round,
1207      mathMin = Math.min,
1208      mathMax = Math.max,
1209      mathRandom = Math.random;
1210  
1211  function tinycolor (color, opts) {
1212  
1213      color = (color) ? color : '';
1214      opts = opts || { };
1215  
1216      // If input is already a tinycolor, return itself
1217      if (color instanceof tinycolor) {
1218         return color;
1219      }
1220      // If we are called as a function, call using new instead
1221      if (!(this instanceof tinycolor)) {
1222          return new tinycolor(color, opts);
1223      }
1224  
1225      var rgb = inputToRGB(color);
1226      this._originalInput = color,
1227      this._r = rgb.r,
1228      this._g = rgb.g,
1229      this._b = rgb.b,
1230      this._a = rgb.a,
1231      this._roundA = mathRound(100*this._a) / 100,
1232      this._format = opts.format || rgb.format;
1233      this._gradientType = opts.gradientType;
1234  
1235      // Don't let the range of [0,255] come back in [0,1].
1236      // Potentially lose a little bit of precision here, but will fix issues where
1237      // .5 gets interpreted as half of the total, instead of half of 1
1238      // If it was supposed to be 128, this was already taken care of by `inputToRgb`
1239      if (this._r < 1) { this._r = mathRound(this._r); }
1240      if (this._g < 1) { this._g = mathRound(this._g); }
1241      if (this._b < 1) { this._b = mathRound(this._b); }
1242  
1243      this._ok = rgb.ok;
1244      this._tc_id = tinyCounter++;
1245  }
1246  
1247  tinycolor.prototype = {
1248      isDark: function() {
1249          return this.getBrightness() < 128;
1250      },
1251      isLight: function() {
1252          return !this.isDark();
1253      },
1254      isValid: function() {
1255          return this._ok;
1256      },
1257      getOriginalInput: function() {
1258        return this._originalInput;
1259      },
1260      getFormat: function() {
1261          return this._format;
1262      },
1263      getAlpha: function() {
1264          return this._a;
1265      },
1266      getBrightness: function() {
1267          //http://www.w3.org/TR/AERT#color-contrast
1268          var rgb = this.toRgb();
1269          return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;
1270      },
1271      getLuminance: function() {
1272          //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
1273          var rgb = this.toRgb();
1274          var RsRGB, GsRGB, BsRGB, R, G, B;
1275          RsRGB = rgb.r/255;
1276          GsRGB = rgb.g/255;
1277          BsRGB = rgb.b/255;
1278  
1279          if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}
1280          if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}
1281          if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}
1282          return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);
1283      },
1284      setAlpha: function(value) {
1285          this._a = boundAlpha(value);
1286          this._roundA = mathRound(100*this._a) / 100;
1287          return this;
1288      },
1289      toHsv: function() {
1290          var hsv = rgbToHsv(this._r, this._g, this._b);
1291          return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };
1292      },
1293      toHsvString: function() {
1294          var hsv = rgbToHsv(this._r, this._g, this._b);
1295          var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);
1296          return (this._a == 1) ?
1297            "hsv("  + h + ", " + s + "%, " + v + "%)" :
1298            "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")";
1299      },
1300      toHsl: function() {
1301          var hsl = rgbToHsl(this._r, this._g, this._b);
1302          return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };
1303      },
1304      toHslString: function() {
1305          var hsl = rgbToHsl(this._r, this._g, this._b);
1306          var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);
1307          return (this._a == 1) ?
1308            "hsl("  + h + ", " + s + "%, " + l + "%)" :
1309            "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")";
1310      },
1311      toHex: function(allow3Char) {
1312          return rgbToHex(this._r, this._g, this._b, allow3Char);
1313      },
1314      toHexString: function(allow3Char) {
1315          return '#' + this.toHex(allow3Char);
1316      },
1317      toHex8: function(allow4Char) {
1318          return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);
1319      },
1320      toHex8String: function(allow4Char) {
1321          return '#' + this.toHex8(allow4Char);
1322      },
1323      toRgb: function() {
1324          return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };
1325      },
1326      toRgbString: function() {
1327          return (this._a == 1) ?
1328            "rgb("  + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" :
1329            "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")";
1330      },
1331      toPercentageRgb: function() {
1332          return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a };
1333      },
1334      toPercentageRgbString: function() {
1335          return (this._a == 1) ?
1336            "rgb("  + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" :
1337            "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")";
1338      },
1339      toName: function() {
1340          if (this._a === 0) {
1341              return "transparent";
1342          }
1343  
1344          if (this._a < 1) {
1345              return false;
1346          }
1347  
1348          return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;
1349      },
1350      toFilter: function(secondColor) {
1351          var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);
1352          var secondHex8String = hex8String;
1353          var gradientType = this._gradientType ? "GradientType = 1, " : "";
1354  
1355          if (secondColor) {
1356              var s = tinycolor(secondColor);
1357              secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);
1358          }
1359  
1360          return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")";
1361      },
1362      toString: function(format) {
1363          var formatSet = !!format;
1364          format = format || this._format;
1365  
1366          var formattedString = false;
1367          var hasAlpha = this._a < 1 && this._a >= 0;
1368          var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name");
1369  
1370          if (needsAlphaFormat) {
1371              // Special case for "transparent", all other non-alpha formats
1372              // will return rgba when there is transparency.
1373              if (format === "name" && this._a === 0) {
1374                  return this.toName();
1375              }
1376              return this.toRgbString();
1377          }
1378          if (format === "rgb") {
1379              formattedString = this.toRgbString();
1380          }
1381          if (format === "prgb") {
1382              formattedString = this.toPercentageRgbString();
1383          }
1384          if (format === "hex" || format === "hex6") {
1385              formattedString = this.toHexString();
1386          }
1387          if (format === "hex3") {
1388              formattedString = this.toHexString(true);
1389          }
1390          if (format === "hex4") {
1391              formattedString = this.toHex8String(true);
1392          }
1393          if (format === "hex8") {
1394              formattedString = this.toHex8String();
1395          }
1396          if (format === "name") {
1397              formattedString = this.toName();
1398          }
1399          if (format === "hsl") {
1400              formattedString = this.toHslString();
1401          }
1402          if (format === "hsv") {
1403              formattedString = this.toHsvString();
1404          }
1405  
1406          return formattedString || this.toHexString();
1407      },
1408      clone: function() {
1409          return tinycolor(this.toString());
1410      },
1411  
1412      _applyModification: function(fn, args) {
1413          var color = fn.apply(null, [this].concat([].slice.call(args)));
1414          this._r = color._r;
1415          this._g = color._g;
1416          this._b = color._b;
1417          this.setAlpha(color._a);
1418          return this;
1419      },
1420      lighten: function() {
1421          return this._applyModification(lighten, arguments);
1422      },
1423      brighten: function() {
1424          return this._applyModification(brighten, arguments);
1425      },
1426      darken: function() {
1427          return this._applyModification(darken, arguments);
1428      },
1429      desaturate: function() {
1430          return this._applyModification(desaturate, arguments);
1431      },
1432      saturate: function() {
1433          return this._applyModification(saturate, arguments);
1434      },
1435      greyscale: function() {
1436          return this._applyModification(greyscale, arguments);
1437      },
1438      spin: function() {
1439          return this._applyModification(spin, arguments);
1440      },
1441  
1442      _applyCombination: function(fn, args) {
1443          return fn.apply(null, [this].concat([].slice.call(args)));
1444      },
1445      analogous: function() {
1446          return this._applyCombination(analogous, arguments);
1447      },
1448      complement: function() {
1449          return this._applyCombination(complement, arguments);
1450      },
1451      monochromatic: function() {
1452          return this._applyCombination(monochromatic, arguments);
1453      },
1454      splitcomplement: function() {
1455          return this._applyCombination(splitcomplement, arguments);
1456      },
1457      triad: function() {
1458          return this._applyCombination(triad, arguments);
1459      },
1460      tetrad: function() {
1461          return this._applyCombination(tetrad, arguments);
1462      }
1463  };
1464  
1465  // If input is an object, force 1 into "1.0" to handle ratios properly
1466  // String input requires "1.0" as input, so 1 will be treated as 1
1467  tinycolor.fromRatio = function(color, opts) {
1468      if (typeof color == "object") {
1469          var newColor = {};
1470          for (var i in color) {
1471              if (color.hasOwnProperty(i)) {
1472                  if (i === "a") {
1473                      newColor[i] = color[i];
1474                  }
1475                  else {
1476                      newColor[i] = convertToPercentage(color[i]);
1477                  }
1478              }
1479          }
1480          color = newColor;
1481      }
1482  
1483      return tinycolor(color, opts);
1484  };
1485  
1486  // Given a string or object, convert that input to RGB
1487  // Possible string inputs:
1488  //
1489  //     "red"
1490  //     "#f00" or "f00"
1491  //     "#ff0000" or "ff0000"
1492  //     "#ff000000" or "ff000000"
1493  //     "rgb 255 0 0" or "rgb (255, 0, 0)"
1494  //     "rgb 1.0 0 0" or "rgb (1, 0, 0)"
1495  //     "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1"
1496  //     "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1"
1497  //     "hsl(0, 100%, 50%)" or "hsl 0 100% 50%"
1498  //     "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1"
1499  //     "hsv(0, 100%, 100%)" or "hsv 0 100% 100%"
1500  //
1501  function inputToRGB(color) {
1502  
1503      var rgb = { r: 0, g: 0, b: 0 };
1504      var a = 1;
1505      var s = null;
1506      var v = null;
1507      var l = null;
1508      var ok = false;
1509      var format = false;
1510  
1511      if (typeof color == "string") {
1512          color = stringInputToObject(color);
1513      }
1514  
1515      if (typeof color == "object") {
1516          if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {
1517              rgb = rgbToRgb(color.r, color.g, color.b);
1518              ok = true;
1519              format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
1520          }
1521          else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {
1522              s = convertToPercentage(color.s);
1523              v = convertToPercentage(color.v);
1524              rgb = hsvToRgb(color.h, s, v);
1525              ok = true;
1526              format = "hsv";
1527          }
1528          else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {
1529              s = convertToPercentage(color.s);
1530              l = convertToPercentage(color.l);
1531              rgb = hslToRgb(color.h, s, l);
1532              ok = true;
1533              format = "hsl";
1534          }
1535  
1536          if (color.hasOwnProperty("a")) {
1537              a = color.a;
1538          }
1539      }
1540  
1541      a = boundAlpha(a);
1542  
1543      return {
1544          ok: ok,
1545          format: color.format || format,
1546          r: mathMin(255, mathMax(rgb.r, 0)),
1547          g: mathMin(255, mathMax(rgb.g, 0)),
1548          b: mathMin(255, mathMax(rgb.b, 0)),
1549          a: a
1550      };
1551  }
1552  
1553  
1554  // Conversion Functions
1555  // --------------------
1556  
1557  // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:
1558  // <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>
1559  
1560  // `rgbToRgb`
1561  // Handle bounds / percentage checking to conform to CSS color spec
1562  // <http://www.w3.org/TR/css3-color/>
1563  // *Assumes:* r, g, b in [0, 255] or [0, 1]
1564  // *Returns:* { r, g, b } in [0, 255]
1565  function rgbToRgb(r, g, b){
1566      return {
1567          r: bound01(r, 255) * 255,
1568          g: bound01(g, 255) * 255,
1569          b: bound01(b, 255) * 255
1570      };
1571  }
1572  
1573  // `rgbToHsl`
1574  // Converts an RGB color value to HSL.
1575  // *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]
1576  // *Returns:* { h, s, l } in [0,1]
1577  function rgbToHsl(r, g, b) {
1578  
1579      r = bound01(r, 255);
1580      g = bound01(g, 255);
1581      b = bound01(b, 255);
1582  
1583      var max = mathMax(r, g, b), min = mathMin(r, g, b);
1584      var h, s, l = (max + min) / 2;
1585  
1586      if(max == min) {
1587          h = s = 0; // achromatic
1588      }
1589      else {
1590          var d = max - min;
1591          s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
1592          switch(max) {
1593              case r: h = (g - b) / d + (g < b ? 6 : 0); break;
1594              case g: h = (b - r) / d + 2; break;
1595              case b: h = (r - g) / d + 4; break;
1596          }
1597  
1598          h /= 6;
1599      }
1600  
1601      return { h: h, s: s, l: l };
1602  }
1603  
1604  // `hslToRgb`
1605  // Converts an HSL color value to RGB.
1606  // *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]
1607  // *Returns:* { r, g, b } in the set [0, 255]
1608  function hslToRgb(h, s, l) {
1609      var r, g, b;
1610  
1611      h = bound01(h, 360);
1612      s = bound01(s, 100);
1613      l = bound01(l, 100);
1614  
1615      function hue2rgb(p, q, t) {
1616          if(t < 0) t += 1;
1617          if(t > 1) t -= 1;
1618          if(t < 1/6) return p + (q - p) * 6 * t;
1619          if(t < 1/2) return q;
1620          if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;
1621          return p;
1622      }
1623  
1624      if(s === 0) {
1625          r = g = b = l; // achromatic
1626      }
1627      else {
1628          var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
1629          var p = 2 * l - q;
1630          r = hue2rgb(p, q, h + 1/3);
1631          g = hue2rgb(p, q, h);
1632          b = hue2rgb(p, q, h - 1/3);
1633      }
1634  
1635      return { r: r * 255, g: g * 255, b: b * 255 };
1636  }
1637  
1638  // `rgbToHsv`
1639  // Converts an RGB color value to HSV
1640  // *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]
1641  // *Returns:* { h, s, v } in [0,1]
1642  function rgbToHsv(r, g, b) {
1643  
1644      r = bound01(r, 255);
1645      g = bound01(g, 255);
1646      b = bound01(b, 255);
1647  
1648      var max = mathMax(r, g, b), min = mathMin(r, g, b);
1649      var h, s, v = max;
1650  
1651      var d = max - min;
1652      s = max === 0 ? 0 : d / max;
1653  
1654      if(max == min) {
1655          h = 0; // achromatic
1656      }
1657      else {
1658          switch(max) {
1659              case r: h = (g - b) / d + (g < b ? 6 : 0); break;
1660              case g: h = (b - r) / d + 2; break;
1661              case b: h = (r - g) / d + 4; break;
1662          }
1663          h /= 6;
1664      }
1665      return { h: h, s: s, v: v };
1666  }
1667  
1668  // `hsvToRgb`
1669  // Converts an HSV color value to RGB.
1670  // *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]
1671  // *Returns:* { r, g, b } in the set [0, 255]
1672   function hsvToRgb(h, s, v) {
1673  
1674      h = bound01(h, 360) * 6;
1675      s = bound01(s, 100);
1676      v = bound01(v, 100);
1677  
1678      var i = Math.floor(h),
1679          f = h - i,
1680          p = v * (1 - s),
1681          q = v * (1 - f * s),
1682          t = v * (1 - (1 - f) * s),
1683          mod = i % 6,
1684          r = [v, q, p, p, t, v][mod],
1685          g = [t, v, v, q, p, p][mod],
1686          b = [p, p, t, v, v, q][mod];
1687  
1688      return { r: r * 255, g: g * 255, b: b * 255 };
1689  }
1690  
1691  // `rgbToHex`
1692  // Converts an RGB color to hex
1693  // Assumes r, g, and b are contained in the set [0, 255]
1694  // Returns a 3 or 6 character hex
1695  function rgbToHex(r, g, b, allow3Char) {
1696  
1697      var hex = [
1698          pad2(mathRound(r).toString(16)),
1699          pad2(mathRound(g).toString(16)),
1700          pad2(mathRound(b).toString(16))
1701      ];
1702  
1703      // Return a 3 character hex if possible
1704      if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {
1705          return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);
1706      }
1707  
1708      return hex.join("");
1709  }
1710  
1711  // `rgbaToHex`
1712  // Converts an RGBA color plus alpha transparency to hex
1713  // Assumes r, g, b are contained in the set [0, 255] and
1714  // a in [0, 1]. Returns a 4 or 8 character rgba hex
1715  function rgbaToHex(r, g, b, a, allow4Char) {
1716  
1717      var hex = [
1718          pad2(mathRound(r).toString(16)),
1719          pad2(mathRound(g).toString(16)),
1720          pad2(mathRound(b).toString(16)),
1721          pad2(convertDecimalToHex(a))
1722      ];
1723  
1724      // Return a 4 character hex if possible
1725      if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {
1726          return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);
1727      }
1728  
1729      return hex.join("");
1730  }
1731  
1732  // `rgbaToArgbHex`
1733  // Converts an RGBA color to an ARGB Hex8 string
1734  // Rarely used, but required for "toFilter()"
1735  function rgbaToArgbHex(r, g, b, a) {
1736  
1737      var hex = [
1738          pad2(convertDecimalToHex(a)),
1739          pad2(mathRound(r).toString(16)),
1740          pad2(mathRound(g).toString(16)),
1741          pad2(mathRound(b).toString(16))
1742      ];
1743  
1744      return hex.join("");
1745  }
1746  
1747  // `equals`
1748  // Can be called with any tinycolor input
1749  tinycolor.equals = function (color1, color2) {
1750      if (!color1 || !color2) { return false; }
1751      return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();
1752  };
1753  
1754  tinycolor.random = function() {
1755      return tinycolor.fromRatio({
1756          r: mathRandom(),
1757          g: mathRandom(),
1758          b: mathRandom()
1759      });
1760  };
1761  
1762  
1763  // Modification Functions
1764  // ----------------------
1765  // Thanks to less.js for some of the basics here
1766  // <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>
1767  
1768  function desaturate(color, amount) {
1769      amount = (amount === 0) ? 0 : (amount || 10);
1770      var hsl = tinycolor(color).toHsl();
1771      hsl.s -= amount / 100;
1772      hsl.s = clamp01(hsl.s);
1773      return tinycolor(hsl);
1774  }
1775  
1776  function saturate(color, amount) {
1777      amount = (amount === 0) ? 0 : (amount || 10);
1778      var hsl = tinycolor(color).toHsl();
1779      hsl.s += amount / 100;
1780      hsl.s = clamp01(hsl.s);
1781      return tinycolor(hsl);
1782  }
1783  
1784  function greyscale(color) {
1785      return tinycolor(color).desaturate(100);
1786  }
1787  
1788  function lighten (color, amount) {
1789      amount = (amount === 0) ? 0 : (amount || 10);
1790      var hsl = tinycolor(color).toHsl();
1791      hsl.l += amount / 100;
1792      hsl.l = clamp01(hsl.l);
1793      return tinycolor(hsl);
1794  }
1795  
1796  function brighten(color, amount) {
1797      amount = (amount === 0) ? 0 : (amount || 10);
1798      var rgb = tinycolor(color).toRgb();
1799      rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));
1800      rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));
1801      rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));
1802      return tinycolor(rgb);
1803  }
1804  
1805  function darken (color, amount) {
1806      amount = (amount === 0) ? 0 : (amount || 10);
1807      var hsl = tinycolor(color).toHsl();
1808      hsl.l -= amount / 100;
1809      hsl.l = clamp01(hsl.l);
1810      return tinycolor(hsl);
1811  }
1812  
1813  // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.
1814  // Values outside of this range will be wrapped into this range.
1815  function spin(color, amount) {
1816      var hsl = tinycolor(color).toHsl();
1817      var hue = (hsl.h + amount) % 360;
1818      hsl.h = hue < 0 ? 360 + hue : hue;
1819      return tinycolor(hsl);
1820  }
1821  
1822  // Combination Functions
1823  // ---------------------
1824  // Thanks to jQuery xColor for some of the ideas behind these
1825  // <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>
1826  
1827  function complement(color) {
1828      var hsl = tinycolor(color).toHsl();
1829      hsl.h = (hsl.h + 180) % 360;
1830      return tinycolor(hsl);
1831  }
1832  
1833  function triad(color) {
1834      var hsl = tinycolor(color).toHsl();
1835      var h = hsl.h;
1836      return [
1837          tinycolor(color),
1838          tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),
1839          tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })
1840      ];
1841  }
1842  
1843  function tetrad(color) {
1844      var hsl = tinycolor(color).toHsl();
1845      var h = hsl.h;
1846      return [
1847          tinycolor(color),
1848          tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),
1849          tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),
1850          tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })
1851      ];
1852  }
1853  
1854  function splitcomplement(color) {
1855      var hsl = tinycolor(color).toHsl();
1856      var h = hsl.h;
1857      return [
1858          tinycolor(color),
1859          tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),
1860          tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})
1861      ];
1862  }
1863  
1864  function analogous(color, results, slices) {
1865      results = results || 6;
1866      slices = slices || 30;
1867  
1868      var hsl = tinycolor(color).toHsl();
1869      var part = 360 / slices;
1870      var ret = [tinycolor(color)];
1871  
1872      for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {
1873          hsl.h = (hsl.h + part) % 360;
1874          ret.push(tinycolor(hsl));
1875      }
1876      return ret;
1877  }
1878  
1879  function monochromatic(color, results) {
1880      results = results || 6;
1881      var hsv = tinycolor(color).toHsv();
1882      var h = hsv.h, s = hsv.s, v = hsv.v;
1883      var ret = [];
1884      var modification = 1 / results;
1885  
1886      while (results--) {
1887          ret.push(tinycolor({ h: h, s: s, v: v}));
1888          v = (v + modification) % 1;
1889      }
1890  
1891      return ret;
1892  }
1893  
1894  // Utility Functions
1895  // ---------------------
1896  
1897  tinycolor.mix = function(color1, color2, amount) {
1898      amount = (amount === 0) ? 0 : (amount || 50);
1899  
1900      var rgb1 = tinycolor(color1).toRgb();
1901      var rgb2 = tinycolor(color2).toRgb();
1902  
1903      var p = amount / 100;
1904  
1905      var rgba = {
1906          r: ((rgb2.r - rgb1.r) * p) + rgb1.r,
1907          g: ((rgb2.g - rgb1.g) * p) + rgb1.g,
1908          b: ((rgb2.b - rgb1.b) * p) + rgb1.b,
1909          a: ((rgb2.a - rgb1.a) * p) + rgb1.a
1910      };
1911  
1912      return tinycolor(rgba);
1913  };
1914  
1915  
1916  // Readability Functions
1917  // ---------------------
1918  // <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)
1919  
1920  // `contrast`
1921  // Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)
1922  tinycolor.readability = function(color1, color2) {
1923      var c1 = tinycolor(color1);
1924      var c2 = tinycolor(color2);
1925      return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);
1926  };
1927  
1928  // `isReadable`
1929  // Ensure that foreground and background color combinations meet WCAG2 guidelines.
1930  // The third argument is an optional Object.
1931  //      the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';
1932  //      the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.
1933  // If the entire object is absent, isReadable defaults to {level:"AA",size:"small"}.
1934  
1935  // *Example*
1936  //    tinycolor.isReadable("#000", "#111") => false
1937  //    tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false
1938  tinycolor.isReadable = function(color1, color2, wcag2) {
1939      var readability = tinycolor.readability(color1, color2);
1940      var wcag2Parms, out;
1941  
1942      out = false;
1943  
1944      wcag2Parms = validateWCAG2Parms(wcag2);
1945      switch (wcag2Parms.level + wcag2Parms.size) {
1946          case "AAsmall":
1947          case "AAAlarge":
1948              out = readability >= 4.5;
1949              break;
1950          case "AAlarge":
1951              out = readability >= 3;
1952              break;
1953          case "AAAsmall":
1954              out = readability >= 7;
1955              break;
1956      }
1957      return out;
1958  
1959  };
1960  
1961  // `mostReadable`
1962  // Given a base color and a list of possible foreground or background
1963  // colors for that base, returns the most readable color.
1964  // Optionally returns Black or White if the most readable color is unreadable.
1965  // *Example*
1966  //    tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255"
1967  //    tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString();  // "#ffffff"
1968  //    tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3"
1969  //    tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff"
1970  tinycolor.mostReadable = function(baseColor, colorList, args) {
1971      var bestColor = null;
1972      var bestScore = 0;
1973      var readability;
1974      var includeFallbackColors, level, size ;
1975      args = args || {};
1976      includeFallbackColors = args.includeFallbackColors ;
1977      level = args.level;
1978      size = args.size;
1979  
1980      for (var i= 0; i < colorList.length ; i++) {
1981          readability = tinycolor.readability(baseColor, colorList[i]);
1982          if (readability > bestScore) {
1983              bestScore = readability;
1984              bestColor = tinycolor(colorList[i]);
1985          }
1986      }
1987  
1988      if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) {
1989          return bestColor;
1990      }
1991      else {
1992          args.includeFallbackColors=false;
1993          return tinycolor.mostReadable(baseColor,["#fff", "#000"],args);
1994      }
1995  };
1996  
1997  
1998  // Big List of Colors
1999  // ------------------
2000  // <http://www.w3.org/TR/css3-color/#svg-color>
2001  var names = tinycolor.names = {
2002      aliceblue: "f0f8ff",
2003      antiquewhite: "faebd7",
2004      aqua: "0ff",
2005      aquamarine: "7fffd4",
2006      azure: "f0ffff",
2007      beige: "f5f5dc",
2008      bisque: "ffe4c4",
2009      black: "000",
2010      blanchedalmond: "ffebcd",
2011      blue: "00f",
2012      blueviolet: "8a2be2",
2013      brown: "a52a2a",
2014      burlywood: "deb887",
2015      burntsienna: "ea7e5d",
2016      cadetblue: "5f9ea0",
2017      chartreuse: "7fff00",
2018      chocolate: "d2691e",
2019      coral: "ff7f50",
2020      cornflowerblue: "6495ed",
2021      cornsilk: "fff8dc",
2022      crimson: "dc143c",
2023      cyan: "0ff",
2024      darkblue: "00008b",
2025      darkcyan: "008b8b",
2026      darkgoldenrod: "b8860b",
2027      darkgray: "a9a9a9",
2028      darkgreen: "006400",
2029      darkgrey: "a9a9a9",
2030      darkkhaki: "bdb76b",
2031      darkmagenta: "8b008b",
2032      darkolivegreen: "556b2f",
2033      darkorange: "ff8c00",
2034      darkorchid: "9932cc",
2035      darkred: "8b0000",
2036      darksalmon: "e9967a",
2037      darkseagreen: "8fbc8f",
2038      darkslateblue: "483d8b",
2039      darkslategray: "2f4f4f",
2040      darkslategrey: "2f4f4f",
2041      darkturquoise: "00ced1",
2042      darkviolet: "9400d3",
2043      deeppink: "ff1493",
2044      deepskyblue: "00bfff",
2045      dimgray: "696969",
2046      dimgrey: "696969",
2047      dodgerblue: "1e90ff",
2048      firebrick: "b22222",
2049      floralwhite: "fffaf0",
2050      forestgreen: "228b22",
2051      fuchsia: "f0f",
2052      gainsboro: "dcdcdc",
2053      ghostwhite: "f8f8ff",
2054      gold: "ffd700",
2055      goldenrod: "daa520",
2056      gray: "808080",
2057      green: "008000",
2058      greenyellow: "adff2f",
2059      grey: "808080",
2060      honeydew: "f0fff0",
2061      hotpink: "ff69b4",
2062      indianred: "cd5c5c",
2063      indigo: "4b0082",
2064      ivory: "fffff0",
2065      khaki: "f0e68c",
2066      lavender: "e6e6fa",
2067      lavenderblush: "fff0f5",
2068      lawngreen: "7cfc00",
2069      lemonchiffon: "fffacd",
2070      lightblue: "add8e6",
2071      lightcoral: "f08080",
2072      lightcyan: "e0ffff",
2073      lightgoldenrodyellow: "fafad2",
2074      lightgray: "d3d3d3",
2075      lightgreen: "90ee90",
2076      lightgrey: "d3d3d3",
2077      lightpink: "ffb6c1",
2078      lightsalmon: "ffa07a",
2079      lightseagreen: "20b2aa",
2080      lightskyblue: "87cefa",
2081      lightslategray: "789",
2082      lightslategrey: "789",
2083      lightsteelblue: "b0c4de",
2084      lightyellow: "ffffe0",
2085      lime: "0f0",
2086      limegreen: "32cd32",
2087      linen: "faf0e6",
2088      magenta: "f0f",
2089      maroon: "800000",
2090      mediumaquamarine: "66cdaa",
2091      mediumblue: "0000cd",
2092      mediumorchid: "ba55d3",
2093      mediumpurple: "9370db",
2094      mediumseagreen: "3cb371",
2095      mediumslateblue: "7b68ee",
2096      mediumspringgreen: "00fa9a",
2097      mediumturquoise: "48d1cc",
2098      mediumvioletred: "c71585",
2099      midnightblue: "191970",
2100      mintcream: "f5fffa",
2101      mistyrose: "ffe4e1",
2102      moccasin: "ffe4b5",
2103      navajowhite: "ffdead",
2104      navy: "000080",
2105      oldlace: "fdf5e6",
2106      olive: "808000",
2107      olivedrab: "6b8e23",
2108      orange: "ffa500",
2109      orangered: "ff4500",
2110      orchid: "da70d6",
2111      palegoldenrod: "eee8aa",
2112      palegreen: "98fb98",
2113      paleturquoise: "afeeee",
2114      palevioletred: "db7093",
2115      papayawhip: "ffefd5",
2116      peachpuff: "ffdab9",
2117      peru: "cd853f",
2118      pink: "ffc0cb",
2119      plum: "dda0dd",
2120      powderblue: "b0e0e6",
2121      purple: "800080",
2122      rebeccapurple: "663399",
2123      red: "f00",
2124      rosybrown: "bc8f8f",
2125      royalblue: "4169e1",
2126      saddlebrown: "8b4513",
2127      salmon: "fa8072",
2128      sandybrown: "f4a460",
2129      seagreen: "2e8b57",
2130      seashell: "fff5ee",
2131      sienna: "a0522d",
2132      silver: "c0c0c0",
2133      skyblue: "87ceeb",
2134      slateblue: "6a5acd",
2135      slategray: "708090",
2136      slategrey: "708090",
2137      snow: "fffafa",
2138      springgreen: "00ff7f",
2139      steelblue: "4682b4",
2140      tan: "d2b48c",
2141      teal: "008080",
2142      thistle: "d8bfd8",
2143      tomato: "ff6347",
2144      turquoise: "40e0d0",
2145      violet: "ee82ee",
2146      wheat: "f5deb3",
2147      white: "fff",
2148      whitesmoke: "f5f5f5",
2149      yellow: "ff0",
2150      yellowgreen: "9acd32"
2151  };
2152  
2153  // Make it easy to access colors via `hexNames[hex]`
2154  var hexNames = tinycolor.hexNames = flip(names);
2155  
2156  
2157  // Utilities
2158  // ---------
2159  
2160  // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`
2161  function flip(o) {
2162      var flipped = { };
2163      for (var i in o) {
2164          if (o.hasOwnProperty(i)) {
2165              flipped[o[i]] = i;
2166          }
2167      }
2168      return flipped;
2169  }
2170  
2171  // Return a valid alpha value [0,1] with all invalid values being set to 1
2172  function boundAlpha(a) {
2173      a = parseFloat(a);
2174  
2175      if (isNaN(a) || a < 0 || a > 1) {
2176          a = 1;
2177      }
2178  
2179      return a;
2180  }
2181  
2182  // Take input from [0, n] and return it as [0, 1]
2183  function bound01(n, max) {
2184      if (isOnePointZero(n)) { n = "100%"; }
2185  
2186      var processPercent = isPercentage(n);
2187      n = mathMin(max, mathMax(0, parseFloat(n)));
2188  
2189      // Automatically convert percentage into number
2190      if (processPercent) {
2191          n = parseInt(n * max, 10) / 100;
2192      }
2193  
2194      // Handle floating point rounding errors
2195      if ((Math.abs(n - max) < 0.000001)) {
2196          return 1;
2197      }
2198  
2199      // Convert into [0, 1] range if it isn't already
2200      return (n % max) / parseFloat(max);
2201  }
2202  
2203  // Force a number between 0 and 1
2204  function clamp01(val) {
2205      return mathMin(1, mathMax(0, val));
2206  }
2207  
2208  // Parse a base-16 hex value into a base-10 integer
2209  function parseIntFromHex(val) {
2210      return parseInt(val, 16);
2211  }
2212  
2213  // Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1
2214  // <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>
2215  function isOnePointZero(n) {
2216      return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1;
2217  }
2218  
2219  // Check to see if string passed in is a percentage
2220  function isPercentage(n) {
2221      return typeof n === "string" && n.indexOf('%') != -1;
2222  }
2223  
2224  // Force a hex value to have 2 characters
2225  function pad2(c) {
2226      return c.length == 1 ? '0' + c : '' + c;
2227  }
2228  
2229  // Replace a decimal with it's percentage value
2230  function convertToPercentage(n) {
2231      if (n <= 1) {
2232          n = (n * 100) + "%";
2233      }
2234  
2235      return n;
2236  }
2237  
2238  // Converts a decimal to a hex value
2239  function convertDecimalToHex(d) {
2240      return Math.round(parseFloat(d) * 255).toString(16);
2241  }
2242  // Converts a hex value to a decimal
2243  function convertHexToDecimal(h) {
2244      return (parseIntFromHex(h) / 255);
2245  }
2246  
2247  var matchers = (function() {
2248  
2249      // <http://www.w3.org/TR/css3-values/#integers>
2250      var CSS_INTEGER = "[-\\+]?\\d+%?";
2251  
2252      // <http://www.w3.org/TR/css3-values/#number-value>
2253      var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?";
2254  
2255      // Allow positive/negative integer/number.  Don't capture the either/or, just the entire outcome.
2256      var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")";
2257  
2258      // Actual matching.
2259      // Parentheses and commas are optional, but not required.
2260      // Whitespace can take the place of commas or opening paren
2261      var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
2262      var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
2263  
2264      return {
2265          CSS_UNIT: new RegExp(CSS_UNIT),
2266          rgb: new RegExp("rgb" + PERMISSIVE_MATCH3),
2267          rgba: new RegExp("rgba" + PERMISSIVE_MATCH4),
2268          hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
2269          hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
2270          hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
2271          hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
2272          hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
2273          hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
2274          hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
2275          hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
2276      };
2277  })();
2278  
2279  // `isValidCSSUnit`
2280  // Take in a single string / number and check to see if it looks like a CSS unit
2281  // (see `matchers` above for definition).
2282  function isValidCSSUnit(color) {
2283      return !!matchers.CSS_UNIT.exec(color);
2284  }
2285  
2286  // `stringInputToObject`
2287  // Permissive string parsing.  Take in a number of formats, and output an object
2288  // based on detected format.  Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`
2289  function stringInputToObject(color) {
2290  
2291      color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();
2292      var named = false;
2293      if (names[color]) {
2294          color = names[color];
2295          named = true;
2296      }
2297      else if (color == 'transparent') {
2298          return { r: 0, g: 0, b: 0, a: 0, format: "name" };
2299      }
2300  
2301      // Try to match string input using regular expressions.
2302      // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]
2303      // Just return an object and let the conversion functions handle that.
2304      // This way the result will be the same whether the tinycolor is initialized with string or object.
2305      var match;
2306      if ((match = matchers.rgb.exec(color))) {
2307          return { r: match[1], g: match[2], b: match[3] };
2308      }
2309      if ((match = matchers.rgba.exec(color))) {
2310          return { r: match[1], g: match[2], b: match[3], a: match[4] };
2311      }
2312      if ((match = matchers.hsl.exec(color))) {
2313          return { h: match[1], s: match[2], l: match[3] };
2314      }
2315      if ((match = matchers.hsla.exec(color))) {
2316          return { h: match[1], s: match[2], l: match[3], a: match[4] };
2317      }
2318      if ((match = matchers.hsv.exec(color))) {
2319          return { h: match[1], s: match[2], v: match[3] };
2320      }
2321      if ((match = matchers.hsva.exec(color))) {
2322          return { h: match[1], s: match[2], v: match[3], a: match[4] };
2323      }
2324      if ((match = matchers.hex8.exec(color))) {
2325          return {
2326              r: parseIntFromHex(match[1]),
2327              g: parseIntFromHex(match[2]),
2328              b: parseIntFromHex(match[3]),
2329              a: convertHexToDecimal(match[4]),
2330              format: named ? "name" : "hex8"
2331          };
2332      }
2333      if ((match = matchers.hex6.exec(color))) {
2334          return {
2335              r: parseIntFromHex(match[1]),
2336              g: parseIntFromHex(match[2]),
2337              b: parseIntFromHex(match[3]),
2338              format: named ? "name" : "hex"
2339          };
2340      }
2341      if ((match = matchers.hex4.exec(color))) {
2342          return {
2343              r: parseIntFromHex(match[1] + '' + match[1]),
2344              g: parseIntFromHex(match[2] + '' + match[2]),
2345              b: parseIntFromHex(match[3] + '' + match[3]),
2346              a: convertHexToDecimal(match[4] + '' + match[4]),
2347              format: named ? "name" : "hex8"
2348          };
2349      }
2350      if ((match = matchers.hex3.exec(color))) {
2351          return {
2352              r: parseIntFromHex(match[1] + '' + match[1]),
2353              g: parseIntFromHex(match[2] + '' + match[2]),
2354              b: parseIntFromHex(match[3] + '' + match[3]),
2355              format: named ? "name" : "hex"
2356          };
2357      }
2358  
2359      return false;
2360  }
2361  
2362  function validateWCAG2Parms(parms) {
2363      // return valid WCAG2 parms for isReadable.
2364      // If input parms are invalid, return {"level":"AA", "size":"small"}
2365      var level, size;
2366      parms = parms || {"level":"AA", "size":"small"};
2367      level = (parms.level || "AA").toUpperCase();
2368      size = (parms.size || "small").toLowerCase();
2369      if (level !== "AA" && level !== "AAA") {
2370          level = "AA";
2371      }
2372      if (size !== "small" && size !== "large") {
2373          size = "small";
2374      }
2375      return {"level":level, "size":size};
2376  }
2377  
2378  // Node: Export function
2379  if ( true && module.exports) {
2380      module.exports = tinycolor;
2381  }
2382  // AMD/requirejs: Define the module
2383  else if (true) {
2384      !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module),
2385                  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
2386  }
2387  // Browser: Expose to window
2388  else {}
2389  
2390  })(Math);
2391  
2392  
2393  /***/ }),
2394  /* 55 */,
2395  /* 56 */,
2396  /* 57 */
2397  /***/ (function(module, exports, __webpack_require__) {
2398  
2399  "use strict";
2400  
2401  
2402  var defineProperties = __webpack_require__(79);
2403  
2404  var implementation = __webpack_require__(211);
2405  var getPolyfill = __webpack_require__(212);
2406  var shim = __webpack_require__(343);
2407  
2408  var polyfill = getPolyfill();
2409  
2410  defineProperties(polyfill, {
2411      getPolyfill: getPolyfill,
2412      implementation: implementation,
2413      shim: shim
2414  });
2415  
2416  module.exports = polyfill;
2417  
2418  
2419  /***/ }),
2420  /* 58 */,
2421  /* 59 */
2422  /***/ (function(module, exports, __webpack_require__) {
2423  
2424  "use strict";
2425  
2426  
2427  Object.defineProperty(exports, "__esModule", {
2428    value: true
2429  });
2430  var calendarLabel = 'Calendar';
2431  var closeDatePicker = 'Close';
2432  var focusStartDate = 'Interact with the calendar and add the check-in date for your trip.';
2433  var clearDate = 'Clear Date';
2434  var clearDates = 'Clear Dates';
2435  var jumpToPrevMonth = 'Move backward to switch to the previous month.';
2436  var jumpToNextMonth = 'Move forward to switch to the next month.';
2437  var keyboardShortcuts = 'Keyboard Shortcuts';
2438  var showKeyboardShortcutsPanel = 'Open the keyboard shortcuts panel.';
2439  var hideKeyboardShortcutsPanel = 'Close the shortcuts panel.';
2440  var openThisPanel = 'Open this panel.';
2441  var enterKey = 'Enter key';
2442  var leftArrowRightArrow = 'Right and left arrow keys';
2443  var upArrowDownArrow = 'up and down arrow keys';
2444  var pageUpPageDown = 'page up and page down keys';
2445  var homeEnd = 'Home and end keys';
2446  var escape = 'Escape key';
2447  var questionMark = 'Question mark';
2448  var selectFocusedDate = 'Select the date in focus.';
2449  var moveFocusByOneDay = 'Move backward (left) and forward (right) by one day.';
2450  var moveFocusByOneWeek = 'Move backward (up) and forward (down) by one week.';
2451  var moveFocusByOneMonth = 'Switch months.';
2452  var moveFocustoStartAndEndOfWeek = 'Go to the first or last day of a week.';
2453  var returnFocusToInput = 'Return to the date input field.';
2454  var keyboardNavigationInstructions = 'Press the down arrow key to interact with the calendar and\n  select a date. Press the question mark key to get the keyboard shortcuts for changing dates.';
2455  
2456  var chooseAvailableStartDate = function chooseAvailableStartDate(_ref) {
2457    var date = _ref.date;
2458    return 'Choose ' + String(date) + ' as your check-in date. It\u2019s available.';
2459  };
2460  var chooseAvailableEndDate = function chooseAvailableEndDate(_ref2) {
2461    var date = _ref2.date;
2462    return 'Choose ' + String(date) + ' as your check-out date. It\u2019s available.';
2463  };
2464  var chooseAvailableDate = function chooseAvailableDate(_ref3) {
2465    var date = _ref3.date;
2466    return date;
2467  };
2468  var dateIsUnavailable = function dateIsUnavailable(_ref4) {
2469    var date = _ref4.date;
2470    return 'Not available. ' + String(date);
2471  };
2472  var dateIsSelected = function dateIsSelected(_ref5) {
2473    var date = _ref5.date;
2474    return 'Selected. ' + String(date);
2475  };
2476  
2477  exports['default'] = {
2478    calendarLabel: calendarLabel,
2479    closeDatePicker: closeDatePicker,
2480    focusStartDate: focusStartDate,
2481    clearDate: clearDate,
2482    clearDates: clearDates,
2483    jumpToPrevMonth: jumpToPrevMonth,
2484    jumpToNextMonth: jumpToNextMonth,
2485    keyboardShortcuts: keyboardShortcuts,
2486    showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,
2487    hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
2488    openThisPanel: openThisPanel,
2489    enterKey: enterKey,
2490    leftArrowRightArrow: leftArrowRightArrow,
2491    upArrowDownArrow: upArrowDownArrow,
2492    pageUpPageDown: pageUpPageDown,
2493    homeEnd: homeEnd,
2494    escape: escape,
2495    questionMark: questionMark,
2496    selectFocusedDate: selectFocusedDate,
2497    moveFocusByOneDay: moveFocusByOneDay,
2498    moveFocusByOneWeek: moveFocusByOneWeek,
2499    moveFocusByOneMonth: moveFocusByOneMonth,
2500    moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,
2501    returnFocusToInput: returnFocusToInput,
2502    keyboardNavigationInstructions: keyboardNavigationInstructions,
2503  
2504    chooseAvailableStartDate: chooseAvailableStartDate,
2505    chooseAvailableEndDate: chooseAvailableEndDate,
2506    dateIsUnavailable: dateIsUnavailable,
2507    dateIsSelected: dateIsSelected
2508  };
2509  var DateRangePickerPhrases = exports.DateRangePickerPhrases = {
2510    calendarLabel: calendarLabel,
2511    closeDatePicker: closeDatePicker,
2512    clearDates: clearDates,
2513    focusStartDate: focusStartDate,
2514    jumpToPrevMonth: jumpToPrevMonth,
2515    jumpToNextMonth: jumpToNextMonth,
2516    keyboardShortcuts: keyboardShortcuts,
2517    showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,
2518    hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
2519    openThisPanel: openThisPanel,
2520    enterKey: enterKey,
2521    leftArrowRightArrow: leftArrowRightArrow,
2522    upArrowDownArrow: upArrowDownArrow,
2523    pageUpPageDown: pageUpPageDown,
2524    homeEnd: homeEnd,
2525    escape: escape,
2526    questionMark: questionMark,
2527    selectFocusedDate: selectFocusedDate,
2528    moveFocusByOneDay: moveFocusByOneDay,
2529    moveFocusByOneWeek: moveFocusByOneWeek,
2530    moveFocusByOneMonth: moveFocusByOneMonth,
2531    moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,
2532    returnFocusToInput: returnFocusToInput,
2533    keyboardNavigationInstructions: keyboardNavigationInstructions,
2534    chooseAvailableStartDate: chooseAvailableStartDate,
2535    chooseAvailableEndDate: chooseAvailableEndDate,
2536    dateIsUnavailable: dateIsUnavailable,
2537    dateIsSelected: dateIsSelected
2538  };
2539  
2540  var DateRangePickerInputPhrases = exports.DateRangePickerInputPhrases = {
2541    focusStartDate: focusStartDate,
2542    clearDates: clearDates,
2543    keyboardNavigationInstructions: keyboardNavigationInstructions
2544  };
2545  
2546  var SingleDatePickerPhrases = exports.SingleDatePickerPhrases = {
2547    calendarLabel: calendarLabel,
2548    closeDatePicker: closeDatePicker,
2549    clearDate: clearDate,
2550    jumpToPrevMonth: jumpToPrevMonth,
2551    jumpToNextMonth: jumpToNextMonth,
2552    keyboardShortcuts: keyboardShortcuts,
2553    showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,
2554    hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
2555    openThisPanel: openThisPanel,
2556    enterKey: enterKey,
2557    leftArrowRightArrow: leftArrowRightArrow,
2558    upArrowDownArrow: upArrowDownArrow,
2559    pageUpPageDown: pageUpPageDown,
2560    homeEnd: homeEnd,
2561    escape: escape,
2562    questionMark: questionMark,
2563    selectFocusedDate: selectFocusedDate,
2564    moveFocusByOneDay: moveFocusByOneDay,
2565    moveFocusByOneWeek: moveFocusByOneWeek,
2566    moveFocusByOneMonth: moveFocusByOneMonth,
2567    moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,
2568    returnFocusToInput: returnFocusToInput,
2569    keyboardNavigationInstructions: keyboardNavigationInstructions,
2570    chooseAvailableDate: chooseAvailableDate,
2571    dateIsUnavailable: dateIsUnavailable,
2572    dateIsSelected: dateIsSelected
2573  };
2574  
2575  var SingleDatePickerInputPhrases = exports.SingleDatePickerInputPhrases = {
2576    clearDate: clearDate,
2577    keyboardNavigationInstructions: keyboardNavigationInstructions
2578  };
2579  
2580  var DayPickerPhrases = exports.DayPickerPhrases = {
2581    calendarLabel: calendarLabel,
2582    jumpToPrevMonth: jumpToPrevMonth,
2583    jumpToNextMonth: jumpToNextMonth,
2584    keyboardShortcuts: keyboardShortcuts,
2585    showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,
2586    hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
2587    openThisPanel: openThisPanel,
2588    enterKey: enterKey,
2589    leftArrowRightArrow: leftArrowRightArrow,
2590    upArrowDownArrow: upArrowDownArrow,
2591    pageUpPageDown: pageUpPageDown,
2592    homeEnd: homeEnd,
2593    escape: escape,
2594    questionMark: questionMark,
2595    selectFocusedDate: selectFocusedDate,
2596    moveFocusByOneDay: moveFocusByOneDay,
2597    moveFocusByOneWeek: moveFocusByOneWeek,
2598    moveFocusByOneMonth: moveFocusByOneMonth,
2599    moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,
2600    returnFocusToInput: returnFocusToInput,
2601    chooseAvailableStartDate: chooseAvailableStartDate,
2602    chooseAvailableEndDate: chooseAvailableEndDate,
2603    chooseAvailableDate: chooseAvailableDate,
2604    dateIsUnavailable: dateIsUnavailable,
2605    dateIsSelected: dateIsSelected
2606  };
2607  
2608  var DayPickerKeyboardShortcutsPhrases = exports.DayPickerKeyboardShortcutsPhrases = {
2609    keyboardShortcuts: keyboardShortcuts,
2610    showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,
2611    hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
2612    openThisPanel: openThisPanel,
2613    enterKey: enterKey,
2614    leftArrowRightArrow: leftArrowRightArrow,
2615    upArrowDownArrow: upArrowDownArrow,
2616    pageUpPageDown: pageUpPageDown,
2617    homeEnd: homeEnd,
2618    escape: escape,
2619    questionMark: questionMark,
2620    selectFocusedDate: selectFocusedDate,
2621    moveFocusByOneDay: moveFocusByOneDay,
2622    moveFocusByOneWeek: moveFocusByOneWeek,
2623    moveFocusByOneMonth: moveFocusByOneMonth,
2624    moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,
2625    returnFocusToInput: returnFocusToInput
2626  };
2627  
2628  var DayPickerNavigationPhrases = exports.DayPickerNavigationPhrases = {
2629    jumpToPrevMonth: jumpToPrevMonth,
2630    jumpToNextMonth: jumpToNextMonth
2631  };
2632  
2633  var CalendarDayPhrases = exports.CalendarDayPhrases = {
2634    chooseAvailableDate: chooseAvailableDate,
2635    dateIsUnavailable: dateIsUnavailable,
2636    dateIsSelected: dateIsSelected
2637  };
2638  
2639  /***/ }),
2640  /* 60 */,
2641  /* 61 */
2642  /***/ (function(module, exports, __webpack_require__) {
2643  
2644  "use strict";
2645  
2646  
2647  Object.defineProperty(exports, "__esModule", {
2648    value: true
2649  });
2650  exports['default'] = getPhrasePropTypes;
2651  
2652  var _object = __webpack_require__(57);
2653  
2654  var _object2 = _interopRequireDefault(_object);
2655  
2656  var _propTypes = __webpack_require__(26);
2657  
2658  var _propTypes2 = _interopRequireDefault(_propTypes);
2659  
2660  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
2661  
2662  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2663  
2664  function getPhrasePropTypes(defaultPhrases) {
2665    return Object.keys(defaultPhrases).reduce(function (phrases, key) {
2666      return (0, _object2['default'])({}, phrases, _defineProperty({}, key, _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].func, _propTypes2['default'].node])));
2667    }, {});
2668  }
2669  
2670  /***/ }),
2671  /* 62 */
2672  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2673  
2674  "use strict";
2675  
2676  // EXTERNAL MODULE: external {"this":"React"}
2677  var external_this_React_ = __webpack_require__(21);
2678  
2679  // EXTERNAL MODULE: ./node_modules/reakit-system/es/SystemContext.js
2680  var SystemContext = __webpack_require__(88);
2681  
2682  // CONCATENATED MODULE: ./node_modules/reakit-system/es/useToken.js
2683  
2684  
2685  
2686  /**
2687   * React custom hook that returns the value of any token defined in the
2688   * SystemContext. It's mainly used internally in [`useOptions`](#useoptions)
2689   * and [`useProps`](#useprops).
2690   *
2691   * @example
2692   * import { SystemProvider, useToken } from "reakit-system";
2693   *
2694   * const system = {
2695   *   token: "value"
2696   * };
2697   *
2698   * function Component(props) {
2699   *   const token = useToken("token", "default value");
2700   *   return <div {...props}>{token}</div>;
2701   * }
2702   *
2703   * function App() {
2704   *   return (
2705   *     <SystemProvider unstable_system={system}>
2706   *       <Component />
2707   *     </SystemProvider>
2708   *   );
2709   * }
2710   */
2711  
2712  function useToken(token, defaultValue) {
2713    Object(external_this_React_["useDebugValue"])(token);
2714    var context = Object(external_this_React_["useContext"])(SystemContext["a" /* SystemContext */]);
2715    return context[token] != null ? context[token] : defaultValue;
2716  }
2717  
2718  
2719  
2720  // CONCATENATED MODULE: ./node_modules/reakit-system/es/useProps.js
2721  
2722  
2723  
2724  
2725  /**
2726   * React custom hook that returns the props returned by a given
2727   * `use${name}Props` in the SystemContext.
2728   *
2729   * @example
2730   * import { SystemProvider, useProps } from "reakit-system";
2731   *
2732   * const system = {
2733   *   useAProps(options, htmlProps) {
2734   *     return {
2735   *       ...htmlProps,
2736   *       href: options.url
2737   *     };
2738   *   }
2739   * };
2740   *
2741   * function A({ url, ...htmlProps }) {
2742   *   const props = useProps("A", { url }, htmlProps);
2743   *   return <a {...props} />;
2744   * }
2745   *
2746   * function App() {
2747   *   return (
2748   *     <SystemProvider unstable_system={system}>
2749   *       <A url="url">It will convert url into href in useAProps</A>
2750   *     </SystemProvider>
2751   *   );
2752   * }
2753   */
2754  
2755  function useProps(name, options, htmlProps) {
2756    if (options === void 0) {
2757      options = {};
2758    }
2759  
2760    if (htmlProps === void 0) {
2761      htmlProps = {};
2762    }
2763  
2764    var hookName = "use" + name + "Props";
2765    Object(external_this_React_["useDebugValue"])(hookName);
2766    var useHook = useToken(hookName);
2767  
2768    if (useHook) {
2769      return useHook(options, htmlProps);
2770    }
2771  
2772    return htmlProps;
2773  }
2774  
2775  
2776  
2777  // EXTERNAL MODULE: ./node_modules/reakit-system/es/_rollupPluginBabelHelpers-ce04ac6e.js
2778  var _rollupPluginBabelHelpers_ce04ac6e = __webpack_require__(78);
2779  
2780  // CONCATENATED MODULE: ./node_modules/reakit-system/es/useOptions.js
2781  
2782  
2783  
2784  
2785  
2786  /**
2787   * React custom hook that returns the options returned by a given
2788   * `use${name}Options` in the SystemContext.
2789   *
2790   * @example
2791   * import React from "react";
2792   * import { SystemProvider, useOptions } from "reakit-system";
2793   *
2794   * const system = {
2795   *   useAOptions(options, htmlProps) {
2796   *     return {
2797   *       ...options,
2798   *       url: htmlProps.href
2799   *     };
2800   *   }
2801   * };
2802   *
2803   * function A({ url, ...htmlProps }) {
2804   *   const options = useOptions("A", { url }, htmlProps);
2805   *   return <a href={options.url} {...htmlProps} />;
2806   * }
2807   *
2808   * function App() {
2809   *   return (
2810   *     <SystemProvider unstable_system={system}>
2811   *       <A href="url">
2812   *         It will convert href into url in useAOptions and then url into href in A
2813   *       </A>
2814   *     </SystemProvider>
2815   *   );
2816   * }
2817   */
2818  
2819  function useOptions(name, options, htmlProps) {
2820    if (options === void 0) {
2821      options = {};
2822    }
2823  
2824    if (htmlProps === void 0) {
2825      htmlProps = {};
2826    }
2827  
2828    var hookName = "use" + name + "Options";
2829    Object(external_this_React_["useDebugValue"])(hookName);
2830    var useHook = useToken(hookName);
2831  
2832    if (useHook) {
2833      return Object(_rollupPluginBabelHelpers_ce04ac6e["a" /* _ */])({}, options, {}, useHook(options, htmlProps));
2834    }
2835  
2836    return options;
2837  }
2838  
2839  
2840  
2841  // CONCATENATED MODULE: ./node_modules/reakit-utils/es/isObject.js
2842  /**
2843   * Checks whether `arg` is an object or not.
2844   *
2845   * @returns {boolean}
2846   */
2847  function isObject(arg) {
2848    return typeof arg === "object" && arg != null;
2849  }
2850  
2851  
2852  
2853  // CONCATENATED MODULE: ./node_modules/reakit-utils/es/toArray.js
2854  /**
2855   * Transforms `arg` into an array if it's not already.
2856   *
2857   * @example
2858   * import { toArray } from "reakit-utils";
2859   *
2860   * toArray("a"); // ["a"]
2861   * toArray(["a"]); // ["a"]
2862   */
2863  function toArray(arg) {
2864    if (Array.isArray(arg)) {
2865      return arg;
2866    }
2867  
2868    return typeof arg !== "undefined" ? [arg] : [];
2869  }
2870  
2871  
2872  
2873  // CONCATENATED MODULE: ./node_modules/reakit-system/es/createHook.js
2874  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createHook; });
2875  
2876  
2877  
2878  
2879  
2880  
2881  
2882  
2883  
2884  function deepEqual(objA, objB, depth) {
2885    if (depth === void 0) {
2886      depth = 1;
2887    }
2888  
2889    if (objA === objB) return true;
2890    if (!objA || !objB) return false;
2891    var aKeys = Object.keys(objA);
2892    var bKeys = Object.keys(objB);
2893    var length = aKeys.length;
2894    if (bKeys.length !== length) return false;
2895  
2896    for (var _i = 0, _aKeys = aKeys; _i < _aKeys.length; _i++) {
2897      var key = _aKeys[_i];
2898  
2899      if (objA[key] !== objB[key]) {
2900        if (!depth || !isObject(objA[key]) || !isObject(objB[key]) || !deepEqual(objA[key], objB[key], depth - 1)) {
2901          return false;
2902        }
2903      }
2904    }
2905  
2906    return true;
2907  }
2908  
2909  /**
2910   * Creates a React custom hook that will return component props.
2911   *
2912   * @example
2913   * import { createHook } from "reakit-system";
2914   *
2915   * const useA = createHook({
2916   *   name: "A",
2917   *   keys: ["url"], // custom props/options keys
2918   *   useProps(options, htmlProps) {
2919   *     return {
2920   *       ...htmlProps,
2921   *       href: options.url
2922   *     };
2923   *   }
2924   * });
2925   *
2926   * function A({ url, ...htmlProps }) {
2927   *   const props = useA({ url }, htmlProps);
2928   *   return <a {...props} />;
2929   * }
2930   *
2931   * @param options
2932   */
2933  function createHook(options) {
2934    var composedHooks = toArray(options.compose);
2935  
2936    var __useOptions = function __useOptions(hookOptions, htmlProps) {
2937      // Call the current hook's useOptions first
2938      if (options.useOptions) {
2939        hookOptions = options.useOptions(hookOptions, htmlProps);
2940      } // If there's name, call useOptions from the system context
2941  
2942  
2943      if (options.name) {
2944        hookOptions = useOptions(options.name, hookOptions, htmlProps);
2945      }
2946  
2947      return hookOptions;
2948    };
2949  
2950    var useHook = function useHook(hookOptions, htmlProps, unstable_ignoreUseOptions) {
2951      if (hookOptions === void 0) {
2952        hookOptions = {};
2953      }
2954  
2955      if (htmlProps === void 0) {
2956        htmlProps = {};
2957      }
2958  
2959      if (unstable_ignoreUseOptions === void 0) {
2960        unstable_ignoreUseOptions = false;
2961      }
2962  
2963      // This won't execute when useHook was called from within another useHook
2964      if (!unstable_ignoreUseOptions) {
2965        hookOptions = __useOptions(hookOptions, htmlProps);
2966      } // We're already calling composed useOptions here
2967      // That's why we ignoreUseOptions for composed hooks
2968  
2969  
2970      if (options.compose) {
2971        composedHooks.forEach(function (hook) {
2972          hookOptions = hook.__useOptions(hookOptions, htmlProps);
2973        });
2974      } // Call the current hook's useProps
2975  
2976  
2977      if (options.useProps) {
2978        htmlProps = options.useProps(hookOptions, htmlProps);
2979      } // If there's name, call useProps from the system context
2980  
2981  
2982      if (options.name) {
2983        htmlProps = useProps(options.name, hookOptions, htmlProps);
2984      }
2985  
2986      if (options.compose) {
2987        if (options.useComposeOptions) {
2988          hookOptions = options.useComposeOptions(hookOptions, htmlProps);
2989        }
2990  
2991        composedHooks.forEach(function (hook) {
2992          // @ts-ignore The third option is only used internally
2993          htmlProps = hook(hookOptions, htmlProps, true);
2994        });
2995      }
2996  
2997      return htmlProps;
2998    };
2999  
3000    if (false) {}
3001  
3002    useHook.__useOptions = __useOptions; // It's used by createComponent to split option props (keys) and html props
3003  
3004    useHook.__keys = [].concat(composedHooks.reduce(function (allKeys, hook) {
3005      allKeys.push.apply(allKeys, hook.__keys || []);
3006      return allKeys;
3007    }, []), options.useState ? options.useState.__keys : [], options.keys || []);
3008    var hasPropsAreEqual = Boolean(options.propsAreEqual || composedHooks.find(function (hook) {
3009      return Boolean(hook.__propsAreEqual);
3010    }));
3011  
3012    if (hasPropsAreEqual) {
3013      useHook.__propsAreEqual = function (prev, next) {
3014        var result = options.propsAreEqual && options.propsAreEqual(prev, next);
3015  
3016        if (result != null) {
3017          return result;
3018        }
3019  
3020        for (var _iterator = composedHooks, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
3021          var _ref;
3022  
3023          if (_isArray) {
3024            if (_i >= _iterator.length) break;
3025            _ref = _iterator[_i++];
3026          } else {
3027            _i = _iterator.next();
3028            if (_i.done) break;
3029            _ref = _i.value;
3030          }
3031  
3032          var hook = _ref;
3033          var propsAreEqual = hook.__propsAreEqual;
3034          var hookResult = propsAreEqual && propsAreEqual(prev, next);
3035  
3036          if (hookResult != null) {
3037            return hookResult;
3038          }
3039        }
3040  
3041        return deepEqual(prev, next);
3042      };
3043    }
3044  
3045    return useHook;
3046  }
3047  
3048  
3049  
3050  
3051  /***/ }),
3052  /* 63 */
3053  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3054  
3055  "use strict";
3056  
3057  // EXTERNAL MODULE: external {"this":"React"}
3058  var external_this_React_ = __webpack_require__(21);
3059  
3060  // EXTERNAL MODULE: ./node_modules/reakit-system/es/_rollupPluginBabelHelpers-ce04ac6e.js
3061  var _rollupPluginBabelHelpers_ce04ac6e = __webpack_require__(78);
3062  
3063  // EXTERNAL MODULE: ./node_modules/reakit-system/es/useCreateElement.js
3064  var useCreateElement = __webpack_require__(146);
3065  
3066  // CONCATENATED MODULE: ./node_modules/reakit-utils/es/splitProps.js
3067  /**
3068   * Splits an object (`props`) into a tuple where the first item is an object
3069   * with the passed `keys`, and the second item is an object with these keys
3070   * omitted.
3071   *
3072   * @example
3073   * import { splitProps } from "reakit-utils";
3074   *
3075   * splitProps({ a: "a", b: "b" }, ["a"]); // [{ a: "a" }, { b: "b" }]
3076   */
3077  function splitProps(props, keys) {
3078    var propsKeys = Object.keys(props);
3079    var picked = {};
3080    var omitted = {};
3081  
3082    for (var _i = 0, _propsKeys = propsKeys; _i < _propsKeys.length; _i++) {
3083      var key = _propsKeys[_i];
3084  
3085      if (keys.indexOf(key) >= 0) {
3086        picked[key] = props[key];
3087      } else {
3088        omitted[key] = props[key];
3089      }
3090    }
3091  
3092    return [picked, omitted];
3093  }
3094  
3095  
3096  
3097  // CONCATENATED MODULE: ./node_modules/reakit-system/es/createComponent.js
3098  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createComponent; });
3099  
3100  
3101  
3102  
3103  
3104  
3105  function memo(component, propsAreEqual) {
3106    return Object(external_this_React_["memo"])(component, propsAreEqual);
3107  }
3108  
3109  function forwardRef(component) {
3110    return Object(external_this_React_["forwardRef"])(component);
3111  }
3112  
3113  /**
3114   * Creates a React component.
3115   *
3116   * @example
3117   * import { createComponent } from "reakit-system";
3118   *
3119   * const A = createComponent({ as: "a" });
3120   *
3121   * @param options
3122   */
3123  function createComponent(_ref) {
3124    var type = _ref.as,
3125        useHook = _ref.useHook,
3126        _ref$keys = _ref.keys,
3127        keys = _ref$keys === void 0 ? useHook && useHook.__keys || [] : _ref$keys,
3128        _ref$propsAreEqual = _ref.propsAreEqual,
3129        propsAreEqual = _ref$propsAreEqual === void 0 ? useHook && useHook.__propsAreEqual : _ref$propsAreEqual,
3130        _ref$useCreateElement = _ref.useCreateElement,
3131        useCreateElement$1 = _ref$useCreateElement === void 0 ? useCreateElement["a" /* useCreateElement */] : _ref$useCreateElement;
3132  
3133    var Comp = function Comp(_ref2, ref) {
3134      var _ref2$as = _ref2.as,
3135          as = _ref2$as === void 0 ? type : _ref2$as,
3136          props = Object(_rollupPluginBabelHelpers_ce04ac6e["b" /* a */])(_ref2, ["as"]);
3137  
3138      if (useHook) {
3139        var _splitProps = splitProps(props, keys),
3140            _options = _splitProps[0],
3141            htmlProps = _splitProps[1];
3142  
3143        var _useHook = useHook(_options, Object(_rollupPluginBabelHelpers_ce04ac6e["a" /* _ */])({
3144          ref: ref
3145        }, htmlProps)),
3146            wrapElement = _useHook.wrapElement,
3147            elementProps = Object(_rollupPluginBabelHelpers_ce04ac6e["b" /* a */])(_useHook, ["wrapElement"]); // @ts-ignore
3148  
3149  
3150        var asKeys = as.render ? as.render.__keys : as.__keys;
3151        var asOptions = asKeys ? splitProps(props, asKeys)[0] : {};
3152  
3153        var _element = useCreateElement$1(as, Object(_rollupPluginBabelHelpers_ce04ac6e["a" /* _ */])({}, elementProps, {}, asOptions));
3154  
3155        if (wrapElement) {
3156          return wrapElement(_element);
3157        }
3158  
3159        return _element;
3160      }
3161  
3162      return useCreateElement$1(as, props);
3163    };
3164  
3165    Comp.__keys = keys;
3166  
3167    if (false) {}
3168  
3169    return memo(forwardRef(Comp), propsAreEqual);
3170  }
3171  
3172  
3173  
3174  
3175  /***/ }),
3176  /* 64 */,
3177  /* 65 */
3178  /***/ (function(module, exports, __webpack_require__) {
3179  
3180  "use strict";
3181  
3182  
3183  Object.defineProperty(exports, "__esModule", {
3184    value: true
3185  });
3186  exports.withStylesPropTypes = exports.css = undefined;
3187  
3188  var _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; };
3189  
3190  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
3191  
3192  exports.withStyles = withStyles;
3193  
3194  var _object = __webpack_require__(57);
3195  
3196  var _object2 = _interopRequireDefault(_object);
3197  
3198  var _react = __webpack_require__(21);
3199  
3200  var _react2 = _interopRequireDefault(_react);
3201  
3202  var _propTypes = __webpack_require__(26);
3203  
3204  var _propTypes2 = _interopRequireDefault(_propTypes);
3205  
3206  var _hoistNonReactStatics = __webpack_require__(348);
3207  
3208  var _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);
3209  
3210  var _constants = __webpack_require__(351);
3211  
3212  var _brcast = __webpack_require__(352);
3213  
3214  var _brcast2 = _interopRequireDefault(_brcast);
3215  
3216  var _ThemedStyleSheet = __webpack_require__(209);
3217  
3218  var _ThemedStyleSheet2 = _interopRequireDefault(_ThemedStyleSheet);
3219  
3220  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3221  
3222  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3223  
3224  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
3225  
3226  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
3227  
3228  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /* eslint react/forbid-foreign-prop-types: off */
3229  
3230  // Add some named exports to assist in upgrading and for convenience
3231  var css = exports.css = _ThemedStyleSheet2['default'].resolveLTR;
3232  var withStylesPropTypes = exports.withStylesPropTypes = {
3233    styles: _propTypes2['default'].object.isRequired, // eslint-disable-line react/forbid-prop-types
3234    theme: _propTypes2['default'].object.isRequired, // eslint-disable-line react/forbid-prop-types
3235    css: _propTypes2['default'].func.isRequired
3236  };
3237  
3238  var EMPTY_STYLES = {};
3239  var EMPTY_STYLES_FN = function EMPTY_STYLES_FN() {
3240    return EMPTY_STYLES;
3241  };
3242  
3243  var START_MARK = 'react-with-styles.createStyles.start';
3244  var END_MARK = 'react-with-styles.createStyles.end';
3245  
3246  function baseClass(pureComponent) {
3247    if (pureComponent) {
3248      if (!_react2['default'].PureComponent) {
3249        throw new ReferenceError('withStyles() pureComponent option requires React 15.3.0 or later');
3250      }
3251  
3252      return _react2['default'].PureComponent;
3253    }
3254  
3255    return _react2['default'].Component;
3256  }
3257  
3258  var contextTypes = _defineProperty({}, _constants.CHANNEL, _brcast2['default']);
3259  
3260  var defaultDirection = _constants.DIRECTIONS.LTR;
3261  
3262  function withStyles(styleFn) {
3263    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
3264        _ref$stylesPropName = _ref.stylesPropName,
3265        stylesPropName = _ref$stylesPropName === undefined ? 'styles' : _ref$stylesPropName,
3266        _ref$themePropName = _ref.themePropName,
3267        themePropName = _ref$themePropName === undefined ? 'theme' : _ref$themePropName,
3268        _ref$cssPropName = _ref.cssPropName,
3269        cssPropName = _ref$cssPropName === undefined ? 'css' : _ref$cssPropName,
3270        _ref$flushBefore = _ref.flushBefore,
3271        flushBefore = _ref$flushBefore === undefined ? false : _ref$flushBefore,
3272        _ref$pureComponent = _ref.pureComponent,
3273        pureComponent = _ref$pureComponent === undefined ? false : _ref$pureComponent;
3274  
3275    var styleDefLTR = void 0;
3276    var styleDefRTL = void 0;
3277    var currentThemeLTR = void 0;
3278    var currentThemeRTL = void 0;
3279    var BaseClass = baseClass(pureComponent);
3280  
3281    function getResolveMethod(direction) {
3282      return direction === _constants.DIRECTIONS.LTR ? _ThemedStyleSheet2['default'].resolveLTR : _ThemedStyleSheet2['default'].resolveRTL;
3283    }
3284  
3285    function getCurrentTheme(direction) {
3286      return direction === _constants.DIRECTIONS.LTR ? currentThemeLTR : currentThemeRTL;
3287    }
3288  
3289    function getStyleDef(direction, wrappedComponentName) {
3290      var currentTheme = getCurrentTheme(direction);
3291      var styleDef = direction === _constants.DIRECTIONS.LTR ? styleDefLTR : styleDefRTL;
3292  
3293      var registeredTheme = _ThemedStyleSheet2['default'].get();
3294  
3295      // Return the existing styles if they've already been defined
3296      // and if the theme used to create them corresponds to the theme
3297      // registered with ThemedStyleSheet
3298      if (styleDef && currentTheme === registeredTheme) {
3299        return styleDef;
3300      }
3301  
3302      if (false) {}
3303  
3304      var isRTL = direction === _constants.DIRECTIONS.RTL;
3305  
3306      if (isRTL) {
3307        styleDefRTL = styleFn ? _ThemedStyleSheet2['default'].createRTL(styleFn) : EMPTY_STYLES_FN;
3308  
3309        currentThemeRTL = registeredTheme;
3310        styleDef = styleDefRTL;
3311      } else {
3312        styleDefLTR = styleFn ? _ThemedStyleSheet2['default'].createLTR(styleFn) : EMPTY_STYLES_FN;
3313  
3314        currentThemeLTR = registeredTheme;
3315        styleDef = styleDefLTR;
3316      }
3317  
3318      if (false) { var measureName; }
3319  
3320      return styleDef;
3321    }
3322  
3323    function getState(direction, wrappedComponentName) {
3324      return {
3325        resolveMethod: getResolveMethod(direction),
3326        styleDef: getStyleDef(direction, wrappedComponentName)
3327      };
3328    }
3329  
3330    return function () {
3331      function withStylesHOC(WrappedComponent) {
3332        var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
3333  
3334        // NOTE: Use a class here so components are ref-able if need be:
3335        // eslint-disable-next-line react/prefer-stateless-function
3336  
3337        var WithStyles = function (_BaseClass) {
3338          _inherits(WithStyles, _BaseClass);
3339  
3340          function WithStyles(props, context) {
3341            _classCallCheck(this, WithStyles);
3342  
3343            var _this = _possibleConstructorReturn(this, (WithStyles.__proto__ || Object.getPrototypeOf(WithStyles)).call(this, props, context));
3344  
3345            var direction = _this.context[_constants.CHANNEL] ? _this.context[_constants.CHANNEL].getState() : defaultDirection;
3346  
3347            _this.state = getState(direction, wrappedComponentName);
3348            return _this;
3349          }
3350  
3351          _createClass(WithStyles, [{
3352            key: 'componentDidMount',
3353            value: function () {
3354              function componentDidMount() {
3355                var _this2 = this;
3356  
3357                if (this.context[_constants.CHANNEL]) {
3358                  // subscribe to future direction changes
3359                  this.channelUnsubscribe = this.context[_constants.CHANNEL].subscribe(function (direction) {
3360                    _this2.setState(getState(direction, wrappedComponentName));
3361                  });
3362                }
3363              }
3364  
3365              return componentDidMount;
3366            }()
3367          }, {
3368            key: 'componentWillUnmount',
3369            value: function () {
3370              function componentWillUnmount() {
3371                if (this.channelUnsubscribe) {
3372                  this.channelUnsubscribe();
3373                }
3374              }
3375  
3376              return componentWillUnmount;
3377            }()
3378          }, {
3379            key: 'render',
3380            value: function () {
3381              function render() {
3382                var _ref2;
3383  
3384                // As some components will depend on previous styles in
3385                // the component tree, we provide the option of flushing the
3386                // buffered styles (i.e. to a style tag) **before** the rendering
3387                // cycle begins.
3388                //
3389                // The interfaces provide the optional "flush" method which
3390                // is run in turn by ThemedStyleSheet.flush.
3391                if (flushBefore) {
3392                  _ThemedStyleSheet2['default'].flush();
3393                }
3394  
3395                var _state = this.state,
3396                    resolveMethod = _state.resolveMethod,
3397                    styleDef = _state.styleDef;
3398  
3399  
3400                return _react2['default'].createElement(WrappedComponent, _extends({}, this.props, (_ref2 = {}, _defineProperty(_ref2, themePropName, _ThemedStyleSheet2['default'].get()), _defineProperty(_ref2, stylesPropName, styleDef()), _defineProperty(_ref2, cssPropName, resolveMethod), _ref2)));
3401              }
3402  
3403              return render;
3404            }()
3405          }]);
3406  
3407          return WithStyles;
3408        }(BaseClass);
3409  
3410        WithStyles.WrappedComponent = WrappedComponent;
3411        WithStyles.displayName = 'withStyles(' + String(wrappedComponentName) + ')';
3412        WithStyles.contextTypes = contextTypes;
3413        if (WrappedComponent.propTypes) {
3414          WithStyles.propTypes = (0, _object2['default'])({}, WrappedComponent.propTypes);
3415          delete WithStyles.propTypes[stylesPropName];
3416          delete WithStyles.propTypes[themePropName];
3417          delete WithStyles.propTypes[cssPropName];
3418        }
3419        if (WrappedComponent.defaultProps) {
3420          WithStyles.defaultProps = (0, _object2['default'])({}, WrappedComponent.defaultProps);
3421        }
3422  
3423        return (0, _hoistNonReactStatics2['default'])(WithStyles, WrappedComponent);
3424      }
3425  
3426      return withStylesHOC;
3427    }();
3428  }
3429  
3430  /***/ }),
3431  /* 66 */
3432  /***/ (function(module, exports) {
3433  
3434  (function() { module.exports = this["ReactDOM"]; }());
3435  
3436  /***/ }),
3437  /* 67 */,
3438  /* 68 */,
3439  /* 69 */
3440  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3441  
3442  "use strict";
3443  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useSealedState; });
3444  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21);
3445  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3446  
3447  
3448  /**
3449   * React custom hook that returns the very first value passed to `initialState`,
3450   * even if it changes between re-renders.
3451   */
3452  function useSealedState(initialState) {
3453    var _React$useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(initialState),
3454        sealed = _React$useState[0];
3455  
3456    return sealed;
3457  }
3458  
3459  
3460  
3461  
3462  /***/ }),
3463  /* 70 */
3464  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3465  
3466  "use strict";
3467  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return unstable_IdContext; });
3468  /* unused harmony export unstable_IdProvider */
3469  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21);
3470  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3471  
3472  
3473  var defaultPrefix = "id";
3474  function generateRandomString(prefix) {
3475    if (prefix === void 0) {
3476      prefix = defaultPrefix;
3477    }
3478  
3479    return "" + (prefix ? prefix + "-" : "") + Math.random().toString(32).substr(2, 6);
3480  }
3481  
3482  var unstable_IdContext = Object(react__WEBPACK_IMPORTED_MODULE_0__["createContext"])(generateRandomString);
3483  function unstable_IdProvider(_ref) {
3484    var children = _ref.children,
3485        _ref$prefix = _ref.prefix,
3486        prefix = _ref$prefix === void 0 ? defaultPrefix : _ref$prefix;
3487    var count = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(0);
3488    var generateId = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (localPrefix) {
3489      if (localPrefix === void 0) {
3490        localPrefix = prefix;
3491      }
3492  
3493      return "" + (localPrefix ? localPrefix + "-" : "") + ++count.current;
3494    }, []);
3495    return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(unstable_IdContext.Provider, {
3496      value: generateId
3497    }, children);
3498  }
3499  
3500  
3501  
3502  
3503  /***/ }),
3504  /* 71 */
3505  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3506  
3507  "use strict";
3508  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return unstable_useIdState; });
3509  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21);
3510  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3511  /* harmony import */ var _IdProvider_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(70);
3512  /* harmony import */ var reakit_utils_useSealedState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69);
3513  
3514  
3515  
3516  
3517  function unstable_useIdState(initialState) {
3518    if (initialState === void 0) {
3519      initialState = {};
3520    }
3521  
3522    var _useSealedState = Object(reakit_utils_useSealedState__WEBPACK_IMPORTED_MODULE_2__[/* useSealedState */ "a"])(initialState),
3523        initialBaseId = _useSealedState.baseId;
3524  
3525    var generateId = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_IdProvider_js__WEBPACK_IMPORTED_MODULE_1__[/* unstable_IdContext */ "a"]);
3526    var idCountRef = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(0);
3527  
3528    var _React$useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(function () {
3529      return initialBaseId || generateId();
3530    }),
3531        baseId = _React$useState[0],
3532        setBaseId = _React$useState[1];
3533  
3534    return {
3535      baseId: baseId,
3536      unstable_setBaseId: setBaseId,
3537      unstable_idCountRef: idCountRef
3538    };
3539  }
3540  var keys = ["baseId", "unstable_setBaseId", "unstable_idCountRef"];
3541  unstable_useIdState.__keys = keys;
3542  
3543  
3544  
3545  
3546  /***/ }),
3547  /* 72 */,
3548  /* 73 */
3549  /***/ (function(module, exports) {
3550  
3551  var g;
3552  
3553  // This works in non-strict mode
3554  g = (function() {
3555      return this;
3556  })();
3557  
3558  try {
3559      // This works if eval is allowed (see CSP)
3560      g = g || new Function("return this")();
3561  } catch (e) {
3562      // This works if the window reference is available
3563      if (typeof window === "object") g = window;
3564  }
3565  
3566  // g can still be undefined, but nothing to do about it...
3567  // We return undefined, instead of nothing here, so it's
3568  // easier to handle this case. if(!global) { ...}
3569  
3570  module.exports = g;
3571  
3572  
3573  /***/ }),
3574  /* 74 */
3575  /***/ (function(module, exports, __webpack_require__) {
3576  
3577  "use strict";
3578  
3579  
3580  var bind = __webpack_require__(93);
3581  
3582  module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
3583  
3584  
3585  /***/ }),
3586  /* 75 */,
3587  /* 76 */
3588  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3589  
3590  "use strict";
3591  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
3592  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
3593  /**
3594   * WordPress dependencies
3595   */
3596  
3597  var ToolbarContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])();
3598  /* harmony default export */ __webpack_exports__["a"] = (ToolbarContext);
3599  
3600  
3601  /***/ }),
3602  /* 77 */
3603  /***/ (function(module, exports, __webpack_require__) {
3604  
3605  "use strict";
3606  
3607  
3608  Object.defineProperty(exports, '__esModule', { value: true });
3609  
3610  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
3611  
3612  var _extends = _interopDefault(__webpack_require__(156));
3613  var _objectWithoutPropertiesLoose = _interopDefault(__webpack_require__(157));
3614  var React = __webpack_require__(21);
3615  var React__default = _interopDefault(React);
3616  var _inheritsLoose = _interopDefault(__webpack_require__(127));
3617  var _assertThisInitialized = _interopDefault(__webpack_require__(158));
3618  
3619  var is = {
3620    arr: Array.isArray,
3621    obj: function obj(a) {
3622      return Object.prototype.toString.call(a) === '[object Object]';
3623    },
3624    fun: function fun(a) {
3625      return typeof a === 'function';
3626    },
3627    str: function str(a) {
3628      return typeof a === 'string';
3629    },
3630    num: function num(a) {
3631      return typeof a === 'number';
3632    },
3633    und: function und(a) {
3634      return a === void 0;
3635    },
3636    nul: function nul(a) {
3637      return a === null;
3638    },
3639    set: function set(a) {
3640      return a instanceof Set;
3641    },
3642    map: function map(a) {
3643      return a instanceof Map;
3644    },
3645    equ: function equ(a, b) {
3646      if (typeof a !== typeof b) return false;
3647      if (is.str(a) || is.num(a)) return a === b;
3648      if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;
3649      var i;
3650  
3651      for (i in a) {
3652        if (!(i in b)) return false;
3653      }
3654  
3655      for (i in b) {
3656        if (a[i] !== b[i]) return false;
3657      }
3658  
3659      return is.und(i) ? a === b : true;
3660    }
3661  };
3662  function merge(target, lowercase) {
3663    if (lowercase === void 0) {
3664      lowercase = true;
3665    }
3666  
3667    return function (object) {
3668      return (is.arr(object) ? object : Object.keys(object)).reduce(function (acc, element) {
3669        var key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;
3670        acc[key] = target(key);
3671        return acc;
3672      }, target);
3673    };
3674  }
3675  function useForceUpdate() {
3676    var _useState = React.useState(false),
3677        f = _useState[1];
3678  
3679    var forceUpdate = React.useCallback(function () {
3680      return f(function (v) {
3681        return !v;
3682      });
3683    }, []);
3684    return forceUpdate;
3685  }
3686  function withDefault(value, defaultValue) {
3687    return is.und(value) || is.nul(value) ? defaultValue : value;
3688  }
3689  function toArray(a) {
3690    return !is.und(a) ? is.arr(a) ? a : [a] : [];
3691  }
3692  function callProp(obj) {
3693    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
3694      args[_key - 1] = arguments[_key];
3695    }
3696  
3697    return is.fun(obj) ? obj.apply(void 0, args) : obj;
3698  }
3699  
3700  function getForwardProps(props) {
3701    var to = props.to,
3702        from = props.from,
3703        config = props.config,
3704        onStart = props.onStart,
3705        onRest = props.onRest,
3706        onFrame = props.onFrame,
3707        children = props.children,
3708        reset = props.reset,
3709        reverse = props.reverse,
3710        force = props.force,
3711        immediate = props.immediate,
3712        delay = props.delay,
3713        attach = props.attach,
3714        destroyed = props.destroyed,
3715        interpolateTo = props.interpolateTo,
3716        ref = props.ref,
3717        lazy = props.lazy,
3718        forward = _objectWithoutPropertiesLoose(props, ["to", "from", "config", "onStart", "onRest", "onFrame", "children", "reset", "reverse", "force", "immediate", "delay", "attach", "destroyed", "interpolateTo", "ref", "lazy"]);
3719  
3720    return forward;
3721  }
3722  
3723  function interpolateTo(props) {
3724    var forward = getForwardProps(props);
3725    if (is.und(forward)) return _extends({
3726      to: forward
3727    }, props);
3728    var rest = Object.keys(props).reduce(function (a, k) {
3729      var _extends2;
3730  
3731      return !is.und(forward[k]) ? a : _extends({}, a, (_extends2 = {}, _extends2[k] = props[k], _extends2));
3732    }, {});
3733    return _extends({
3734      to: forward
3735    }, rest);
3736  }
3737  function handleRef(ref, forward) {
3738    if (forward) {
3739      // If it's a function, assume it's a ref callback
3740      if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {
3741        forward.current = ref;
3742      }
3743    }
3744  
3745    return ref;
3746  }
3747  
3748  var Animated =
3749  /*#__PURE__*/
3750  function () {
3751    function Animated() {
3752      this.payload = void 0;
3753      this.children = [];
3754    }
3755  
3756    var _proto = Animated.prototype;
3757  
3758    _proto.getAnimatedValue = function getAnimatedValue() {
3759      return this.getValue();
3760    };
3761  
3762    _proto.getPayload = function getPayload() {
3763      return this.payload || this;
3764    };
3765  
3766    _proto.attach = function attach() {};
3767  
3768    _proto.detach = function detach() {};
3769  
3770    _proto.getChildren = function getChildren() {
3771      return this.children;
3772    };
3773  
3774    _proto.addChild = function addChild(child) {
3775      if (this.children.length === 0) this.attach();
3776      this.children.push(child);
3777    };
3778  
3779    _proto.removeChild = function removeChild(child) {
3780      var index = this.children.indexOf(child);
3781      this.children.splice(index, 1);
3782      if (this.children.length === 0) this.detach();
3783    };
3784  
3785    return Animated;
3786  }();
3787  var AnimatedArray =
3788  /*#__PURE__*/
3789  function (_Animated) {
3790    _inheritsLoose(AnimatedArray, _Animated);
3791  
3792    function AnimatedArray() {
3793      var _this;
3794  
3795      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3796        args[_key] = arguments[_key];
3797      }
3798  
3799      _this = _Animated.call.apply(_Animated, [this].concat(args)) || this;
3800      _this.payload = [];
3801  
3802      _this.attach = function () {
3803        return _this.payload.forEach(function (p) {
3804          return p instanceof Animated && p.addChild(_assertThisInitialized(_this));
3805        });
3806      };
3807  
3808      _this.detach = function () {
3809        return _this.payload.forEach(function (p) {
3810          return p instanceof Animated && p.removeChild(_assertThisInitialized(_this));
3811        });
3812      };
3813  
3814      return _this;
3815    }
3816  
3817    return AnimatedArray;
3818  }(Animated);
3819  var AnimatedObject =
3820  /*#__PURE__*/
3821  function (_Animated2) {
3822    _inheritsLoose(AnimatedObject, _Animated2);
3823  
3824    function AnimatedObject() {
3825      var _this2;
3826  
3827      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
3828        args[_key3] = arguments[_key3];
3829      }
3830  
3831      _this2 = _Animated2.call.apply(_Animated2, [this].concat(args)) || this;
3832      _this2.payload = {};
3833  
3834      _this2.attach = function () {
3835        return Object.values(_this2.payload).forEach(function (s) {
3836          return s instanceof Animated && s.addChild(_assertThisInitialized(_this2));
3837        });
3838      };
3839  
3840      _this2.detach = function () {
3841        return Object.values(_this2.payload).forEach(function (s) {
3842          return s instanceof Animated && s.removeChild(_assertThisInitialized(_this2));
3843        });
3844      };
3845  
3846      return _this2;
3847    }
3848  
3849    var _proto2 = AnimatedObject.prototype;
3850  
3851    _proto2.getValue = function getValue(animated) {
3852      if (animated === void 0) {
3853        animated = false;
3854      }
3855  
3856      var payload = {};
3857  
3858      for (var _key4 in this.payload) {
3859        var value = this.payload[_key4];
3860        if (animated && !(value instanceof Animated)) continue;
3861        payload[_key4] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;
3862      }
3863  
3864      return payload;
3865    };
3866  
3867    _proto2.getAnimatedValue = function getAnimatedValue() {
3868      return this.getValue(true);
3869    };
3870  
3871    return AnimatedObject;
3872  }(Animated);
3873  
3874  var applyAnimatedValues;
3875  function injectApplyAnimatedValues(fn, transform) {
3876    applyAnimatedValues = {
3877      fn: fn,
3878      transform: transform
3879    };
3880  }
3881  var colorNames;
3882  function injectColorNames(names) {
3883    colorNames = names;
3884  }
3885  var requestFrame = function requestFrame(cb) {
3886    return typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;
3887  };
3888  var cancelFrame = function cancelFrame(id) {
3889    typeof window !== 'undefined' && window.cancelAnimationFrame(id);
3890  };
3891  function injectFrame(raf, caf) {
3892    requestFrame = raf;
3893    cancelFrame = caf;
3894  }
3895  var interpolation;
3896  function injectStringInterpolator(fn) {
3897    interpolation = fn;
3898  }
3899  var now = function now() {
3900    return Date.now();
3901  };
3902  function injectNow(nowFn) {
3903    now = nowFn;
3904  }
3905  var defaultElement;
3906  function injectDefaultElement(el) {
3907    defaultElement = el;
3908  }
3909  var animatedApi = function animatedApi(node) {
3910    return node.current;
3911  };
3912  function injectAnimatedApi(fn) {
3913    animatedApi = fn;
3914  }
3915  var createAnimatedStyle;
3916  function injectCreateAnimatedStyle(factory) {
3917    createAnimatedStyle = factory;
3918  }
3919  var manualFrameloop;
3920  function injectManualFrameloop(callback) {
3921    manualFrameloop = callback;
3922  }
3923  
3924  var Globals = /*#__PURE__*/Object.freeze({
3925    get applyAnimatedValues () { return applyAnimatedValues; },
3926    injectApplyAnimatedValues: injectApplyAnimatedValues,
3927    get colorNames () { return colorNames; },
3928    injectColorNames: injectColorNames,
3929    get requestFrame () { return requestFrame; },
3930    get cancelFrame () { return cancelFrame; },
3931    injectFrame: injectFrame,
3932    get interpolation () { return interpolation; },
3933    injectStringInterpolator: injectStringInterpolator,
3934    get now () { return now; },
3935    injectNow: injectNow,
3936    get defaultElement () { return defaultElement; },
3937    injectDefaultElement: injectDefaultElement,
3938    get animatedApi () { return animatedApi; },
3939    injectAnimatedApi: injectAnimatedApi,
3940    get createAnimatedStyle () { return createAnimatedStyle; },
3941    injectCreateAnimatedStyle: injectCreateAnimatedStyle,
3942    get manualFrameloop () { return manualFrameloop; },
3943    injectManualFrameloop: injectManualFrameloop
3944  });
3945  
3946  /**
3947   * Wraps the `style` property with `AnimatedStyle`.
3948   */
3949  
3950  var AnimatedProps =
3951  /*#__PURE__*/
3952  function (_AnimatedObject) {
3953    _inheritsLoose(AnimatedProps, _AnimatedObject);
3954  
3955    function AnimatedProps(props, callback) {
3956      var _this;
3957  
3958      _this = _AnimatedObject.call(this) || this;
3959      _this.update = void 0;
3960      _this.payload = !props.style ? props : _extends({}, props, {
3961        style: createAnimatedStyle(props.style)
3962      });
3963      _this.update = callback;
3964  
3965      _this.attach();
3966  
3967      return _this;
3968    }
3969  
3970    return AnimatedProps;
3971  }(AnimatedObject);
3972  
3973  var isFunctionComponent = function isFunctionComponent(val) {
3974    return is.fun(val) && !(val.prototype instanceof React__default.Component);
3975  };
3976  
3977  var createAnimatedComponent = function createAnimatedComponent(Component) {
3978    var AnimatedComponent = React.forwardRef(function (props, ref) {
3979      var forceUpdate = useForceUpdate();
3980      var mounted = React.useRef(true);
3981      var propsAnimated = React.useRef(null);
3982      var node = React.useRef(null);
3983      var attachProps = React.useCallback(function (props) {
3984        var oldPropsAnimated = propsAnimated.current;
3985  
3986        var callback = function callback() {
3987          var didUpdate = false;
3988  
3989          if (node.current) {
3990            didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());
3991          }
3992  
3993          if (!node.current || didUpdate === false) {
3994            // If no referenced node has been found, or the update target didn't have a
3995            // native-responder, then forceUpdate the animation ...
3996            forceUpdate();
3997          }
3998        };
3999  
4000        propsAnimated.current = new AnimatedProps(props, callback);
4001        oldPropsAnimated && oldPropsAnimated.detach();
4002      }, []);
4003      React.useEffect(function () {
4004        return function () {
4005          mounted.current = false;
4006          propsAnimated.current && propsAnimated.current.detach();
4007        };
4008      }, []);
4009      React.useImperativeHandle(ref, function () {
4010        return animatedApi(node, mounted, forceUpdate);
4011      });
4012      attachProps(props);
4013  
4014      var _getValue = propsAnimated.current.getValue(),
4015          scrollTop = _getValue.scrollTop,
4016          scrollLeft = _getValue.scrollLeft,
4017          animatedProps = _objectWithoutPropertiesLoose(_getValue, ["scrollTop", "scrollLeft"]); // Functions cannot have refs, see:
4018      // See: https://github.com/react-spring/react-spring/issues/569
4019  
4020  
4021      var refFn = isFunctionComponent(Component) ? undefined : function (childRef) {
4022        return node.current = handleRef(childRef, ref);
4023      };
4024      return React__default.createElement(Component, _extends({}, animatedProps, {
4025        ref: refFn
4026      }));
4027    });
4028    return AnimatedComponent;
4029  };
4030  
4031  var active = false;
4032  var controllers = new Set();
4033  
4034  var update = function update() {
4035    if (!active) return false;
4036    var time = now();
4037  
4038    for (var _iterator = controllers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
4039      var _ref;
4040  
4041      if (_isArray) {
4042        if (_i >= _iterator.length) break;
4043        _ref = _iterator[_i++];
4044      } else {
4045        _i = _iterator.next();
4046        if (_i.done) break;
4047        _ref = _i.value;
4048      }
4049  
4050      var controller = _ref;
4051      var isActive = false;
4052  
4053      for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) {
4054        var config = controller.configs[configIdx];
4055        var endOfAnimation = void 0,
4056            lastTime = void 0;
4057  
4058        for (var valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {
4059          var animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude
4060  
4061          if (animation.done) continue;
4062          var from = config.fromValues[valIdx];
4063          var to = config.toValues[valIdx];
4064          var position = animation.lastPosition;
4065          var isAnimated = to instanceof Animated;
4066          var velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;
4067          if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state
4068  
4069          if (config.immediate) {
4070            animation.setValue(to);
4071            animation.done = true;
4072            continue;
4073          } // Break animation when string values are involved
4074  
4075  
4076          if (typeof from === 'string' || typeof to === 'string') {
4077            animation.setValue(to);
4078            animation.done = true;
4079            continue;
4080          }
4081  
4082          if (config.duration !== void 0) {
4083            /** Duration easing */
4084            position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);
4085            endOfAnimation = time >= animation.startTime + config.duration;
4086          } else if (config.decay) {
4087            /** Decay easing */
4088            position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));
4089            endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;
4090            if (endOfAnimation) to = position;
4091          } else {
4092            /** Spring easing */
4093            lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;
4094            velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.
4095  
4096            if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/
4097  
4098            var numSteps = Math.floor(time - lastTime);
4099  
4100            for (var i = 0; i < numSteps; ++i) {
4101              var force = -config.tension * (position - to);
4102              var damping = -config.friction * velocity;
4103              var acceleration = (force + damping) / config.mass;
4104              velocity = velocity + acceleration * 1 / 1000;
4105              position = position + velocity * 1 / 1000;
4106            } // Conditions for stopping the spring animation
4107  
4108  
4109            var isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;
4110            var isVelocity = Math.abs(velocity) <= config.precision;
4111            var isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;
4112            endOfAnimation = isOvershooting || isVelocity && isDisplacement;
4113            animation.lastVelocity = velocity;
4114            animation.lastTime = time;
4115          } // Trails aren't done until their parents conclude
4116  
4117  
4118          if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;
4119  
4120          if (endOfAnimation) {
4121            // Ensure that we end up with a round value
4122            if (animation.value !== to) position = to;
4123            animation.done = true;
4124          } else isActive = true;
4125  
4126          animation.setValue(position);
4127          animation.lastPosition = position;
4128        } // Keep track of updated values only when necessary
4129  
4130  
4131        if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();
4132      } // Update callbacks in the end of the frame
4133  
4134  
4135      if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame
4136  
4137      if (!isActive) {
4138        controllers.delete(controller);
4139        controller.stop(true);
4140      }
4141    } // Loop over as long as there are controllers ...
4142  
4143  
4144    if (controllers.size) {
4145      if (manualFrameloop) manualFrameloop();else requestFrame(update);
4146    } else {
4147      active = false;
4148    }
4149  
4150    return active;
4151  };
4152  
4153  var start = function start(controller) {
4154    if (!controllers.has(controller)) controllers.add(controller);
4155  
4156    if (!active) {
4157      active = true;
4158      if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);
4159    }
4160  };
4161  
4162  var stop = function stop(controller) {
4163    if (controllers.has(controller)) controllers.delete(controller);
4164  };
4165  
4166  function createInterpolator(range, output, extrapolate) {
4167    if (typeof range === 'function') {
4168      return range;
4169    }
4170  
4171    if (Array.isArray(range)) {
4172      return createInterpolator({
4173        range: range,
4174        output: output,
4175        extrapolate: extrapolate
4176      });
4177    }
4178  
4179    if (interpolation && typeof range.output[0] === 'string') {
4180      return interpolation(range);
4181    }
4182  
4183    var config = range;
4184    var outputRange = config.output;
4185    var inputRange = config.range || [0, 1];
4186    var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';
4187    var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';
4188  
4189    var easing = config.easing || function (t) {
4190      return t;
4191    };
4192  
4193    return function (input) {
4194      var range = findRange(input, inputRange);
4195      return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);
4196    };
4197  }
4198  
4199  function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {
4200    var result = map ? map(input) : input; // Extrapolate
4201  
4202    if (result < inputMin) {
4203      if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;
4204    }
4205  
4206    if (result > inputMax) {
4207      if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;
4208    }
4209  
4210    if (outputMin === outputMax) return outputMin;
4211    if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range
4212  
4213    if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing
4214  
4215    result = easing(result); // Output Range
4216  
4217    if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;
4218    return result;
4219  }
4220  
4221  function findRange(input, inputRange) {
4222    for (var i = 1; i < inputRange.length - 1; ++i) {
4223      if (inputRange[i] >= input) break;
4224    }
4225  
4226    return i - 1;
4227  }
4228  
4229  var AnimatedInterpolation =
4230  /*#__PURE__*/
4231  function (_AnimatedArray) {
4232    _inheritsLoose(AnimatedInterpolation, _AnimatedArray);
4233  
4234    function AnimatedInterpolation(parents, range, output, extrapolate) {
4235      var _this;
4236  
4237      _this = _AnimatedArray.call(this) || this;
4238      _this.calc = void 0;
4239      _this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];
4240      _this.calc = createInterpolator(range, output, extrapolate);
4241      return _this;
4242    }
4243  
4244    var _proto = AnimatedInterpolation.prototype;
4245  
4246    _proto.getValue = function getValue() {
4247      return this.calc.apply(this, this.payload.map(function (value) {
4248        return value.getValue();
4249      }));
4250    };
4251  
4252    _proto.updateConfig = function updateConfig(range, output, extrapolate) {
4253      this.calc = createInterpolator(range, output, extrapolate);
4254    };
4255  
4256    _proto.interpolate = function interpolate(range, output, extrapolate) {
4257      return new AnimatedInterpolation(this, range, output, extrapolate);
4258    };
4259  
4260    return AnimatedInterpolation;
4261  }(AnimatedArray);
4262  
4263  var interpolate$1 = function interpolate(parents, range, output) {
4264    return parents && new AnimatedInterpolation(parents, range, output);
4265  };
4266  
4267  var config = {
4268    default: {
4269      tension: 170,
4270      friction: 26
4271    },
4272    gentle: {
4273      tension: 120,
4274      friction: 14
4275    },
4276    wobbly: {
4277      tension: 180,
4278      friction: 12
4279    },
4280    stiff: {
4281      tension: 210,
4282      friction: 20
4283    },
4284    slow: {
4285      tension: 280,
4286      friction: 60
4287    },
4288    molasses: {
4289      tension: 280,
4290      friction: 120
4291    }
4292  };
4293  
4294  /** API
4295   *  useChain(references, timeSteps, timeFrame)
4296   */
4297  
4298  function useChain(refs, timeSteps, timeFrame) {
4299    if (timeFrame === void 0) {
4300      timeFrame = 1000;
4301    }
4302  
4303    var previous = React.useRef();
4304    React.useEffect(function () {
4305      if (is.equ(refs, previous.current)) refs.forEach(function (_ref) {
4306        var current = _ref.current;
4307        return current && current.start();
4308      });else if (timeSteps) {
4309        refs.forEach(function (_ref2, index) {
4310          var current = _ref2.current;
4311  
4312          if (current) {
4313            var ctrls = current.controllers;
4314  
4315            if (ctrls.length) {
4316              var t = timeFrame * timeSteps[index];
4317              ctrls.forEach(function (ctrl) {
4318                ctrl.queue = ctrl.queue.map(function (e) {
4319                  return _extends({}, e, {
4320                    delay: e.delay + t
4321                  });
4322                });
4323                ctrl.start();
4324              });
4325            }
4326          }
4327        });
4328      } else refs.reduce(function (q, _ref3, rI) {
4329        var current = _ref3.current;
4330        return q = q.then(function () {
4331          return current.start();
4332        });
4333      }, Promise.resolve());
4334      previous.current = refs;
4335    });
4336  }
4337  
4338  /**
4339   * Animated works by building a directed acyclic graph of dependencies
4340   * transparently when you render your Animated components.
4341   *
4342   *               new Animated.Value(0)
4343   *     .interpolate()        .interpolate()    new Animated.Value(1)
4344   *         opacity               translateY      scale
4345   *          style                         transform
4346   *         View#234                         style
4347   *                                         View#123
4348   *
4349   * A) Top Down phase
4350   * When an AnimatedValue is updated, we recursively go down through this
4351   * graph in order to find leaf nodes: the views that we flag as needing
4352   * an update.
4353   *
4354   * B) Bottom Up phase
4355   * When a view is flagged as needing an update, we recursively go back up
4356   * in order to build the new value that it needs. The reason why we need
4357   * this two-phases process is to deal with composite props such as
4358   * transform which can receive values from multiple parents.
4359   */
4360  function addAnimatedStyles(node, styles) {
4361    if ('update' in node) {
4362      styles.add(node);
4363    } else {
4364      node.getChildren().forEach(function (child) {
4365        return addAnimatedStyles(child, styles);
4366      });
4367    }
4368  }
4369  
4370  var AnimatedValue =
4371  /*#__PURE__*/
4372  function (_Animated) {
4373    _inheritsLoose(AnimatedValue, _Animated);
4374  
4375    function AnimatedValue(_value) {
4376      var _this;
4377  
4378      _this = _Animated.call(this) || this;
4379      _this.animatedStyles = new Set();
4380      _this.value = void 0;
4381      _this.startPosition = void 0;
4382      _this.lastPosition = void 0;
4383      _this.lastVelocity = void 0;
4384      _this.startTime = void 0;
4385      _this.lastTime = void 0;
4386      _this.done = false;
4387  
4388      _this.setValue = function (value, flush) {
4389        if (flush === void 0) {
4390          flush = true;
4391        }
4392  
4393        _this.value = value;
4394        if (flush) _this.flush();
4395      };
4396  
4397      _this.value = _value;
4398      _this.startPosition = _value;
4399      _this.lastPosition = _value;
4400      return _this;
4401    }
4402  
4403    var _proto = AnimatedValue.prototype;
4404  
4405    _proto.flush = function flush() {
4406      if (this.animatedStyles.size === 0) {
4407        addAnimatedStyles(this, this.animatedStyles);
4408      }
4409  
4410      this.animatedStyles.forEach(function (animatedStyle) {
4411        return animatedStyle.update();
4412      });
4413    };
4414  
4415    _proto.clearStyles = function clearStyles() {
4416      this.animatedStyles.clear();
4417    };
4418  
4419    _proto.getValue = function getValue() {
4420      return this.value;
4421    };
4422  
4423    _proto.interpolate = function interpolate(range, output, extrapolate) {
4424      return new AnimatedInterpolation(this, range, output, extrapolate);
4425    };
4426  
4427    return AnimatedValue;
4428  }(Animated);
4429  
4430  var AnimatedValueArray =
4431  /*#__PURE__*/
4432  function (_AnimatedArray) {
4433    _inheritsLoose(AnimatedValueArray, _AnimatedArray);
4434  
4435    function AnimatedValueArray(values) {
4436      var _this;
4437  
4438      _this = _AnimatedArray.call(this) || this;
4439      _this.payload = values.map(function (n) {
4440        return new AnimatedValue(n);
4441      });
4442      return _this;
4443    }
4444  
4445    var _proto = AnimatedValueArray.prototype;
4446  
4447    _proto.setValue = function setValue(value, flush) {
4448      var _this2 = this;
4449  
4450      if (flush === void 0) {
4451        flush = true;
4452      }
4453  
4454      if (Array.isArray(value)) {
4455        if (value.length === this.payload.length) {
4456          value.forEach(function (v, i) {
4457            return _this2.payload[i].setValue(v, flush);
4458          });
4459        }
4460      } else {
4461        this.payload.forEach(function (p) {
4462          return p.setValue(value, flush);
4463        });
4464      }
4465    };
4466  
4467    _proto.getValue = function getValue() {
4468      return this.payload.map(function (v) {
4469        return v.getValue();
4470      });
4471    };
4472  
4473    _proto.interpolate = function interpolate(range, output) {
4474      return new AnimatedInterpolation(this, range, output);
4475    };
4476  
4477    return AnimatedValueArray;
4478  }(AnimatedArray);
4479  
4480  var G = 0;
4481  
4482  var Controller =
4483  /*#__PURE__*/
4484  function () {
4485    function Controller() {
4486      var _this = this;
4487  
4488      this.id = void 0;
4489      this.idle = true;
4490      this.hasChanged = false;
4491      this.guid = 0;
4492      this.local = 0;
4493      this.props = {};
4494      this.merged = {};
4495      this.animations = {};
4496      this.interpolations = {};
4497      this.values = {};
4498      this.configs = [];
4499      this.listeners = [];
4500      this.queue = [];
4501      this.localQueue = void 0;
4502  
4503      this.getValues = function () {
4504        return _this.interpolations;
4505      };
4506  
4507      this.id = G++;
4508    }
4509    /** update(props)
4510     *  This function filters input props and creates an array of tasks which are executed in .start()
4511     *  Each task is allowed to carry a delay, which means it can execute asnychroneously */
4512  
4513  
4514    var _proto = Controller.prototype;
4515  
4516    _proto.update = function update$$1(args) {
4517      //this._id = n + this.id
4518      if (!args) return this; // Extract delay and the to-prop from props
4519  
4520      var _ref = interpolateTo(args),
4521          _ref$delay = _ref.delay,
4522          delay = _ref$delay === void 0 ? 0 : _ref$delay,
4523          to = _ref.to,
4524          props = _objectWithoutPropertiesLoose(_ref, ["delay", "to"]);
4525  
4526      if (is.arr(to) || is.fun(to)) {
4527        // If config is either a function or an array queue it up as is
4528        this.queue.push(_extends({}, props, {
4529          delay: delay,
4530          to: to
4531        }));
4532      } else if (to) {
4533        // Otherwise go through each key since it could be delayed individually
4534        var ops = {};
4535        Object.entries(to).forEach(function (_ref2) {
4536          var _to;
4537  
4538          var k = _ref2[0],
4539              v = _ref2[1];
4540  
4541          // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props
4542          var entry = _extends({
4543            to: (_to = {}, _to[k] = v, _to),
4544            delay: callProp(delay, k)
4545          }, props);
4546  
4547          var previous = ops[entry.delay] && ops[entry.delay].to;
4548          ops[entry.delay] = _extends({}, ops[entry.delay], entry, {
4549            to: _extends({}, previous, entry.to)
4550          });
4551        });
4552        this.queue = Object.values(ops);
4553      } // Sort queue, so that async calls go last
4554  
4555  
4556      this.queue = this.queue.sort(function (a, b) {
4557        return a.delay - b.delay;
4558      }); // Diff the reduced props immediately (they'll contain the from-prop and some config)
4559  
4560      this.diff(props);
4561      return this;
4562    }
4563    /** start(onEnd)
4564     *  This function either executes a queue, if present, or starts the frameloop, which animates */
4565    ;
4566  
4567    _proto.start = function start$$1(onEnd) {
4568      var _this2 = this;
4569  
4570      // If a queue is present we must excecute it
4571      if (this.queue.length) {
4572        this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values
4573  
4574        if (this.localQueue) {
4575          this.localQueue.forEach(function (_ref3) {
4576            var _ref3$from = _ref3.from,
4577                from = _ref3$from === void 0 ? {} : _ref3$from,
4578                _ref3$to = _ref3.to,
4579                to = _ref3$to === void 0 ? {} : _ref3$to;
4580            if (is.obj(from)) _this2.merged = _extends({}, from, _this2.merged);
4581            if (is.obj(to)) _this2.merged = _extends({}, _this2.merged, to);
4582          });
4583        } // The guid helps us tracking frames, a new queue over an old one means an override
4584        // We discard async calls in that caseÍ
4585  
4586  
4587        var local = this.local = ++this.guid;
4588        var queue = this.localQueue = this.queue;
4589        this.queue = []; // Go through each entry and execute it
4590  
4591        queue.forEach(function (_ref4, index) {
4592          var delay = _ref4.delay,
4593              props = _objectWithoutPropertiesLoose(_ref4, ["delay"]);
4594  
4595          var cb = function cb(finished) {
4596            if (index === queue.length - 1 && local === _this2.guid && finished) {
4597              _this2.idle = true;
4598              if (_this2.props.onRest) _this2.props.onRest(_this2.merged);
4599            }
4600  
4601            if (onEnd) onEnd();
4602          }; // Entries can be delayed, ansyc or immediate
4603  
4604  
4605          var async = is.arr(props.to) || is.fun(props.to);
4606  
4607          if (delay) {
4608            setTimeout(function () {
4609              if (local === _this2.guid) {
4610                if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
4611              }
4612            }, delay);
4613          } else if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
4614        });
4615      } // Otherwise we kick of the frameloop
4616      else {
4617          if (is.fun(onEnd)) this.listeners.push(onEnd);
4618          if (this.props.onStart) this.props.onStart();
4619  
4620          start(this);
4621        }
4622  
4623      return this;
4624    };
4625  
4626    _proto.stop = function stop$$1(finished) {
4627      this.listeners.forEach(function (onEnd) {
4628        return onEnd(finished);
4629      });
4630      this.listeners = [];
4631      return this;
4632    }
4633    /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */
4634    ;
4635  
4636    _proto.pause = function pause(finished) {
4637      this.stop(true);
4638      if (finished) stop(this);
4639      return this;
4640    };
4641  
4642    _proto.runAsync = function runAsync(_ref5, onEnd) {
4643      var _this3 = this;
4644  
4645      var delay = _ref5.delay,
4646          props = _objectWithoutPropertiesLoose(_ref5, ["delay"]);
4647  
4648      var local = this.local; // If "to" is either a function or an array it will be processed async, therefor "to" should be empty right now
4649      // If the view relies on certain values "from" has to be present
4650  
4651      var queue = Promise.resolve(undefined);
4652  
4653      if (is.arr(props.to)) {
4654        var _loop = function _loop(i) {
4655          var index = i;
4656  
4657          var fresh = _extends({}, props, interpolateTo(props.to[index]));
4658  
4659          if (is.arr(fresh.config)) fresh.config = fresh.config[index];
4660          queue = queue.then(function () {
4661            //this.stop()
4662            if (local === _this3.guid) return new Promise(function (r) {
4663              return _this3.diff(fresh).start(r);
4664            });
4665          });
4666        };
4667  
4668        for (var i = 0; i < props.to.length; i++) {
4669          _loop(i);
4670        }
4671      } else if (is.fun(props.to)) {
4672        var index = 0;
4673        var last;
4674        queue = queue.then(function () {
4675          return props.to( // next(props)
4676          function (p) {
4677            var fresh = _extends({}, props, interpolateTo(p));
4678  
4679            if (is.arr(fresh.config)) fresh.config = fresh.config[index];
4680            index++; //this.stop()
4681  
4682            if (local === _this3.guid) return last = new Promise(function (r) {
4683              return _this3.diff(fresh).start(r);
4684            });
4685            return;
4686          }, // cancel()
4687          function (finished) {
4688            if (finished === void 0) {
4689              finished = true;
4690            }
4691  
4692            return _this3.stop(finished);
4693          }).then(function () {
4694            return last;
4695          });
4696        });
4697      }
4698  
4699      queue.then(onEnd);
4700    };
4701  
4702    _proto.diff = function diff(props) {
4703      var _this4 = this;
4704  
4705      this.props = _extends({}, this.props, props);
4706      var _this$props = this.props,
4707          _this$props$from = _this$props.from,
4708          from = _this$props$from === void 0 ? {} : _this$props$from,
4709          _this$props$to = _this$props.to,
4710          to = _this$props$to === void 0 ? {} : _this$props$to,
4711          _this$props$config = _this$props.config,
4712          config = _this$props$config === void 0 ? {} : _this$props$config,
4713          reverse = _this$props.reverse,
4714          attach = _this$props.attach,
4715          reset = _this$props.reset,
4716          immediate = _this$props.immediate; // Reverse values when requested
4717  
4718      if (reverse) {
4719        var _ref6 = [to, from];
4720        from = _ref6[0];
4721        to = _ref6[1];
4722      } // This will collect all props that were ever set, reset merged props when necessary
4723  
4724  
4725      this.merged = _extends({}, from, this.merged, to);
4726      this.hasChanged = false; // Attachment handling, trailed springs can "attach" themselves to a previous spring
4727  
4728      var target = attach && attach(this); // Reduces input { name: value } pairs into animated values
4729  
4730      this.animations = Object.entries(this.merged).reduce(function (acc, _ref7) {
4731        var name = _ref7[0],
4732            value = _ref7[1];
4733        // Issue cached entries, except on reset
4734        var entry = acc[name] || {}; // Figure out what the value is supposed to be
4735  
4736        var isNumber = is.num(value);
4737        var isString = is.str(value) && !value.startsWith('#') && !/\d/.test(value) && !colorNames[value];
4738        var isArray = is.arr(value);
4739        var isInterpolation = !isNumber && !isArray && !isString;
4740        var fromValue = !is.und(from[name]) ? from[name] : value;
4741        var toValue = isNumber || isArray ? value : isString ? value : 1;
4742        var toConfig = callProp(config, name);
4743        if (target) toValue = target.animations[name].parent;
4744        var parent = entry.parent,
4745            interpolation$$1 = entry.interpolation,
4746            toValues = toArray(target ? toValue.getPayload() : toValue),
4747            animatedValues;
4748        var newValue = value;
4749        if (isInterpolation) newValue = interpolation({
4750          range: [0, 1],
4751          output: [value, value]
4752        })(1);
4753        var currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags
4754  
4755        var isFirst = is.und(parent);
4756        var isActive = !isFirst && entry.animatedValues.some(function (v) {
4757          return !v.done;
4758        });
4759        var currentValueDiffersFromGoal = !is.equ(newValue, currentValue);
4760        var hasNewGoal = !is.equ(newValue, entry.previous);
4761        var hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)
4762        // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)
4763  
4764        if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {
4765          var _extends2;
4766  
4767          // Convert regular values into animated values, ALWAYS re-use if possible
4768          if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) {
4769            var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);
4770            prev = prev !== void 0 && !reset ? prev : fromValue;
4771  
4772            if (entry.parent) {
4773              parent = entry.parent;
4774              parent.setValue(0, false);
4775            } else parent = new AnimatedValue(0);
4776  
4777            var range = {
4778              output: [prev, value]
4779            };
4780  
4781            if (entry.interpolation) {
4782              interpolation$$1 = entry.interpolation;
4783              entry.interpolation.updateConfig(range);
4784            } else interpolation$$1 = parent.interpolate(range);
4785          }
4786          toValues = toArray(target ? toValue.getPayload() : toValue);
4787          animatedValues = toArray(parent.getPayload());
4788          if (reset && !isInterpolation) parent.setValue(fromValue, false);
4789          _this4.hasChanged = true; // Reset animated values
4790  
4791          animatedValues.forEach(function (value) {
4792            value.startPosition = value.value;
4793            value.lastPosition = value.value;
4794            value.lastVelocity = isActive ? value.lastVelocity : undefined;
4795            value.lastTime = isActive ? value.lastTime : undefined;
4796            value.startTime = now();
4797            value.done = false;
4798            value.animatedStyles.clear();
4799          }); // Set immediate values
4800  
4801          if (callProp(immediate, name)) {
4802            parent.setValue(isInterpolation ? toValue : value, false);
4803          }
4804  
4805          return _extends({}, acc, (_extends2 = {}, _extends2[name] = _extends({}, entry, {
4806            name: name,
4807            parent: parent,
4808            interpolation: interpolation$$1,
4809            animatedValues: animatedValues,
4810            toValues: toValues,
4811            previous: newValue,
4812            config: toConfig,
4813            fromValues: toArray(parent.getValue()),
4814            immediate: callProp(immediate, name),
4815            initialVelocity: withDefault(toConfig.velocity, 0),
4816            clamp: withDefault(toConfig.clamp, false),
4817            precision: withDefault(toConfig.precision, 0.01),
4818            tension: withDefault(toConfig.tension, 170),
4819            friction: withDefault(toConfig.friction, 26),
4820            mass: withDefault(toConfig.mass, 1),
4821            duration: toConfig.duration,
4822            easing: withDefault(toConfig.easing, function (t) {
4823              return t;
4824            }),
4825            decay: toConfig.decay
4826          }), _extends2));
4827        } else {
4828          if (!currentValueDiffersFromGoal) {
4829            var _extends3;
4830  
4831            // So ... the current target value (newValue) appears to be different from the previous value,
4832            // which normally constitutes an update, but the actual value (currentValue) matches the target!
4833            // In order to resolve this without causing an animation update we silently flag the animation as done,
4834            // which it technically is. Interpolations also needs a config update with their target set to 1.
4835            if (isInterpolation) {
4836              parent.setValue(1, false);
4837              interpolation$$1.updateConfig({
4838                output: [newValue, newValue]
4839              });
4840            }
4841  
4842            parent.done = true;
4843            _this4.hasChanged = true;
4844            return _extends({}, acc, (_extends3 = {}, _extends3[name] = _extends({}, acc[name], {
4845              previous: newValue
4846            }), _extends3));
4847          }
4848  
4849          return acc;
4850        }
4851      }, this.animations);
4852  
4853      if (this.hasChanged) {
4854        // Make animations available to frameloop
4855        this.configs = Object.values(this.animations);
4856        this.values = {};
4857        this.interpolations = {};
4858  
4859        for (var key in this.animations) {
4860          this.interpolations[key] = this.animations[key].interpolation;
4861          this.values[key] = this.animations[key].interpolation.getValue();
4862        }
4863      }
4864  
4865      return this;
4866    };
4867  
4868    _proto.destroy = function destroy() {
4869      this.stop();
4870      this.props = {};
4871      this.merged = {};
4872      this.animations = {};
4873      this.interpolations = {};
4874      this.values = {};
4875      this.configs = [];
4876      this.local = 0;
4877    };
4878  
4879    return Controller;
4880  }();
4881  
4882  /** API
4883   * const props = useSprings(number, [{ ... }, { ... }, ...])
4884   * const [props, set] = useSprings(number, (i, controller) => ({ ... }))
4885   */
4886  
4887  var useSprings = function useSprings(length, props) {
4888    var mounted = React.useRef(false);
4889    var ctrl = React.useRef();
4890    var isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations
4891  
4892    var _useMemo = React.useMemo(function () {
4893      // Remove old controllers
4894      if (ctrl.current) {
4895        ctrl.current.map(function (c) {
4896          return c.destroy();
4897        });
4898        ctrl.current = undefined;
4899      }
4900  
4901      var ref;
4902      return [new Array(length).fill().map(function (_, i) {
4903        var ctrl = new Controller();
4904        var newProps = isFn ? callProp(props, i, ctrl) : props[i];
4905        if (i === 0) ref = newProps.ref;
4906        ctrl.update(newProps);
4907        if (!ref) ctrl.start();
4908        return ctrl;
4909      }), ref];
4910    }, [length]),
4911        controllers = _useMemo[0],
4912        ref = _useMemo[1];
4913  
4914    ctrl.current = controllers; // The hooks reference api gets defined here ...
4915  
4916    var api = React.useImperativeHandle(ref, function () {
4917      return {
4918        start: function start() {
4919          return Promise.all(ctrl.current.map(function (c) {
4920            return new Promise(function (r) {
4921              return c.start(r);
4922            });
4923          }));
4924        },
4925        stop: function stop(finished) {
4926          return ctrl.current.forEach(function (c) {
4927            return c.stop(finished);
4928          });
4929        },
4930  
4931        get controllers() {
4932          return ctrl.current;
4933        }
4934  
4935      };
4936    }); // This function updates the controllers
4937  
4938    var updateCtrl = React.useMemo(function () {
4939      return function (updateProps) {
4940        return ctrl.current.map(function (c, i) {
4941          c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);
4942          if (!ref) c.start();
4943        });
4944      };
4945    }, [length]); // Update controller if props aren't functional
4946  
4947    React.useEffect(function () {
4948      if (mounted.current) {
4949        if (!isFn) updateCtrl(props);
4950      } else if (!ref) ctrl.current.forEach(function (c) {
4951        return c.start();
4952      });
4953    }); // Update mounted flag and destroy controller on unmount
4954  
4955    React.useEffect(function () {
4956      return mounted.current = true, function () {
4957        return ctrl.current.forEach(function (c) {
4958          return c.destroy();
4959        });
4960      };
4961    }, []); // Return animated props, or, anim-props + the update-setter above
4962  
4963    var propValues = ctrl.current.map(function (c) {
4964      return c.getValues();
4965    });
4966    return isFn ? [propValues, updateCtrl, function (finished) {
4967      return ctrl.current.forEach(function (c) {
4968        return c.pause(finished);
4969      });
4970    }] : propValues;
4971  };
4972  
4973  /** API
4974   * const props = useSpring({ ... })
4975   * const [props, set] = useSpring(() => ({ ... }))
4976   */
4977  
4978  var useSpring = function useSpring(props) {
4979    var isFn = is.fun(props);
4980  
4981    var _useSprings = useSprings(1, isFn ? props : [props]),
4982        result = _useSprings[0],
4983        set = _useSprings[1],
4984        pause = _useSprings[2];
4985  
4986    return isFn ? [result[0], set, pause] : result;
4987  };
4988  
4989  /** API
4990   * const trails = useTrail(number, { ... })
4991   * const [trails, set] = useTrail(number, () => ({ ... }))
4992   */
4993  
4994  var useTrail = function useTrail(length, props) {
4995    var mounted = React.useRef(false);
4996    var isFn = is.fun(props);
4997    var updateProps = callProp(props);
4998    var instances = React.useRef();
4999  
5000    var _useSprings = useSprings(length, function (i, ctrl) {
5001      if (i === 0) instances.current = [];
5002      instances.current.push(ctrl);
5003      return _extends({}, updateProps, {
5004        config: callProp(updateProps.config, i),
5005        attach: i > 0 && function () {
5006          return instances.current[i - 1];
5007        }
5008      });
5009    }),
5010        result = _useSprings[0],
5011        set = _useSprings[1],
5012        pause = _useSprings[2]; // Set up function to update controller
5013  
5014  
5015    var updateCtrl = React.useMemo(function () {
5016      return function (props) {
5017        return set(function (i, ctrl) {
5018          var last = props.reverse ? i === 0 : length - 1 === i;
5019          var attachIdx = props.reverse ? i + 1 : i - 1;
5020          var attachController = instances.current[attachIdx];
5021          return _extends({}, props, {
5022            config: callProp(props.config || updateProps.config, i),
5023            attach: attachController && function () {
5024              return attachController;
5025            }
5026          });
5027        });
5028      };
5029    }, [length, updateProps.reverse]); // Update controller if props aren't functional
5030  
5031    React.useEffect(function () {
5032      return void (mounted.current && !isFn && updateCtrl(props));
5033    }); // Update mounted flag and destroy controller on unmount
5034  
5035    React.useEffect(function () {
5036      return void (mounted.current = true);
5037    }, []);
5038    return isFn ? [result, updateCtrl, pause] : result;
5039  };
5040  
5041  /** API
5042   * const transitions = useTransition(items, itemKeys, { ... })
5043   * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))
5044   */
5045  
5046  var guid = 0;
5047  var ENTER = 'enter';
5048  var LEAVE = 'leave';
5049  var UPDATE = 'update';
5050  
5051  var mapKeys = function mapKeys(items, keys) {
5052    return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);
5053  };
5054  
5055  var get = function get(props) {
5056    var items = props.items,
5057        _props$keys = props.keys,
5058        keys = _props$keys === void 0 ? function (item) {
5059      return item;
5060    } : _props$keys,
5061        rest = _objectWithoutPropertiesLoose(props, ["items", "keys"]);
5062  
5063    items = toArray(items !== void 0 ? items : null);
5064    return _extends({
5065      items: items,
5066      keys: mapKeys(items, keys)
5067    }, rest);
5068  };
5069  
5070  function useTransition(input, keyTransform, config) {
5071    var props = _extends({
5072      items: input,
5073      keys: keyTransform || function (i) {
5074        return i;
5075      }
5076    }, config);
5077  
5078    var _get = get(props),
5079        _get$lazy = _get.lazy,
5080        lazy = _get$lazy === void 0 ? false : _get$lazy,
5081        _get$unique = _get.unique,
5082        _get$reset = _get.reset,
5083        reset = _get$reset === void 0 ? false : _get$reset,
5084        enter = _get.enter,
5085        leave = _get.leave,
5086        update = _get.update,
5087        onDestroyed = _get.onDestroyed,
5088        keys = _get.keys,
5089        items = _get.items,
5090        onFrame = _get.onFrame,
5091        _onRest = _get.onRest,
5092        onStart = _get.onStart,
5093        ref = _get.ref,
5094        extra = _objectWithoutPropertiesLoose(_get, ["lazy", "unique", "reset", "enter", "leave", "update", "onDestroyed", "keys", "items", "onFrame", "onRest", "onStart", "ref"]);
5095  
5096    var forceUpdate = useForceUpdate();
5097    var mounted = React.useRef(false);
5098    var state = React.useRef({
5099      mounted: false,
5100      first: true,
5101      deleted: [],
5102      current: {},
5103      transitions: [],
5104      prevProps: {},
5105      paused: !!props.ref,
5106      instances: !mounted.current && new Map(),
5107      forceUpdate: forceUpdate
5108    });
5109    React.useImperativeHandle(props.ref, function () {
5110      return {
5111        start: function start() {
5112          return Promise.all(Array.from(state.current.instances).map(function (_ref) {
5113            var c = _ref[1];
5114            return new Promise(function (r) {
5115              return c.start(r);
5116            });
5117          }));
5118        },
5119        stop: function stop(finished) {
5120          return Array.from(state.current.instances).forEach(function (_ref2) {
5121            var c = _ref2[1];
5122            return c.stop(finished);
5123          });
5124        },
5125  
5126        get controllers() {
5127          return Array.from(state.current.instances).map(function (_ref3) {
5128            var c = _ref3[1];
5129            return c;
5130          });
5131        }
5132  
5133      };
5134    }); // Update state
5135  
5136    state.current = diffItems(state.current, props);
5137  
5138    if (state.current.changed) {
5139      // Update state
5140      state.current.transitions.forEach(function (transition) {
5141        var slot = transition.slot,
5142            from = transition.from,
5143            to = transition.to,
5144            config = transition.config,
5145            trail = transition.trail,
5146            key = transition.key,
5147            item = transition.item;
5148        if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object
5149  
5150        var ctrl = state.current.instances.get(key);
5151  
5152        var newProps = _extends({}, extra, {
5153          to: to,
5154          from: from,
5155          config: config,
5156          ref: ref,
5157          onRest: function onRest(values) {
5158            if (state.current.mounted) {
5159              if (transition.destroyed) {
5160                // If no ref is given delete destroyed items immediately
5161                if (!ref && !lazy) cleanUp(state, key);
5162                if (onDestroyed) onDestroyed(item);
5163              } // A transition comes to rest once all its springs conclude
5164  
5165  
5166              var curInstances = Array.from(state.current.instances);
5167              var active = curInstances.some(function (_ref4) {
5168                var c = _ref4[1];
5169                return !c.idle;
5170              });
5171              if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);
5172              if (_onRest) _onRest(item, slot, values);
5173            }
5174          },
5175          onStart: onStart && function () {
5176            return onStart(item, slot);
5177          },
5178          onFrame: onFrame && function (values) {
5179            return onFrame(item, slot, values);
5180          },
5181          delay: trail,
5182          reset: reset && slot === ENTER // Update controller
5183  
5184        });
5185  
5186        ctrl.update(newProps);
5187        if (!state.current.paused) ctrl.start();
5188      });
5189    }
5190  
5191    React.useEffect(function () {
5192      state.current.mounted = mounted.current = true;
5193      return function () {
5194        state.current.mounted = mounted.current = false;
5195        Array.from(state.current.instances).map(function (_ref5) {
5196          var c = _ref5[1];
5197          return c.destroy();
5198        });
5199        state.current.instances.clear();
5200      };
5201    }, []);
5202    return state.current.transitions.map(function (_ref6) {
5203      var item = _ref6.item,
5204          slot = _ref6.slot,
5205          key = _ref6.key;
5206      return {
5207        item: item,
5208        key: key,
5209        state: slot,
5210        props: state.current.instances.get(key).getValues()
5211      };
5212    });
5213  }
5214  
5215  function cleanUp(state, filterKey) {
5216    var deleted = state.current.deleted;
5217  
5218    var _loop = function _loop() {
5219      if (_isArray) {
5220        if (_i >= _iterator.length) return "break";
5221        _ref8 = _iterator[_i++];
5222      } else {
5223        _i = _iterator.next();
5224        if (_i.done) return "break";
5225        _ref8 = _i.value;
5226      }
5227  
5228      var _ref7 = _ref8;
5229      var key = _ref7.key;
5230  
5231      var filter = function filter(t) {
5232        return t.key !== key;
5233      };
5234  
5235      if (is.und(filterKey) || filterKey === key) {
5236        state.current.instances.delete(key);
5237        state.current.transitions = state.current.transitions.filter(filter);
5238        state.current.deleted = state.current.deleted.filter(filter);
5239      }
5240    };
5241  
5242    for (var _iterator = deleted, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
5243      var _ref8;
5244  
5245      var _ret = _loop();
5246  
5247      if (_ret === "break") break;
5248    }
5249  
5250    state.current.forceUpdate();
5251  }
5252  
5253  function diffItems(_ref9, props) {
5254    var first = _ref9.first,
5255        prevProps = _ref9.prevProps,
5256        state = _objectWithoutPropertiesLoose(_ref9, ["first", "prevProps"]);
5257  
5258    var _get2 = get(props),
5259        items = _get2.items,
5260        keys = _get2.keys,
5261        initial = _get2.initial,
5262        from = _get2.from,
5263        enter = _get2.enter,
5264        leave = _get2.leave,
5265        update = _get2.update,
5266        _get2$trail = _get2.trail,
5267        trail = _get2$trail === void 0 ? 0 : _get2$trail,
5268        unique = _get2.unique,
5269        config = _get2.config,
5270        _get2$order = _get2.order,
5271        order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;
5272  
5273    var _get3 = get(prevProps),
5274        _keys = _get3.keys,
5275        _items = _get3.items;
5276  
5277    var current = _extends({}, state.current);
5278  
5279    var deleted = [].concat(state.deleted); // Compare next keys with current keys
5280  
5281    var currentKeys = Object.keys(current);
5282    var currentSet = new Set(currentKeys);
5283    var nextSet = new Set(keys);
5284    var added = keys.filter(function (item) {
5285      return !currentSet.has(item);
5286    });
5287    var removed = state.transitions.filter(function (item) {
5288      return !item.destroyed && !nextSet.has(item.originalKey);
5289    }).map(function (i) {
5290      return i.originalKey;
5291    });
5292    var updated = keys.filter(function (item) {
5293      return currentSet.has(item);
5294    });
5295    var delay = -trail;
5296  
5297    while (order.length) {
5298      var changeType = order.shift();
5299  
5300      switch (changeType) {
5301        case ENTER:
5302          {
5303            added.forEach(function (key, index) {
5304              // In unique mode, remove fading out transitions if their key comes in again
5305              if (unique && deleted.find(function (d) {
5306                return d.originalKey === key;
5307              })) deleted = deleted.filter(function (t) {
5308                return t.originalKey !== key;
5309              });
5310              var keyIndex = keys.indexOf(key);
5311              var item = items[keyIndex];
5312              var slot = first && initial !== void 0 ? 'initial' : ENTER;
5313              current[key] = {
5314                slot: slot,
5315                originalKey: key,
5316                key: unique ? String(key) : guid++,
5317                item: item,
5318                trail: delay = delay + trail,
5319                config: callProp(config, item, slot),
5320                from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),
5321                to: callProp(enter, item)
5322              };
5323            });
5324            break;
5325          }
5326  
5327        case LEAVE:
5328          {
5329            removed.forEach(function (key) {
5330              var keyIndex = _keys.indexOf(key);
5331  
5332              var item = _items[keyIndex];
5333              var slot = LEAVE;
5334              deleted.unshift(_extends({}, current[key], {
5335                slot: slot,
5336                destroyed: true,
5337                left: _keys[Math.max(0, keyIndex - 1)],
5338                right: _keys[Math.min(_keys.length, keyIndex + 1)],
5339                trail: delay = delay + trail,
5340                config: callProp(config, item, slot),
5341                to: callProp(leave, item)
5342              }));
5343              delete current[key];
5344            });
5345            break;
5346          }
5347  
5348        case UPDATE:
5349          {
5350            updated.forEach(function (key) {
5351              var keyIndex = keys.indexOf(key);
5352              var item = items[keyIndex];
5353              var slot = UPDATE;
5354              current[key] = _extends({}, current[key], {
5355                item: item,
5356                slot: slot,
5357                trail: delay = delay + trail,
5358                config: callProp(config, item, slot),
5359                to: callProp(update, item)
5360              });
5361            });
5362            break;
5363          }
5364      }
5365    }
5366  
5367    var out = keys.map(function (key) {
5368      return current[key];
5369    }); // This tries to restore order for deleted items by finding their last known siblings
5370    // only using the left sibling to keep order placement consistent for all deleted items
5371  
5372    deleted.forEach(function (_ref10) {
5373      var left = _ref10.left,
5374          right = _ref10.right,
5375          item = _objectWithoutPropertiesLoose(_ref10, ["left", "right"]);
5376  
5377      var pos; // Was it the element on the left, if yes, move there ...
5378  
5379      if ((pos = out.findIndex(function (t) {
5380        return t.originalKey === left;
5381      })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\_(ツ)_/¯
5382  
5383      pos = Math.max(0, pos);
5384      out = [].concat(out.slice(0, pos), [item], out.slice(pos));
5385    });
5386    return _extends({}, state, {
5387      changed: added.length || removed.length || updated.length,
5388      first: first && added.length === 0,
5389      transitions: out,
5390      current: current,
5391      deleted: deleted,
5392      prevProps: props
5393    });
5394  }
5395  
5396  var AnimatedStyle =
5397  /*#__PURE__*/
5398  function (_AnimatedObject) {
5399    _inheritsLoose(AnimatedStyle, _AnimatedObject);
5400  
5401    function AnimatedStyle(style) {
5402      var _this;
5403  
5404      if (style === void 0) {
5405        style = {};
5406      }
5407  
5408      _this = _AnimatedObject.call(this) || this;
5409  
5410      if (style.transform && !(style.transform instanceof Animated)) {
5411        style = applyAnimatedValues.transform(style);
5412      }
5413  
5414      _this.payload = style;
5415      return _this;
5416    }
5417  
5418    return AnimatedStyle;
5419  }(AnimatedObject);
5420  
5421  // http://www.w3.org/TR/css3-color/#svg-color
5422  var colors = {
5423    transparent: 0x00000000,
5424    aliceblue: 0xf0f8ffff,
5425    antiquewhite: 0xfaebd7ff,
5426    aqua: 0x00ffffff,
5427    aquamarine: 0x7fffd4ff,
5428    azure: 0xf0ffffff,
5429    beige: 0xf5f5dcff,
5430    bisque: 0xffe4c4ff,
5431    black: 0x000000ff,
5432    blanchedalmond: 0xffebcdff,
5433    blue: 0x0000ffff,
5434    blueviolet: 0x8a2be2ff,
5435    brown: 0xa52a2aff,
5436    burlywood: 0xdeb887ff,
5437    burntsienna: 0xea7e5dff,
5438    cadetblue: 0x5f9ea0ff,
5439    chartreuse: 0x7fff00ff,
5440    chocolate: 0xd2691eff,
5441    coral: 0xff7f50ff,
5442    cornflowerblue: 0x6495edff,
5443    cornsilk: 0xfff8dcff,
5444    crimson: 0xdc143cff,
5445    cyan: 0x00ffffff,
5446    darkblue: 0x00008bff,
5447    darkcyan: 0x008b8bff,
5448    darkgoldenrod: 0xb8860bff,
5449    darkgray: 0xa9a9a9ff,
5450    darkgreen: 0x006400ff,
5451    darkgrey: 0xa9a9a9ff,
5452    darkkhaki: 0xbdb76bff,
5453    darkmagenta: 0x8b008bff,
5454    darkolivegreen: 0x556b2fff,
5455    darkorange: 0xff8c00ff,
5456    darkorchid: 0x9932ccff,
5457    darkred: 0x8b0000ff,
5458    darksalmon: 0xe9967aff,
5459    darkseagreen: 0x8fbc8fff,
5460    darkslateblue: 0x483d8bff,
5461    darkslategray: 0x2f4f4fff,
5462    darkslategrey: 0x2f4f4fff,
5463    darkturquoise: 0x00ced1ff,
5464    darkviolet: 0x9400d3ff,
5465    deeppink: 0xff1493ff,
5466    deepskyblue: 0x00bfffff,
5467    dimgray: 0x696969ff,
5468    dimgrey: 0x696969ff,
5469    dodgerblue: 0x1e90ffff,
5470    firebrick: 0xb22222ff,
5471    floralwhite: 0xfffaf0ff,
5472    forestgreen: 0x228b22ff,
5473    fuchsia: 0xff00ffff,
5474    gainsboro: 0xdcdcdcff,
5475    ghostwhite: 0xf8f8ffff,
5476    gold: 0xffd700ff,
5477    goldenrod: 0xdaa520ff,
5478    gray: 0x808080ff,
5479    green: 0x008000ff,
5480    greenyellow: 0xadff2fff,
5481    grey: 0x808080ff,
5482    honeydew: 0xf0fff0ff,
5483    hotpink: 0xff69b4ff,
5484    indianred: 0xcd5c5cff,
5485    indigo: 0x4b0082ff,
5486    ivory: 0xfffff0ff,
5487    khaki: 0xf0e68cff,
5488    lavender: 0xe6e6faff,
5489    lavenderblush: 0xfff0f5ff,
5490    lawngreen: 0x7cfc00ff,
5491    lemonchiffon: 0xfffacdff,
5492    lightblue: 0xadd8e6ff,
5493    lightcoral: 0xf08080ff,
5494    lightcyan: 0xe0ffffff,
5495    lightgoldenrodyellow: 0xfafad2ff,
5496    lightgray: 0xd3d3d3ff,
5497    lightgreen: 0x90ee90ff,
5498    lightgrey: 0xd3d3d3ff,
5499    lightpink: 0xffb6c1ff,
5500    lightsalmon: 0xffa07aff,
5501    lightseagreen: 0x20b2aaff,
5502    lightskyblue: 0x87cefaff,
5503    lightslategray: 0x778899ff,
5504    lightslategrey: 0x778899ff,
5505    lightsteelblue: 0xb0c4deff,
5506    lightyellow: 0xffffe0ff,
5507    lime: 0x00ff00ff,
5508    limegreen: 0x32cd32ff,
5509    linen: 0xfaf0e6ff,
5510    magenta: 0xff00ffff,
5511    maroon: 0x800000ff,
5512    mediumaquamarine: 0x66cdaaff,
5513    mediumblue: 0x0000cdff,
5514    mediumorchid: 0xba55d3ff,
5515    mediumpurple: 0x9370dbff,
5516    mediumseagreen: 0x3cb371ff,
5517    mediumslateblue: 0x7b68eeff,
5518    mediumspringgreen: 0x00fa9aff,
5519    mediumturquoise: 0x48d1ccff,
5520    mediumvioletred: 0xc71585ff,
5521    midnightblue: 0x191970ff,
5522    mintcream: 0xf5fffaff,
5523    mistyrose: 0xffe4e1ff,
5524    moccasin: 0xffe4b5ff,
5525    navajowhite: 0xffdeadff,
5526    navy: 0x000080ff,
5527    oldlace: 0xfdf5e6ff,
5528    olive: 0x808000ff,
5529    olivedrab: 0x6b8e23ff,
5530    orange: 0xffa500ff,
5531    orangered: 0xff4500ff,
5532    orchid: 0xda70d6ff,
5533    palegoldenrod: 0xeee8aaff,
5534    palegreen: 0x98fb98ff,
5535    paleturquoise: 0xafeeeeff,
5536    palevioletred: 0xdb7093ff,
5537    papayawhip: 0xffefd5ff,
5538    peachpuff: 0xffdab9ff,
5539    peru: 0xcd853fff,
5540    pink: 0xffc0cbff,
5541    plum: 0xdda0ddff,
5542    powderblue: 0xb0e0e6ff,
5543    purple: 0x800080ff,
5544    rebeccapurple: 0x663399ff,
5545    red: 0xff0000ff,
5546    rosybrown: 0xbc8f8fff,
5547    royalblue: 0x4169e1ff,
5548    saddlebrown: 0x8b4513ff,
5549    salmon: 0xfa8072ff,
5550    sandybrown: 0xf4a460ff,
5551    seagreen: 0x2e8b57ff,
5552    seashell: 0xfff5eeff,
5553    sienna: 0xa0522dff,
5554    silver: 0xc0c0c0ff,
5555    skyblue: 0x87ceebff,
5556    slateblue: 0x6a5acdff,
5557    slategray: 0x708090ff,
5558    slategrey: 0x708090ff,
5559    snow: 0xfffafaff,
5560    springgreen: 0x00ff7fff,
5561    steelblue: 0x4682b4ff,
5562    tan: 0xd2b48cff,
5563    teal: 0x008080ff,
5564    thistle: 0xd8bfd8ff,
5565    tomato: 0xff6347ff,
5566    turquoise: 0x40e0d0ff,
5567    violet: 0xee82eeff,
5568    wheat: 0xf5deb3ff,
5569    white: 0xffffffff,
5570    whitesmoke: 0xf5f5f5ff,
5571    yellow: 0xffff00ff,
5572    yellowgreen: 0x9acd32ff
5573  };
5574  
5575  // const INTEGER = '[-+]?\\d+';
5576  var NUMBER = '[-+]?\\d*\\.?\\d+';
5577  var PERCENTAGE = NUMBER + '%';
5578  
5579  function call() {
5580    for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {
5581      parts[_key] = arguments[_key];
5582    }
5583  
5584    return '\\(\\s*(' + parts.join(')\\s*,\\s*(') + ')\\s*\\)';
5585  }
5586  
5587  var rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));
5588  var rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));
5589  var hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
5590  var hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
5591  var hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
5592  var hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
5593  var hex6 = /^#([0-9a-fA-F]{6})$/;
5594  var hex8 = /^#([0-9a-fA-F]{8})$/;
5595  
5596  /*
5597  https://github.com/react-community/normalize-css-color
5598  
5599  BSD 3-Clause License
5600  
5601  Copyright (c) 2016, React Community
5602  All rights reserved.
5603  
5604  Redistribution and use in source and binary forms, with or without
5605  modification, are permitted provided that the following conditions are met:
5606  
5607  * Redistributions of source code must retain the above copyright notice, this
5608    list of conditions and the following disclaimer.
5609  
5610  * Redistributions in binary form must reproduce the above copyright notice,
5611    this list of conditions and the following disclaimer in the documentation
5612    and/or other materials provided with the distribution.
5613  
5614  * Neither the name of the copyright holder nor the names of its
5615    contributors may be used to endorse or promote products derived from
5616    this software without specific prior written permission.
5617  
5618  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
5619  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
5620  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
5621  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
5622  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
5623  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
5624  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
5625  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
5626  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
5627  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5628  */
5629  function normalizeColor(color) {
5630    var match;
5631  
5632    if (typeof color === 'number') {
5633      return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;
5634    } // Ordered based on occurrences on Facebook codebase
5635  
5636  
5637    if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;
5638    if (colors.hasOwnProperty(color)) return colors[color];
5639  
5640    if (match = rgb.exec(color)) {
5641      return (parse255(match[1]) << 24 | // r
5642      parse255(match[2]) << 16 | // g
5643      parse255(match[3]) << 8 | // b
5644      0x000000ff) >>> // a
5645      0;
5646    }
5647  
5648    if (match = rgba.exec(color)) {
5649      return (parse255(match[1]) << 24 | // r
5650      parse255(match[2]) << 16 | // g
5651      parse255(match[3]) << 8 | // b
5652      parse1(match[4])) >>> // a
5653      0;
5654    }
5655  
5656    if (match = hex3.exec(color)) {
5657      return parseInt(match[1] + match[1] + // r
5658      match[2] + match[2] + // g
5659      match[3] + match[3] + // b
5660      'ff', // a
5661      16) >>> 0;
5662    } // https://drafts.csswg.org/css-color-4/#hex-notation
5663  
5664  
5665    if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;
5666  
5667    if (match = hex4.exec(color)) {
5668      return parseInt(match[1] + match[1] + // r
5669      match[2] + match[2] + // g
5670      match[3] + match[3] + // b
5671      match[4] + match[4], // a
5672      16) >>> 0;
5673    }
5674  
5675    if (match = hsl.exec(color)) {
5676      return (hslToRgb(parse360(match[1]), // h
5677      parsePercentage(match[2]), // s
5678      parsePercentage(match[3]) // l
5679      ) | 0x000000ff) >>> // a
5680      0;
5681    }
5682  
5683    if (match = hsla.exec(color)) {
5684      return (hslToRgb(parse360(match[1]), // h
5685      parsePercentage(match[2]), // s
5686      parsePercentage(match[3]) // l
5687      ) | parse1(match[4])) >>> // a
5688      0;
5689    }
5690  
5691    return null;
5692  }
5693  
5694  function hue2rgb(p, q, t) {
5695    if (t < 0) t += 1;
5696    if (t > 1) t -= 1;
5697    if (t < 1 / 6) return p + (q - p) * 6 * t;
5698    if (t < 1 / 2) return q;
5699    if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
5700    return p;
5701  }
5702  
5703  function hslToRgb(h, s, l) {
5704    var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
5705    var p = 2 * l - q;
5706    var r = hue2rgb(p, q, h + 1 / 3);
5707    var g = hue2rgb(p, q, h);
5708    var b = hue2rgb(p, q, h - 1 / 3);
5709    return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;
5710  }
5711  
5712  function parse255(str) {
5713    var int = parseInt(str, 10);
5714    if (int < 0) return 0;
5715    if (int > 255) return 255;
5716    return int;
5717  }
5718  
5719  function parse360(str) {
5720    var int = parseFloat(str);
5721    return (int % 360 + 360) % 360 / 360;
5722  }
5723  
5724  function parse1(str) {
5725    var num = parseFloat(str);
5726    if (num < 0) return 0;
5727    if (num > 1) return 255;
5728    return Math.round(num * 255);
5729  }
5730  
5731  function parsePercentage(str) {
5732    // parseFloat conveniently ignores the final %
5733    var int = parseFloat(str);
5734    if (int < 0) return 0;
5735    if (int > 100) return 1;
5736    return int / 100;
5737  }
5738  
5739  function colorToRgba(input) {
5740    var int32Color = normalizeColor(input);
5741    if (int32Color === null) return input;
5742    int32Color = int32Color || 0;
5743    var r = (int32Color & 0xff000000) >>> 24;
5744    var g = (int32Color & 0x00ff0000) >>> 16;
5745    var b = (int32Color & 0x0000ff00) >>> 8;
5746    var a = (int32Color & 0x000000ff) / 255;
5747    return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
5748  } // Problem: https://github.com/animatedjs/animated/pull/102
5749  // Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662
5750  
5751  
5752  var stringShapeRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; // Covers rgb, rgba, hsl, hsla
5753  // Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e
5754  
5755  var colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi; // Covers color names (transparent, blue, etc.)
5756  
5757  var colorNamesRegex = new RegExp("(" + Object.keys(colors).join('|') + ")", 'g');
5758  /**
5759   * Supports string shapes by extracting numbers so new values can be computed,
5760   * and recombines those values into new strings of the same shape.  Supports
5761   * things like:
5762   *
5763   *   rgba(123, 42, 99, 0.36)           // colors
5764   *   -45deg                            // values with units
5765   *   0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows
5766   */
5767  
5768  var createStringInterpolator = function createStringInterpolator(config) {
5769    // Replace colors with rgba
5770    var outputRange = config.output.map(function (rangeValue) {
5771      return rangeValue.replace(colorRegex, colorToRgba);
5772    }).map(function (rangeValue) {
5773      return rangeValue.replace(colorNamesRegex, colorToRgba);
5774    });
5775    var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {
5776      return [];
5777    });
5778    outputRange.forEach(function (value) {
5779      value.match(stringShapeRegex).forEach(function (number, i) {
5780        return outputRanges[i].push(+number);
5781      });
5782    });
5783    var interpolations = outputRange[0].match(stringShapeRegex).map(function (_value, i) {
5784      return createInterpolator(_extends({}, config, {
5785        output: outputRanges[i]
5786      }));
5787    });
5788    return function (input) {
5789      var i = 0;
5790      return outputRange[0] // 'rgba(0, 100, 200, 0)'
5791      // ->
5792      // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'
5793      .replace(stringShapeRegex, function () {
5794        return interpolations[i++](input);
5795      }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to
5796      // round the opacity (4th column).
5797      .replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, function (_, p1, p2, p3, p4) {
5798        return "rgba(" + Math.round(p1) + ", " + Math.round(p2) + ", " + Math.round(p3) + ", " + p4 + ")";
5799      });
5800    };
5801  };
5802  
5803  var isUnitlessNumber = {
5804    animationIterationCount: true,
5805    borderImageOutset: true,
5806    borderImageSlice: true,
5807    borderImageWidth: true,
5808    boxFlex: true,
5809    boxFlexGroup: true,
5810    boxOrdinalGroup: true,
5811    columnCount: true,
5812    columns: true,
5813    flex: true,
5814    flexGrow: true,
5815    flexPositive: true,
5816    flexShrink: true,
5817    flexNegative: true,
5818    flexOrder: true,
5819    gridRow: true,
5820    gridRowEnd: true,
5821    gridRowSpan: true,
5822    gridRowStart: true,
5823    gridColumn: true,
5824    gridColumnEnd: true,
5825    gridColumnSpan: true,
5826    gridColumnStart: true,
5827    fontWeight: true,
5828    lineClamp: true,
5829    lineHeight: true,
5830    opacity: true,
5831    order: true,
5832    orphans: true,
5833    tabSize: true,
5834    widows: true,
5835    zIndex: true,
5836    zoom: true,
5837    // SVG-related properties
5838    fillOpacity: true,
5839    floodOpacity: true,
5840    stopOpacity: true,
5841    strokeDasharray: true,
5842    strokeDashoffset: true,
5843    strokeMiterlimit: true,
5844    strokeOpacity: true,
5845    strokeWidth: true
5846  };
5847  
5848  var prefixKey = function prefixKey(prefix, key) {
5849    return prefix + key.charAt(0).toUpperCase() + key.substring(1);
5850  };
5851  
5852  var prefixes = ['Webkit', 'Ms', 'Moz', 'O'];
5853  isUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {
5854    prefixes.forEach(function (prefix) {
5855      return acc[prefixKey(prefix, prop)] = acc[prop];
5856    });
5857    return acc;
5858  }, isUnitlessNumber);
5859  
5860  function dangerousStyleValue(name, value, isCustomProperty) {
5861    if (value == null || typeof value === 'boolean' || value === '') return '';
5862    if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
5863  
5864    return ('' + value).trim();
5865  }
5866  
5867  var attributeCache = {};
5868  injectCreateAnimatedStyle(function (style) {
5869    return new AnimatedStyle(style);
5870  });
5871  injectDefaultElement('div');
5872  injectStringInterpolator(createStringInterpolator);
5873  injectColorNames(colors);
5874  injectApplyAnimatedValues(function (instance, props) {
5875    if (instance.nodeType && instance.setAttribute !== undefined) {
5876      var style = props.style,
5877          children = props.children,
5878          scrollTop = props.scrollTop,
5879          scrollLeft = props.scrollLeft,
5880          attributes = _objectWithoutPropertiesLoose(props, ["style", "children", "scrollTop", "scrollLeft"]);
5881  
5882      var filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';
5883      if (scrollTop !== void 0) instance.scrollTop = scrollTop;
5884      if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value
5885  
5886      if (children !== void 0) instance.textContent = children; // Set styles ...
5887  
5888      for (var styleName in style) {
5889        if (!style.hasOwnProperty(styleName)) continue;
5890        var isCustomProperty = styleName.indexOf('--') === 0;
5891        var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);
5892        if (styleName === 'float') styleName = 'cssFloat';
5893        if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;
5894      } // Set attributes ...
5895  
5896  
5897      for (var name in attributes) {
5898        // Attributes are written in dash case
5899        var dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {
5900          return '-' + n.toLowerCase();
5901        }));
5902        if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);
5903      }
5904  
5905      return;
5906    } else return false;
5907  }, function (style) {
5908    return style;
5909  });
5910  
5911  var domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG
5912  'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];
5913  // Extend animated with all the available THREE elements
5914  var apply = merge(createAnimatedComponent, false);
5915  var extendedAnimated = apply(domElements);
5916  
5917  exports.apply = apply;
5918  exports.config = config;
5919  exports.update = update;
5920  exports.animated = extendedAnimated;
5921  exports.a = extendedAnimated;
5922  exports.interpolate = interpolate$1;
5923  exports.Globals = Globals;
5924  exports.useSpring = useSpring;
5925  exports.useTrail = useTrail;
5926  exports.useTransition = useTransition;
5927  exports.useChain = useChain;
5928  exports.useSprings = useSprings;
5929  
5930  
5931  /***/ }),
5932  /* 78 */
5933  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5934  
5935  "use strict";
5936  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectSpread2; });
5937  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _objectWithoutPropertiesLoose; });
5938  function _defineProperty(obj, key, value) {
5939    if (key in obj) {
5940      Object.defineProperty(obj, key, {
5941        value: value,
5942        enumerable: true,
5943        configurable: true,
5944        writable: true
5945      });
5946    } else {
5947      obj[key] = value;
5948    }
5949  
5950    return obj;
5951  }
5952  
5953  function ownKeys(object, enumerableOnly) {
5954    var keys = Object.keys(object);
5955  
5956    if (Object.getOwnPropertySymbols) {
5957      var symbols = Object.getOwnPropertySymbols(object);
5958      if (enumerableOnly) symbols = symbols.filter(function (sym) {
5959        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
5960      });
5961      keys.push.apply(keys, symbols);
5962    }
5963  
5964    return keys;
5965  }
5966  
5967  function _objectSpread2(target) {
5968    for (var i = 1; i < arguments.length; i++) {
5969      var source = arguments[i] != null ? arguments[i] : {};
5970  
5971      if (i % 2) {
5972        ownKeys(Object(source), true).forEach(function (key) {
5973          _defineProperty(target, key, source[key]);
5974        });
5975      } else if (Object.getOwnPropertyDescriptors) {
5976        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
5977      } else {
5978        ownKeys(Object(source)).forEach(function (key) {
5979          Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
5980        });
5981      }
5982    }
5983  
5984    return target;
5985  }
5986  
5987  function _objectWithoutPropertiesLoose(source, excluded) {
5988    if (source == null) return {};
5989    var target = {};
5990    var sourceKeys = Object.keys(source);
5991    var key, i;
5992  
5993    for (i = 0; i < sourceKeys.length; i++) {
5994      key = sourceKeys[i];
5995      if (excluded.indexOf(key) >= 0) continue;
5996      target[key] = source[key];
5997    }
5998  
5999    return target;
6000  }
6001  
6002  
6003  
6004  
6005  /***/ }),
6006  /* 79 */
6007  /***/ (function(module, exports, __webpack_require__) {
6008  
6009  "use strict";
6010  
6011  
6012  var keys = __webpack_require__(166);
6013  var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
6014  
6015  var toStr = Object.prototype.toString;
6016  var concat = Array.prototype.concat;
6017  var origDefineProperty = Object.defineProperty;
6018  
6019  var isFunction = function (fn) {
6020      return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
6021  };
6022  
6023  var arePropertyDescriptorsSupported = function () {
6024      var obj = {};
6025      try {
6026          origDefineProperty(obj, 'x', { enumerable: false, value: obj });
6027          // eslint-disable-next-line no-unused-vars, no-restricted-syntax
6028          for (var _ in obj) { // jscs:ignore disallowUnusedVariables
6029              return false;
6030          }
6031          return obj.x === obj;
6032      } catch (e) { /* this is IE 8. */
6033          return false;
6034      }
6035  };
6036  var supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();
6037  
6038  var defineProperty = function (object, name, value, predicate) {
6039      if (name in object && (!isFunction(predicate) || !predicate())) {
6040          return;
6041      }
6042      if (supportsDescriptors) {
6043          origDefineProperty(object, name, {
6044              configurable: true,
6045              enumerable: false,
6046              value: value,
6047              writable: true
6048          });
6049      } else {
6050          object[name] = value;
6051      }
6052  };
6053  
6054  var defineProperties = function (object, map) {
6055      var predicates = arguments.length > 2 ? arguments[2] : {};
6056      var props = keys(map);
6057      if (hasSymbols) {
6058          props = concat.call(props, Object.getOwnPropertySymbols(map));
6059      }
6060      for (var i = 0; i < props.length; i += 1) {
6061          defineProperty(object, props[i], map[props[i]], predicates[props[i]]);
6062      }
6063  };
6064  
6065  defineProperties.supportsDescriptors = !!supportsDescriptors;
6066  
6067  module.exports = defineProperties;
6068  
6069  
6070  /***/ }),
6071  /* 80 */
6072  /***/ (function(module, exports, __webpack_require__) {
6073  
6074  "use strict";
6075  
6076  
6077  var ES5Type = __webpack_require__(305);
6078  
6079  // https://www.ecma-international.org/ecma-262/6.0/#sec-tostring
6080  
6081  module.exports = function Type(x) {
6082      if (typeof x === 'symbol') {
6083          return 'Symbol';
6084      }
6085      return ES5Type(x);
6086  };
6087  
6088  
6089  /***/ }),
6090  /* 81 */
6091  /***/ (function(module, exports, __webpack_require__) {
6092  
6093  var moment = __webpack_require__(33);
6094  var momentValidationWrapper = __webpack_require__(345);
6095  var core = __webpack_require__(346);
6096  
6097  module.exports = {
6098  
6099    momentObj : core.createMomentChecker(
6100      'object',
6101      function(obj) {
6102        return typeof obj === 'object';
6103      },
6104      function isValid(value) {
6105        return momentValidationWrapper.isValidMoment(value);
6106      },
6107      'Moment'
6108    ),
6109  
6110    momentString : core.createMomentChecker(
6111      'string',
6112      function(str) {
6113        return typeof str === 'string';
6114      },
6115      function isValid(value) {
6116        return momentValidationWrapper.isValidMoment(moment(value));
6117      },
6118      'Moment'
6119    ),
6120  
6121    momentDurationObj : core.createMomentChecker(
6122      'object',
6123      function(obj) {
6124        return typeof obj === 'object';
6125      },
6126      function isValid(value) {
6127        return moment.isDuration(value);
6128      },
6129      'Duration'
6130    ),
6131  
6132  };
6133  
6134  
6135  /***/ }),
6136  /* 82 */
6137  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6138  
6139  "use strict";
6140  /* unused harmony export Box */
6141  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBox; });
6142  /* harmony import */ var reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63);
6143  /* harmony import */ var reakit_system_createHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62);
6144  
6145  
6146  
6147  var useBox = Object(reakit_system_createHook__WEBPACK_IMPORTED_MODULE_1__[/* createHook */ "a"])({
6148    name: "Box",
6149    keys: ["unstable_system"]
6150  });
6151  var Box = Object(reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_0__[/* createComponent */ "a"])({
6152    as: "div",
6153    useHook: useBox
6154  });
6155  
6156  
6157  
6158  
6159  /***/ }),
6160  /* 83 */
6161  /***/ (function(module, exports, __webpack_require__) {
6162  
6163  var rng = __webpack_require__(116);
6164  var bytesToUuid = __webpack_require__(117);
6165  
6166  function v4(options, buf, offset) {
6167    var i = buf && offset || 0;
6168  
6169    if (typeof(options) == 'string') {
6170      buf = options === 'binary' ? new Array(16) : null;
6171      options = null;
6172    }
6173    options = options || {};
6174  
6175    var rnds = options.random || (options.rng || rng)();
6176  
6177    // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
6178    rnds[6] = (rnds[6] & 0x0f) | 0x40;
6179    rnds[8] = (rnds[8] & 0x3f) | 0x80;
6180  
6181    // Copy bytes to buffer, if provided
6182    if (buf) {
6183      for (var ii = 0; ii < 16; ++ii) {
6184        buf[i + ii] = rnds[ii];
6185      }
6186    }
6187  
6188    return buf || bytesToUuid(rnds);
6189  }
6190  
6191  module.exports = v4;
6192  
6193  
6194  /***/ }),
6195  /* 84 */
6196  /***/ (function(module, exports, __webpack_require__) {
6197  
6198  "use strict";
6199  
6200  
6201  module.exports = __webpack_require__(150);
6202  
6203  /***/ }),
6204  /* 85 */,
6205  /* 86 */
6206  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6207  
6208  "use strict";
6209  /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
6210  /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12);
6211  /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);
6212  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
6213  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
6214  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9);
6215  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_4__);
6216  /* harmony import */ var _dashicon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96);
6217  
6218  
6219  
6220  
6221  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
6222  
6223  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6224  
6225  /**
6226   * WordPress dependencies
6227   */
6228  
6229  
6230  /**
6231   * Internal dependencies
6232   */
6233  
6234  
6235  
6236  function Icon(_ref) {
6237    var _ref$icon = _ref.icon,
6238        icon = _ref$icon === void 0 ? null : _ref$icon,
6239        size = _ref.size,
6240        additionalProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_ref, ["icon", "size"]);
6241  
6242    // Dashicons should be 20x20 by default.
6243    var dashiconSize = size || 20;
6244  
6245    if ('string' === typeof icon) {
6246      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_dashicon__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])({
6247        icon: icon,
6248        size: dashiconSize
6249      }, additionalProps));
6250    }
6251  
6252    if (icon && _dashicon__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"] === icon.type) {
6253      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["cloneElement"])(icon, _objectSpread({
6254        size: dashiconSize
6255      }, additionalProps));
6256    } // Icons should be 24x24 by default.
6257  
6258  
6259    var iconSize = size || 24;
6260  
6261    if ('function' === typeof icon) {
6262      if (icon.prototype instanceof _wordpress_element__WEBPACK_IMPORTED_MODULE_3__["Component"]) {
6263        return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(icon, _objectSpread({
6264          size: iconSize
6265        }, additionalProps));
6266      }
6267  
6268      return icon(_objectSpread({
6269        size: iconSize
6270      }, additionalProps));
6271    }
6272  
6273    if (icon && (icon.type === 'svg' || icon.type === _wordpress_primitives__WEBPACK_IMPORTED_MODULE_4__["SVG"])) {
6274      var appliedProps = _objectSpread({
6275        width: iconSize,
6276        height: iconSize
6277      }, icon.props, {}, additionalProps);
6278  
6279      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_4__["SVG"], appliedProps);
6280    }
6281  
6282    if (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["isValidElement"])(icon)) {
6283      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["cloneElement"])(icon, _objectSpread({
6284        size: iconSize
6285      }, additionalProps));
6286    }
6287  
6288    return icon;
6289  }
6290  
6291  /* harmony default export */ __webpack_exports__["a"] = (Icon);
6292  
6293  
6294  /***/ }),
6295  /* 87 */,
6296  /* 88 */
6297  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6298  
6299  "use strict";
6300  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SystemContext; });
6301  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21);
6302  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6303  
6304  
6305  var SystemContext = Object(react__WEBPACK_IMPORTED_MODULE_0__["createContext"])({});
6306  
6307  
6308  
6309  
6310  /***/ }),
6311  /* 89 */,
6312  /* 90 */
6313  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6314  
6315  "use strict";
6316  /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12);
6317  /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14);
6318  /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13);
6319  /* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(15);
6320  /* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16);
6321  /* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7);
6322  /* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17);
6323  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
6324  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
6325  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2);
6326  /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);
6327  /* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8);
6328  /* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_9__);
6329  
6330  
6331  
6332  
6333  
6334  
6335  
6336  
6337  
6338  /**
6339   * External dependencies
6340   */
6341  
6342  /**
6343   * WordPress dependencies
6344   */
6345  
6346  
6347  
6348  /**
6349   * Input types which are classified as button types, for use in considering
6350   * whether element is a (focus-normalized) button.
6351   *
6352   * @type {string[]}
6353   */
6354  
6355  var INPUT_BUTTON_TYPES = ['button', 'submit'];
6356  /**
6357   * Returns true if the given element is a button element subject to focus
6358   * normalization, or false otherwise.
6359   *
6360   * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
6361   *
6362   * @param {Element} element Element to test.
6363   *
6364   * @return {boolean} Whether element is a button.
6365   */
6366  
6367  function isFocusNormalizedButton(element) {
6368    switch (element.nodeName) {
6369      case 'A':
6370      case 'BUTTON':
6371        return true;
6372  
6373      case 'INPUT':
6374        return Object(lodash__WEBPACK_IMPORTED_MODULE_8__["includes"])(INPUT_BUTTON_TYPES, element.type);
6375    }
6376  
6377    return false;
6378  }
6379  
6380  /* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_9__["createHigherOrderComponent"])(function (WrappedComponent) {
6381    return (
6382      /*#__PURE__*/
6383      function (_Component) {
6384        Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(_class, _Component);
6385  
6386        function _class() {
6387          var _this;
6388  
6389          Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(this, _class);
6390  
6391          _this = Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(_class).apply(this, arguments));
6392          _this.bindNode = _this.bindNode.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
6393          _this.cancelBlurCheck = _this.cancelBlurCheck.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
6394          _this.queueBlurCheck = _this.queueBlurCheck.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
6395          _this.normalizeButtonFocus = _this.normalizeButtonFocus.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
6396          return _this;
6397        }
6398  
6399        Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_class, [{
6400          key: "componentWillUnmount",
6401          value: function componentWillUnmount() {
6402            this.cancelBlurCheck();
6403          }
6404        }, {
6405          key: "bindNode",
6406          value: function bindNode(node) {
6407            if (node) {
6408              this.node = node;
6409            } else {
6410              delete this.node;
6411              this.cancelBlurCheck();
6412            }
6413          }
6414        }, {
6415          key: "queueBlurCheck",
6416          value: function queueBlurCheck(event) {
6417            var _this2 = this;
6418  
6419            // React does not allow using an event reference asynchronously
6420            // due to recycling behavior, except when explicitly persisted.
6421            event.persist(); // Skip blur check if clicking button. See `normalizeButtonFocus`.
6422  
6423            if (this.preventBlurCheck) {
6424              return;
6425            }
6426  
6427            this.blurCheckTimeout = setTimeout(function () {
6428              // If document is not focused then focus should remain
6429              // inside the wrapped component and therefore we cancel
6430              // this blur event thereby leaving focus in place.
6431              // https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus.
6432              if (!document.hasFocus()) {
6433                event.preventDefault();
6434                return;
6435              }
6436  
6437              if ('function' === typeof _this2.node.handleFocusOutside) {
6438                _this2.node.handleFocusOutside(event);
6439              }
6440            }, 0);
6441          }
6442        }, {
6443          key: "cancelBlurCheck",
6444          value: function cancelBlurCheck() {
6445            clearTimeout(this.blurCheckTimeout);
6446          }
6447          /**
6448           * Handles a mousedown or mouseup event to respectively assign and
6449           * unassign a flag for preventing blur check on button elements. Some
6450           * browsers, namely Firefox and Safari, do not emit a focus event on
6451           * button elements when clicked, while others do. The logic here
6452           * intends to normalize this as treating click on buttons as focus.
6453           *
6454           * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
6455           *
6456           * @param {MouseEvent} event Event for mousedown or mouseup.
6457           */
6458  
6459        }, {
6460          key: "normalizeButtonFocus",
6461          value: function normalizeButtonFocus(event) {
6462            var type = event.type,
6463                target = event.target;
6464            var isInteractionEnd = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["includes"])(['mouseup', 'touchend'], type);
6465  
6466            if (isInteractionEnd) {
6467              this.preventBlurCheck = false;
6468            } else if (isFocusNormalizedButton(target)) {
6469              this.preventBlurCheck = true;
6470            }
6471          }
6472        }, {
6473          key: "render",
6474          value: function render() {
6475            // Disable reason: See `normalizeButtonFocus` for browser-specific
6476            // focus event normalization.
6477  
6478            /* eslint-disable jsx-a11y/no-static-element-interactions */
6479            return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])("div", {
6480              onFocus: this.cancelBlurCheck,
6481              onMouseDown: this.normalizeButtonFocus,
6482              onMouseUp: this.normalizeButtonFocus,
6483              onTouchStart: this.normalizeButtonFocus,
6484              onTouchEnd: this.normalizeButtonFocus,
6485              onBlur: this.queueBlurCheck
6486            }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(WrappedComponent, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
6487              ref: this.bindNode
6488            }, this.props)));
6489            /* eslint-enable jsx-a11y/no-static-element-interactions */
6490          }
6491        }]);
6492  
6493        return _class;
6494      }(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["Component"])
6495    );
6496  }, 'withFocusOutside'));
6497  
6498  
6499  /***/ }),
6500  /* 91 */
6501  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6502  
6503  "use strict";
6504  
6505  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
6506  var esm_extends = __webpack_require__(12);
6507  
6508  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
6509  var slicedToArray = __webpack_require__(20);
6510  
6511  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
6512  var objectWithoutProperties = __webpack_require__(19);
6513  
6514  // EXTERNAL MODULE: external {"this":["wp","element"]}
6515  var external_this_wp_element_ = __webpack_require__(0);
6516  
6517  // EXTERNAL MODULE: ./node_modules/classnames/index.js
6518  var classnames = __webpack_require__(11);
6519  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
6520  
6521  // EXTERNAL MODULE: external {"this":["wp","dom"]}
6522  var external_this_wp_dom_ = __webpack_require__(28);
6523  
6524  // EXTERNAL MODULE: external {"this":["wp","keycodes"]}
6525  var external_this_wp_keycodes_ = __webpack_require__(22);
6526  
6527  // EXTERNAL MODULE: external {"this":["wp","deprecated"]}
6528  var external_this_wp_deprecated_ = __webpack_require__(37);
6529  var external_this_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_deprecated_);
6530  
6531  // EXTERNAL MODULE: external {"this":["wp","compose"]}
6532  var external_this_wp_compose_ = __webpack_require__(8);
6533  
6534  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
6535  var library_close = __webpack_require__(120);
6536  
6537  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
6538  var defineProperty = __webpack_require__(5);
6539  
6540  // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/utils.js
6541  
6542  
6543  
6544  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
6545  
6546  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6547  
6548  /**
6549   * WordPress dependencies
6550   */
6551  
6552  /**
6553   * Module constants
6554   */
6555  
6556  var HEIGHT_OFFSET = 10; // used by the arrow and a bit of empty space
6557  
6558  /**
6559   * Utility used to compute the popover position over the xAxis
6560   *
6561   * @param {Object}  anchorRect  Anchor Rect.
6562   * @param {Object}  contentSize Content Size.
6563   * @param {string}  xAxis       Desired xAxis.
6564   * @param {string}  corner      Desired corner.
6565   * @param {boolean} sticky      Whether or not to stick the popover to the
6566   *                              scroll container edge when part of the anchor
6567   *                              leaves view.
6568   * @param {string}  chosenYAxis yAxis to be used.
6569   *
6570   * @return {Object} Popover xAxis position and constraints.
6571   */
6572  
6573  function computePopoverXAxisPosition(anchorRect, contentSize, xAxis, corner, sticky, chosenYAxis) {
6574    var width = contentSize.width;
6575    var isRTL = document.documentElement.dir === 'rtl'; // Correct xAxis for RTL support
6576  
6577    if (xAxis === 'left' && isRTL) {
6578      xAxis = 'right';
6579    } else if (xAxis === 'right' && isRTL) {
6580      xAxis = 'left';
6581    }
6582  
6583    if (corner === 'left' && isRTL) {
6584      corner = 'right';
6585    } else if (corner === 'right' && isRTL) {
6586      corner = 'left';
6587    } // x axis alignment choices
6588  
6589  
6590    var anchorMidPoint = Math.round(anchorRect.left + anchorRect.width / 2);
6591    var centerAlignment = {
6592      popoverLeft: anchorMidPoint,
6593      contentWidth: (anchorMidPoint - width / 2 > 0 ? width / 2 : anchorMidPoint) + (anchorMidPoint + width / 2 > window.innerWidth ? window.innerWidth - anchorMidPoint : width / 2)
6594    };
6595    var leftAlignmentX = anchorRect.left;
6596  
6597    if (corner === 'right') {
6598      leftAlignmentX = anchorRect.right;
6599    } else if (chosenYAxis !== 'middle') {
6600      leftAlignmentX = anchorMidPoint;
6601    }
6602  
6603    var rightAlignmentX = anchorRect.right;
6604  
6605    if (corner === 'left') {
6606      rightAlignmentX = anchorRect.left;
6607    } else if (chosenYAxis !== 'middle') {
6608      rightAlignmentX = anchorMidPoint;
6609    }
6610  
6611    var leftAlignment = {
6612      popoverLeft: leftAlignmentX,
6613      contentWidth: leftAlignmentX - width > 0 ? width : leftAlignmentX
6614    };
6615    var rightAlignment = {
6616      popoverLeft: rightAlignmentX,
6617      contentWidth: rightAlignmentX + width > window.innerWidth ? window.innerWidth - rightAlignmentX : width
6618    }; // Choosing the x axis
6619  
6620    var chosenXAxis = xAxis;
6621    var contentWidth = null;
6622  
6623    if (!sticky) {
6624      if (xAxis === 'center' && centerAlignment.contentWidth === width) {
6625        chosenXAxis = 'center';
6626      } else if (xAxis === 'left' && leftAlignment.contentWidth === width) {
6627        chosenXAxis = 'left';
6628      } else if (xAxis === 'right' && rightAlignment.contentWidth === width) {
6629        chosenXAxis = 'right';
6630      } else {
6631        chosenXAxis = leftAlignment.contentWidth > rightAlignment.contentWidth ? 'left' : 'right';
6632        var chosenWidth = chosenXAxis === 'left' ? leftAlignment.contentWidth : rightAlignment.contentWidth;
6633        contentWidth = chosenWidth !== width ? chosenWidth : null;
6634      }
6635    }
6636  
6637    var popoverLeft;
6638  
6639    if (chosenXAxis === 'center') {
6640      popoverLeft = centerAlignment.popoverLeft;
6641    } else if (chosenXAxis === 'left') {
6642      popoverLeft = leftAlignment.popoverLeft;
6643    } else {
6644      popoverLeft = rightAlignment.popoverLeft;
6645    }
6646  
6647    return {
6648      xAxis: chosenXAxis,
6649      popoverLeft: popoverLeft,
6650      contentWidth: contentWidth
6651    };
6652  }
6653  /**
6654   * Utility used to compute the popover position over the yAxis
6655   *
6656   * @param {Object}  anchorRect        Anchor Rect.
6657   * @param {Object}  contentSize       Content Size.
6658   * @param {string}  yAxis             Desired yAxis.
6659   * @param {string}  corner            Desired corner.
6660   * @param {boolean} sticky            Whether or not to stick the popover to the
6661   *                                    scroll container edge when part of the
6662   *                                    anchor leaves view.
6663   * @param {Element} anchorRef         The anchor element.
6664   * @param {Element} relativeOffsetTop If applicable, top offset of the relative
6665   *                                    positioned parent container.
6666   *
6667   * @return {Object} Popover xAxis position and constraints.
6668   */
6669  
6670  function computePopoverYAxisPosition(anchorRect, contentSize, yAxis, corner, sticky, anchorRef, relativeOffsetTop) {
6671    var height = contentSize.height;
6672  
6673    if (sticky) {
6674      var scrollContainerEl = Object(external_this_wp_dom_["getScrollContainer"])(anchorRef) || document.body;
6675      var scrollRect = scrollContainerEl.getBoundingClientRect();
6676  
6677      if (anchorRect.top - height <= scrollRect.top) {
6678        return {
6679          yAxis: yAxis,
6680          popoverTop: Math.min(anchorRect.bottom - relativeOffsetTop, scrollRect.top + height - relativeOffsetTop)
6681        };
6682      }
6683    } // y axis alignment choices
6684  
6685  
6686    var anchorMidPoint = anchorRect.top + anchorRect.height / 2;
6687  
6688    if (corner === 'bottom') {
6689      anchorMidPoint = anchorRect.bottom;
6690    } else if (corner === 'top') {
6691      anchorMidPoint = anchorRect.top;
6692    }
6693  
6694    var middleAlignment = {
6695      popoverTop: anchorMidPoint,
6696      contentHeight: (anchorMidPoint - height / 2 > 0 ? height / 2 : anchorMidPoint) + (anchorMidPoint + height / 2 > window.innerHeight ? window.innerHeight - anchorMidPoint : height / 2)
6697    };
6698    var topAlignment = {
6699      popoverTop: anchorRect.top,
6700      contentHeight: anchorRect.top - HEIGHT_OFFSET - height > 0 ? height : anchorRect.top - HEIGHT_OFFSET
6701    };
6702    var bottomAlignment = {
6703      popoverTop: anchorRect.bottom,
6704      contentHeight: anchorRect.bottom + HEIGHT_OFFSET + height > window.innerHeight ? window.innerHeight - HEIGHT_OFFSET - anchorRect.bottom : height
6705    }; // Choosing the y axis
6706  
6707    var chosenYAxis = yAxis;
6708    var contentHeight = null;
6709  
6710    if (!sticky) {
6711      if (yAxis === 'middle' && middleAlignment.contentHeight === height) {
6712        chosenYAxis = 'middle';
6713      } else if (yAxis === 'top' && topAlignment.contentHeight === height) {
6714        chosenYAxis = 'top';
6715      } else if (yAxis === 'bottom' && bottomAlignment.contentHeight === height) {
6716        chosenYAxis = 'bottom';
6717      } else {
6718        chosenYAxis = topAlignment.contentHeight > bottomAlignment.contentHeight ? 'top' : 'bottom';
6719        var chosenHeight = chosenYAxis === 'top' ? topAlignment.contentHeight : bottomAlignment.contentHeight;
6720        contentHeight = chosenHeight !== height ? chosenHeight : null;
6721      }
6722    }
6723  
6724    var popoverTop;
6725  
6726    if (chosenYAxis === 'middle') {
6727      popoverTop = middleAlignment.popoverTop;
6728    } else if (chosenYAxis === 'top') {
6729      popoverTop = topAlignment.popoverTop;
6730    } else {
6731      popoverTop = bottomAlignment.popoverTop;
6732    }
6733  
6734    return {
6735      yAxis: chosenYAxis,
6736      popoverTop: popoverTop,
6737      contentHeight: contentHeight
6738    };
6739  }
6740  /**
6741   * Utility used to compute the popover position and the content max width/height
6742   * for a popover given its anchor rect and its content size.
6743   *
6744   * @param {Object}  anchorRect        Anchor Rect.
6745   * @param {Object}  contentSize       Content Size.
6746   * @param {string}  position          Position.
6747   * @param {boolean} sticky            Whether or not to stick the popover to the
6748   *                                    scroll container edge when part of the
6749   *                                    anchor leaves view.
6750   * @param {Element} anchorRef         The anchor element.
6751   * @param {number}  relativeOffsetTop If applicable, top offset of the relative
6752   *                                    positioned parent container.
6753   *
6754   * @return {Object} Popover position and constraints.
6755   */
6756  
6757  function computePopoverPosition(anchorRect, contentSize) {
6758    var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'top';
6759    var sticky = arguments.length > 3 ? arguments[3] : undefined;
6760    var anchorRef = arguments.length > 4 ? arguments[4] : undefined;
6761    var relativeOffsetTop = arguments.length > 5 ? arguments[5] : undefined;
6762  
6763    var _position$split = position.split(' '),
6764        _position$split2 = Object(slicedToArray["a" /* default */])(_position$split, 3),
6765        yAxis = _position$split2[0],
6766        _position$split2$ = _position$split2[1],
6767        xAxis = _position$split2$ === void 0 ? 'center' : _position$split2$,
6768        corner = _position$split2[2];
6769  
6770    var yAxisPosition = computePopoverYAxisPosition(anchorRect, contentSize, yAxis, corner, sticky, anchorRef, relativeOffsetTop);
6771    var xAxisPosition = computePopoverXAxisPosition(anchorRect, contentSize, xAxis, corner, sticky, yAxisPosition.yAxis);
6772    return _objectSpread({}, xAxisPosition, {}, yAxisPosition);
6773  }
6774  
6775  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/index.js
6776  var with_focus_return = __webpack_require__(107);
6777  
6778  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-constrained-tabbing/index.js
6779  var with_constrained_tabbing = __webpack_require__(106);
6780  
6781  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
6782  var classCallCheck = __webpack_require__(14);
6783  
6784  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
6785  var createClass = __webpack_require__(13);
6786  
6787  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
6788  var possibleConstructorReturn = __webpack_require__(15);
6789  
6790  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
6791  var getPrototypeOf = __webpack_require__(16);
6792  
6793  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
6794  var inherits = __webpack_require__(17);
6795  
6796  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-outside/index.js
6797  var with_focus_outside = __webpack_require__(90);
6798  
6799  // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/detect-outside.js
6800  
6801  
6802  
6803  
6804  
6805  
6806  /**
6807   * WordPress dependencies
6808   */
6809  
6810  /**
6811   * Internal dependencies
6812   */
6813  
6814  
6815  
6816  var detect_outside_PopoverDetectOutside =
6817  /*#__PURE__*/
6818  function (_Component) {
6819    Object(inherits["a" /* default */])(PopoverDetectOutside, _Component);
6820  
6821    function PopoverDetectOutside() {
6822      Object(classCallCheck["a" /* default */])(this, PopoverDetectOutside);
6823  
6824      return Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(PopoverDetectOutside).apply(this, arguments));
6825    }
6826  
6827    Object(createClass["a" /* default */])(PopoverDetectOutside, [{
6828      key: "handleFocusOutside",
6829      value: function handleFocusOutside(event) {
6830        this.props.onFocusOutside(event);
6831      }
6832    }, {
6833      key: "render",
6834      value: function render() {
6835        return this.props.children;
6836      }
6837    }]);
6838  
6839    return PopoverDetectOutside;
6840  }(external_this_wp_element_["Component"]);
6841  
6842  /* harmony default export */ var detect_outside = (Object(with_focus_outside["a" /* default */])(detect_outside_PopoverDetectOutside));
6843  
6844  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
6845  var build_module_button = __webpack_require__(36);
6846  
6847  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/scroll-lock/index.js
6848  var scroll_lock = __webpack_require__(141);
6849  
6850  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/isolated-event-container/index.js
6851  var isolated_event_container = __webpack_require__(109);
6852  
6853  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/use-slot.js
6854  var use_slot = __webpack_require__(108);
6855  
6856  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/index.js + 4 modules
6857  var slot_fill = __webpack_require__(95);
6858  
6859  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/animate/index.js
6860  var build_module_animate = __webpack_require__(140);
6861  
6862  // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/index.js
6863  
6864  
6865  
6866  
6867  
6868  /**
6869   * External dependencies
6870   */
6871  
6872  /**
6873   * WordPress dependencies
6874   */
6875  
6876  
6877  
6878  
6879  
6880  
6881  
6882  /**
6883   * Internal dependencies
6884   */
6885  
6886  
6887  
6888  
6889  
6890  
6891  
6892  
6893  
6894  
6895  var FocusManaged = Object(with_constrained_tabbing["a" /* default */])(Object(with_focus_return["a" /* default */])(function (_ref) {
6896    var children = _ref.children;
6897    return children;
6898  }));
6899  /**
6900   * Name of slot in which popover should fill.
6901   *
6902   * @type {string}
6903   */
6904  
6905  var SLOT_NAME = 'Popover';
6906  
6907  function computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect) {
6908    var anchorRef = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
6909    var shouldAnchorIncludePadding = arguments.length > 4 ? arguments[4] : undefined;
6910  
6911    if (anchorRect) {
6912      return anchorRect;
6913    }
6914  
6915    if (getAnchorRect) {
6916      if (!anchorRefFallback.current) {
6917        return;
6918      }
6919  
6920      return getAnchorRect(anchorRefFallback.current);
6921    }
6922  
6923    if (anchorRef !== false) {
6924      if (!anchorRef) {
6925        return;
6926      }
6927  
6928      if (anchorRef instanceof window.Range) {
6929        return Object(external_this_wp_dom_["getRectangleFromRange"])(anchorRef);
6930      }
6931  
6932      if (anchorRef instanceof window.Element) {
6933        var _rect2 = anchorRef.getBoundingClientRect();
6934  
6935        if (shouldAnchorIncludePadding) {
6936          return _rect2;
6937        }
6938  
6939        return withoutPadding(_rect2, anchorRef);
6940      }
6941  
6942      var top = anchorRef.top,
6943          bottom = anchorRef.bottom;
6944      var topRect = top.getBoundingClientRect();
6945      var bottomRect = bottom.getBoundingClientRect();
6946  
6947      var _rect = new window.DOMRect(topRect.left, topRect.top, topRect.width, bottomRect.bottom - topRect.top);
6948  
6949      if (shouldAnchorIncludePadding) {
6950        return _rect;
6951      }
6952  
6953      return withoutPadding(_rect, anchorRef);
6954    }
6955  
6956    if (!anchorRefFallback.current) {
6957      return;
6958    }
6959  
6960    var parentNode = anchorRefFallback.current.parentNode;
6961    var rect = parentNode.getBoundingClientRect();
6962  
6963    if (shouldAnchorIncludePadding) {
6964      return rect;
6965    }
6966  
6967    return withoutPadding(rect, parentNode);
6968  }
6969  
6970  function withoutPadding(rect, element) {
6971    var _window$getComputedSt = window.getComputedStyle(element),
6972        paddingTop = _window$getComputedSt.paddingTop,
6973        paddingBottom = _window$getComputedSt.paddingBottom,
6974        paddingLeft = _window$getComputedSt.paddingLeft,
6975        paddingRight = _window$getComputedSt.paddingRight;
6976  
6977    var top = paddingTop ? parseInt(paddingTop, 10) : 0;
6978    var bottom = paddingBottom ? parseInt(paddingBottom, 10) : 0;
6979    var left = paddingLeft ? parseInt(paddingLeft, 10) : 0;
6980    var right = paddingRight ? parseInt(paddingRight, 10) : 0;
6981    return {
6982      x: rect.left + left,
6983      y: rect.top + top,
6984      width: rect.width - left - right,
6985      height: rect.height - top - bottom,
6986      left: rect.left + left,
6987      right: rect.right - right,
6988      top: rect.top + top,
6989      bottom: rect.bottom - bottom
6990    };
6991  }
6992  /**
6993   * Hook used to focus the first tabbable element on mount.
6994   *
6995   * @param {boolean|string} focusOnMount Focus on mount mode.
6996   * @param {Object}         contentRef   Reference to the popover content element.
6997   */
6998  
6999  
7000  function useFocusContentOnMount(focusOnMount, contentRef) {
7001    // Focus handling
7002    Object(external_this_wp_element_["useEffect"])(function () {
7003      /*
7004       * Without the setTimeout, the dom node is not being focused. Related:
7005       * https://stackoverflow.com/questions/35522220/react-ref-with-focus-doesnt-work-without-settimeout-my-example
7006       *
7007       * TODO: Treat the cause, not the symptom.
7008       */
7009      var focusTimeout = setTimeout(function () {
7010        if (!focusOnMount || !contentRef.current) {
7011          return;
7012        }
7013  
7014        if (focusOnMount === 'firstElement') {
7015          // Find first tabbable node within content and shift focus, falling
7016          // back to the popover panel itself.
7017          var firstTabbable = external_this_wp_dom_["focus"].tabbable.find(contentRef.current)[0];
7018  
7019          if (firstTabbable) {
7020            firstTabbable.focus();
7021          } else {
7022            contentRef.current.focus();
7023          }
7024  
7025          return;
7026        }
7027  
7028        if (focusOnMount === 'container') {
7029          // Focus the popover panel itself so items in the popover are easily
7030          // accessed via keyboard navigation.
7031          contentRef.current.focus();
7032        }
7033      }, 0);
7034      return function () {
7035        return clearTimeout(focusTimeout);
7036      };
7037    }, []);
7038  }
7039  /**
7040   * Sets or removes an element attribute.
7041   *
7042   * @param {Element} element The element to modify.
7043   * @param {string}  name    The attribute name to set or remove.
7044   * @param {?string} value   The value to set. A falsy value will remove the
7045   *                          attribute.
7046   */
7047  
7048  
7049  function setAttribute(element, name, value) {
7050    if (!value) {
7051      if (element.hasAttribute(name)) {
7052        element.removeAttribute(name);
7053      }
7054    } else if (element.getAttribute(name) !== value) {
7055      element.setAttribute(name, value);
7056    }
7057  }
7058  /**
7059   * Sets or removes an element style property.
7060   *
7061   * @param {Element} element  The element to modify.
7062   * @param {string}  property The property to set or remove.
7063   * @param {?string} value    The value to set. A falsy value will remove the
7064   *                           property.
7065   */
7066  
7067  
7068  function setStyle(element, property) {
7069    var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
7070  
7071    if (element.style[property] !== value) {
7072      element.style[property] = value;
7073    }
7074  }
7075  /**
7076   * Sets or removes an element class.
7077   *
7078   * @param {Element} element The element to modify.
7079   * @param {string}  name    The class to set or remove.
7080   * @param {boolean} toggle  True to set the class, false to remove.
7081   */
7082  
7083  
7084  function setClass(element, name, toggle) {
7085    if (toggle) {
7086      if (!element.classList.contains(name)) {
7087        element.classList.add(name);
7088      }
7089    } else if (element.classList.contains(name)) {
7090      element.classList.remove(name);
7091    }
7092  }
7093  
7094  var popover_Popover = function Popover(_ref2) {
7095    var headerTitle = _ref2.headerTitle,
7096        onClose = _ref2.onClose,
7097        onKeyDown = _ref2.onKeyDown,
7098        children = _ref2.children,
7099        className = _ref2.className,
7100        _ref2$noArrow = _ref2.noArrow,
7101        noArrow = _ref2$noArrow === void 0 ? false : _ref2$noArrow,
7102        _ref2$position = _ref2.position,
7103        position = _ref2$position === void 0 ? 'top' : _ref2$position,
7104        range = _ref2.range,
7105        _ref2$focusOnMount = _ref2.focusOnMount,
7106        focusOnMount = _ref2$focusOnMount === void 0 ? 'firstElement' : _ref2$focusOnMount,
7107        anchorRef = _ref2.anchorRef,
7108        shouldAnchorIncludePadding = _ref2.shouldAnchorIncludePadding,
7109        anchorRect = _ref2.anchorRect,
7110        getAnchorRect = _ref2.getAnchorRect,
7111        expandOnMobile = _ref2.expandOnMobile,
7112        _ref2$animate = _ref2.animate,
7113        animate = _ref2$animate === void 0 ? true : _ref2$animate,
7114        onClickOutside = _ref2.onClickOutside,
7115        onFocusOutside = _ref2.onFocusOutside,
7116        __unstableSticky = _ref2.__unstableSticky,
7117        _ref2$__unstableSlotN = _ref2.__unstableSlotName,
7118        __unstableSlotName = _ref2$__unstableSlotN === void 0 ? SLOT_NAME : _ref2$__unstableSlotN,
7119        __unstableAllowVerticalSubpixelPosition = _ref2.__unstableAllowVerticalSubpixelPosition,
7120        __unstableAllowHorizontalSubpixelPosition = _ref2.__unstableAllowHorizontalSubpixelPosition,
7121        _ref2$__unstableFixed = _ref2.__unstableFixedPosition,
7122        __unstableFixedPosition = _ref2$__unstableFixed === void 0 ? true : _ref2$__unstableFixed,
7123        contentProps = Object(objectWithoutProperties["a" /* default */])(_ref2, ["headerTitle", "onClose", "onKeyDown", "children", "className", "noArrow", "position", "range", "focusOnMount", "anchorRef", "shouldAnchorIncludePadding", "anchorRect", "getAnchorRect", "expandOnMobile", "animate", "onClickOutside", "onFocusOutside", "__unstableSticky", "__unstableSlotName", "__unstableAllowVerticalSubpixelPosition", "__unstableAllowHorizontalSubpixelPosition", "__unstableFixedPosition"]);
7124  
7125    var anchorRefFallback = Object(external_this_wp_element_["useRef"])(null);
7126    var contentRef = Object(external_this_wp_element_["useRef"])(null);
7127    var containerRef = Object(external_this_wp_element_["useRef"])();
7128    var contentRect = Object(external_this_wp_element_["useRef"])();
7129    var isMobileViewport = Object(external_this_wp_compose_["useViewportMatch"])('medium', '<');
7130  
7131    var _useState = Object(external_this_wp_element_["useState"])(),
7132        _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
7133        animateOrigin = _useState2[0],
7134        setAnimateOrigin = _useState2[1];
7135  
7136    var slot = Object(use_slot["a" /* default */])(__unstableSlotName);
7137    var isExpanded = expandOnMobile && isMobileViewport;
7138    noArrow = isExpanded || noArrow;
7139    Object(external_this_wp_element_["useEffect"])(function () {
7140      if (isExpanded) {
7141        setClass(containerRef.current, 'is-without-arrow', noArrow);
7142        setAttribute(containerRef.current, 'data-x-axis');
7143        setAttribute(containerRef.current, 'data-y-axis');
7144        setStyle(containerRef.current, 'top');
7145        setStyle(containerRef.current, 'left');
7146        setStyle(contentRef.current, 'maxHeight');
7147        setStyle(contentRef.current, 'maxWidth');
7148        setStyle(containerRef.current, 'position');
7149        return;
7150      }
7151  
7152      var refresh = function refresh() {
7153        var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
7154            subpixels = _ref3.subpixels;
7155  
7156        if (!containerRef.current || !contentRef.current) {
7157          return;
7158        }
7159  
7160        var anchor = computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding);
7161  
7162        if (!anchor) {
7163          return;
7164        }
7165  
7166        if (!contentRect.current) {
7167          contentRect.current = contentRef.current.getBoundingClientRect();
7168        }
7169  
7170        var relativeOffsetTop = 0; // If there is a positioned ancestor element that is not the body,
7171        // subtract the position from the anchor rect. If the position of
7172        // the popover is fixed, the offset parent is null or the body
7173        // element, in which case the position is relative to the viewport.
7174        // See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent
7175  
7176        if (!__unstableFixedPosition) {
7177          setStyle(containerRef.current, 'position', 'absolute');
7178          var offsetParent = containerRef.current.offsetParent;
7179          var offsetParentRect = offsetParent.getBoundingClientRect();
7180          relativeOffsetTop = offsetParentRect.top;
7181          anchor = new window.DOMRect(anchor.left - offsetParentRect.left, anchor.top - offsetParentRect.top, anchor.width, anchor.height);
7182        } else {
7183          setStyle(containerRef.current, 'position');
7184        }
7185  
7186        var _computePopoverPositi = computePopoverPosition(anchor, contentRect.current, position, __unstableSticky, containerRef.current, relativeOffsetTop),
7187            popoverTop = _computePopoverPositi.popoverTop,
7188            popoverLeft = _computePopoverPositi.popoverLeft,
7189            xAxis = _computePopoverPositi.xAxis,
7190            yAxis = _computePopoverPositi.yAxis,
7191            contentHeight = _computePopoverPositi.contentHeight,
7192            contentWidth = _computePopoverPositi.contentWidth;
7193  
7194        if (typeof popoverTop === 'number' && typeof popoverLeft === 'number') {
7195          if (subpixels && __unstableAllowVerticalSubpixelPosition) {
7196            setStyle(containerRef.current, 'left', popoverLeft + 'px');
7197            setStyle(containerRef.current, 'top');
7198            setStyle(containerRef.current, 'transform', "translateY(".concat(popoverTop, "px)"));
7199          } else if (subpixels && __unstableAllowHorizontalSubpixelPosition) {
7200            setStyle(containerRef.current, 'top', popoverTop + 'px');
7201            setStyle(containerRef.current, 'left');
7202            setStyle(containerRef.current, 'transform', "translate(".concat(popoverLeft, "px)"));
7203          } else {
7204            setStyle(containerRef.current, 'top', popoverTop + 'px');
7205            setStyle(containerRef.current, 'left', popoverLeft + 'px');
7206            setStyle(containerRef.current, 'transform');
7207          }
7208        }
7209  
7210        setClass(containerRef.current, 'is-without-arrow', noArrow || xAxis === 'center' && yAxis === 'middle');
7211        setAttribute(containerRef.current, 'data-x-axis', xAxis);
7212        setAttribute(containerRef.current, 'data-y-axis', yAxis);
7213        setStyle(contentRef.current, 'maxHeight', typeof contentHeight === 'number' ? contentHeight + 'px' : '');
7214        setStyle(contentRef.current, 'maxWidth', typeof contentWidth === 'number' ? contentWidth + 'px' : ''); // Compute the animation position
7215  
7216        var yAxisMapping = {
7217          top: 'bottom',
7218          bottom: 'top'
7219        };
7220        var xAxisMapping = {
7221          left: 'right',
7222          right: 'left'
7223        };
7224        var animateYAxis = yAxisMapping[yAxis] || 'middle';
7225        var animateXAxis = xAxisMapping[xAxis] || 'center';
7226        setAnimateOrigin(animateXAxis + ' ' + animateYAxis);
7227      }; // Height may still adjust between now and the next tick.
7228  
7229  
7230      var timeoutId = window.setTimeout(refresh);
7231      /*
7232       * There are sometimes we need to reposition or resize the popover that
7233       * are not handled by the resize/scroll window events (i.e. CSS changes
7234       * in the layout that changes the position of the anchor).
7235       *
7236       * For these situations, we refresh the popover every 0.5s
7237       */
7238  
7239      var intervalHandle = window.setInterval(refresh, 500);
7240      var rafId;
7241  
7242      var refreshOnAnimationFrame = function refreshOnAnimationFrame() {
7243        window.cancelAnimationFrame(rafId);
7244        rafId = window.requestAnimationFrame(refresh);
7245      }; // Sometimes a click trigger a layout change that affects the popover
7246      // position. This is an opportunity to immediately refresh rather than
7247      // at the interval.
7248  
7249  
7250      window.addEventListener('click', refreshOnAnimationFrame);
7251      window.addEventListener('resize', refresh);
7252      window.addEventListener('scroll', refresh, true);
7253      var observer;
7254      var observeElement = __unstableAllowVerticalSubpixelPosition || __unstableAllowHorizontalSubpixelPosition;
7255  
7256      if (observeElement) {
7257        observer = new window.MutationObserver(function () {
7258          return refresh({
7259            subpixels: true
7260          });
7261        });
7262        observer.observe(observeElement, {
7263          attributes: true
7264        });
7265      }
7266  
7267      return function () {
7268        window.clearTimeout(timeoutId);
7269        window.clearInterval(intervalHandle);
7270        window.removeEventListener('resize', refresh);
7271        window.removeEventListener('scroll', refresh, true);
7272        window.removeEventListener('click', refreshOnAnimationFrame);
7273        window.cancelAnimationFrame(rafId);
7274  
7275        if (observer) {
7276          observer.disconnect();
7277        }
7278      };
7279    }, [isExpanded, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding, position, __unstableSticky, __unstableAllowVerticalSubpixelPosition, __unstableAllowHorizontalSubpixelPosition]);
7280    useFocusContentOnMount(focusOnMount, contentRef); // Event handlers
7281  
7282    var maybeClose = function maybeClose(event) {
7283      // Close on escape
7284      if (event.keyCode === external_this_wp_keycodes_["ESCAPE"] && onClose) {
7285        event.stopPropagation();
7286        onClose();
7287      } // Preserve original content prop behavior
7288  
7289  
7290      if (onKeyDown) {
7291        onKeyDown(event);
7292      }
7293    };
7294    /**
7295     * Shims an onFocusOutside callback to be compatible with a deprecated
7296     * onClickOutside prop function, if provided.
7297     *
7298     * @param {FocusEvent} event Focus event from onFocusOutside.
7299     */
7300  
7301  
7302    function handleOnFocusOutside(event) {
7303      // Defer to given `onFocusOutside` if specified. Call `onClose` only if
7304      // both `onFocusOutside` and `onClickOutside` are unspecified. Doing so
7305      // assures backwards-compatibility for prior `onClickOutside` default.
7306      if (onFocusOutside) {
7307        onFocusOutside(event);
7308        return;
7309      } else if (!onClickOutside) {
7310        if (onClose) {
7311          onClose();
7312        }
7313  
7314        return;
7315      } // Simulate MouseEvent using FocusEvent#relatedTarget as emulated click
7316      // target. MouseEvent constructor is unsupported in Internet Explorer.
7317  
7318  
7319      var clickEvent;
7320  
7321      try {
7322        clickEvent = new window.MouseEvent('click');
7323      } catch (error) {
7324        clickEvent = document.createEvent('MouseEvent');
7325        clickEvent.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
7326      }
7327  
7328      Object.defineProperty(clickEvent, 'target', {
7329        get: function get() {
7330          return event.relatedTarget;
7331        }
7332      });
7333      external_this_wp_deprecated_default()('Popover onClickOutside prop', {
7334        alternative: 'onFocusOutside'
7335      });
7336      onClickOutside(clickEvent);
7337    } // Disable reason: We care to capture the _bubbled_ events from inputs
7338    // within popover as inferring close intent.
7339  
7340  
7341    var content = Object(external_this_wp_element_["createElement"])(detect_outside, {
7342      onFocusOutside: handleOnFocusOutside
7343    }, Object(external_this_wp_element_["createElement"])(build_module_animate["a" /* default */], {
7344      type: animate && animateOrigin ? 'appear' : null,
7345      options: {
7346        origin: animateOrigin
7347      }
7348    }, function (_ref4) {
7349      var animateClassName = _ref4.className;
7350      return Object(external_this_wp_element_["createElement"])(isolated_event_container["a" /* default */], Object(esm_extends["a" /* default */])({
7351        className: classnames_default()('components-popover', className, animateClassName, {
7352          'is-expanded': isExpanded,
7353          'is-without-arrow': noArrow
7354        })
7355      }, contentProps, {
7356        onKeyDown: maybeClose,
7357        ref: containerRef
7358      }), isExpanded && Object(external_this_wp_element_["createElement"])(scroll_lock["a" /* default */], null), isExpanded && Object(external_this_wp_element_["createElement"])("div", {
7359        className: "components-popover__header"
7360      }, Object(external_this_wp_element_["createElement"])("span", {
7361        className: "components-popover__header-title"
7362      }, headerTitle), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
7363        className: "components-popover__close",
7364        icon: library_close["a" /* default */],
7365        onClick: onClose
7366      })), Object(external_this_wp_element_["createElement"])("div", {
7367        ref: contentRef,
7368        className: "components-popover__content",
7369        tabIndex: "-1"
7370      }, children));
7371    })); // Apply focus to element as long as focusOnMount is truthy; false is
7372    // the only "disabled" value.
7373  
7374    if (focusOnMount) {
7375      content = Object(external_this_wp_element_["createElement"])(FocusManaged, null, content);
7376    }
7377  
7378    if (slot.ref) {
7379      content = Object(external_this_wp_element_["createElement"])(slot_fill["a" /* Fill */], {
7380        name: __unstableSlotName
7381      }, content);
7382    }
7383  
7384    if (anchorRef || anchorRect) {
7385      return content;
7386    }
7387  
7388    return Object(external_this_wp_element_["createElement"])("span", {
7389      ref: anchorRefFallback
7390    }, content);
7391  };
7392  
7393  var PopoverContainer = popover_Popover;
7394  
7395  PopoverContainer.Slot = function (_ref5) {
7396    var _ref5$name = _ref5.name,
7397        name = _ref5$name === void 0 ? SLOT_NAME : _ref5$name;
7398    return Object(external_this_wp_element_["createElement"])(slot_fill["b" /* Slot */], {
7399      bubblesVirtually: true,
7400      name: name
7401    });
7402  };
7403  
7404  /* harmony default export */ var popover = __webpack_exports__["a"] = (PopoverContainer);
7405  
7406  
7407  /***/ }),
7408  /* 92 */,
7409  /* 93 */
7410  /***/ (function(module, exports, __webpack_require__) {
7411  
7412  "use strict";
7413  
7414  
7415  var implementation = __webpack_require__(300);
7416  
7417  module.exports = Function.prototype.bind || implementation;
7418  
7419  
7420  /***/ }),
7421  /* 94 */
7422  /***/ (function(module, exports, __webpack_require__) {
7423  
7424  "use strict";
7425  
7426  
7427  Object.defineProperty(exports, "__esModule", {
7428    value: true
7429  });
7430  
7431  var _propTypes = __webpack_require__(26);
7432  
7433  var _propTypes2 = _interopRequireDefault(_propTypes);
7434  
7435  var _constants = __webpack_require__(47);
7436  
7437  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
7438  
7439  exports['default'] = _propTypes2['default'].oneOf(_constants.WEEKDAYS);
7440  
7441  /***/ }),
7442  /* 95 */
7443  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7444  
7445  "use strict";
7446  
7447  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
7448  var esm_extends = __webpack_require__(12);
7449  
7450  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
7451  var objectWithoutProperties = __webpack_require__(19);
7452  
7453  // EXTERNAL MODULE: external {"this":["wp","element"]}
7454  var external_this_wp_element_ = __webpack_require__(0);
7455  
7456  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
7457  var classCallCheck = __webpack_require__(14);
7458  
7459  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
7460  var createClass = __webpack_require__(13);
7461  
7462  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
7463  var possibleConstructorReturn = __webpack_require__(15);
7464  
7465  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
7466  var getPrototypeOf = __webpack_require__(16);
7467  
7468  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
7469  var assertThisInitialized = __webpack_require__(7);
7470  
7471  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
7472  var inherits = __webpack_require__(17);
7473  
7474  // EXTERNAL MODULE: external {"this":"lodash"}
7475  var external_this_lodash_ = __webpack_require__(2);
7476  
7477  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/context.js + 1 modules
7478  var context = __webpack_require__(98);
7479  
7480  // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/slot.js
7481  
7482  
7483  
7484  
7485  
7486  
7487  
7488  
7489  
7490  /**
7491   * External dependencies
7492   */
7493  
7494  /**
7495   * WordPress dependencies
7496   */
7497  
7498  
7499  /**
7500   * Internal dependencies
7501   */
7502  
7503  
7504  
7505  var slot_SlotComponent =
7506  /*#__PURE__*/
7507  function (_Component) {
7508    Object(inherits["a" /* default */])(SlotComponent, _Component);
7509  
7510    function SlotComponent() {
7511      var _this;
7512  
7513      Object(classCallCheck["a" /* default */])(this, SlotComponent);
7514  
7515      _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(SlotComponent).apply(this, arguments));
7516      _this.bindNode = _this.bindNode.bind(Object(assertThisInitialized["a" /* default */])(_this));
7517      return _this;
7518    }
7519  
7520    Object(createClass["a" /* default */])(SlotComponent, [{
7521      key: "componentDidMount",
7522      value: function componentDidMount() {
7523        var registerSlot = this.props.registerSlot;
7524        registerSlot(this.props.name, this);
7525      }
7526    }, {
7527      key: "componentWillUnmount",
7528      value: function componentWillUnmount() {
7529        var unregisterSlot = this.props.unregisterSlot;
7530        unregisterSlot(this.props.name, this);
7531      }
7532    }, {
7533      key: "componentDidUpdate",
7534      value: function componentDidUpdate(prevProps) {
7535        var _this$props = this.props,
7536            name = _this$props.name,
7537            unregisterSlot = _this$props.unregisterSlot,
7538            registerSlot = _this$props.registerSlot;
7539  
7540        if (prevProps.name !== name) {
7541          unregisterSlot(prevProps.name);
7542          registerSlot(name, this);
7543        }
7544      }
7545    }, {
7546      key: "bindNode",
7547      value: function bindNode(node) {
7548        this.node = node;
7549      }
7550    }, {
7551      key: "render",
7552      value: function render() {
7553        var _this$props2 = this.props,
7554            children = _this$props2.children,
7555            name = _this$props2.name,
7556            _this$props2$fillProp = _this$props2.fillProps,
7557            fillProps = _this$props2$fillProp === void 0 ? {} : _this$props2$fillProp,
7558            getFills = _this$props2.getFills;
7559        var fills = Object(external_this_lodash_["map"])(getFills(name, this), function (fill) {
7560          var fillKey = fill.occurrence;
7561          var fillChildren = Object(external_this_lodash_["isFunction"])(fill.children) ? fill.children(fillProps) : fill.children;
7562          return external_this_wp_element_["Children"].map(fillChildren, function (child, childIndex) {
7563            if (!child || Object(external_this_lodash_["isString"])(child)) {
7564              return child;
7565            }
7566  
7567            var childKey = "".concat(fillKey, "---").concat(child.key || childIndex);
7568            return Object(external_this_wp_element_["cloneElement"])(child, {
7569              key: childKey
7570            });
7571          });
7572        }).filter( // In some cases fills are rendered only when some conditions apply.
7573        // This ensures that we only use non-empty fills when rendering, i.e.,
7574        // it allows us to render wrappers only when the fills are actually present.
7575        Object(external_this_lodash_["negate"])(external_this_wp_element_["isEmptyElement"]));
7576        return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_lodash_["isFunction"])(children) ? children(fills) : fills);
7577      }
7578    }]);
7579  
7580    return SlotComponent;
7581  }(external_this_wp_element_["Component"]);
7582  
7583  var slot_Slot = function Slot(props) {
7584    return Object(external_this_wp_element_["createElement"])(context["a" /* Consumer */], null, function (_ref) {
7585      var registerSlot = _ref.registerSlot,
7586          unregisterSlot = _ref.unregisterSlot,
7587          getFills = _ref.getFills;
7588      return Object(external_this_wp_element_["createElement"])(slot_SlotComponent, Object(esm_extends["a" /* default */])({}, props, {
7589        registerSlot: registerSlot,
7590        unregisterSlot: unregisterSlot,
7591        getFills: getFills
7592      }));
7593    });
7594  };
7595  
7596  /* harmony default export */ var slot_fill_slot = (slot_Slot);
7597  
7598  // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/fill.js
7599  
7600  
7601  
7602  /**
7603   * External dependencies
7604   */
7605  
7606  /**
7607   * WordPress dependencies
7608   */
7609  
7610  
7611  /**
7612   * Internal dependencies
7613   */
7614  
7615  
7616  var occurrences = 0;
7617  
7618  function fill_FillComponent(_ref) {
7619    var name = _ref.name,
7620        children = _ref.children,
7621        registerFill = _ref.registerFill,
7622        unregisterFill = _ref.unregisterFill;
7623    var slot = Object(context["c" /* useSlot */])(name);
7624    var ref = Object(external_this_wp_element_["useRef"])({
7625      name: name,
7626      children: children
7627    });
7628  
7629    if (!ref.current.occurrence) {
7630      ref.current.occurrence = ++occurrences;
7631    }
7632  
7633    Object(external_this_wp_element_["useLayoutEffect"])(function () {
7634      registerFill(name, ref.current);
7635      return function () {
7636        return unregisterFill(name, ref.current);
7637      };
7638    }, []);
7639    Object(external_this_wp_element_["useLayoutEffect"])(function () {
7640      ref.current.children = children;
7641  
7642      if (slot) {
7643        slot.forceUpdate();
7644      }
7645    }, [children]);
7646    Object(external_this_wp_element_["useLayoutEffect"])(function () {
7647      if (name === ref.current.name) {
7648        // ignore initial effect
7649        return;
7650      }
7651  
7652      unregisterFill(ref.current.name, ref.current);
7653      ref.current.name = name;
7654      registerFill(name, ref.current);
7655    }, [name]);
7656  
7657    if (!slot || !slot.node) {
7658      return null;
7659    } // If a function is passed as a child, provide it with the fillProps.
7660  
7661  
7662    if (Object(external_this_lodash_["isFunction"])(children)) {
7663      children = children(slot.props.fillProps);
7664    }
7665  
7666    return Object(external_this_wp_element_["createPortal"])(children, slot.node);
7667  }
7668  
7669  var fill_Fill = function Fill(props) {
7670    return Object(external_this_wp_element_["createElement"])(context["a" /* Consumer */], null, function (_ref2) {
7671      var registerFill = _ref2.registerFill,
7672          unregisterFill = _ref2.unregisterFill;
7673      return Object(external_this_wp_element_["createElement"])(fill_FillComponent, Object(esm_extends["a" /* default */])({}, props, {
7674        registerFill: registerFill,
7675        unregisterFill: unregisterFill
7676      }));
7677    });
7678  };
7679  
7680  /* harmony default export */ var slot_fill_fill = (fill_Fill);
7681  
7682  // EXTERNAL MODULE: external {"this":["wp","isShallowEqual"]}
7683  var external_this_wp_isShallowEqual_ = __webpack_require__(51);
7684  var external_this_wp_isShallowEqual_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_isShallowEqual_);
7685  
7686  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot-fill-context.js
7687  var slot_fill_context = __webpack_require__(114);
7688  
7689  // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/use-slot.js
7690  var use_slot = __webpack_require__(108);
7691  
7692  // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot.js
7693  
7694  
7695  
7696  
7697  /**
7698   * WordPress dependencies
7699   */
7700  
7701  
7702  /**
7703   * Internal dependencies
7704   */
7705  
7706  
7707  
7708  function bubbles_virtually_slot_Slot(_ref) {
7709    var name = _ref.name,
7710        _ref$fillProps = _ref.fillProps,
7711        fillProps = _ref$fillProps === void 0 ? {} : _ref$fillProps,
7712        _ref$as = _ref.as,
7713        Component = _ref$as === void 0 ? 'div' : _ref$as,
7714        props = Object(objectWithoutProperties["a" /* default */])(_ref, ["name", "fillProps", "as"]);
7715  
7716    var registry = Object(external_this_wp_element_["useContext"])(slot_fill_context["a" /* default */]);
7717    var ref = Object(external_this_wp_element_["useRef"])();
7718    var slot = Object(use_slot["a" /* default */])(name);
7719    Object(external_this_wp_element_["useLayoutEffect"])(function () {
7720      registry.registerSlot(name, ref, fillProps);
7721      return function () {
7722        registry.unregisterSlot(name, ref);
7723      }; // We are not including fillProps in the deps because we don't want to
7724      // unregister and register the slot whenever fillProps change, which would
7725      // cause the fill to be re-mounted. We are only considering the initial value
7726      // of fillProps.
7727    }, [registry.registerSlot, registry.unregisterSlot, name]); // fillProps may be an update that interact with the layout, so
7728    // we useLayoutEffect
7729  
7730    Object(external_this_wp_element_["useLayoutEffect"])(function () {
7731      if (slot.fillProps && !external_this_wp_isShallowEqual_default()(slot.fillProps, fillProps)) {
7732        registry.updateSlot(name, ref, fillProps);
7733      }
7734    });
7735    return Object(external_this_wp_element_["createElement"])(Component, Object(esm_extends["a" /* default */])({
7736      ref: ref
7737    }, props));
7738  }
7739  
7740  // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/fill.js
7741  /**
7742   * WordPress dependencies
7743   */
7744  
7745  /**
7746   * Internal dependencies
7747   */
7748  
7749  
7750  function bubbles_virtually_fill_Fill(_ref) {
7751    var name = _ref.name,
7752        children = _ref.children;
7753    var slot = Object(use_slot["a" /* default */])(name);
7754    var ref = Object(external_this_wp_element_["useRef"])();
7755    Object(external_this_wp_element_["useEffect"])(function () {
7756      // We register fills so we can keep track of their existance.
7757      // Some Slot implementations need to know if there're already fills
7758      // registered so they can choose to render themselves or not.
7759      slot.registerFill(ref);
7760      return function () {
7761        slot.unregisterFill(ref);
7762      };
7763    }, [slot.registerFill, slot.unregisterFill]);
7764  
7765    if (!slot.ref || !slot.ref.current) {
7766      return null;
7767    }
7768  
7769    if (typeof children === 'function') {
7770      children = children(slot.fillProps);
7771    }
7772  
7773    return Object(external_this_wp_element_["createPortal"])(children, slot.ref.current);
7774  }
7775  
7776  // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/index.js
7777  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return slot_fill_Slot; });
7778  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return slot_fill_Fill; });
7779  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return createSlotFill; });
7780  /* unused concated harmony import useSlot */
7781  /* unused concated harmony import Provider */
7782  
7783  
7784  
7785  
7786  /**
7787   * Internal dependencies
7788   */
7789  
7790  
7791  
7792  
7793  
7794  
7795  function slot_fill_Slot(_ref) {
7796    var bubblesVirtually = _ref.bubblesVirtually,
7797        props = Object(objectWithoutProperties["a" /* default */])(_ref, ["bubblesVirtually"]);
7798  
7799    if (bubblesVirtually) {
7800      return Object(external_this_wp_element_["createElement"])(bubbles_virtually_slot_Slot, props);
7801    }
7802  
7803    return Object(external_this_wp_element_["createElement"])(slot_fill_slot, props);
7804  }
7805  function slot_fill_Fill(props) {
7806    // We're adding both Fills here so they can register themselves before
7807    // their respective slot has been registered. Only the Fill that has a slot
7808    // will render. The other one will return null.
7809    return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(slot_fill_fill, props), Object(external_this_wp_element_["createElement"])(bubbles_virtually_fill_Fill, props));
7810  }
7811  function createSlotFill(name) {
7812    var FillComponent = function FillComponent(props) {
7813      return Object(external_this_wp_element_["createElement"])(slot_fill_Fill, Object(esm_extends["a" /* default */])({
7814        name: name
7815      }, props));
7816    };
7817  
7818    FillComponent.displayName = name + 'Fill';
7819  
7820    var SlotComponent = function SlotComponent(props) {
7821      return Object(external_this_wp_element_["createElement"])(slot_fill_Slot, Object(esm_extends["a" /* default */])({
7822        name: name
7823      }, props));
7824    };
7825  
7826    SlotComponent.displayName = name + 'Slot';
7827    return {
7828      Fill: FillComponent,
7829      Slot: SlotComponent
7830    };
7831  }
7832  
7833  
7834  
7835  /***/ }),
7836  /* 96 */
7837  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7838  
7839  "use strict";
7840  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Dashicon; });
7841  /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12);
7842  /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
7843  /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14);
7844  /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13);
7845  /* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(15);
7846  /* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16);
7847  /* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17);
7848  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
7849  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
7850  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9);
7851  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_8__);
7852  
7853  
7854  
7855  
7856  
7857  
7858  
7859  
7860  
7861  /* !!!
7862  IF YOU ARE EDITING dashicon/index.jsx
7863  THEN YOU ARE EDITING A FILE THAT GETS OUTPUT FROM THE DASHICONS REPO!
7864  DO NOT EDIT THAT FILE! EDIT index-header.jsx and index-footer.jsx instead
7865  OR if you're looking to change now SVGs get output, you'll need to edit strings in the Gruntfile :)
7866  !!! */
7867  
7868  /**
7869   * WordPress dependencies
7870   */
7871  
7872  
7873  
7874  var Dashicon =
7875  /*#__PURE__*/
7876  function (_Component) {
7877    Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(Dashicon, _Component);
7878  
7879    function Dashicon() {
7880      Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(this, Dashicon);
7881  
7882      return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(Dashicon).apply(this, arguments));
7883    }
7884  
7885    Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Dashicon, [{
7886      key: "render",
7887      value: function render() {
7888        var _this$props = this.props,
7889            icon = _this$props.icon,
7890            _this$props$size = _this$props.size,
7891            size = _this$props$size === void 0 ? 20 : _this$props$size,
7892            className = _this$props.className,
7893            extraProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_this$props, ["icon", "size", "className"]);
7894  
7895        var path;
7896  
7897        switch (icon) {
7898          case 'admin-appearance':
7899            path = 'M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z';
7900            break;
7901  
7902          case 'admin-collapse':
7903            path = 'M10 2.16c4.33 0 7.84 3.51 7.84 7.84s-3.51 7.84-7.84 7.84S2.16 14.33 2.16 10 5.71 2.16 10 2.16zm2 11.72V6.12L6.18 9.97z';
7904            break;
7905  
7906          case 'admin-comments':
7907            path = 'M5 2h9c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2z';
7908            break;
7909  
7910          case 'admin-customizer':
7911            path = 'M18.33 3.57s.27-.8-.31-1.36c-.53-.52-1.22-.24-1.22-.24-.61.3-5.76 3.47-7.67 5.57-.86.96-2.06 3.79-1.09 4.82.92.98 3.96-.17 4.79-1 2.06-2.06 5.21-7.17 5.5-7.79zM1.4 17.65c2.37-1.56 1.46-3.41 3.23-4.64.93-.65 2.22-.62 3.08.29.63.67.8 2.57-.16 3.46-1.57 1.45-4 1.55-6.15.89z';
7912            break;
7913  
7914          case 'admin-generic':
7915            path = 'M18 12h-2.18c-.17.7-.44 1.35-.81 1.93l1.54 1.54-2.1 2.1-1.54-1.54c-.58.36-1.23.63-1.91.79V19H8v-2.18c-.68-.16-1.33-.43-1.91-.79l-1.54 1.54-2.12-2.12 1.54-1.54c-.36-.58-.63-1.23-.79-1.91H1V9.03h2.17c.16-.7.44-1.35.8-1.94L2.43 5.55l2.1-2.1 1.54 1.54c.58-.37 1.24-.64 1.93-.81V2h3v2.18c.68.16 1.33.43 1.91.79l1.54-1.54 2.12 2.12-1.54 1.54c.36.59.64 1.24.8 1.94H18V12zm-8.5 1.5c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3z';
7916            break;
7917  
7918          case 'admin-home':
7919            path = 'M16 8.5l1.53 1.53-1.06 1.06L10 4.62l-6.47 6.47-1.06-1.06L10 2.5l4 4v-2h2v4zm-6-2.46l6 5.99V18H4v-5.97zM12 17v-5H8v5h4z';
7920            break;
7921  
7922          case 'admin-links':
7923            path = 'M17.74 2.76c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-1.12 1.12-2.7 1.47-4.14 1.09l2.62-2.61.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-3.38 3.38c-.37-1.44-.02-3.02 1.1-4.14l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM8.59 13.43l5.34-5.34c.42-.42.42-1.1 0-1.52-.44-.43-1.13-.39-1.53 0l-5.33 5.34c-.42.42-.42 1.1 0 1.52.44.43 1.13.39 1.52 0zm-.76 2.29l4.14-4.15c.38 1.44.03 3.02-1.09 4.14l-1.52 1.53c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.53-1.52c1.12-1.12 2.7-1.47 4.14-1.1l-4.14 4.15c-.85.84-.85 2.2 0 3.05.84.84 2.2.84 3.04 0z';
7924            break;
7925  
7926          case 'admin-media':
7927            path = 'M13 11V4c0-.55-.45-1-1-1h-1.67L9 1H5L3.67 3H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h10c.55 0 1-.45 1-1zM7 4.5c1.38 0 2.5 1.12 2.5 2.5S8.38 9.5 7 9.5 4.5 8.38 4.5 7 5.62 4.5 7 4.5zM14 6h5v10.5c0 1.38-1.12 2.5-2.5 2.5S14 17.88 14 16.5s1.12-2.5 2.5-2.5c.17 0 .34.02.5.05V9h-3V6zm-4 8.05V13h2v3.5c0 1.38-1.12 2.5-2.5 2.5S7 17.88 7 16.5 8.12 14 9.5 14c.17 0 .34.02.5.05z';
7928            break;
7929  
7930          case 'admin-multisite':
7931            path = 'M14.27 6.87L10 3.14 5.73 6.87 5 6.14l5-4.38 5 4.38zM14 8.42l-4.05 3.43L6 8.38v-.74l4-3.5 4 3.5v.78zM11 9.7V8H9v1.7h2zm-1.73 4.03L5 10 .73 13.73 0 13l5-4.38L10 13zm10 0L15 10l-4.27 3.73L10 13l5-4.38L20 13zM5 11l4 3.5V18H1v-3.5zm10 0l4 3.5V18h-8v-3.5zm-9 6v-2H4v2h2zm10 0v-2h-2v2h2z';
7932            break;
7933  
7934          case 'admin-network':
7935            path = 'M16.95 2.58c1.96 1.95 1.96 5.12 0 7.07-1.51 1.51-3.75 1.84-5.59 1.01l-1.87 3.31-2.99.31L5 18H2l-1-2 7.95-7.69c-.92-1.87-.62-4.18.93-5.73 1.95-1.96 5.12-1.96 7.07 0zm-2.51 3.79c.74 0 1.33-.6 1.33-1.34 0-.73-.59-1.33-1.33-1.33-.73 0-1.33.6-1.33 1.33 0 .74.6 1.34 1.33 1.34z';
7936            break;
7937  
7938          case 'admin-page':
7939            path = 'M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z';
7940            break;
7941  
7942          case 'admin-plugins':
7943            path = 'M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z';
7944            break;
7945  
7946          case 'admin-post':
7947            path = 'M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z';
7948            break;
7949  
7950          case 'admin-settings':
7951            path = 'M18 16V4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h13c.55 0 1-.45 1-1zM8 11h1c.55 0 1 .45 1 1s-.45 1-1 1H8v1.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V13H6c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V11zm5-2h-1c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V7h1c.55 0 1 .45 1 1s-.45 1-1 1h-1v5.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V9z';
7952            break;
7953  
7954          case 'admin-site-alt':
7955            path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm7.5 6.48c-.274.896-.908 1.64-1.75 2.05-.45-1.69-1.658-3.074-3.27-3.75.13-.444.41-.83.79-1.09-.43-.28-1-.42-1.34.07-.53.69 0 1.61.21 2v.14c-.555-.337-.99-.84-1.24-1.44-.966-.03-1.922.208-2.76.69-.087-.565-.032-1.142.16-1.68.733.07 1.453-.23 1.92-.8.46-.52-.13-1.18-.59-1.58h.36c1.36-.01 2.702.335 3.89 1 1.36 1.005 2.194 2.57 2.27 4.26.24 0 .7-.55.91-.92.172.34.32.69.44 1.05zM9 16.84c-2.05-2.08.25-3.75-1-5.24-.92-.85-2.29-.26-3.11-1.23-.282-1.473.267-2.982 1.43-3.93.52-.44 4-1 5.42.22.83.715 1.415 1.674 1.67 2.74.46.035.918-.066 1.32-.29.41 2.98-3.15 6.74-5.73 7.73zM5.15 2.09c.786-.3 1.676-.028 2.16.66-.42.38-.94.63-1.5.72.02-.294.085-.584.19-.86l-.85-.52z';
7956            break;
7957  
7958          case 'admin-site-alt2':
7959            path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm2.92 12.34c0 .35.14.63.36.66.22.03.47-.22.58-.6l.2.08c.718.384 1.07 1.22.84 2-.15.69-.743 1.198-1.45 1.24-.49-1.21-2.11.06-3.56-.22-.612-.154-1.11-.6-1.33-1.19 1.19-.11 2.85-1.73 4.36-1.97zM8 11.27c.918 0 1.695-.68 1.82-1.59.44.54.41 1.324-.07 1.83-.255.223-.594.325-.93.28-.335-.047-.635-.236-.82-.52zm3-.76c.41.39 3-.06 3.52 1.09-.95-.2-2.95.61-3.47-1.08l-.05-.01zM9.73 5.45v.27c-.65-.77-1.33-1.07-1.61-.57-.28.5 1 1.11.76 1.88-.24.77-1.27.56-1.88 1.61-.61 1.05-.49 2.42 1.24 3.67-1.192-.132-2.19-.962-2.54-2.11-.4-1.2-.09-2.26-.78-2.46C4 7.46 3 8.71 3 9.8c-1.26-1.26.05-2.86-1.2-4.18C3.5 1.998 7.644.223 11.44 1.49c-1.1 1.02-1.722 2.458-1.71 3.96z';
7960            break;
7961  
7962          case 'admin-site-alt3':
7963            path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z';
7964            break;
7965  
7966          case 'admin-site':
7967            path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm3.46 11.95c0 1.47-.8 3.3-4.06 4.7.3-4.17-2.52-3.69-3.2-5 .126-1.1.804-2.063 1.8-2.55-1.552-.266-3-.96-4.18-2 .05.47.28.904.64 1.21-.782-.295-1.458-.817-1.94-1.5.977-3.225 3.883-5.482 7.25-5.63-.84 1.38-1.5 4.13 0 5.57C7.23 7 6.26 5 5.41 5.79c-1.13 1.06.33 2.51 3.42 3.08 3.29.59 3.66 1.58 3.63 3.08zm1.34-4c-.32-1.11.62-2.23 1.69-3.14 1.356 1.955 1.67 4.45.84 6.68-.77-1.89-2.17-2.32-2.53-3.57v.03z';
7968            break;
7969  
7970          case 'admin-tools':
7971            path = 'M16.68 9.77c-1.34 1.34-3.3 1.67-4.95.99l-5.41 6.52c-.99.99-2.59.99-3.58 0s-.99-2.59 0-3.57l6.52-5.42c-.68-1.65-.35-3.61.99-4.95 1.28-1.28 3.12-1.62 4.72-1.06l-2.89 2.89 2.82 2.82 2.86-2.87c.53 1.58.18 3.39-1.08 4.65zM3.81 16.21c.4.39 1.04.39 1.43 0 .4-.4.4-1.04 0-1.43-.39-.4-1.03-.4-1.43 0-.39.39-.39 1.03 0 1.43z';
7972            break;
7973  
7974          case 'admin-users':
7975            path = 'M10 9.25c-2.27 0-2.73-3.44-2.73-3.44C7 4.02 7.82 2 9.97 2c2.16 0 2.98 2.02 2.71 3.81 0 0-.41 3.44-2.68 3.44zm0 2.57L12.72 10c2.39 0 4.52 2.33 4.52 4.53v2.49s-3.65 1.13-7.24 1.13c-3.65 0-7.24-1.13-7.24-1.13v-2.49c0-2.25 1.94-4.48 4.47-4.48z';
7976            break;
7977  
7978          case 'album':
7979            path = 'M0 18h10v-.26c1.52.4 3.17.35 4.76-.24 4.14-1.52 6.27-6.12 4.75-10.26-1.43-3.89-5.58-6-9.51-4.98V2H0v16zM9 3v14H1V3h8zm5.45 8.22c-.68 1.35-2.32 1.9-3.67 1.23-.31-.15-.57-.35-.78-.59V8.13c.8-.86 2.11-1.13 3.22-.58 1.35.68 1.9 2.32 1.23 3.67zm-2.75-.82c.22.16.53.12.7-.1.16-.22.12-.53-.1-.7s-.53-.12-.7.1c-.16.21-.12.53.1.7zm3.01 3.67c-1.17.78-2.56.99-3.83.69-.27-.06-.44-.34-.37-.61s.34-.43.62-.36l.17.04c.96.17 1.98-.01 2.86-.59.47-.32.86-.72 1.14-1.18.15-.23.45-.3.69-.16.23.15.3.46.16.69-.36.57-.84 1.08-1.44 1.48zm1.05 1.57c-1.48.99-3.21 1.32-4.84 1.06-.28-.05-.47-.32-.41-.6.05-.27.32-.45.61-.39l.22.04c1.31.15 2.68-.14 3.87-.94.71-.47 1.27-1.07 1.7-1.74.14-.24.45-.31.68-.16.24.14.31.45.16.69-.49.79-1.16 1.49-1.99 2.04z';
7980            break;
7981  
7982          case 'align-center':
7983            path = 'M3 5h14V3H3v2zm12 8V7H5v6h10zM3 17h14v-2H3v2z';
7984            break;
7985  
7986          case 'align-full-width':
7987            path = 'M17 13V3H3v10h14zM5 17h10v-2H5v2z';
7988            break;
7989  
7990          case 'align-left':
7991            path = 'M3 5h14V3H3v2zm9 8V7H3v6h9zm2-4h3V7h-3v2zm0 4h3v-2h-3v2zM3 17h14v-2H3v2z';
7992            break;
7993  
7994          case 'align-none':
7995            path = 'M3 5h14V3H3v2zm10 8V7H3v6h10zM3 17h14v-2H3v2z';
7996            break;
7997  
7998          case 'align-pull-left':
7999            path = 'M9 16V4H3v12h6zm2-7h6V7h-6v2zm0 4h6v-2h-6v2z';
8000            break;
8001  
8002          case 'align-pull-right':
8003            path = 'M17 16V4h-6v12h6zM9 7H3v2h6V7zm0 4H3v2h6v-2z';
8004            break;
8005  
8006          case 'align-right':
8007            path = 'M3 5h14V3H3v2zm0 4h3V7H3v2zm14 4V7H8v6h9zM3 13h3v-2H3v2zm0 4h14v-2H3v2z';
8008            break;
8009  
8010          case 'align-wide':
8011            path = 'M5 5h10V3H5v2zm12 8V7H3v6h14zM5 17h10v-2H5v2z';
8012            break;
8013  
8014          case 'analytics':
8015            path = 'M18 18V2H2v16h16zM16 5H4V4h12v1zM7 7v3h3c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3zm1 2V7c1.1 0 2 .9 2 2H8zm8-1h-4V7h4v1zm0 3h-4V9h4v2zm0 2h-4v-1h4v1zm0 3H4v-1h12v1z';
8016            break;
8017  
8018          case 'archive':
8019            path = 'M19 4v2H1V4h18zM2 7h16v10H2V7zm11 3V9H7v1h6z';
8020            break;
8021  
8022          case 'arrow-down-alt':
8023            path = 'M9 2h2v12l4-4 2 1-7 7-7-7 2-1 4 4V2z';
8024            break;
8025  
8026          case 'arrow-down-alt2':
8027            path = 'M5 6l5 5 5-5 2 1-7 7-7-7z';
8028            break;
8029  
8030          case 'arrow-down':
8031            path = 'M15 8l-4.03 6L7 8h8z';
8032            break;
8033  
8034          case 'arrow-left-alt':
8035            path = 'M18 9v2H6l4 4-1 2-7-7 7-7 1 2-4 4h12z';
8036            break;
8037  
8038          case 'arrow-left-alt2':
8039            path = 'M14 5l-5 5 5 5-1 2-7-7 7-7z';
8040            break;
8041  
8042          case 'arrow-left':
8043            path = 'M13 14L7 9.97 13 6v8z';
8044            break;
8045  
8046          case 'arrow-right-alt':
8047            path = 'M2 11V9h12l-4-4 1-2 7 7-7 7-1-2 4-4H2z';
8048            break;
8049  
8050          case 'arrow-right-alt2':
8051            path = 'M6 15l5-5-5-5 1-2 7 7-7 7z';
8052            break;
8053  
8054          case 'arrow-right':
8055            path = 'M8 6l6 4.03L8 14V6z';
8056            break;
8057  
8058          case 'arrow-up-alt':
8059            path = 'M11 18H9V6l-4 4-2-1 7-7 7 7-2 1-4-4v12z';
8060            break;
8061  
8062          case 'arrow-up-alt2':
8063            path = 'M15 14l-5-5-5 5-2-1 7-7 7 7z';
8064            break;
8065  
8066          case 'arrow-up':
8067            path = 'M7 13l4.03-6L15 13H7z';
8068            break;
8069  
8070          case 'art':
8071            path = 'M8.55 3.06c1.01.34-1.95 2.01-.1 3.13 1.04.63 3.31-2.22 4.45-2.86.97-.54 2.67-.65 3.53 1.23 1.09 2.38.14 8.57-3.79 11.06-3.97 2.5-8.97 1.23-10.7-2.66-2.01-4.53 3.12-11.09 6.61-9.9zm1.21 6.45c.73 1.64 4.7-.5 3.79-2.8-.59-1.49-4.48 1.25-3.79 2.8z';
8072            break;
8073  
8074          case 'awards':
8075            path = 'M4.46 5.16L5 7.46l-.54 2.29 2.01 1.24L7.7 13l2.3-.54 2.3.54 1.23-2.01 2.01-1.24L15 7.46l.54-2.3-2-1.24-1.24-2.01-2.3.55-2.29-.54-1.25 2zm5.55 6.34C7.79 11.5 6 9.71 6 7.49c0-2.2 1.79-3.99 4.01-3.99 2.2 0 3.99 1.79 3.99 3.99 0 2.22-1.79 4.01-3.99 4.01zm-.02-1C8.33 10.5 7 9.16 7 7.5c0-1.65 1.33-3 2.99-3S13 5.85 13 7.5c0 1.66-1.35 3-3.01 3zm3.84 1.1l-1.28 2.24-2.08-.47L13 19.2l1.4-2.2h2.5zm-7.7.07l1.25 2.25 2.13-.51L7 19.2 5.6 17H3.1z';
8076            break;
8077  
8078          case 'backup':
8079            path = 'M13.65 2.88c3.93 2.01 5.48 6.84 3.47 10.77s-6.83 5.48-10.77 3.47c-1.87-.96-3.2-2.56-3.86-4.4l1.64-1.03c.45 1.57 1.52 2.95 3.08 3.76 3.01 1.54 6.69.35 8.23-2.66 1.55-3.01.36-6.69-2.65-8.24C9.78 3.01 6.1 4.2 4.56 7.21l1.88.97-4.95 3.08-.39-5.82 1.78.91C4.9 2.4 9.75.89 13.65 2.88zm-4.36 7.83C9.11 10.53 9 10.28 9 10c0-.07.03-.12.04-.19h-.01L10 5l.97 4.81L14 13l-4.5-2.12.02-.02c-.08-.04-.16-.09-.23-.15z';
8080            break;
8081  
8082          case 'block-default':
8083            path = 'M15 6V4h-3v2H8V4H5v2H4c-.6 0-1 .4-1 1v8h14V7c0-.6-.4-1-1-1h-1z';
8084            break;
8085  
8086          case 'book-alt':
8087            path = 'M5 17h13v2H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h13v14H5c-.55 0-1 .45-1 1s.45 1 1 1zm2-3.5v-11c0-.28-.22-.5-.5-.5s-.5.22-.5.5v11c0 .28.22.5.5.5s.5-.22.5-.5z';
8088            break;
8089  
8090          case 'book':
8091            path = 'M16 3h2v16H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h9v14H5c-.55 0-1 .45-1 1s.45 1 1 1h11V3z';
8092            break;
8093  
8094          case 'buddicons-activity':
8095            path = 'M8 1v7h2V6c0-1.52 1.45-3 3-3v.86c.55-.52 1.26-.86 2-.86v3h1c1.1 0 2 .9 2 2s-.9 2-2 2h-1v6c0 .55-.45 1-1 1s-1-.45-1-1v-2.18c-.31.11-.65.18-1 .18v2c0 .55-.45 1-1 1s-1-.45-1-1v-2H8v2c0 .55-.45 1-1 1s-1-.45-1-1v-2c-.35 0-.69-.07-1-.18V16c0 .55-.45 1-1 1s-1-.45-1-1v-4H2v-1c0-1.66 1.34-3 3-3h2V1h1zm5 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1z';
8096            break;
8097  
8098          case 'buddicons-bbpress-logo':
8099            path = 'M8.5 12.6c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.3 1.7c-.3 1 .3 1.5 1 1.5 1.2 0 1.9-1.1 2.2-2.4zm-4-6.4C3.7 7.3 3.3 8.6 3.3 10c0 1 .2 1.9.6 2.8l1-4.6c.3-1.7.4-2-.4-2zm9.3 6.4c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.4 1.7c-.2 1.1.4 1.6 1.1 1.6 1.1-.1 1.9-1.2 2.2-2.5zM10 3.3c-2 0-3.9.9-5.1 2.3.6-.1 1.4-.2 1.8-.3.2 0 .2.1.2.2 0 .2-1 4.8-1 4.8.5-.3 1.2-.7 1.8-.7.9 0 1.5.4 1.9.9l.5-2.4c.4-1.6.4-1.9-.4-1.9-.4 0-.4-.5 0-.6.6-.1 1.8-.2 2.3-.3.2 0 .2.1.2.2l-1 4.8c.5-.4 1.2-.7 1.9-.7 1.7 0 2.5 1.3 2.1 3-.3 1.7-2 3-3.8 3-1.3 0-2.1-.7-2.3-1.4-.7.8-1.7 1.3-2.8 1.4 1.1.7 2.4 1.1 3.7 1.1 3.7 0 6.7-3 6.7-6.7s-3-6.7-6.7-6.7zM10 2c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 15.5c-2.1 0-4-.8-5.3-2.2-.3-.4-.7-.8-1-1.2-.7-1.2-1.2-2.6-1.2-4.1 0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5z';
8100            break;
8101  
8102          case 'buddicons-buddypress-logo':
8103            path = 'M10 0c5.52 0 10 4.48 10 10s-4.48 10-10 10S0 15.52 0 10 4.48 0 10 0zm0 .5C4.75.5.5 4.75.5 10s4.25 9.5 9.5 9.5 9.5-4.25 9.5-9.5S15.25.5 10 .5zm0 1c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5S5.3 1.5 10 1.5zm1.8 1.71c-.57 0-1.1.17-1.55.45 1.56.37 2.73 1.77 2.73 3.45 0 .69-.21 1.33-.55 1.87 1.31-.29 2.29-1.45 2.29-2.85 0-1.61-1.31-2.92-2.92-2.92zm-2.38 1c-1.61 0-2.92 1.31-2.92 2.93 0 1.61 1.31 2.92 2.92 2.92 1.62 0 2.93-1.31 2.93-2.92 0-1.62-1.31-2.93-2.93-2.93zm4.25 5.01l-.51.59c2.34.69 2.45 3.61 2.45 3.61h1.28c0-4.71-3.22-4.2-3.22-4.2zm-2.1.8l-2.12 2.09-2.12-2.09C3.12 10.24 3.89 15 3.89 15h11.08c.47-4.98-3.4-4.98-3.4-4.98z';
8104            break;
8105  
8106          case 'buddicons-community':
8107            path = 'M9 3c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zm4 0c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zM9 9V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 0V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 1c0-1.48-1.41-2.77-3.5-3.46V9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5V6.01c-.17 0-.33-.01-.5-.01s-.33.01-.5.01V9c0 .83-.67 1.5-1.5 1.5S6.5 9.83 6.5 9V6.54C4.41 7.23 3 8.52 3 10c0 1.41.95 2.65 3.21 3.37 1.11.35 2.39 1.12 3.79 1.12s2.69-.78 3.79-1.13C16.04 12.65 17 11.41 17 10zm-7 5.43c1.43 0 2.74-.79 3.88-1.11 1.9-.53 2.49-1.34 3.12-2.32v3c0 2.21-3.13 4-7 4s-7-1.79-7-4v-3c.64.99 1.32 1.8 3.15 2.33 1.13.33 2.44 1.1 3.85 1.1z';
8108            break;
8109  
8110          case 'buddicons-forums':
8111            path = 'M13.5 7h-7C5.67 7 5 6.33 5 5.5S5.67 4 6.5 4h1.59C8.04 3.84 8 3.68 8 3.5 8 2.67 8.67 2 9.5 2h1c.83 0 1.5.67 1.5 1.5 0 .18-.04.34-.09.5h1.59c.83 0 1.5.67 1.5 1.5S14.33 7 13.5 7zM4 8h12c.55 0 1 .45 1 1s-.45 1-1 1H4c-.55 0-1-.45-1-1s.45-1 1-1zm1 3h10c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1s.45-1 1-1zm2 3h6c.55 0 1 .45 1 1s-.45 1-1 1h-1.09c.05.16.09.32.09.5 0 .83-.67 1.5-1.5 1.5h-1c-.83 0-1.5-.67-1.5-1.5 0-.18.04-.34.09-.5H7c-.55 0-1-.45-1-1s.45-1 1-1z';
8112            break;
8113  
8114          case 'buddicons-friends':
8115            path = 'M8.75 5.77C8.75 4.39 7 2 7 2S5.25 4.39 5.25 5.77 5.9 7.5 7 7.5s1.75-.35 1.75-1.73zm6 0C14.75 4.39 13 2 13 2s-1.75 2.39-1.75 3.77S11.9 7.5 13 7.5s1.75-.35 1.75-1.73zM9 17V9c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm6 0V9c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-9-6l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2zm-6 3l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2z';
8116            break;
8117  
8118          case 'buddicons-groups':
8119            path = 'M15.45 6.25c1.83.94 1.98 3.18.7 4.98-.8 1.12-2.33 1.88-3.46 1.78L10.05 18H9l-2.65-4.99c-1.13.16-2.73-.63-3.55-1.79-1.28-1.8-1.13-4.04.71-4.97.48-.24.96-.33 1.43-.31-.01.4.01.8.07 1.21.26 1.69 1.41 3.53 2.86 4.37-.19.55-.49.99-.88 1.25L9 16.58v-5.66C7.64 10.55 6.26 8.76 6 7c-.4-2.65 1-5 3.5-5s3.9 2.35 3.5 5c-.26 1.76-1.64 3.55-3 3.92v5.77l2.07-3.84c-.44-.23-.77-.71-.99-1.3 1.48-.83 2.65-2.69 2.91-4.4.06-.41.08-.82.07-1.22.46-.01.92.08 1.39.32z';
8120            break;
8121  
8122          case 'buddicons-pm':
8123            path = 'M10 2c3 0 8 5 8 5v11H2V7s5-5 8-5zm7 14.72l-3.73-2.92L17 11l-.43-.37-2.26 1.3.24-4.31-8.77-.52-.46 4.54-1.99-.95L3 11l3.73 2.8-3.44 2.85.4.43L10 13l6.53 4.15z';
8124            break;
8125  
8126          case 'buddicons-replies':
8127            path = 'M17.54 10.29c1.17 1.17 1.17 3.08 0 4.25-1.18 1.17-3.08 1.17-4.25 0l-.34-.52c0 3.66-2 4.38-2.95 4.98-.82-.6-2.95-1.28-2.95-4.98l-.34.52c-1.17 1.17-3.07 1.17-4.25 0-1.17-1.17-1.17-3.08 0-4.25 0 0 1.02-.67 2.1-1.3C3.71 7.84 3.2 6.42 3.2 4.88c0-.34.03-.67.08-1C3.53 5.66 4.47 7.22 5.8 8.3c.67-.35 1.85-.83 2.37-.92H8c-1.1 0-2-.9-2-2s.9-2 2-2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5h2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5c1.1 0 2 .9 2 2s-.9 2-2 2h-.17c.51.09 1.78.61 2.38.92 1.33-1.08 2.27-2.64 2.52-4.42.05.33.08.66.08 1 0 1.54-.51 2.96-1.36 4.11 1.08.63 2.09 1.3 2.09 1.3zM8.5 6.38c.5 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm3-2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-2.3 5.73c-.12.11-.19.26-.19.43.02.25.23.46.49.46h1c.26 0 .47-.21.49-.46 0-.15-.07-.29-.19-.43-.08-.06-.18-.11-.3-.11h-1c-.12 0-.22.05-.3.11zM12 12.5c0-.12-.06-.28-.19-.38-.09-.07-.19-.12-.31-.12h-3c-.12 0-.22.05-.31.12-.11.1-.19.25-.19.38 0 .28.22.5.5.5h3c.28 0 .5-.22.5-.5zM8.5 15h3c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-3c-.28 0-.5.22-.5.5s.22.5.5.5zm1 2h1c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5s.22.5.5.5z';
8128            break;
8129  
8130          case 'buddicons-topics':
8131            path = 'M10.44 1.66c-.59-.58-1.54-.58-2.12 0L2.66 7.32c-.58.58-.58 1.53 0 2.12.6.6 1.56.56 2.12 0l5.66-5.66c.58-.58.59-1.53 0-2.12zm2.83 2.83c-.59-.59-1.54-.59-2.12 0l-5.66 5.66c-.59.58-.59 1.53 0 2.12.6.6 1.56.55 2.12 0l5.66-5.66c.58-.58.58-1.53 0-2.12zm1.06 6.72l4.18 4.18c.59.58.59 1.53 0 2.12s-1.54.59-2.12 0l-4.18-4.18-1.77 1.77c-.59.58-1.54.58-2.12 0-.59-.59-.59-1.54 0-2.13l5.66-5.65c.58-.59 1.53-.59 2.12 0 .58.58.58 1.53 0 2.12zM5 15c0-1.59-1.66-4-1.66-4S2 13.78 2 15s.6 2 1.34 2h.32C4.4 17 5 16.59 5 15z';
8132            break;
8133  
8134          case 'buddicons-tracking':
8135            path = 'M10.98 6.78L15.5 15c-1 2-3.5 3-5.5 3s-4.5-1-5.5-3L9 6.82c-.75-1.23-2.28-1.98-4.29-2.03l2.46-2.92c1.68 1.19 2.46 2.32 2.97 3.31.56-.87 1.2-1.68 2.7-2.12l1.83 2.86c-1.42-.34-2.64.08-3.69.86zM8.17 10.4l-.93 1.69c.49.11 1 .16 1.54.16 1.35 0 2.58-.36 3.55-.95l-1.01-1.82c-.87.53-1.96.86-3.15.92zm.86 5.38c1.99 0 3.73-.74 4.74-1.86l-.98-1.76c-1 1.12-2.74 1.87-4.74 1.87-.62 0-1.21-.08-1.76-.21l-.63 1.15c.94.5 2.1.81 3.37.81z';
8136            break;
8137  
8138          case 'building':
8139            path = 'M3 20h14V0H3v20zM7 3H5V1h2v2zm4 0H9V1h2v2zm4 0h-2V1h2v2zM7 6H5V4h2v2zm4 0H9V4h2v2zm4 0h-2V4h2v2zM7 9H5V7h2v2zm4 0H9V7h2v2zm4 0h-2V7h2v2zm-8 3H5v-2h2v2zm4 0H9v-2h2v2zm4 0h-2v-2h2v2zm-4 7H5v-6h6v6zm4-4h-2v-2h2v2zm0 3h-2v-2h2v2z';
8140            break;
8141  
8142          case 'businessman':
8143            path = 'M7.3 6l-.03-.19c-.04-.37-.05-.73-.03-1.08.02-.36.1-.71.25-1.04.14-.32.31-.61.52-.86s.49-.46.83-.6c.34-.15.72-.23 1.13-.23.69 0 1.26.2 1.71.59s.76.87.91 1.44.18 1.16.09 1.78l-.03.19c-.01.09-.05.25-.11.48-.05.24-.12.47-.2.69-.08.21-.19.45-.34.72-.14.27-.3.49-.47.69-.18.19-.4.34-.67.48-.27.13-.55.19-.86.19s-.59-.06-.87-.19c-.26-.13-.49-.29-.67-.5-.18-.2-.34-.42-.49-.66-.15-.25-.26-.49-.34-.73-.09-.25-.16-.47-.21-.67-.06-.21-.1-.37-.12-.5zm9.2 6.24c.41.7.5 1.41.5 2.14v2.49c0 .03-.12.08-.29.13-.18.04-.42.13-.97.27-.55.12-1.1.24-1.65.34s-1.19.19-1.95.27c-.75.08-1.46.12-2.13.12-.68 0-1.39-.04-2.14-.12-.75-.07-1.4-.17-1.98-.27-.58-.11-1.08-.23-1.56-.34-.49-.11-.8-.21-1.06-.29L3 16.87v-2.49c0-.75.07-1.46.46-2.15s.81-1.25 1.5-1.68C5.66 10.12 7.19 10 8 10l1.67 1.67L9 13v3l1.02 1.08L11 16v-3l-.68-1.33L11.97 10c.77 0 2.2.07 2.9.52.71.45 1.21 1.02 1.63 1.72z';
8144            break;
8145  
8146          case 'button':
8147            path = 'M17 5H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm1 7c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v5z';
8148            break;
8149  
8150          case 'calendar-alt':
8151            path = 'M15 4h3v15H2V4h3V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1h4V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1zM6 3v2.5c0 .14.05.26.15.36.09.09.21.14.35.14s.26-.05.35-.14c.1-.1.15-.22.15-.36V3c0-.14-.05-.26-.15-.35-.09-.1-.21-.15-.35-.15s-.26.05-.35.15c-.1.09-.15.21-.15.35zm7 0v2.5c0 .14.05.26.14.36.1.09.22.14.36.14s.26-.05.36-.14c.09-.1.14-.22.14-.36V3c0-.14-.05-.26-.14-.35-.1-.1-.22-.15-.36-.15s-.26.05-.36.15c-.09.09-.14.21-.14.35zm4 15V8H3v10h14zM7 9v2H5V9h2zm2 0h2v2H9V9zm4 2V9h2v2h-2zm-6 1v2H5v-2h2zm2 0h2v2H9v-2zm4 2v-2h2v2h-2zm-6 1v2H5v-2h2zm4 2H9v-2h2v2zm4 0h-2v-2h2v2z';
8152            break;
8153  
8154          case 'calendar':
8155            path = 'M15 4h3v14H2V4h3V3c0-.83.67-1.5 1.5-1.5S8 2.17 8 3v1h4V3c0-.83.67-1.5 1.5-1.5S15 2.17 15 3v1zM6 3v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5S6 2.72 6 3zm7 0v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5s-.5.22-.5.5zm4 14V8H3v9h14zM7 16V9H5v7h2zm4 0V9H9v7h2zm4 0V9h-2v7h2z';
8156            break;
8157  
8158          case 'camera':
8159            path = 'M6 5V3H3v2h3zm12 10V4H9L7 6H2v9h16zm-7-8c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z';
8160            break;
8161  
8162          case 'carrot':
8163            path = 'M2 18.43c1.51 1.36 11.64-4.67 13.14-7.21.72-1.22-.13-3.01-1.52-4.44C15.2 5.73 16.59 9 17.91 8.31c.6-.32.99-1.31.7-1.92-.52-1.08-2.25-1.08-3.42-1.21.83-.2 2.82-1.05 2.86-2.25.04-.92-1.13-1.97-2.05-1.86-1.21.14-1.65 1.88-2.06 3-.05-.71-.2-2.27-.98-2.95-1.04-.91-2.29-.05-2.32 1.05-.04 1.33 2.82 2.07 1.92 3.67C11.04 4.67 9.25 4.03 8.1 4.7c-.49.31-1.05.91-1.63 1.69.89.94 2.12 2.07 3.09 2.72.2.14.26.42.11.62-.14.21-.42.26-.62.12-.99-.67-2.2-1.78-3.1-2.71-.45.67-.91 1.43-1.34 2.23.85.86 1.93 1.83 2.79 2.41.2.14.25.42.11.62-.14.21-.42.26-.63.12-.85-.58-1.86-1.48-2.71-2.32C2.4 13.69 1.1 17.63 2 18.43z';
8164            break;
8165  
8166          case 'cart':
8167            path = 'M6 13h9c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1V4H2c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1v2h13l-4 7H6v1zm-.5 3c.83 0 1.5.67 1.5 1.5S6.33 19 5.5 19 4 18.33 4 17.5 4.67 16 5.5 16zm9 0c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5z';
8168            break;
8169  
8170          case 'category':
8171            path = 'M5 7h13v10H2V4h7l2 2H4v9h1V7z';
8172            break;
8173  
8174          case 'chart-area':
8175            path = 'M18 18l.01-12.28c.59-.35.99-.99.99-1.72 0-1.1-.9-2-2-2s-2 .9-2 2c0 .8.47 1.48 1.14 1.8l-4.13 6.58c-.33-.24-.73-.38-1.16-.38-.84 0-1.55.51-1.85 1.24l-2.14-1.53c.09-.22.14-.46.14-.71 0-1.11-.89-2-2-2-1.1 0-2 .89-2 2 0 .73.4 1.36.98 1.71L1 18h17zM17 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM5 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm5.85 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';
8176            break;
8177  
8178          case 'chart-bar':
8179            path = 'M18 18V2h-4v16h4zm-6 0V7H8v11h4zm-6 0v-8H2v8h4z';
8180            break;
8181  
8182          case 'chart-line':
8183            path = 'M18 3.5c0 .62-.38 1.16-.92 1.38v13.11H1.99l4.22-6.73c-.13-.23-.21-.48-.21-.76C6 9.67 6.67 9 7.5 9S9 9.67 9 10.5c0 .13-.02.25-.05.37l1.44.63c.27-.3.67-.5 1.11-.5.18 0 .35.04.51.09l3.58-6.41c-.36-.27-.59-.7-.59-1.18 0-.83.67-1.5 1.5-1.5.19 0 .36.04.53.1l.05-.09v.11c.54.22.92.76.92 1.38zm-1.92 13.49V5.85l-3.29 5.89c.13.23.21.48.21.76 0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5l.01-.07-1.63-.72c-.25.18-.55.29-.88.29-.18 0-.35-.04-.51-.1l-3.2 5.09h12.29z';
8184            break;
8185  
8186          case 'chart-pie':
8187            path = 'M10 10V3c3.87 0 7 3.13 7 7h-7zM9 4v7h7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7z';
8188            break;
8189  
8190          case 'clipboard':
8191            path = 'M11.9.39l1.4 1.4c1.61.19 3.5-.74 4.61.37s.18 3 .37 4.61l1.4 1.4c.39.39.39 1.02 0 1.41l-9.19 9.2c-.4.39-1.03.39-1.42 0L1.29 11c-.39-.39-.39-1.02 0-1.42l9.2-9.19c.39-.39 1.02-.39 1.41 0zm.58 2.25l-.58.58 4.95 4.95.58-.58c-.19-.6-.2-1.22-.15-1.82.02-.31.05-.62.09-.92.12-1 .18-1.63-.17-1.98s-.98-.29-1.98-.17c-.3.04-.61.07-.92.09-.6.05-1.22.04-1.82-.15zm4.02.93c.39.39.39 1.03 0 1.42s-1.03.39-1.42 0-.39-1.03 0-1.42 1.03-.39 1.42 0zm-6.72.36l-.71.7L15.44 11l.7-.71zM8.36 5.34l-.7.71 6.36 6.36.71-.7zM6.95 6.76l-.71.7 6.37 6.37.7-.71zM5.54 8.17l-.71.71 6.36 6.36.71-.71zM4.12 9.58l-.71.71 6.37 6.37.71-.71z';
8192            break;
8193  
8194          case 'clock':
8195            path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 14c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6zm-.71-5.29c.07.05.14.1.23.15l-.02.02L14 13l-3.03-3.19L10 5l-.97 4.81h.01c0 .02-.01.05-.02.09S9 9.97 9 10c0 .28.1.52.29.71z';
8196            break;
8197  
8198          case 'cloud-saved':
8199            path = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16h10c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5zm-6.3 5.9l-3.2-3.2 1.4-1.4 1.8 1.8 3.8-3.8 1.4 1.4-5.2 5.2z';
8200            break;
8201  
8202          case 'cloud-upload':
8203            path = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16H8v-3H5l4.5-4.5L14 13h-3v3h3.5c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5z';
8204            break;
8205  
8206          case 'cloud':
8207            path = 'M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z';
8208            break;
8209  
8210          case 'columns':
8211            path = 'M3 15h6V5H3v10zm8 0h6V5h-6v10z';
8212            break;
8213  
8214          case 'controls-back':
8215            path = 'M2 10l10-6v3.6L18 4v12l-6-3.6V16z';
8216            break;
8217  
8218          case 'controls-forward':
8219            path = 'M18 10L8 16v-3.6L2 16V4l6 3.6V4z';
8220            break;
8221  
8222          case 'controls-pause':
8223            path = 'M5 16V4h3v12H5zm7-12h3v12h-3V4z';
8224            break;
8225  
8226          case 'controls-play':
8227            path = 'M5 4l10 6-10 6V4z';
8228            break;
8229  
8230          case 'controls-repeat':
8231            path = 'M5 7v3l-2 1.5V5h11V3l4 3.01L14 9V7H5zm10 6v-3l2-1.5V15H6v2l-4-3.01L6 11v2h9z';
8232            break;
8233  
8234          case 'controls-skipback':
8235            path = 'M11.98 7.63l6-3.6v12l-6-3.6v3.6l-8-4.8v4.8h-2v-12h2v4.8l8-4.8v3.6z';
8236            break;
8237  
8238          case 'controls-skipforward':
8239            path = 'M8 12.4L2 16V4l6 3.6V4l8 4.8V4h2v12h-2v-4.8L8 16v-3.6z';
8240            break;
8241  
8242          case 'controls-volumeoff':
8243            path = 'M2 7h4l5-4v14l-5-4H2V7z';
8244            break;
8245  
8246          case 'controls-volumeon':
8247            path = 'M2 7h4l5-4v14l-5-4H2V7zm12.69-2.46C14.82 4.59 18 5.92 18 10s-3.18 5.41-3.31 5.46c-.06.03-.13.04-.19.04-.2 0-.39-.12-.46-.31-.11-.26.02-.55.27-.65.11-.05 2.69-1.15 2.69-4.54 0-3.41-2.66-4.53-2.69-4.54-.25-.1-.38-.39-.27-.65.1-.25.39-.38.65-.27zM16 10c0 2.57-2.23 3.43-2.32 3.47-.06.02-.12.03-.18.03-.2 0-.39-.12-.47-.32-.1-.26.04-.55.29-.65.07-.02 1.68-.67 1.68-2.53s-1.61-2.51-1.68-2.53c-.25-.1-.38-.39-.29-.65.1-.25.39-.39.65-.29.09.04 2.32.9 2.32 3.47z';
8248            break;
8249  
8250          case 'cover-image':
8251            path = 'M2.2 1h15.5c.7 0 1.3.6 1.3 1.2v11.5c0 .7-.6 1.2-1.2 1.2H2.2c-.6.1-1.2-.5-1.2-1.1V2.2C1 1.6 1.6 1 2.2 1zM17 13V3H3v10h14zm-4-4s0-5 3-5v7c0 .6-.4 1-1 1H5c-.6 0-1-.4-1-1V7c2 0 3 4 3 4s1-4 3-4 3 2 3 2zM4 17h12v2H4z';
8252            break;
8253  
8254          case 'dashboard':
8255            path = 'M3.76 16h12.48c1.1-1.37 1.76-3.11 1.76-5 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 1.89.66 3.63 1.76 5zM10 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 6c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5.37 5.55L12 7v6c0 1.1-.9 2-2 2s-2-.9-2-2c0-.57.24-1.08.63-1.45zM4 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm12 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5 3c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1z';
8256            break;
8257  
8258          case 'desktop':
8259            path = 'M3 2h14c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1h-5v2h2c.55 0 1 .45 1 1v1H5v-1c0-.55.45-1 1-1h2v-2H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm13 9V4H4v7h12zM5 5h9L5 9V5z';
8260            break;
8261  
8262          case 'dismiss':
8263            path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z';
8264            break;
8265  
8266          case 'download':
8267            path = 'M14.01 4v6h2V2H4v8h2.01V4h8zm-2 2v6h3l-5 6-5-6h3V6h4z';
8268            break;
8269  
8270          case 'edit':
8271            path = 'M13.89 3.39l2.71 2.72c.46.46.42 1.24.03 1.64l-8.01 8.02-5.56 1.16 1.16-5.58s7.6-7.63 7.99-8.03c.39-.39 1.22-.39 1.68.07zm-2.73 2.79l-5.59 5.61 1.11 1.11 5.54-5.65zm-2.97 8.23l5.58-5.6-1.07-1.08-5.59 5.6z';
8272            break;
8273  
8274          case 'editor-aligncenter':
8275            path = 'M14 5V3H6v2h8zm3 4V7H3v2h14zm-3 4v-2H6v2h8zm3 4v-2H3v2h14z';
8276            break;
8277  
8278          case 'editor-alignleft':
8279            path = 'M12 5V3H3v2h9zm5 4V7H3v2h14zm-5 4v-2H3v2h9zm5 4v-2H3v2h14z';
8280            break;
8281  
8282          case 'editor-alignright':
8283            path = 'M17 5V3H8v2h9zm0 4V7H3v2h14zm0 4v-2H8v2h9zm0 4v-2H3v2h14z';
8284            break;
8285  
8286          case 'editor-bold':
8287            path = 'M6 4v13h4.54c1.37 0 2.46-.33 3.26-1 .8-.66 1.2-1.58 1.2-2.77 0-.84-.17-1.51-.51-2.01s-.9-.85-1.67-1.03v-.09c.57-.1 1.02-.4 1.36-.9s.51-1.13.51-1.91c0-1.14-.39-1.98-1.17-2.5C12.75 4.26 11.5 4 9.78 4H6zm2.57 5.15V6.26h1.36c.73 0 1.27.11 1.61.32.34.22.51.58.51 1.07 0 .54-.16.92-.47 1.15s-.82.35-1.51.35h-1.5zm0 2.19h1.6c1.44 0 2.16.53 2.16 1.61 0 .6-.17 1.05-.51 1.34s-.86.43-1.57.43H8.57v-3.38z';
8288            break;
8289  
8290          case 'editor-break':
8291            path = 'M16 4h2v9H7v3l-5-4 5-4v3h9V4z';
8292            break;
8293  
8294          case 'editor-code':
8295            path = 'M9 6l-4 4 4 4-1 2-6-6 6-6zm2 8l4-4-4-4 1-2 6 6-6 6z';
8296            break;
8297  
8298          case 'editor-contract':
8299            path = 'M15.75 6.75L18 3v14l-2.25-3.75L17 12h-4v4l1.25-1.25L18 17H2l3.75-2.25L7 16v-4H3l1.25 1.25L2 17V3l2.25 3.75L3 8h4V4L5.75 5.25 2 3h16l-3.75 2.25L13 4v4h4z';
8300            break;
8301  
8302          case 'editor-customchar':
8303            path = 'M10 5.4c1.27 0 2.24.36 2.91 1.08.66.71 1 1.76 1 3.13 0 1.28-.23 2.37-.69 3.27-.47.89-1.27 1.52-2.22 2.12v2h6v-2h-3.69c.92-.64 1.62-1.34 2.12-2.34.49-1.01.74-2.13.74-3.35 0-1.78-.55-3.19-1.65-4.22S11.92 3.54 10 3.54s-3.43.53-4.52 1.57c-1.1 1.04-1.65 2.44-1.65 4.2 0 1.21.24 2.31.73 3.33.48 1.01 1.19 1.71 2.1 2.36H3v2h6v-2c-.98-.64-1.8-1.28-2.24-2.17-.45-.89-.67-1.96-.67-3.22 0-1.37.33-2.41 1-3.13C7.75 5.76 8.72 5.4 10 5.4z';
8304            break;
8305  
8306          case 'editor-expand':
8307            path = 'M7 8h6v4H7zm-5 5v4h4l-1.2-1.2L7 12l-3.8 2.2M14 17h4v-4l-1.2 1.2L13 12l2.2 3.8M14 3l1.3 1.3L13 8l3.8-2.2L18 7V3M6 3H2v4l1.2-1.2L7 8 4.7 4.3';
8308            break;
8309  
8310          case 'editor-help':
8311            path = 'M17 10c0-3.87-3.14-7-7-7-3.87 0-7 3.13-7 7s3.13 7 7 7c3.86 0 7-3.13 7-7zm-6.3 1.48H9.14v-.43c0-.38.08-.7.24-.98s.46-.57.88-.89c.41-.29.68-.53.81-.71.14-.18.2-.39.2-.62 0-.25-.09-.44-.28-.58-.19-.13-.45-.19-.79-.19-.58 0-1.25.19-2 .57l-.64-1.28c.87-.49 1.8-.74 2.77-.74.81 0 1.45.2 1.92.58.48.39.71.91.71 1.55 0 .43-.09.8-.29 1.11-.19.32-.57.67-1.11 1.06-.38.28-.61.49-.71.63-.1.15-.15.34-.15.57v.35zm-1.47 2.74c-.18-.17-.27-.42-.27-.73 0-.33.08-.58.26-.75s.43-.25.77-.25c.32 0 .57.09.75.26s.27.42.27.74c0 .3-.09.55-.27.72-.18.18-.43.27-.75.27-.33 0-.58-.09-.76-.26z';
8312            break;
8313  
8314          case 'editor-indent':
8315            path = 'M3 5V3h9v2H3zm10-1V3h4v1h-4zm0 3h2V5l4 3.5-4 3.5v-2h-2V7zM3 8V6h9v2H3zm2 3V9h7v2H5zm-2 3v-2h9v2H3zm10 0v-1h4v1h-4zm-4 3v-2h3v2H9z';
8316            break;
8317  
8318          case 'editor-insertmore':
8319            path = 'M17 7V3H3v4h14zM6 11V9H3v2h3zm6 0V9H8v2h4zm5 0V9h-3v2h3zm0 6v-4H3v4h14z';
8320            break;
8321  
8322          case 'editor-italic':
8323            path = 'M14.78 6h-2.13l-2.8 9h2.12l-.62 2H4.6l.62-2h2.14l2.8-9H8.03l.62-2h6.75z';
8324            break;
8325  
8326          case 'editor-justify':
8327            path = 'M2 3h16v2H2V3zm0 4h16v2H2V7zm0 4h16v2H2v-2zm0 4h16v2H2v-2z';
8328            break;
8329  
8330          case 'edito